about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS4
-rw-r--r--.github/ISSUE_TEMPLATE/build_failure.md34
-rw-r--r--doc/builders/testers.chapter.md46
-rw-r--r--doc/languages-frameworks/python.section.md2
-rw-r--r--doc/stdenv/meta.chapter.md34
-rw-r--r--doc/stdenv/stdenv.chapter.md54
-rw-r--r--doc/using/overrides.chapter.md8
-rw-r--r--lib/default.nix4
-rw-r--r--lib/flakes.nix22
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/strings.nix9
-rw-r--r--lib/systems/platforms.nix4
-rw-r--r--lib/tests/flakes/subflakeTest/flake.nix8
-rw-r--r--lib/tests/flakes/subflakeTest/subflake/flake.nix5
-rw-r--r--lib/tests/misc.nix22
-rw-r--r--maintainers/maintainer-list.nix100
-rwxr-xr-xmaintainers/scripts/haskell/hydra-report.hs2
-rw-r--r--maintainers/scripts/luarocks-packages.csv6
-rw-r--r--maintainers/scripts/pluginupdate.py18
-rw-r--r--maintainers/team-list.nix13
-rw-r--r--nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml2
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml5
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml144
-rw-r--r--nixos/doc/manual/installation/installing-from-other-distro.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md2
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md54
-rw-r--r--nixos/lib/build-vms.nix2
-rw-r--r--nixos/lib/testing-python.nix1
-rw-r--r--nixos/maintainers/scripts/lxd/lxd-image.nix2
-rw-r--r--nixos/modules/hardware/all-firmware.nix1
-rw-r--r--nixos/modules/hardware/keyboard/uhk.nix21
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-base.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix22
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix59
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix49
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix20
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix4
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix4
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix16
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl12
-rw-r--r--nixos/modules/installer/tools/tools.nix7
-rw-r--r--nixos/modules/misc/mandoc.nix4
-rw-r--r--nixos/modules/misc/version.nix9
-rw-r--r--nixos/modules/module-list.nix7
-rw-r--r--nixos/modules/programs/thefuck.nix13
-rw-r--r--nixos/modules/security/pam.nix10
-rw-r--r--nixos/modules/security/wrappers/default.nix4
-rw-r--r--nixos/modules/services/backup/automysqlbackup.nix2
-rw-r--r--nixos/modules/services/backup/borgmatic.nix5
-rw-r--r--nixos/modules/services/continuous-integration/hydra/default.nix12
-rw-r--r--nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json3
-rw-r--r--nixos/modules/services/games/factorio.nix15
-rw-r--r--nixos/modules/services/hardware/illum.nix1
-rw-r--r--nixos/modules/services/hardware/udev.nix46
-rw-r--r--nixos/modules/services/hardware/usbrelayd.nix7
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix9
-rw-r--r--nixos/modules/services/logging/logstash.nix2
-rw-r--r--nixos/modules/services/mail/public-inbox.nix579
-rw-r--r--nixos/modules/services/mail/spamassassin.nix2
-rw-r--r--nixos/modules/services/matrix/matrix-synapse.nix1
-rw-r--r--nixos/modules/services/misc/dendrite.nix9
-rw-r--r--nixos/modules/services/misc/heisenbridge.nix2
-rw-r--r--nixos/modules/services/misc/mbpfan.nix22
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix9
-rw-r--r--nixos/modules/services/networking/gateone.nix4
-rw-r--r--nixos/modules/services/networking/ircd-hybrid/ircd.conf2
-rw-r--r--nixos/modules/services/networking/pleroma.nix8
-rw-r--r--nixos/modules/services/networking/pptpd.nix2
-rw-r--r--nixos/modules/services/networking/prayer.nix2
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix1
-rw-r--r--nixos/modules/services/networking/supplicant.nix4
-rw-r--r--nixos/modules/services/networking/tailscale.nix27
-rw-r--r--nixos/modules/services/networking/uptermd.nix106
-rw-r--r--nixos/modules/services/networking/xl2tpd.nix6
-rw-r--r--nixos/modules/services/security/kanidm.nix345
-rw-r--r--nixos/modules/services/security/sshguard.nix2
-rw-r--r--nixos/modules/services/wayland/cage.nix2
-rw-r--r--nixos/modules/services/web-apps/atlassian/confluence.nix2
-rw-r--r--nixos/modules/services/web-apps/atlassian/crowd.nix2
-rw-r--r--nixos/modules/services/web-apps/atlassian/jira.nix2
-rw-r--r--nixos/modules/services/web-apps/hedgedoc.nix1
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix3
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix6
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix8
-rw-r--r--nixos/modules/services/web-apps/snipe-it.nix493
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix4
-rw-r--r--nixos/modules/services/x11/desktop-managers/phosh.nix (renamed from nixos/modules/programs/phosh.nix)73
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/lightdm.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/sddm.nix2
-rw-r--r--nixos/modules/system/boot/kernel.nix3
-rw-r--r--nixos/modules/system/boot/modprobe.nix2
-rw-r--r--nixos/modules/system/boot/networkd.nix1
-rw-r--r--nixos/modules/system/boot/plymouth.nix102
-rw-r--r--nixos/modules/system/boot/systemd/nspawn.nix6
-rw-r--r--nixos/modules/tasks/auto-upgrade.nix2
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix199
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix42
-rw-r--r--nixos/modules/tasks/network-interfaces.nix5
-rw-r--r--nixos/modules/testing/test-instrumentation.nix3
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix6
-rw-r--r--nixos/modules/virtualisation/amazon-init.nix2
-rw-r--r--nixos/modules/virtualisation/anbox.nix3
-rw-r--r--nixos/modules/virtualisation/digital-ocean-init.nix2
-rw-r--r--nixos/modules/virtualisation/proxmox-lxc.nix11
-rw-r--r--nixos/modules/virtualisation/vmware-host.nix166
-rw-r--r--nixos/release.nix4
-rw-r--r--nixos/tests/all-tests.nix4
-rw-r--r--nixos/tests/chromium.nix14
-rw-r--r--nixos/tests/common/lxd/config.yaml24
-rw-r--r--nixos/tests/dendrite.nix1
-rw-r--r--nixos/tests/hydra/default.nix2
-rw-r--r--nixos/tests/installed-tests/default.nix1
-rw-r--r--nixos/tests/installed-tests/power-profiles-daemon.nix9
-rw-r--r--nixos/tests/installer-systemd-stage-1.nix2
-rw-r--r--nixos/tests/installer.nix79
-rw-r--r--nixos/tests/kanidm.nix75
-rw-r--r--nixos/tests/kernel-generic.nix1
-rw-r--r--nixos/tests/lxd-image-server.nix63
-rw-r--r--nixos/tests/lxd-image.nix89
-rw-r--r--nixos/tests/lxd.nix134
-rw-r--r--nixos/tests/matrix-appservice-irc.nix3
-rw-r--r--nixos/tests/networking.nix20
-rw-r--r--nixos/tests/openssh.nix18
-rw-r--r--nixos/tests/pam/pam-oath-login.nix2
-rw-r--r--nixos/tests/pgadmin4.nix85
-rw-r--r--nixos/tests/pleroma.nix4
-rw-r--r--nixos/tests/public-inbox.nix227
-rw-r--r--nixos/tests/systemd-nspawn.nix13
-rw-r--r--nixos/tests/uptermd.nix62
-rw-r--r--nixos/tests/virtualbox.nix2
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix6
-rw-r--r--pkgs/applications/audio/adlplug/default.nix62
-rw-r--r--pkgs/applications/audio/airwindows-lv2/default.nix25
-rw-r--r--pkgs/applications/audio/amberol/default.nix8
-rw-r--r--pkgs/applications/audio/axoloti/default.nix101
-rw-r--r--pkgs/applications/audio/axoloti/dfu-util.nix31
-rw-r--r--pkgs/applications/audio/axoloti/libusb1.nix39
-rw-r--r--pkgs/applications/audio/cdparanoia/configure.patch22
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix33
-rw-r--r--pkgs/applications/audio/clementine/default.nix1
-rw-r--r--pkgs/applications/audio/csound/default.nix20
-rw-r--r--pkgs/applications/audio/deadbeef/default.nix63
-rw-r--r--pkgs/applications/audio/deadbeef/plugins/infobar.nix34
-rw-r--r--pkgs/applications/audio/dsf2flac/default.nix10
-rw-r--r--pkgs/applications/audio/exaile/default.nix2
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/greg/default.nix6
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix13
-rw-r--r--pkgs/applications/audio/monkeys-audio/default.nix21
-rw-r--r--pkgs/applications/audio/musikcube/0001-apple-cmake.patch14
-rw-r--r--pkgs/applications/audio/musikcube/default.nix20
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix4
-rw-r--r--pkgs/applications/audio/rhvoice/default.nix54
-rw-r--r--pkgs/applications/audio/rhvoice/honor_nix_environment.patch25
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix82
-rw-r--r--pkgs/applications/audio/split2flac/default.nix62
-rw-r--r--pkgs/applications/audio/sptlrx/default.nix12
-rw-r--r--pkgs/applications/audio/surge-XT/default.nix6
-rw-r--r--pkgs/applications/audio/termusic/default.nix6
-rw-r--r--pkgs/applications/backup/vorta/default.nix6
-rw-r--r--pkgs/applications/blockchains/btcdeb/default.nix10
-rw-r--r--pkgs/applications/blockchains/dashpay/default.nix44
-rw-r--r--pkgs/applications/blockchains/haven-cli/default.nix63
-rw-r--r--pkgs/applications/blockchains/haven-cli/use-system-libraries.patch92
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix6
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix35
-rw-r--r--pkgs/applications/editors/android-studio/common.nix6
-rw-r--r--pkgs/applications/editors/android-studio/default.nix3
-rw-r--r--pkgs/applications/editors/bluej/default.nix2
-rw-r--r--pkgs/applications/editors/codeblocks/default.nix51
-rw-r--r--pkgs/applications/editors/codeblocks/fix-clipboard-flush.patch24
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json16
-rw-r--r--pkgs/applications/editors/deadpixi-sam/default.nix7
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix315
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix15
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/ement/default.nix6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch14
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix8
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix6
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix81
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/plz/default.nix31
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json5355
-rw-r--r--pkgs/applications/editors/gnome-inform7/default.nix2
-rw-r--r--pkgs/applications/editors/gnome-latex/default.nix17
-rw-r--r--pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix6
-rw-r--r--pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn2
-rw-r--r--pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix106
-rw-r--r--pkgs/applications/editors/lapce/default.nix6
-rw-r--r--pkgs/applications/editors/maui-nota/default.nix56
-rw-r--r--pkgs/applications/editors/nano/default.nix8
-rw-r--r--pkgs/applications/editors/oed/default.nix3
-rw-r--r--pkgs/applications/editors/pinegrow/default.nix2
-rw-r--r--pkgs/applications/editors/scite/default.nix6
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix1
-rw-r--r--pkgs/applications/editors/thiefmd/default.nix6
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix6
-rw-r--r--pkgs/applications/editors/vim/plugins/build-vim-plugin.nix13
-rw-r--r--pkgs/applications/editors/vim/plugins/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix1329
-rw-r--r--pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh21
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix21
-rwxr-xr-xpkgs/applications/editors/vim/plugins/update.py63
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names4
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-utils.nix19
-rw-r--r--pkgs/applications/editors/vis/default.nix41
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix12
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json20
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh4
-rw-r--r--pkgs/applications/editors/vscode/generic.nix9
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix13
-rw-r--r--pkgs/applications/emulators/bsnes/ares/default.nix67
-rw-r--r--pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch22
-rw-r--r--pkgs/applications/emulators/citra/default.nix8
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix3
-rw-r--r--pkgs/applications/emulators/dgen-sdl/default.nix24
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix5
-rw-r--r--pkgs/applications/emulators/emulationstation/default.nix4
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix31
-rw-r--r--pkgs/applications/emulators/retrofe/default.nix18
-rw-r--r--pkgs/applications/emulators/retrofe/include-paths.patch11
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix9
-rw-r--r--pkgs/applications/emulators/simh/default.nix5
-rw-r--r--pkgs/applications/emulators/wine/base.nix4
-rw-r--r--pkgs/applications/emulators/wine/sources.nix14
-rw-r--r--pkgs/applications/emulators/yuzu/compatibility-list.json1
-rw-r--r--pkgs/applications/emulators/yuzu/default.nix17
-rw-r--r--pkgs/applications/emulators/yuzu/generic.nix11
-rwxr-xr-xpkgs/applications/emulators/yuzu/update.sh18
-rw-r--r--pkgs/applications/emulators/yuzu/yuzu-free-icons.patch1183
-rw-r--r--pkgs/applications/finance/odoo/default.nix86
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/apngasm/default.nix16
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/gqview/default.nix1
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/image_optim/default.nix36
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix7
-rw-r--r--pkgs/applications/graphics/jpegrescan/default.nix29
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix2
-rw-r--r--pkgs/applications/graphics/rapcad/default.nix34
-rw-r--r--pkgs/applications/graphics/rnote/default.nix9
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix11
-rw-r--r--pkgs/applications/kde/elisa.nix2
-rw-r--r--pkgs/applications/kde/kgpg.nix2
-rw-r--r--pkgs/applications/misc/1password-gui/beta.nix4
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix4
-rw-r--r--pkgs/applications/misc/1password/default.nix10
-rw-r--r--pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix2
-rw-r--r--pkgs/applications/misc/archivy/default.nix18
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/authenticator/default.nix46
-rw-r--r--pkgs/applications/misc/bibletime/default.nix46
-rw-r--r--pkgs/applications/misc/bicon/default.nix31
-rw-r--r--pkgs/applications/misc/binance/default.nix4
-rw-r--r--pkgs/applications/misc/bottles/default.nix4
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/cataract/build.nix6
-rw-r--r--pkgs/applications/misc/catclock/default.nix18
-rw-r--r--pkgs/applications/misc/charm/default.nix5
-rw-r--r--pkgs/applications/misc/crow-translate/default.nix60
-rw-r--r--pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch65
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix3
-rw-r--r--pkgs/applications/misc/fspy/default.nix2
-rw-r--r--pkgs/applications/misc/gmtp/default.nix2
-rw-r--r--pkgs/applications/misc/hello/default.nix13
-rw-r--r--pkgs/applications/misc/hello/test.nix8
-rw-r--r--pkgs/applications/misc/hstr/default.nix16
-rw-r--r--pkgs/applications/misc/joshuto/default.nix4
-rw-r--r--pkgs/applications/misc/kiln/default.nix6
-rw-r--r--pkgs/applications/misc/libosmocore/default.nix27
-rw-r--r--pkgs/applications/misc/logseq/default.nix7
-rw-r--r--pkgs/applications/misc/lutris/default.nix6
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix9
-rw-r--r--pkgs/applications/misc/mepo/default.nix4
-rw-r--r--pkgs/applications/misc/multibootusb/default.nix115
-rw-r--r--pkgs/applications/misc/nanoblogger/default.nix1
-rw-r--r--pkgs/applications/misc/nimbo/default.nix2
-rw-r--r--pkgs/applications/misc/ocropus/default.nix59
-rw-r--r--pkgs/applications/misc/oil-buku/default.nix3
-rw-r--r--pkgs/applications/misc/opencpn/default.nix101
-rw-r--r--pkgs/applications/misc/phwmon/default.nix40
-rw-r--r--pkgs/applications/misc/polybar/default.nix6
-rw-r--r--pkgs/applications/misc/privacyidea/default.nix2
-rw-r--r--pkgs/applications/misc/remnote/default.nix19
-rw-r--r--pkgs/applications/misc/rofi-rbw/default.nix26
-rw-r--r--pkgs/applications/misc/rofimoji/default.nix5
-rw-r--r--pkgs/applications/misc/scli/default.nix6
-rw-r--r--pkgs/applications/misc/sigi/default.nix6
-rw-r--r--pkgs/applications/misc/skytemple/default.nix7
-rw-r--r--pkgs/applications/misc/ssocr/default.nix13
-rw-r--r--pkgs/applications/misc/swaynotificationcenter/default.nix7
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix23
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix1
-rw-r--r--pkgs/applications/misc/translate-shell/default.nix1
-rw-r--r--pkgs/applications/misc/tut/default.nix4
-rw-r--r--pkgs/applications/misc/twitch-chat-downloader/default.nix12
-rw-r--r--pkgs/applications/misc/udiskie/default.nix55
-rw-r--r--pkgs/applications/misc/udiskie/locale-path.patch17
-rw-r--r--pkgs/applications/misc/upwork/default.nix6
-rw-r--r--pkgs/applications/misc/web-media-controller/default.nix1
-rw-r--r--pkgs/applications/misc/whalebird/default.nix8
-rw-r--r--pkgs/applications/misc/xca/default.nix18
-rw-r--r--pkgs/applications/misc/xpdf/default.nix4
-rw-r--r--pkgs/applications/misc/xplr/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix24
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch43
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json42
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix36
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.json11
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix36
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix71
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix32
-rw-r--r--pkgs/applications/networking/browsers/librewolf/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/librewolf/librewolf.nix (renamed from pkgs/applications/networking/browsers/firefox/librewolf/default.nix)2
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.json11
-rw-r--r--pkgs/applications/networking/browsers/librewolf/src.nix (renamed from pkgs/applications/networking/browsers/firefox/librewolf/src.nix)0
-rw-r--r--pkgs/applications/networking/browsers/librewolf/update.nix (renamed from pkgs/applications/networking/browsers/firefox/librewolf/update.nix)2
-rw-r--r--pkgs/applications/networking/browsers/microsoft-edge/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libnsutils.nix2
-rw-r--r--pkgs/applications/networking/browsers/netsurf/libutf8proc.nix10
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix31
-rw-r--r--pkgs/applications/networking/browsers/palemoon/mozconfig2
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/vimb/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix4
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix11
-rwxr-xr-xpkgs/applications/networking/cluster/fluxcd/update.sh2
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix21
-rwxr-xr-xpkgs/applications/networking/cluster/k3s/update.sh13
-rw-r--r--pkgs/applications/networking/cluster/krelay/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.2.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.3.nix12
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix3
-rw-r--r--pkgs/applications/networking/cluster/roxctl/default.nix44
-rw-r--r--pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/talosctl/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json200
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix5
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/compactor/default.nix3
-rw-r--r--pkgs/applications/networking/feedreaders/feedreader/default.nix48
-rw-r--r--pkgs/applications/networking/firewalld/default.nix104
-rw-r--r--pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch13
-rw-r--r--pkgs/applications/networking/flexget/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/freetalk/default.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix70
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/profanity/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/pin.json14
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix13
-rw-r--r--pkgs/applications/networking/irc/senpai/default.nix8
-rw-r--r--pkgs/applications/networking/irc/srain/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix2
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix7
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/alot/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix5
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/misc/zammad/default.nix2
-rw-r--r--pkgs/applications/networking/misc/zammad/gemset.nix31
-rw-r--r--pkgs/applications/networking/misc/zammad/package.json2
-rw-r--r--pkgs/applications/networking/misc/zammad/source.json5
-rw-r--r--pkgs/applications/networking/modem-manager-gui/default.nix15
-rw-r--r--pkgs/applications/networking/n8n/default.nix15
-rwxr-xr-xpkgs/applications/networking/n8n/generate-dependencies.sh2
-rw-r--r--pkgs/applications/networking/n8n/node-composition.nix4
-rw-r--r--pkgs/applications/networking/n8n/node-env.nix32
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix218
-rw-r--r--pkgs/applications/networking/netperf/default.nix8
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/raven-reader/default.nix38
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/mldonkey/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix55
-rw-r--r--pkgs/applications/networking/p2p/transmission/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/tremc/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/twister/default.nix70
-rw-r--r--pkgs/applications/networking/protonvpn-cli/2.nix51
-rw-r--r--pkgs/applications/networking/protonvpn-cli/default.nix44
-rw-r--r--pkgs/applications/networking/remote/teamviewer/default.nix6
-rw-r--r--pkgs/applications/networking/seafile-client/default.nix4
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix6
-rw-r--r--pkgs/applications/networking/sync/backintime/common.nix4
-rw-r--r--pkgs/applications/networking/sync/onedrive/default.nix4
-rw-r--r--pkgs/applications/networking/syncplay/default.nix2
-rw-r--r--pkgs/applications/networking/syncthing/default.nix20
-rw-r--r--pkgs/applications/networking/termius/default.nix6
-rw-r--r--pkgs/applications/networking/tmpmail/default.nix8
-rw-r--r--pkgs/applications/networking/twtxt/default.nix5
-rw-r--r--pkgs/applications/networking/zerobin/default.nix2
-rw-r--r--pkgs/applications/office/jameica/default.nix2
-rw-r--r--pkgs/applications/office/ledger/default.nix19
-rw-r--r--pkgs/applications/office/libreoffice/default.nix430
-rw-r--r--pkgs/applications/office/libreoffice/poppler-22-04-0.patch100
-rw-r--r--pkgs/applications/office/libreoffice/soffice-template.desktop6
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/download.nix249
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/override.nix12
-rw-r--r--pkgs/applications/office/libreoffice/src-fresh/primary.nix10
-rw-r--r--pkgs/applications/office/libreoffice/src-still/download.nix231
-rw-r--r--pkgs/applications/office/libreoffice/src-still/override.nix41
-rw-r--r--pkgs/applications/office/libreoffice/src-still/primary.nix12
-rw-r--r--pkgs/applications/office/libreoffice/wrapper.nix37
-rw-r--r--pkgs/applications/office/libreoffice/xdg-open-brief.patch13
-rw-r--r--pkgs/applications/office/paperless-ngx/default.nix4
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/scribus/unstable.nix5
-rw-r--r--pkgs/applications/office/shelf/default.nix58
-rw-r--r--pkgs/applications/office/teapot/default.nix20
-rw-r--r--pkgs/applications/office/timeular/default.nix17
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix1
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/office/tusk/default.nix5
-rw-r--r--pkgs/applications/printing/pappl/default.nix9
-rw-r--r--pkgs/applications/radio/flex-ndax/default.nix10
-rw-r--r--pkgs/applications/radio/gnss-sdr/default.nix9
-rw-r--r--pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch30
-rw-r--r--pkgs/applications/radio/kalibrate-rtl/default.nix3
-rw-r--r--pkgs/applications/radio/rtl_433/default.nix10
-rw-r--r--pkgs/applications/radio/soapysdr/default.nix3
-rw-r--r--pkgs/applications/science/biology/bayescan/default.nix2
-rw-r--r--pkgs/applications/science/biology/bowtie/default.nix22
-rw-r--r--pkgs/applications/science/biology/bwa/default.nix14
-rw-r--r--pkgs/applications/science/biology/megahit/default.nix3
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix9
-rw-r--r--pkgs/applications/science/chemistry/chemtool/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/gwyddion/default.nix40
-rw-r--r--pkgs/applications/science/chemistry/molden/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/MKL-MPICH.patch24
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/default.nix50
-rw-r--r--pkgs/applications/science/chemistry/siesta/default.nix18
-rw-r--r--pkgs/applications/science/electronics/alliance/default.nix6
-rw-r--r--pkgs/applications/science/electronics/fritzing/default.nix2
-rw-r--r--pkgs/applications/science/electronics/horizon-eda/default.nix10
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix42
-rw-r--r--pkgs/applications/science/electronics/nanovna-saver/default.nix31
-rw-r--r--pkgs/applications/science/electronics/qucs-s/default.nix2
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/electronics/vhd2vl/default.nix16
-rw-r--r--pkgs/applications/science/electronics/vhd2vl/test.patch35
-rw-r--r--pkgs/applications/science/logic/abc/default.nix3
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix6
-rw-r--r--pkgs/applications/science/logic/easycrypt/default.nix50
-rw-r--r--pkgs/applications/science/logic/easycrypt/runtest.nix24
-rw-r--r--pkgs/applications/science/logic/key/default.nix1
-rw-r--r--pkgs/applications/science/logic/monosat/default.nix9
-rw-r--r--pkgs/applications/science/logic/ott/default.nix4
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix5
-rw-r--r--pkgs/applications/science/math/gurobi/default.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/10.nix37
-rw-r--r--pkgs/applications/science/math/mathematica/11.nix41
-rw-r--r--pkgs/applications/science/math/mathematica/9.nix32
-rw-r--r--pkgs/applications/science/math/mathematica/default.nix209
-rw-r--r--pkgs/applications/science/math/mathematica/generic.nix192
-rw-r--r--pkgs/applications/science/math/mathematica/l10ns.nix106
-rw-r--r--pkgs/applications/science/math/mathematica/versions.nix103
-rw-r--r--pkgs/applications/science/math/primecount/default.nix51
-rw-r--r--pkgs/applications/science/math/primesieve/default.nix36
-rw-r--r--pkgs/applications/science/math/ripser/default.nix19
-rw-r--r--pkgs/applications/science/math/singular/default.nix3
-rw-r--r--pkgs/applications/science/math/wolfram-engine/default.nix8
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix6
-rw-r--r--pkgs/applications/science/physics/elmerfem/default.nix31
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch24
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch82
-rw-r--r--pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch36
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix6
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch62
-rw-r--r--pkgs/applications/search/recoll/default.nix9
-rw-r--r--pkgs/applications/terminal-emulators/eterm/default.nix7
-rw-r--r--pkgs/applications/terminal-emulators/foot/default.nix5
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix4
-rw-r--r--pkgs/applications/version-management/cvs2svn/default.nix7
-rw-r--r--pkgs/applications/version-management/fnc/default.nix14
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/gfold/default.nix37
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-codereview/default.nix17
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix8
-rw-r--r--pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitless/default.nix7
-rw-r--r--pkgs/applications/version-management/got/default.nix8
-rw-r--r--pkgs/applications/version-management/meld/default.nix7
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix8
-rw-r--r--pkgs/applications/version-management/p4v/default.nix48
-rw-r--r--pkgs/applications/version-management/rapidsvn/default.nix21
-rw-r--r--pkgs/applications/version-management/rcshist/default.nix22
-rw-r--r--pkgs/applications/version-management/sublime-merge/default.nix8
-rw-r--r--pkgs/applications/video/byzanz/default.nix47
-rw-r--r--pkgs/applications/video/clip/default.nix58
-rw-r--r--pkgs/applications/video/epgstation/default.nix25
-rw-r--r--pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix79
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix8
-rw-r--r--pkgs/applications/video/ogmtools/default.nix2
-rw-r--r--pkgs/applications/video/vdr/wrapper.nix2
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/vvave/default.nix59
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/compose.nix6
-rw-r--r--pkgs/applications/virtualization/docker/default.nix16
-rw-r--r--pkgs/applications/virtualization/libnvidia-container/default.nix81
-rw-r--r--pkgs/applications/virtualization/libnvidia-container/inline-c-struct.patch14
-rw-r--r--pkgs/applications/virtualization/libnvidia-container/modprobe.patch12
-rw-r--r--pkgs/applications/virtualization/podman/default.nix7
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix2
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix6
-rw-r--r--pkgs/applications/virtualization/runc/default.nix4
-rwxr-xr-xpkgs/applications/virtualization/vmware-workstation/default.nix341
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap11
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-config21
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap5
-rw-r--r--pkgs/applications/virtualization/vmware-workstation/vmware-modconfig8
-rw-r--r--pkgs/applications/window-managers/i3/blocks-gaps.nix16
-rw-r--r--pkgs/applications/window-managers/oroborus/default.nix55
-rw-r--r--pkgs/applications/window-managers/sway/bg.nix1
-rw-r--r--pkgs/applications/window-managers/sway/contrib.nix4
-rw-r--r--pkgs/applications/window-managers/sway/default.nix1
-rw-r--r--pkgs/applications/window-managers/sway/idle.nix1
-rw-r--r--pkgs/applications/window-managers/sway/lock-effects.nix20
-rw-r--r--pkgs/applications/window-managers/sway/lock-fancy.nix4
-rw-r--r--pkgs/applications/window-managers/sway/lock.nix13
-rw-r--r--pkgs/applications/window-managers/sway/wrapper.nix1
-rw-r--r--pkgs/applications/window-managers/wmfs/default.nix13
-rw-r--r--pkgs/build-support/docker/examples.nix2
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh4
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh4
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh8
-rw-r--r--pkgs/build-support/fetchfirefoxaddon/tests.nix6
-rw-r--r--pkgs/build-support/fetchgit/tests.nix6
-rw-r--r--pkgs/build-support/fetchpatch/tests.nix8
-rw-r--r--pkgs/build-support/kernel/compress-firmware-xz.nix16
-rw-r--r--pkgs/build-support/kernel/modules-closure.sh8
-rw-r--r--pkgs/build-support/node/fetch-yarn-deps/tests/default.nix8
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix3
-rw-r--r--pkgs/build-support/rust/build-rust-package/default.nix7
-rw-r--r--pkgs/build-support/setup-hooks/make-binary-wrapper.sh2
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix20
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix13
-rw-r--r--pkgs/build-support/skaware/build-skaware-package.nix2
-rw-r--r--pkgs/build-support/testers/default.nix47
-rw-r--r--pkgs/build-support/testers/test/README.md8
-rw-r--r--pkgs/build-support/testers/test/default.nix27
-rw-r--r--pkgs/build-support/trivial-builders/test/references.nix4
-rw-r--r--pkgs/data/documentation/nginx-doc/default.nix40
-rw-r--r--pkgs/data/documentation/nginx-doc/exclude-google-analytics.patch29
-rw-r--r--pkgs/data/fonts/font-awesome/default.nix (renamed from pkgs/data/fonts/font-awesome-5/default.nix)14
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix2
-rw-r--r--pkgs/data/fonts/iosevka/variants.nix184
-rw-r--r--pkgs/data/fonts/khmeros/default.nix27
-rw-r--r--pkgs/data/fonts/lklug-sinhala/default.nix23
-rw-r--r--pkgs/data/fonts/nanum/default.nix27
-rw-r--r--pkgs/data/fonts/public-sans/default.nix5
-rw-r--r--pkgs/data/fonts/sil-abyssinica/default.nix23
-rw-r--r--pkgs/data/fonts/sil-padauk/default.nix27
-rw-r--r--pkgs/data/fonts/takao/default.nix27
-rw-r--r--pkgs/data/fonts/tibetan-machine/default.nix22
-rw-r--r--pkgs/data/fonts/work-sans/default.nix20
-rw-r--r--pkgs/data/misc/cldr-annotations/default.nix6
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/themes/flat-remix-gnome/default.nix8
-rw-r--r--pkgs/data/themes/qogir/default.nix9
-rw-r--r--pkgs/desktops/arcan/arcan/003-freetype.patch14
-rw-r--r--pkgs/desktops/arcan/arcan/default.nix5
-rw-r--r--pkgs/desktops/arcan/default.nix6
-rw-r--r--pkgs/desktops/arcan/durden/default.nix6
-rw-r--r--pkgs/desktops/arcan/pipeworld/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix12
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/collisions.json20
-rw-r--r--pkgs/desktops/gnome/extensions/extensionRenames.nix6
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json158
-rw-r--r--pkgs/desktops/gnome/games/atomix/default.nix18
-rw-r--r--pkgs/desktops/gnome/misc/pomodoro/default.nix14
-rw-r--r--pkgs/desktops/lxde/core/lxmenu-data/default.nix (renamed from pkgs/desktops/lxde/core/lxmenu-data.nix)0
-rw-r--r--pkgs/desktops/lxde/default.nix25
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix28
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard/default.nix17
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/powerdevil.nix6
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix424
-rw-r--r--pkgs/desktops/rox/rox-filer/default.nix12
-rw-r--r--pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix4
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix4
-rw-r--r--pkgs/development/compilers/alan/2.nix4
-rw-r--r--pkgs/development/compilers/ats2/default.nix6
-rw-r--r--pkgs/development/compilers/chicken/4/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.nix414
-rw-r--r--pkgs/development/compilers/chicken/5/eggs.scm5
-rw-r--r--pkgs/development/compilers/cmdstan/default.nix19
-rw-r--r--pkgs/development/compilers/crystal/build-package.nix7
-rw-r--r--pkgs/development/compilers/crystal/default.nix3
-rw-r--r--pkgs/development/compilers/dotnet/build-dotnet.nix10
-rw-r--r--pkgs/development/compilers/dotnet/default.nix13
-rwxr-xr-xpkgs/development/compilers/dotnet/print-hashes.sh8
-rw-r--r--pkgs/development/compilers/elm/packages/node-packages.nix757
-rw-r--r--pkgs/development/compilers/fpc/default.nix11
-rw-r--r--pkgs/development/compilers/fstar/default.nix5
-rw-r--r--pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch6
-rw-r--r--pkgs/development/compilers/gcc/11/default.nix12
-rw-r--r--pkgs/development/compilers/gcc/12/Added-mcf-thread-model-support-from-mcfgthread.patch306
-rw-r--r--pkgs/development/compilers/gcc/12/default.nix294
-rw-r--r--pkgs/development/compilers/gcc/gcc-12-gfortran-driving.patch20
-rw-r--r--pkgs/development/compilers/gcc/gcc-12-no-sys-dirs.patch26
-rw-r--r--pkgs/development/compilers/go/1.18.nix4
-rw-r--r--pkgs/development/compilers/hare/config-template.mk27
-rw-r--r--pkgs/development/compilers/hare/hare.nix93
-rw-r--r--pkgs/development/compilers/hare/harec.nix45
-rw-r--r--pkgs/development/compilers/hip/default.nix8
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix30
-rw-r--r--pkgs/development/compilers/jasmin-compiler/default.nix3
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix10
-rw-r--r--pkgs/development/compilers/llvm/rocm/lld.nix7
-rw-r--r--pkgs/development/compilers/llvm/rocm/llvm/default.nix2
-rw-r--r--pkgs/development/compilers/mercury/default.nix4
-rw-r--r--pkgs/development/compilers/mruby/default.nix14
-rw-r--r--pkgs/development/compilers/nim/default.nix12
-rw-r--r--pkgs/development/compilers/opa/default.nix2
-rw-r--r--pkgs/development/compilers/open-watcom/v2.nix6
-rw-r--r--pkgs/development/compilers/openjdk/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/12.nix2
-rw-r--r--pkgs/development/compilers/openjdk/13.nix2
-rw-r--r--pkgs/development/compilers/openjdk/14.nix2
-rw-r--r--pkgs/development/compilers/openjdk/15.nix2
-rw-r--r--pkgs/development/compilers/openjdk/16.nix2
-rw-r--r--pkgs/development/compilers/openjdk/17.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/11.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/16.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/17.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/8.nix2
-rw-r--r--pkgs/development/compilers/openjdk/darwin/meta.nix2
-rw-r--r--pkgs/development/compilers/openjdk/meta.nix5
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/spirv-llvm-translator/default.nix17
-rw-r--r--pkgs/development/compilers/vala/default.nix4
-rw-r--r--pkgs/development/compilers/vlang/default.nix45
-rw-r--r--pkgs/development/compilers/vlang/disable_vcreate_test.patch133
-rw-r--r--pkgs/development/compilers/vyper/default.nix40
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix13
-rw-r--r--pkgs/development/coq-modules/category-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/goedel/default.nix2
-rw-r--r--pkgs/development/coq-modules/graph-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/itauto/default.nix4
-rw-r--r--pkgs/development/coq-modules/mathcomp-tarjan/default.nix2
-rw-r--r--pkgs/development/coq-modules/semantics/default.nix2
-rw-r--r--pkgs/development/coq-modules/smpl/default.nix4
-rw-r--r--pkgs/development/coq-modules/smtcoq/default.nix4
-rw-r--r--pkgs/development/embedded/arduino/arduino-cli/default.nix4
-rw-r--r--pkgs/development/embedded/blackmagic/default.nix42
-rw-r--r--pkgs/development/go-modules/generic/default.nix3
-rw-r--r--pkgs/development/haskell-modules/cabal2nix-unstable.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix34
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix12
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix27
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml19
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml5
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml85
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml29
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3703
-rw-r--r--pkgs/development/interpreters/bqn/cbqn/default.nix14
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/default.nix287
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/deps.edn12
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/deps.nix392
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/mkdir_promise.patch20
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/no_mangle.patch13
-rw-r--r--pkgs/development/interpreters/clojurescript/lumo/package.json51
-rw-r--r--pkgs/development/interpreters/dart/default.nix14
-rw-r--r--pkgs/development/interpreters/hy/builder.nix40
-rw-r--r--pkgs/development/interpreters/hy/default.nix15
-rw-r--r--pkgs/development/interpreters/kona/default.nix1
-rw-r--r--pkgs/development/interpreters/octave/default.nix5
-rw-r--r--pkgs/development/interpreters/octave/patches/bug62436.patch27
-rw-r--r--pkgs/development/interpreters/perl/default.nix6
-rw-r--r--pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--pkgs/development/interpreters/php/8.1.nix4
-rw-r--r--pkgs/development/interpreters/php/generic.nix16
-rw-r--r--pkgs/development/interpreters/php/zlib-darwin-tests.patch44
-rw-r--r--pkgs/development/interpreters/pixie/default.nix94
-rw-r--r--pkgs/development/interpreters/pixie/dust.nix46
-rw-r--r--pkgs/development/interpreters/pixie/load_paths.patch25
-rw-r--r--pkgs/development/interpreters/pixie/make-paths-configurable.patch119
-rw-r--r--pkgs/development/interpreters/python/hooks/default.nix13
-rw-r--r--pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh83
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh4
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix2
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix3
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix8
-rw-r--r--pkgs/development/interpreters/yex-lang/default.nix18
-rw-r--r--pkgs/development/libraries/amtk/default.nix13
-rw-r--r--pkgs/development/libraries/appstream/default.nix3
-rw-r--r--pkgs/development/libraries/aravis/default.nix138
-rw-r--r--pkgs/development/libraries/aribb25/default.nix5
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix35
-rw-r--r--pkgs/development/libraries/audio/libopenmpt/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libsmf/default.nix1
-rw-r--r--pkgs/development/libraries/aws-c-auth/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-cal/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-http/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-io/default.nix4
-rw-r--r--pkgs/development/libraries/aws-c-s3/default.nix9
-rw-r--r--pkgs/development/libraries/aws-crt-cpp/default.nix14
-rw-r--r--pkgs/development/libraries/babl/default.nix13
-rw-r--r--pkgs/development/libraries/belcard/default.nix6
-rw-r--r--pkgs/development/libraries/boolstuff/default.nix7
-rw-r--r--pkgs/development/libraries/boost/1.59.nix15
-rw-r--r--pkgs/development/libraries/boost/1.79.nix14
-rw-r--r--pkgs/development/libraries/boost/default.nix1
-rw-r--r--pkgs/development/libraries/boost/generic.nix5
-rw-r--r--pkgs/development/libraries/boringssl/default.nix2
-rw-r--r--pkgs/development/libraries/capstone/default.nix3
-rw-r--r--pkgs/development/libraries/check/default.nix1
-rw-r--r--pkgs/development/libraries/cln/default.nix8
-rw-r--r--pkgs/development/libraries/ctl/default.nix41
-rw-r--r--pkgs/development/libraries/curlcpp/default.nix24
-rw-r--r--pkgs/development/libraries/docopt_cpp/default.nix12
-rw-r--r--pkgs/development/libraries/doctest/default.nix10
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--pkgs/development/libraries/faad2/default.nix2
-rw-r--r--pkgs/development/libraries/fcft/default.nix4
-rw-r--r--pkgs/development/libraries/fcgi/default.nix1
-rw-r--r--pkgs/development/libraries/flatbuffers/1.12.nix26
-rw-r--r--pkgs/development/libraries/flatbuffers/2.0.nix16
-rw-r--r--pkgs/development/libraries/flatbuffers/default.nix (renamed from pkgs/development/libraries/flatbuffers/generic.nix)24
-rw-r--r--pkgs/development/libraries/fltk/common.nix3
-rw-r--r--pkgs/development/libraries/freetype/default.nix32
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix3
-rw-r--r--pkgs/development/libraries/gensio/default.nix1
-rw-r--r--pkgs/development/libraries/glibmm/2.68.nix4
-rw-r--r--pkgs/development/libraries/glibmm/default.nix4
-rw-r--r--pkgs/development/libraries/gloox/default.nix10
-rw-r--r--pkgs/development/libraries/glpk/default.nix1
-rw-r--r--pkgs/development/libraries/glpng/default.nix3
-rw-r--r--pkgs/development/libraries/gmime/3.nix8
-rw-r--r--pkgs/development/libraries/gnome-desktop/default.nix4
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix4
-rw-r--r--pkgs/development/libraries/gtk/3.x.nix12
-rw-r--r--pkgs/development/libraries/gtkd/default.nix29
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--pkgs/development/libraries/htmlcxx/c++17.patch24
-rw-r--r--pkgs/development/libraries/htmlcxx/default.nix11
-rw-r--r--pkgs/development/libraries/hunspell/wrapper.nix2
-rw-r--r--pkgs/development/libraries/icu/71.nix4
-rw-r--r--pkgs/development/libraries/imlib2/default.nix36
-rw-r--r--pkgs/development/libraries/irrlichtmt/default.nix61
-rw-r--r--pkgs/development/libraries/kdb/default.nix4
-rw-r--r--pkgs/development/libraries/keystone/default.nix1
-rw-r--r--pkgs/development/libraries/kompute/default.nix47
-rw-r--r--pkgs/development/libraries/kpmcore/default.nix28
-rw-r--r--pkgs/development/libraries/kreport/default.nix4
-rw-r--r--pkgs/development/libraries/lame/default.nix13
-rw-r--r--pkgs/development/libraries/ldns/default.nix5
-rw-r--r--pkgs/development/libraries/libarchive/default.nix17
-rw-r--r--pkgs/development/libraries/libargon2/default.nix1
-rw-r--r--pkgs/development/libraries/libast/default.nix25
-rw-r--r--pkgs/development/libraries/libaudec/default.nix3
-rw-r--r--pkgs/development/libraries/libb64/default.nix2
-rw-r--r--pkgs/development/libraries/libbencodetools/default.nix1
-rw-r--r--pkgs/development/libraries/libbluray/default.nix16
-rw-r--r--pkgs/development/libraries/libbtbb/default.nix4
-rw-r--r--pkgs/development/libraries/libburn/default.nix3
-rw-r--r--pkgs/development/libraries/libcddb/default.nix1
-rw-r--r--pkgs/development/libraries/libcdio-paranoia/default.nix5
-rw-r--r--pkgs/development/libraries/libcmis/default.nix3
-rw-r--r--pkgs/development/libraries/libcutl/default.nix3
-rw-r--r--pkgs/development/libraries/libdap/default.nix23
-rw-r--r--pkgs/development/libraries/libdc1394/default.nix3
-rw-r--r--pkgs/development/libraries/libde265/default.nix11
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix11
-rw-r--r--pkgs/development/libraries/libdigidoc/default.nix3
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix1
-rw-r--r--pkgs/development/libraries/libee/default.nix5
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix3
-rw-r--r--pkgs/development/libraries/libffi/3.3.nix64
-rw-r--r--pkgs/development/libraries/libgit2/default.nix20
-rw-r--r--pkgs/development/libraries/libgtkflow/default.nix39
-rw-r--r--pkgs/development/libraries/libiconv/default.nix1
-rw-r--r--pkgs/development/libraries/libinjection/default.nix16
-rw-r--r--pkgs/development/libraries/libirecovery/default.nix5
-rw-r--r--pkgs/development/libraries/libkqueue/default.nix4
-rw-r--r--pkgs/development/libraries/liblinphone/default.nix82
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix3
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix3
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix17
-rw-r--r--pkgs/development/libraries/libnatpmp/default.nix3
-rw-r--r--pkgs/development/libraries/libnotify/default.nix11
-rw-r--r--pkgs/development/libraries/libpg_query/default.nix4
-rw-r--r--pkgs/development/libraries/libpostal/default.nix1
-rw-r--r--pkgs/development/libraries/libpsl/default.nix3
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix3
-rw-r--r--pkgs/development/libraries/libressl/default.nix9
-rw-r--r--pkgs/development/libraries/libroxml/default.nix5
-rw-r--r--pkgs/development/libraries/librsvg/default.nix11
-rw-r--r--pkgs/development/libraries/librsync/default.nix3
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix6
-rw-r--r--pkgs/development/libraries/libsecret/default.nix1
-rw-r--r--pkgs/development/libraries/libshout/default.nix1
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix4
-rw-r--r--pkgs/development/libraries/libsolv/default.nix4
-rw-r--r--pkgs/development/libraries/libssh2/1_10.nix10
-rw-r--r--pkgs/development/libraries/libstrophe/default.nix4
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix3
-rw-r--r--pkgs/development/libraries/libubox/default.nix3
-rw-r--r--pkgs/development/libraries/libuv/default.nix2
-rw-r--r--pkgs/development/libraries/libvmaf/default.nix5
-rw-r--r--pkgs/development/libraries/libwebp/default.nix16
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix18
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix1
-rw-r--r--pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix1
-rw-r--r--pkgs/development/libraries/libxls/default.nix3
-rw-r--r--pkgs/development/libraries/libxml2/default.nix6
-rw-r--r--pkgs/development/libraries/libxslt/default.nix2
-rw-r--r--pkgs/development/libraries/libyang/default.nix4
-rw-r--r--pkgs/development/libraries/libykneomgr/default.nix3
-rw-r--r--pkgs/development/libraries/lime/default.nix8
-rw-r--r--pkgs/development/libraries/lmdb/bin-ext.patch21
-rw-r--r--pkgs/development/libraries/lmdb/default.nix9
-rw-r--r--pkgs/development/libraries/lucene++/default.nix9
-rw-r--r--pkgs/development/libraries/matio/default.nix5
-rw-r--r--pkgs/development/libraries/mauikit-accounts/default.nix40
-rw-r--r--pkgs/development/libraries/mauikit-texteditor/default.nix42
-rw-r--r--pkgs/development/libraries/md4c/default.nix3
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix37
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix2
-rw-r--r--pkgs/development/libraries/microsoft_gsl/default.nix6
-rw-r--r--pkgs/development/libraries/mongoc/default.nix3
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix1
-rw-r--r--pkgs/development/libraries/ndpi/default.nix1
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix38
-rw-r--r--pkgs/development/libraries/nuspell/wrapper.nix2
-rw-r--r--pkgs/development/libraries/openbr/default.nix27
-rw-r--r--pkgs/development/libraries/opencl-clang/default.nix6
-rw-r--r--pkgs/development/libraries/opengrm-ngram/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/pe-parse/default.nix12
-rw-r--r--pkgs/development/libraries/pico-sdk/default.nix2
-rw-r--r--pkgs/development/libraries/pipewire/default.nix11
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix4
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/precice/default.nix5
-rw-r--r--pkgs/development/libraries/presage/default.nix6
-rw-r--r--pkgs/development/libraries/proj-datumgrid/default.nix3
-rw-r--r--pkgs/development/libraries/protobuf/3.1.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.10.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.12.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.13.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.14.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.15.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.16.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.18.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.19.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.6.nix6
-rw-r--r--pkgs/development/libraries/protobuf/3.9.nix6
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix3
-rw-r--r--pkgs/development/libraries/re2/default.nix25
-rw-r--r--pkgs/development/libraries/rnnoise/default.nix3
-rw-r--r--pkgs/development/libraries/rocclr/default.nix11
-rw-r--r--pkgs/development/libraries/rocm-opencl-runtime/default.nix5
-rw-r--r--pkgs/development/libraries/rocm-runtime/default.nix4
-rw-r--r--pkgs/development/libraries/rubberband/default.nix8
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/science/astronomy/cfitsio/default.nix2
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix20
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix151
-rw-r--r--pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch46
-rw-r--r--pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch55
-rw-r--r--pkgs/development/libraries/science/math/cliquer/default.nix5
-rw-r--r--pkgs/development/libraries/science/math/flintqs/default.nix3
-rw-r--r--pkgs/development/libraries/science/math/itpp/default.nix1
-rw-r--r--pkgs/development/libraries/science/math/primecount/default.nix33
-rw-r--r--pkgs/development/libraries/science/math/primesieve/default.nix23
-rw-r--r--pkgs/development/libraries/sealcurses/default.nix28
-rw-r--r--pkgs/development/libraries/serd/default.nix3
-rw-r--r--pkgs/development/libraries/signond/default.nix4
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix4
-rw-r--r--pkgs/development/libraries/slang/default.nix1
-rw-r--r--pkgs/development/libraries/soundtouch/default.nix3
-rw-r--r--pkgs/development/libraries/spdk/default.nix16
-rw-r--r--pkgs/development/libraries/spglib/default.nix13
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix10
-rw-r--r--pkgs/development/libraries/stxxl/default.nix1
-rw-r--r--pkgs/development/libraries/swiften/default.nix2
-rw-r--r--pkgs/development/libraries/tachyon/default.nix10
-rw-r--r--pkgs/development/libraries/tecla/default.nix4
-rw-r--r--pkgs/development/libraries/tepl/default.nix10
-rw-r--r--pkgs/development/libraries/the-foundation/default.nix36
-rw-r--r--pkgs/development/libraries/tre/default.nix3
-rw-r--r--pkgs/development/libraries/umockdev/default.nix25
-rw-r--r--pkgs/development/libraries/umockdev/hardcode-paths.patch69
-rw-r--r--pkgs/development/libraries/uriparser/default.nix5
-rw-r--r--pkgs/development/libraries/uthenticode/default.nix19
-rw-r--r--pkgs/development/libraries/v8/default.nix2
-rw-r--r--pkgs/development/libraries/vtk/9.x.nix9
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix3
-rw-r--r--pkgs/development/libraries/waylandpp/default.nix28
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/0.3.nix5
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch37
-rw-r--r--pkgs/development/libraries/wlroots/0.14.nix1
-rw-r--r--pkgs/development/libraries/wlroots/0.15.nix1
-rw-r--r--pkgs/development/libraries/wlroots/protocols.nix1
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix4
-rw-r--r--pkgs/development/libraries/xgboost/default.nix14
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix3
-rw-r--r--pkgs/development/libraries/zeroc-ice/default.nix29
-rw-r--r--pkgs/development/libraries/zlog/default.nix3
-rw-r--r--pkgs/development/lua-modules/generated-packages.nix200
-rw-r--r--pkgs/development/lua-modules/overrides.nix46
-rw-r--r--pkgs/development/misc/rpiboot/default.nix2
-rw-r--r--pkgs/development/node-packages/default.nix13
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/node-packages/node-packages.nix6010
-rw-r--r--pkgs/development/node-packages/package-tests/prisma.nix56
-rw-r--r--pkgs/development/ocaml-modules/atd/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/awa/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/benchmark/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/biniou/1.0.nix39
-rw-r--r--pkgs/development/ocaml-modules/biniou/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/bisect_ppx/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ca-certs-nss/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/camlzip/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.2.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/0.8.5.nix2
-rw-r--r--pkgs/development/ocaml-modules/checkseum/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/cmdliner/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/coin/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/cpdf/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/cryptgps/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cryptokit/default.nix10
-rw-r--r--pkgs/development/ocaml-modules/curses/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/dns/client.nix1
-rw-r--r--pkgs/development/ocaml-modules/dypgen/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix21
-rw-r--r--pkgs/development/ocaml-modules/extlib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/functory/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/hidapi/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/irmin/pack.nix1
-rw-r--r--pkgs/development/ocaml-modules/irmin/unix.nix1
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix11
-rw-r--r--pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch24
-rw-r--r--pkgs/development/ocaml-modules/jsonm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/2.14.0.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/labltk/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lambda-term/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/letsencrypt/app.nix1
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lustre-v6/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/lutils/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/mrmime/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-libvirt/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-lsp/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/ocamlnat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/omd/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/otfm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/otoml/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/piqi-ocaml/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ppx_bap/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/reperf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/rope/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sawja/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sodium/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/syslog/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/telegraml/default.nix34
-rw-r--r--pkgs/development/ocaml-modules/tsdl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/tuntap/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ulex/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/uunf/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/uuseg/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/uutf/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/uuuu/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/vg/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/wayland/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/webbrowser/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/wodan/unix.nix5
-rw-r--r--pkgs/development/ocaml-modules/xmlm/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix1
-rw-r--r--pkgs/development/php-packages/box/default.nix8
-rw-r--r--pkgs/development/php-packages/openswoole/default.nix22
-rw-r--r--pkgs/development/php-packages/pdepend/default.nix41
-rw-r--r--pkgs/development/php-packages/php-parallel-lint/default.nix8
-rw-r--r--pkgs/development/python-modules/afsapi/default.nix6
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioairzone/default.nix4
-rw-r--r--pkgs/development/python-modules/aioamqp/compat-pamqp-3.patch498
-rw-r--r--pkgs/development/python-modules/aioamqp/default.nix31
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix4
-rw-r--r--pkgs/development/python-modules/aioimaplib/default.nix7
-rw-r--r--pkgs/development/python-modules/aiolimiter/default.nix65
-rw-r--r--pkgs/development/python-modules/aiooncue/default.nix4
-rw-r--r--pkgs/development/python-modules/aioqsw/default.nix4
-rw-r--r--pkgs/development/python-modules/aioslimproto/default.nix15
-rw-r--r--pkgs/development/python-modules/androguard/default.nix4
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-compat/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible/default.nix5
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix10
-rw-r--r--pkgs/development/python-modules/apispec/default.nix4
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/argon2-cffi/default.nix (renamed from pkgs/development/python-modules/argon2_cffi/default.nix)5
-rw-r--r--pkgs/development/python-modules/async-lru/default.nix13
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--pkgs/development/python-modules/atomman/default.nix10
-rw-r--r--pkgs/development/python-modules/aurorapy/default.nix4
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix64
-rw-r--r--pkgs/development/python-modules/awkward/default.nix2
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix6
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-eventhub/default.nix11
-rw-r--r--pkgs/development/python-modules/azure-mgmt-containerservice/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datafactory/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-msi/default.nix19
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix20
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix16
-rw-r--r--pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-servicebus/default.nix20
-rw-r--r--pkgs/development/python-modules/azure-storage-file-share/default.nix19
-rw-r--r--pkgs/development/python-modules/backports-zoneinfo/default.nix19
-rw-r--r--pkgs/development/python-modules/beaker/default.nix10
-rw-r--r--pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--pkgs/development/python-modules/bellows/default.nix6
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix6
-rw-r--r--pkgs/development/python-modules/bleach/default.nix4
-rw-r--r--pkgs/development/python-modules/blocksat-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/bond-api/default.nix4
-rw-r--r--pkgs/development/python-modules/boolean-py/default.nix27
-rw-r--r--pkgs/development/python-modules/breezy/default.nix25
-rw-r--r--pkgs/development/python-modules/browser-cookie3/default.nix4
-rw-r--r--pkgs/development/python-modules/brunt/default.nix47
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix2
-rw-r--r--pkgs/development/python-modules/cachy/default.nix4
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/chainer/default.nix21
-rw-r--r--pkgs/development/python-modules/chiavdf/default.nix4
-rw-r--r--pkgs/development/python-modules/cirq-core/default.nix27
-rw-r--r--pkgs/development/python-modules/cirq/default.nix9
-rw-r--r--pkgs/development/python-modules/ciscoconfparse/default.nix25
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/clickgen/default.nix28
-rw-r--r--pkgs/development/python-modules/container-inspector/default.nix56
-rw-r--r--pkgs/development/python-modules/contexttimer/default.nix2
-rw-r--r--pkgs/development/python-modules/crossplane/default.nix24
-rw-r--r--pkgs/development/python-modules/curio/default.nix3
-rw-r--r--pkgs/development/python-modules/dash/default.nix6
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/datapoint/default.nix43
-rw-r--r--pkgs/development/python-modules/datatable/default.nix4
-rw-r--r--pkgs/development/python-modules/db-dtypes/default.nix18
-rw-r--r--pkgs/development/python-modules/dbf/default.nix51
-rw-r--r--pkgs/development/python-modules/debian-inspector/default.nix12
-rw-r--r--pkgs/development/python-modules/defcon/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix4
-rw-r--r--pkgs/development/python-modules/devolo-plc-api/default.nix4
-rw-r--r--pkgs/development/python-modules/diagrams/default.nix3
-rw-r--r--pkgs/development/python-modules/django-auth-ldap/default.nix4
-rw-r--r--pkgs/development/python-modules/django-jinja2/default.nix4
-rw-r--r--pkgs/development/python-modules/django-tastypie/default.nix41
-rw-r--r--pkgs/development/python-modules/django-versatileimagefield/default.nix4
-rw-r--r--pkgs/development/python-modules/django/4.nix8
-rw-r--r--pkgs/development/python-modules/dlinfo/default.nix37
-rw-r--r--pkgs/development/python-modules/dnachisel/default.nix6
-rw-r--r--pkgs/development/python-modules/dparse2/default.nix50
-rw-r--r--pkgs/development/python-modules/ducc0/default.nix30
-rw-r--r--pkgs/development/python-modules/dunamai/default.nix6
-rw-r--r--pkgs/development/python-modules/dungeon-eos/default.nix4
-rw-r--r--pkgs/development/python-modules/ecos/default.nix33
-rw-r--r--pkgs/development/python-modules/editorconfig/default.nix6
-rw-r--r--pkgs/development/python-modules/eiswarnung/default.nix6
-rw-r--r--pkgs/development/python-modules/elkm1-lib/default.nix6
-rw-r--r--pkgs/development/python-modules/emcee/default.nix6
-rw-r--r--pkgs/development/python-modules/enhancements/default.nix43
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix2
-rw-r--r--pkgs/development/python-modules/evtx/default.nix48
-rw-r--r--pkgs/development/python-modules/exceptiongroup/default.nix4
-rw-r--r--pkgs/development/python-modules/exchangelib/default.nix6
-rw-r--r--pkgs/development/python-modules/extractcode/default.nix4
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/falcon/default.nix5
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix2
-rw-r--r--pkgs/development/python-modules/fastbencode/default.nix26
-rw-r--r--pkgs/development/python-modules/fastjsonschema/default.nix3
-rw-r--r--pkgs/development/python-modules/flametree/default.nix6
-rw-r--r--pkgs/development/python-modules/flask-restful/default.nix33
-rw-r--r--pkgs/development/python-modules/flask-security-too/default.nix2
-rw-r--r--pkgs/development/python-modules/flux-led/default.nix4
-rw-r--r--pkgs/development/python-modules/fontmake/default.nix42
-rw-r--r--pkgs/development/python-modules/fontmath/default.nix4
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix10
-rw-r--r--pkgs/development/python-modules/ftputil/default.nix4
-rw-r--r--pkgs/development/python-modules/gbulb/default.nix43
-rw-r--r--pkgs/development/python-modules/gcal-sync/default.nix46
-rw-r--r--pkgs/development/python-modules/genshi/default.nix4
-rw-r--r--pkgs/development/python-modules/gidgethub/default.nix36
-rw-r--r--pkgs/development/python-modules/github3_py/default.nix46
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/glyphslib/default.nix59
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix11
-rw-r--r--pkgs/development/python-modules/google-cloud-pubsub/default.nix4
-rw-r--r--pkgs/development/python-modules/gpt-2-simple/default.nix26
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix7
-rw-r--r--pkgs/development/python-modules/grpcio-status/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix6
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hatasmota/default.nix4
-rw-r--r--pkgs/development/python-modules/hatch-vcs/default.nix48
-rw-r--r--pkgs/development/python-modules/hg-commitsigs/default.nix6
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix32
-rw-r--r--pkgs/development/python-modules/howdoi/default.nix18
-rw-r--r--pkgs/development/python-modules/http-sfv/default.nix4
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix10
-rw-r--r--pkgs/development/python-modules/httpie-ntlm/default.nix31
-rw-r--r--pkgs/development/python-modules/httpie/default.nix (renamed from pkgs/tools/networking/httpie/default.nix)45
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix11
-rw-r--r--pkgs/development/python-modules/httpx/default.nix21
-rw-r--r--pkgs/development/python-modules/huggingface-hub/default.nix8
-rw-r--r--pkgs/development/python-modules/humblewx/default.nix4
-rw-r--r--pkgs/development/python-modules/hvplot/default.nix13
-rw-r--r--pkgs/development/python-modules/hy/default.nix43
-rw-r--r--pkgs/development/python-modules/hyrule/default.nix43
-rw-r--r--pkgs/development/python-modules/ibis-framework/default.nix54
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/impacket/default.nix4
-rw-r--r--pkgs/development/python-modules/influxgraph/default.nix10
-rw-r--r--pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix26
-rw-r--r--pkgs/development/python-modules/intbitset/default.nix7
-rw-r--r--pkgs/development/python-modules/invoke/default.nix8
-rw-r--r--pkgs/development/python-modules/ipwhl/default.nix4
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix26
-rw-r--r--pkgs/development/python-modules/itemadapter/default.nix4
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkinsapi/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-sphinx/default.nix3
-rw-r--r--pkgs/development/python-modules/jupyter_server/default.nix6
-rw-r--r--pkgs/development/python-modules/jwcrypto/default.nix14
-rw-r--r--pkgs/development/python-modules/karton-autoit-ripper/default.nix17
-rw-r--r--pkgs/development/python-modules/karton-classifier/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-core/default.nix4
-rw-r--r--pkgs/development/python-modules/keyrings-cryptfile/default.nix4
-rw-r--r--pkgs/development/python-modules/ldaptor/default.nix27
-rw-r--r--pkgs/development/python-modules/lektor/default.nix4
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix12
-rw-r--r--pkgs/development/python-modules/limits/default.nix79
-rw-r--r--pkgs/development/python-modules/linkify-it-py/default.nix6
-rw-r--r--pkgs/development/python-modules/loopy/default.nix (renamed from pkgs/development/python-modules/loo-py/default.nix)52
-rw-r--r--pkgs/development/python-modules/losant-rest/default.nix4
-rw-r--r--pkgs/development/python-modules/luxtronik/default.nix4
-rw-r--r--pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix32
-rw-r--r--pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix17
-rw-r--r--pkgs/development/python-modules/magic-wormhole/default.nix43
-rw-r--r--pkgs/development/python-modules/malduck/default.nix12
-rw-r--r--pkgs/development/python-modules/mapbox/default.nix3
-rw-r--r--pkgs/development/python-modules/mastodon-py/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix4
-rw-r--r--pkgs/development/python-modules/meater-python/default.nix37
-rw-r--r--pkgs/development/python-modules/meilisearch/default.nix4
-rw-r--r--pkgs/development/python-modules/memcached/default.nix27
-rw-r--r--pkgs/development/python-modules/mocket/default.nix4
-rw-r--r--pkgs/development/python-modules/moku/default.nix57
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix4
-rw-r--r--pkgs/development/python-modules/mysql-connector/default.nix41
-rw-r--r--pkgs/development/python-modules/name-that-hash/default.nix44
-rw-r--r--pkgs/development/python-modules/napalm/default.nix6
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix43
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix72
-rw-r--r--pkgs/development/python-modules/nettigo-air-monitor/default.nix4
-rw-r--r--pkgs/development/python-modules/nose-randomly/default.nix6
-rw-r--r--pkgs/development/python-modules/nose/default.nix4
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/notify-events/default.nix34
-rw-r--r--pkgs/development/python-modules/notify-py/default.nix28
-rw-r--r--pkgs/development/python-modules/nutils/default.nix42
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/ocrmypdf/default.nix2
-rw-r--r--pkgs/development/python-modules/oletools/default.nix7
-rw-r--r--pkgs/development/python-modules/openshift/default.nix4
-rw-r--r--pkgs/development/python-modules/openstep-plist/default.nix31
-rw-r--r--pkgs/development/python-modules/oscrypto/default.nix44
-rw-r--r--pkgs/development/python-modules/osmpythontools/default.nix7
-rw-r--r--pkgs/development/python-modules/pandoc-xnos/default.nix30
-rw-r--r--pkgs/development/python-modules/parameter-expansion-patched/default.nix16
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix24
-rw-r--r--pkgs/development/python-modules/passlib/default.nix19
-rw-r--r--pkgs/development/python-modules/pcapy-ng/default.nix59
-rw-r--r--pkgs/development/python-modules/pdfminer_six/default.nix24
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix22
-rw-r--r--pkgs/development/python-modules/phonemizer/backend-paths.patch56
-rw-r--r--pkgs/development/python-modules/phonemizer/default.nix22
-rw-r--r--pkgs/development/python-modules/phonemizer/drop-readme-festival-test.patch12
-rw-r--r--pkgs/development/python-modules/phonemizer/remove-intertwined-festival-test.patch103
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-requirements-parser/default.nix50
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix10
-rw-r--r--pkgs/development/python-modules/pkgconfig/default.nix40
-rw-r--r--pkgs/development/python-modules/pkginfo2/default.nix35
-rw-r--r--pkgs/development/python-modules/pkutils/default.nix10
-rw-r--r--pkgs/development/python-modules/plugincode/default.nix16
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix20
-rw-r--r--pkgs/development/python-modules/poetry-dynamic-versioning/default.nix4
-rw-r--r--pkgs/development/python-modules/pontos/default.nix5
-rw-r--r--pkgs/development/python-modules/praw/default.nix6
-rw-r--r--pkgs/development/python-modules/proglog/default.nix4
-rw-r--r--pkgs/development/python-modules/proton-client/default.nix1
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch22
-rw-r--r--pkgs/development/python-modules/protonvpn-nm-lib/default.nix17
-rw-r--r--pkgs/development/python-modules/prox-tv/default.nix6
-rw-r--r--pkgs/development/python-modules/proxmoxer/default.nix21
-rw-r--r--pkgs/development/python-modules/pure-pcapy3/default.nix19
-rw-r--r--pkgs/development/python-modules/puremagic/default.nix4
-rw-r--r--pkgs/development/python-modules/pushbullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pweave/default.nix3
-rw-r--r--pkgs/development/python-modules/py-canary/default.nix12
-rw-r--r--pkgs/development/python-modules/py-deprecate/default.nix39
-rw-r--r--pkgs/development/python-modules/py-desmume/default.nix17
-rw-r--r--pkgs/development/python-modules/py-nextbusnext/default.nix32
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix40
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--pkgs/development/python-modules/pyahocorasick/default.nix23
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix14
-rw-r--r--pkgs/development/python-modules/pyautogui/default.nix4
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodome-test-vectors/default.nix4
-rw-r--r--pkgs/development/python-modules/pycurl/default.nix11
-rw-r--r--pkgs/development/python-modules/pydeck/default.nix28
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix10
-rw-r--r--pkgs/development/python-modules/pydeps/default.nix4
-rw-r--r--pkgs/development/python-modules/pydicom/default.nix18
-rw-r--r--pkgs/development/python-modules/pydyf/default.nix10
-rw-r--r--pkgs/development/python-modules/pyeapi/default.nix44
-rw-r--r--pkgs/development/python-modules/pyevilgenius/default.nix4
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix4
-rw-r--r--pkgs/development/python-modules/pygtfs/default.nix12
-rw-r--r--pkgs/development/python-modules/pyicu/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinfra/default.nix30
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix6
-rw-r--r--pkgs/development/python-modules/pykeepass/default.nix6
-rw-r--r--pkgs/development/python-modules/pykulersky/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix13
-rw-r--r--pkgs/development/python-modules/pylint-plugin-utils/default.nix39
-rw-r--r--pkgs/development/python-modules/pylint/default.nix11
-rw-r--r--pkgs/development/python-modules/pylsp-mypy/default.nix1
-rw-r--r--pkgs/development/python-modules/pymbolic/default.nix29
-rw-r--r--pkgs/development/python-modules/pymyq/default.nix6
-rw-r--r--pkgs/development/python-modules/pynest2d/default.nix4
-rw-r--r--pkgs/development/python-modules/pynetgear/default.nix4
-rw-r--r--pkgs/development/python-modules/pynws/default.nix4
-rw-r--r--pkgs/development/python-modules/pyomo/default.nix6
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix2
-rw-r--r--pkgs/development/python-modules/pypiserver/default.nix36
-rw-r--r--pkgs/development/python-modules/pyrainbird/default.nix58
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pysabnzbd/default.nix33
-rw-r--r--pkgs/development/python-modules/pyscf/default.nix1
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--pkgs/development/python-modules/pysnow/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-black/default.nix11
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix19
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix2
-rw-r--r--pkgs/development/python-modules/python-memcached/default.nix40
-rw-r--r--pkgs/development/python-modules/python-rabbitair/default.nix60
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-sql/default.nix32
-rw-r--r--pkgs/development/python-modules/python-trovo/default.nix4
-rw-r--r--pkgs/development/python-modules/pytomorrowio/default.nix6
-rw-r--r--pkgs/development/python-modules/pytorch-lightning/default.nix10
-rw-r--r--pkgs/development/python-modules/pytube/default.nix4
-rw-r--r--pkgs/development/python-modules/pyupgrade/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvips/default.nix26
-rw-r--r--pkgs/development/python-modules/pyzerproc/default.nix4
-rw-r--r--pkgs/development/python-modules/qcs-api-client/default.nix4
-rw-r--r--pkgs/development/python-modules/qnapstats/default.nix48
-rw-r--r--pkgs/development/python-modules/qstylizer/default.nix47
-rw-r--r--pkgs/development/python-modules/raincloudy/default.nix61
-rw-r--r--pkgs/development/python-modules/relatorio/default.nix34
-rw-r--r--pkgs/development/python-modules/reportengine/default.nix53
-rw-r--r--pkgs/development/python-modules/requests-aws4auth/default.nix7
-rw-r--r--pkgs/development/python-modules/rethinkdb/default.nix4
-rw-r--r--pkgs/development/python-modules/rflink/default.nix6
-rw-r--r--pkgs/development/python-modules/rich/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic/default.nix9
-rw-r--r--pkgs/development/python-modules/scancode-toolkit/default.nix23
-rw-r--r--pkgs/development/python-modules/scikit-bio/default.nix9
-rw-r--r--pkgs/development/python-modules/scipy/default.nix2
-rw-r--r--pkgs/development/python-modules/scmrepo/default.nix4
-rw-r--r--pkgs/development/python-modules/scrapy/default.nix4
-rw-r--r--pkgs/development/python-modules/sdds/default.nix31
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix6
-rw-r--r--pkgs/development/python-modules/setupmeta/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools-rust/default.nix4
-rw-r--r--pkgs/development/python-modules/shapely/default.nix4
-rw-r--r--pkgs/development/python-modules/shapely/library-paths.patch212
-rw-r--r--pkgs/development/python-modules/shiv/default.nix13
-rw-r--r--pkgs/development/python-modules/signedjson/default.nix49
-rw-r--r--pkgs/development/python-modules/simplisafe-python/default.nix10
-rw-r--r--pkgs/development/python-modules/sjcl/default.nix42
-rw-r--r--pkgs/development/python-modules/skia-pathops/default.nix43
-rw-r--r--pkgs/development/python-modules/skytemple-files/default.nix7
-rw-r--r--pkgs/development/python-modules/skytemple-rust/default.nix21
-rw-r--r--pkgs/development/python-modules/skytemple-ssb-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix6
-rw-r--r--pkgs/development/python-modules/slicer/default.nix6
-rw-r--r--pkgs/development/python-modules/snapcast/default.nix16
-rw-r--r--pkgs/development/python-modules/snowflake-connector-python/default.nix4
-rw-r--r--pkgs/development/python-modules/spglib/default.nix20
-rw-r--r--pkgs/development/python-modules/sphinx-better-theme/default.nix45
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix102
-rw-r--r--pkgs/development/python-modules/sqlalchemy-mixins/default.nix6
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix11
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/ssh-mitm/default.nix58
-rw-r--r--pkgs/development/python-modules/stripe/default.nix4
-rw-r--r--pkgs/development/python-modules/superqt/default.nix6
-rw-r--r--pkgs/development/python-modules/tempest/default.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow-metadata/default.nix6
-rw-r--r--pkgs/development/python-modules/tesla-powerwall/default.nix42
-rw-r--r--pkgs/development/python-modules/testtools/default.nix7
-rw-r--r--pkgs/development/python-modules/textual/default.nix29
-rw-r--r--pkgs/development/python-modules/timetagger/default.nix19
-rw-r--r--pkgs/development/python-modules/tldextract/default.nix6
-rw-r--r--pkgs/development/python-modules/torchmetrics/default.nix78
-rw-r--r--pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--pkgs/development/python-modules/treq/default.nix38
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/trytond/default.nix61
-rw-r--r--pkgs/development/python-modules/ttp-templates/default.nix50
-rw-r--r--pkgs/development/python-modules/tubeup/default.nix4
-rw-r--r--pkgs/development/python-modules/tweepy/default.nix6
-rw-r--r--pkgs/development/python-modules/twisted/default.nix23
-rw-r--r--pkgs/development/python-modules/txaio/default.nix2
-rw-r--r--pkgs/development/python-modules/txtorcon/default.nix2
-rw-r--r--pkgs/development/python-modules/typecode/default.nix7
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/types-tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--pkgs/development/python-modules/uasiren/default.nix58
-rw-r--r--pkgs/development/python-modules/ufo2ft/default.nix4
-rw-r--r--pkgs/development/python-modules/ufoLib2/default.nix3
-rw-r--r--pkgs/development/python-modules/uharfbuzz/default.nix2
-rw-r--r--pkgs/development/python-modules/ujson/default.nix8
-rw-r--r--pkgs/development/python-modules/ukrainealarm/default.nix58
-rw-r--r--pkgs/development/python-modules/urwid/default.nix5
-rw-r--r--pkgs/development/python-modules/validobj/default.nix31
-rw-r--r--pkgs/development/python-modules/vallox-websocket-api/default.nix42
-rw-r--r--pkgs/development/python-modules/voluptuous/default.nix26
-rw-r--r--pkgs/development/python-modules/wandb/default.nix30
-rw-r--r--pkgs/development/python-modules/weasyprint/default.nix8
-rw-r--r--pkgs/development/python-modules/webssh/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/werkzeug/1.nix62
-rw-r--r--pkgs/development/python-modules/whispers/default.nix (renamed from pkgs/tools/security/whispers/default.nix)23
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix11
-rw-r--r--pkgs/development/python-modules/xdot/default.nix4
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/xmltodict/default.nix2
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix4
-rw-r--r--pkgs/development/python-modules/yte/default.nix8
-rw-r--r--pkgs/development/python-modules/ytmusicapi/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix6
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix6
-rw-r--r--pkgs/development/python-modules/zimports/default.nix24
-rw-r--r--pkgs/development/python-modules/zope_event/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_lifecycleevent/default.nix4
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix7
-rw-r--r--pkgs/development/tools/ammonite/default.nix3
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix5
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/hopper/default.nix28
-rw-r--r--pkgs/development/tools/analysis/qcachegrind/default.nix5
-rw-r--r--pkgs/development/tools/analysis/rr/unstable.nix6
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix8
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix6
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix1
-rw-r--r--pkgs/development/tools/boost-build/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix390
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch13
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix560
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json506
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/default.nix561
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch78
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json506
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix62
-rw-r--r--pkgs/development/tools/build-managers/gnumake/4.2/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/gnumake/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/jam/ftjam.nix3
-rw-r--r--pkgs/development/tools/build-managers/samurai/default.nix3
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/default.nix6
-rw-r--r--pkgs/development/tools/buildkit/default.nix5
-rw-r--r--pkgs/development/tools/cloudsmith-cli/default.nix4
-rw-r--r--pkgs/development/tools/cocogitto/default.nix8
-rw-r--r--pkgs/development/tools/compile-daemon/default.nix21
-rw-r--r--pkgs/development/tools/compile-daemon/deps.nix48
-rw-r--r--pkgs/development/tools/conftest/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix46
-rw-r--r--pkgs/development/tools/continuous-integration/github-runner/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/hci/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix2
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix9
-rw-r--r--pkgs/development/tools/continuous-integration/laminar/default.nix1
-rw-r--r--pkgs/development/tools/cue/default.nix38
-rw-r--r--pkgs/development/tools/dapr/cli/default.nix3
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix2
-rw-r--r--pkgs/development/tools/database/prisma-engines/default.nix6
-rw-r--r--pkgs/development/tools/database/sqlc/default.nix31
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/devpi-server/default.nix2
-rw-r--r--pkgs/development/tools/dive/default.nix2
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/dump_syms/default.nix46
-rw-r--r--pkgs/development/tools/earthly/default.nix2
-rw-r--r--pkgs/development/tools/ent/default.nix3
-rw-r--r--pkgs/development/tools/flip-link/default.nix18
-rw-r--r--pkgs/development/tools/gnulib/default.nix3
-rw-r--r--pkgs/development/tools/go-junit-report/default.nix25
-rw-r--r--pkgs/development/tools/go-swag/default.nix1
-rw-r--r--pkgs/development/tools/goa/default.nix3
-rw-r--r--pkgs/development/tools/goconst/default.nix19
-rw-r--r--pkgs/development/tools/goconvey/default.nix21
-rw-r--r--pkgs/development/tools/goconvey/deps.nix20
-rw-r--r--pkgs/development/tools/gosec/default.nix2
-rw-r--r--pkgs/development/tools/jd-diff-patch/default.nix1
-rw-r--r--pkgs/development/tools/jmespath/default.nix25
-rw-r--r--pkgs/development/tools/just/default.nix6
-rw-r--r--pkgs/development/tools/kdash/default.nix37
-rw-r--r--pkgs/development/tools/knightos/scas/default.nix18
-rw-r--r--pkgs/development/tools/konstraint/default.nix6
-rw-r--r--pkgs/development/tools/kube-linter/default.nix10
-rw-r--r--pkgs/development/tools/kustomize/3.nix1
-rw-r--r--pkgs/development/tools/literate-programming/Literate/default.nix3
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix6
-rw-r--r--pkgs/development/tools/misc/chruby/default.nix3
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/gdbgui/default.nix57
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix7
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix10
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix8
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix19
-rw-r--r--pkgs/development/tools/misc/hydra/missing-std-string.patch61
-rw-r--r--pkgs/development/tools/misc/hydra/unstable.nix (renamed from pkgs/development/tools/misc/hydra/common.nix)176
-rw-r--r--pkgs/development/tools/misc/libtree/default.nix31
-rw-r--r--pkgs/development/tools/misc/netcoredbg/default.nix7
-rw-r--r--pkgs/development/tools/misc/netcoredbg/limits.patch12
-rw-r--r--pkgs/development/tools/misc/premake/default.nix5
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix4
-rw-r--r--pkgs/development/tools/misc/sqitch/default.nix2
-rw-r--r--pkgs/development/tools/misc/stlink/default.nix8
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix4
-rw-r--r--pkgs/development/tools/misc/watson-ruby/default.nix1
-rw-r--r--pkgs/development/tools/mysql-shell/default.nix45
-rw-r--r--pkgs/development/tools/mysql-shell/fido2.cmake.patch25
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix21
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix7
-rw-r--r--pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix3
-rw-r--r--pkgs/development/tools/ocaml/ocamlscript/default.nix1
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix17
-rw-r--r--pkgs/development/tools/oq/default.nix3
-rw-r--r--pkgs/development/tools/pandoc/default.nix5
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/default.nix2
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pug.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json8
-rw-r--r--pkgs/development/tools/perseus-cli/default.nix16
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix117
-rw-r--r--pkgs/development/tools/phantomjs2/system-qtbase.patch13
-rw-r--r--pkgs/development/tools/picotool/default.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/default.nix12
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix66
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py20
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh17
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/lib.nix2
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json224
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix283
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py46
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix4
-rw-r--r--pkgs/development/tools/profiling/pprof/default.nix8
-rw-r--r--pkgs/development/tools/prospector/default.nix14
-rw-r--r--pkgs/development/tools/protoc-gen-entgrpc/default.nix28
-rw-r--r--pkgs/development/tools/protoc-gen-twirp_php/default.nix8
-rw-r--r--pkgs/development/tools/pur/default.nix6
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rwxr-xr-xpkgs/development/tools/purescript/spago/update.sh5
-rw-r--r--pkgs/development/tools/rgp/default.nix6
-rw-r--r--pkgs/development/tools/rust/bindgen/unwrapped.nix3
-rw-r--r--pkgs/development/tools/rust/cargo-bolero/Cargo.lock751
-rw-r--r--pkgs/development/tools/rust/cargo-bolero/default.nix25
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-feature/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-geiger/default.nix29
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-sync-readme/default.nix7
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix9
-rwxr-xr-xpkgs/development/tools/rust/rust-analyzer/update.sh2
-rw-r--r--pkgs/development/tools/scry/default.nix3
-rw-r--r--pkgs/development/tools/selenium/server/default.nix3
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/snazy/default.nix6
-rw-r--r--pkgs/development/tools/taplo-cli/default.nix12
-rw-r--r--pkgs/development/tools/treefmt/default.nix2
-rw-r--r--pkgs/development/tools/trunk/default.nix6
-rw-r--r--pkgs/development/tools/vagrant/gemset_libvirt.nix12
-rw-r--r--pkgs/development/tools/vogl/default.nix57
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix6
-rw-r--r--pkgs/development/tools/wails/default.nix6
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix20
-rw-r--r--pkgs/development/web/lucky-cli/default.nix4
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v18.nix4
-rw-r--r--pkgs/development/web/remarkjs/default.nix4
-rw-r--r--pkgs/development/web/shopify-cli/default.nix3
-rw-r--r--pkgs/games/0verkill/default.nix3
-rw-r--r--pkgs/games/7kaa/default.nix17
-rw-r--r--pkgs/games/anki/bin.nix26
-rw-r--r--pkgs/games/asc/default.nix2
-rw-r--r--pkgs/games/azimuth/default.nix3
-rw-r--r--pkgs/games/blightmud/default.nix2
-rw-r--r--pkgs/games/bugdom/default.nix5
-rw-r--r--pkgs/games/cdogs-sdl/default.nix5
-rw-r--r--pkgs/games/crossfire/crossfire-arch.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-client.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-maps.nix6
-rw-r--r--pkgs/games/crossfire/crossfire-server.nix6
-rw-r--r--pkgs/games/crossfire/default.nix8
-rw-r--r--pkgs/games/factorio/versions.json48
-rw-r--r--pkgs/games/gimx/default.nix14
-rw-r--r--pkgs/games/minetest/default.nix27
-rw-r--r--pkgs/games/opendungeons/default.nix5
-rw-r--r--pkgs/games/opendungeons/fix_link_date_time.patch13
-rw-r--r--pkgs/games/openmw/default.nix13
-rw-r--r--pkgs/games/openmw/tes3mp.nix3
-rw-r--r--pkgs/games/opentyrian/default.nix44
-rw-r--r--pkgs/games/osu-lazer/default.nix8
-rw-r--r--pkgs/games/papermc/default.nix6
-rw-r--r--pkgs/games/polymc/default.nix4
-rw-r--r--pkgs/games/r2mod_cli/default.nix1
-rw-r--r--pkgs/games/tcl2048/default.nix3
-rw-r--r--pkgs/games/ue4/default.nix3
-rw-r--r--pkgs/games/xivlauncher/default.nix73
-rw-r--r--pkgs/games/xivlauncher/deps.nix197
-rw-r--r--pkgs/misc/apulse/pressureaudio.nix4
-rw-r--r--pkgs/misc/cliscord/default.nix4
-rw-r--r--pkgs/misc/cups/drivers/samsung/4.00.39/default.nix44
-rw-r--r--pkgs/misc/drivers/foomatic-filters/default.nix6
-rw-r--r--pkgs/misc/drivers/sc-controller/default.nix4
-rw-r--r--pkgs/misc/drivers/xow/default.nix8
-rw-r--r--pkgs/misc/flashfocus/default.nix5
-rw-r--r--pkgs/misc/ghostscript/default.nix16
-rw-r--r--pkgs/misc/openrussian-cli/default.nix3
-rw-r--r--pkgs/misc/platformsh/default.nix7
-rw-r--r--pkgs/misc/rich-cli/default.nix26
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix3
-rw-r--r--pkgs/misc/uboot/default.nix7
-rw-r--r--pkgs/os-specific/darwin/goku/default.nix16
-rw-r--r--pkgs/os-specific/linux/anbox/kmod.nix42
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix12
-rw-r--r--pkgs/os-specific/linux/bolt/default.nix22
-rw-r--r--pkgs/os-specific/linux/directvnc/default.nix13
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix4
-rw-r--r--pkgs/os-specific/linux/dropwatch/default.nix4
-rw-r--r--pkgs/os-specific/linux/ena/default.nix6
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix4
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix13
-rw-r--r--pkgs/os-specific/linux/firejail/fix-opengl-support.patch7
-rw-r--r--pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch9
-rw-r--r--pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/linux-firmware/default.nix13
-rw-r--r--pkgs/os-specific/linux/g15daemon/default.nix5
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix4
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix2
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.17.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/nftables/default.nix16
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix10
-rw-r--r--pkgs/os-specific/linux/pax-utils/default.nix12
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/default.nix71
-rw-r--r--pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch37
-rw-r--r--pkgs/os-specific/linux/read-edid/default.nix9
-rw-r--r--pkgs/os-specific/linux/read-edid/fno-common.patch22
-rw-r--r--pkgs/os-specific/linux/sgx/psw/default.nix25
-rw-r--r--pkgs/os-specific/linux/sgx/sdk/default.nix15
-rw-r--r--pkgs/os-specific/linux/sysdig/default.nix39
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix14
-rw-r--r--pkgs/os-specific/linux/uhk-agent/default.nix39
-rw-r--r--pkgs/os-specific/linux/uhk-udev-rules/default.nix20
-rw-r--r--pkgs/os-specific/linux/usbrelay/daemon.nix2
-rw-r--r--pkgs/os-specific/linux/usbrelay/default.nix14
-rw-r--r--pkgs/os-specific/linux/util-linux/default.nix2
-rw-r--r--pkgs/os-specific/linux/vmm_clock/default.nix1
-rw-r--r--pkgs/os-specific/linux/vmware/default.nix47
-rw-r--r--pkgs/pkgs-lib/formats.nix11
-rw-r--r--pkgs/servers/alps/default.nix6
-rw-r--r--pkgs/servers/amqp/qpid-cpp/default.nix81
-rw-r--r--pkgs/servers/caddy/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix17
-rw-r--r--pkgs/servers/dante/default.nix4
-rw-r--r--pkgs/servers/dendrite/default.nix21
-rw-r--r--pkgs/servers/dict/default.nix1
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix5
-rw-r--r--pkgs/servers/exhibitor/default.nix3
-rw-r--r--pkgs/servers/freeradius/default.nix11
-rw-r--r--pkgs/servers/gotify/default.nix1
-rw-r--r--pkgs/servers/gotify/source-sha.nix2
-rw-r--r--pkgs/servers/gotify/version.nix2
-rw-r--r--pkgs/servers/gotify/yarndeps.nix4592
-rw-r--r--pkgs/servers/haste-server/default.nix4
-rw-r--r--pkgs/servers/haste-server/node-composition.nix2
-rw-r--r--pkgs/servers/haste-server/node-deps.nix24
-rw-r--r--pkgs/servers/haste-server/node-env.nix32
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix94
-rw-r--r--pkgs/servers/home-assistant/default.nix19
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/hqplayerd/default.nix57
-rw-r--r--pkgs/servers/http/envoy/bump-brotli.patch15
-rw-r--r--pkgs/servers/http/envoy/default.nix21
-rw-r--r--pkgs/servers/http/envoy/fix-aarch64-wamr.patch38
-rw-r--r--pkgs/servers/http/mini-httpd/default.nix2
-rw-r--r--pkgs/servers/http/nginx/generic.nix19
-rw-r--r--pkgs/servers/http/trafficserver/default.nix13
-rw-r--r--pkgs/servers/http/trafficserver/fix-catch2-version-incompatibility.patch43
-rw-r--r--pkgs/servers/icingaweb2/default.nix3
-rw-r--r--pkgs/servers/invidious/lsquic.nix10
-rw-r--r--pkgs/servers/irc/inspircd/default.nix4
-rw-r--r--pkgs/servers/kanidm/default.nix89
-rw-r--r--pkgs/servers/keycloak/default.nix8
-rw-r--r--pkgs/servers/mail/dovecot/default.nix4
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/filter-rspamd.nix3
-rw-r--r--pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch172
-rw-r--r--pkgs/servers/mail/public-inbox/default.nix143
-rw-r--r--pkgs/servers/mapserver/default.nix6
-rw-r--r--pkgs/servers/mastodon/default.nix2
-rw-r--r--pkgs/servers/mastodon/gemset.nix144
-rw-r--r--pkgs/servers/mastodon/source.nix4
-rw-r--r--pkgs/servers/mastodon/version.nix2
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix2
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix14
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json4
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json8
-rw-r--r--pkgs/servers/mautrix-facebook/default.nix9
-rw-r--r--pkgs/servers/mautrix-signal/default.nix2
-rw-r--r--pkgs/servers/mautrix-telegram/default.nix2
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/navidrome/default.nix4
-rw-r--r--pkgs/servers/misc/virtiofsd/default.nix12
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix14
-rw-r--r--pkgs/servers/monitoring/prometheus/consul-exporter.nix14
-rw-r--r--pkgs/servers/monitoring/prometheus/haproxy-exporter.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/openldap-exporter.nix16
-rw-r--r--pkgs/servers/monitoring/prometheus/xmpp-alerts.nix4
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix25
-rw-r--r--pkgs/servers/monitoring/uchiwa/default.nix53
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rwxr-xr-xpkgs/servers/monitoring/uchiwa/update.sh42
-rw-r--r--pkgs/servers/nosql/victoriametrics/default.nix14
-rw-r--r--pkgs/servers/ombi/default.nix8
-rw-r--r--pkgs/servers/pinnwand/steck.nix2
-rw-r--r--pkgs/servers/pleroma/default.nix35
-rw-r--r--pkgs/servers/pleroma/mix.nix4
-rw-r--r--pkgs/servers/prowlarr/default.nix6
-rw-r--r--pkgs/servers/pufferpanel/default.nix2
-rw-r--r--pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch26
-rw-r--r--pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-macOS.patch27
-rw-r--r--pkgs/servers/pulseaudio/0003-Disable-z-nodelete-on-darwin.patch26
-rw-r--r--pkgs/servers/pulseaudio/0004-Prefer-clock_gettime.patch57
-rw-r--r--pkgs/servers/pulseaudio/0005-Include-poll-posix.c-on-darwin.patch24
-rw-r--r--pkgs/servers/pulseaudio/0006-Only-use-version-script-on-GNU-ish-linkers.patch29
-rw-r--r--pkgs/servers/pulseaudio/0007-Adapt-undefined-link-args-per-linker.patch44
-rw-r--r--pkgs/servers/pulseaudio/0008-Use-correct-semaphore-on-darwin.patch31
-rw-r--r--pkgs/servers/pulseaudio/default.nix33
-rw-r--r--pkgs/servers/radarr/default.nix6
-rw-r--r--pkgs/servers/radicale/3.x.nix2
-rw-r--r--pkgs/servers/redpanda/default.nix8
-rw-r--r--pkgs/servers/roon-server/default.nix4
-rw-r--r--pkgs/servers/sonarr/default.nix6
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--pkgs/servers/t-rex/default.nix1
-rw-r--r--pkgs/servers/telegram-bot-api/default.nix25
-rw-r--r--pkgs/servers/teleport/default.nix88
-rw-r--r--pkgs/servers/teleport/rdpclient.patch17
-rw-r--r--pkgs/servers/timetagger/default.nix23
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/unifiedpush-common-proxies/default.nix1
-rw-r--r--pkgs/servers/unpackerr/default.nix6
-rw-r--r--pkgs/servers/uxplay/default.nix13
-rw-r--r--pkgs/servers/web-apps/engelsystem/default.nix3
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/lemmy/server.nix1
-rw-r--r--pkgs/servers/web-apps/snipe-it/composer-env.nix244
-rw-r--r--pkgs/servers/web-apps/snipe-it/composition.nix15
-rw-r--r--pkgs/servers/web-apps/snipe-it/default.nix47
-rw-r--r--pkgs/servers/web-apps/snipe-it/php-packages.nix1348
-rwxr-xr-xpkgs/servers/web-apps/snipe-it/update.sh50
-rw-r--r--pkgs/servers/web-apps/sogo/default.nix4
-rw-r--r--pkgs/servers/web-apps/vikunja/api.nix1
-rw-r--r--pkgs/servers/web-apps/wallabag/default.nix4
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix22
-rw-r--r--pkgs/servers/zigbee2mqtt/default.nix4
-rw-r--r--pkgs/servers/zigbee2mqtt/node-packages.nix4583
-rw-r--r--pkgs/shells/mksh/default.nix4
-rw-r--r--pkgs/shells/powershell/default.nix10
-rw-r--r--pkgs/shells/rc/default.nix40
-rw-r--r--pkgs/shells/zsh/zplug/default.nix3
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/darwin.patch11
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix8
-rw-r--r--pkgs/shells/zsh/zsh-history/default.nix5
-rw-r--r--pkgs/stdenv/adapters.nix35
-rw-r--r--pkgs/stdenv/darwin/default.nix75
-rw-r--r--pkgs/stdenv/generic/check-meta.nix49
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix111
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/make-binary-wrapper/default.nix1
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.c25
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.cmdline1
-rw-r--r--pkgs/test/make-binary-wrapper/overlength-strings.env3
-rw-r--r--pkgs/test/nixos-functions/default.nix14
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix4
-rw-r--r--pkgs/tools/X11/opentabletdriver/deps.nix2
-rw-r--r--pkgs/tools/X11/xnee/default.nix14
-rw-r--r--pkgs/tools/X11/xvkbd/default.nix29
-rw-r--r--pkgs/tools/X11/xwinmosaic/default.nix12
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix6
-rw-r--r--pkgs/tools/admin/aws-rotate-key/default.nix22
-rw-r--r--pkgs/tools/admin/aws-rotate-key/deps.nix29
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix15
-rw-r--r--pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--pkgs/tools/admin/certigo/default.nix7
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/elasticsearch-curator/default.nix90
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix42
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/data.nix22
-rwxr-xr-xpkgs/tools/admin/google-cloud-sdk/update.sh2
-rw-r--r--pkgs/tools/admin/lxd/default.nix1
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix4
-rw-r--r--pkgs/tools/admin/meshcentral/package.json5
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock735
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.nix704
-rw-r--r--pkgs/tools/admin/pgadmin/default.nix141
-rw-r--r--pkgs/tools/admin/pgadmin/package.json11
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.lock253
-rw-r--r--pkgs/tools/admin/pgadmin/yarn.nix244
-rw-r--r--pkgs/tools/admin/salt/0001-Fix-Jinja2-3.1.0.patch38
-rw-r--r--pkgs/tools/admin/salt/default.nix52
-rw-r--r--pkgs/tools/admin/syft/default.nix6
-rw-r--r--pkgs/tools/admin/winbox/default.nix2
-rw-r--r--pkgs/tools/archivers/arc_unpacker/default.nix9
-rw-r--r--pkgs/tools/archivers/gbl/default.nix4
-rw-r--r--pkgs/tools/archivers/gnutar/default.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/dsp/default.nix52
-rw-r--r--pkgs/tools/audio/glyr/default.nix3
-rw-r--r--pkgs/tools/audio/headset-charge-indicator/default.nix63
-rw-r--r--pkgs/tools/audio/mpdris2/default.nix6
-rw-r--r--pkgs/tools/audio/spotdl/default.nix6
-rw-r--r--pkgs/tools/backup/autorestic/default.nix8
-rw-r--r--pkgs/tools/backup/diskrsync/default.nix16
-rw-r--r--pkgs/tools/backup/diskrsync/deps.nix48
-rw-r--r--pkgs/tools/backup/restic/rest-server.nix14
-rw-r--r--pkgs/tools/backup/zbackup/default.nix4
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix10
-rw-r--r--pkgs/tools/cd-dvd/bootiso/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/cdrkit/default.nix2
-rw-r--r--pkgs/tools/compression/xdelta/default.nix1
-rw-r--r--pkgs/tools/compression/xdelta/unstable.nix1
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix1
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix18
-rw-r--r--pkgs/tools/filesystems/ceph/default.nix4
-rw-r--r--pkgs/tools/filesystems/dosfstools/default.nix11
-rw-r--r--pkgs/tools/filesystems/garage/default.nix5
-rw-r--r--pkgs/tools/filesystems/go-mtpfs/default.nix25
-rw-r--r--pkgs/tools/filesystems/go-mtpfs/deps.nix30
-rw-r--r--pkgs/tools/filesystems/netatalk/default.nix4
-rw-r--r--pkgs/tools/filesystems/rdfind/default.nix10
-rw-r--r--pkgs/tools/filesystems/s3fs/default.nix4
-rw-r--r--pkgs/tools/filesystems/xfsprogs/default.nix4
-rw-r--r--pkgs/tools/filesystems/xtreemfs/default.nix23
-rw-r--r--pkgs/tools/graphics/adriconf/default.nix2
-rw-r--r--pkgs/tools/graphics/amber/default.nix26
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix6
-rw-r--r--pkgs/tools/graphics/grim/default.nix6
-rw-r--r--pkgs/tools/graphics/ploticus/default.nix5
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix2
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix6
-rw-r--r--pkgs/tools/misc/3llo/Gemfile2
-rw-r--r--pkgs/tools/misc/3llo/Gemfile.lock32
-rw-r--r--pkgs/tools/misc/3llo/default.nix20
-rw-r--r--pkgs/tools/misc/3llo/gemset.nix49
-rw-r--r--pkgs/tools/misc/anystyle-cli/default.nix1
-rw-r--r--pkgs/tools/misc/apkeep/default.nix6
-rw-r--r--pkgs/tools/misc/bat/default.nix6
-rw-r--r--pkgs/tools/misc/bdfresize/default.nix20
-rw-r--r--pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch11
-rw-r--r--pkgs/tools/misc/boltbrowser/default.nix6
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/bsp-layout/default.nix21
-rw-r--r--pkgs/tools/misc/calamares-nixos-extensions/default.nix30
-rw-r--r--pkgs/tools/misc/calamares/default.nix63
-rw-r--r--pkgs/tools/misc/calamares/nixos-extensions-paths.patch46
-rw-r--r--pkgs/tools/misc/calamares/nonroot.patch105
-rw-r--r--pkgs/tools/misc/calamares/partitions.patch28
-rw-r--r--pkgs/tools/misc/calamares/uimod.patch85
-rw-r--r--pkgs/tools/misc/calamares/unfreeq.patch109
-rw-r--r--pkgs/tools/misc/calamares/userjob.patch31
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/cht.sh/default.nix6
-rw-r--r--pkgs/tools/misc/clickclack/default.nix4
-rw-r--r--pkgs/tools/misc/communicator/default.nix67
-rw-r--r--pkgs/tools/misc/didyoumean/default.nix1
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix6
-rw-r--r--pkgs/tools/misc/direnv/default.nix2
-rw-r--r--pkgs/tools/misc/dotter/default.nix4
-rw-r--r--pkgs/tools/misc/esptool/default.nix37
-rw-r--r--pkgs/tools/misc/fclones/default.nix6
-rw-r--r--pkgs/tools/misc/fortune/default.nix11
-rw-r--r--pkgs/tools/misc/go.rice/default.nix3
-rw-r--r--pkgs/tools/misc/gotify-desktop/default.nix3
-rw-r--r--pkgs/tools/misc/graylog/default.nix3
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/kakoune-cr/default.nix3
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix18
-rw-r--r--pkgs/tools/misc/lookatme/default.nix67
-rw-r--r--pkgs/tools/misc/melody/default.nix6
-rw-r--r--pkgs/tools/misc/mmake/default.nix18
-rw-r--r--pkgs/tools/misc/mmake/deps.nix30
-rw-r--r--pkgs/tools/misc/mysql2pgsql/default.nix1
-rw-r--r--pkgs/tools/misc/nb/default.nix67
-rw-r--r--pkgs/tools/misc/nbench/default.nix4
-rw-r--r--pkgs/tools/misc/neofetch/default.nix6
-rw-r--r--pkgs/tools/misc/ntfy-sh/default.nix4
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix5
-rw-r--r--pkgs/tools/misc/pandoc-eqnos/default.nix30
-rw-r--r--pkgs/tools/misc/pandoc-fignos/default.nix30
-rw-r--r--pkgs/tools/misc/pandoc-secnos/default.nix34
-rw-r--r--pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch39
-rw-r--r--pkgs/tools/misc/pandoc-tablenos/default.nix30
-rw-r--r--pkgs/tools/misc/partition-manager/default.nix10
-rw-r--r--pkgs/tools/misc/pcb2gcode/default.nix10
-rw-r--r--pkgs/tools/misc/pferd/default.nix4
-rw-r--r--pkgs/tools/misc/pls/default.nix38
-rw-r--r--pkgs/tools/misc/pre-commit/default.nix4
-rw-r--r--pkgs/tools/misc/qdl/default.nix2
-rw-r--r--pkgs/tools/misc/qflipper/default.nix15
-rw-r--r--pkgs/tools/misc/recutils/default.nix9
-rw-r--r--pkgs/tools/misc/rust-motd/default.nix8
-rw-r--r--pkgs/tools/misc/snapper/default.nix4
-rw-r--r--pkgs/tools/misc/umlet/default.nix16
-rw-r--r--pkgs/tools/misc/upterm/default.nix11
-rw-r--r--pkgs/tools/misc/usbimager/default.nix47
-rw-r--r--pkgs/tools/misc/vector/default.nix8
-rw-r--r--pkgs/tools/misc/vial/default.nix4
-rw-r--r--pkgs/tools/misc/wakatime/default.nix1
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix5
-rw-r--r--pkgs/tools/misc/zsh-autoenv/default.nix1
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix6
-rw-r--r--pkgs/tools/networking/aircrack-ng/default.nix4
-rw-r--r--pkgs/tools/networking/brook/default.nix4
-rw-r--r--pkgs/tools/networking/cadaver/default.nix4
-rw-r--r--pkgs/tools/networking/cmst/default.nix11
-rw-r--r--pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch30
-rw-r--r--pkgs/tools/networking/curl/default.nix20
-rw-r--r--pkgs/tools/networking/darkstat/default.nix11
-rw-r--r--pkgs/tools/networking/getmail6/default.nix5
-rw-r--r--pkgs/tools/networking/godns/default.nix8
-rw-r--r--pkgs/tools/networking/httpie/strip-venv.patch22
-rw-r--r--pkgs/tools/networking/minio-client/default.nix10
-rw-r--r--pkgs/tools/networking/mozillavpn/default.nix6
-rw-r--r--pkgs/tools/networking/netavark/default.nix6
-rw-r--r--pkgs/tools/networking/netcat-openbsd/default.nix54
-rw-r--r--pkgs/tools/networking/networkmanager/sstp/default.nix52
-rw-r--r--pkgs/tools/networking/obfs4/default.nix1
-rw-r--r--pkgs/tools/networking/ooniprobe-cli/default.nix1
-rw-r--r--pkgs/tools/networking/p2p/tahoe-lafs/default.nix3
-rw-r--r--pkgs/tools/networking/pssh/default.nix11
-rw-r--r--pkgs/tools/networking/py-wmi-client/default.nix25
-rw-r--r--pkgs/tools/networking/s3cmd/default.nix4
-rw-r--r--pkgs/tools/networking/samplicator/default.nix1
-rw-r--r--pkgs/tools/networking/slack-cli/default.nix1
-rw-r--r--pkgs/tools/networking/tgt/default.nix4
-rw-r--r--pkgs/tools/networking/tinc/default.nix1
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix4
-rw-r--r--pkgs/tools/nix/nixos-generators/default.nix1
-rw-r--r--pkgs/tools/package-management/cargo-edit/default.nix6
-rw-r--r--pkgs/tools/package-management/morph/default.nix13
-rw-r--r--pkgs/tools/package-management/nix/default.nix6
-rw-r--r--pkgs/tools/security/age-plugin-yubikey/default.nix13
-rw-r--r--pkgs/tools/security/bao/default.nix25
-rw-r--r--pkgs/tools/security/bash-supergenpass/default.nix5
-rw-r--r--pkgs/tools/security/cliam/default.nix48
-rw-r--r--pkgs/tools/security/cryptomator/default.nix14
-rw-r--r--pkgs/tools/security/dieharder/default.nix31
-rw-r--r--pkgs/tools/security/dieharder/stdint.patch10
-rw-r--r--pkgs/tools/security/dirmngr/default.nix18
-rw-r--r--pkgs/tools/security/ecdsautils/default.nix15
-rw-r--r--pkgs/tools/security/erosmb/default.nix47
-rw-r--r--pkgs/tools/security/evtx/default.nix31
-rw-r--r--pkgs/tools/security/exploitdb/default.nix6
-rw-r--r--pkgs/tools/security/fulcio/default.nix6
-rw-r--r--pkgs/tools/security/fwbuilder/default.nix17
-rw-r--r--pkgs/tools/security/gopass/default.nix6
-rw-r--r--pkgs/tools/security/grype/default.nix6
-rw-r--r--pkgs/tools/security/hashdeep/default.nix13
-rw-r--r--pkgs/tools/security/hfinger/default.nix2
-rw-r--r--pkgs/tools/security/jadx/default.nix6
-rw-r--r--pkgs/tools/security/jwt-cli/default.nix6
-rw-r--r--pkgs/tools/security/kube-hunter/default.nix6
-rw-r--r--pkgs/tools/security/medusa/default.nix12
-rw-r--r--pkgs/tools/security/melt/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock54
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix66
-rw-r--r--pkgs/tools/security/naabu/default.nix6
-rw-r--r--pkgs/tools/security/ncrack/default.nix12
-rw-r--r--pkgs/tools/security/neopg/default.nix49
-rw-r--r--pkgs/tools/security/nmap/default.nix24
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rwxr-xr-xpkgs/tools/security/oath-toolkit/update.sh2
-rw-r--r--pkgs/tools/security/pass/extensions/import.nix2
-rw-r--r--pkgs/tools/security/pass/extensions/otp.nix6
-rw-r--r--pkgs/tools/security/plasma-pass/default.nix4
-rw-r--r--pkgs/tools/security/rustscan/default.nix2
-rw-r--r--pkgs/tools/security/scorecard/default.nix30
-rw-r--r--pkgs/tools/security/secp256k1/default.nix2
-rw-r--r--pkgs/tools/security/sequoia/default.nix1
-rw-r--r--pkgs/tools/security/sops/default.nix8
-rw-r--r--pkgs/tools/security/step-ca/default.nix5
-rw-r--r--pkgs/tools/security/swaggerhole/default.nix37
-rw-r--r--pkgs/tools/security/swtpm/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix14
-rw-r--r--pkgs/tools/security/trueseeing/default.nix44
-rw-r--r--pkgs/tools/security/vault/default.nix6
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix17
-rw-r--r--pkgs/tools/security/wapiti/default.nix8
-rw-r--r--pkgs/tools/security/yersinia/default.nix54
-rw-r--r--pkgs/tools/security/yubihsm-connector/default.nix40
-rw-r--r--pkgs/tools/security/yubihsm-connector/lockfile-fix.patch115
-rw-r--r--pkgs/tools/security/yubihsm-shell/default.nix59
-rw-r--r--pkgs/tools/security/yubikey-agent/default.nix6
-rw-r--r--pkgs/tools/security/yubikey-touch-detector/default.nix2
-rw-r--r--pkgs/tools/security/zkar/default.nix25
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix23
-rw-r--r--pkgs/tools/system/collectd/default.nix3
-rw-r--r--pkgs/tools/system/freeipmi/default.nix7
-rw-r--r--pkgs/tools/system/gohai/default.nix34
-rw-r--r--pkgs/tools/system/gohai/deps.nix30
-rw-r--r--pkgs/tools/system/illum/default.nix10
-rw-r--r--pkgs/tools/system/ipmitool/default.nix7
-rw-r--r--pkgs/tools/system/netdata/default.nix5
-rw-r--r--pkgs/tools/system/nkeys/default.nix1
-rw-r--r--pkgs/tools/system/ps_mem/default.nix8
-rw-r--r--pkgs/tools/system/psensor/default.nix2
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/runitor/default.nix52
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix4
-rw-r--r--pkgs/tools/system/taskspooler/default.nix5
-rw-r--r--pkgs/tools/text/bashblog/default.nix4
-rw-r--r--pkgs/tools/text/cidrgrep/default.nix25
-rw-r--r--pkgs/tools/text/codesearch/default.nix14
-rw-r--r--pkgs/tools/text/discount/default.nix1
-rw-r--r--pkgs/tools/text/gtranslator/default.nix20
-rw-r--r--pkgs/tools/text/opencc/default.nix4
-rw-r--r--pkgs/tools/text/replace/default.nix3
-rw-r--r--pkgs/tools/text/rs/default.nix22
-rw-r--r--pkgs/tools/text/shfmt/default.nix6
-rw-r--r--pkgs/tools/text/sift/default.nix10
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--pkgs/tools/text/xml/xpf/default.nix21
-rw-r--r--pkgs/tools/typesetting/pdftk/legacy.nix44
-rw-r--r--pkgs/tools/typesetting/sile/default.nix5
-rw-r--r--pkgs/tools/typesetting/soupault/default.nix24
-rw-r--r--pkgs/tools/video/svt-av1/default.nix5
-rw-r--r--pkgs/tools/virtualization/govc/default.nix18
-rw-r--r--pkgs/tools/virtualization/kubevirt/default.nix53
-rw-r--r--pkgs/tools/virtualization/lxd-image-server/default.nix3
-rw-r--r--pkgs/tools/virtualization/ovftool/default.nix186
-rw-r--r--pkgs/tools/wayland/kanshi/default.nix7
-rw-r--r--pkgs/tools/wayland/oguri/default.nix4
-rw-r--r--pkgs/tools/wayland/slurp/default.nix3
-rw-r--r--pkgs/tools/wayland/swaykbdd/default.nix1
-rw-r--r--pkgs/tools/wayland/wayland-proxy-virtwl/default.nix5
-rw-r--r--pkgs/tools/wayland/wayland-utils/default.nix1
-rw-r--r--pkgs/tools/wayland/wdomirror/default.nix15
-rw-r--r--pkgs/tools/wayland/wev/default.nix4
-rw-r--r--pkgs/tools/wayland/wl-clipboard-x11/default.nix4
-rw-r--r--pkgs/tools/wayland/wl-clipboard/default.nix7
-rw-r--r--pkgs/tools/wayland/wl-color-picker/default.nix3
-rw-r--r--pkgs/tools/wayland/wl-gammactl/default.nix5
-rw-r--r--pkgs/tools/wayland/wl-mirror/default.nix8
-rw-r--r--pkgs/tools/wayland/wlogout/default.nix8
-rw-r--r--pkgs/tools/wayland/wlr-randr/default.nix1
-rw-r--r--pkgs/tools/wayland/wlrctl/default.nix8
-rw-r--r--pkgs/tools/wayland/wlsunset/default.nix4
-rw-r--r--pkgs/tools/wayland/wob/default.nix4
-rw-r--r--pkgs/tools/wayland/wshowkeys/default.nix1
-rw-r--r--pkgs/tools/wayland/wtype/default.nix1
-rw-r--r--pkgs/tools/wayland/ydotool/default.nix1
-rw-r--r--pkgs/top-level/aliases.nix40
-rw-r--r--pkgs/top-level/all-packages.nix706
-rw-r--r--pkgs/top-level/config.nix19
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/linux-kernels.nix5
-rw-r--r--pkgs/top-level/lua-packages.nix12
-rw-r--r--pkgs/top-level/metrics.nix3
-rw-r--r--pkgs/top-level/ocaml-packages.nix7
-rw-r--r--pkgs/top-level/perl-packages.nix52
-rw-r--r--pkgs/top-level/php-packages.nix196
-rw-r--r--pkgs/top-level/python-aliases.nix4
-rw-r--r--pkgs/top-level/python-packages.nix132
-rw-r--r--pkgs/top-level/qt5-packages.nix6
-rw-r--r--pkgs/top-level/release-haskell.nix5
-rw-r--r--pkgs/top-level/release-lib.nix2
2127 files changed, 43399 insertions, 33644 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 28bfe7c1fd55b..00c8dabe918ff 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -192,8 +192,8 @@
 /nixos/tests/knot.nix @mweinelt
 
 # Dhall
-/pkgs/development/dhall-modules      @Gabriel439 @Profpatsch @ehmry
-/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch @ehmry
+/pkgs/development/dhall-modules      @Gabriella439 @Profpatsch @ehmry
+/pkgs/development/interpreters/dhall @Gabriella439 @Profpatsch @ehmry
 
 # Idris
 /pkgs/development/idris-modules @Infinisil
diff --git a/.github/ISSUE_TEMPLATE/build_failure.md b/.github/ISSUE_TEMPLATE/build_failure.md
new file mode 100644
index 0000000000000..7e57b2e208a57
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/build_failure.md
@@ -0,0 +1,34 @@
+---
+name: Build failure
+about: Create a report to help us improve
+title: ''
+labels: '0.kind: build failure'
+assignees: ''
+
+---
+
+### Steps To Reproduce
+Steps to reproduce the behavior:
+1. build *X*
+
+### Build log
+```
+log here if short otherwise a link to a gist
+```
+
+### Additional context
+Add any other context about the problem here.
+
+### Notify maintainers
+<!--
+Please @ people who are in the `meta.maintainers` list of the offending package or module.
+If in doubt, check `git blame` for whoever last touched something.
+-->
+
+### Metadata
+Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
+
+```console
+[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
+output here
+```
diff --git a/doc/builders/testers.chapter.md b/doc/builders/testers.chapter.md
index 2c30c8bd240e1..c6fb71de01807 100644
--- a/doc/builders/testers.chapter.md
+++ b/doc/builders/testers.chapter.md
@@ -80,3 +80,49 @@ tests.fetchgit = invalidateFetcherByDrvHash fetchgit {
   sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
 };
 ```
+
+## `nixosTest` {#tester-nixosTest}
+
+Run a NixOS VM network test using this evaluation of Nixpkgs.
+
+NOTE: This function is primarily for external use. NixOS itself uses `make-test-python.nix` directly. Packages defined in Nixpkgs [reuse NixOS tests via `nixosTests`, plural](#ssec-nixos-tests-linking).
+
+It is mostly equivalent to the function `import ./make-test-python.nix` from the
+[NixOS manual](https://nixos.org/nixos/manual/index.html#sec-nixos-tests),
+except that the current application of Nixpkgs (`pkgs`) will be used, instead of
+letting NixOS invoke Nixpkgs anew.
+
+If a test machine needs to set NixOS options under `nixpkgs`, it must set only the
+`nixpkgs.pkgs` option.
+
+### Parameter
+
+A [NixOS VM test network](https://nixos.org/nixos/manual/index.html#sec-nixos-tests), or path to it. Example:
+
+```nix
+{
+  name = "my-test";
+  nodes = {
+    machine1 = { lib, pkgs, nodes, ... }: {
+      environment.systemPackages = [ pkgs.hello ];
+      services.foo.enable = true;
+    };
+    # machine2 = ...;
+  };
+  testScript = ''
+    start_all()
+    machine1.wait_for_unit("foo.service")
+    machine1.succeed("hello | foo-send")
+  '';
+}
+```
+
+### Result
+
+A derivation that runs the VM test.
+
+Notable attributes:
+
+ * `nodes`: the evaluated NixOS configurations. Useful for debugging and exploring the configuration.
+
+ * `driverInteractive`: a script that launches an interactive Python session in the context of the `testScript`.
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 693ea016e0a55..fe28f94c069d3 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -288,7 +288,7 @@ self: super: {
         ps: with ps; [
           pyflakes
           pytest
-          python-language-server
+          black
         ]
       ))
 
diff --git a/doc/stdenv/meta.chapter.md b/doc/stdenv/meta.chapter.md
index d3e1dd5b27d82..c1bb3f8863fc4 100644
--- a/doc/stdenv/meta.chapter.md
+++ b/doc/stdenv/meta.chapter.md
@@ -175,6 +175,40 @@ The NixOS tests are available as `nixosTests` in parameters of derivations. For
 
 NixOS tests run in a VM, so they are slower than regular package tests. For more information see [NixOS module tests](https://nixos.org/manual/nixos/stable/#sec-nixos-tests).
 
+Alternatively, you can specify other derivations as tests. You can make use of
+the optional parameter to inject the correct package without
+relying on non-local definitions, even in the presence of `overrideAttrs`.
+Here that's `finalAttrs.finalPackage`, but you could choose a different name if
+`finalAttrs` already exists in your scope.
+
+`(mypkg.overrideAttrs f).passthru.tests` will be as expected, as long as the
+definition of `tests` does not rely on the original `mypkg` or overrides it in
+all places.
+
+```nix
+# my-package/default.nix
+{ stdenv, callPackage }:
+stdenv.mkDerivation (finalAttrs: {
+  # ...
+  passthru.tests.example = callPackage ./example.nix { my-package = finalAttrs.finalPackage; };
+})
+```
+
+```nix
+# my-package/example.nix
+{ runCommand, lib, my-package, ... }:
+runCommand "my-package-test" {
+  nativeBuildInputs = [ my-package ];
+  src = lib.sources.sourcesByRegex ./. [ ".*.in" ".*.expected" ];
+} ''
+  my-package --help
+  my-package <example.in >example.actual
+  diff -U3 --color=auto example.expected example.actual
+  mkdir $out
+''
+```
+
+
 ### `timeout` {#var-meta-timeout}
 
 A timeout (in seconds) for building the derivation. If the derivation takes longer than this time to build, it can fail due to breaking the timeout. However, all computers do not have the same computing power, hence some builders may decide to apply a multiplicative factor to this value. When filling this value in, try to keep it approximately consistent with other values already present in `nixpkgs`.
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 40f295b178bbd..d5d27cbf0863e 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -317,6 +317,60 @@ The script will be usually run from the root of the Nixpkgs repository but you s
 
 For information about how to run the updates, execute `nix-shell maintainers/scripts/update.nix`.
 
+### Recursive attributes in `mkDerivation`
+
+If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example:
+
+```nix
+mkDerivation (finalAttrs: {
+  pname = "hello";
+  withFeature = true;
+  configureFlags =
+    lib.optionals finalAttrs.withFeature ["--with-feature"];
+})
+```
+
+Note that this does not use the `rec` keyword to reuse `withFeature` in `configureFlags`.
+The `rec` keyword works at the syntax level and is unaware of overriding.
+
+Instead, the definition references `finalAttrs`, allowing users to change `withFeature`
+consistently with `overrideAttrs`.
+
+`finalAttrs` also contains the attribute `finalPackage`, which includes the output paths, etc.
+
+Let's look at a more elaborate example to understand the differences between
+various bindings:
+
+```nix
+# `pkg` is the _original_ definition (for illustration purposes)
+let pkg =
+  mkDerivation (finalAttrs: {
+    # ...
+
+    # An example attribute
+    packages = [];
+
+    # `passthru.tests` is a commonly defined attribute.
+    passthru.tests.simple = f finalAttrs.finalPackage;
+
+    # An example of an attribute containing a function
+    passthru.appendPackages = packages':
+      finalAttrs.finalPackage.overrideAttrs (newSelf: super: {
+        packages = super.packages ++ packages';
+      });
+
+    # For illustration purposes; referenced as
+    # `(pkg.overrideAttrs(x)).finalAttrs` etc in the text below.
+    passthru.finalAttrs = finalAttrs;
+    passthru.original = pkg;
+  });
+in pkg
+```
+
+Unlike the `pkg` binding in the above example, the `finalAttrs` parameter always references the final attributes. For instance `(pkg.overrideAttrs(x)).finalAttrs.finalPackage` is identical to `pkg.overrideAttrs(x)`, whereas `(pkg.overrideAttrs(x)).original` is the same as the original `pkg`.
+
+See also the section about [`passthru.tests`](#var-meta-tests).
+
 ## Phases {#sec-stdenv-phases}
 
 `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.
diff --git a/doc/using/overrides.chapter.md b/doc/using/overrides.chapter.md
index 66e5103531a9a..a97a39354a9d8 100644
--- a/doc/using/overrides.chapter.md
+++ b/doc/using/overrides.chapter.md
@@ -39,14 +39,18 @@ The function `overrideAttrs` allows overriding the attribute set passed to a `st
 Example usage:
 
 ```nix
-helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
+helloWithDebug = pkgs.hello.overrideAttrs (finalAttrs: previousAttrs: {
   separateDebugInfo = true;
 });
 ```
 
 In the above example, the `separateDebugInfo` attribute is overridden to be true, thus building debug info for `helloWithDebug`, while all other attributes will be retained from the original `hello` package.
 
-The argument `oldAttrs` is conventionally used to refer to the attr set originally passed to `stdenv.mkDerivation`.
+The argument `previousAttrs` is conventionally used to refer to the attr set originally passed to `stdenv.mkDerivation`.
+
+The argument `finalAttrs` refers to the final attributes passed to `mkDerivation`, plus the `finalPackage` attribute which is equal to the result of `mkDerivation` or subsequent `overrideAttrs` calls.
+
+If only a one-argument function is written, the argument has the meaning of `previousAttrs`.
 
 ::: {.note}
 Note that `separateDebugInfo` is processed only by the `stdenv.mkDerivation` function, not the generated, raw Nix derivation. Thus, using `overrideDerivation` will not work in this case, as it overrides only the attributes of the final derivation. It is for this reason that `overrideAttrs` should be preferred in (almost) all cases to `overrideDerivation`, i.e. to allow using `stdenv.mkDerivation` to process input arguments, as well as the fact that it is easier to use (you can use the same attribute names you see in your Nix code, instead of the ones generated (e.g. `buildInputs` vs `nativeBuildInputs`), and it involves less typing).
diff --git a/lib/default.nix b/lib/default.nix
index 22eb5440c2824..e919509e724a5 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -11,9 +11,6 @@ let
     callLibs = file: import file { lib = self; };
   in {
 
-    # interacting with flakes
-    flakes = callLibs ./flakes.nix;
-
     # often used, or depending on very little
     trivial = callLibs ./trivial.nix;
     fixedPoints = callLibs ./fixed-points.nix;
@@ -62,7 +59,6 @@ let
     # linux kernel configuration
     kernel = callLibs ./kernel.nix;
 
-    inherit (self.flakes) callLocklessFlake;
     inherit (builtins) add addErrorContext attrNames concatLists
       deepSeq elem elemAt filter genericClosure genList getAttr
       hasAttr head isAttrs isBool isInt isList isString length
diff --git a/lib/flakes.nix b/lib/flakes.nix
deleted file mode 100644
index 4dc027b6c9b3e..0000000000000
--- a/lib/flakes.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib }:
-
-rec {
-
-  /* imports a flake.nix without acknowledging its lock file, useful for
-    referencing subflakes from a parent flake. The second argument allows
-    specifying the inputs of this flake.
-
-    Example:
-      callLocklessFlake {
-        path = ./directoryContainingFlake;
-        inputs = { inherit nixpkgs; };
-      }
-  */
-  callLocklessFlake = { path, inputs ? { } }:
-    let
-      self = { outPath = path; } //
-        ((import (path + "/flake.nix")).outputs (inputs // { self = self; }));
-    in
-    self;
-
-}
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 2928d11d8b225..4fa6d6abc7a7c 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -285,6 +285,11 @@ in mkLicense lset) ({
     fullName = "DOC License";
   };
 
+  drl10 = {
+    spdxId = "DRL-1.0";
+    fullName = "Detection Rule License 1.0";
+  };
+
   eapl = {
     fullName = "EPSON AVASYS PUBLIC LICENSE";
     url = "https://avasys.jp/hp/menu000000700/hpg000000603.htm";
diff --git a/lib/strings.nix b/lib/strings.nix
index 328f64cf1b61d..295d98900e994 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -339,9 +339,10 @@ rec {
 
   /* Translate a Nix value into a shell variable declaration, with proper escaping.
 
-     Supported value types are strings (mapped to regular variables), lists of strings
-     (mapped to Bash-style arrays) and attribute sets of strings (mapped to Bash-style
-     associative arrays). Note that "strings" include string-coercible values like paths.
+     The value can be a string (mapped to a regular variable), a list of strings
+     (mapped to a Bash-style array) or an attribute set of strings (mapped to a
+     Bash-style associative array). Note that "string" includes string-coercible
+     values like paths or derivations.
 
      Strings are translated into POSIX sh-compatible code; lists and attribute sets
      assume a shell that understands Bash syntax (e.g. Bash or ZSH).
@@ -356,7 +357,7 @@ rec {
   */
   toShellVar = name: value:
     lib.throwIfNot (isValidPosixName name) "toShellVar: ${name} is not a valid shell variable name" (
-    if isAttrs value then
+    if isAttrs value && ! isCoercibleToString value then
       "declare -A ${name}=(${
         concatStringsSep " " (lib.mapAttrsToList (n: v:
           "[${escapeShellArg n}]=${escapeShellArg v}"
diff --git a/lib/systems/platforms.nix b/lib/systems/platforms.nix
index d65ff6487b7ad..72535372fc2bc 100644
--- a/lib/systems/platforms.nix
+++ b/lib/systems/platforms.nix
@@ -3,7 +3,7 @@
 # targetPlatform, etc) containing at least the minimal set of attrs
 # required (see types.parsedPlatform in lib/systems/parse.nix).  This
 # file takes an already-valid platform and further elaborates it with
-# optional fields such as linux-kernel, gcc, etc.
+# optional fields; currently these are: linux-kernel, gcc, and rustc.
 
 { lib }:
 rec {
@@ -568,5 +568,5 @@ rec {
 
     else if platform.parsed.cpu == lib.systems.parse.cpuTypes.powerpc64le then powernv
 
-    else pc;
+    else { };
 }
diff --git a/lib/tests/flakes/subflakeTest/flake.nix b/lib/tests/flakes/subflakeTest/flake.nix
deleted file mode 100644
index 3a8edd5e8c508..0000000000000
--- a/lib/tests/flakes/subflakeTest/flake.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{
-  outputs = { self, subflake, callLocklessFlake }: rec {
-    x = (callLocklessFlake {
-      path = subflake;
-      inputs = {};
-    }).subflakeOutput;
-  };
-}
diff --git a/lib/tests/flakes/subflakeTest/subflake/flake.nix b/lib/tests/flakes/subflakeTest/subflake/flake.nix
deleted file mode 100644
index 41566b52090cc..0000000000000
--- a/lib/tests/flakes/subflakeTest/subflake/flake.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  outputs = { self }: {
-    subflakeOutput = 1;
-  };
-}
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index faa7ee547f57a..1154edf1de628 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -22,16 +22,6 @@ in
 
 runTests {
 
-# FLAKES
-
-  testCallLocklessFlake = {
-    expr = callLocklessFlake {
-      path = ./flakes/subflakeTest;
-      inputs = { subflake = ./flakes/subflakeTest/subflake; inherit callLocklessFlake; };
-    };
-    expected = { x = 1; outPath = ./flakes/subflakeTest; };
-  };
-
 # TRIVIAL
 
   testId = {
@@ -269,6 +259,15 @@ runTests {
           strings
           possibly newlines
         '';
+        drv = {
+          outPath = "/drv";
+          foo = "ignored attribute";
+        };
+        path = /path;
+        stringable = {
+          __toString = _: "hello toString";
+          bar = "ignored attribute";
+        };
       }}
     '';
     expected = ''
@@ -277,6 +276,9 @@ runTests {
       declare -A assoc=(['with some']='strings
       possibly newlines
       ')
+      drv='/drv'
+      path='/path'
+      stringable='hello toString'
     '';
   };
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index a743e2cc06487..e5e5f37dadf19 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -513,15 +513,26 @@
     github = "alexnortung";
     githubId = 1552267;
   };
+  alexshpilkin = {
+    email = "ashpilkin@gmail.com";
+    github = "alexshpilkin";
+    githubId = 1010468;
+    keys = [{
+      longkeyid = "rsa4096/0x73E9AA114B3A894B";
+      fingerprint = "B595 D74D 6615 C010 469F  5A13 73E9 AA11 4B3A 894B";
+    }];
+    matrix = "@alexshpilkin:matrix.org";
+    name = "Alexander Shpilkin";
+  };
   alexvorobiev = {
     email = "alexander.vorobiev@gmail.com";
     github = "alexvorobiev";
     githubId = 782180;
     name = "Alex Vorobiev";
   };
-  alex-eyre = {
+  alexeyre = {
     email = "A.Eyre@sms.ed.ac.uk";
-    github = "alex-eyre";
+    github = "alexeyre";
     githubId = 38869148;
     name = "Alex Eyre";
   };
@@ -811,6 +822,16 @@
     githubId = 1771266;
     name = "Vo Anh Duy";
   };
+  Anillc = {
+    name = "Anillc";
+    email = "i@anillc.cn";
+    github = "Anillc";
+    githubId = 23411248;
+    keys = [{
+      longkeyid = "ed25519/0x0BE8A88F47B2145C";
+      fingerprint = "6141 1E4F FE10 CE7B 2E14  CD76 0BE8 A88F 47B2 145C";
+    }];
+  };
   anirrudh = {
     email = "anik597@gmail.com";
     github = "anirrudh";
@@ -972,6 +993,12 @@
     githubId = 1118815;
     name = "Vikram Narayanan";
   };
+  armeenm = {
+    email = "mahdianarmeen@gmail.com";
+    github = "armeenm";
+    githubId = 29145250;
+    name = "Armeen Mahdian";
+  };
   armijnhemel = {
     email = "armijn@tjaldur.nl";
     github = "armijnhemel";
@@ -1409,6 +1436,12 @@
     githubId = 164148;
     name = "Ben Darwin";
   };
+  bdd = {
+    email = "bdd@mindcast.org";
+    github = "bdd";
+    githubId = 11135;
+    name = "Berk D. Demir";
+  };
   bdesham = {
     email = "benjamin@esham.io";
     github = "bdesham";
@@ -1511,6 +1544,12 @@
     githubId = 410028;
     name = "Tobias Bergkvist";
   };
+  berryp = {
+    email = "berryphillips@gmail.com";
+    github = "berryp";
+    githubId = 19911;
+    name = "Berry Phillips";
+  };
   betaboon = {
     email = "betaboon@0x80.ninja";
     github = "betaboon";
@@ -1565,6 +1604,12 @@
     githubId = 185443;
     name = "Alexey Lebedeff";
   };
+  binsky = {
+    email = "timo@binsky.org";
+    github = "binsky08";
+    githubId = 30630233;
+    name = "Timo Triebensky";
+  };
   bjg = {
     email = "bjg@gnu.org";
     name = "Brian Gough";
@@ -5017,6 +5062,12 @@
     githubId = 222664;
     name = "Matthew Leach";
   };
+  hexchen = {
+    email = "nix@lilwit.ch";
+    github = "hexchen";
+    githubId = 41522204;
+    name = "hexchen";
+  };
   hh = {
     email = "hh@m-labs.hk";
     github = "HarryMakes";
@@ -5681,7 +5732,7 @@
     githubId = 35612334;
   };
   jceb = {
-    name = "jceb";
+    name = "Jan Christoph Ebersbach";
     email = "jceb@e-jc.de";
     github = "jceb";
     githubId = 101593;
@@ -8754,10 +8805,10 @@
     githubId = 5047140;
     name = "Victor Collod";
   };
-  musfay = {
-    email = "musfay@protonmail.com";
-    github = "musfay";
-    githubId = 33374965;
+  muscaln = {
+    email = "muscaln@protonmail.com";
+    github = "muscaln";
+    githubId = 96225281;
     name = "Mustafa Çalışkan";
   };
   mupdt = {
@@ -8997,6 +9048,12 @@
     email = "nfjinjing@gmail.com";
     name = "Jinjing Wang";
   };
+  ngiger = {
+    email = "niklaus.giger@member.fsf.org";
+    github = "ngiger";
+    githubId = 265800;
+    name = "Niklaus Giger";
+  };
   nh2 = {
     email = "mail@nh2.me";
     matrix = "@nh2:matrix.org";
@@ -9521,8 +9578,8 @@
     githubId = 14816024;
     name = "oxalica";
     keys = [{
-      longkeyid = "rsa4096/0xCED392DE0C483D00";
-      fingerprint = "5CB0 E9E5 D5D5 71F5 7F54  0FEA CED3 92DE 0C48 3D00";
+      longkeyid = "ed25519/0x7571654CF88E31C2";
+      fingerprint = "F90F FD6D 585C 2BA1 F13D  E8A9 7571 654C F88E 31C2";
     }];
   };
   oxij = {
@@ -9644,6 +9701,12 @@
     githubId = 14935550;
     name = "Brad Pfannmuller";
   };
+  parras = {
+    email = "c@philipp-arras.de";
+    github = "phiadaarr";
+    githubId = 33826198;
+    name = "Philipp Arras";
+  };
   pashashocky = {
     email = "pashashocky@gmail.com";
     github = "pashashocky";
@@ -13288,6 +13351,12 @@
     githubId = 1771332;
     name = "László Vaskó";
   };
+  vlinkz = {
+    email = "vmfuentes64@gmail.com";
+    github = "vlinkz";
+    githubId = 20145996;
+    name = "Victor Fuentes";
+  };
   vlstill = {
     email = "xstill@fi.muni.cz";
     github = "vlstill";
@@ -13964,6 +14033,13 @@
     githubId = 6191421;
     name = "Edward d'Albon";
   };
+  zebreus = {
+    matrix = "@lennart:cicen.net";
+    email = "lennarteichhorn+nixpkgs@gmail.com";
+    github = "Zebreus";
+    githubId = 1557253;
+    name = "Lennart Eichhorn";
+  };
   zef = {
     email = "zef@zef.me";
     name = "Zef Hemel";
@@ -14199,6 +14275,12 @@
     github = "deifactor";
     githubId = 30192992;
   };
+  deinferno = {
+    name = "deinferno";
+    email = "14363193+deinferno@users.noreply.github.com";
+    github = "deinferno";
+    githubId = 14363193;
+  };
   fzakaria = {
     name = "Farid Zakaria";
     email = "farid.m.zakaria@gmail.com";
diff --git a/maintainers/scripts/haskell/hydra-report.hs b/maintainers/scripts/haskell/hydra-report.hs
index 360b9f2058de7..6f154d90f06f9 100755
--- a/maintainers/scripts/haskell/hydra-report.hs
+++ b/maintainers/scripts/haskell/hydra-report.hs
@@ -1,6 +1,6 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -p "haskellPackages.ghcWithPackages (p: [p.aeson p.req])"
-#! nix-shell -p hydra-unstable
+#! nix-shell -p hydra_unstable
 #! nix-shell -i runhaskell
 
 {-
diff --git a/maintainers/scripts/luarocks-packages.csv b/maintainers/scripts/luarocks-packages.csv
index 312aa0dad9223..e743675be505e 100644
--- a/maintainers/scripts/luarocks-packages.csv
+++ b/maintainers/scripts/luarocks-packages.csv
@@ -6,6 +6,7 @@ basexx,https://github.com/teto/basexx.git,,,,,
 binaryheap,https://github.com/Tieske/binaryheap.lua,,,,,vcunat
 busted,,,,,,
 cassowary,,,,,,marsam alerque
+cldr,,,,,,alerque
 compat53,,,,0.7-1,,vcunat
 cosmo,,,,,,marsam
 coxpcall,,,,1.17.0-1,,
@@ -14,6 +15,7 @@ cyrussasl,https://github.com/JorjBauer/lua-cyrussasl.git,,,,,
 digestif,https://github.com/astoff/digestif.git,,,0.2-1,lua5_3,
 dkjson,,,,,,
 fifo,,,,,,
+fluent,,,,,,alerque
 gitsigns.nvim,https://github.com/lewis6991/gitsigns.nvim.git,,,,lua5_1,
 http,,,,0.3-0,,vcunat
 inspect,,,,,,
@@ -22,6 +24,9 @@ ldoc,https://github.com/stevedonovan/LDoc.git,,,,,
 lgi,,,,,,
 linenoise,https://github.com/hoelzro/lua-linenoise.git,,,,,
 ljsyscall,,,,,lua5_1,lblasc
+lmathx,,,,,lua5_3,alexshpilkin
+lmpfrlib,,,,,lua5_3,alexshpilkin
+loadkit,,,,,,alerque
 lpeg,,,,,,vyp
 lpeg_patterns,,,,,,
 lpeglabel,,,,,,
@@ -84,4 +89,5 @@ say,https://github.com/Olivine-Labs/say.git,,,,,
 std._debug,https://github.com/lua-stdlib/_debug.git,,,,,
 std.normalize,https://github.com/lua-stdlib/normalize.git,,,,,
 stdlib,,,,41.2.2,,vyp
+tl,,,,,,mephistophiles
 vstruct,https://github.com/ToxicFrog/vstruct.git,,,,,
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py
index b24d75a6b4d0d..55eda3c7d45d7 100644
--- a/maintainers/scripts/pluginupdate.py
+++ b/maintainers/scripts/pluginupdate.py
@@ -311,6 +311,16 @@ def load_plugins_from_csv(config: FetchConfig, input_file: Path,) -> List[Plugin
 
     return plugins
 
+def run_nix_expr(expr):
+    with CleanEnvironment():
+        cmd = ["nix", "eval", "--extra-experimental-features",
+                "nix-command", "--impure", "--json", "--expr", expr]
+        log.debug("Running command %s", cmd)
+        out = subprocess.check_output(cmd)
+    data = json.loads(out)
+    return data
+
+
 class Editor:
     """The configuration of the update script."""
 
@@ -333,13 +343,9 @@ class Editor:
         self.deprecated = deprecated or root.joinpath("deprecated.json")
         self.cache_file = cache_file or f"{name}-plugin-cache.json"
 
-    def get_current_plugins(editor) -> List[Plugin]:
+    def get_current_plugins(self) -> List[Plugin]:
         """To fill the cache"""
-        with CleanEnvironment():
-            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)
+        data = run_nix_expr(self.get_plugins)
         plugins = []
         for name, attr in data.items():
             print("get_current_plugins: name %s" % name)
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 26f0f1d48d46f..8b21f98409ef1 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -445,6 +445,19 @@ with lib.maintainers; {
     enableFeatureFreezePing = true;
   };
 
+  numtide = {
+    members = [
+      mic92
+      flokli
+      jfroche
+      tazjin
+      zimbatm
+    ];
+    enableFeatureFreezePing = true;
+    scope = "Group registration for Numtide team members who collectively maintain packages.";
+    shortName = "Numtide team";
+  };
+
   openstack = {
     members = [
       emilytrau
diff --git a/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml b/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
index 525531a478135..024a24379dd6d 100644
--- a/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
+++ b/nixos/doc/manual/from_md/installation/installing-from-other-distro.section.xml
@@ -248,7 +248,7 @@ $ nix-env -p /nix/var/nix/profiles/system -f '&lt;nixpkgs/nixos&gt;' -I nixos-co
         (since your Nix install was probably single user):
       </para>
       <programlisting>
-$ sudo chown -R 0.0 /nix
+$ sudo chown -R 0:0 /nix
 </programlisting>
     </listitem>
     <listitem>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index b61a0268dee2c..d9ebbe74d54fa 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -569,8 +569,9 @@
       <listitem>
         <para>
           The NixOS VM test framework,
-          <literal>pkgs.nixosTest</literal>/<literal>make-test-python.nix</literal>,
-          now requires detaching commands such as
+          <literal>pkgs.nixosTest</literal>/<literal>make-test-python.nix</literal>
+          (<literal>pkgs.testers.nixosTest</literal> since 22.05), now
+          requires detaching commands such as
           <literal>succeed(&quot;foo &amp;&quot;)</literal> and
           <literal>succeed(&quot;foo | xclip -i&quot;)</literal> to
           close stdout. This can be done with a redirect such as
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 1e3f269dafb28..7f5da547805cc 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -45,6 +45,33 @@
       </listitem>
       <listitem>
         <para>
+          <literal>stdenv.mkDerivation</literal> now supports a
+          self-referencing <literal>finalAttrs:</literal> parameter
+          containing the final <literal>mkDerivation</literal> arguments
+          including overrides. <literal>drv.overrideAttrs</literal> now
+          supports two parameters
+          <literal>finalAttrs: previousAttrs:</literal>. This allows
+          packaging configuration to be overridden in a consistent
+          manner by providing an alternative to
+          <literal>rec {}</literal> syntax.
+        </para>
+        <para>
+          Additionally, <literal>passthru</literal> can now reference
+          <literal>finalAttrs.finalPackage</literal> containing the
+          final package, including attributes such as the output paths
+          and <literal>overrideAttrs</literal>.
+        </para>
+        <para>
+          New language integrations can be simplified by overriding a
+          <quote>prototype</quote> package containing the
+          language-specific logic. This removes the need for a extra
+          layer of overriding for the <quote>generic builder</quote>
+          arguments, thus removing a usability problem and source of
+          error.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           PHP 8.1 is now available
         </para>
       </listitem>
@@ -124,6 +151,14 @@
           default.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The GNOME and Plasma installation CDs now use
+          <literal>pkgs.calamares</literal> and
+          <literal>pkgs.calamares-nixos-extensions</literal> to allow
+          users to easily install and set up NixOS with a GUI.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-new-services">
@@ -205,6 +240,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://snipeitapp.com">Snipe-IT</link>, a
+          free open source IT asset/license management system. Available
+          as
+          <link xlink:href="options.html#opt-services.snipe-it.enable">services.snipe-it</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>.
@@ -290,6 +333,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://upterm.dev">uptermd</link>, an
+          open-source solution for sharing terminal sessions instantly
+          over the public internet via secure tunnels. Available at
+          <link linkend="opt-services.uptermd.enable">services.uptermd</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
@@ -420,6 +471,12 @@
           <link xlink:href="options.html#opt-services.nifi.enable">services.nifi</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://kanidm.github.io/kanidm/stable/">kanidm</link>,
+          an identity management server written in Rust.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-incompatibilities">
@@ -842,6 +899,11 @@
           to the new location if the <literal>stateVersion</literal> is
           updated.
         </para>
+        <para>
+          As of Synapse 1.58.0, the old groups/communities feature has
+          been disabled by default. It will be completely removed with
+          Synapse 1.61.0.
+        </para>
       </listitem>
       <listitem>
         <para>
@@ -1121,6 +1183,16 @@
       </listitem>
       <listitem>
         <para>
+          <literal>teleport</literal> has been upgraded to major version
+          9. Please see upstream
+          <link xlink:href="https://goteleport.com/docs/setup/operations/upgrading/">upgrade
+          instructions</link> and
+          <link xlink:href="https://goteleport.com/docs/changelog/#900">release
+          notes</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           For <literal>pkgs.python3.pkgs.ipython</literal>, its direct
           dependency
           <literal>pkgs.python3.pkgs.matplotlib-inline</literal> (which
@@ -1402,6 +1474,16 @@
       </listitem>
       <listitem>
         <para>
+          <literal>pkgs.minetestclient_4</literal> and
+          <literal>pkgs.minetestserver_4</literal> have been removed, as
+          the last 4.x release was in 2018.
+          <literal>pkgs.minetestclient</literal> (equivalent to
+          <literal>pkgs.minetest</literal> ) and
+          <literal>pkgs.minetestserver</literal> can be used instead.
+        </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
@@ -1807,6 +1889,37 @@
       </listitem>
       <listitem>
         <para>
+          Mastodon now uses <literal>services.redis.servers</literal> to
+          start a new redis server, instead of using a global redis
+          server. This improves compatibility with other services that
+          use redis.
+        </para>
+        <para>
+          Note that this will recreate the redis database, although
+          according to the
+          <link xlink:href="https://docs.joinmastodon.org/admin/backups/">Mastodon
+          docs</link>, this is almost harmless:
+        </para>
+        <blockquote>
+          <para>
+            Losing the Redis database is almost harmless: The only
+            irrecoverable data will be the contents of the Sidekiq
+            queues and scheduled retries of previously failed jobs. The
+            home and list feeds are stored in Redis, but can be
+            regenerated with tootctl.
+          </para>
+        </blockquote>
+        <para>
+          If you do want to save the redis database, you can use the
+          following commands:
+        </para>
+        <programlisting language="bash">
+redis-cli save
+cp /var/lib/redis/dump.rdb &quot;/var/lib/redis-mastodon/dump.rdb&quot;
+</programlisting>
+      </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>
@@ -2235,6 +2348,14 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>phpPackages.box</literal> package has been
+          updated from 2.7.5 to 3.16.0. See the
+          <link xlink:href="https://github.com/box-project/box/blob/master/UPGRADE.md#from-27-to-30">upgrade
+          guide</link> for more details.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>zrepl</literal> package has been updated from
           0.4.0 to 0.5:
         </para>
@@ -2333,6 +2454,14 @@
       </listitem>
       <listitem>
         <para>
+          <literal>mercury</literal> was updated to 22.01.1, which has
+          some breaking changes
+          (<link xlink:href="https://dl.mercurylang.org/release/release-notes-22.01.html">Mercury
+          22.01 news</link>).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           xfsprogs was update to version 5.15, which enables inobtcount
           and bigtime by default on filesystem creation. Support for
           these features was added in kernel 5.10 and deemed stable in
@@ -2425,6 +2554,21 @@
           hosts.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          The option
+          <link xlink:href="options.html#opt-networking.useDHCP">networking.useDHCP</link>
+          isn’t deprecated anymore. When using
+          <link xlink:href="options.html#opt-networking.useNetworkd"><literal>systemd-networkd</literal></link>,
+          a generic <literal>.network</literal>-unit is added which
+          enables DHCP for each interface matching
+          <literal>en*</literal>, <literal>eth*</literal> or
+          <literal>wl*</literal> with priority 99 (which means that it
+          doesn’t have any effect if such an interface is matched by a
+          <literal>.network-</literal>unit with a lower priority). In
+          case of scripted networking, no behavior was changed.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/installation/installing-from-other-distro.section.md b/nixos/doc/manual/installation/installing-from-other-distro.section.md
index d9060eb89c372..fa8806f791d52 100644
--- a/nixos/doc/manual/installation/installing-from-other-distro.section.md
+++ b/nixos/doc/manual/installation/installing-from-other-distro.section.md
@@ -177,7 +177,7 @@ The first steps to all these are the same:
     was probably single user):
 
     ```ShellSession
-    $ sudo chown -R 0.0 /nix
+    $ sudo chown -R 0:0 /nix
     ```
 
 1.  Set up the `/etc/NIXOS` and `/etc/NIXOS_LUSTRATE` files:
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 310d32cfdd721..e673d6721a38c 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -166,7 +166,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
 
-- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires detaching commands such as `succeed("foo &")` and `succeed("foo | xclip -i")` to close stdout.
+- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix` (`pkgs.testers.nixosTest` since 22.05), now requires detaching commands such as `succeed("foo &")` and `succeed("foo | xclip -i")` to close stdout.
   This can be done with a redirect such as `succeed("foo >&2 &")`. This breaking change was necessitated by a race condition causing tests to fail or hang.
   It applies to all methods that invoke commands on the nodes, including `execute`, `succeed`, `fail`, `wait_until_succeeds`, `wait_until_fails`.
 
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index dcfabf01ff3dc..acead4120487e 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -17,6 +17,21 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - GNOME has been upgraded to 42. Please take a look at their [Release Notes](https://release.gnome.org/42/) for details. Notably, it replaces gedit with GNOME Text Editor, GNOME Terminal with GNOME Console (formerly King’s Cross), and GNOME Screenshot with a tool built into the Shell.
 
+- `stdenv.mkDerivation` now supports a self-referencing `finalAttrs:` parameter
+  containing the final `mkDerivation` arguments including overrides.
+  `drv.overrideAttrs` now supports two parameters `finalAttrs: previousAttrs:`.
+  This allows packaging configuration to be overridden in a consistent manner by
+  providing an alternative to `rec {}` syntax.
+
+  Additionally, `passthru` can now reference `finalAttrs.finalPackage` containing
+  the final package, including attributes such as the output paths and
+  `overrideAttrs`.
+
+  New language integrations can be simplified by overriding a "prototype"
+  package containing the language-specific logic. This removes the need for a
+  extra layer of overriding for the "generic builder" arguments, thus removing a
+  usability problem and source of error.
+
 - PHP 8.1 is now available
 
 - 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).
@@ -38,6 +53,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The default GHC version has been updated from 8.10.7 to 9.0.2. `pkgs.haskellPackages` and `pkgs.ghc` will now use this version by default.
 
+- The GNOME and Plasma installation CDs now use `pkgs.calamares` and `pkgs.calamares-nixos-extensions` to allow users to easily install and set up NixOS with a GUI.
+
 ## 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).
@@ -60,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [ergochat](https://ergo.chat), a modern IRC with IRCv3 features. Available as [services.ergochat](options.html#opt-services.ergochat.enable).
 
+- [Snipe-IT](https://snipeitapp.com), a free open source IT asset/license management system. Available as [services.snipe-it](options.html#opt-services.snipe-it.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).
 
 - [pgadmin4](https://github.com/postgres/pgadmin4), an admin interface for the PostgreSQL database. Available at [services.pgadmin](options.html#opt-services.pgadmin.enable).
@@ -82,6 +101,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [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).
 
+- [uptermd](https://upterm.dev), an open-source solution for sharing terminal sessions instantly over the public internet via secure tunnels. Available at [services.uptermd](#opt-services.uptermd.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).
@@ -118,6 +139,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [nifi](https://nifi.apache.org), an easy to use, powerful, and reliable system to process and distribute data. Available as [services.nifi](options.html#opt-services.nifi.enable).
 
+- [kanidm](https://kanidm.github.io/kanidm/stable/), an identity management server written in Rust.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
@@ -345,6 +368,8 @@ In addition to numerous new and upgraded packages, this release has the followin
   `media_store_path` was changed from `${dataDir}/media` to `${dataDir}/media_store` if `system.stateVersion` is at least `22.05`. Files will need to be manually moved to the new
   location if the `stateVersion` is updated.
 
+  As of Synapse 1.58.0, the old groups/communities feature has been disabled by default. It will be completely removed with Synapse 1.61.0.
+
 - The Keycloak package (`pkgs.keycloak`) has been switched from the
   Wildfly version, which will soon be deprecated, to the Quarkus based
   version. The Keycloak service (`services.keycloak`) has been updated
@@ -467,6 +492,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - 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.
 
+- `teleport` has been upgraded to major version 9. Please see upstream [upgrade instructions](https://goteleport.com/docs/setup/operations/upgrading/) and [release notes](https://goteleport.com/docs/changelog/#900).
+
 - For `pkgs.python3.pkgs.ipython`, its direct dependency `pkgs.python3.pkgs.matplotlib-inline`
   (which is really an adapter to integrate matplotlib in ipython if it is installed) does
   not depend on `pkgs.python3.pkgs.matplotlib` anymore.
@@ -550,6 +577,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `pkgs.pgadmin` now refers to `pkgs.pgadmin4`. `pgadmin3` has been removed.
 
+- `pkgs.minetestclient_4` and `pkgs.minetestserver_4` have been removed, as the last 4.x release was in 2018. `pkgs.minetestclient` (equivalent to `pkgs.minetest` ) and `pkgs.minetestserver` can be used instead.
+
 - `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,
@@ -672,6 +701,20 @@ In addition to numerous new and upgraded packages, this release has the followin
   By default auto-upgrade will now run immediately if it would have been triggered at least
   once during the time when the timer was inactive.
 
+- Mastodon now uses `services.redis.servers` to start a new redis server, instead of using a global redis server. 
+  This improves compatibility with other services that use redis.
+  
+  Note that this will recreate the redis database, although according to the [Mastodon docs](https://docs.joinmastodon.org/admin/backups/), 
+  this is almost harmless:
+  > Losing the Redis database is almost harmless: The only irrecoverable data will be the contents of the Sidekiq queues and scheduled retries of previously failed jobs. 
+  >  The home and list feeds are stored in Redis, but can be regenerated with tootctl.
+  
+  If you do want to save the redis database, you can use the following commands:
+  ```bash
+  redis-cli save
+  cp /var/lib/redis/dump.rdb "/var/lib/redis-mastodon/dump.rdb"
+  ```
+
 - 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
@@ -802,6 +845,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The `vscode-extensions.ionide.ionide-fsharp` package has been updated to 6.0.0 and now requires .NET 6.0.
 
+- The `phpPackages.box` package has been updated from 2.7.5 to 3.16.0. See the [upgrade guide](https://github.com/box-project/box/blob/master/UPGRADE.md#from-27-to-30) for more details.
+
 - 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.
@@ -831,6 +876,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The polkit service, available at `security.polkit.enable`, is now disabled by default. It will automatically be enabled through services and desktop environments as needed.
 
+- `mercury` was updated to 22.01.1, which has some breaking changes ([Mercury 22.01 news](https://dl.mercurylang.org/release/release-notes-22.01.html)).
+
 - xfsprogs was update to version 5.15, which enables inobtcount and bigtime by default on filesystem creation. Support for these features was added in kernel 5.10 and deemed stable in kernel 5.15.
   If you want to be able to mount XFS filesystems created with this release of xfsprogs on kernel releases older than 5.10, you need to format them with `mkfs.xfs -m bigtime=0 -m inobtcount=0`.
 
@@ -856,4 +903,11 @@ In addition to numerous new and upgraded packages, this release has the followin
   `true` starting with NixOS 22.11. Enable it explicitly if you need to control
   Snapserver remotely or connect streamig clients from other hosts.
 
+- The option [networking.useDHCP](options.html#opt-networking.useDHCP) isn't deprecated anymore.
+  When using [`systemd-networkd`](options.html#opt-networking.useNetworkd), a generic
+  `.network`-unit is added which enables DHCP for each interface matching `en*`, `eth*`
+  or `wl*` with priority 99 (which means that it doesn't have any effect if such an interface is matched
+  by a `.network-`unit with a lower priority). In case of scripted networking, no behavior
+  was changed.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/lib/build-vms.nix b/nixos/lib/build-vms.nix
index 05d9ce89dbdc3..18af49db17777 100644
--- a/nixos/lib/build-vms.nix
+++ b/nixos/lib/build-vms.nix
@@ -38,7 +38,7 @@ rec {
           { key = "no-revision";
             # Make the revision metadata constant, in order to avoid needless retesting.
             # The human version (e.g. 21.05-pre) is left as is, because it is useful
-            # for external modules that test with e.g. nixosTest and rely on that
+            # for external modules that test with e.g. testers.nixosTest and rely on that
             # version number.
             config.system.nixos.revision = mkForce "constant-nixos-revision";
           }
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index cd2bb2f9d4d4c..4ab3cf53045af 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -119,6 +119,7 @@ rec {
         passthru = passthru // {
           inherit nodes;
         };
+        meta.mainProgram = "nixos-test-driver";
       }
       ''
         mkdir -p $out/bin
diff --git a/nixos/maintainers/scripts/lxd/lxd-image.nix b/nixos/maintainers/scripts/lxd/lxd-image.nix
index c76b9fcc7f779..6aa3f2f558471 100644
--- a/nixos/maintainers/scripts/lxd/lxd-image.nix
+++ b/nixos/maintainers/scripts/lxd/lxd-image.nix
@@ -27,7 +27,7 @@ with lib;
   networking.useDHCP = false;
   networking.interfaces.eth0.useDHCP = true;
 
-  # As this is intended as a stadalone image, undo some of the minimal profile stuff
+  # As this is intended as a standalone image, undo some of the minimal profile stuff
   documentation.enable = true;
   documentation.nixos.enable = true;
   environment.noXlibs = false;
diff --git a/nixos/modules/hardware/all-firmware.nix b/nixos/modules/hardware/all-firmware.nix
index da2bc8ffef4b0..89a1217dfb313 100644
--- a/nixos/modules/hardware/all-firmware.nix
+++ b/nixos/modules/hardware/all-firmware.nix
@@ -83,7 +83,6 @@ in {
         broadcom-bt-firmware
         b43Firmware_5_1_138
         b43Firmware_6_30_163_46
-        b43FirmwareCutter
         xow_dongle-firmware
       ] ++ optionals pkgs.stdenv.hostPlatform.isx86 [
         facetimehd-calibration
diff --git a/nixos/modules/hardware/keyboard/uhk.nix b/nixos/modules/hardware/keyboard/uhk.nix
new file mode 100644
index 0000000000000..bf2d739c3a97e
--- /dev/null
+++ b/nixos/modules/hardware/keyboard/uhk.nix
@@ -0,0 +1,21 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.hardware.keyboard.uhk;
+in
+{
+  options.hardware.keyboard.uhk = {
+    enable = mkEnableOption ''
+    non-root access to the firmware of UHK keyboards.
+      You need it when you want to flash a new firmware on the keyboard.
+      Access to the keyboard is granted to users in the "input" group.
+      You may want to install the uhk-agent package.
+    '';
+
+  };
+
+  config = mkIf cfg.enable {
+    services.udev.packages = [ pkgs.uhk-udev-rules ];
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
index 618057618d0c3..3f92b779d60a2 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-base.nix
@@ -46,5 +46,5 @@ with lib;
     done
   '';
 
-  system.stateVersion = mkDefault "18.03";
+  system.stateVersion = lib.mkDefault lib.trivial.release;
 }
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
index fa19daf132800..0e4feba228234 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -35,22 +35,28 @@ with lib;
   # Enable sound in graphical iso's.
   hardware.pulseaudio.enable = true;
 
-  environment.systemPackages = [
+  # Spice guest additions
+  services.spice-vdagentd.enable = true;
+
+  # Enable plymouth
+  boot.plymouth.enable = true;
+
+  environment.defaultPackages = with pkgs; [
     # Include gparted for partitioning disks.
-    pkgs.gparted
+    gparted
 
     # Include some editors.
-    pkgs.vim
-    pkgs.bvi # binary editor
-    pkgs.joe
+    vim
+    nano
 
     # Include some version control tools.
-    pkgs.git
+    git
+    rsync
 
     # Firefox for reading the manual.
-    pkgs.firefox
+    firefox
 
-    pkgs.glxinfo
+    glxinfo
   ];
 
 }
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
new file mode 100644
index 0000000000000..95aeca1a928a6
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix
@@ -0,0 +1,59 @@
+# This module defines a NixOS installation CD that contains GNOME.
+
+{ pkgs, ... }:
+
+{
+  imports = [ ./installation-cd-graphical-calamares.nix ];
+
+  isoImage.edition = "gnome";
+
+  services.xserver.desktopManager.gnome = {
+    # Add Firefox and other tools useful for installation to the launcher
+    favoriteAppsOverride = ''
+      [org.gnome.shell]
+      favorite-apps=[ 'firefox.desktop', 'nixos-manual.desktop', 'org.gnome.Console.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop', 'io.calamares.calamares.desktop' ]
+    '';
+
+    # Override GNOME defaults to disable GNOME tour and disable suspend
+    extraGSettingsOverrides = ''
+      [org.gnome.shell]
+      welcome-dialog-last-shown-version='9999999999'
+
+      [org.gnome.settings-daemon.plugins.power]
+      sleep-inactive-ac-type='nothing'
+      sleep-inactive-battery-type='nothing'
+    '';
+
+    extraGSettingsOverridePackages = [ pkgs.gnome.gnome-settings-daemon ];
+
+    enable = true;
+  };
+
+  # Theme calamares with GNOME theme
+  qt5 = {
+    enable = true;
+    platformTheme = "gnome";
+  };
+
+  # Fix scaling for calamares on wayland
+  environment.variables = {
+    QT_QPA_PLATFORM = "$([[ $XDG_SESSION_TYPE = \"wayland\" ]] && echo \"wayland\")";
+  };
+
+  services.xserver.displayManager = {
+    gdm = {
+      enable = true;
+      # autoSuspend makes the machine automatically suspend after inactivity.
+      # It's possible someone could/try to ssh'd into the machine and obviously
+      # have issues because it's inactive.
+      # See:
+      # * https://github.com/NixOS/nixpkgs/pull/63790
+      # * https://gitlab.gnome.org/GNOME/gnome-control-center/issues/22
+      autoSuspend = false;
+    };
+    autoLogin = {
+      enable = true;
+      user = "nixos";
+    };
+  };
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix
new file mode 100644
index 0000000000000..a4c46d58c85a4
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix
@@ -0,0 +1,49 @@
+# This module defines a NixOS installation CD that contains X11 and
+# Plasma 5.
+
+{ pkgs, ... }:
+
+{
+  imports = [ ./installation-cd-graphical-calamares.nix ];
+
+  isoImage.edition = "plasma5";
+
+  services.xserver = {
+    desktopManager.plasma5 = {
+      enable = true;
+    };
+
+    # Automatically login as nixos.
+    displayManager = {
+      sddm.enable = true;
+      autoLogin = {
+        enable = true;
+        user = "nixos";
+      };
+    };
+  };
+
+  environment.systemPackages = with pkgs; [
+    # Graphical text editor
+    kate
+  ];
+
+  system.activationScripts.installerDesktop = let
+
+    # Comes from documentation.nix when xserver and nixos.enable are true.
+    manualDesktopFile = "/run/current-system/sw/share/applications/nixos-manual.desktop";
+
+    homeDir = "/home/nixos/";
+    desktopDir = homeDir + "Desktop/";
+
+  in ''
+    mkdir -p ${desktopDir}
+    chown nixos ${homeDir} ${desktopDir}
+
+    ln -sfT ${manualDesktopFile} ${desktopDir + "nixos-manual.desktop"}
+    ln -sfT ${pkgs.gparted}/share/applications/gparted.desktop ${desktopDir + "gparted.desktop"}
+    ln -sfT ${pkgs.konsole}/share/applications/org.kde.konsole.desktop ${desktopDir + "org.kde.konsole.desktop"}
+    ln -sfT ${pkgs.calamares-nixos}/share/applications/io.calamares.calamares.desktop ${desktopDir + "io.calamares.calamares.desktop"}
+  '';
+
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
new file mode 100644
index 0000000000000..8a6d30d1801a1
--- /dev/null
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-calamares.nix
@@ -0,0 +1,20 @@
+# This module adds the calamares installer to the basic graphical NixOS
+# installation CD.
+
+{ pkgs, ... }:
+let
+  calamares-nixos-autostart = pkgs.makeAutostartItem { name = "io.calamares.calamares"; package = pkgs.calamares-nixos; };
+in
+{
+  imports = [ ./installation-cd-graphical-base.nix ];
+
+  environment.systemPackages = with pkgs; [
+    # Calamares for graphical installation
+    libsForQt5.kpmcore
+    calamares-nixos
+    calamares-nixos-autostart
+    calamares-nixos-extensions
+    # Needed for calamares QML module packagechooserq
+    libsForQt5.full
+  ];
+}
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 303493741f3d0..573b31b439c2d 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
@@ -1,8 +1,6 @@
 # This module defines a NixOS installation CD that contains GNOME.
 
-{ lib, ... }:
-
-with lib;
+{ ... }:
 
 {
   imports = [ ./installation-cd-graphical-base.nix ];
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
index 098c2b2870b04..5c7617c9f8c1a 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix
@@ -1,9 +1,7 @@
 # This module defines a NixOS installation CD that contains X11 and
 # Plasma 5.
 
-{ config, lib, pkgs, ... }:
-
-with lib;
+{ pkgs, ... }:
 
 {
   imports = [ ./installation-cd-graphical-base.nix ];
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 860e240b43d4a..1eaa940afb1fc 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -369,10 +369,10 @@ let
     ${lib.optionalString (refindBinary != null) ''
     # GRUB apparently cannot do "chainloader" operations on "CD".
     if [ "\$root" != "cd0" ]; then
-      # Force root to be the FAT partition
-      # Otherwise it breaks rEFInd's boot
-      search --set=root --no-floppy --fs-uuid 1234-5678
       menuentry 'rEFInd' --class refind {
+        # Force root to be the FAT partition
+        # Otherwise it breaks rEFInd's boot
+        search --set=root --no-floppy --fs-uuid 1234-5678
         chainloader (\$root)/EFI/boot/${refindBinary}
       }
     fi
@@ -400,10 +400,8 @@ let
     #   dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
     ''
       mkdir ./contents && cd ./contents
-      cp -rp "${efiDir}"/EFI .
-      mkdir ./boot
-      cp -p "${config.boot.kernelPackages.kernel}/${config.system.boot.loader.kernelFile}" \
-        "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}" ./boot/
+      mkdir -p ./EFI/boot
+      cp -rp "${efiDir}"/EFI/boot/{grub.cfg,*.efi} ./EFI/boot
 
       # Rewrite dates for everything in the FS
       find . -exec touch --date=2000-01-01 {} +
@@ -421,11 +419,11 @@ let
       faketime "2000-01-01 00:00:00" mkfs.vfat -i 12345678 -n EFIBOOT "$out"
 
       # Force a fixed order in mcopy for better determinism, and avoid file globbing
-      for d in $(find EFI boot -type d | sort); do
+      for d in $(find EFI -type d | sort); do
         faketime "2000-01-01 00:00:00" mmd -i "$out" "::/$d"
       done
 
-      for f in $(find EFI boot -type f | sort); do
+      for f in $(find EFI -type f | sort); do
         mcopy -pvm -i "$out" "$f" "::/$f"
       done
 
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index fb5d3ba473255..b74ec838df42f 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -581,17 +581,19 @@ ${\join "", (map { "  $_\n" } (uniq @attrs))}}
 EOF
 
 sub generateNetworkingDhcpConfig {
+    # FIXME disable networking.useDHCP by default when switching to networkd.
     my $config = <<EOF;
-  # 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 = lib.mkDefault false;
+  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+  # (the default) this is the recommended approach. When using systemd-networkd it's
+  # still possible to use this option, but it's recommended to use it in conjunction
+  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
+  networking.useDHCP = lib.mkDefault true;
 EOF
 
     foreach my $path (glob "/sys/class/net/*") {
         my $dev = basename($path);
         if ($dev ne "lo") {
-            $config .= "  networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
+            $config .= "  # networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
         }
     }
 
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index bf5ec0f9690b0..04be272742ce1 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -34,7 +34,7 @@ let
     name = "nixos-generate-config";
     src = ./nixos-generate-config.pl;
     perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
-    detectvirt = "${pkgs.systemd}/bin/systemd-detect-virt";
+    detectvirt = "${config.systemd.package}/bin/systemd-detect-virt";
     btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
     inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
     xserverEnabled = config.services.xserver.enable;
@@ -177,6 +177,10 @@ in
         # users.users.jane = {
         #   isNormalUser = true;
         #   extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
+        #   packages = with pkgs; [
+        #     firefox
+        #     thunderbird
+        #   ];
         # };
 
         # List packages installed in system profile. To search, run:
@@ -184,7 +188,6 @@ in
         # environment.systemPackages = with pkgs; [
         #   vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
         #   wget
-        #   firefox
         # ];
 
         # Some programs need SUID wrappers, can be configured further or are
diff --git a/nixos/modules/misc/mandoc.nix b/nixos/modules/misc/mandoc.nix
index 3da60f2f8e65f..838f20876563a 100644
--- a/nixos/modules/misc/mandoc.nix
+++ b/nixos/modules/misc/mandoc.nix
@@ -53,7 +53,9 @@ in {
       # see: https://inbox.vuxu.org/mandoc-tech/20210906171231.GF83680@athene.usta.de/T/#e85f773c1781e3fef85562b2794f9cad7b2909a3c
       extraSetup = lib.mkIf config.documentation.man.generateCaches ''
         ${makewhatis} -T utf8 ${
-          lib.concatMapStringsSep " " (path: "\"$out/${path}\"") cfg.manPath
+          lib.concatMapStringsSep " " (path:
+            "$out/" + lib.escapeShellArg path
+          ) cfg.manPath
         }
       '';
     };
diff --git a/nixos/modules/misc/version.nix b/nixos/modules/misc/version.nix
index 931201ade2935..010acdb72f678 100644
--- a/nixos/modules/misc/version.nix
+++ b/nixos/modules/misc/version.nix
@@ -146,6 +146,15 @@ in
       "/etc/os-release".source = initrdRelease;
       "/etc/initrd-release".source = initrdRelease;
     };
+
+    # We have to use `warnings` because when warning in the default of the option
+    # the warning would also be shown when building the manual since the manual
+    # has to evaluate the default.
+    #
+    # TODO Remove this and drop the default of the option so people are forced to set it.
+    # Doing this also means fixing the comment in nixos/modules/testing/test-instrumentation.nix
+    warnings = lib.optional (options.system.stateVersion.highestPrio == (lib.mkOptionDefault { }).priority)
+      "system.stateVersion is not set, defaulting to ${config.system.stateVersion}. Read why this matters on https://nixos.org/manual/nixos/stable/options.html#opt-system.stateVersion.";
   };
 
   # uses version info nixpkgs, which requires a full nixpkgs path
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index d1cda0d84e96b..35de34aac10c3 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -57,6 +57,7 @@
   ./hardware/sensor/hddtemp.nix
   ./hardware/sensor/iio.nix
   ./hardware/keyboard/teck.nix
+  ./hardware/keyboard/uhk.nix
   ./hardware/keyboard/zsa.nix
   ./hardware/ksm.nix
   ./hardware/ledger.nix
@@ -196,7 +197,6 @@
   ./programs/partition-manager.nix
   ./programs/plotinus.nix
   ./programs/proxychains.nix
-  ./programs/phosh.nix
   ./programs/qt5ct.nix
   ./programs/screen.nix
   ./programs/sedutil.nix
@@ -505,6 +505,7 @@
   ./services/mail/postfixadmin.nix
   ./services/mail/postsrsd.nix
   ./services/mail/postgrey.nix
+  ./services/mail/public-inbox.nix
   ./services/mail/spamassassin.nix
   ./services/mail/rspamd.nix
   ./services/mail/rss2email.nix
@@ -936,6 +937,7 @@
   ./services/networking/unifi.nix
   ./services/video/unifi-video.nix
   ./services/video/rtsp-simple-server.nix
+  ./services/networking/uptermd.nix
   ./services/networking/v2ray.nix
   ./services/networking/vsftpd.nix
   ./services/networking/wasabibackend.nix
@@ -975,6 +977,7 @@
   ./services/security/hockeypuck.nix
   ./services/security/hologram-server.nix
   ./services/security/hologram-agent.nix
+  ./services/security/kanidm.nix
   ./services/security/munge.nix
   ./services/security/nginx-sso.nix
   ./services/security/oauth2_proxy.nix
@@ -1078,6 +1081,7 @@
   ./services/web-apps/trilium.nix
   ./services/web-apps/selfoss.nix
   ./services/web-apps/shiori.nix
+  ./services/web-apps/snipe-it.nix
   ./services/web-apps/vikunja.nix
   ./services/web-apps/virtlyst.nix
   ./services/web-apps/wiki-js.nix
@@ -1256,6 +1260,7 @@
   ./virtualisation/virtualbox-guest.nix
   ./virtualisation/virtualbox-host.nix
   ./virtualisation/vmware-guest.nix
+  ./virtualisation/vmware-host.nix
   ./virtualisation/waydroid.nix
   ./virtualisation/xen-dom0.nix
   ./virtualisation/xe-guest-utilities.nix
diff --git a/nixos/modules/programs/thefuck.nix b/nixos/modules/programs/thefuck.nix
index b909916158d38..18d09e26866c1 100644
--- a/nixos/modules/programs/thefuck.nix
+++ b/nixos/modules/programs/thefuck.nix
@@ -6,9 +6,12 @@ let
   prg = config.programs;
   cfg = prg.thefuck;
 
-  initScript = ''
+  bashAndZshInitScript = ''
     eval $(${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias})
   '';
+  fishInitScript = ''
+    ${pkgs.thefuck}/bin/thefuck --alias ${cfg.alias} | source
+  '';
 in
   {
     options = {
@@ -30,10 +33,8 @@ in
     config = mkIf cfg.enable {
       environment.systemPackages = with pkgs; [ thefuck ];
 
-      programs.bash.interactiveShellInit = initScript;
-      programs.zsh.interactiveShellInit = mkIf prg.zsh.enable initScript;
-      programs.fish.interactiveShellInit = mkIf prg.fish.enable ''
-        ${pkgs.thefuck}/bin/thefuck --alias | source
-      '';
+      programs.bash.interactiveShellInit = bashAndZshInitScript;
+      programs.zsh.interactiveShellInit = mkIf prg.zsh.enable bashAndZshInitScript;
+      programs.fish.interactiveShellInit = mkIf prg.fish.enable fishInitScript;
     };
   }
diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix
index 530304b497ae8..23d1344a57ac5 100644
--- a/nixos/modules/security/pam.nix
+++ b/nixos/modules/security/pam.nix
@@ -492,7 +492,7 @@ let
             auth ${ussh.control} ${pkgs.pam_ussh}/lib/security/pam_ussh.so ${optionalString (ussh.caFile != null) "ca_file=${ussh.caFile}"} ${optionalString (ussh.authorizedPrincipals != null) "authorized_principals=${ussh.authorizedPrincipals}"} ${optionalString (ussh.authorizedPrincipalsFile != null) "authorized_principals_file=${ussh.authorizedPrincipalsFile}"} ${optionalString (ussh.group != null) "group=${ussh.group}"}
           '') +
           (let oath = config.security.pam.oath; in optionalString cfg.oathAuth ''
-            auth requisite ${pkgs.oathToolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
+            auth requisite ${pkgs.oath-toolkit}/lib/security/pam_oath.so window=${toString oath.window} usersfile=${toString oath.usersFile} digits=${toString oath.digits}
           '') +
           (let yubi = config.security.pam.yubico; in optionalString cfg.yubicoAuth ''
             auth ${yubi.control} ${pkgs.yubico-pam}/lib/security/pam_yubico.so mode=${toString yubi.mode} ${optionalString (yubi.challengeResponsePath != null) "chalresp_path=${yubi.challengeResponsePath}"} ${optionalString (yubi.mode == "client") "id=${toString yubi.id}"} ${optionalString yubi.debug "debug"}
@@ -626,7 +626,7 @@ let
             session optional ${pkgs.otpw}/lib/security/pam_otpw.so
           '' +
           optionalString cfg.startSession ''
-            session optional ${pkgs.systemd}/lib/security/pam_systemd.so
+            session optional ${config.systemd.package}/lib/security/pam_systemd.so
           '' +
           optionalString cfg.forwardXAuth ''
             session optional pam_xauth.so xauthpath=${pkgs.xorg.xauth}/bin/xauth systemuser=99
@@ -1131,7 +1131,7 @@ in
       ++ optional config.services.sssd.enable pkgs.sssd
       ++ optionals config.krb5.enable [pam_krb5 pam_ccreds]
       ++ optionals config.security.pam.enableOTPW [ pkgs.otpw ]
-      ++ optionals config.security.pam.oath.enable [ pkgs.oathToolkit ]
+      ++ optionals config.security.pam.oath.enable [ pkgs.oath-toolkit ]
       ++ optionals config.security.pam.p11.enable [ pkgs.pam_p11 ]
       ++ optionals config.security.pam.u2f.enable [ pkgs.pam_u2f ];
 
@@ -1221,7 +1221,7 @@ in
         mr ${pkgs.pam_ussh}/lib/security/pam_ussh.so,
       '' +
       optionalString (isEnabled (cfg: cfg.oathAuth)) ''
-        "mr ${pkgs.oathToolkit}/lib/security/pam_oath.so,
+        "mr ${pkgs.oath-toolkit}/lib/security/pam_oath.so,
       '' +
       optionalString (isEnabled (cfg: cfg.yubicoAuth)) ''
         mr ${pkgs.yubico-pam}/lib/security/pam_yubico.so,
@@ -1242,7 +1242,7 @@ in
         mr ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so,
       '' +
       optionalString (isEnabled (cfg: cfg.startSession)) ''
-        mr ${pkgs.systemd}/lib/security/pam_systemd.so,
+        mr ${config.systemd.package}/lib/security/pam_systemd.so,
       '' +
       optionalString (isEnabled (cfg: cfg.enableAppArmor)
                      && config.security.apparmor.enable) ''
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index e63f19010de8a..169ef7442626e 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -98,7 +98,7 @@ let
 
       # Prevent races
       chmod 0000 "$wrapperDir/${program}"
-      chown ${owner}.${group} "$wrapperDir/${program}"
+      chown ${owner}:${group} "$wrapperDir/${program}"
 
       # Set desired capabilities on the file plus cap_setpcap so
       # the wrapper program can elevate the capabilities set on
@@ -126,7 +126,7 @@ let
 
       # Prevent races
       chmod 0000 "$wrapperDir/${program}"
-      chown ${owner}.${group} "$wrapperDir/${program}"
+      chown ${owner}:${group} "$wrapperDir/${program}"
 
       chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" "$wrapperDir/${program}"
     '';
diff --git a/nixos/modules/services/backup/automysqlbackup.nix b/nixos/modules/services/backup/automysqlbackup.nix
index fd2764a40ad2f..cf0cb4da32cf1 100644
--- a/nixos/modules/services/backup/automysqlbackup.nix
+++ b/nixos/modules/services/backup/automysqlbackup.nix
@@ -112,7 +112,7 @@ in
 
     services.mysql.ensureUsers = optional (config.services.mysql.enable && cfg.config.mysql_dump_host == "localhost") {
       name = user;
-      ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES"; };
+      ensurePermissions = { "*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT"; };
     };
 
   };
diff --git a/nixos/modules/services/backup/borgmatic.nix b/nixos/modules/services/backup/borgmatic.nix
index 5e5c0bbecccaa..9414d78aa751d 100644
--- a/nixos/modules/services/backup/borgmatic.nix
+++ b/nixos/modules/services/backup/borgmatic.nix
@@ -4,7 +4,8 @@ with lib;
 
 let
   cfg = config.services.borgmatic;
-  cfgfile = pkgs.writeText "config.yaml" (builtins.toJSON cfg.settings);
+  settingsFormat = pkgs.formats.yaml { };
+  cfgfile = settingsFormat.generate "config.yaml" cfg.settings;
 in {
   options.services.borgmatic = {
     enable = mkEnableOption "borgmatic";
@@ -14,7 +15,7 @@ in {
         See https://torsion.org/borgmatic/docs/reference/configuration/
       '';
       type = types.submodule {
-        freeformType = with lib.types; attrsOf anything;
+        freeformType = settingsFormat.type;
         options.location = {
           source_directories = mkOption {
             type = types.listOf types.str;
diff --git a/nixos/modules/services/continuous-integration/hydra/default.nix b/nixos/modules/services/continuous-integration/hydra/default.nix
index cc5de97d6d10d..9440382e66a19 100644
--- a/nixos/modules/services/continuous-integration/hydra/default.nix
+++ b/nixos/modules/services/continuous-integration/hydra/default.nix
@@ -99,8 +99,8 @@ in
 
       package = mkOption {
         type = types.package;
-        default = pkgs.hydra-unstable;
-        defaultText = literalExpression "pkgs.hydra-unstable";
+        default = pkgs.hydra_unstable;
+        defaultText = literalExpression "pkgs.hydra_unstable";
         description = "The Hydra package.";
       };
 
@@ -300,17 +300,17 @@ in
         };
         preStart = ''
           mkdir -p ${baseDir}
-          chown hydra.hydra ${baseDir}
+          chown hydra:hydra ${baseDir}
           chmod 0750 ${baseDir}
 
           ln -sf ${hydraConf} ${baseDir}/hydra.conf
 
           mkdir -m 0700 -p ${baseDir}/www
-          chown hydra-www.hydra ${baseDir}/www
+          chown hydra-www:hydra ${baseDir}/www
 
           mkdir -m 0700 -p ${baseDir}/queue-runner
           mkdir -m 0750 -p ${baseDir}/build-logs
-          chown hydra-queue-runner.hydra ${baseDir}/queue-runner ${baseDir}/build-logs
+          chown hydra-queue-runner:hydra ${baseDir}/queue-runner ${baseDir}/build-logs
 
           ${optionalString haveLocalDB ''
             if ! [ -e ${baseDir}/.db-created ]; then
@@ -338,7 +338,7 @@ in
             rmdir /nix/var/nix/gcroots/per-user/hydra-www/hydra-roots
           fi
 
-          chown hydra.hydra ${cfg.gcRootsDir}
+          chown hydra:hydra ${cfg.gcRootsDir}
           chmod 2775 ${cfg.gcRootsDir}
         '';
         serviceConfig.ExecStart = "${hydra-package}/bin/hydra-init";
diff --git a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
index b19fb33ec1788..114afbfb0ea46 100644
--- a/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
+++ b/nixos/modules/services/desktops/pipewire/daemon/pipewire-pulse.conf.json
@@ -62,6 +62,9 @@
           "application.process.binary": "teams"
         },
         {
+          "application.process.binary": "teams-insiders"
+        },
+        {
           "application.process.binary": "skypeforlinux"
         }
       ],
diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix
index ff73d7a46ed39..bb6898a08c52b 100644
--- a/nixos/modules/services/games/factorio.nix
+++ b/nixos/modules/services/games/factorio.nix
@@ -87,6 +87,18 @@ in
           a new map with default settings will be generated before starting the service.
         '';
       };
+      loadLatestSave = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Load the latest savegame on startup. This overrides saveName, in that the latest
+          save will always be used even if a saved game of the given name exists. It still
+          controls the 'canonical' name of the savegame.
+
+          Set this to true to have the server automatically reload a recent autosave after
+          a crash or desync.
+        '';
+      };
       # TODO Add more individual settings as nixos-options?
       # TODO XXX The server tries to copy a newly created config file over the old one
       #   on shutdown, but fails, because it's in the nix store. When is this needed?
@@ -250,8 +262,9 @@ in
           "--config=${cfg.configFile}"
           "--port=${toString cfg.port}"
           "--bind=${cfg.bind}"
-          "--start-server=${mkSavePath cfg.saveName}"
+          (optionalString (!cfg.loadLatestSave) "--start-server=${mkSavePath cfg.saveName}")
           "--server-settings=${serverSettingsFile}"
+          (optionalString cfg.loadLatestSave "--start-server-load-latest")
           (optionalString (cfg.mods != []) "--mod-directory=${modDir}")
           (optionalString (cfg.admins != []) "--server-adminlist=${serverAdminsFile}")
         ];
diff --git a/nixos/modules/services/hardware/illum.nix b/nixos/modules/services/hardware/illum.nix
index ff73c99a65376..7f7a850002342 100644
--- a/nixos/modules/services/hardware/illum.nix
+++ b/nixos/modules/services/hardware/illum.nix
@@ -28,6 +28,7 @@ in {
       description = "Backlight Adjustment Service";
       wantedBy = [ "multi-user.target" ];
       serviceConfig.ExecStart = "${pkgs.illum}/bin/illum-d";
+      serviceConfig.Restart = "on-failure";
     };
 
   };
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index 8257eeb673b92..2e9deebbb74ab 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -8,6 +8,24 @@ let
 
   cfg = config.services.udev;
 
+  initrdUdevRules = pkgs.runCommand "initrd-udev-rules" {} ''
+    mkdir -p $out/etc/udev/rules.d
+    for f in 60-cdrom_id 60-persistent-storage 75-net-description 80-drivers 80-net-setup-link; do
+      ln -s ${config.boot.initrd.systemd.package}/lib/udev/rules.d/$f.rules $out/etc/udev/rules.d
+    done
+  '';
+
+
+  # networkd link files are used early by udev to set up interfaces early.
+  # This must be done in stage 1 to avoid race conditions between udev and
+  # network daemons.
+  # TODO move this into the initrd-network module when it exists
+  initrdLinkUnits = pkgs.runCommand "initrd-link-units" {} ''
+    mkdir -p $out
+    ln -s ${udev}/lib/systemd/network/*.link $out/
+    ${lib.concatMapStringsSep "\n" (file: "ln -s ${file} $out/") (lib.mapAttrsToList (n: v: "${v.unit}/${n}") (lib.filterAttrs (n: _: hasSuffix ".link" n) config.systemd.network.units))}
+  '';
+
   extraUdevRules = pkgs.writeTextFile {
     name = "extra-udev-rules";
     text = cfg.extraRules;
@@ -153,6 +171,11 @@ let
       mv etc/udev/hwdb.bin $out
     '';
 
+  compressFirmware = if config.boot.kernelPackages.kernelAtLeast "5.3" then
+    pkgs.compressFirmwareXz
+  else
+    id;
+
   # Udev has a 512-character limit for ENV{PATH}, so create a symlink
   # tree to work around this.
   udevPath = pkgs.buildEnv {
@@ -249,7 +272,7 @@ in
       '';
       apply = list: pkgs.buildEnv {
         name = "firmware";
-        paths = list;
+        paths = map compressFirmware list;
         pathsToLink = [ "/lib/firmware" ];
         ignoreCollisions = true;
       };
@@ -350,7 +373,10 @@ in
     ];
     boot.initrd.systemd.storePaths = [
       "${config.boot.initrd.systemd.package}/lib/systemd/systemd-udevd"
-      "${config.boot.initrd.systemd.package}/lib/udev"
+      "${config.boot.initrd.systemd.package}/lib/udev/ata_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/cdrom_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/scsi_id"
+      "${config.boot.initrd.systemd.package}/lib/udev/rules.d"
     ] ++ map (x: "${x}/bin") config.boot.initrd.services.udev.binPackages;
 
     # Generate the udev rules for the initrd
@@ -364,13 +390,17 @@ in
         systemd = config.boot.initrd.systemd.package;
         binPackages = config.boot.initrd.services.udev.binPackages ++ [ config.boot.initrd.systemd.contents."/bin".source ];
       };
+      "/etc/systemd/network".source = initrdLinkUnits;
     };
-    # Insert custom rules
-    boot.initrd.services.udev.packages = mkIf (config.boot.initrd.services.udev.rules != "") (pkgs.writeTextFile {
-      name = "initrd-udev-rules";
-      destination = "/etc/udev/rules.d/99-local.rules";
-      text = config.boot.initrd.services.udev.rules;
-    });
+    # Insert initrd rules
+    boot.initrd.services.udev.packages = [
+      initrdUdevRules
+      (mkIf (config.boot.initrd.services.udev.rules != "") (pkgs.writeTextFile {
+        name = "initrd-udev-rules";
+        destination = "/etc/udev/rules.d/99-local.rules";
+        text = config.boot.initrd.services.udev.rules;
+      }))
+    ];
 
     environment.etc =
       {
diff --git a/nixos/modules/services/hardware/usbrelayd.nix b/nixos/modules/services/hardware/usbrelayd.nix
index c0322e89e6b12..2cee4e1ff7e8c 100644
--- a/nixos/modules/services/hardware/usbrelayd.nix
+++ b/nixos/modules/services/hardware/usbrelayd.nix
@@ -26,8 +26,7 @@ in
 
   config = mkIf cfg.enable {
 
-    # TODO: Rename to .conf in upcomming release
-    environment.etc."usbrelayd.ini".text = ''
+    environment.etc."usbrelayd.conf".text = ''
       [MQTT]
       BROKER = ${cfg.broker}
       CLIENTNAME = ${cfg.clientName}
@@ -41,4 +40,8 @@ in
     };
     users.groups.usbrelay = { };
   };
+
+  meta = {
+    maintainers = with lib.maintainers; [ wentasah ];
+  };
 }
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 6022227f6ea88..e255e5d22188b 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -360,7 +360,14 @@ in {
   };
 
   config = mkIf cfg.enable {
-    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+    assertions = [
+      {
+        assertion = cfg.openFirewall -> !isNull cfg.config;
+        message = "openFirewall can only be used with a declarative config";
+      }
+    ];
+
+    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.config.http.server_port ];
 
     systemd.services.home-assistant = {
       description = "Home Assistant";
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index a08203dffe789..5d00feabe1c1d 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -109,7 +109,7 @@ in
           '''
             # Read from journal
             pipe {
-              command => "''${pkgs.systemd}/bin/journalctl -f -o json"
+              command => "''${config.systemd.package}/bin/journalctl -f -o json"
               type => "syslog" codec => json {}
             }
           '''
diff --git a/nixos/modules/services/mail/public-inbox.nix b/nixos/modules/services/mail/public-inbox.nix
new file mode 100644
index 0000000000000..0f9bc4ef226d2
--- /dev/null
+++ b/nixos/modules/services/mail/public-inbox.nix
@@ -0,0 +1,579 @@
+{ lib, pkgs, config, ... }:
+
+with lib;
+
+let
+  cfg = config.services.public-inbox;
+  stateDir = "/var/lib/public-inbox";
+
+  manref = name: vol: "<citerefentry><refentrytitle>${name}</refentrytitle><manvolnum>${toString vol}</manvolnum></citerefentry>";
+
+  gitIni = pkgs.formats.gitIni { listsAsDuplicateKeys = true; };
+  iniAtom = elemAt gitIni.type/*attrsOf*/.functor.wrapped/*attrsOf*/.functor.wrapped/*either*/.functor.wrapped 0;
+
+  useSpamAssassin = cfg.settings.publicinboxmda.spamcheck == "spamc" ||
+                    cfg.settings.publicinboxwatch.spamcheck == "spamc";
+
+  publicInboxDaemonOptions = proto: defaultPort: {
+    args = mkOption {
+      type = with types; listOf str;
+      default = [];
+      description = "Command-line arguments to pass to ${manref "public-inbox-${proto}d" 1}.";
+    };
+    port = mkOption {
+      type = with types; nullOr (either str port);
+      default = defaultPort;
+      description = ''
+        Listening port.
+        Beware that public-inbox uses well-known ports number to decide whether to enable TLS or not.
+        Set to null and use <code>systemd.sockets.public-inbox-${proto}d.listenStreams</code>
+        if you need a more advanced listening.
+      '';
+    };
+    cert = mkOption {
+      type = with types; nullOr str;
+      default = null;
+      example = "/path/to/fullchain.pem";
+      description = "Path to TLS certificate to use for connections to ${manref "public-inbox-${proto}d" 1}.";
+    };
+    key = mkOption {
+      type = with types; nullOr str;
+      default = null;
+      example = "/path/to/key.pem";
+      description = "Path to TLS key to use for connections to ${manref "public-inbox-${proto}d" 1}.";
+    };
+  };
+
+  serviceConfig = srv:
+    let proto = removeSuffix "d" srv;
+        needNetwork = builtins.hasAttr proto cfg && cfg.${proto}.port == null;
+    in {
+    serviceConfig = {
+      # Enable JIT-compiled C (via Inline::C)
+      Environment = [ "PERL_INLINE_DIRECTORY=/run/public-inbox-${srv}/perl-inline" ];
+      # NonBlocking is REQUIRED to avoid a race condition
+      # if running simultaneous services.
+      NonBlocking = true;
+      #LimitNOFILE = 30000;
+      User = config.users.users."public-inbox".name;
+      Group = config.users.groups."public-inbox".name;
+      RuntimeDirectory = [
+          "public-inbox-${srv}/perl-inline"
+        ];
+      RuntimeDirectoryMode = "700";
+      # This is for BindPaths= and BindReadOnlyPaths=
+      # to allow traversal of directories they create inside RootDirectory=
+      UMask = "0066";
+      StateDirectory = ["public-inbox"];
+      StateDirectoryMode = "0750";
+      WorkingDirectory = stateDir;
+      BindReadOnlyPaths = [
+          "/etc"
+          "/run/systemd"
+          "${config.i18n.glibcLocales}"
+        ] ++
+        mapAttrsToList (name: inbox: inbox.description) cfg.inboxes ++
+        # Without confinement the whole Nix store
+        # is made available to the service
+        optionals (!config.systemd.services."public-inbox-${srv}".confinement.enable) [
+          "${pkgs.dash}/bin/dash:/bin/sh"
+          builtins.storeDir
+        ];
+      # The following options are only for optimizing:
+      # systemd-analyze security public-inbox-'*'
+      AmbientCapabilities = "";
+      CapabilityBoundingSet = "";
+      # ProtectClock= adds DeviceAllow=char-rtc r
+      DeviceAllow = "";
+      LockPersonality = true;
+      MemoryDenyWriteExecute = true;
+      NoNewPrivileges = true;
+      PrivateNetwork = mkDefault (!needNetwork);
+      ProcSubset = "pid";
+      ProtectClock = true;
+      ProtectHome = mkDefault true;
+      ProtectHostname = true;
+      ProtectKernelLogs = true;
+      ProtectProc = "invisible";
+      #ProtectSystem = "strict";
+      RemoveIPC = true;
+      RestrictAddressFamilies = [ "AF_UNIX" ] ++
+        optionals needNetwork [ "AF_INET" "AF_INET6" ];
+      RestrictNamespaces = true;
+      RestrictRealtime = true;
+      RestrictSUIDSGID = true;
+      SystemCallFilter = [
+        "@system-service"
+        "~@aio" "~@chown" "~@keyring" "~@memlock" "~@resources"
+        # Not removing @setuid and @privileged because Inline::C needs them.
+        # Not removing @timer because git upload-pack needs it.
+      ];
+      SystemCallArchitectures = "native";
+
+      # The following options are redundant when confinement is enabled
+      RootDirectory = "/var/empty";
+      TemporaryFileSystem = "/";
+      PrivateMounts = true;
+      MountAPIVFS = true;
+      PrivateDevices = true;
+      PrivateTmp = true;
+      PrivateUsers = true;
+      ProtectControlGroups = true;
+      ProtectKernelModules = true;
+      ProtectKernelTunables = true;
+    };
+    confinement = {
+      # Until we agree upon doing it directly here in NixOS
+      # https://github.com/NixOS/nixpkgs/pull/104457#issuecomment-1115768447
+      # let the user choose to enable the confinement with:
+      # systemd.services.public-inbox-httpd.confinement.enable = true;
+      # systemd.services.public-inbox-imapd.confinement.enable = true;
+      # systemd.services.public-inbox-init.confinement.enable = true;
+      # systemd.services.public-inbox-nntpd.confinement.enable = true;
+      #enable = true;
+      mode = "full-apivfs";
+      # Inline::C needs a /bin/sh, and dash is enough
+      binSh = "${pkgs.dash}/bin/dash";
+      packages = [
+          pkgs.iana-etc
+          (getLib pkgs.nss)
+          pkgs.tzdata
+        ];
+    };
+  };
+in
+
+{
+  options.services.public-inbox = {
+    enable = mkEnableOption "the public-inbox mail archiver";
+    package = mkOption {
+      type = types.package;
+      default = pkgs.public-inbox;
+      defaultText = literalExpression "pkgs.public-inbox";
+      description = "public-inbox package to use.";
+    };
+    path = mkOption {
+      type = with types; listOf package;
+      default = [];
+      example = literalExpression "with pkgs; [ spamassassin ]";
+      description = ''
+        Additional packages to place in the path of public-inbox-mda,
+        public-inbox-watch, etc.
+      '';
+    };
+    inboxes = mkOption {
+      description = ''
+        Inboxes to configure, where attribute names are inbox names.
+      '';
+      default = {};
+      type = types.attrsOf (types.submodule ({name, ...}: {
+        freeformType = types.attrsOf iniAtom;
+        options.inboxdir = mkOption {
+          type = types.str;
+          default = "${stateDir}/inboxes/${name}";
+          description = "The absolute path to the directory which hosts the public-inbox.";
+        };
+        options.address = mkOption {
+          type = with types; listOf str;
+          example = "example-discuss@example.org";
+          description = "The email addresses of the public-inbox.";
+        };
+        options.url = mkOption {
+          type = with types; nullOr str;
+          default = null;
+          example = "https://example.org/lists/example-discuss";
+          description = "URL where this inbox can be accessed over HTTP.";
+        };
+        options.description = mkOption {
+          type = types.str;
+          example = "user/dev discussion of public-inbox itself";
+          description = "User-visible description for the repository.";
+          apply = pkgs.writeText "public-inbox-description-${name}";
+        };
+        options.newsgroup = mkOption {
+          type = with types; nullOr str;
+          default = null;
+          description = "NNTP group name for the inbox.";
+        };
+        options.watch = mkOption {
+          type = with types; listOf str;
+          default = [];
+          description = "Paths for ${manref "public-inbox-watch" 1} to monitor for new mail.";
+          example = [ "maildir:/path/to/test.example.com.git" ];
+        };
+        options.watchheader = mkOption {
+          type = with types; nullOr str;
+          default = null;
+          example = "List-Id:<test@example.com>";
+          description = ''
+            If specified, ${manref "public-inbox-watch" 1} will only process
+            mail containing a matching header.
+          '';
+        };
+        options.coderepo = mkOption {
+          type = (types.listOf (types.enum (attrNames cfg.settings.coderepo))) // {
+            description = "list of coderepo names";
+          };
+          default = [];
+          description = "Nicknames of a 'coderepo' section associated with the inbox.";
+        };
+      }));
+    };
+    imap = {
+      enable = mkEnableOption "the public-inbox IMAP server";
+    } // publicInboxDaemonOptions "imap" 993;
+    http = {
+      enable = mkEnableOption "the public-inbox HTTP server";
+      mounts = mkOption {
+        type = with types; listOf str;
+        default = [ "/" ];
+        example = [ "/lists/archives" ];
+        description = ''
+          Root paths or URLs that public-inbox will be served on.
+          If domain parts are present, only requests to those
+          domains will be accepted.
+        '';
+      };
+      args = (publicInboxDaemonOptions "http" 80).args;
+      port = mkOption {
+        type = with types; nullOr (either str port);
+        default = 80;
+        example = "/run/public-inbox-httpd.sock";
+        description = ''
+          Listening port or systemd's ListenStream= entry
+          to be used as a reverse proxy, eg. in nginx:
+          <code>locations."/inbox".proxyPass = "http://unix:''${config.services.public-inbox.http.port}:/inbox";</code>
+          Set to null and use <code>systemd.sockets.public-inbox-httpd.listenStreams</code>
+          if you need a more advanced listening.
+        '';
+      };
+    };
+    mda = {
+      enable = mkEnableOption "the public-inbox Mail Delivery Agent";
+      args = mkOption {
+        type = with types; listOf str;
+        default = [];
+        description = "Command-line arguments to pass to ${manref "public-inbox-mda" 1}.";
+      };
+    };
+    postfix.enable = mkEnableOption "the integration into Postfix";
+    nntp = {
+      enable = mkEnableOption "the public-inbox NNTP server";
+    } // publicInboxDaemonOptions "nntp" 563;
+    spamAssassinRules = mkOption {
+      type = with types; nullOr path;
+      default = "${cfg.package.sa_config}/user/.spamassassin/user_prefs";
+      defaultText = literalExpression "\${cfg.package.sa_config}/user/.spamassassin/user_prefs";
+      description = "SpamAssassin configuration specific to public-inbox.";
+    };
+    settings = mkOption {
+      description = ''
+        Settings for the <link xlink:href="https://public-inbox.org/public-inbox-config.html">public-inbox config file</link>.
+      '';
+      default = {};
+      type = types.submodule {
+        freeformType = gitIni.type;
+        options.publicinbox = mkOption {
+          default = {};
+          description = "public inboxes";
+          type = types.submodule {
+            freeformType = with types; /*inbox name*/attrsOf (/*inbox option name*/attrsOf /*inbox option value*/iniAtom);
+            options.css = mkOption {
+              type = with types; listOf str;
+              default = [];
+              description = "The local path name of a CSS file for the PSGI web interface.";
+            };
+            options.nntpserver = mkOption {
+              type = with types; listOf str;
+              default = [];
+              example = [ "nntp://news.public-inbox.org" "nntps://news.public-inbox.org" ];
+              description = "NNTP URLs to this public-inbox instance";
+            };
+            options.wwwlisting = mkOption {
+              type = with types; enum [ "all" "404" "match=domain" ];
+              default = "404";
+              description = ''
+                Controls which lists (if any) are listed for when the root
+                public-inbox URL is accessed over HTTP.
+              '';
+            };
+          };
+        };
+        options.publicinboxmda.spamcheck = mkOption {
+          type = with types; enum [ "spamc" "none" ];
+          default = "none";
+          description = ''
+            If set to spamc, ${manref "public-inbox-watch" 1} will filter spam
+            using SpamAssassin.
+          '';
+        };
+        options.publicinboxwatch.spamcheck = mkOption {
+          type = with types; enum [ "spamc" "none" ];
+          default = "none";
+          description = ''
+            If set to spamc, ${manref "public-inbox-watch" 1} will filter spam
+            using SpamAssassin.
+          '';
+        };
+        options.publicinboxwatch.watchspam = mkOption {
+          type = with types; nullOr str;
+          default = null;
+          example = "maildir:/path/to/spam";
+          description = ''
+            If set, mail in this maildir will be trained as spam and
+            deleted from all watched inboxes
+          '';
+        };
+        options.coderepo = mkOption {
+          default = {};
+          description = "code repositories";
+          type = types.attrsOf (types.submodule {
+            freeformType = types.attrsOf iniAtom;
+            options.cgitUrl = mkOption {
+              type = types.str;
+              description = "URL of a cgit instance";
+            };
+            options.dir = mkOption {
+              type = types.str;
+              description = "Path to a git repository";
+            };
+          });
+        };
+      };
+    };
+    openFirewall = mkEnableOption "opening the firewall when using a port option";
+  };
+  config = mkIf cfg.enable {
+    assertions = [
+      { assertion = config.services.spamassassin.enable || !useSpamAssassin;
+        message = ''
+          public-inbox is configured to use SpamAssassin, but
+          services.spamassassin.enable is false.  If you don't need
+          spam checking, set `services.public-inbox.settings.publicinboxmda.spamcheck' and
+          `services.public-inbox.settings.publicinboxwatch.spamcheck' to null.
+        '';
+      }
+      { assertion = cfg.path != [] || !useSpamAssassin;
+        message = ''
+          public-inbox is configured to use SpamAssassin, but there is
+          no spamc executable in services.public-inbox.path.  If you
+          don't need spam checking, set
+          `services.public-inbox.settings.publicinboxmda.spamcheck' and
+          `services.public-inbox.settings.publicinboxwatch.spamcheck' to null.
+        '';
+      }
+    ];
+    services.public-inbox.settings =
+      filterAttrsRecursive (n: v: v != null) {
+        publicinbox = mapAttrs (n: filterAttrs (n: v: n != "description")) cfg.inboxes;
+    };
+    users = {
+      users.public-inbox = {
+        home = stateDir;
+        group = "public-inbox";
+        isSystemUser = true;
+      };
+      groups.public-inbox = {};
+    };
+    networking.firewall = mkIf cfg.openFirewall
+      { allowedTCPPorts = mkMerge
+        (map (proto: (mkIf (cfg.${proto}.enable && types.port.check cfg.${proto}.port) [ cfg.${proto}.port ]))
+        ["imap" "http" "nntp"]);
+      };
+    services.postfix = mkIf (cfg.postfix.enable && cfg.mda.enable) {
+      # Not sure limiting to 1 is necessary, but better safe than sorry.
+      config.public-inbox_destination_recipient_limit = "1";
+
+      # Register the addresses as existing
+      virtual =
+        concatStringsSep "\n" (mapAttrsToList (_: inbox:
+          concatMapStringsSep "\n" (address:
+            "${address} ${address}"
+          ) inbox.address
+        ) cfg.inboxes);
+
+      # Deliver the addresses with the public-inbox transport
+      transport =
+        concatStringsSep "\n" (mapAttrsToList (_: inbox:
+          concatMapStringsSep "\n" (address:
+            "${address} public-inbox:${address}"
+          ) inbox.address
+        ) cfg.inboxes);
+
+      # The public-inbox transport
+      masterConfig.public-inbox = {
+        type = "unix";
+        privileged = true; # Required for user=
+        command = "pipe";
+        args = [
+          "flags=X" # Report as a final delivery
+          "user=${with config.users; users."public-inbox".name + ":" + groups."public-inbox".name}"
+          # Specifying a nexthop when using the transport
+          # (eg. test public-inbox:test) allows to
+          # receive mails with an extension (eg. test+foo).
+          "argv=${pkgs.writeShellScript "public-inbox-transport" ''
+            export HOME="${stateDir}"
+            export ORIGINAL_RECIPIENT="''${2:-1}"
+            export PATH="${makeBinPath cfg.path}:$PATH"
+            exec ${cfg.package}/bin/public-inbox-mda ${escapeShellArgs cfg.mda.args}
+          ''} \${original_recipient} \${nexthop}"
+        ];
+      };
+    };
+    systemd.sockets = mkMerge (map (proto:
+      mkIf (cfg.${proto}.enable && cfg.${proto}.port != null)
+        { "public-inbox-${proto}d" = {
+            listenStreams = [ (toString cfg.${proto}.port) ];
+            wantedBy = [ "sockets.target" ];
+          };
+        }
+      ) [ "imap" "http" "nntp" ]);
+    systemd.services = mkMerge [
+      (mkIf cfg.imap.enable
+        { public-inbox-imapd = mkMerge [(serviceConfig "imapd") {
+          after = [ "public-inbox-init.service" "public-inbox-watch.service" ];
+          requires = [ "public-inbox-init.service" ];
+          serviceConfig = {
+            ExecStart = escapeShellArgs (
+              [ "${cfg.package}/bin/public-inbox-imapd" ] ++
+              cfg.imap.args ++
+              optionals (cfg.imap.cert != null) [ "--cert" cfg.imap.cert ] ++
+              optionals (cfg.imap.key != null) [ "--key" cfg.imap.key ]
+            );
+          };
+        }];
+      })
+      (mkIf cfg.http.enable
+        { public-inbox-httpd = mkMerge [(serviceConfig "httpd") {
+          after = [ "public-inbox-init.service" "public-inbox-watch.service" ];
+          requires = [ "public-inbox-init.service" ];
+          serviceConfig = {
+            ExecStart = escapeShellArgs (
+              [ "${cfg.package}/bin/public-inbox-httpd" ] ++
+              cfg.http.args ++
+              # See https://public-inbox.org/public-inbox.git/tree/examples/public-inbox.psgi
+              # for upstream's example.
+              [ (pkgs.writeText "public-inbox.psgi" ''
+                #!${cfg.package.fullperl} -w
+                use strict;
+                use warnings;
+                use Plack::Builder;
+                use PublicInbox::WWW;
+
+                my $www = PublicInbox::WWW->new;
+                $www->preload;
+
+                builder {
+                  # If reached through a reverse proxy,
+                  # make it transparent by resetting some HTTP headers
+                  # used by public-inbox to generate URIs.
+                  enable 'ReverseProxy';
+
+                  # No need to send a response body if it's an HTTP HEAD requests.
+                  enable 'Head';
+
+                  # Route according to configured domains and root paths.
+                  ${concatMapStrings (path: ''
+                  mount q(${path}) => sub { $www->call(@_); };
+                  '') cfg.http.mounts}
+                }
+              '') ]
+            );
+          };
+        }];
+      })
+      (mkIf cfg.nntp.enable
+        { public-inbox-nntpd = mkMerge [(serviceConfig "nntpd") {
+          after = [ "public-inbox-init.service" "public-inbox-watch.service" ];
+          requires = [ "public-inbox-init.service" ];
+          serviceConfig = {
+            ExecStart = escapeShellArgs (
+              [ "${cfg.package}/bin/public-inbox-nntpd" ] ++
+              cfg.nntp.args ++
+              optionals (cfg.nntp.cert != null) [ "--cert" cfg.nntp.cert ] ++
+              optionals (cfg.nntp.key != null) [ "--key" cfg.nntp.key ]
+            );
+          };
+        }];
+      })
+      (mkIf (any (inbox: inbox.watch != []) (attrValues cfg.inboxes)
+        || cfg.settings.publicinboxwatch.watchspam != null)
+        { public-inbox-watch = mkMerge [(serviceConfig "watch") {
+          inherit (cfg) path;
+          wants = [ "public-inbox-init.service" ];
+          requires = [ "public-inbox-init.service" ] ++
+            optional (cfg.settings.publicinboxwatch.spamcheck == "spamc") "spamassassin.service";
+          wantedBy = [ "multi-user.target" ];
+          serviceConfig = {
+            ExecStart = "${cfg.package}/bin/public-inbox-watch";
+            ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+          };
+        }];
+      })
+      ({ public-inbox-init = let
+          PI_CONFIG = gitIni.generate "public-inbox.ini"
+            (filterAttrsRecursive (n: v: v != null) cfg.settings);
+          in mkMerge [(serviceConfig "init") {
+          wantedBy = [ "multi-user.target" ];
+          restartIfChanged = true;
+          restartTriggers = [ PI_CONFIG ];
+          script = ''
+            set -ux
+            install -D -p ${PI_CONFIG} ${stateDir}/.public-inbox/config
+            '' + optionalString useSpamAssassin ''
+              install -m 0700 -o spamd -d ${stateDir}/.spamassassin
+              ${optionalString (cfg.spamAssassinRules != null) ''
+                ln -sf ${cfg.spamAssassinRules} ${stateDir}/.spamassassin/user_prefs
+              ''}
+            '' + concatStrings (mapAttrsToList (name: inbox: ''
+              if [ ! -e ${stateDir}/inboxes/${escapeShellArg name} ]; then
+                # public-inbox-init creates an inbox and adds it to a config file.
+                # It tries to atomically write the config file by creating
+                # another file in the same directory, and renaming it.
+                # This has the sad consequence that we can't use
+                # /dev/null, or it would try to create a file in /dev.
+                conf_dir="$(mktemp -d)"
+
+                PI_CONFIG=$conf_dir/conf \
+                ${cfg.package}/bin/public-inbox-init -V2 \
+                  ${escapeShellArgs ([ name "${stateDir}/inboxes/${name}" inbox.url ] ++ inbox.address)}
+
+                rm -rf $conf_dir
+              fi
+
+              ln -sf ${inbox.description} \
+                ${stateDir}/inboxes/${escapeShellArg name}/description
+
+              export GIT_DIR=${stateDir}/inboxes/${escapeShellArg name}/all.git
+              if test -d "$GIT_DIR"; then
+                # Config is inherited by each epoch repository,
+                # so just needs to be set for all.git.
+                ${pkgs.git}/bin/git config core.sharedRepository 0640
+              fi
+            '') cfg.inboxes
+            ) + ''
+            shopt -s nullglob
+            for inbox in ${stateDir}/inboxes/*/; do
+              # This should be idempotent, but only do it for new
+              # inboxes anyway because it's only needed once, and could
+              # be slow for large pre-existing inboxes.
+              ls -1 "$inbox" | grep -q '^xap' ||
+              ${cfg.package}/bin/public-inbox-index "$inbox"
+            done
+          '';
+          serviceConfig = {
+            Type = "oneshot";
+            RemainAfterExit = true;
+            StateDirectory = [
+              "public-inbox/.public-inbox"
+              "public-inbox/.public-inbox/emergency"
+              "public-inbox/inboxes"
+            ];
+          };
+        }];
+      })
+    ];
+    environment.systemPackages = with pkgs; [ cfg.package ];
+  };
+  meta.maintainers = with lib.maintainers; [ julm qyliss ];
+}
diff --git a/nixos/modules/services/mail/spamassassin.nix b/nixos/modules/services/mail/spamassassin.nix
index ac878222b26a2..3b10d8d29090d 100644
--- a/nixos/modules/services/mail/spamassassin.nix
+++ b/nixos/modules/services/mail/spamassassin.nix
@@ -135,7 +135,7 @@ in
         User = "spamd";
         Group = "spamd";
         StateDirectory = "spamassassin";
-        ExecStartPost = "+${pkgs.systemd}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
+        ExecStartPost = "+${config.systemd.package}/bin/systemctl -q --no-block try-reload-or-restart spamd.service";
       };
 
       script = ''
diff --git a/nixos/modules/services/matrix/matrix-synapse.nix b/nixos/modules/services/matrix/matrix-synapse.nix
index a498aff7a55bb..87a977f8e1efb 100644
--- a/nixos/modules/services/matrix/matrix-synapse.nix
+++ b/nixos/modules/services/matrix/matrix-synapse.nix
@@ -296,6 +296,7 @@ in {
               default = if lib.versionAtLeast config.system.stateVersion "22.05"
                 then "${cfg.dataDir}/media_store"
                 else "${cfg.dataDir}/media";
+              defaultText = "${cfg.dataDir}/media_store for when system.stateVersion is at least 22.05, ${cfg.dataDir}/media when lower than 22.05";
               description = ''
                 Directory where uploaded images and attachments are stored.
               '';
diff --git a/nixos/modules/services/misc/dendrite.nix b/nixos/modules/services/misc/dendrite.nix
index 35bec40926ec6..ac5df9951b3f0 100644
--- a/nixos/modules/services/misc/dendrite.nix
+++ b/nixos/modules/services/misc/dendrite.nix
@@ -222,6 +222,13 @@ in
         for available options with which to populate settings.
       '';
     };
+    openRegistration = lib.mkOption {
+      type = lib.types.bool;
+      default = false;
+      description = ''
+        Allow open registration without secondary verification (reCAPTCHA).
+      '';
+    };
   };
 
   config = lib.mkIf cfg.enable {
@@ -263,6 +270,8 @@ in
           "--https-bind-address :${builtins.toString cfg.httpsPort}"
           "--tls-cert ${cfg.tlsCert}"
           "--tls-key ${cfg.tlsKey}"
+        ] ++ lib.optionals cfg.openRegistration [
+          "--really-enable-open-registration"
         ]);
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "on-failure";
diff --git a/nixos/modules/services/misc/heisenbridge.nix b/nixos/modules/services/misc/heisenbridge.nix
index 7ce8a23d9af12..deefb061d8b31 100644
--- a/nixos/modules/services/misc/heisenbridge.nix
+++ b/nixos/modules/services/misc/heisenbridge.nix
@@ -204,7 +204,7 @@ in
         NoNewPrivileges = true;
         LockPersonality = true;
         RestrictRealtime = true;
-        SystemCallFilter = ["@system-service" "~@priviledged" "@chown"];
+        SystemCallFilter = ["@system-service" "~@privileged" "@chown"];
         SystemCallArchitectures = "native";
         RestrictAddressFamilies = "AF_INET AF_INET6";
       };
diff --git a/nixos/modules/services/misc/mbpfan.nix b/nixos/modules/services/misc/mbpfan.nix
index e0a4d8a13e75f..7a149ff47e617 100644
--- a/nixos/modules/services/misc/mbpfan.nix
+++ b/nixos/modules/services/misc/mbpfan.nix
@@ -31,7 +31,7 @@ in {
 
     settings = mkOption {
       default = {};
-      description = "The INI configuration for Mbpfan.";
+      description = "INI configuration for Mbpfan.";
       type = types.submodule {
         freeformType = settingsFormat.type;
 
@@ -39,32 +39,26 @@ in {
           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".
+            You can check minimum and maximum fan limits with
+            "cat /sys/devices/platform/applesmc.768/fan*_min" and
+            "cat /sys/devices/platform/applesmc.768/fan*_max" respectively.
+            Setting to null implies using default value from applesmc.
           '';
         };
         options.general.low_temp = mkOption {
           type = types.int;
           default = 55;
-          description = "Temperature below which fan speed will be at minimum. Try ranges 55-63.";
+          description = "If temperature is below this, fans will run at minimum speed.";
         };
         options.general.high_temp = mkOption {
           type = types.int;
           default = 58;
-          description = "Fan will increase speed when higher than this temperature. Try ranges 58-66.";
+          description = "If temperature is above this, fan speed will gradually increase.";
         };
         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.";
+          description = "If temperature is above this, fans will run at maximum speed.";
         };
         options.general.polling_interval = mkOption {
           type = types.int;
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 52525e8935bae..ceb2db1faefd8 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -3,6 +3,7 @@
 with lib;
 
 let
+  json = pkgs.formats.json { };
   cfg = config.services.prometheus;
 
   workingDir = "/var/lib/" + cfg.stateDir;
@@ -34,13 +35,7 @@ let
         promtool ${what} $out
       '' else file;
 
-  # Pretty-print JSON to a file
-  writePrettyJSON = name: x:
-    pkgs.runCommandLocal name { } ''
-      echo '${builtins.toJSON x}' | ${pkgs.jq}/bin/jq . > $out
-    '';
-
-  generatedPrometheusYml = writePrettyJSON "prometheus.yml" promConfig;
+  generatedPrometheusYml = json.generate "prometheus.yml" promConfig;
 
   # This becomes the main config file for Prometheus
   promConfig = {
diff --git a/nixos/modules/services/networking/gateone.nix b/nixos/modules/services/networking/gateone.nix
index 3e3a3c1aa94d4..e68f8a47d5c0d 100644
--- a/nixos/modules/services/networking/gateone.nix
+++ b/nixos/modules/services/networking/gateone.nix
@@ -36,11 +36,11 @@ config = mkIf cfg.enable {
     preStart = ''
       if [ ! -d ${cfg.settingsDir} ] ; then
         mkdir -m 0750 -p ${cfg.settingsDir}
-        chown -R gateone.gateone ${cfg.settingsDir}
+        chown -R gateone:gateone ${cfg.settingsDir}
       fi
       if [ ! -d ${cfg.pidDir} ] ; then
         mkdir -m 0750 -p ${cfg.pidDir}
-        chown -R gateone.gateone ${cfg.pidDir}
+        chown -R gateone:gateone ${cfg.pidDir}
       fi
       '';
     #unitConfig.RequiresMountsFor = "${cfg.settingsDir}";
diff --git a/nixos/modules/services/networking/ircd-hybrid/ircd.conf b/nixos/modules/services/networking/ircd-hybrid/ircd.conf
index 17ef203840af5..b82094cf5f093 100644
--- a/nixos/modules/services/networking/ircd-hybrid/ircd.conf
+++ b/nixos/modules/services/networking/ircd-hybrid/ircd.conf
@@ -98,7 +98,7 @@ serverinfo {
 	 * 
 	 * 	openssl genrsa -out rsa.key 2048
 	 *	openssl rsa -in rsa.key -pubout -out rsa.pub
-	 *	chown <ircd-user>.<ircd.group> rsa.key rsa.pub
+	 *	chown <ircd-user>:<ircd.group> rsa.key rsa.pub
 	 *	chmod 0600 rsa.key
 	 *	chmod 0644 rsa.pub
 	 */
diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix
index c6d4c14dcb7e2..9b8382392c0a7 100644
--- a/nixos/modules/services/networking/pleroma.nix
+++ b/nixos/modules/services/networking/pleroma.nix
@@ -1,7 +1,6 @@
 { config, options, lib, pkgs, stdenv, ... }:
 let
   cfg = config.services.pleroma;
-  cookieFile = "/var/lib/pleroma/.cookie";
 in {
   options = {
     services.pleroma = with lib; {
@@ -9,7 +8,7 @@ in {
 
       package = mkOption {
         type = types.package;
-        default = pkgs.pleroma.override { inherit cookieFile; };
+        default = pkgs.pleroma;
         defaultText = literalExpression "pkgs.pleroma";
         description = "Pleroma package to use.";
       };
@@ -101,6 +100,7 @@ in {
       after = [ "network-online.target" "postgresql.service" ];
       wantedBy = [ "multi-user.target" ];
       restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ];
+      environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie";
       serviceConfig = {
         User = cfg.user;
         Group = cfg.group;
@@ -118,10 +118,10 @@ in {
         # Better be safe than sorry migration-wise.
         ExecStartPre =
           let preScript = pkgs.writers.writeBashBin "pleromaStartPre" ''
-            if [ ! -f "${cookieFile}" ] || [ ! -s "${cookieFile}" ]
+            if [ ! -f /var/lib/pleroma/.cookie ]
             then
               echo "Creating cookie file"
-              dd if=/dev/urandom bs=1 count=16 | ${pkgs.hexdump}/bin/hexdump -e '16/1 "%02x"' > "${cookieFile}"
+              dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie
             fi
             ${cfg.package}/bin/pleroma_ctl migrate
           '';
diff --git a/nixos/modules/services/networking/pptpd.nix b/nixos/modules/services/networking/pptpd.nix
index 3e7753b9dd352..423e14e998f85 100644
--- a/nixos/modules/services/networking/pptpd.nix
+++ b/nixos/modules/services/networking/pptpd.nix
@@ -108,7 +108,7 @@ with lib;
         #username	pptpd	password	*
         EOF
 
-        chown root.root "$secrets"
+        chown root:root "$secrets"
         chmod 600 "$secrets"
       '';
 
diff --git a/nixos/modules/services/networking/prayer.nix b/nixos/modules/services/networking/prayer.nix
index ae9258b27122f..513509eaca3ab 100644
--- a/nixos/modules/services/networking/prayer.nix
+++ b/nixos/modules/services/networking/prayer.nix
@@ -82,7 +82,7 @@ in
       serviceConfig.Type = "forking";
       preStart = ''
         mkdir -m 0755 -p ${stateDir}
-        chown ${prayerUser}.${prayerGroup} ${stateDir}
+        chown ${prayerUser}:${prayerGroup} ${stateDir}
       '';
       script = "${prayer}/sbin/prayer --config-file=${prayerCfg}";
     };
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 230ab673a9761..d467c3c0471cf 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -441,6 +441,7 @@ in
 
                 ${flip concatMapStrings cfg.hostKeys (k: ''
                   if ! [ -s "${k.path}" ]; then
+                      rm -f "${k.path}"
                       ssh-keygen \
                         -t "${k.type}" \
                         ${if k ? bits then "-b ${toString k.bits}" else ""} \
diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix
index 8df450a11c633..e111b311d68f4 100644
--- a/nixos/modules/services/networking/supplicant.nix
+++ b/nixos/modules/services/networking/supplicant.nix
@@ -226,10 +226,10 @@ in
               ACTION=="add", SUBSYSTEM=="net", ENV{INTERFACE}=="${i}", TAG+="systemd", ENV{SYSTEMD_WANTS}+="supplicant-${replaceChars [" "] ["-"] iface}.service", TAG+="SUPPLICANT_ASSIGNED"''))}
 
           ${optionalString (hasAttr "WLAN" cfg) ''
-            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="${pkgs.systemd}/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-wlan@$result.service"
+            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="wlan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="/run/current-system/systemd/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-wlan@$result.service"
           ''}
           ${optionalString (hasAttr "LAN" cfg) ''
-            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="lan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="${pkgs.systemd}/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-lan@$result.service"
+            ACTION=="add", SUBSYSTEM=="net", ENV{DEVTYPE}=="lan", TAG!="SUPPLICANT_ASSIGNED", TAG+="systemd", PROGRAM="/run/current-system/systemd/bin/systemd-escape -p %E{INTERFACE}", ENV{SYSTEMD_WANTS}+="supplicant-lan@$result.service"
           ''}
         '';
       })];
diff --git a/nixos/modules/services/networking/tailscale.nix b/nixos/modules/services/networking/tailscale.nix
index 1f64113950a79..0133874d0e0d0 100644
--- a/nixos/modules/services/networking/tailscale.nix
+++ b/nixos/modules/services/networking/tailscale.nix
@@ -2,9 +2,13 @@
 
 with lib;
 
-let cfg = config.services.tailscale;
+let
+  cfg = config.services.tailscale;
+  firewallOn = config.networking.firewall.enable;
+  rpfMode = config.networking.firewall.checkReversePath;
+  rpfIsStrict = rpfMode == true || rpfMode == "strict";
 in {
-  meta.maintainers = with maintainers; [ danderson mbaillie ];
+  meta.maintainers = with maintainers; [ danderson mbaillie twitchyliquid64 ];
 
   options.services.tailscale = {
     enable = mkEnableOption "Tailscale client daemon";
@@ -36,17 +40,34 @@ in {
   };
 
   config = mkIf cfg.enable {
+    warnings = optional (firewallOn && rpfIsStrict) "Strict reverse path filtering breaks Tailscale exit node use and some subnet routing setups. Consider setting `networking.firewall.checkReversePath` = 'loose'";
     environment.systemPackages = [ cfg.package ]; # for the CLI
     systemd.packages = [ cfg.package ];
     systemd.services.tailscaled = {
       wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.openresolv pkgs.procps ];
+      path = [
+        pkgs.openresolv # for configuring DNS in some configs
+        pkgs.procps     # for collecting running services (opt-in feature)
+        pkgs.glibc      # for `getent` to look up user shells
+      ];
       serviceConfig.Environment = [
         "PORT=${toString cfg.port}"
         ''"FLAGS=--tun ${lib.escapeShellArg cfg.interfaceName}"''
       ] ++ (lib.optionals (cfg.permitCertUid != null) [
         "TS_PERMIT_CERT_UID=${cfg.permitCertUid}"
       ]);
+      # Restart tailscaled with a single `systemctl restart` at the
+      # end of activation, rather than a `stop` followed by a later
+      # `start`. Activation over Tailscale can hang for tens of
+      # seconds in the stop+start setup, if the activation script has
+      # a significant delay between the stop and start phases
+      # (e.g. script blocked on another unit with a slow shutdown).
+      #
+      # Tailscale is aware of the correctness tradeoff involved, and
+      # already makes its upstream systemd unit robust against unit
+      # version mismatches on restart for compatibility with other
+      # linux distros.
+      stopIfChanged = false;
     };
   };
 }
diff --git a/nixos/modules/services/networking/uptermd.nix b/nixos/modules/services/networking/uptermd.nix
new file mode 100644
index 0000000000000..072f561f5c3c6
--- /dev/null
+++ b/nixos/modules/services/networking/uptermd.nix
@@ -0,0 +1,106 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.uptermd;
+in
+{
+  options = {
+    services.uptermd = {
+      enable = mkEnableOption "uptermd";
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to open the firewall for the port in <option>services.uptermd.port</option>.
+        '';
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 2222;
+        description = ''
+          Port the server will listen on.
+        '';
+      };
+
+      listenAddress = mkOption {
+        type = types.str;
+        default = "[::]";
+        example = "127.0.0.1";
+        description = ''
+          Address the server will listen on.
+        '';
+      };
+
+      hostKey = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/upterm_host_ed25519_key";
+        description = ''
+          Path to SSH host key. If not defined, an ed25519 keypair is generated automatically.
+        '';
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "--debug" ];
+        description = ''
+          Extra flags passed to the uptermd command.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    networking.firewall = mkIf cfg.openFirewall {
+      allowedTCPPorts = [ cfg.port ];
+    };
+
+    systemd.services.uptermd = {
+      description = "Upterm Daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+
+      path = [ pkgs.openssh ];
+
+      preStart = mkIf (cfg.hostKey == null) ''
+        if ! [ -f ssh_host_ed25519_key ]; then
+          ssh-keygen \
+            -t ed25519 \
+            -f ssh_host_ed25519_key \
+            -N ""
+        fi
+      '';
+
+      serviceConfig = {
+        StateDirectory = "uptermd";
+        WorkingDirectory = "/var/lib/uptermd";
+        ExecStart = "${pkgs.upterm}/bin/uptermd --ssh-addr ${cfg.listenAddress}:${toString cfg.port} --private-key ${if cfg.hostKey == null then "ssh_host_ed25519_key" else cfg.hostKey} ${concatStringsSep " " cfg.extraFlags}";
+
+        # Hardening
+        AmbientCapabilities = mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+        PrivateUsers = cfg.port >= 1024;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        PrivateDevices = true;
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = "@system-service";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/xl2tpd.nix b/nixos/modules/services/networking/xl2tpd.nix
index 7dbe51422d964..9418488c1e94f 100644
--- a/nixos/modules/services/networking/xl2tpd.nix
+++ b/nixos/modules/services/networking/xl2tpd.nix
@@ -116,18 +116,18 @@ with lib;
         #username	xl2tpd	password	*
         EOF
 
-        chown root.root ppp/chap-secrets
+        chown root:root ppp/chap-secrets
         chmod 600 ppp/chap-secrets
 
         # The documentation says this file should be present but doesn't explain why and things work even if not there:
         [ -f l2tp-secrets ] || (echo -n "* * "; ${pkgs.apg}/bin/apg -n 1 -m 32 -x 32 -a 1 -M LCN) > l2tp-secrets
-        chown root.root l2tp-secrets
+        chown root:root l2tp-secrets
         chmod 600 l2tp-secrets
 
         popd > /dev/null
 
         mkdir -p /run/xl2tpd
-        chown root.root /run/xl2tpd
+        chown root:root /run/xl2tpd
         chmod 700       /run/xl2tpd
       '';
 
diff --git a/nixos/modules/services/security/kanidm.nix b/nixos/modules/services/security/kanidm.nix
new file mode 100644
index 0000000000000..a7c51b9a877f1
--- /dev/null
+++ b/nixos/modules/services/security/kanidm.nix
@@ -0,0 +1,345 @@
+{ config, lib, options, pkgs, ... }:
+let
+  cfg = config.services.kanidm;
+  settingsFormat = pkgs.formats.toml { };
+  # Remove null values, so we can document optional values that don't end up in the generated TOML file.
+  filterConfig = lib.converge (lib.filterAttrsRecursive (_: v: v != null));
+  serverConfigFile = settingsFormat.generate "server.toml" (filterConfig cfg.serverSettings);
+  clientConfigFile = settingsFormat.generate "kanidm-config.toml" (filterConfig cfg.clientSettings);
+  unixConfigFile = settingsFormat.generate "kanidm-unixd.toml" (filterConfig cfg.unixSettings);
+
+  defaultServiceConfig = {
+    BindReadOnlyPaths = [
+      "/nix/store"
+      "-/etc/resolv.conf"
+      "-/etc/nsswitch.conf"
+      "-/etc/hosts"
+      "-/etc/localtime"
+    ];
+    CapabilityBoundingSet = "";
+    # ProtectClock= adds DeviceAllow=char-rtc r
+    DeviceAllow = "";
+    # Implies ProtectSystem=strict, which re-mounts all paths
+    # DynamicUser = true;
+    LockPersonality = true;
+    MemoryDenyWriteExecute = true;
+    NoNewPrivileges = true;
+    PrivateDevices = true;
+    PrivateMounts = true;
+    PrivateNetwork = true;
+    PrivateTmp = true;
+    PrivateUsers = true;
+    ProcSubset = "pid";
+    ProtectClock = true;
+    ProtectHome = true;
+    ProtectHostname = true;
+    # Would re-mount paths ignored by temporary root
+    #ProtectSystem = "strict";
+    ProtectControlGroups = true;
+    ProtectKernelLogs = true;
+    ProtectKernelModules = true;
+    ProtectKernelTunables = true;
+    ProtectProc = "invisible";
+    RestrictAddressFamilies = [ ];
+    RestrictNamespaces = true;
+    RestrictRealtime = true;
+    RestrictSUIDSGID = true;
+    SystemCallArchitectures = "native";
+    SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
+    # Does not work well with the temporary root
+    #UMask = "0066";
+  };
+
+in
+{
+  options.services.kanidm = {
+    enableClient = lib.mkEnableOption "the Kanidm client";
+    enableServer = lib.mkEnableOption "the Kanidm server";
+    enablePam = lib.mkEnableOption "the Kanidm PAM and NSS integration.";
+
+    serverSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options = {
+          bindaddress = lib.mkOption {
+            description = "Address/port combination the webserver binds to.";
+            example = "[::1]:8443";
+            type = lib.types.str;
+          };
+          # Should be optional but toml does not accept null
+          ldapbindaddress = lib.mkOption {
+            description = ''
+              Address and port the LDAP server is bound to. Setting this to <literal>null</literal> disables the LDAP interface.
+            '';
+            example = "[::1]:636";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          origin = lib.mkOption {
+            description = "The origin of your Kanidm instance. Must have https as protocol.";
+            example = "https://idm.example.org";
+            type = lib.types.strMatching "^https://.*";
+          };
+          domain = lib.mkOption {
+            description = ''
+              The <literal>domain</literal> that Kanidm manages. Must be below or equal to the domain
+              specified in <literal>serverSettings.origin</literal>.
+              This can be left at <literal>null</literal>, only if your instance has the role <literal>ReadOnlyReplica</literal>.
+              While it is possible to change the domain later on, it requires extra steps!
+              Please consider the warnings and execute the steps described
+              <link xlink:href="https://kanidm.github.io/kanidm/stable/administrivia.html#rename-the-domain">in the documentation</link>.
+            '';
+            example = "example.org";
+            default = null;
+            type = lib.types.nullOr lib.types.str;
+          };
+          db_path = lib.mkOption {
+            description = "Path to Kanidm database.";
+            default = "/var/lib/kanidm/kanidm.db";
+            readOnly = true;
+            type = lib.types.path;
+          };
+          log_level = lib.mkOption {
+            description = "Log level of the server.";
+            default = "default";
+            type = lib.types.enum [ "default" "verbose" "perfbasic" "perffull" ];
+          };
+          role = lib.mkOption {
+            description = "The role of this server. This affects the replication relationship and thereby available features.";
+            default = "WriteReplica";
+            type = lib.types.enum [ "WriteReplica" "WriteReplicaNoUI" "ReadOnlyReplica" ];
+          };
+        };
+      };
+      default = { };
+      description = ''
+        Settings for Kanidm, see
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/server_configuration.md">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/server.toml">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    clientSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.uri = lib.mkOption {
+          description = "Address of the Kanidm server.";
+          example = "http://127.0.0.1:8080";
+          type = lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm clients, needed for the PAM daemon. See
+        <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/client_tools.md#kanidm-configuration">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/config">example configuration</link>
+        for possible values.
+      '';
+    };
+
+    unixSettings = lib.mkOption {
+      type = lib.types.submodule {
+        freeformType = settingsFormat.type;
+
+        options.pam_allowed_login_groups = lib.mkOption {
+          description = "Kanidm groups that are allowed to login using PAM.";
+          example = "my_pam_group";
+          type = lib.types.listOf lib.types.str;
+        };
+      };
+      description = ''
+        Configure Kanidm unix daemon.
+        See <link xlink:href="https://github.com/kanidm/kanidm/blob/master/kanidm_book/src/pam_and_nsswitch.md#the-unix-daemon">the documentation</link>
+        and <link xlink:href="https://github.com/kanidm/kanidm/blob/master/examples/unixd">example configuration</link>
+        for possible values.
+      '';
+    };
+  };
+
+  config = lib.mkIf (cfg.enableClient || cfg.enableServer || cfg.enablePam) {
+    assertions =
+      [
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_chain or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_chain);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_chain</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || ((cfg.serverSettings.tls_key or null) == null) || (!lib.isStorePath cfg.serverSettings.tls_key);
+          message = ''
+            <option>services.kanidm.serverSettings.tls_key</option> points to
+            a file in the Nix store. You should use a quoted absolute path to
+            prevent this.
+          '';
+        }
+        {
+          assertion = !cfg.enableClient || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            if the client is enabled.
+          '';
+        }
+        {
+          assertion = !cfg.enablePam || options.services.kanidm.clientSettings.isDefined;
+          message = ''
+            <option>services.kanidm.clientSettings</option> needs to be configured
+            for the PAM daemon to connect to the Kanidm server.
+          '';
+        }
+        {
+          assertion = !cfg.enableServer || (cfg.serverSettings.domain == null
+            -> cfg.serverSettings.role == "WriteReplica" || cfg.serverSettings.role == "WriteReplicaNoUI");
+          message = ''
+            <option>services.kanidm.serverSettings.domain</option> can only be set if this instance
+            is not a ReadOnlyReplica. Otherwise the db would inherit it from
+            the instance it follows.
+          '';
+        }
+      ];
+
+    environment.systemPackages = lib.mkIf cfg.enableClient [ pkgs.kanidm ];
+
+    systemd.services.kanidm = lib.mkIf cfg.enableServer {
+      description = "kanidm identity management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      serviceConfig = defaultServiceConfig // {
+        StateDirectory = "kanidm";
+        StateDirectoryMode = "0700";
+        ExecStart = "${pkgs.kanidm}/bin/kanidmd server -c ${serverConfigFile}";
+        User = "kanidm";
+        Group = "kanidm";
+
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+        # This would otherwise override the CAP_NET_BIND_SERVICE capability.
+        PrivateUsers = false;
+        # Port needs to be exposed to the host network
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = defaultServiceConfig // {
+        CacheDirectory = "kanidm-unixd";
+        CacheDirectoryMode = "0700";
+        RuntimeDirectory = "kanidm-unixd";
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd";
+        User = "kanidm-unixd";
+        Group = "kanidm-unixd";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To create the socket
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # Needs to connect to kanidmd
+        PrivateNetwork = false;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    systemd.services.kanidm-unixd-tasks = lib.mkIf cfg.enablePam {
+      description = "Kanidm PAM home management daemon";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "kanidm-unixd.service" ];
+      partOf = [ "kanidm-unixd.service" ];
+      restartTriggers = [ unixConfigFile clientConfigFile ];
+      serviceConfig = {
+        ExecStart = "${pkgs.kanidm}/bin/kanidm_unixd_tasks";
+
+        BindReadOnlyPaths = [
+          "/nix/store"
+          "-/etc/resolv.conf"
+          "-/etc/nsswitch.conf"
+          "-/etc/hosts"
+          "-/etc/localtime"
+          "-/etc/kanidm"
+          "-/etc/static/kanidm"
+        ];
+        BindPaths = [
+          # To manage home directories
+          "/home"
+          # To connect to kanidm-unixd
+          "/run/kanidm-unixd:/var/run/kanidm-unixd"
+        ];
+        # CAP_DAC_OVERRIDE is needed to ignore ownership of unixd socket
+        CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_DAC_READ_SEARCH" ];
+        IPAddressDeny = "any";
+        # Need access to users
+        PrivateUsers = false;
+        # Need access to home directories
+        ProtectHome = false;
+        RestrictAddressFamilies = [ "AF_UNIX" ];
+        TemporaryFileSystem = "/:ro";
+      };
+      environment.RUST_LOG = "info";
+    };
+
+    # These paths are hardcoded
+    environment.etc = lib.mkMerge [
+      (lib.mkIf options.services.kanidm.clientSettings.isDefined {
+        "kanidm/config".source = clientConfigFile;
+      })
+      (lib.mkIf cfg.enablePam {
+        "kanidm/unixd".source = unixConfigFile;
+      })
+    ];
+
+    system.nssModules = lib.mkIf cfg.enablePam [ pkgs.kanidm ];
+
+    system.nssDatabases.group = lib.optional cfg.enablePam "kanidm";
+    system.nssDatabases.passwd = lib.optional cfg.enablePam "kanidm";
+
+    users.groups = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = { };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = { };
+      })
+    ];
+    users.users = lib.mkMerge [
+      (lib.mkIf cfg.enableServer {
+        kanidm = {
+          description = "Kanidm server";
+          isSystemUser = true;
+          group = "kanidm";
+          packages = with pkgs; [ kanidm ];
+        };
+      })
+      (lib.mkIf cfg.enablePam {
+        kanidm-unixd = {
+          description = "Kanidm PAM daemon";
+          isSystemUser = true;
+          group = "kanidm-unixd";
+        };
+      })
+    ];
+  };
+
+  meta.maintainers = with lib.maintainers; [ erictapen Flakebi ];
+  meta.buildDocsInSandbox = false;
+}
diff --git a/nixos/modules/services/security/sshguard.nix b/nixos/modules/services/security/sshguard.nix
index 53bd9efa5ac7b..3be0a8c700b9e 100644
--- a/nixos/modules/services/security/sshguard.nix
+++ b/nixos/modules/services/security/sshguard.nix
@@ -17,7 +17,7 @@ let
       else "sshg-fw-ipset";
   in pkgs.writeText "sshguard.conf" ''
     BACKEND="${pkgs.sshguard}/libexec/${backend}"
-    LOGREADER="LANG=C ${pkgs.systemd}/bin/journalctl ${args}"
+    LOGREADER="LANG=C ${config.systemd.package}/bin/journalctl ${args}"
   '';
 
 in {
diff --git a/nixos/modules/services/wayland/cage.nix b/nixos/modules/services/wayland/cage.nix
index a32b81a916fc2..b818f5c463a91 100644
--- a/nixos/modules/services/wayland/cage.nix
+++ b/nixos/modules/services/wayland/cage.nix
@@ -88,7 +88,7 @@ in {
       account required pam_unix.so
       session required pam_unix.so
       session required pam_env.so conffile=/etc/pam/environment readenv=0
-      session required ${pkgs.systemd}/lib/security/pam_systemd.so
+      session required ${config.systemd.package}/lib/security/pam_systemd.so
     '';
 
     hardware.opengl.enable = mkDefault true;
diff --git a/nixos/modules/services/web-apps/atlassian/confluence.nix b/nixos/modules/services/web-apps/atlassian/confluence.nix
index 2d809c17ff098..28491fb3a4eed 100644
--- a/nixos/modules/services/web-apps/atlassian/confluence.nix
+++ b/nixos/modules/services/web-apps/atlassian/confluence.nix
@@ -189,6 +189,8 @@ in
         User = cfg.user;
         Group = cfg.group;
         PrivateTmp = true;
+        Restart = "on-failure";
+        RestartSec = "10";
         ExecStart = "${pkg}/bin/start-confluence.sh -fg";
         ExecStop = "${pkg}/bin/stop-confluence.sh";
       };
diff --git a/nixos/modules/services/web-apps/atlassian/crowd.nix b/nixos/modules/services/web-apps/atlassian/crowd.nix
index a8b2482d5a9cc..79306541b855b 100644
--- a/nixos/modules/services/web-apps/atlassian/crowd.nix
+++ b/nixos/modules/services/web-apps/atlassian/crowd.nix
@@ -157,6 +157,8 @@ in
         User = cfg.user;
         Group = cfg.group;
         PrivateTmp = true;
+        Restart = "on-failure";
+        RestartSec = "10";
         ExecStart = "${pkg}/start_crowd.sh -fg";
       };
     };
diff --git a/nixos/modules/services/web-apps/atlassian/jira.nix b/nixos/modules/services/web-apps/atlassian/jira.nix
index a120f6cdb3d88..bc0bf43522e0e 100644
--- a/nixos/modules/services/web-apps/atlassian/jira.nix
+++ b/nixos/modules/services/web-apps/atlassian/jira.nix
@@ -197,6 +197,8 @@ in
         User = cfg.user;
         Group = cfg.group;
         PrivateTmp = true;
+        Restart = "on-failure";
+        RestartSec = "10";
         ExecStart = "${pkg}/bin/start-jira.sh -fg";
         ExecStop = "${pkg}/bin/stop-jira.sh";
       };
diff --git a/nixos/modules/services/web-apps/hedgedoc.nix b/nixos/modules/services/web-apps/hedgedoc.nix
index 9eeabb9d5662b..6a46ffbd17d45 100644
--- a/nixos/modules/services/web-apps/hedgedoc.nix
+++ b/nixos/modules/services/web-apps/hedgedoc.nix
@@ -1023,6 +1023,7 @@ in
       '';
       serviceConfig = {
         WorkingDirectory = cfg.workDir;
+        StateDirectory = [ cfg.workDir cfg.configuration.uploadsPath ];
         ExecStart = "${cfg.package}/bin/hedgedoc";
         EnvironmentFile = mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
         Environment = [
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index 2d817ca19234b..a1855e1c1a791 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -540,7 +540,8 @@ in
               db = if cfg.database.type == "postgresql" then "postgres" else cfg.database.type;
               db-username = if databaseActuallyCreateLocally then "keycloak" else cfg.database.username;
               db-password._secret = cfg.database.passwordFile;
-              db-url-host = "${cfg.database.host}:${toString cfg.database.port}";
+              db-url-host = cfg.database.host;
+              db-url-port = toString cfg.database.port;
               db-url-database = if databaseActuallyCreateLocally then "keycloak" else cfg.database.name;
               db-url-properties = prefixUnlessEmpty "?" dbProps;
               db-url = null;
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index fbfcc33b2dce0..03adaadff93d0 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -294,7 +294,7 @@ in {
         port = lib.mkOption {
           description = "Redis port.";
           type = lib.types.port;
-          default = 6379;
+          default = 31637;
         };
       };
 
@@ -605,8 +605,10 @@ in {
       enable = true;
       hostname = lib.mkDefault "${cfg.localDomain}";
     };
-    services.redis = lib.mkIf (cfg.redis.createLocally && cfg.redis.host == "127.0.0.1") {
+    services.redis.servers.mastodon = lib.mkIf (cfg.redis.createLocally && cfg.redis.host == "127.0.0.1") {
       enable = true;
+      port = cfg.redis.port;
+      bind = "127.0.0.1";
     };
     services.postgresql = lib.mkIf databaseActuallyCreateLocally {
       enable = true;
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index 4b36cc8754c61..0bfa2368787ff 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -294,7 +294,7 @@ in
         ln -sf "${cfg.dataDir}/client/img" "${runDir}/client/img"
 
         chmod g+w "${runDir}/tmp/cache"
-        chown -R "${cfg.user}"."${cfg.group}" "${runDir}"
+        chown -R "${cfg.user}":"${cfg.group}" "${runDir}"
 
 
         mkdir -m 0750 -p "${cfg.dataDir}"
@@ -302,9 +302,9 @@ in
         mkdir -m 0750 -p "${cfg.dataDir}/client/img"
         cp -r "${pkgs.restya-board}/media/"* "${cfg.dataDir}/media"
         cp -r "${pkgs.restya-board}/client/img/"* "${cfg.dataDir}/client/img"
-        chown "${cfg.user}"."${cfg.group}" "${cfg.dataDir}"
-        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/media"
-        chown -R "${cfg.user}"."${cfg.group}" "${cfg.dataDir}/client/img"
+        chown "${cfg.user}":"${cfg.group}" "${cfg.dataDir}"
+        chown -R "${cfg.user}":"${cfg.group}" "${cfg.dataDir}/media"
+        chown -R "${cfg.user}":"${cfg.group}" "${cfg.dataDir}/client/img"
 
         ${optionalString (cfg.database.host == null) ''
           if ! [ -e "${cfg.dataDir}/.db-initialized" ]; then
diff --git a/nixos/modules/services/web-apps/snipe-it.nix b/nixos/modules/services/web-apps/snipe-it.nix
new file mode 100644
index 0000000000000..f14171d02f351
--- /dev/null
+++ b/nixos/modules/services/web-apps/snipe-it.nix
@@ -0,0 +1,493 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.snipe-it;
+  snipe-it = pkgs.snipe-it.override {
+    dataDir = cfg.dataDir;
+  };
+  db = cfg.database;
+  mail = cfg.mail;
+
+  user = cfg.user;
+  group = cfg.group;
+
+  tlsEnabled = cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME;
+
+  # shell script for local administration
+  artisan = pkgs.writeScriptBin "snipe-it" ''
+    #! ${pkgs.runtimeShell}
+    cd ${snipe-it}
+    sudo=exec
+    if [[ "$USER" != ${user} ]]; then
+      sudo='exec /run/wrappers/bin/sudo -u ${user}'
+    fi
+    $sudo ${pkgs.php}/bin/php artisan $*
+  '';
+in {
+  options.services.snipe-it = {
+
+    enable = mkEnableOption "A free open source IT asset/license management system";
+
+    user = mkOption {
+      default = "snipeit";
+      description = "User snipe-it runs as.";
+      type = types.str;
+    };
+
+    group = mkOption {
+      default = "snipeit";
+      description = "Group snipe-it runs as.";
+      type = types.str;
+    };
+
+    appKeyFile = mkOption {
+      description = ''
+        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/snipe-it/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 = "snipe-it.example.com";
+      description = ''
+        The hostname to serve Snipe-IT on.
+      '';
+    };
+
+    appURL = mkOption {
+      description = ''
+        The root URL that you want to host Snipe-IT on. All URLs in Snipe-IT 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>snipe-it snipe-it: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;
+    };
+
+    dataDir = mkOption {
+      description = "snipe-it data directory";
+      default = "/var/lib/snipe-it";
+      type = types.path;
+    };
+
+    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 = "snipeit";
+        description = "Database name.";
+      };
+      user = mkOption {
+        type = types.str;
+        default = user;
+        defaultText = literalExpression "user";
+        description = "Database username.";
+      };
+      passwordFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/run/keys/snipe-it/dbpassword";
+        description = ''
+          A file containing the password corresponding to
+          <option>database.user</option>.
+        '';
+      };
+      createLocally = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Create the database and database user locally.";
+      };
+    };
+
+    mail = {
+      driver = mkOption {
+        type = types.enum [ "smtp" "sendmail" ];
+        default = "smtp";
+        description = "Mail driver to use.";
+      };
+      host = mkOption {
+        type = types.str;
+        default = "localhost";
+        description = "Mail host address.";
+      };
+      port = mkOption {
+        type = types.port;
+        default = 1025;
+        description = "Mail host port.";
+      };
+      encryption = mkOption {
+        type = with types; nullOr (enum [ "tls" "ssl" ]);
+        default = null;
+        description = "SMTP encryption mechanism to use.";
+      };
+      user = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        example = "snipeit";
+        description = "Mail username.";
+      };
+      passwordFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/run/keys/snipe-it/mailpassword";
+        description = ''
+          A file containing the password corresponding to
+          <option>mail.user</option>.
+        '';
+      };
+      backupNotificationAddress = mkOption {
+        type = types.str;
+        default = "backup@example.com";
+        description = "Email Address to send Backup Notifications to.";
+      };
+      from = {
+        name = mkOption {
+          type = types.str;
+          default = "Snipe-IT Asset Management";
+          description = "Mail \"from\" name.";
+        };
+        address = mkOption {
+          type = types.str;
+          default = "mail@example.com";
+          description = "Mail \"from\" address.";
+        };
+      };
+      replyTo = {
+        name = mkOption {
+          type = types.str;
+          default = "Snipe-IT Asset Management";
+          description = "Mail \"reply-to\" name.";
+        };
+        address = mkOption {
+          type = types.str;
+          default = "mail@example.com";
+          description = "Mail \"reply-to\" address.";
+        };
+      };
+    };
+
+    maxUploadSize = mkOption {
+      type = types.str;
+      default = "18M";
+      example = "1G";
+      description = "The maximum size for uploads (e.g. images).";
+    };
+
+    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 snipe-it PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+        for details on configuration directives.
+      '';
+    };
+
+    nginx = mkOption {
+      type = types.submodule (
+        recursiveUpdate
+          (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {}
+      );
+      default = {};
+      example = literalExpression ''
+        {
+          serverAliases = [
+            "snipe-it.''${config.networking.domain}"
+          ];
+          # To enable encryption and let let's encrypt take care of certificate
+          forceSSL = true;
+          enableACME = true;
+        }
+      '';
+      description = ''
+        With this option, you can customize the nginx virtualHost settings.
+      '';
+    };
+
+    config = mkOption {
+      type = with types;
+        attrsOf
+          (nullOr
+            (either
+              (oneOf [
+                bool
+                int
+                port
+                path
+                str
+              ])
+              (submodule {
+                options = {
+                  _secret = mkOption {
+                    type = nullOr (oneOf [ str path ]);
+                    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 = "''${pkgs.wkhtmltopdf}/bin/wkhtmltopdf";
+          AUTH_METHOD = "oidc";
+          OIDC_NAME = "MyLogin";
+          OIDC_DISPLAY_NAME_CLAIMS = "name";
+          OIDC_CLIENT_ID = "snipe-it";
+          OIDC_CLIENT_SECRET = {_secret = "/run/keys/oidc_secret"};
+          OIDC_ISSUER = "https://keycloak.example.com/auth/realms/My%20Realm";
+          OIDC_ISSUER_DISCOVER = true;
+        }
+      '';
+      description = ''
+        Snipe-IT configuration options to set in the
+        <filename>.env</filename> file.
+        Refer to <link xlink:href="https://snipe-it.readme.io/docs/configuration"/>
+        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.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+
+    assertions = [
+      { assertion = db.createLocally -> db.user == user;
+        message = "services.snipe-it.database.user must be set to ${user} if services.snipe-it.database.createLocally is set true.";
+      }
+      { assertion = db.createLocally -> db.passwordFile == null;
+        message = "services.snipe-it.database.passwordFile cannot be specified if services.snipe-it.database.createLocally is set to true.";
+      }
+    ];
+
+    environment.systemPackages = [ artisan ];
+
+    services.snipe-it.config = {
+      APP_ENV = "production";
+      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;
+      DB_PASSWORD._secret = db.passwordFile;
+      MAIL_DRIVER = mail.driver;
+      MAIL_FROM_NAME = mail.from.name;
+      MAIL_FROM_ADDR = mail.from.address;
+      MAIL_REPLYTO_NAME = mail.from.name;
+      MAIL_REPLYTO_ADDR = mail.from.address;
+      MAIL_BACKUP_NOTIFICATION_ADDRESS = mail.backupNotificationAddress;
+      MAIL_HOST = mail.host;
+      MAIL_PORT = mail.port;
+      MAIL_USERNAME = mail.user;
+      MAIL_ENCRYPTION = mail.encryption;
+      MAIL_PASSWORD._secret = mail.passwordFile;
+      APP_SERVICES_CACHE = "/run/snipe-it/cache/services.php";
+      APP_PACKAGES_CACHE = "/run/snipe-it/cache/packages.php";
+      APP_CONFIG_CACHE = "/run/snipe-it/cache/config.php";
+      APP_ROUTES_CACHE = "/run/snipe-it/cache/routes-v7.php";
+      APP_EVENTS_CACHE = "/run/snipe-it/cache/events.php";
+      SESSION_SECURE_COOKIE = tlsEnabled;
+    };
+
+    services.mysql = mkIf db.createLocally {
+      enable = true;
+      package = mkDefault pkgs.mariadb;
+      ensureDatabases = [ db.name ];
+      ensureUsers = [
+        { name = db.user;
+          ensurePermissions = { "${db.name}.*" = "ALL PRIVILEGES"; };
+        }
+      ];
+    };
+
+    services.phpfpm.pools.snipe-it = {
+      inherit user group;
+      phpPackage = pkgs.php74;
+      phpOptions = ''
+        post_max_size = ${cfg.maxUploadSize}
+        upload_max_filesize = ${cfg.maxUploadSize}
+      '';
+      settings = {
+        "listen.mode" = "0660";
+        "listen.owner" = user;
+        "listen.group" = group;
+      } // cfg.poolConfig;
+    };
+
+    services.nginx = {
+      enable = mkDefault true;
+      virtualHosts."${cfg.hostName}" = mkMerge [ cfg.nginx {
+        root = mkForce "${snipe-it}/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 ${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."snipe-it".socket};
+              ${optionalString (cfg.nginx.addSSL || cfg.nginx.forceSSL || cfg.nginx.onlySSL || cfg.nginx.enableACME) "fastcgi_param HTTPS on;"}
+            '';
+          };
+          "~ \.(js|css|gif|png|ico|jpg|jpeg)$" = {
+            extraConfig = "expires 365d;";
+          };
+        };
+      }];
+    };
+
+    systemd.services.snipe-it-setup = {
+      description = "Preperation tasks for snipe-it";
+      before = [ "phpfpm-snipe-it.service" ];
+      after = optional db.createLocally "mysql.service";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+        User = user;
+        WorkingDirectory = snipe-it;
+        RuntimeDirectory = "snipe-it/cache";
+        RuntimeDirectoryMode = 0700;
+      };
+      path = [ pkgs.replace-secret ];
+      script =
+        let
+          isSecret  = v: isAttrs v && v ? _secret && (isString v._secret || builtins.isPath v._secret);
+          snipeITEnvVars = 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
+                  if (isString v._secret) then
+                    hashString "sha256" v._secret
+                  else
+                    hashString "sha256" (builtins.readFile 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 [
+              (
+                if (isString file) then
+                  builtins.hashString "sha256" file
+                else
+                  builtins.hashString "sha256" (builtins.readFile file)
+              )
+              file
+              "${cfg.dataDir}/.env"
+            ]}
+          '';
+          secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths;
+          filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ {} null ])) cfg.config;
+          snipeITEnv = pkgs.writeText "snipeIT.env" (snipeITEnvVars filteredConfig);
+        in ''
+          # error handling
+          set -euo pipefail
+
+          # set permissions
+          umask 077
+
+          # create .env file
+          install -T -m 0600 -o ${user} ${snipeITEnv} "${cfg.dataDir}/.env"
+
+          # replace secrets
+          ${secretReplacements}
+
+          # prepend `base64:` if it does not exist in APP_KEY
+          if ! grep 'APP_KEY=base64:' "${cfg.dataDir}/.env" >/dev/null; then
+              sed -i 's/APP_KEY=/APP_KEY=base64:/' "${cfg.dataDir}/.env"
+          fi
+
+          # purge cache
+          rm "${cfg.dataDir}"/bootstrap/cache/*.php || true
+
+          # migrate db
+          ${pkgs.php}/bin/php artisan migrate --force
+        '';
+    };
+
+    systemd.tmpfiles.rules = [
+      "d ${cfg.dataDir}                            0710 ${user} ${group} - -"
+      "d ${cfg.dataDir}/bootstrap                  0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/bootstrap/cache            0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/public                     0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/public/uploads             0750 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage                    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/app                0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/fonts              0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework          0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/cache    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/sessions 0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/framework/views    0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/logs               0700 ${user} ${group} - -"
+      "d ${cfg.dataDir}/storage/uploads            0700 ${user} ${group} - -"
+    ];
+
+    users = {
+      users = mkIf (user == "snipeit") {
+        snipeit = {
+          inherit group;
+          isSystemUser = true;
+        };
+        "${config.services.nginx.user}".extraGroups = [ group ];
+      };
+      groups = mkIf (group == "snipeit") {
+        snipeit = {};
+      };
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ yayayayaka ];
+}
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 8247a7e381c90..2c2f2cae4b749 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,7 +18,7 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
+    ./none.nix ./xterm.nix ./phosh.nix ./xfce.nix ./plasma5.nix ./lumina.nix
     ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix
     ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
     ./cinnamon.nix
@@ -72,7 +72,7 @@ in
         apply = map (d: d // {
           manage = "desktop";
           start = d.start
-          + optionalString (needBGCond d) ''
+          + optionalString (needBGCond d) ''\n\n
             if [ -e $HOME/.background-image ]; then
               ${pkgs.feh}/bin/feh --bg-${cfg.wallpaper.mode} ${optionalString cfg.wallpaper.combineScreens "--no-xinerama"} $HOME/.background-image
             fi
diff --git a/nixos/modules/programs/phosh.nix b/nixos/modules/services/x11/desktop-managers/phosh.nix
index ad875616ac9e6..4bf78fa16e7d9 100644
--- a/nixos/modules/programs/phosh.nix
+++ b/nixos/modules/services/x11/desktop-managers/phosh.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  cfg = config.programs.phosh;
+  cfg = config.services.xserver.desktopManager.phosh;
 
   # Based on https://source.puri.sm/Librem5/librem5-base/-/blob/4596c1056dd75ac7f043aede07887990fd46f572/default/sm.puri.OSK0.desktop
   oskItem = pkgs.makeDesktopItem {
@@ -118,12 +118,39 @@ let
     [cursor]
     theme = ${phoc.cursorTheme}
   '';
-in {
+in
+
+{
   options = {
-    programs.phosh = {
-      enable = mkEnableOption ''
-        Whether to enable, Phosh, related packages and default configurations.
-      '';
+    services.xserver.desktopManager.phosh = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Enable the Phone Shell.";
+      };
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.phosh;
+        defaultText = literalExpression "pkgs.phosh";
+        example = literalExpression "pkgs.phosh";
+        description = ''
+          Package that should be used for Phosh.
+        '';
+      };
+
+      user = mkOption {
+        description = "The user to run the Phosh service.";
+        type = types.str;
+        example = "alice";
+      };
+
+      group = mkOption {
+        description = "The group to run the Phosh service.";
+        type = types.str;
+        example = "users";
+      };
+
       phocConfig = mkOption {
         description = ''
           Configurations for the Phoc compositor.
@@ -135,14 +162,42 @@ in {
   };
 
   config = mkIf cfg.enable {
+    systemd.defaultUnit = "graphical.target";
+    # Inspired by https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/phosh.service
+    systemd.services.phosh = {
+      wantedBy = [ "graphical.target" ];
+      serviceConfig = {
+        ExecStart = "${cfg.package}/bin/phosh";
+        User = cfg.user;
+        Group = cfg.group;
+        PAMName = "login";
+        WorkingDirectory = "~";
+        Restart = "always";
+
+        TTYPath = "/dev/tty7";
+        TTYReset = "yes";
+        TTYVHangup = "yes";
+        TTYVTDisallocate = "yes";
+
+        # Fail to start if not controlling the tty.
+        StandardInput = "tty-fail";
+        StandardOutput = "journal";
+        StandardError = "journal";
+
+        # Log this user with utmp, letting it show up with commands 'w' and 'who'.
+        UtmpIdentifier = "tty7";
+        UtmpMode = "user";
+      };
+    };
+
     environment.systemPackages = [
       pkgs.phoc
-      pkgs.phosh
+      cfg.package
       pkgs.squeekboard
       oskItem
     ];
 
-    systemd.packages = [ pkgs.phosh ];
+    systemd.packages = [ cfg.package ];
 
     programs.feedbackd.enable = true;
 
@@ -152,7 +207,7 @@ in {
 
     services.gnome.core-shell.enable = true;
     services.gnome.core-os-services.enable = true;
-    services.xserver.displayManager.sessionPackages = [ pkgs.phosh ];
+    services.xserver.displayManager.sessionPackages = [ cfg.package ];
 
     environment.etc."phosh/phoc.ini".source =
       if builtins.isPath cfg.phocConfig then cfg.phocConfig
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 70ae6b8978d0b..4941d13c810ed 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -298,7 +298,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = gdm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
       '';
diff --git a/nixos/modules/services/x11/display-managers/lightdm.nix b/nixos/modules/services/x11/display-managers/lightdm.nix
index 27dfed3cc14c1..302c8fe0d9171 100644
--- a/nixos/modules/services/x11/display-managers/lightdm.nix
+++ b/nixos/modules/services/x11/display-managers/lightdm.nix
@@ -287,7 +287,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = lightdm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
     '';
diff --git a/nixos/modules/services/x11/display-managers/sddm.nix b/nixos/modules/services/x11/display-managers/sddm.nix
index 529a086381f06..c44f24002e0b9 100644
--- a/nixos/modules/services/x11/display-managers/sddm.nix
+++ b/nixos/modules/services/x11/display-managers/sddm.nix
@@ -231,7 +231,7 @@ in
 
         session  required       pam_succeed_if.so audit quiet_success user = sddm
         session  required       pam_env.so conffile=/etc/pam/environment readenv=0
-        session  optional       ${pkgs.systemd}/lib/security/pam_systemd.so
+        session  optional       ${config.systemd.package}/lib/security/pam_systemd.so
         session  optional       pam_keyinit.so force revoke
         session  optional       pam_permit.so
       '';
diff --git a/nixos/modules/system/boot/kernel.nix b/nixos/modules/system/boot/kernel.nix
index fad00e39497d9..b2c92a85f7abb 100644
--- a/nixos/modules/system/boot/kernel.nix
+++ b/nixos/modules/system/boot/kernel.nix
@@ -273,9 +273,6 @@ in
 
         boot.kernelModules = [ "loop" "atkbd" ];
 
-        # The Linux kernel >= 2.6.27 provides firmware.
-        hardware.firmware = [ kernel ];
-
         # Create /etc/modules-load.d/nixos.conf, which is read by
         # systemd-modules-load.service to load required kernel modules.
         environment.etc =
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index e683d1817297a..21be18ef866eb 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -52,7 +52,7 @@ with lib;
       '';
     environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
-    environment.etc."modprobe.d/systemd.conf".source = "${pkgs.systemd}/lib/modprobe.d/systemd.conf";
+    environment.etc."modprobe.d/systemd.conf".source = "${config.systemd.package}/lib/modprobe.d/systemd.conf";
 
     environment.systemPackages = [ pkgs.kmod ];
 
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index d1a6f46bfc408..0336930b3ab7d 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -779,6 +779,7 @@ let
           "RouteDenyList"
           "RouteAllowList"
           "DHCPv6Client"
+          "RouteMetric"
         ])
         (assertValueOneOf "UseDNS" boolValues)
         (assertValueOneOf "UseDomains" (boolValues ++ ["route"]))
diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix
index 78ae8e9d20b77..8b57cae3c40da 100644
--- a/nixos/modules/system/boot/plymouth.nix
+++ b/nixos/modules/system/boot/plymouth.nix
@@ -4,7 +4,10 @@ with lib;
 
 let
 
-  inherit (pkgs) plymouth nixos-icons;
+  inherit (pkgs) nixos-icons;
+  plymouth = pkgs.plymouth.override {
+    systemd = config.boot.initrd.systemd.package;
+  };
 
   cfg = config.boot.plymouth;
   opt = options.boot.plymouth;
@@ -143,7 +146,88 @@ in
     systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
     systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ];
 
-    boot.initrd.extraUtilsCommands = ''
+    boot.initrd.systemd = {
+      extraBin.plymouth = "${plymouth}/bin/plymouth"; # for the recovery shell
+      storePaths = [
+        "${lib.getBin config.boot.initrd.systemd.package}/bin/systemd-tty-ask-password-agent"
+        "${plymouth}/bin/plymouthd"
+        "${plymouth}/sbin/plymouthd"
+      ];
+      packages = [ plymouth ]; # systemd units
+      contents = {
+        # Files
+        "/etc/plymouth/plymouthd.conf".source = configFile;
+        "/etc/plymouth/plymouthd.defaults".source = "${plymouth}/share/plymouth/plymouthd.defaults";
+        "/etc/plymouth/logo.png".source = cfg.logo;
+        # Directories
+        "/etc/plymouth/plugins".source = pkgs.runCommand "plymouth-initrd-plugins" {} ''
+          # Check if the actual requested theme is here
+          if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then
+              echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages"
+              exit 1
+          fi
+
+          moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)"
+
+          mkdir -p $out/renderers
+          # module might come from a theme
+          cp ${themesEnv}/lib/plymouth/{text,details,label,$moduleName}.so $out
+          cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/renderers
+        '';
+        "/etc/plymouth/themes".source = pkgs.runCommand "plymouth-initrd-themes" {} ''
+          # Check if the actual requested theme is here
+          if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then
+              echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages"
+              exit 1
+          fi
+
+          mkdir $out
+          cp -r ${themesEnv}/share/plymouth/themes/${cfg.theme} $out
+          # Copy more themes if the theme depends on others
+          for theme in $(grep -hRo '/etc/plymouth/themes/.*$' ${themesEnv} | xargs -n1 basename); do
+              if [[ -d "${themesEnv}/theme" ]]; then
+                  cp -r "${themesEnv}/theme" $out
+              fi
+          done
+        '';
+
+        # Fonts
+        "/etc/plymouth/fonts".source = pkgs.runCommand "plymouth-initrd-fonts" {} ''
+          mkdir -p $out
+          cp ${cfg.font} $out
+        '';
+        "/etc/fonts/fonts.conf".text = ''
+          <?xml version="1.0"?>
+          <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+          <fontconfig>
+              <dir>/etc/plymouth/fonts</dir>
+          </fontconfig>
+        '';
+      };
+      # Properly enable units. These are the units that arch copies
+      services = {
+        plymouth-halt.wantedBy = [ "halt.target" ];
+        plymouth-kexec.wantedBy = [ "kexec.target" ];
+        plymouth-poweroff.wantedBy = [ "poweroff.target" ];
+        plymouth-quit-wait.wantedBy = [ "multi-user.target" ];
+        plymouth-quit.wantedBy = [ "multi-user.target" ];
+        plymouth-read-write.wantedBy = [ "sysinit.target" ];
+        plymouth-reboot.wantedBy = [ "reboot.target" ];
+        plymouth-start.wantedBy = [ "initrd-switch-root.target" "sysinit.target" ];
+        plymouth-switch-root-initramfs.wantedBy = [ "halt.target" "kexec.target" "plymouth-switch-root-initramfs.service" "poweroff.target" "reboot.target" ];
+        plymouth-switch-root.wantedBy = [ "initrd-switch-root.target" ];
+      };
+    };
+
+    # Insert required udev rules. We take stage 2 systemd because the udev
+    # rules are only generated when building with logind.
+    boot.initrd.services.udev.packages = [ (pkgs.runCommand "initrd-plymouth-udev-rules" {} ''
+      mkdir -p $out/etc/udev/rules.d
+      cp ${config.systemd.package.out}/lib/udev/rules.d/{70-uaccess,71-seat}.rules $out/etc/udev/rules.d
+      sed -i '/loginctl/d' $out/etc/udev/rules.d/71-seat.rules
+    '') ];
+
+    boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) ''
       copy_bin_and_libs ${plymouth}/bin/plymouth
       copy_bin_and_libs ${plymouth}/bin/plymouthd
 
@@ -198,18 +282,18 @@ in
       EOF
     '';
 
-    boot.initrd.extraUtilsCommandsTest = ''
+    boot.initrd.extraUtilsCommandsTest = mkIf (!config.boot.initrd.enable) ''
       $out/bin/plymouthd --help >/dev/null
       $out/bin/plymouth --help >/dev/null
     '';
 
-    boot.initrd.extraUdevRulesCommands = ''
+    boot.initrd.extraUdevRulesCommands = mkIf (!config.boot.initrd.enable) ''
       cp ${config.systemd.package}/lib/udev/rules.d/{70-uaccess,71-seat}.rules $out
       sed -i '/loginctl/d' $out/71-seat.rules
     '';
 
     # We use `mkAfter` to ensure that LUKS password prompt would be shown earlier than the splash screen.
-    boot.initrd.preLVMCommands = mkAfter ''
+    boot.initrd.preLVMCommands = mkIf (!config.boot.initrd.enable) (mkAfter ''
       mkdir -p /etc/plymouth
       mkdir -p /run/plymouth
       ln -s ${configFile} /etc/plymouth/plymouthd.conf
@@ -221,16 +305,16 @@ in
 
       plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
       plymouth show-splash
-    '';
+    '');
 
-    boot.initrd.postMountCommands = ''
+    boot.initrd.postMountCommands = mkIf (!config.boot.initrd.enable) ''
       plymouth update-root-fs --new-root-dir="$targetRoot"
     '';
 
     # `mkBefore` to ensure that any custom prompts would be visible.
-    boot.initrd.preFailCommands = mkBefore ''
+    boot.initrd.preFailCommands = mkIf (!config.boot.initrd.enable) (mkBefore ''
       plymouth quit --wait
-    '';
+    '');
 
   };
 
diff --git a/nixos/modules/system/boot/systemd/nspawn.nix b/nixos/modules/system/boot/systemd/nspawn.nix
index bf9995d03cc18..da03c60db5281 100644
--- a/nixos/modules/system/boot/systemd/nspawn.nix
+++ b/nixos/modules/system/boot/systemd/nspawn.nix
@@ -16,7 +16,7 @@ let
       "LimitNOFILE" "LimitAS" "LimitNPROC" "LimitMEMLOCK" "LimitLOCKS"
       "LimitSIGPENDING" "LimitMSGQUEUE" "LimitNICE" "LimitRTPRIO" "LimitRTTIME"
       "OOMScoreAdjust" "CPUAffinity" "Hostname" "ResolvConf" "Timezone"
-      "LinkJournal"
+      "LinkJournal" "Ephemeral" "AmbientCapability"
     ])
     (assertValueOneOf "Boot" boolValues)
     (assertValueOneOf "ProcessTwo" boolValues)
@@ -26,11 +26,13 @@ let
   checkFiles = checkUnitConfig "Files" [
     (assertOnlyFields [
       "ReadOnly" "Volatile" "Bind" "BindReadOnly" "TemporaryFileSystem"
-      "Overlay" "OverlayReadOnly" "PrivateUsersChown"
+      "Overlay" "OverlayReadOnly" "PrivateUsersChown" "BindUser"
+      "Inaccessible" "PrivateUserOwnership"
     ])
     (assertValueOneOf "ReadOnly" boolValues)
     (assertValueOneOf "Volatile" (boolValues ++ [ "state" ]))
     (assertValueOneOf "PrivateUsersChown" boolValues)
+    (assertValueOneOf "PrivateUserOwnership" [ "off" "chown" "map" "auto" ])
   ];
 
   checkNetwork = checkUnitConfig "Network" [
diff --git a/nixos/modules/tasks/auto-upgrade.nix b/nixos/modules/tasks/auto-upgrade.nix
index d00dc761d6e38..21a25cbfa9643 100644
--- a/nixos/modules/tasks/auto-upgrade.nix
+++ b/nixos/modules/tasks/auto-upgrade.nix
@@ -190,7 +190,7 @@ in {
         nixos-rebuild = "${config.system.build.nixos-rebuild}/bin/nixos-rebuild";
         date     = "${pkgs.coreutils}/bin/date";
         readlink = "${pkgs.coreutils}/bin/readlink";
-        shutdown = "${pkgs.systemd}/bin/shutdown";
+        shutdown = "${config.systemd.package}/bin/shutdown";
         upgradeFlag = optional (cfg.channel == null) "--upgrade";
       in if cfg.allowReboot then ''
         ${nixos-rebuild} boot ${toString (cfg.flags ++ upgradeFlag)}
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 5eca68798d5d8..c8bbfe9769b21 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -58,6 +58,13 @@ let
   # latter case it makes one last attempt at importing, allowing the system to
   # (eventually) boot even with a degraded pool.
   importLib = {zpoolCmd, awkCmd, cfgZfs}: ''
+    for o in $(cat /proc/cmdline); do
+      case $o in
+        zfs_force|zfs_force=1|zfs_force=y)
+          ZFS_FORCE="-f"
+          ;;
+      esac
+    done
     poolReady() {
       pool="$1"
       state="$("${zpoolCmd}" import 2>/dev/null | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
@@ -78,6 +85,95 @@ let
     }
   '';
 
+  getPoolFilesystems = pool:
+    filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
+
+  getPoolMounts = prefix: pool:
+    let
+      # Remove the "/" suffix because even though most mountpoints
+      # won't have it, the "/" mountpoint will, and we can't have the
+      # trailing slash in "/sysroot/" in stage 1.
+      mountPoint = fs: escapeSystemdPath (prefix + (lib.removeSuffix "/" fs.mountPoint));
+    in
+      map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
+
+  getKeyLocations = pool:
+    if isBool cfgZfs.requestEncryptionCredentials
+    then "${cfgZfs.package}/sbin/zfs list -rHo name,keylocation,keystatus ${pool}"
+    else "${cfgZfs.package}/sbin/zfs list -Ho name,keylocation,keystatus ${toString (filter (x: datasetToPool x == pool) cfgZfs.requestEncryptionCredentials)}";
+
+  createImportService = { pool, systemd, force, prefix ? "" }:
+    nameValuePair "zfs-import-${pool}" {
+      description = "Import ZFS pool \"${pool}\"";
+      # we need systemd-udev-settle to ensure devices are available
+      # In the future, hopefully someone will complete this:
+      # https://github.com/zfsonlinux/zfs/pull/4943
+      requires = [ "systemd-udev-settle.service" ];
+      after = [
+        "systemd-udev-settle.service"
+        "systemd-modules-load.service"
+        "systemd-ask-password-console.service"
+      ];
+      wantedBy = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      before = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
+      unitConfig = {
+        DefaultDependencies = "no";
+      };
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+      environment.ZFS_FORCE = optionalString force "-f";
+      script = (importLib {
+        # See comments at importLib definition.
+        zpoolCmd = "${cfgZfs.package}/sbin/zpool";
+        awkCmd = "${pkgs.gawk}/bin/awk";
+        inherit cfgZfs;
+      }) + ''
+        poolImported "${pool}" && exit
+        echo -n "importing ZFS pool \"${pool}\"..."
+        # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
+        for trial in `seq 1 60`; do
+          poolReady "${pool}" && poolImport "${pool}" && break
+          sleep 1
+        done
+        poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
+        if poolImported "${pool}"; then
+          ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
+                            then cfgZfs.requestEncryptionCredentials
+                            else cfgZfs.requestEncryptionCredentials != []) ''
+            ${getKeyLocations pool} | while IFS=$'\t' read ds kl ks; do
+              {
+              if [[ "$ks" != unavailable ]]; then
+                continue
+              fi
+              case "$kl" in
+                none )
+                  ;;
+                prompt )
+                  tries=3
+                  success=false
+                  while [[ $success != true ]] && [[ $tries -gt 0 ]]; do
+                    ${systemd}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds" \
+                      && success=true \
+                      || tries=$((tries - 1))
+                  done
+                  [[ $success = true ]]
+                  ;;
+                * )
+                  ${cfgZfs.package}/sbin/zfs load-key "$ds"
+                  ;;
+              esac
+              } < /dev/null # To protect while read ds kl in case anything reads stdin
+            done
+          ''}
+          echo "Successfully imported ${pool}"
+        else
+          exit 1
+        fi
+      '';
+    };
+
   zedConf = generators.toKeyValue {
     mkKeyValue = generators.mkKeyValueDefault {
       mkValueString = v:
@@ -428,14 +524,6 @@ in
           '';
         postDeviceCommands = concatStringsSep "\n" ([''
             ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
-
-            for o in $(cat /proc/cmdline); do
-              case $o in
-                zfs_force|zfs_force=1)
-                  ZFS_FORCE="-f"
-                  ;;
-              esac
-            done
           ''] ++ [(importLib {
             # See comments at importLib definition.
             zpoolCmd = "zpool";
@@ -464,6 +552,21 @@ in
                 zfs load-key ${fs}
               '') cfgZfs.requestEncryptionCredentials}
         '') rootPools));
+
+        # Systemd in stage 1
+        systemd = {
+          packages = [cfgZfs.package];
+          services = listToAttrs (map (pool: createImportService {
+            inherit pool;
+            systemd = config.boot.initrd.systemd.package;
+            force = cfgZfs.forceImportRoot;
+            prefix = "/sysroot";
+          }) rootPools);
+          extraBin = {
+            # zpool and zfs are already in thanks to fsPackages
+            awk = "${pkgs.gawk}/bin/awk";
+          };
+        };
       };
 
       systemd.shutdownRamfs.contents."/etc/systemd/system-shutdown/zpool".source = pkgs.writeShellScript "zpool-sync-shutdown" ''
@@ -521,79 +624,11 @@ in
       systemd.packages = [ cfgZfs.package ];
 
       systemd.services = let
-        getPoolFilesystems = pool:
-          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
-
-        getPoolMounts = pool:
-          let
-            mountPoint = fs: escapeSystemdPath fs.mountPoint;
-          in
-            map (x: "${mountPoint x}.mount") (getPoolFilesystems pool);
-
-        createImportService = pool:
-          nameValuePair "zfs-import-${pool}" {
-            description = "Import ZFS pool \"${pool}\"";
-            # we need systemd-udev-settle until https://github.com/zfsonlinux/zfs/pull/4943 is merged
-            requires = [ "systemd-udev-settle.service" ];
-            after = [
-              "systemd-udev-settle.service"
-              "systemd-modules-load.service"
-              "systemd-ask-password-console.service"
-            ];
-            wantedBy = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            before = (getPoolMounts pool) ++ [ "local-fs.target" ];
-            unitConfig = {
-              DefaultDependencies = "no";
-            };
-            serviceConfig = {
-              Type = "oneshot";
-              RemainAfterExit = true;
-            };
-            environment.ZFS_FORCE = optionalString cfgZfs.forceImportAll "-f";
-            script = (importLib {
-              # See comments at importLib definition.
-              zpoolCmd = "${cfgZfs.package}/sbin/zpool";
-              awkCmd = "${pkgs.gawk}/bin/awk";
-              inherit cfgZfs;
-            }) + ''
-              poolImported "${pool}" && exit
-              echo -n "importing ZFS pool \"${pool}\"..."
-              # Loop across the import until it succeeds, because the devices needed may not be discovered yet.
-              for trial in `seq 1 60`; do
-                poolReady "${pool}" && poolImport "${pool}" && break
-                sleep 1
-              done
-              poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
-              if poolImported "${pool}"; then
-                ${optionalString (if isBool cfgZfs.requestEncryptionCredentials
-                                  then cfgZfs.requestEncryptionCredentials
-                                  else cfgZfs.requestEncryptionCredentials != []) ''
-                  ${cfgZfs.package}/sbin/zfs list -rHo name,keylocation ${pool} | while IFS=$'\t' read ds kl; do
-                    {
-                      ${optionalString (!isBool cfgZfs.requestEncryptionCredentials) ''
-                         if ! echo '${concatStringsSep "\n" cfgZfs.requestEncryptionCredentials}' | grep -qFx "$ds"; then
-                           continue
-                         fi
-                       ''}
-                    case "$kl" in
-                      none )
-                        ;;
-                      prompt )
-                        ${config.systemd.package}/bin/systemd-ask-password "Enter key for $ds:" | ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                      * )
-                        ${cfgZfs.package}/sbin/zfs load-key "$ds"
-                        ;;
-                    esac
-                    } < /dev/null # To protect while read ds kl in case anything reads stdin
-                  done
-                ''}
-                echo "Successfully imported ${pool}"
-              else
-                exit 1
-              fi
-            '';
-          };
+        createImportService' = pool: createImportService {
+          inherit pool;
+          systemd = config.systemd.package;
+          force = cfgZfs.forceImportAll;
+        };
 
         # This forces a sync of any ZFS pools prior to poweroff, even if they're set
         # to sync=disabled.
@@ -619,7 +654,7 @@ in
             wantedBy = [ "zfs.target" ];
           };
 
-      in listToAttrs (map createImportService dataPools ++
+      in listToAttrs (map createImportService' dataPools ++
                       map createSyncService allPools ++
                       map createZfsService [ "zfs-mount" "zfs-share" "zfs-zed" ]);
 
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index 8654539b6629c..110e84494a3dc 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -43,12 +43,6 @@ in
     } {
       assertion = cfg.defaultGateway6 == null || cfg.defaultGateway6.interface == null;
       message = "networking.defaultGateway6.interface is not supported by networkd.";
-    } {
-      assertion = cfg.useDHCP == false;
-      message = ''
-        networking.useDHCP is not supported by networkd.
-        Please use per interface configuration and set the global option to false.
-      '';
     } ] ++ flip mapAttrsToList cfg.bridges (n: { rstp, ... }: {
       assertion = !rstp;
       message = "networking.bridges.${n}.rstp is not supported by networkd.";
@@ -80,6 +74,42 @@ in
       in mkMerge [ {
         enable = true;
       }
+      (mkIf cfg.useDHCP {
+        networks."99-ethernet-default-dhcp" = lib.mkIf cfg.useDHCP {
+          # We want to match physical ethernet interfaces as commonly
+          # found on laptops, desktops and servers, to provide an
+          # "out-of-the-box" setup that works for common cases.  This
+          # heuristic isn't perfect (it could match interfaces with
+          # custom names that _happen_ to start with en or eth), but
+          # should be good enough to make the common case easy and can
+          # be overridden on a case-by-case basis using
+          # higher-priority networks or by disabling useDHCP.
+
+          # Type=ether matches veth interfaces as well, and this is
+          # more likely to result in interfaces being configured to
+          # use DHCP when they shouldn't.
+
+          # We set RequiredForOnline to false, because it's fairly
+          # common for such devices to have multiple interfaces and
+          # only one of them to be connected (e.g. a laptop with
+          # ethernet and WiFi interfaces). Maybe one day networkd will
+          # support "any"-style RequiredForOnline...
+          matchConfig.Name = ["en*" "eth*"];
+          DHCP = "yes";
+          linkConfig.RequiredForOnline = lib.mkDefault false;
+        };
+        networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP {
+          # Like above, but this is much more likely to be correct.
+          matchConfig.WLANInterfaceType = "station";
+          DHCP = "yes";
+          linkConfig.RequiredForOnline = lib.mkDefault false;
+          # We also set the route metric to one more than the default
+          # of 1024, so that Ethernet is preferred if both are
+          # available.
+          dhcpV4Config.RouteMetric = 1025;
+          ipv6AcceptRAConfig.RouteMetric = 1025;
+        };
+      })
       (mkMerge (forEach interfaces (i: {
         netdevs = mkIf i.virtual ({
           "40-${i.name}" = {
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index d09e9b99248d8..d56159f15960d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1254,11 +1254,6 @@ in
         Whether to use DHCP to obtain an IP address and other
         configuration for all network interfaces that are not manually
         configured.
-
-        Using this option is highly discouraged and also incompatible with
-        <option>networking.useNetworkd</option>. Please use
-        <option>networking.interfaces.&lt;name&gt;.useDHCP</option> instead
-        and set this to false.
       '';
     };
 
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 81541477b9e09..4ab2578eb81e6 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -129,6 +129,9 @@ in
     # Make sure we use the Guest Agent from the QEMU package for testing
     # to reduce the closure size required for the tests.
     services.qemuGuest.package = pkgs.qemu_test.ga;
+
+    # Squelch warning about unset system.stateVersion
+    system.stateVersion = lib.mkDefault lib.trivial.release;
   };
 
 }
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index 9a56b6950155b..12fe6fa444793 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -37,13 +37,11 @@ in
       { assertion = cfg.efi -> cfg.hvm;
         message = "EC2 instances using EFI must be HVM instances.";
       }
-      { assertion = versionOlder config.boot.kernelPackages.kernel.version "5.15";
-        message = "ENA driver fails to build with kernel >= 5.15";
+      { assertion = versionOlder config.boot.kernelPackages.kernel.version "5.17";
+        message = "ENA driver fails to build with kernel >= 5.17";
       }
     ];
 
-    boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_10;
-
     boot.growPartition = cfg.hvm;
 
     fileSystems."/" = mkIf (!cfg.zfs.enable) {
diff --git a/nixos/modules/virtualisation/amazon-init.nix b/nixos/modules/virtualisation/amazon-init.nix
index 4f2f8df90eb8a..9c2adb90bfd21 100644
--- a/nixos/modules/virtualisation/amazon-init.nix
+++ b/nixos/modules/virtualisation/amazon-init.nix
@@ -11,7 +11,7 @@ let
     echo "attempting to fetch configuration from EC2 user data..."
 
     export HOME=/root
-    export PATH=${pkgs.lib.makeBinPath [ config.nix.package pkgs.systemd pkgs.gnugrep pkgs.git pkgs.gnutar pkgs.gzip pkgs.gnused pkgs.xz config.system.build.nixos-rebuild]}:$PATH
+    export PATH=${pkgs.lib.makeBinPath [ config.nix.package config.systemd.package pkgs.gnugrep pkgs.git pkgs.gnutar pkgs.gzip pkgs.gnused pkgs.xz config.system.build.nixos-rebuild]}:$PATH
     export NIX_PATH=nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels
 
     userData=/etc/ec2-metadata/user-data
diff --git a/nixos/modules/virtualisation/anbox.nix b/nixos/modules/virtualisation/anbox.nix
index a4da62eb5f790..c70da573533fa 100644
--- a/nixos/modules/virtualisation/anbox.nix
+++ b/nixos/modules/virtualisation/anbox.nix
@@ -73,9 +73,6 @@ in
 
     environment.systemPackages = with pkgs; [ anbox ];
 
-    boot.kernelModules = [ "ashmem_linux" "binder_linux" ];
-    boot.extraModulePackages = [ kernelPackages.anbox ];
-
     services.udev.extraRules = ''
       KERNEL=="ashmem", NAME="%k", MODE="0666"
       KERNEL=="binder*", NAME="%k", MODE="0666"
diff --git a/nixos/modules/virtualisation/digital-ocean-init.nix b/nixos/modules/virtualisation/digital-ocean-init.nix
index 4339d91de168e..df30104b7d7fd 100644
--- a/nixos/modules/virtualisation/digital-ocean-init.nix
+++ b/nixos/modules/virtualisation/digital-ocean-init.nix
@@ -46,7 +46,7 @@ in {
         RemainAfterExit = true;
       };
       restartIfChanged = false;
-      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep pkgs.systemd config.nix.package config.system.build.nixos-rebuild ];
+      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep config.systemd.package config.nix.package config.system.build.nixos-rebuild ];
       environment = {
         HOME = "/root";
         NIX_PATH = concatStringsSep ":" [
diff --git a/nixos/modules/virtualisation/proxmox-lxc.nix b/nixos/modules/virtualisation/proxmox-lxc.nix
index 3913b474afbee..9b9f99e5b8172 100644
--- a/nixos/modules/virtualisation/proxmox-lxc.nix
+++ b/nixos/modules/virtualisation/proxmox-lxc.nix
@@ -20,6 +20,15 @@ with lib;
         configuration from proxmox.
       '';
     };
+    manageHostName = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to manage hostname through nix options
+        When false, the hostname is picked up from /etc/hostname
+        populated by proxmox.
+      '';
+    };
   };
 
   config =
@@ -50,6 +59,8 @@ with lib;
         useDHCP = false;
         useHostResolvConf = false;
         useNetworkd = true;
+        # pick up hostname from /etc/hostname generated by proxmox
+        hostName = mkIf (!cfg.manageHostName) (mkForce "");
       };
 
       services.openssh = {
diff --git a/nixos/modules/virtualisation/vmware-host.nix b/nixos/modules/virtualisation/vmware-host.nix
new file mode 100644
index 0000000000000..faa0d455c9d6b
--- /dev/null
+++ b/nixos/modules/virtualisation/vmware-host.nix
@@ -0,0 +1,166 @@
+{ config, pkgs, lib, ... }:
+
+let
+  cfg = config.virtualisation.vmware.host;
+  wrapperDir = "/run/vmware/bin"; # Perfectly fits as /usr/local/bin
+  parentWrapperDir = dirOf wrapperDir;
+  vmwareWrappers = # Needed as hardcoded paths workaround
+    let mkVmwareSymlink =
+      program:
+      ''
+        ln -s "${config.security.wrapperDir}/${program}" $wrapperDir/${program}
+      '';
+    in
+    [
+      (mkVmwareSymlink "pkexec")
+      (mkVmwareSymlink "mount")
+      (mkVmwareSymlink "umount")
+    ];
+in
+{
+  options = with lib; {
+    virtualisation.vmware.host = {
+      enable = mkEnableOption "VMware" // {
+        description = ''
+          This enables VMware host virtualisation for running VMs.
+
+          <important><para>
+          <literal>vmware-vmx</literal> will cause kcompactd0 due to
+          <literal>Transparent Hugepages</literal> feature in kernel.
+          Apply <literal>[ "transparent_hugepage=never" ]</literal> in
+          option <option>boot.kernelParams</option> to disable them.
+          </para></important>
+
+          <note><para>
+          If that didn't work disable <literal>TRANSPARENT_HUGEPAGE</literal>,
+          <literal>COMPACTION</literal> configs and recompile kernel.
+          </para></note>
+        '';
+      };
+      package = mkOption {
+        type = types.package;
+        default = pkgs.vmware-workstation;
+        defaultText = literalExpression "pkgs.vmware-workstation";
+        description = "VMware host virtualisation package to use";
+      };
+      extraPackages = mkOption {
+        type = with types; listOf package;
+        default = with pkgs; [ ];
+        description = "Extra packages to be used with VMware host.";
+        example = "with pkgs; [ ntfs3g ]";
+      };
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = "Add extra config to /etc/vmware/config";
+        example = ''
+          # Allow unsupported device's OpenGL and Vulkan acceleration for guest vGPU
+          mks.gl.allowUnsupportedDrivers = "TRUE"
+          mks.vk.allowUnsupportedDevices = "TRUE"
+        '';
+      };
+    };
+  };
+
+  config = lib.mkIf cfg.enable {
+    boot.extraModulePackages = [ config.boot.kernelPackages.vmware ];
+    boot.extraModprobeConfig = "alias char-major-10-229 fuse";
+    boot.kernelModules = [ "vmw_pvscsi" "vmw_vmci" "vmmon" "vmnet" "fuse" ];
+
+    environment.systemPackages = [ cfg.package ] ++ cfg.extraPackages;
+    services.printing.drivers = [ cfg.package ];
+
+    environment.etc."vmware/config".text = ''
+      ${builtins.readFile "${cfg.package}/etc/vmware/config"}
+      ${cfg.extraConfig}
+    '';
+
+    environment.etc."vmware/bootstrap".source = "${cfg.package}/etc/vmware/bootstrap";
+    environment.etc."vmware/icu".source = "${cfg.package}/etc/vmware/icu";
+    environment.etc."vmware-installer".source = "${cfg.package}/etc/vmware-installer";
+
+    # SUID wrappers
+
+    security.wrappers = {
+      vmware-vmx = {
+        setuid = true;
+        owner = "root";
+        group = "root";
+        source = "${cfg.package}/lib/vmware/bin/.vmware-vmx-wrapped";
+      };
+    };
+
+    ###### wrappers activation script
+
+    system.activationScripts.vmwareWrappers =
+      lib.stringAfter [ "specialfs" "users" ]
+        ''
+          mkdir -p "${parentWrapperDir}"
+          chmod 755 "${parentWrapperDir}"
+          # We want to place the tmpdirs for the wrappers to the parent dir.
+          wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
+          chmod a+rx "$wrapperDir"
+          ${lib.concatStringsSep "\n" (vmwareWrappers)}
+          if [ -L ${wrapperDir} ]; then
+            # Atomically replace the symlink
+            # See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
+            old=$(readlink -f ${wrapperDir})
+            if [ -e "${wrapperDir}-tmp" ]; then
+              rm --force --recursive "${wrapperDir}-tmp"
+            fi
+            ln --symbolic --force --no-dereference "$wrapperDir" "${wrapperDir}-tmp"
+            mv --no-target-directory "${wrapperDir}-tmp" "${wrapperDir}"
+            rm --force --recursive "$old"
+          else
+            # For initial setup
+            ln --symbolic "$wrapperDir" "${wrapperDir}"
+          fi
+        '';
+
+    # Services
+
+    systemd.services."vmware-authdlauncher" = {
+      description = "VMware Authentification Daemon";
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = [ "${cfg.package}/bin/vmware-authdlauncher" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-networks-configuration" = {
+      description = "VMware Networks Configuration Generation";
+      unitConfig.ConditionPathExists = "!/etc/vmware/networking";
+      serviceConfig = {
+        UMask = "0077";
+        ExecStart = [
+          "${cfg.package}/bin/vmware-networks --postinstall vmware-player,0,1"
+        ];
+        Type = "oneshot";
+        RemainAfterExit = "yes";
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-networks" = {
+      description = "VMware Networks";
+      after = [ "vmware-networks-configuration.service" ];
+      requires = [ "vmware-networks-configuration.service" ];
+      serviceConfig = {
+        Type = "forking";
+        ExecCondition = [ "${pkgs.kmod}/bin/modprobe vmnet" ];
+        ExecStart = [ "${cfg.package}/bin/vmware-networks --start" ];
+        ExecStop = [ "${cfg.package}/bin/vmware-networks --stop" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+
+    systemd.services."vmware-usbarbitrator" = {
+      description = "VMware USB Arbitrator";
+      serviceConfig = {
+        ExecStart = [ "${cfg.package}/bin/vmware-usbarbitrator -f" ];
+      };
+      wantedBy = [ "multi-user.target" ];
+    };
+  };
+}
diff --git a/nixos/release.nix b/nixos/release.nix
index 6b7564a9b9721..0df443dd204cb 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -150,13 +150,13 @@ in rec {
   });
 
   iso_plasma5 = forMatchingSystems [ "x86_64-linux" ] (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-graphical-plasma5.nix;
+    module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-plasma5.nix;
     type = "plasma5";
     inherit system;
   });
 
   iso_gnome = forMatchingSystems [ "x86_64-linux" ] (system: makeIso {
-    module = ./modules/installer/cd-dvd/installation-cd-graphical-gnome.nix;
+    module = ./modules/installer/cd-dvd/installation-cd-graphical-calamares-gnome.nix;
     type = "gnome";
     inherit system;
   });
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 923464a0c9a3e..e86dda9cb3d28 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -253,6 +253,7 @@ in
   k3s-single-node = handleTest ./k3s-single-node.nix {};
   k3s-single-node-docker = handleTest ./k3s-single-node-docker.nix {};
   kafka = handleTest ./kafka.nix {};
+  kanidm = handleTest ./kanidm.nix {};
   kbd-setfont-decompress = handleTest ./kbd-setfont-decompress.nix {};
   kbd-update-search-paths-patch = handleTest ./kbd-update-search-paths-patch.nix {};
   kea = handleTest ./kea.nix {};
@@ -284,7 +285,6 @@ in
   loki = handleTest ./loki.nix {};
   lvm2 = handleTest ./lvm2 {};
   lxd = handleTest ./lxd.nix {};
-  lxd-image = handleTest ./lxd-image.nix {};
   lxd-nftables = handleTest ./lxd-nftables.nix {};
   lxd-image-server = handleTest ./lxd-image-server.nix {};
   #logstash = handleTest ./logstash.nix {};
@@ -456,6 +456,7 @@ in
   proxy = handleTest ./proxy.nix {};
   prowlarr = handleTest ./prowlarr.nix {};
   pt2-clone = handleTest ./pt2-clone.nix {};
+  public-inbox = handleTest ./public-inbox.nix {};
   pulseaudio = discoverTests (import ./pulseaudio.nix);
   qboot = handleTestOn ["x86_64-linux" "i686-linux"] ./qboot.nix {};
   quorum = handleTest ./quorum.nix {};
@@ -574,6 +575,7 @@ in
   unifi = handleTest ./unifi.nix {};
   unit-php = handleTest ./web-servers/unit-php.nix {};
   upnp = handleTest ./upnp.nix {};
+  uptermd = handleTest ./uptermd.nix {};
   usbguard = handleTest ./usbguard.nix {};
   user-activation-scripts = handleTest ./user-activation-scripts.nix {};
   uwsgi = handleTest ./uwsgi.nix {};
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
index 3815dca762203..6b296fe8a61ae 100644
--- a/nixos/tests/chromium.nix
+++ b/nixos/tests/chromium.nix
@@ -45,12 +45,14 @@ mapAttrs (channel: chromiumPkg: makeTest {
 
   enableOCR = true;
 
-  machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
-  machine.virtualisation.memorySize = 2047;
-  machine.test-support.displayManager.auto.user = user;
-  machine.environment = {
-    systemPackages = [ chromiumPkg ];
-    variables."XAUTHORITY" = "/home/alice/.Xauthority";
+  nodes.machine = { ... }: {
+    imports = [ ./common/user-account.nix ./common/x11.nix ];
+    virtualisation.memorySize = 2047;
+    test-support.displayManager.auto.user = user;
+    environment = {
+      systemPackages = [ chromiumPkg ];
+      variables."XAUTHORITY" = "/home/alice/.Xauthority";
+    };
   };
 
   testScript = let
diff --git a/nixos/tests/common/lxd/config.yaml b/nixos/tests/common/lxd/config.yaml
new file mode 100644
index 0000000000000..3bb667ed43f7c
--- /dev/null
+++ b/nixos/tests/common/lxd/config.yaml
@@ -0,0 +1,24 @@
+storage_pools:
+  - name: default
+    driver: dir
+    config:
+      source: /var/lxd-pool
+
+networks:
+  - name: lxdbr0
+    type: bridge
+    config:
+      ipv4.address: auto
+      ipv6.address: none
+
+profiles:
+  - name: default
+    devices:
+      eth0:
+        name: eth0
+        network: lxdbr0
+        type: nic
+      root:
+        path: /
+        pool: default
+        type: disk
diff --git a/nixos/tests/dendrite.nix b/nixos/tests/dendrite.nix
index a444c9b200189..d4a5bb1322638 100644
--- a/nixos/tests/dendrite.nix
+++ b/nixos/tests/dendrite.nix
@@ -17,6 +17,7 @@ import ./make-test-python.nix (
           homeserver = { pkgs, ... }: {
             services.dendrite = {
               enable = true;
+              openRegistration = true;
               settings = {
                 global.server_name = "test-dendrite-server.com";
                 global.private_key = private_key;
diff --git a/nixos/tests/hydra/default.nix b/nixos/tests/hydra/default.nix
index 9fc787842d854..baf18afbc5690 100644
--- a/nixos/tests/hydra/default.nix
+++ b/nixos/tests/hydra/default.nix
@@ -11,7 +11,7 @@ let
   inherit (import ./common.nix { inherit system; }) baseConfig;
 
   hydraPkgs = {
-    inherit (pkgs) hydra-unstable;
+    inherit (pkgs) hydra_unstable;
   };
 
   makeHydraTest = with pkgs.lib; name: package: makeTest {
diff --git a/nixos/tests/installed-tests/default.nix b/nixos/tests/installed-tests/default.nix
index fd16b481168f4..c6fb37cfe5842 100644
--- a/nixos/tests/installed-tests/default.nix
+++ b/nixos/tests/installed-tests/default.nix
@@ -106,6 +106,5 @@ in
   malcontent = callInstalledTest ./malcontent.nix {};
   ostree = callInstalledTest ./ostree.nix {};
   pipewire = callInstalledTest ./pipewire.nix {};
-  power-profiles-daemon = callInstalledTest ./power-profiles-daemon.nix {};
   xdg-desktop-portal = callInstalledTest ./xdg-desktop-portal.nix {};
 }
diff --git a/nixos/tests/installed-tests/power-profiles-daemon.nix b/nixos/tests/installed-tests/power-profiles-daemon.nix
deleted file mode 100644
index 43629a0155d24..0000000000000
--- a/nixos/tests/installed-tests/power-profiles-daemon.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, lib, makeInstalledTest, ... }:
-
-makeInstalledTest {
-  tested = pkgs.power-profiles-daemon;
-
-  testConfig = {
-    services.power-profiles-daemon.enable = true;
-  };
-}
diff --git a/nixos/tests/installer-systemd-stage-1.nix b/nixos/tests/installer-systemd-stage-1.nix
index a8b418626e660..d02387ee80e09 100644
--- a/nixos/tests/installer-systemd-stage-1.nix
+++ b/nixos/tests/installer-systemd-stage-1.nix
@@ -27,7 +27,7 @@
     simpleUefiGrubSpecialisation
     simpleUefiSystemdBoot
     # swraid
-    # zfsroot
+    zfsroot
     ;
 
 }
diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix
index d8187d8e019d6..8bef4fad3dd2d 100644
--- a/nixos/tests/installer.nix
+++ b/nixos/tests/installer.nix
@@ -701,6 +701,85 @@ in {
     '';
   };
 
+  bcachefsSimple = makeInstallerTest "bcachefs-simple" {
+    extraInstallerConfig = {
+      boot.supportedFilesystems = [ "bcachefs" ];
+    };
+
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"          # /boot
+        + " mkpart primary linux-swap 100M 1024M"  # swap
+        + " mkpart primary 1024M -1s",             # /
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "mkfs.bcachefs -L root /dev/vda3",
+        "mount -t bcachefs /dev/vda3 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount /dev/vda1 /mnt/boot",
+      )
+    '';
+  };
+
+  bcachefsEncrypted = makeInstallerTest "bcachefs-encrypted" {
+    extraInstallerConfig = {
+      boot.supportedFilesystems = [ "bcachefs" ];
+      environment.systemPackages = with pkgs; [ keyutils ];
+    };
+
+    # We don't want to use the normal way of unlocking bcachefs defined in tasks/filesystems/bcachefs.nix.
+    # So, override initrd.postDeviceCommands completely and simply unlock with the predefined password.
+    extraConfig = ''
+      boot.initrd.postDeviceCommands = lib.mkForce "echo password | bcachefs unlock /dev/vda3";
+    '';
+
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"          # /boot
+        + " mkpart primary linux-swap 100M 1024M"  # swap
+        + " mkpart primary 1024M -1s",             # /
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "keyctl link @u @s",
+        "echo password | mkfs.bcachefs -L root --encrypted /dev/vda3",
+        "echo password | bcachefs unlock /dev/vda3",
+        "mount -t bcachefs /dev/vda3 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount /dev/vda1 /mnt/boot",
+      )
+    '';
+  };
+
+  bcachefsMulti = makeInstallerTest "bcachefs-multi" {
+    extraInstallerConfig = {
+      boot.supportedFilesystems = [ "bcachefs" ];
+    };
+
+    createPartitions = ''
+      machine.succeed(
+        "flock /dev/vda parted --script /dev/vda -- mklabel msdos"
+        + " mkpart primary ext2 1M 100MB"          # /boot
+        + " mkpart primary linux-swap 100M 1024M"  # swap
+        + " mkpart primary 1024M 4096M"            # /
+        + " mkpart primary 4096M -1s",             # /
+        "udevadm settle",
+        "mkswap /dev/vda2 -L swap",
+        "swapon -L swap",
+        "mkfs.bcachefs -L root --metadata_replicas 2 --foreground_target ssd --promote_target ssd --background_target hdd --label ssd /dev/vda3 --label hdd /dev/vda4",
+        "mount -t bcachefs /dev/vda3:/dev/vda4 /mnt",
+        "mkfs.ext3 -L boot /dev/vda1",
+        "mkdir -p /mnt/boot",
+        "mount /dev/vda1 /mnt/boot",
+      )
+    '';
+  };
+
   # Test a basic install using GRUB 1.
   grub1 = makeInstallerTest "grub1" rec {
     createPartitions = ''
diff --git a/nixos/tests/kanidm.nix b/nixos/tests/kanidm.nix
new file mode 100644
index 0000000000000..d34f680f5224b
--- /dev/null
+++ b/nixos/tests/kanidm.nix
@@ -0,0 +1,75 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+  let
+    certs = import ./common/acme/server/snakeoil-certs.nix;
+    serverDomain = certs.domain;
+  in
+  {
+    name = "kanidm";
+    meta.maintainers = with pkgs.lib.maintainers; [ erictapen Flakebi ];
+
+    nodes.server = { config, pkgs, lib, ... }: {
+      services.kanidm = {
+        enableServer = true;
+        serverSettings = {
+          origin = "https://${serverDomain}";
+          domain = serverDomain;
+          bindaddress = "[::1]:8443";
+          ldapbindaddress = "[::1]:636";
+        };
+      };
+
+      services.nginx = {
+        enable = true;
+        recommendedProxySettings = true;
+        virtualHosts."${serverDomain}" = {
+          forceSSL = true;
+          sslCertificate = certs."${serverDomain}".cert;
+          sslCertificateKey = certs."${serverDomain}".key;
+          locations."/".proxyPass = "http://[::1]:8443";
+        };
+      };
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+
+      networking.hosts."::1" = [ serverDomain ];
+      networking.firewall.allowedTCPPorts = [ 80 443 ];
+
+      users.users.kanidm.shell = pkgs.bashInteractive;
+
+      environment.systemPackages = with pkgs; [ kanidm openldap ripgrep ];
+    };
+
+    nodes.client = { pkgs, nodes, ... }: {
+      services.kanidm = {
+        enableClient = true;
+        clientSettings = {
+          uri = "https://${serverDomain}";
+        };
+      };
+
+      networking.hosts."${nodes.server.config.networking.primaryIPAddress}" = [ serverDomain ];
+
+      security.pki.certificateFiles = [ certs.ca.cert ];
+    };
+
+    testScript = { nodes, ... }:
+      let
+        ldapBaseDN = builtins.concatStringsSep "," (map (s: "dc=" + s) (pkgs.lib.splitString "." serverDomain));
+
+        # We need access to the config file in the test script.
+        filteredConfig = pkgs.lib.converge
+          (pkgs.lib.filterAttrsRecursive (_: v: v != null))
+          nodes.server.config.services.kanidm.serverSettings;
+        serverConfigFile = (pkgs.formats.toml { }).generate "server.toml" filteredConfig;
+
+      in
+      ''
+        start_all()
+        server.wait_for_unit("kanidm.service")
+        server.wait_until_succeeds("curl -sf https://${serverDomain} | grep Kanidm")
+        server.wait_until_succeeds("ldapsearch -H ldap://[::1]:636 -b '${ldapBaseDN}' -x '(name=test)'")
+        client.wait_until_succeeds("kanidm login -D anonymous && kanidm self whoami | grep anonymous@${serverDomain}")
+        (rv, result) = server.execute("kanidmd recover_account -d quiet -c ${serverConfigFile} -n admin 2>&1 | rg -o '[A-Za-z0-9]{48}'")
+        assert rv == 0
+      '';
+  })
diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix
index f34d5d6079404..1e60198abdd04 100644
--- a/nixos/tests/kernel-generic.nix
+++ b/nixos/tests/kernel-generic.nix
@@ -30,6 +30,7 @@ let
       linux_5_4_hardened
       linux_5_10_hardened
       linux_5_15_hardened
+      linux_5_17_hardened
 
       linux_testing;
   };
diff --git a/nixos/tests/lxd-image-server.nix b/nixos/tests/lxd-image-server.nix
index fa40e33e74dd6..072f4570c2c9f 100644
--- a/nixos/tests/lxd-image-server.nix
+++ b/nixos/tests/lxd-image-server.nix
@@ -1,54 +1,21 @@
-import ./make-test-python.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ... } :
 
 let
-  # Since we don't have access to the internet during the tests, we have to
-  # pre-fetch lxd containers beforehand.
-  #
-  # I've chosen to import Alpine Linux, because its image is turbo-tiny and,
-  # generally, sufficient for our tests.
-  alpine-meta = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
-    hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
-  };
-
-  alpine-rootfs = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz";
-    hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
+  lxd-image = import ../release.nix {
+    configuration = {
+      # Building documentation makes the test unnecessarily take a longer time:
+      documentation.enable = lib.mkForce false;
+    };
   };
 
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
-
+  lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
+  lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
 
 in {
   name = "lxd-image-server";
 
   meta = with pkgs.lib.maintainers; {
-    maintainers = [ mkg20001 ];
+    maintainers = [ mkg20001 patryk27 ];
   };
 
   nodes.machine = { lib, ... }: {
@@ -100,20 +67,20 @@ in {
     # lxd expects the pool's directory to already exist
     machine.succeed("mkdir /var/lxd-pool")
 
-
     machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
+        "cat ${./common/lxd/config.yaml} | lxd init --preseed"
     )
 
     machine.succeed(
-        "lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine"
+        "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
     )
 
-    loc = "/var/www/simplestreams/images/iats/alpine/amd64/default/v1"
+    loc = "/var/www/simplestreams/images/iats/nixos/amd64/default/v1"
 
     with subtest("push image to server"):
-        machine.succeed("lxc launch alpine test")
-        machine.succeed("lxc stop test")
+        machine.succeed("lxc launch nixos test")
+        machine.sleep(5)
+        machine.succeed("lxc stop -f test")
         machine.succeed("lxc publish --public test --alias=testimg")
         machine.succeed("lxc image export testimg")
         machine.succeed("ls >&2")
diff --git a/nixos/tests/lxd-image.nix b/nixos/tests/lxd-image.nix
deleted file mode 100644
index 4930b55f19094..0000000000000
--- a/nixos/tests/lxd-image.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-# This test ensures that the nixOS lxd images builds and functions properly
-# It has been extracted from `lxd.nix` to seperate failures of just the image and the lxd software
-
-import ./make-test-python.nix ({ pkgs, ...} : let
-  release = import ../release.nix {
-    /* configuration = {
-      environment.systemPackages = with pkgs; [ stdenv ]; # inject stdenv so rebuild test works
-    }; */
-  };
-
-  metadata = release.lxdMeta.${pkgs.system};
-  image = release.lxdImage.${pkgs.system};
-
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
-in {
-  name = "lxd-image";
-
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ mkg20001 ];
-  };
-
-  nodes.machine = { lib, ... }: {
-    virtualisation = {
-      # disk full otherwise
-      diskSize = 2048;
-
-      lxc.lxcfs.enable = true;
-      lxd.enable = true;
-    };
-  };
-
-  testScript = ''
-    machine.wait_for_unit("sockets.target")
-    machine.wait_for_unit("lxd.service")
-    machine.wait_for_file("/var/lib/lxd/unix.socket")
-
-    # It takes additional second for lxd to settle
-    machine.sleep(1)
-
-    # lxd expects the pool's directory to already exist
-    machine.succeed("mkdir /var/lxd-pool")
-
-    machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
-    )
-
-    # TODO: test custom built container aswell
-
-    with subtest("importing container works"):
-        machine.succeed("lxc image import ${metadata}/*/*.tar.xz ${image}/*/*.tar.xz --alias nixos")
-
-    with subtest("launching container works"):
-        machine.succeed("lxc launch nixos machine -c security.nesting=true")
-        # make sure machine boots up properly
-        machine.sleep(5)
-
-    with subtest("container shell works"):
-        machine.succeed("echo true | lxc exec machine /run/current-system/sw/bin/bash -")
-        machine.succeed("lxc exec machine /run/current-system/sw/bin/true")
-
-    # with subtest("rebuilding works"):
-    #     machine.succeed("lxc exec machine /run/current-system/sw/bin/nixos-rebuild switch")
-  '';
-})
diff --git a/nixos/tests/lxd.nix b/nixos/tests/lxd.nix
index 162bbcc47e871..15d16564d641c 100644
--- a/nixos/tests/lxd.nix
+++ b/nixos/tests/lxd.nix
@@ -1,79 +1,18 @@
-import ./make-test-python.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ... } :
 
 let
-  # Since we don't have access to the internet during the tests, we have to
-  # pre-fetch lxd containers beforehand.
-  #
-  # I've chosen to import Alpine Linux, because its image is turbo-tiny and,
-  # generally, sufficient for our tests.
-  alpine-meta-x86 = pkgs.fetchurl {
-    url = "https://tarballs.nixos.org/alpine/3.12/lxd.tar.xz";
-    hash = "sha256-1tcKaO9lOkvqfmG/7FMbfAEToAuFy2YMewS8ysBKuLA=";
-  };
-  alpine-meta-for = arch: pkgs.stdenv.mkDerivation {
-    name = "alpine-meta-${arch}";
-    version = "3.12";
-    unpackPhase = "true";
-    buildPhase = ''
-      runHook preBuild
-
-      tar xvf ${alpine-meta-x86}
-      sed -i 's/architecture: .*/architecture: ${arch}/' metadata.yaml
-
-      runHook postBuild
-    '';
-    installPhase = ''
-      runHook preInstall
-
-      tar czRf $out *
-
-      runHook postInstall
-    '';
-  };
+  lxd-image = import ../release.nix {
+    configuration = {
+      # Building documentation makes the test unnecessarily take a longer time:
+      documentation.enable = lib.mkForce false;
 
-  alpine-meta = {
-    x86_64-linux = alpine-meta-x86;
-    aarch64-linux = alpine-meta-for "aarch64";
-  }.${pkgs.system} or (throw "Unsupported system: ${pkgs.system}");
-
-  alpine-rootfs = {
-    x86_64-linux = pkgs.fetchurl {
-      url = "https://tarballs.nixos.org/alpine/3.12/rootfs.tar.xz";
-      hash = "sha256-Tba9sSoaiMtQLY45u7p5DMqXTSDgs/763L/SQp0bkCA=";
-    };
-    aarch64-linux = pkgs.fetchurl {
-      url = "https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/aarch64/alpine-minirootfs-3.15.4-aarch64.tar.gz";
-      hash = "sha256-9kBz8Jwmo8XepJhTMt5zilCaHHpflnUH7y9+0To39Us=";
+      # Our tests require `grep` & friends:
+      environment.systemPackages = with pkgs; [ busybox ];
     };
-  }.${pkgs.system} or (throw "Unsupported system: ${pkgs.system}");
-
-  lxd-config = pkgs.writeText "config.yaml" ''
-    storage_pools:
-      - name: default
-        driver: dir
-        config:
-          source: /var/lxd-pool
-
-    networks:
-      - name: lxdbr0
-        type: bridge
-        config:
-          ipv4.address: auto
-          ipv6.address: none
-
-    profiles:
-      - name: default
-        devices:
-          eth0:
-            name: eth0
-            network: lxdbr0
-            type: nic
-          root:
-            path: /
-            pool: default
-            type: disk
-  '';
+  };
 
+  lxd-image-metadata = lxd-image.lxdMeta.${pkgs.system};
+  lxd-image-rootfs = lxd-image.lxdImage.${pkgs.system};
 
 in {
   name = "lxd";
@@ -84,6 +23,8 @@ in {
 
   nodes.machine = { lib, ... }: {
     virtualisation = {
+      diskSize = 2048;
+
       # Since we're testing `limits.cpu`, we've gotta have a known number of
       # cores to lean on
       cores = 2;
@@ -108,61 +49,66 @@ in {
     machine.succeed("mkdir /var/lxd-pool")
 
     machine.succeed(
-        "cat ${lxd-config} | lxd init --preseed"
+        "cat ${./common/lxd/config.yaml} | lxd init --preseed"
     )
 
     machine.succeed(
-        "lxc image import ${alpine-meta} ${alpine-rootfs} --alias alpine"
+        "lxc image import ${lxd-image-metadata}/*/*.tar.xz ${lxd-image-rootfs}/*/*.tar.xz --alias nixos"
     )
 
-    with subtest("Containers can be launched and destroyed"):
-        machine.succeed("lxc launch alpine test")
-        machine.succeed("lxc exec test true")
-        machine.succeed("lxc delete -f test")
+    with subtest("Container can be managed"):
+        machine.succeed("lxc launch nixos container")
+        machine.sleep(5)
+        machine.succeed("echo true | lxc exec container /run/current-system/sw/bin/bash -")
+        machine.succeed("lxc exec container true")
+        machine.succeed("lxc delete -f container")
 
-    with subtest("Containers are being mounted with lxcfs inside"):
-        machine.succeed("lxc launch alpine test")
+    with subtest("Container is mounted with lxcfs inside"):
+        machine.succeed("lxc launch nixos container")
+        machine.sleep(5)
 
         ## ---------- ##
         ## limits.cpu ##
 
-        machine.succeed("lxc config set test limits.cpu 1")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.cpu 1")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
-        # Since Alpine doesn't have `nproc` pre-installed, we've gotta resort
-        # to the primal methods
         assert (
             "1"
-            == machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip()
+            == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
         )
 
-        machine.succeed("lxc config set test limits.cpu 2")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.cpu 2")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "2"
-            == machine.succeed("lxc exec test grep -- -c ^processor /proc/cpuinfo").strip()
+            == machine.succeed("lxc exec container grep -- -c ^processor /proc/cpuinfo").strip()
         )
 
         ## ------------- ##
         ## limits.memory ##
 
-        machine.succeed("lxc config set test limits.memory 64MB")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.memory 64MB")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "MemTotal:          62500 kB"
-            == machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip()
+            == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
         )
 
-        machine.succeed("lxc config set test limits.memory 128MB")
-        machine.succeed("lxc restart test")
+        machine.succeed("lxc config set container limits.memory 128MB")
+        machine.succeed("lxc restart container")
+        machine.sleep(5)
 
         assert (
             "MemTotal:         125000 kB"
-            == machine.succeed("lxc exec test grep -- MemTotal /proc/meminfo").strip()
+            == machine.succeed("lxc exec container grep -- MemTotal /proc/meminfo").strip()
         )
 
-        machine.succeed("lxc delete -f test")
+        machine.succeed("lxc delete -f container")
   '';
 })
diff --git a/nixos/tests/matrix-appservice-irc.nix b/nixos/tests/matrix-appservice-irc.nix
index d1c561f95dbf2..70d4585239865 100644
--- a/nixos/tests/matrix-appservice-irc.nix
+++ b/nixos/tests/matrix-appservice-irc.nix
@@ -20,6 +20,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
               enable_registration = true;
 
+              # don't use this in production, always use some form of verification
+              enable_registration_without_verification = true;
+
               listeners = [ {
                 # The default but tls=false
                 bind_addresses = [
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index a1150097a0917..2cc1e9b0942ca 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -139,6 +139,26 @@ let
               client.wait_until_succeeds("ping -c 1 192.168.3.1")
         '';
     };
+    dhcpDefault = {
+      name = "useDHCP-by-default";
+      nodes.router = router;
+      nodes.client = { lib, ... }: {
+        # Disable test driver default config
+        networking.interfaces = lib.mkForce {};
+        networking.useNetworkd = networkd;
+        virtualisation.vlans = [ 1 ];
+      };
+      testScript = ''
+        start_all()
+        client.wait_for_unit("multi-user.target")
+        client.wait_until_succeeds("ip addr show dev eth1 | grep '192.168.1'")
+        client.shell_interact()
+        client.succeed("ping -c 1 192.168.1.1")
+        router.succeed("ping -c 1 192.168.1.1")
+        router.succeed("ping -c 1 192.168.1.2")
+        client.succeed("ping -c 1 192.168.1.2")
+      '';
+    };
     dhcpSimple = {
       name = "SimpleDHCP";
       nodes.router = router;
diff --git a/nixos/tests/openssh.nix b/nixos/tests/openssh.nix
index 003813379e697..4083f5906d79a 100644
--- a/nixos/tests/openssh.nix
+++ b/nixos/tests/openssh.nix
@@ -80,17 +80,21 @@ in {
 
         client.wait_for_unit("network.target")
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'echo hello world' >&2",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server 'ulimit -l' | grep 1024",
+            timeout=30
         )
 
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'echo hello world' >&2",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server_lazy 'ulimit -l' | grep 1024",
+            timeout=30
         )
 
     with subtest("configured-authkey"):
@@ -99,10 +103,12 @@ in {
         )
         client.succeed("chmod 600 privkey.snakeoil")
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server true",
+            timeout=30
         )
         client.succeed(
-            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true"
+            "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i privkey.snakeoil server_lazy true",
+            timeout=30
         )
 
     with subtest("localhost-only"):
diff --git a/nixos/tests/pam/pam-oath-login.nix b/nixos/tests/pam/pam-oath-login.nix
index 8fb7553de9073..c532e81e674d7 100644
--- a/nixos/tests/pam/pam-oath-login.nix
+++ b/nixos/tests/pam/pam-oath-login.nix
@@ -7,7 +7,7 @@ let
   # how many passwords have been made. In this env, we'll always be on
   # the 0th counter, so the password is static.
   #
-  # Generated in nix-shell -p oathToolkit
+  # Generated in nix-shell -p oath-toolkit
   # via: oathtool -v -d6 -w10 cdd4083ef8ff1fa9178c6d46bfb1a3
   # and picking a the first 4:
   oathSnakeOilPassword1 = "143349";
diff --git a/nixos/tests/pgadmin4.nix b/nixos/tests/pgadmin4.nix
index 2f6dc3bd569ff..b30299d307eb9 100644
--- a/nixos/tests/pgadmin4.nix
+++ b/nixos/tests/pgadmin4.nix
@@ -1,53 +1,27 @@
-import ./make-test-python.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, buildDeps ? [ ], pythonEnv ? [ ], ... }:
+
+  /*
+  This test suite replaces the typical pytestCheckHook function in python
+  packages. Pgadmin4 test suite needs a running and configured postgresql
+  server. This is why this test exists.
+
+  To not repeat all the python dependencies needed, this test is called directly
+  from the pgadmin4 derivation, which also passes the currently
+  used propagatedBuildInputs and any python overrides.
+
+  Unfortunately, there doesn't seem to be an easy way to otherwise include
+  the needed packages here.
+
+  Due the the needed parameters a direct call to "nixosTests.pgadmin4" fails
+  and needs to be called as "pgadmin4.tests"
+
+  */
 
   let
     pgadmin4SrcDir = "/pgadmin";
     pgadmin4Dir = "/var/lib/pgadmin";
     pgadmin4LogDir = "/var/log/pgadmin";
 
-    python-with-needed-packages = pkgs.python3.withPackages (ps: with ps; [
-      selenium
-      testtools
-      testscenarios
-      flask
-      flask-babelex
-      flask-babel
-      flask-gravatar
-      flask_login
-      flask_mail
-      flask_migrate
-      flask_sqlalchemy
-      flask_wtf
-      flask-compress
-      passlib
-      pytz
-      simplejson
-      six
-      sqlparse
-      wtforms
-      flask-paranoid
-      psutil
-      psycopg2
-      python-dateutil
-      sqlalchemy
-      itsdangerous
-      flask-security-too
-      bcrypt
-      cryptography
-      sshtunnel
-      ldap3
-      gssapi
-      flask-socketio
-      eventlet
-      httpagentparser
-      user-agents
-      wheel
-      authlib
-      qrcode
-      pillow
-      pyotp
-      boto3
-    ]);
   in
   {
     name = "pgadmin4";
@@ -55,12 +29,27 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
 
     nodes.machine = { pkgs, ... }: {
       imports = [ ./common/x11.nix ];
+      # needed because pgadmin 6.8 will fail, if those dependencies get updated
+      nixpkgs.overlays = [
+        (self: super: {
+          pythonPackages = pythonEnv;
+        })
+      ];
+
       environment.systemPackages = with pkgs; [
         pgadmin4
         postgresql
-        python-with-needed-packages
         chromedriver
         chromium
+        # include the same packages as in pgadmin minus speaklater3
+        (python3.withPackages
+          (ps: buildDeps ++
+            [
+              # test suite package requirements
+              pythonPackages.testscenarios
+              pythonPackages.selenium
+            ])
+        )
       ];
       services.postgresql = {
         enable = true;
@@ -121,7 +110,7 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
       with subtest("run browser test"):
           machine.succeed(
                'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg browser --exclude \
+               && python regression/runtests.py --pkg browser --exclude \
                browser.tests.test_ldap_login.LDAPLoginTestCase,browser.tests.test_ldap_login'
           )
 
@@ -131,13 +120,13 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
           machine.succeed(
               'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
                && export FONTCONFIG_FILE=${pkgs.makeFontsConf { fontDirectories = [];}} \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg feature_tests'
+               && python regression/runtests.py --pkg feature_tests'
           )
 
       with subtest("run resql test"):
           machine.succeed(
                'cd ${pgadmin4SrcDir}/pgadmin4-${pkgs.pgadmin4.version}/web \
-               && ${python-with-needed-packages.interpreter} regression/runtests.py --pkg resql'
+               && python regression/runtests.py --pkg resql'
           )
     '';
   })
diff --git a/nixos/tests/pleroma.nix b/nixos/tests/pleroma.nix
index 90a9a25110447..8998716243a25 100644
--- a/nixos/tests/pleroma.nix
+++ b/nixos/tests/pleroma.nix
@@ -158,7 +158,9 @@ import ./make-test-python.nix ({ pkgs, ... }:
 
     # Waiting for pleroma to be up.
     timeout 5m bash -c 'while [[ "$(curl -s -o /dev/null -w '%{http_code}' https://pleroma.nixos.test/api/v1/instance)" != "200" ]]; do sleep 2; done'
-    pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
+    # Toremove the RELEASE_COOKIE bit when https://github.com/NixOS/nixpkgs/issues/166229 gets fixed.
+    RELEASE_COOKIE="/var/lib/pleroma/.cookie" \
+      pleroma_ctl user new jamy jamy@nixos.test --password 'jamy-password' --moderator --admin -y
   '';
 
   tls-cert = pkgs.runCommand "selfSignedCerts" { buildInputs = [ pkgs.openssl ]; } ''
diff --git a/nixos/tests/public-inbox.nix b/nixos/tests/public-inbox.nix
new file mode 100644
index 0000000000000..7de40400fcbf5
--- /dev/null
+++ b/nixos/tests/public-inbox.nix
@@ -0,0 +1,227 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }:
+let
+  orga = "example";
+  domain = "${orga}.localdomain";
+
+  tls-cert = pkgs.runCommand "selfSignedCert" { buildInputs = [ pkgs.openssl ]; } ''
+    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -nodes -days 36500 \
+      -subj '/CN=machine.${domain}'
+    install -D -t $out key.pem cert.pem
+  '';
+in
+{
+  name = "public-inbox";
+
+  meta.maintainers = with pkgs.lib.maintainers; [ julm ];
+
+  machine = { config, pkgs, nodes, ... }: let
+    inherit (config.services) gitolite public-inbox;
+    # Git repositories paths in Gitolite.
+    # Only their baseNameOf is used for configuring public-inbox.
+    repositories = [
+      "user/repo1"
+      "user/repo2"
+    ];
+  in
+  {
+    virtualisation.diskSize = 1 * 1024;
+    virtualisation.memorySize = 1 * 1024;
+    networking.domain = domain;
+
+    security.pki.certificateFiles = [ "${tls-cert}/cert.pem" ];
+    # If using security.acme:
+    #security.acme.certs."${domain}".postRun = ''
+    #  systemctl try-restart public-inbox-nntpd public-inbox-imapd
+    #'';
+
+    services.public-inbox = {
+      enable = true;
+      postfix.enable = true;
+      openFirewall = true;
+      settings.publicinbox = {
+        css = [ "href=https://machine.${domain}/style/light.css" ];
+        nntpserver = [ "nntps://machine.${domain}" ];
+        wwwlisting = "match=domain";
+      };
+      mda = {
+        enable = true;
+        args = [ "--no-precheck" ]; # Allow Bcc:
+      };
+      http = {
+        enable = true;
+        port = "/run/public-inbox-http.sock";
+        #port = 8080;
+        args = ["-W0"];
+        mounts = [
+          "https://machine.${domain}/inbox"
+        ];
+      };
+      nntp = {
+        enable = true;
+        #port = 563;
+        args = ["-W0"];
+        cert = "${tls-cert}/cert.pem";
+        key = "${tls-cert}/key.pem";
+      };
+      imap = {
+        enable = true;
+        #port = 993;
+        args = ["-W0"];
+        cert = "${tls-cert}/cert.pem";
+        key = "${tls-cert}/key.pem";
+      };
+      inboxes = lib.recursiveUpdate (lib.genAttrs (map baseNameOf repositories) (repo: {
+        address = [
+          # Routed to the "public-inbox:" transport in services.postfix.transport
+          "${repo}@${domain}"
+        ];
+        description = ''
+          ${repo}@${domain} :
+          discussions about ${repo}.
+        '';
+        url = "https://machine.${domain}/inbox/${repo}";
+        newsgroup = "inbox.comp.${orga}.${repo}";
+        coderepo = [ repo ];
+      }))
+      {
+        repo2 = {
+          hide = [
+            "imap" # FIXME: doesn't work for IMAP as of public-inbox 1.6.1
+            "manifest"
+            "www"
+          ];
+        };
+      };
+      settings.coderepo = lib.listToAttrs (map (path: lib.nameValuePair (baseNameOf path) {
+        dir = "/var/lib/gitolite/repositories/${path}.git";
+        cgitUrl = "https://git.${domain}/${path}.git";
+      }) repositories);
+    };
+
+    # Use gitolite to store Git repositories listed in coderepo entries
+    services.gitolite = {
+      enable = true;
+      adminPubkey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJmoTOQnGqX+//us5oye8UuE+tQBx9QEM7PN13jrwgqY root@localhost";
+    };
+    systemd.services.public-inbox-httpd = {
+      serviceConfig.SupplementaryGroups = [ gitolite.group ];
+    };
+
+    # Use nginx as a reverse proxy for public-inbox-httpd
+    services.nginx = {
+      enable = true;
+      recommendedGzipSettings = true;
+      recommendedOptimisation = true;
+      recommendedTlsSettings = true;
+      recommendedProxySettings = true;
+      virtualHosts."machine.${domain}" = {
+        forceSSL = true;
+        sslCertificate = "${tls-cert}/cert.pem";
+        sslCertificateKey = "${tls-cert}/key.pem";
+        locations."/".return = "302 /inbox";
+        locations."= /inbox".return = "302 /inbox/";
+        locations."/inbox".proxyPass = "http://unix:${public-inbox.http.port}:/inbox";
+        # If using TCP instead of a Unix socket:
+        #locations."/inbox".proxyPass = "http://127.0.0.1:${toString public-inbox.http.port}/inbox";
+        # Referred to by settings.publicinbox.css
+        # See http://public-inbox.org/meta/_/text/color/
+        locations."= /style/light.css".alias = pkgs.writeText "light.css" ''
+          * { background:#fff; color:#000 }
+
+          a { color:#00f; text-decoration:none }
+          a:visited { color:#808 }
+
+          *.q { color:#008 }
+
+          *.add { color:#060 }
+          *.del {color:#900 }
+          *.head { color:#000 }
+          *.hunk { color:#960 }
+
+          .hl.num { color:#f30 } /* number */
+          .hl.esc { color:#f0f } /* escape character */
+          .hl.str { color:#f30 } /* string */
+          .hl.ppc { color:#c3c } /* preprocessor */
+          .hl.pps { color:#f30 } /* preprocessor string */
+          .hl.slc { color:#099 } /* single-line comment */
+          .hl.com { color:#099 } /* multi-line comment */
+          /* .hl.opt { color:#ccc } */ /* operator */
+          /* .hl.ipl { color:#ccc } */ /* interpolation */
+
+          /* keyword groups kw[a-z] */
+          .hl.kwa { color:#f90 }
+          .hl.kwb { color:#060 }
+          .hl.kwc { color:#f90 }
+          /* .hl.kwd { color:#ccc } */
+        '';
+      };
+    };
+
+    services.postfix = {
+      enable = true;
+      setSendmail = true;
+      #sslCert = "${tls-cert}/cert.pem";
+      #sslKey = "${tls-cert}/key.pem";
+      recipientDelimiter = "+";
+    };
+
+    environment.systemPackages = [
+      pkgs.mailutils
+      pkgs.openssl
+    ];
+
+  };
+
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("public-inbox-init.service")
+
+    # Very basic check that Gitolite can work;
+    # Gitolite is not needed for the rest of this testScript
+    machine.wait_for_unit("gitolite-init.service")
+
+    # List inboxes through public-inbox-httpd
+    machine.wait_for_unit("nginx.service")
+    machine.succeed("curl -L https://machine.${domain} | grep repo1@${domain}")
+    # The repo2 inbox is hidden
+    machine.fail("curl -L https://machine.${domain} | grep repo2@${domain}")
+    machine.wait_for_unit("public-inbox-httpd.service")
+
+    # Send a mail and read it through public-inbox-httpd
+    # Must work too when using a recipientDelimiter.
+    machine.wait_for_unit("postfix.service")
+    machine.succeed("mail -t <${pkgs.writeText "mail" ''
+      Subject: Testing mail
+      From: root@localhost
+      To: repo1+extension@${domain}
+      Message-ID: <repo1@root-1>
+      Content-Type: text/plain; charset=utf-8
+      Content-Disposition: inline
+
+      This is a testing mail.
+    ''}")
+    machine.sleep(5)
+    machine.succeed("curl -L 'https://machine.${domain}/inbox/repo1/repo1@root-1/T/#u' | grep 'This is a testing mail.'")
+
+    # Read a mail through public-inbox-imapd
+    machine.wait_for_open_port(993)
+    machine.wait_for_unit("public-inbox-imapd.service")
+    machine.succeed("openssl s_client -ign_eof -crlf -connect machine.${domain}:993 <${pkgs.writeText "imap-commands" ''
+      tag login anonymous@${domain} anonymous
+      tag SELECT INBOX.comp.${orga}.repo1.0
+      tag FETCH 1 (BODY[HEADER])
+      tag LOGOUT
+    ''} | grep '^Message-ID: <repo1@root-1>'")
+
+    # TODO: Read a mail through public-inbox-nntpd
+    #machine.wait_for_open_port(563)
+    #machine.wait_for_unit("public-inbox-nntpd.service")
+
+    # Delete a mail.
+    # Note that the use of an extension not listed in the addresses
+    # require to use --all
+    machine.succeed("curl -L https://machine.example.localdomain/inbox/repo1/repo1@root-1/raw | sudo -u public-inbox public-inbox-learn rm --all")
+    machine.fail("curl -L https://machine.example.localdomain/inbox/repo1/repo1@root-1/T/#u | grep 'This is a testing mail.'")
+  '';
+})
diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix
index 5bf55060d2e03..c2cb92d11301c 100644
--- a/nixos/tests/systemd-nspawn.nix
+++ b/nixos/tests/systemd-nspawn.nix
@@ -25,8 +25,15 @@ let
   nspawnImages = (pkgs.runCommand "localhost" { buildInputs = [ pkgs.coreutils pkgs.gnupg ]; } ''
     mkdir -p $out
     cd $out
+
+    # produce a testimage.raw
     dd if=/dev/urandom of=$out/testimage.raw bs=$((1024*1024+7)) count=5
-    sha256sum testimage.raw > SHA256SUMS
+
+    # produce a testimage2.tar.xz, containing the hello store path
+    tar cvJpf testimage2.tar.xz ${pkgs.hello}
+
+    # produce signature(s)
+    sha256sum testimage* > SHA256SUMS
     export GNUPGHOME="$(mktemp -d)"
     cp -R ${gpgKeyring}/* $GNUPGHOME
     gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
@@ -56,5 +63,9 @@ in {
     client.succeed(
         "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw"
     )
+    client.succeed("machinectl pull-tar --verify=signature http://server/testimage2.tar.xz")
+    client.succeed(
+        "cmp /var/lib/machines/testimage2/${pkgs.hello}/bin/hello ${pkgs.hello}/bin/hello"
+    )
   '';
 })
diff --git a/nixos/tests/uptermd.nix b/nixos/tests/uptermd.nix
new file mode 100644
index 0000000000000..b2ff9a1e0d9cf
--- /dev/null
+++ b/nixos/tests/uptermd.nix
@@ -0,0 +1,62 @@
+import ./make-test-python.nix ({ pkgs, ...}:
+
+let
+  client = {pkgs, ...}:{
+    environment.systemPackages = [ pkgs.upterm ];
+  };
+in
+{
+  name = "uptermd";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ fleaz ];
+  };
+
+  nodes = {
+    server = {config, ...}: {
+      services.uptermd = {
+        enable = true;
+        openFirewall = true;
+        port = 1337;
+      };
+    };
+    client1 = client;
+    client2 = client;
+  };
+
+
+  testScript = ''
+    start_all()
+
+    server.wait_for_unit("uptermd.service")
+    server.wait_for_unit("network-online.target")
+
+    # Add SSH hostkeys from the server to both clients
+    # uptermd needs an '@cert-authority entry so we need to modify the known_hosts file
+    client1.execute("sleep 3; mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
+    client1.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts")
+    client2.execute("sleep 3; mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
+    client2.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts")
+
+    client1.wait_for_unit("multi-user.target")
+    client1.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
+    client1.wait_until_tty_matches(1, "login: ")
+    client1.send_chars("root\n")
+    client1.wait_until_succeeds("pgrep -u root bash")
+
+    client1.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519")
+    client1.send_chars("TERM=xterm upterm host --server ssh://server:1337 --force-command hostname -- bash > /tmp/session-details\n")
+    client1.wait_for_file("/tmp/session-details")
+    client1.send_key("q")
+
+    # uptermd can't connect if we don't have a keypair
+    client2.execute("ssh-keygen -t ed25519 -N \"\" -f /root/.ssh/id_ed25519")
+
+    # Grep the ssh connect command from the output of 'upterm host'
+    ssh_command = client1.succeed("grep 'SSH Session' /tmp/session-details | cut -d':' -f2-").strip()
+
+    # Connect with client2. Because we used '--force-command hostname' we should get "client1" as the output
+    output = client2.succeed(ssh_command)
+
+    assert output.strip() == "client1"
+  '';
+})
diff --git a/nixos/tests/virtualbox.nix b/nixos/tests/virtualbox.nix
index 27093aab96ee5..4eb402a7d36ef 100644
--- a/nixos/tests/virtualbox.nix
+++ b/nixos/tests/virtualbox.nix
@@ -222,7 +222,7 @@ let
               machine.execute(ru("VBoxManage controlvm ${name} poweroff"))
           machine.succeed("rm -rf ${sharePath}")
           machine.succeed("mkdir -p ${sharePath}")
-          machine.succeed("chown alice.users ${sharePath}")
+          machine.succeed("chown alice:users ${sharePath}")
 
 
       def create_vm_${name}():
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
index 94129d05288bd..b2586ef76c2b3 100644
--- a/pkgs/applications/accessibility/squeekboard/default.nix
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "squeekboard";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-51Grkn6NSR6azTRuq1vdbDg7d3HuQQ+ZJCsM2mSrSHk=";
+    sha256 = "sha256-U46OQ0bXkXv6za8vUZxtbxJKqiF/X/xxJsqQGpnRIpg=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
       cat Cargo.toml.in Cargo.deps > Cargo.toml
     '';
     name = "${pname}-${version}";
-    sha256 = "sha256-vQaiEENxaQxBGYP1br03wSkU7OGOYkJvMBUAOeb3jGk=";
+    sha256 = "sha256-4q8MW1n/xu538+R5ZlA+p/hd6pOQPKj7jOFwnuMc7sk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index a501cd0a1d883..a0f5b48a63231 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -13,11 +13,22 @@
 , libXinerama
 , libXext
 , libXcursor
-, libobjc
+, Foundation
 , Cocoa
+, Carbon
 , CoreServices
+, ApplicationServices
+, CoreAudio
+, CoreMIDI
+, AudioToolbox
+, Accelerate
+, CoreImage
+, IOKit
+, AudioUnit
+, QuartzCore
 , WebKit
 , DiscRecording
+, CoreAudioKit
 
   # Enabling JACK requires a JACK server at runtime, no fallback mechanism
 , withJack ? false, jack
@@ -35,25 +46,16 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${lib.strings.toLower type}plug";
-  version = "1.0.2";
+  version = "unstable-2021-12-17";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
-    rev = "v${version}";
+    rev = "a488abedf1783c61cb4f0caa689f1b01bf9aa17d";
     fetchSubmodules = true;
-    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
+    sha256 = "1a5zw0rglqgc5wq1n0s5bxx7y59dsg6qy02236fakl34bvbk60yz";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/jpcima/ADLplug/83636c55bec1b86cabf634b9a6d56d07f00ecc61/resources/patch/juce-gcc9.patch";
-      sha256 = "15hkdb76n9lgjsrpczj27ld9b4804bzrgw89g95cj4sc8wwkplyy";
-      extraPrefix = "thirdparty/JUCE/";
-      stripLen = 1;
-    })
-  ];
-
   cmakeFlags = [
     "-DADLplug_CHIP=${chip}"
     "-DADLplug_USE_SYSTEM_FMT=ON"
@@ -61,9 +63,24 @@ stdenv.mkDerivation rec {
   ];
 
   NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    # "fp.h" file not found
     "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
   ]);
 
+  NIX_LDFLAGS = toString (lib.optionals stdenv.hostPlatform.isDarwin [
+    # Framework that JUCE needs which don't get linked properly
+    "-framework CoreAudioKit"
+    "-framework QuartzCore"
+    "-framework AudioToolbox"
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    # JUCE dlopen's these at runtime
+    "-lX11"
+    "-lXext"
+    "-lXcursor"
+    "-lXinerama"
+    "-lXrandr"
+  ]);
+
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -81,17 +98,32 @@ stdenv.mkDerivation rec {
     libXext
     libXcursor
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
-    libobjc
+    Foundation
     Cocoa
+    Carbon
     CoreServices
+    ApplicationServices
+    CoreAudio
+    CoreMIDI
+    AudioToolbox
+    Accelerate
+    CoreImage
+    IOKit
+    AudioUnit
+    QuartzCore
     WebKit
     DiscRecording
+    CoreAudioKit
   ] ++ lib.optional withJack jack;
 
   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
-    mkdir $out/Applications
+    mkdir -p $out/{Applications,Library/Audio/Plug-Ins/{VST,Components}}
+
     mv $out/bin/${mainProgram}.app $out/Applications/
     ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+
+    mv vst2/${mainProgram}.vst $out/Library/Audio/Plug-Ins/VST/
+    mv au/${mainProgram}.component $out/Library/Audio/Plug-Ins/Components/
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/airwindows-lv2/default.nix b/pkgs/applications/audio/airwindows-lv2/default.nix
new file mode 100644
index 0000000000000..c3cc1a21ffc58
--- /dev/null
+++ b/pkgs/applications/audio/airwindows-lv2/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "airwindows-lv2";
+  version = "1.0";
+  src = fetchFromGitHub {
+    owner = "hannesbraun";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-xokV4Af0evdo73D9JObzAmY1wD0aUyXiI0Z7BUN0m+M=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+  buildInputs = [ lv2 ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}/lib/lv2" ];
+
+  meta = with lib; {
+    description = "Airwindows plugins (ported to LV2)";
+    homepage = "https://github.com/hannesbraun/airwindows-lv2";
+    license = licenses.mit;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/audio/amberol/default.nix b/pkgs/applications/audio/amberol/default.nix
index f1da043d598c8..c0b90592cd246 100644
--- a/pkgs/applications/audio/amberol/default.nix
+++ b/pkgs/applications/audio/amberol/default.nix
@@ -8,6 +8,7 @@
 , ninja
 , pkg-config
 , reuse
+, m4
 , wrapGAppsHook4
 , glib
 , gtk4
@@ -18,20 +19,20 @@
 
 stdenv.mkDerivation rec {
   pname = "amberol";
-  version = "0.4.3";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4yW7rVlP9Zskyt4l/VQoX+9q3TUdEuLZrNQuQvziIf4=";
+    hash = "sha256-mbRBLhnALPFoHwvx05o0lH5Ld4BN+hPY2OyajgTFsek=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256-1ahEWLBmkT+B8qD0Qd1skXqk1wvP6yuFNAQBRdispC4=";
+    hash = "sha256-/5AHwbolEWsj3ChLFJxQaccfookEGvSSkehw0THYnSE=";
   };
 
   postPatch = ''
@@ -45,6 +46,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     reuse
+    m4
     wrapGAppsHook4
   ] ++ (with rustPlatform; [
     cargoSetupHook
diff --git a/pkgs/applications/audio/axoloti/default.nix b/pkgs/applications/audio/axoloti/default.nix
deleted file mode 100644
index df885c90371f0..0000000000000
--- a/pkgs/applications/audio/axoloti/default.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, unzip
-, gnumake, gcc-arm-embedded, binutils-arm-embedded
-, dfu-util-axoloti, jdk, ant, libfaketime }:
-
-stdenv.mkDerivation rec {
-  version = "1.0.12-2";
-  pname = "axoloti";
-
-  src = fetchFromGitHub {
-    owner = "axoloti";
-    repo = "axoloti";
-    rev = version;
-    sha256 = "1qffis277wshldr3i939b0r2x3a2mlr53samxqmr2nk1sfm2b4w9";
-  };
-
-  chibi_version = "2.6.9";
-  chibi_name = "ChibiOS_${chibi_version}";
-
-  chibios = fetchurl {
-    url = "mirror://sourceforge/project/chibios/ChibiOS_RT%20stable/Version%20${chibi_version}/${chibi_name}.zip";
-    sha256 = "0lb5s8pkj80mqhsy47mmq0lqk34s2a2m3xagzihalvabwd0frhlj";
-  };
-
-  nativeBuildInputs = [
-    makeWrapper
-    unzip
-    gcc-arm-embedded
-    binutils-arm-embedded
-    dfu-util-axoloti
-    ant
-  ];
-  buildInputs = [jdk libfaketime ];
-
-  patchPhase = ''
-    unzip ${chibios}
-    mv ${chibi_name} chibios
-    (cd chibios/ext; unzip -q -o fatfs-0.9-patched.zip)
-
-    # Remove source of non-determinism in ChibiOS
-    substituteInPlace "chibios/os/various/shell.c" \
-      --replace "#ifdef __DATE__" "#if 0"
-
-    # Hardcode path to "make"
-    for f in "firmware/compile_firmware_linux.sh" \
-             "firmware/compile_patch_linux.sh"; do
-      substituteInPlace "$f" \
-        --replace "make" "${gnumake}/bin/make"
-    done
-
-    # Hardcode dfu-util path
-    substituteInPlace "platform_linux/upload_fw_dfu.sh" \
-      --replace "/bin/dfu-util" ""
-    substituteInPlace "platform_linux/upload_fw_dfu.sh" \
-      --replace "./dfu-util" "${dfu-util-axoloti}/bin/dfu-util"
-
-    # Fix build version
-    substituteInPlace "build.xml" \
-      --replace "(git missing)" "${version}"
-
-    # Remove build time
-    substituteInPlace "build.xml" \
-      --replace "<tstamp>" ""
-    substituteInPlace "build.xml" \
-      --replace \
-        '<format property="build.time" pattern="dd/MM/yyyy HH:mm:ss z"/>' \
-        '<property name="build.time" value=""/>'
-    substituteInPlace "build.xml" \
-      --replace "</tstamp>" ""
-    substituteInPlace "build.xml" \
-      --replace \
-       '{line.separator}</echo>' \
-       '{line.separator}</echo> <touch file="src/main/java/axoloti/Version.java" millis="0" />'
-  '';
-
-  buildPhase = ''
-    find . -exec touch -d '1970-01-01 00:00' {} \;
-    (cd platform_linux; sh compile_firmware.sh)
-    faketime "1970-01-01 00:00:00" ant -Dbuild.runtime=true
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/axoloti
-
-    cp -r doc firmware chibios platform_linux CMSIS *.txt $out/share/axoloti/
-    install -vD dist/Axoloti.jar $out/share/axoloti/
-
-    makeWrapper ${jdk}/bin/java $out/bin/axoloti --add-flags "-Daxoloti_release=$out/share/axoloti -Daxoloti_runtime=$out/share/axoloti -jar $out/share/axoloti/Axoloti.jar"
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.axoloti.com";
-    description = ''
-      Sketching embedded digital audio algorithms.
-
-      To fix permissions of the Axoloti USB device node, add a similar udev rule to <literal>services.udev.extraRules</literal>:
-      <literal>SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="someuser", GROUP="somegroup"</literal>
-    '';
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/applications/audio/axoloti/dfu-util.nix b/pkgs/applications/audio/axoloti/dfu-util.nix
deleted file mode 100644
index a8a2f8813af87..0000000000000
--- a/pkgs/applications/audio/axoloti/dfu-util.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, libusb1-axoloti }:
-
-stdenv.mkDerivation rec {
-  pname = "dfu-util";
-  version = "0.8";
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ libusb1-axoloti ];
-
-  src = fetchurl {
-    url = "http://dfu-util.sourceforge.net/releases/${pname}-${version}.tar.gz";
-    sha256 = "0n7h08avlzin04j93m6hkq9id6hxjiiix7ff9gc2n89aw6dxxjsm";
-  };
-
-  meta = with lib; {
-    description = "Device firmware update (DFU) USB programmer";
-    longDescription = ''
-      dfu-util is a program that implements the host (PC) side of the USB
-      DFU 1.0 and 1.1 (Universal Serial Bus Device Firmware Upgrade) protocol.
-
-      DFU is intended to download and upload firmware to devices connected over
-      USB. It ranges from small devices like micro-controller boards up to mobile
-      phones. With dfu-util you are able to download firmware to your device or
-      upload firmware from it.
-    '';
-    homepage = "http://dfu-util.sourceforge.net";
-    license = licenses.gpl2Plus;
-    platforms = platforms.unix;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/applications/audio/axoloti/libusb1.nix b/pkgs/applications/audio/axoloti/libusb1.nix
deleted file mode 100644
index 820a8998f0bd8..0000000000000
--- a/pkgs/applications/audio/axoloti/libusb1.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ stdenv, lib, fetchurl, pkg-config, systemd, libobjc, IOKit, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "libusb";
-  version = "1.0.19";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
-    sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
-  };
-
-  outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
-
-  buildInputs = [ pkg-config ];
-  propagatedBuildInputs = lib.optional stdenv.isLinux systemd
-    ++ lib.optionals stdenv.isDarwin [ libobjc IOKit ];
-
-  patches = [
-    (fetchpatch {
-      name = "libusb.stdfu.patch";
-      url = "https://raw.githubusercontent.com/axoloti/axoloti/1.0.12/platform_linux/src/libusb.stdfu.patch";
-      sha256 = "194j7j61i4q6x0ihm9ms8dxd4vliw20n2rj6cm9h17qzdl9xr33d";
-    })
-  ];
-
-  NIX_LDFLAGS = lib.optionalString stdenv.isLinux "-lgcc_s";
-
-  preFixup = lib.optionalString stdenv.isLinux ''
-    sed 's,-ludev,-L${lib.getLib systemd}/lib -ludev,' -i $out/lib/libusb-1.0.la
-  '';
-
-  meta = with lib; {
-    homepage = "http://www.libusb.info";
-    description = "User-space USB library";
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-    license = licenses.lgpl21;
-  };
-}
diff --git a/pkgs/applications/audio/cdparanoia/configure.patch b/pkgs/applications/audio/cdparanoia/configure.patch
new file mode 100644
index 0000000000000..81c50cec814ab
--- /dev/null
+++ b/pkgs/applications/audio/cdparanoia/configure.patch
@@ -0,0 +1,22 @@
+diff --git a/configure.in b/configure.ac
+similarity index 90%
+rename from configure.in
+rename to configure.ac
+index 3ad98ca11da..8fad378faf4 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -1,13 +1,8 @@
+ AC_INIT(interface/interface.c)
+ 
+-cp $srcdir/configure.guess $srcdir/config.guess
+-cp $srcdir/configure.sub $srcdir/config.sub
+-
+ AC_CANONICAL_HOST
+ 
+-if test -z "$CC"; then
+-	AC_PROG_CC	
+-fi
++AC_PROG_CC
+ AC_PROG_RANLIB
+ AC_CHECK_PROG(AR,ar,ar)
+ AC_CHECK_PROG(INSTALL,install,install)
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index 10ff66de77ed4..7f699b82aefc8 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, gnu-config, IOKit, Carbon }:
+{ lib, stdenv, fetchurl, fetchpatch
+, updateAutotoolsGnuConfigScriptsHook, autoreconfHook
+, IOKit, Carbon
+}:
 
 stdenv.mkDerivation rec {
   pname = "cdparanoia-III";
@@ -10,16 +13,29 @@ stdenv.mkDerivation rec {
   };
 
   patches = lib.optionals stdenv.isDarwin [
-    (fetchurl {
+    (fetchpatch {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/osx_interface.patch";
-      sha256 = "1n86kzm2ssl8fdf5wlhp6ncb2bf6b9xlb5vg0mhc85r69prqzjiy";
+      sha256 = "0hq3lvfr0h1m3p0r33jij0s1aspiqlpy533rwv19zrfllb39qvr8";
+      # Our configure patch will subsume it, but we want our configure
+      # patch to be used on all platforms so we cannot just start where
+      # this leaves off.
+      excludes = [ "configure.in" ];
     })
     (fetchurl {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/patch-paranoia_paranoia.c.10.4.diff";
       sha256 = "17l2qhn8sh4jy6ryy5si6ll6dndcm0r537rlmk4a6a8vkn852vad";
     })
-    ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch
-    ++ [./fix_private_keyword.patch];
+  ] ++ [
+    # Has to come after darwin patches
+    ./fix_private_keyword.patch
+    # Order does not matter
+    ./configure.patch
+  ] ++ lib.optional stdenv.hostPlatform.isMusl ./utils.patch;
+
+  nativeBuildInputs = [
+    updateAutotoolsGnuConfigScriptsHook
+    autoreconfHook
+  ];
 
   propagatedBuildInputs = lib.optionals stdenv.isDarwin [
     Carbon
@@ -28,13 +44,6 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  preConfigure = ''
-    unset CC
-  '' + lib.optionalString (!stdenv.hostPlatform.isx86) ''
-    cp ${gnu-config}/config.sub configure.sub
-    cp ${gnu-config}/config.guess configure.guess
-  '';
-
   # Build system reuses the same object file names for shared and static
   # library. Occasionally fails in the middle:
   #    gcc -O2 -fsigned-char -g -O2 -c scan_devices.c
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 3c9e35c8726bb..a7f58e0d68bb6 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -84,6 +84,7 @@ let
     gettext
     glew
     gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
     gst_all_1.gstreamer
     gvfs
     libechonest
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index ebcdb8f4290e3..4da3efbffe471 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -1,4 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake, libsndfile, libsamplerate, flex, bison, boost, gettext
+, Accelerate
+, AudioUnit
+, CoreAudio
+, CoreMIDI
 , alsa-lib ? null
 , libpulseaudio ? null
 , libjack2 ? null
@@ -26,21 +30,29 @@ stdenv.mkDerivation rec {
   };
 
   cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
+    ++ lib.optional stdenv.isDarwin "-DCS_FRAMEWORK_DEST=${placeholder "out"}/lib"
     ++ lib.optional (libjack2 != null) "-DJACK_HEADER=${libjack2}/include/jack/jack.h";
 
   nativeBuildInputs = [ cmake flex bison gettext ];
   buildInputs = [ libsndfile libsamplerate boost ]
-    ++ builtins.filter (optional: optional != null) [
+    ++ lib.optionals stdenv.isDarwin [
+      Accelerate AudioUnit CoreAudio CoreMIDI
+    ] ++ lib.optionals stdenv.isLinux (builtins.filter (optional: optional != null) [
       alsa-lib libpulseaudio libjack2
       liblo ladspa-sdk fluidsynth eigen
-      curl tcltk fltk ];
+      curl tcltk fltk
+    ]);
+
+  postInstall = lib.optional stdenv.isDarwin ''
+    mkdir -p $out/Library/Frameworks
+    ln -s $out/lib/CsoundLib64.framework $out/Library/Frameworks
+  '';
 
   meta = with lib; {
     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
     homepage = "https://csound.com/";
     license = licenses.lgpl21Plus;
     maintainers = [maintainers.marcweber];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix
index e8b0ded4c00db..ac5cb06a21985 100644
--- a/pkgs/applications/audio/deadbeef/default.nix
+++ b/pkgs/applications/audio/deadbeef/default.nix
@@ -6,56 +6,35 @@
 , pkg-config
 , jansson
 # deadbeef can use either gtk2 or gtk3
-, gtk2Support ? false, gtk2 ? null
-, gtk3Support ? true, gtk3 ? null, gsettings-desktop-schemas ? null, wrapGAppsHook ? null
+, gtk2Support ? false, gtk2
+, gtk3Support ? true, gtk3, gsettings-desktop-schemas, wrapGAppsHook
 # input plugins
-, vorbisSupport ? true, libvorbis ? null
-, mp123Support ? true, libmad ? null
-, flacSupport ? true, flac ? null
-, wavSupport ? true, libsndfile ? null
-, cdaSupport ? true, libcdio ? null, libcddb ? null
-, aacSupport ? true, faad2 ? null
-, opusSupport ? true, opusfile ? null
-, wavpackSupport ? false, wavpack ? null
-, ffmpegSupport ? false, ffmpeg ? null
-, apeSupport ? true, yasm ? null
+, vorbisSupport ? true, libvorbis
+, mp123Support ? true, libmad
+, flacSupport ? true, flac
+, wavSupport ? true, libsndfile
+, cdaSupport ? true, libcdio, libcddb
+, aacSupport ? true, faad2
+, opusSupport ? true, opusfile
+, wavpackSupport ? false, wavpack
+, ffmpegSupport ? false, ffmpeg
+, apeSupport ? true, yasm
 # misc plugins
-, zipSupport ? true, libzip ? null
-, artworkSupport ? true, imlib2 ? null
-, hotkeysSupport ? true, libX11 ? null
-, osdSupport ? true, dbus ? null
+, zipSupport ? true, libzip
+, artworkSupport ? true, imlib2
+, hotkeysSupport ? true, libX11
+, osdSupport ? true, dbus
 # output plugins
-, alsaSupport ? true, alsa-lib ? null
-, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
+, alsaSupport ? true, alsa-lib
+, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio
 # effect plugins
-, resamplerSupport ? true, libsamplerate ? null
-, overloadSupport ? true, zlib ? null
+, resamplerSupport ? true, libsamplerate
+, overloadSupport ? true, zlib
 # transports
-, remoteSupport ? true, curl ? null
+, remoteSupport ? true, curl
 }:
 
 assert gtk2Support || gtk3Support;
-assert gtk2Support -> gtk2 != null;
-assert gtk3Support -> gtk3 != null && gsettings-desktop-schemas != null && wrapGAppsHook != null;
-assert vorbisSupport -> libvorbis != null;
-assert mp123Support -> libmad != null;
-assert flacSupport -> flac != null;
-assert wavSupport -> libsndfile != null;
-assert cdaSupport -> (libcdio != null && libcddb != null);
-assert aacSupport -> faad2 != null;
-assert opusSupport -> opusfile != null;
-assert zipSupport -> libzip != null;
-assert ffmpegSupport -> ffmpeg != null;
-assert apeSupport -> yasm != null;
-assert artworkSupport -> imlib2 != null;
-assert hotkeysSupport -> libX11 != null;
-assert osdSupport -> dbus != null;
-assert alsaSupport -> alsa-lib != null;
-assert pulseSupport -> libpulseaudio != null;
-assert resamplerSupport -> libsamplerate != null;
-assert overloadSupport -> zlib != null;
-assert wavpackSupport -> wavpack != null;
-assert remoteSupport -> curl != null;
 
 stdenv.mkDerivation rec {
   pname = "deadbeef";
diff --git a/pkgs/applications/audio/deadbeef/plugins/infobar.nix b/pkgs/applications/audio/deadbeef/plugins/infobar.nix
deleted file mode 100644
index 3f62e73e7e469..0000000000000
--- a/pkgs/applications/audio/deadbeef/plugins/infobar.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, deadbeef, gtk3, libxml2 }:
-
-stdenv.mkDerivation rec {
-  pname = "deadbeef-infobar-plugin";
-  version = "1.4";
-
-  src = fetchurl {
-    url = "https://bitbucket.org/dsimbiriatin/deadbeef-infobar/downloads/deadbeef-infobar-${version}.tar.gz";
-    sha256 = "0c9wh3wh1hdww7v96i8cy797la06mylhfi0880k8vwh88079aapf";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ deadbeef gtk3 libxml2 ];
-
-  buildFlags = [ "gtk3" ];
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/lib/deadbeef
-    cp gtk3/ddb_infobar_gtk3.so $out/lib/deadbeef
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    broken = true; # crashes DeaDBeeF and is abandoned (https://bitbucket.org/dsimbiriatin/deadbeef-infobar/issues/38/infobar-causes-deadbeef-180-to-crash)
-    description = "DeaDBeeF Infobar Plugin";
-    homepage = "https://bitbucket.org/dsimbiriatin/deadbeef-infobar";
-    license = licenses.gpl2Plus;
-    maintainers = [ maintainers.jtojnar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/audio/dsf2flac/default.nix b/pkgs/applications/audio/dsf2flac/default.nix
index db07acf7c36c4..d47bff7fe8849 100644
--- a/pkgs/applications/audio/dsf2flac/default.nix
+++ b/pkgs/applications/audio/dsf2flac/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dsf2flac";
-  version = "unstable-2018-01-02";
+  version = "unstable-2021-07-31";
 
   src = fetchFromGitHub {
     owner = "hank";
     repo = pname;
-    rev = "b0cf5aa6ddc60df9bbfeed25548e443c99f5cb16";
-    sha256 = "15j5f82v7lgs0fkgyyynl82cb1rsxyr9vw3bpzra63nacbi9g8lc";
+    rev = "6b109cd276ec7c7901f96455c77cf2d2ebfbb181";
+    sha256 = "sha256-VlXfywgYhI2QuGQvpD33BspTTgT0jOKUV3gENq4HiBU=";
   };
 
   buildInputs = [ boost flac id3lib taglib zlib ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     description = "A DSD to FLAC transcoding tool";
     homepage = "https://github.com/hank/dsf2flac";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ dmrauh ];
-    platforms = with platforms; linux;
+    maintainers = with maintainers; [ artemist ];
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/audio/exaile/default.nix b/pkgs/applications/audio/exaile/default.nix
index 220a7c4eb3ea2..eb6dd47105511 100644
--- a/pkgs/applications/audio/exaile/default.nix
+++ b/pkgs/applications/audio/exaile/default.nix
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/exaile \
       --set PYTHONPATH $PYTHONPATH \
-      ${lib.optionalString streamripperSupport "--prefix PATH : ${lib.makeBinPath [ streamripper ]}"}
+      --prefix PATH : ${lib.makeBinPath ([ python3 ] ++ lib.optionals streamripperSupport [ streamripper ]) }
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 828c415ac5fb0..1e55dbe8f87fa 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ buildPackages.stdenv.cc pkg-config cmake ];
 
-  buildInputs = [ glib libsndfile libpulseaudio libjack2 ]
-    ++ lib.optionals stdenv.isLinux [ alsa-lib ]
+  buildInputs = [ glib libsndfile libjack2 ]
+    ++ lib.optionals stdenv.isLinux [ alsa-lib libpulseaudio ]
     ++ lib.optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreMIDI CoreServices ];
 
   cmakeFlags = [ "-Denable-framework=off" ];
diff --git a/pkgs/applications/audio/greg/default.nix b/pkgs/applications/audio/greg/default.nix
index 95f3bf9988cdc..2193447c02c70 100644
--- a/pkgs/applications/audio/greg/default.nix
+++ b/pkgs/applications/audio/greg/default.nix
@@ -2,15 +2,15 @@
 
 with pythonPackages; buildPythonApplication rec {
   pname = "greg";
-  version = "0.4.7";
+  version = "0.4.8";
 
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "manolomartinez";
     repo = pname;
-    rev = "v" + version;
-    sha256 = "0bdzgh2k1ppgcvqiasxwp3w89q44s4jgwjidlips3ixx1bzm822v";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-o4+tXVJTgT52JyJOC+Glr2cvZjbTaZL8TIsmz+A4vE4=";
   };
 
   propagatedBuildInputs = [ setuptools feedparser ];
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index e741f6fe29825..220d2d38e145d 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/gtkpod/${pname}-${version}.tar.gz";
     sha256 = "0xisrpx069f7bjkyc8vqxb4k0480jmx1wscqxr6cpq1qj6pchzd5";
   };
+  postPatch = ''
+    sed -i 's/which/type -P/' scripts/*.sh
+  '';
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook intltool ];
   buildInputs = [
@@ -19,15 +22,17 @@ stdenv.mkDerivation rec {
     gdl gnome.adwaita-icon-theme gnome.anjuta
   ] ++ (with perlPackages; [ perl XMLParser ]);
 
-  patchPhase = ''
-    sed -i 's/which/type -P/' scripts/*.sh
-  '';
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: .libs/autodetection.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: multiple definition of
+  #       `gtkpod_app'; .libs/gtkpod_app_iface.o:/build/gtkpod-2.1.5/libgtkpod/gtkpod_app_iface.h:248: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
 
   enableParallelBuilding = true;
 
   meta = with lib; {
     description = "GTK Manager for an Apple ipod";
-    homepage = "http://gtkpod.sourceforge.net";
+    homepage = "https://sourceforge.net/projects/gtkpod/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.skeidel ];
diff --git a/pkgs/applications/audio/monkeys-audio/default.nix b/pkgs/applications/audio/monkeys-audio/default.nix
index 62b63f7e1cabc..05647af2201aa 100644
--- a/pkgs/applications/audio/monkeys-audio/default.nix
+++ b/pkgs/applications/audio/monkeys-audio/default.nix
@@ -1,12 +1,22 @@
-{lib, stdenv, fetchurl}:
+{lib, gcc10Stdenv, fetchurl}:
 
-stdenv.mkDerivation rec {
+gcc10Stdenv.mkDerivation rec {
   version = "3.99-u4-b5";
-  pname = "monkeys-audio";
+  pname = "monkeys-audio-old";
 
   patches = [ ./buildfix.diff ];
 
   src = fetchurl {
+    /*
+    The real homepage is <https://monkeysaudio.com/>, but in fact we are
+    getting an old, ported to Linux version of the sources, made by (quoting
+    from the AUTHORS file found in the source):
+
+    Frank Klemm : First port to linux (with makefile)
+
+    SuperMMX <SuperMMX AT GMail DOT com> : Package the source, include the frontend and shared lib,
+         porting to Big Endian platform and adding other non-win32 enhancement.
+    */
     url = "https://deb-multimedia.org/pool/main/m/${pname}/${pname}_${version}.orig.tar.gz";
     sha256 = "0kjfwzfxfx7f958b2b1kf8yj655lp0ppmn0sh57gbkjvj8lml7nz";
   };
@@ -14,7 +24,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Lossless audio codec";
     platforms = platforms.linux;
-    license = licenses.lgpl2;
+    # This is not considered a GPL license, but it seems rather free although
+    # it's not standard, see a quote of it:
+    # https://github.com/NixOS/nixpkgs/pull/171682#issuecomment-1120260551
+    license = licenses.free;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/applications/audio/musikcube/0001-apple-cmake.patch b/pkgs/applications/audio/musikcube/0001-apple-cmake.patch
new file mode 100644
index 0000000000000..3c4630af4aa7d
--- /dev/null
+++ b/pkgs/applications/audio/musikcube/0001-apple-cmake.patch
@@ -0,0 +1,14 @@
+diff --git a/src/musikcube/CMakeLists.txt b/src/musikcube/CMakeLists.txt
+index f42748aa..ae339946 100644
+--- a/src/musikcube/CMakeLists.txt
++++ b/src/musikcube/CMakeLists.txt
+@@ -98,9 +98,6 @@ else()
+ endif()
+ 
+ if (APPLE)
+-    message(STATUS "[ncurses] detected Darwin, linking statically")
+-    set(CURSES_LIBRARY_NAME "lib${CURSES_LIBRARY_NAME}.a")
+-    set(PANEL_LIBRARY_NAME "lib${PANEL_LIBRARY_NAME}.a")
+ else()
+     message(STATUS "[ncurses] not Darwin! will attempt to link against libtinfo")
+     find_library(LIBTINFO NAMES tinfo)
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index ce51206b12d80..0557ee2e676e7 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -1,6 +1,5 @@
 { cmake
 , pkg-config
-, alsa-lib
 , boost
 , curl
 , fetchFromGitHub
@@ -11,12 +10,17 @@
 , libev
 , libmicrohttpd
 , ncurses
-, pulseaudio
 , lib
 , stdenv
 , taglib
+# Linux Dependencies
+, alsa-lib
+, pulseaudio
 , systemdSupport ? stdenv.isLinux
 , systemd
+# Darwin Dependencies
+, Cocoa
+, SystemConfiguration
 }:
 
 stdenv.mkDerivation rec {
@@ -38,14 +42,15 @@ stdenv.mkDerivation rec {
       url = "https://github.com/clangen/musikcube/commit/1240720e27232fdb199a4da93ca6705864442026.patch";
       sha256 = "0bhjgwnj6d24wb1m9xz1vi1k9xk27arba1absjbcimggn54pinid";
     })
+    ./0001-apple-cmake.patch
   ];
 
   nativeBuildInputs = [
     cmake
     pkg-config
   ];
+
   buildInputs = [
-    alsa-lib
     boost
     curl
     ffmpeg
@@ -54,9 +59,14 @@ stdenv.mkDerivation rec {
     libev
     libmicrohttpd
     ncurses
-    pulseaudio
     taglib
-  ] ++ lib.optional systemdSupport systemd;
+  ] ++ lib.optional systemdSupport [
+    systemd
+  ] ++ lib.optional stdenv.isLinux [
+    alsa-lib pulseaudio
+  ] ++ lib.optional stdenv.isDarwin [
+    Cocoa SystemConfiguration
+  ];
 
   cmakeFlags = [
     "-DDISABLE_STRIP=true"
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
index b18f2b52f94c7..d08991a916bd2 100644
--- a/pkgs/applications/audio/noisetorch/default.nix
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "NoiseTorch";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "lawl";
     repo = "NoiseTorch";
     rev = version;
-    sha256 = "sha256-3+Yk7dqD7eyvd1I5CMmrg085ZtFxD2EnGqL5ttwx8eM=";
+    sha256 = "sha256-j/6XB3vA5LvTuCxmeB0HONqEDzYg210AWW/h3nCGOD8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/audio/rhvoice/default.nix b/pkgs/applications/audio/rhvoice/default.nix
index ca51001dd62e1..af2ce6ae25bae 100644
--- a/pkgs/applications/audio/rhvoice/default.nix
+++ b/pkgs/applications/audio/rhvoice/default.nix
@@ -1,36 +1,50 @@
-{ stdenv, lib, pkg-config, fetchFromGitHub, sconsPackages
-, glibmm, libpulseaudio, libao }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, ensureNewerSourcesForZipFilesHook
+, pkg-config
+, scons
+, glibmm
+, libpulseaudio
+, libao
+, speechd
+}:
 
-let
-  version = "unstable-2018-02-10";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "rhvoice";
-  inherit version;
+  version = "1.8.0";
 
   src = fetchFromGitHub {
-    owner = "Olga-Yakovleva";
+    owner = "RHVoice";
     repo = "RHVoice";
-    rev = "7a25a881b0465e47a12d8029b56f3b71a1d02312";
-    sha256 = "1gkrlmv7msh9qlm0gkjqpl9gswghpclfdwszr1p85v8vk6m63v0b";
+    rev = version;
+    fetchSubmodules = true;
+    hash = "sha256-G5886rjBaAp0AXcr07O0q7K1OXTayfIbd4zniKwDiLw=";
   };
 
+  patches = [
+    # SConstruct patch
+    #     Scons creates an independent environment that assumes standard POSIX paths.
+    #     The patch is needed to push the nix environment.
+    #     - PATH
+    #     - PKG_CONFIG_PATH, to find available (sound) libraries
+    #     - RPATH, to link to the newly built libraries
+    ./honor_nix_environment.patch
+  ];
+
   nativeBuildInputs = [
-    sconsPackages.scons_3_1_2 pkg-config
+    ensureNewerSourcesForZipFilesHook
+    pkg-config
+    scons
   ];
 
   buildInputs = [
-    glibmm libpulseaudio libao
+    glibmm
+    libpulseaudio
+    libao
+    speechd
   ];
 
-  # SConstruct patch
-  #     Scons creates an independent environment that assumes standard POSIX paths.
-  #     The patch is needed to push the nix environment.
-  #     - PATH
-  #     - PKG_CONFIG_PATH, to find available (sound) libraries
-  #     - RPATH, to link to the newly built libraries
-
-  patches = [ ./honor_nix_environment.patch ];
-
   meta = {
     description = "A free and open source speech synthesizer for Russian language and others";
     homepage = "https://github.com/Olga-Yakovleva/RHVoice/wiki";
diff --git a/pkgs/applications/audio/rhvoice/honor_nix_environment.patch b/pkgs/applications/audio/rhvoice/honor_nix_environment.patch
index ed180c92debc3..fed5a2ea5e1da 100644
--- a/pkgs/applications/audio/rhvoice/honor_nix_environment.patch
+++ b/pkgs/applications/audio/rhvoice/honor_nix_environment.patch
@@ -1,14 +1,31 @@
 diff --git a/SConstruct b/SConstruct
-index 2421399..ba39254 100644
+index 3ad4d9a..fb02365 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -147,6 +147,9 @@ def create_base_env(vars):
+@@ -94,11 +94,8 @@ def CheckWiX(context):
+     return result
+ 
+ def get_spd_module_dir():
+-    env = Environment()
+-    try:
+-        return env.ParseConfig("pkg-config speech-dispatcher --variable=modulebindir", passthru)
+-    except:
+-        return False
++    # cannot write to ${speechd}/libexec/speech-dispatcher-modules
++    return os.path.join(os.environ["out"], "libexec/speech-dispatcher-modules")
+ 
+ def validate_spd_version(key,val,env):
+     m=re.match(r"^\d+\.\d+",val)
+@@ -208,9 +205,9 @@ def create_base_env(user_vars):
      env_args["package_name"]="RHVoice"
      env_args["CPPDEFINES"]=[("RHVOICE","1")]
      env=Environment(**env_args)
+-    if env["dev"]:
+-        env["prefix"]=os.path.abspath("local")
+-        env["RPATH"]=env.Dir("$libdir").abspath
 +    env.PrependENVPath("PATH", os.environ["PATH"])
 +    env["ENV"]["PKG_CONFIG_PATH"]=os.environ["PKG_CONFIG_PATH"]
-+    env["RPATH"]=env["libdir"]
++    env["RPATH"]=env.Dir("$libdir").abspath
      env["package_version"]=get_version(env["release"])
      env.Append(CPPDEFINES=("PACKAGE",env.subst(r'\"$package_name\"')))
-     env.Append(CPPDEFINES=("VERSION",env.subst(r'\"$package_version\"')))
+     if env["PLATFORM"]=="win32":
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 2f35f1fe65ca7..0ba86567c7c8c 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -1,17 +1,30 @@
-{ lib, stdenv, fetchurl, pkg-config, fetchFromGitLab
+{ stdenv
+, lib
+, fetchurl
+, fetchpatch
+, pkg-config
+, meson
+, ninja
+, fetchFromGitLab
 , python3
-, perl
-, perlPackages
+, vala
+, glib
 , gtk3
-, intltool
 , libpeas
 , libsoup
+, libxml2
 , libsecret
 , libnotify
 , libdmapsharing
 , gnome
 , gobject-introspection
 , totem-pl-parser
+, libgudev
+, libgpod
+, libmtp
+, lirc
+, brasero
+, grilo
 , tdb
 , json-glib
 , itstool
@@ -19,38 +32,32 @@
 , gst_all_1
 , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
 }:
-let
 
-  # The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0.
-
-  # This PR would solve the issue:
-  # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/12
-  # Unfortunately applying this patch produces a rhythmbox which
-  # cannot fetch data from DAAP shares.
-
-  libdmapsharing_3 = libdmapsharing.overrideAttrs (old: rec {
-    version = "2.9.41";
-    src = fetchFromGitLab {
-      domain = "gitlab.gnome.org";
-      owner = "GNOME";
-      repo = old.pname;
-      rev = "${lib.toUpper old.pname}_${lib.replaceStrings ["."] ["_"] version}";
-      sha256 = "05kvrzf0cp3mskdy6iv7zqq24qdczl800q2dn1h4bk3d9wchgm4p";
-    };
-  });
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "rhythmbox";
-  version = "3.4.4";
+  version = "3.4.5";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf";
+    sha256 = "l+u8YPN4sibaRbtEbYmQL26hgx4j8Q76ujZVk7HnTyo=";
   };
 
+  patches = [
+    # Fix stuff linking against rhythmdb not finding libxml headers
+    # included by rhythmdb.h header.
+    # https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/147
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/rhythmbox/-/commit/7e8c7b803a45b7badf350132f8e78e3d75b99a21.patch";
+      sha256 = "5CE/NVlmx7FItNJCVQxx+x0DCYhUkAi/UuksfAiyWBg=";
+    })
+  ];
+
   nativeBuildInputs = [
     pkg-config
-    intltool perl perlPackages.XMLParser
+    meson
+    ninja
+    vala
+    glib
     itstool
     wrapGAppsHook
   ];
@@ -58,13 +65,20 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     python3
     libsoup
+    libxml2
     tdb
     json-glib
 
+    glib
     gtk3
     libpeas
     totem-pl-parser
-    gnome.adwaita-icon-theme
+    libgudev
+    libgpod
+    libmtp
+    lirc
+    brasero
+    grilo
 
     gobject-introspection
     python3.pkgs.pygobject3
@@ -76,16 +90,14 @@ in stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-ugly
     gst_all_1.gst-libav
 
-    libdmapsharing_3 # necessary for daap support
+    libdmapsharing # for daap support
     libsecret
     libnotify
   ] ++ gst_plugins;
 
-  configureFlags = [
-    "--enable-daap"
-    "--enable-libnotify"
-    "--with-libsecret"
-  ];
+  postInstall = ''
+    glib-compile-schemas "$out/share/glib-2.0/schemas"
+  '';
 
   preFixup = ''
     gappsWrapperArgs+=(
@@ -93,8 +105,6 @@ in stdenv.mkDerivation rec {
     )
   '';
 
-  enableParallelBuilding = true;
-
   passthru = {
     updateScript = gnome.updateScript {
       packageName = pname;
diff --git a/pkgs/applications/audio/split2flac/default.nix b/pkgs/applications/audio/split2flac/default.nix
deleted file mode 100644
index 5de48d1b296fa..0000000000000
--- a/pkgs/applications/audio/split2flac/default.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper
-, shntool, cuetools
-, flac, faac, mp4v2, wavpack, mac
-, imagemagick, libiconv, enca, lame, mutagen, vorbis-tools
-, aacgain, mp3gain, vorbisgain
-}:
-
-let
-  wrapSplit2flac =  format: ''
-    makeWrapper $out/bin/.split2flac-wrapped $out/bin/split2${format} \
-      --set SPLIT2FLAC_FORMAT ${format} \
-      --prefix PATH : ${lib.makeBinPath [
-        shntool cuetools
-        flac faac mp4v2 wavpack mac
-        imagemagick libiconv enca lame mutagen vorbis-tools
-        aacgain mp3gain vorbisgain
-      ]}
-  '';
-
-in stdenv.mkDerivation rec {
-  pname = "split2flac";
-  version = "122";
-
-  src = fetchFromGitHub {
-    owner = "ftrvxmtrx";
-    repo = "split2flac";
-    rev = version;
-    sha256 = "1a71amamip25hhqx7wwzfcl3d5snry9xsiha0kw73iq2m83r2k63";
-  };
-
-  dontBuild = true;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  patchPhase = ''
-    substituteInPlace split2flac \
-      --replace 'FORMAT="''${0##*split2}"' 'FORMAT=''${SPLIT2FLAC_FORMAT:-flac}'
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share/bash-completion/completions
-    cp split2flac-bash-completion.sh \
-      $out/share/bash-completion/completions/split2flac-bash-completion.sh
-
-    mkdir -p $out/bin
-    cp split2flac $out/bin/.split2flac-wrapped
-
-    ${wrapSplit2flac "flac"}
-    ${wrapSplit2flac "mp3"}
-    ${wrapSplit2flac "ogg"}
-    ${wrapSplit2flac "m4a"}
-    ${wrapSplit2flac "wav"}
-  '';
-
-  meta = with lib; {
-    description = "Split flac/ape/wv/wav + cue sheet into separate tracks";
-    homepage = "https://github.com/ftrvxmtrx/split2flac";
-    license = licenses.mit;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ jfrankenau ];
-  };
-}
diff --git a/pkgs/applications/audio/sptlrx/default.nix b/pkgs/applications/audio/sptlrx/default.nix
index 2ec9562c62021..4daab47047380 100644
--- a/pkgs/applications/audio/sptlrx/default.nix
+++ b/pkgs/applications/audio/sptlrx/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, sptlrx }:
 
 buildGoModule rec {
   pname = "sptlrx";
@@ -15,9 +15,19 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" ];
 
+  passthru = {
+    updateScript = nix-update-script { attrPath = pname; };
+    tests.version = testers.testVersion {
+      package = sptlrx;
+      # TODO Wrong version in `0.2.0`. Has been fixed upstream.
+      version = "v0.1.0";
+    };
+  };
+
   meta = with lib; {
     description = "Spotify lyrics in your terminal";
     homepage = "https://github.com/raitonoberu/sptlrx";
+    changelog = "https://github.com/raitonoberu/sptlrx/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ MoritzBoehme ];
   };
diff --git a/pkgs/applications/audio/surge-XT/default.nix b/pkgs/applications/audio/surge-XT/default.nix
index a08c25f016aa1..7d8cf72eba27d 100644
--- a/pkgs/applications/audio/surge-XT/default.nix
+++ b/pkgs/applications/audio/surge-XT/default.nix
@@ -37,14 +37,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "surge-XT";
-  version = "unstable-2021-12-11";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "surge-synthesizer";
     repo = "surge";
-    rev = "320f68543d0279c11cea8dc7f5170399cccc9602";
+    rev = "release_xt_${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-Jcs5FpX5AZl72aKYNbRcfYqb2PRt0r1pQXk957xk0aM=";
+    sha256 = "sha256-u7jXNCDFRzq9oFaxovfTEipQsN+e4+whLexJrSJdXWw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix
index 4a0035aadf533..a8889cab69773 100644
--- a/pkgs/applications/audio/termusic/default.nix
+++ b/pkgs/applications/audio/termusic/default.nix
@@ -7,14 +7,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "termusic";
-  version = "0.6.10";
+  version = "0.6.15";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-i+XxEPkLZK+JKDl88P8Nd7XBhsGhEzvUGovJtSWvRtg=";
+    sha256 = "sha256-e4hCo5a54EPp6/sd1/ivwHePu+e6MqbA9tvPWf41EhQ=";
   };
 
-  cargoHash = "sha256-7nQzU1VvRDrtltVAXTX268vl9AbQhMOilPG4nNAJ+Xk=";
+  cargoHash = "sha256-kQjLmASJpo7+LT73vVjbPWhNUGJ1HI6S/8W6gJskJXE=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ alsa-lib ];
diff --git a/pkgs/applications/backup/vorta/default.nix b/pkgs/applications/backup/vorta/default.nix
index 271efc0283d78..8e551f3db0347 100644
--- a/pkgs/applications/backup/vorta/default.nix
+++ b/pkgs/applications/backup/vorta/default.nix
@@ -8,13 +8,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vorta";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "borgbase";
     repo = "vorta";
-    rev = "v${version}";
-    sha256 = "06sb24pimq9ckdkp9hzp4r9d3i21kxacsx5b7x9q99qcwf7h6372";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-eS/+7s9KgGCEhA6NgIzPlGM1daP+Ir2d1mmqse4YbIE=";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
diff --git a/pkgs/applications/blockchains/btcdeb/default.nix b/pkgs/applications/blockchains/btcdeb/default.nix
index 7f4e438173b04..4f8a08333a86b 100644
--- a/pkgs/applications/blockchains/btcdeb/default.nix
+++ b/pkgs/applications/blockchains/btcdeb/default.nix
@@ -7,14 +7,14 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  pname = "btcdeb-unstable";
-  version = "200806";
+  pname = "btcdeb";
+  version = "unstable-2022-04-03";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "btcdeb";
-    rev = "f6708c397c64894c9f9e31bea2d22285d9462de7";
-    sha256 = "0qkmf89z2n7s95vhw3n9vh9dbi14zy4vqw3ffdh1w911jwm5ry3z";
+    rev = "3ba1ec7f4d37f7d2ff0544403465004c6e12036e";
+    hash = "sha256-l/PGXXX288mnoSFZ32t2Xd13dC6JCU5wDHoDxb+fcp0=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Bitcoin Script Debugger";
-    homepage = "https://github.com/kallewoof/btcdeb";
+    homepage = "https://github.com/bitcoin-core/btcdeb";
     license = licenses.mit;
     maintainers = with maintainers; [ akru ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/blockchains/dashpay/default.nix b/pkgs/applications/blockchains/dashpay/default.nix
deleted file mode 100644
index 0411f8cf32bf8..0000000000000
--- a/pkgs/applications/blockchains/dashpay/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ fetchFromGitHub, lib, stdenv, pkg-config, autoreconfHook
-, openssl, db48, boost, zlib, miniupnpc
-, qrencode, glib, protobuf, yasm, libevent
-, util-linux
-, enable_Upnp ? false
-, disable_Wallet ? false
-, disable_Daemon ? false }:
-
-with lib;
-stdenv.mkDerivation rec {
-  pname = "dashpay";
-  version = "0.12.2.3";
-
-  src = fetchFromGitHub {
-    owner = "dashpay";
-    repo= "dash";
-    rev = "v${version}";
-    sha256 = "sha256-DMoiUX8Q0HcBHA6ZIN58uPsTnHjEJMi8eGG2DW8z17Q=";
-  };
-
-  nativeBuildInputs = [ pkg-config autoreconfHook ];
-  buildInputs = [ glib openssl db48 yasm boost zlib libevent
-                  miniupnpc protobuf qrencode util-linux ];
-
-
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib --with-gui=no" ]
-                    ++ optional enable_Upnp "--enable-upnp-default"
-                    ++ optional disable_Wallet "--disable-wallet"
-                    ++ optional disable_Daemon "--disable-daemon"
-                    ;
-
-  meta = {
-    description = "A decentralized key/value registration and transfer system";
-    longDescription = ''
-      Dash (DASH) is an open sourced, privacy-centric digital currency
-      with instant transactions.  It allows you to keep your finances
-      private as you make transactions without waits, similar to cash.
-    '';
-    homepage = "https://www.dash.org";
-    maintainers = with maintainers; [ ];
-    platforms = platforms.unix;
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/applications/blockchains/haven-cli/default.nix b/pkgs/applications/blockchains/haven-cli/default.nix
new file mode 100644
index 0000000000000..635dff4f92e9e
--- /dev/null
+++ b/pkgs/applications/blockchains/haven-cli/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkg-config
+, boost, miniupnpc, openssl, unbound
+, zeromq, pcsclite, readline, libsodium, hidapi
+, randomx, rapidjson
+, easyloggingpp
+, CoreData, IOKit, PCSC
+, trezorSupport ? true, libusb1, protobuf, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "haven-cli";
+  version = "2.2.3";
+
+  src = fetchFromGitHub {
+    owner = "haven-protocol-org";
+    repo = "haven-main";
+    rev = "v${version}";
+    sha256 = "sha256-nBVLNT0jWIewr6MPDGwDqXoVtyFLyls1IEQraVoWDQ4=";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    ./use-system-libraries.patch
+  ];
+
+  postPatch = ''
+    # remove vendored libraries
+    rm -r external/{miniupnp,randomx,rapidjson,unbound}
+    # export patched source for haven-gui
+    cp -r . $source
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    boost miniupnpc openssl unbound
+    zeromq pcsclite readline
+    libsodium hidapi randomx rapidjson
+    protobuf
+    readline easyloggingpp
+  ]
+    ++ lib.optionals trezorSupport [ libusb1 protobuf python3 ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DUSE_DEVICE_TREZOR=ON"
+    "-DBUILD_GUI_DEPS=ON"
+    "-DReadline_ROOT_DIR=${readline.dev}"
+    "-DReadline_INCLUDE_DIR=${readline.dev}/include/readline"
+    "-DRandomX_ROOT_DIR=${randomx}"
+  ] ++ lib.optional stdenv.isDarwin "-DBoost_USE_MULTITHREADED=OFF";
+
+  outputs = [ "out" "source" ];
+
+  meta = with lib; {
+    description = "Haven Protocol is the world's only network of private stable asset";
+    homepage    = "https://havenprotocol.org/";
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ kim0 ];
+  };
+}
diff --git a/pkgs/applications/blockchains/haven-cli/use-system-libraries.patch b/pkgs/applications/blockchains/haven-cli/use-system-libraries.patch
new file mode 100644
index 0000000000000..cbf8ff849b527
--- /dev/null
+++ b/pkgs/applications/blockchains/haven-cli/use-system-libraries.patch
@@ -0,0 +1,92 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fb71d2d..3a710a4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -200,11 +200,11 @@ if(NOT MANUAL_SUBMODULES)
+     endfunction ()
+     
+     message(STATUS "Checking submodules")
+-    check_submodule(external/miniupnp)
+-    check_submodule(external/unbound)
+-    check_submodule(external/rapidjson)
++    # check_submodule(external/miniupnp)
++    # check_submodule(external/unbound)
++    # check_submodule(external/rapidjson)
+     check_submodule(external/trezor-common)
+-    check_submodule(external/randomx)
++    # check_submodule(external/randomx)
+   endif()
+ endif()
+ 
+@@ -300,7 +300,8 @@ endif()
+ # elseif(CMAKE_SYSTEM_NAME MATCHES ".*BSDI.*")
+ #   set(BSDI TRUE)
+ 
+-include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external)
++include_directories(external/easylogging++ src contrib/epee/include external)
++#include_directories(external/rapidjson/include external/easylogging++ src contrib/epee/include external)
+ 
+ if(APPLE)
+   include_directories(SYSTEM /usr/include/malloc)
+diff --git a/cmake/FindMiniupnpc.cmake b/cmake/FindMiniupnpc.cmake
+index ad2004a..7f4bb68 100644
+--- a/cmake/FindMiniupnpc.cmake
++++ b/cmake/FindMiniupnpc.cmake
+@@ -37,7 +37,7 @@ set(MINIUPNP_STATIC_LIBRARIES ${MINIUPNP_STATIC_LIBRARY})
+ 
+ include(FindPackageHandleStandardArgs)
+ find_package_handle_standard_args(
+-  MiniUPnPc DEFAULT_MSG
++  Miniupnpc DEFAULT_MSG
+   MINIUPNP_INCLUDE_DIR
+   MINIUPNP_LIBRARY
+ )
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index 71b165f..10189ce 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -37,19 +37,9 @@
+ 
+ find_package(Miniupnpc REQUIRED)
+ 
+-message(STATUS "Using in-tree miniupnpc")
+-add_subdirectory(miniupnp/miniupnpc)
+-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external")
+-if(MSVC)
+-  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267")
+-elseif(NOT MSVC)
+-  set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value")
+-endif()
+-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+-	set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -D_NETBSD_SOURCE")
+-endif()
+-
+-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE)
++set(UPNP_STATIC false PARENT_SCOPE)
++set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE)
++set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE)
+ 
+ find_package(Unbound)
+ 
+@@ -80,4 +70,3 @@ endif()
+ 
+ add_subdirectory(db_drivers)
+ add_subdirectory(easylogging++)
+-add_subdirectory(randomx EXCLUDE_FROM_ALL)
+diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
+index c626e22..be570ed 100644
+--- a/src/p2p/net_node.inl
++++ b/src/p2p/net_node.inl
+@@ -60,9 +60,9 @@
+ #include "cryptonote_core/cryptonote_core.h"
+ #include "net/parse.h"
+ 
+-#include <miniupnp/miniupnpc/miniupnpc.h>
+-#include <miniupnp/miniupnpc/upnpcommands.h>
+-#include <miniupnp/miniupnpc/upnperrors.h>
++#include <miniupnpc/miniupnpc.h>
++#include <miniupnpc/upnpcommands.h>
++#include <miniupnpc/upnperrors.h>
+ 
+ #undef MONERO_DEFAULT_LOG_CATEGORY
+ #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p"
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index 24d1f2cd0f46d..f586b6cfd3996 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -10,13 +10,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.18";
+  version = "0.9.21";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-pjHSiVspBV15jKUFv+Uf2l3tah40l55Pv8vwDuwgwjc=";
+    sha256 = "HCj5WwfKa4QsfO+1u4ciukDg6Rzv/uvc8h+V/Duhksg=";
 
     # 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.
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-Gc5WbayQUlsl7Fk8NyLPh2Zg2yrLl3WJqKorNZMLi94=";
+  cargoSha256 = "tHU8KygIhJDgID/tGGssYTnY8raI5qTdLEDwOKox3No=";
 
   buildInputs = lib.optional stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index 5e9f4200141bc..5a72462b14252 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,24 +1,31 @@
-{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, autoreconfHook, makeWrapper
-, cargo, pkg-config, curl, coreutils, boost177, db62, hexdump, libsodium
-, libevent, utf8cpp, util-linux, withDaemon ? true, withMining ? true
-, withUtils ? true, withWallet ? true, withZmq ? true, zeromq
+{ rust, rustPlatform, stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook
+, makeWrapper, cargo, pkg-config, curl, coreutils, boost179, db62, hexdump
+, libsodium, libevent, testers, utf8cpp, util-linux, withDaemon ? true
+, withMining ? true, withUtils ? true, withWallet ? true, withZmq ? true, zcash
+, zeromq
 }:
 
 rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
   pname = "zcash";
-  version = "4.6.0-2";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "sha256-RvUa8CKPBFfsqzrJkPHePZMqpCfyVafrUbftMdTviHA=";
+    sha256 = "sha256-5PlqFs2njqNeZgmNz0VKMWcRY5lPaF9oTsoh/uLEWi8=";
   };
 
-  cargoSha256 = "sha256-qWimataBZ/rLDOLgetNfFAzi/psXcJV54b3WGm9k+b4=";
+  prePatch = lib.optionalString stdenv.isAarch64 ''
+    substituteInPlace .cargo/config.offline \
+      --replace "[target.aarch64-unknown-linux-gnu]" "" \
+      --replace "linker = \"aarch64-linux-gnu-gcc\"" ""
+  '';
+
+  cargoSha256 = "sha256-eRRRjUbOieRC88wf+f1jAYvqGFmogBEla67NnImicEc=";
 
   nativeBuildInputs = [ autoreconfHook cargo hexdump makeWrapper pkg-config ];
-  buildInputs = [ boost177 libevent libsodium utf8cpp ]
+  buildInputs = [ boost179 libevent libsodium utf8cpp ]
     ++ lib.optional withWallet db62
     ++ lib.optional withZmq zeromq;
 
@@ -37,7 +44,7 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
 
   configureFlags = [
     "--disable-tests"
-    "--with-boost-libdir=${lib.getLib boost177}/lib"
+    "--with-boost-libdir=${lib.getLib boost179}/lib"
     "CXXFLAGS=-I${lib.getDev utf8cpp}/include/utf8cpp"
     "RUST_TARGET=${rust.toRustTargetSpec stdenv.hostPlatform}"
   ] ++ lib.optional (!withWallet) "--disable-wallet"
@@ -50,6 +57,12 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
   # Requires hundreds of megabytes of zkSNARK parameters.
   doCheck = false;
 
+  passthru.tests.version = testers.testVersion {
+    package = zcash;
+    command = "zcashd --version";
+    version = "v${zcash.version}";
+  };
+
   postInstall = ''
     wrapProgram $out/bin/zcash-fetch-params \
         --set PATH ${lib.makeBinPath [ coreutils curl util-linux ]}
@@ -58,8 +71,8 @@ rustPlatform.buildRustPackage.override { stdenv = stdenv; } rec {
   meta = with lib; {
     description = "Peer-to-peer, anonymous electronic cash system";
     homepage = "https://z.cash/";
-    maintainers = with maintainers; [ rht tkerber ];
+    maintainers = with maintainers; [ rht tkerber centromere ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index ac293faee3b53..ab9fcfe1ba4a8 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -6,6 +6,7 @@
 , cacert
 , coreutils
 , dbus
+, e2fsprogs
 , expat
 , fetchurl
 , findutils
@@ -52,6 +53,7 @@
 , xkeyboard_config
 , zlib
 , makeDesktopItem
+, tiling_wm # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper
 }:
 
 let
@@ -80,6 +82,7 @@ let
         --set-default JAVA_HOME "$out/jre" \
         --set ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \
         --set QT_XKB_CONFIG_ROOT "${xkeyboard_config}/share/X11/xkb" \
+        ${lib.optionalString tiling_wm "--set _JAVA_AWT_WM_NONREPARENTING 1"} \
         --set FONTCONFIG_FILE ${fontsConf} \
         --prefix PATH : "${lib.makeBinPath [
 
@@ -115,6 +118,9 @@ let
           libXrender
           libXtst
 
+          # No crash, but attempted to load at startup
+          e2fsprogs
+
           # Gradle wants libstdc++.so.6
           stdenv.cc.cc.lib
           # mksdcard wants 32 bit libstdc++.so.6
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 39bbff2565254..cfd81fdfe5a2c 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv }:
+{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv, tiling_wm ? false }:
 
 let
   mkStudio = opts: callPackage (import ./common.nix opts) {
@@ -7,6 +7,7 @@ let
     };
     inherit (gnome2) GConf gnome_vfs;
     inherit buildFHSUserEnv;
+    inherit tiling_wm;
   };
   stableVersion = {
     version = "2021.1.1.23"; # "Android Studio Bumblebee (2021.1.1 Patch 3)"
diff --git a/pkgs/applications/editors/bluej/default.nix b/pkgs/applications/editors/bluej/default.nix
index bfc413c24ad44..552358319e15c 100644
--- a/pkgs/applications/editors/bluej/default.nix
+++ b/pkgs/applications/editors/bluej/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   preFixup = ''
     makeWrapper ${jdk}/bin/java $out/bin/bluej \
       "''${gappsWrapperArgs[@]}" \
-      --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp \"$out/share/bluej/bluej.jar\" bluej.Boot"
+      --add-flags "-Djavafx.embed.singleThread=true -Dawt.useSystemAAFontSettings=on -Xmx512M -cp $out/share/bluej/bluej.jar bluej.Boot"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/codeblocks/default.nix b/pkgs/applications/editors/codeblocks/default.nix
index 8a5f4cf4b3a4e..032fd765b27f4 100644
--- a/pkgs/applications/editors/codeblocks/default.nix
+++ b/pkgs/applications/editors/codeblocks/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, file, zip, wxGTK30-gtk3, gtk3
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, file, zip, wxGTK31-gtk3, gtk3
 , contribPlugins ? false, hunspell, gamin, boost, wrapGAppsHook
 }:
 
@@ -15,14 +15,55 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config file zip wrapGAppsHook ];
-  buildInputs = [ wxGTK30-gtk3 gtk3 ]
+  buildInputs = [ wxGTK31-gtk3 gtk3 ]
     ++ optionals contribPlugins [ hunspell gamin boost ];
   enableParallelBuilding = true;
-  patches = [ ./writable-projects.patch ];
+  patches = [
+    ./writable-projects.patch
+    ./fix-clipboard-flush.patch
+    # Fix build on non-x86 machines
+    (fetchpatch {
+      name = "remove-int3.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/d76c015c456561d2c7987935a5f4dc6c0932b0c4.patch";
+      sha256 = "sha256-dpH33vGf2aNdYTeLwxglYDNbvwoY2bGSG6YFRyoGw+A=";
+    })
+    (fetchpatch {
+      name = "remove-pragmas.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/966949d5ab7f3cb86e2a2c7ef4e853ee209b5a1a.patch";
+      sha256 = "sha256-XjejjGOvDk3gl1/n9R69XATGLj5n7tOZNyG8vIlwfyg=";
+    })
+    # Fix build with GCC 11
+    (fetchpatch {
+      name = "use-gcc11-openfilelist.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/a5ea6ff7ff301d739d3dc8145db1578f504ee4ca.patch";
+      sha256 = "sha256-kATaLej8kJf4xm0VicHfRetOepX8O9gOhwdna0qylvQ=";
+    })
+    (fetchpatch {
+      name = "use-gcc11-ccmanager.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/04b7c50fb8c6a29b2d84579ee448d2498414d855.patch";
+      sha256 = "sha256-VPy/M6IvNBxUE4hZRbLExFm0DJf4gmertrqrvsXQNz4=";
+    })
+    # Fix build with wxGTK 3.1.5
+    (fetchpatch {
+      name = "use-wxgtk315.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/2345b020b862ec855038dd32a51ebb072647f28d.patch";
+      sha256 = "sha256-RRjwZA37RllnG8cJdBEnASpEd8z0+ru96fjntO42OvU=";
+    })
+    (fetchpatch {
+      name = "fix-getstring.patch";
+      url = "https://github.com/arnholm/codeblocks_sfmirror/commit/dbdf5c5ea9e3161233f0588a7616b7e4fedc7870.patch";
+      sha256 = "sha256-DrEMFluN8vs0LERa7ULGshl7HdejpsuvXAMjIr/K1fQ=";
+    })
+  ];
   preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
   postConfigure = optionalString stdenv.isLinux "substituteInPlace libtool --replace ldconfig ${stdenv.cc.libc.bin}/bin/ldconfig";
-  configureFlags = [ "--enable-pch=no" ]
-    ++ optionals contribPlugins [ "--with-contrib-plugins" "--with-boost-libdir=${boost}/lib" ];
+  configureFlags = [ "--enable-pch=no" ] ++ optionals contribPlugins [
+    ("--with-contrib-plugins" + optionalString stdenv.isDarwin "=all,-FileManager,-NassiShneiderman")
+    "--with-boost-libdir=${boost}/lib"
+  ];
+  postInstall = optionalString stdenv.isDarwin ''
+    ln -s $out/lib/codeblocks/plugins $out/share/codeblocks/plugins
+  '';
 
   meta = {
     maintainers = [ maintainers.linquize ];
diff --git a/pkgs/applications/editors/codeblocks/fix-clipboard-flush.patch b/pkgs/applications/editors/codeblocks/fix-clipboard-flush.patch
new file mode 100644
index 0000000000000..ee4ebd61af0b6
--- /dev/null
+++ b/pkgs/applications/editors/codeblocks/fix-clipboard-flush.patch
@@ -0,0 +1,24 @@
+diff --git a/src/src/app.cpp b/src/src/app.cpp
+index 81130fd..f98d37b 100644
+--- a/src/src/app.cpp
++++ b/src/src/app.cpp
+@@ -602,7 +602,8 @@ bool CodeBlocksApp::OnInit()
+     m_BatchWindowAutoClose = true;
+     m_pSingleInstance      = nullptr;
+ 
+-    wxTheClipboard->Flush();
++    if (wxTheClipboard->IsOpened())
++        wxTheClipboard->Flush();
+ 
+     wxCmdLineParser& parser = *Manager::GetCmdLineParser();
+     parser.SetDesc(cmdLineDesc);
+@@ -851,7 +852,8 @@ bool CodeBlocksApp::OnInit()
+ 
+ int CodeBlocksApp::OnExit()
+ {
+-    wxTheClipboard->Flush();
++    if (wxTheClipboard->IsOpened())
++        wxTheClipboard->Flush();
+ 
+     if (g_DDEServer) delete g_DDEServer;
+ 
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 3c16347a29eb1..9a872c91c95a3 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.163.0";
+  version = "1.164.0";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-4jGLyAE202GAjaypubKGW1edyKqOti/yTwstC/R94iE=";
+    sha256 = "sha256-LKLWZiA3Ya8xI2QvNW2f+5akndBloj5pQ7QNaVMoYSI=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 9d3629645f8a5..0eac78393711e 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -11,13 +11,13 @@
   },
   "ATFlatControls": {
     "owner": "Alexey-T",
-    "rev": "2022.04.18",
-    "sha256": "sha256-Bp/pkbTPLiVaDSstzTaNjKb+msPw8Tuny75n/aYBpUc="
+    "rev": "2022.05.06",
+    "sha256": "sha256-mYZ3mgtUpQ8sry5WmdluHca/CR7RqR9GRrxIoeZFLes="
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.04.26",
-    "sha256": "sha256-aItWkjnFqxeyEywELEBkuvMH1zfI4jJFL10CexSktxU="
+    "rev": "2022.05.09",
+    "sha256": "sha256-bzBO9Uf8Zkt/kFouQuiPagL7e+86ezH/mOpDCuInJlE="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
@@ -26,13 +26,13 @@
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2022.04.21",
-    "sha256": "sha256-le6ulGFUNjeipYQKzVFezFb9u/0IcQcu5BMxFaIZdyw="
+    "rev": "2022.05.06",
+    "sha256": "sha256-ppm8Wuxhi5N3Er0f0h9d+v2spwEMr7ksf9tz4vI42+M="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2022.04.11",
-    "sha256": "sha256-wzE6lNhrXsBOP+Zx+qAcj6Hhf87qqDaqKf9up7I3ZUo="
+    "rev": "2022.05.08",
+    "sha256": "sha256-mAxqJ3PO1BCOYNctKfw/4fKbJsI7Ckb5PVcKdALZu0Q="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/deadpixi-sam/default.nix b/pkgs/applications/editors/deadpixi-sam/default.nix
index 3f84666fe0294..4321119156e0e 100644
--- a/pkgs/applications/editors/deadpixi-sam/default.nix
+++ b/pkgs/applications/editors/deadpixi-sam/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace config.mk.def \
       --replace "/usr/include/freetype2" "${freetype.dev}/include/freetype2" \
-      --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc"
+      --replace "CC=gcc" "CC=${stdenv.cc.targetPrefix}cc" \
+      --replace "RXPATH=/usr/bin/ssh" "RXPATH=ssh"
   '';
 
   CFLAGS = "-D_DARWIN_C_SOURCE";
@@ -24,8 +25,12 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = false;
 
   postInstall = ''
+    substituteInPlace deadpixi-sam.desktop \
+      --replace "accessories-text-editor" "$out/share/icons/hicolor/scalable/apps/sam.svg"
     mkdir -p $out/share/applications
+    mkdir -p $out/share/icons/hicolor/scalable/apps
     mv deadpixi-sam.desktop $out/share/applications
+    mv sam.svg $out/share/icons/hicolor/scalable/apps
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 1b39e522a4126..0cee33fc81e4a 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -114,10 +114,10 @@
       elpaBuild {
         pname = "aggressive-completion";
         ename = "aggressive-completion";
-        version = "1.6";
+        version = "1.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/aggressive-completion-1.6.tar";
-          sha256 = "0i7kcxd7pbdw57gczbxddr2n4j778x2ccfpkgjhdlpdsyidfh2bq";
+          url = "https://elpa.gnu.org/packages/aggressive-completion-1.7.tar";
+          sha256 = "1rpy53kh19ljjr2xgna716jynajjpgkkjgcl3gzryxsmky8mwbfl";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -234,10 +234,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.1.2";
+        version = "13.1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.1.2.tar";
-          sha256 = "0j79y7iz0g3i36w5l91l2dljs8b4sx42f7q25z2963mvhfvrbp10";
+          url = "https://elpa.gnu.org/packages/auctex-13.1.3.tar";
+          sha256 = "0v9rxwz6ngnwrgvzgdki861s136gq30lqhy2gcd9q0a36gb6zhwk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -309,10 +309,10 @@
       elpaBuild {
         pname = "bbdb";
         ename = "bbdb";
-        version = "3.2.2.1";
+        version = "3.2.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/bbdb-3.2.2.1.tar";
-          sha256 = "060nd6vhwwh56jc1mvmyj6mn6kx7zgmbhrkfv9sqdx7h96bcrsbh";
+          url = "https://elpa.gnu.org/packages/bbdb-3.2.2.2.tar";
+          sha256 = "0bf20r5xhxln6z4qp8zrlln0303dkci2ydsr74pxcj08aqgk5xxf";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -354,10 +354,10 @@
       elpaBuild {
         pname = "bluetooth";
         ename = "bluetooth";
-        version = "0.3";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/bluetooth-0.3.tar";
-          sha256 = "1q27hk4j7k0q9vqgn9nq7q0vhn9jdqbygs7d9lv5gwfhdzdnl4az";
+          url = "https://elpa.gnu.org/packages/bluetooth-0.3.1.tar";
+          sha256 = "1p10kcim5wqnbj2kiqv6hgjkzznaa48qysnnf8ym90mylsczr70z";
         };
         packageRequires = [ dash emacs ];
         meta = {
@@ -384,10 +384,10 @@
       elpaBuild {
         pname = "boxy";
         ename = "boxy";
-        version = "1.0.5";
+        version = "1.1.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-1.0.5.tar";
-          sha256 = "0g608nhg160p9gflw52h3247x35r0g6bl89yq35jbsc7fnw6m5ry";
+          url = "https://elpa.gnu.org/packages/boxy-1.1.0.tar";
+          sha256 = "17z0amn1klbzvq0z5g20a5gjq5agrrhnkp8amqlqzj7p0p31nbns";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -399,10 +399,10 @@
       elpaBuild {
         pname = "boxy-headings";
         ename = "boxy-headings";
-        version = "2.1.2";
+        version = "2.1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.2.tar";
-          sha256 = "0jyfp41jw33kmi7832x5x0mgh5niqvb7dfc7q00kay5q9ixg83dq";
+          url = "https://elpa.gnu.org/packages/boxy-headings-2.1.3.tar";
+          sha256 = "09k5x123db19v2k49y8acyk5y3r0fxw0xz61qqqidrgrx8fs3mg9";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -756,10 +756,10 @@
       elpaBuild {
         pname = "compat";
         ename = "compat";
-        version = "28.1.0.3";
+        version = "28.1.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/compat-28.1.0.3.tar";
-          sha256 = "12h06ab57hhjq434cf39g69ain6dpqq8a0h9xc91kvjsiz9chqhd";
+          url = "https://elpa.gnu.org/packages/compat-28.1.1.1.tar";
+          sha256 = "13ksa6q3m525gd6sdixmak6brfch2rhz8dzzmhvvdh1y04hcnam8";
         };
         packageRequires = [ emacs nadvice ];
         meta = {
@@ -771,10 +771,10 @@
       elpaBuild {
         pname = "consult";
         ename = "consult";
-        version = "0.16";
+        version = "0.17";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/consult-0.16.tar";
-          sha256 = "172w4d9hbzj98j1gyfhzw2zz4fpw90ak8ccg35fngwjlk9mjdrzk";
+          url = "https://elpa.gnu.org/packages/consult-0.17.tar";
+          sha256 = "16yrp6scxg93anxrp5nww08ixxqk8ra9dn9zm8w5dry997kmkasa";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -801,10 +801,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.21";
+        version = "0.23";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.21.tar";
-          sha256 = "1jabx61ajiysd3yqkraanlx9gnkz1qs6d94wjc5a2ran58iyknyr";
+          url = "https://elpa.gnu.org/packages/corfu-0.23.tar";
+          sha256 = "1l988jmvn3x1x77sc89pg5ivwl9i4r2v4k74ymkplgcc9wpffm1v";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -857,6 +857,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    cpupower = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "cpupower";
+        ename = "cpupower";
+        version = "1.0.4";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/cpupower-1.0.4.tar";
+          sha256 = "12910d3qbkapr4bvqv88lr85fz6rkim0zrc24nxnvkhkh3yi8qvd";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/cpupower.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     crdt = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "crdt";
@@ -917,6 +932,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    cursory = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "cursory";
+        ename = "cursory";
+        version = "0.1.4";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/cursory-0.1.4.tar";
+          sha256 = "0yjwn6kpxl7b3m8si4sqmdkhr8imcgbvwhwki2sxgybs75lxdg97";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/cursory.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     cycle-quotes = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "cycle-quotes";
@@ -1146,10 +1176,10 @@
       elpaBuild {
         pname = "djvu";
         ename = "djvu";
-        version = "1.1.1";
+        version = "1.1.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/djvu-1.1.1.el";
-          sha256 = "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i";
+          url = "https://elpa.gnu.org/packages/djvu-1.1.2.tar";
+          sha256 = "0i7xwgg2fxndy81lnng6fh9iknals8xvx4f1nmxq7c099bzwb57c";
         };
         packageRequires = [];
         meta = {
@@ -1176,10 +1206,10 @@
       elpaBuild {
         pname = "dtache";
         ename = "dtache";
-        version = "0.5";
+        version = "0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/dtache-0.5.tar";
-          sha256 = "10gcnkajpw7szd41l6ykkysv00yp93y1z9ajhcmk4wzni93w21z2";
+          url = "https://elpa.gnu.org/packages/dtache-0.6.tar";
+          sha256 = "1nv5hzn4rnm8pzfr5i209djaafj4ymg5j886yq2j19zkjadc8yx3";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1221,10 +1251,10 @@
       elpaBuild {
         pname = "easy-kill";
         ename = "easy-kill";
-        version = "0.9.4";
+        version = "0.9.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/easy-kill-0.9.4.tar";
-          sha256 = "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x";
+          url = "https://elpa.gnu.org/packages/easy-kill-0.9.5.tar";
+          sha256 = "0h8rzd23sgkj3vxnyhis9iyq8n3xqp9x1mvxlm61s6wwj9j398j6";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -1296,10 +1326,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20220324";
+        version = "20220416";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20220324.tar";
-          sha256 = "0x1fhjj7g96xmp8pnj3k23xi61nfzaj04bzx050qjc1dvdg8gpfa";
+          url = "https://elpa.gnu.org/packages/eev-20220416.tar";
+          sha256 = "174hwb3cyiqimzcsl62yhq51hb4gxmj5wni6w5ng4m24bfkx87nc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1354,10 +1384,10 @@
       elpaBuild {
         pname = "eldoc";
         ename = "eldoc";
-        version = "1.11.1";
+        version = "1.12.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eldoc-1.11.1.tar";
-          sha256 = "065clc07nrgp56cgynqhq3fmnwd64ccg2jxzikzb0f2zkn10vc90";
+          url = "https://elpa.gnu.org/packages/eldoc-1.12.0.tar";
+          sha256 = "1npggpisqnfkc3gx7dr3pjnif7gf571z7s9g7n6vnb213353qskk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1469,10 +1499,10 @@
       elpaBuild {
         pname = "engrave-faces";
         ename = "engrave-faces";
-        version = "0.2.0";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/engrave-faces-0.2.0.tar";
-          sha256 = "1d0hsfg3wvwbs82gjyvfjvy1sszcm7qa50bch1b6jy05kbc543ip";
+          url = "https://elpa.gnu.org/packages/engrave-faces-0.3.1.tar";
+          sha256 = "1q4sjl2rvcfwcirm32nmi53258ln71yhh1dgszlxwknm38a14v3i";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1680,6 +1710,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    fontaine = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "fontaine";
+        ename = "fontaine";
+        version = "0.2.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/fontaine-0.2.1.tar";
+          sha256 = "11g03gaiypqf0xi7s3xyjnbi2w154lkd7j0ybmn8scs6pbzdyl95";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/fontaine.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     frame-tabs = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "frame-tabs";
@@ -1942,6 +1987,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    gtags-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "gtags-mode";
+        ename = "gtags-mode";
+        version = "1.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/gtags-mode-1.0.tar";
+          sha256 = "0nyzsr3fnds931ihw2dp5xlgv151kzph7qv1n751r1cajimzlp7n";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/gtags-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     guess-language = callPackage ({ cl-lib ? null
                                   , elpaBuild
                                   , emacs
@@ -2058,10 +2118,10 @@
       elpaBuild {
         pname = "hyperbole";
         ename = "hyperbole";
-        version = "7.1.3";
+        version = "8.0.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/hyperbole-7.1.3.tar";
-          sha256 = "0bizibn4qgxqp89fyik6p47s9hss1g932mg8k7pznn3kkhj5c8rh";
+          url = "https://elpa.gnu.org/packages/hyperbole-8.0.0.tar";
+          sha256 = "171x7jad62xd0n3xgs32dksyhn5abxj1kna0qgm65mm0v73hrv8d";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2408,10 +2468,10 @@
       elpaBuild {
         pname = "lin";
         ename = "lin";
-        version = "0.3.0";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/lin-0.3.0.tar";
-          sha256 = "08h7rh8gidn9mn031mg8lvhxswv1hxn4i0ffk2vxygfbp9jxfi61";
+          url = "https://elpa.gnu.org/packages/lin-0.3.1.tar";
+          sha256 = "1blk9vc9fyw6djqh0465bayv2s5s0ap7fps383ihmazmmii6mp2a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2498,10 +2558,10 @@
       elpaBuild {
         pname = "logos";
         ename = "logos";
-        version = "0.3.1";
+        version = "0.3.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/logos-0.3.1.tar";
-          sha256 = "0wwvp47bmc7w3jvh480vc31agf0s39mvgk0h550z6a1wzlrfzyh9";
+          url = "https://elpa.gnu.org/packages/logos-0.3.2.tar";
+          sha256 = "1qpbp9f9lz7yrky42cq8b4k295593s7l892zsrdyifnqcgs50bfd";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2871,10 +2931,10 @@
       elpaBuild {
         pname = "nano-modeline";
         ename = "nano-modeline";
-        version = "0.6";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nano-modeline-0.6.tar";
-          sha256 = "1cxycfx4ic2hzfvp3d2z0a5xjg97p49yla3a1qxw1dldcjg9lfg0";
+          url = "https://elpa.gnu.org/packages/nano-modeline-0.7.tar";
+          sha256 = "1fsjzbdawkn4vmk6zs6az1b42mx5ka7a618fgx5zdncr79wl0vjw";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2886,10 +2946,10 @@
       elpaBuild {
         pname = "nano-theme";
         ename = "nano-theme";
-        version = "0.3.0";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nano-theme-0.3.0.tar";
-          sha256 = "1nq5x46467vnsfg3fzb0qyg97xpnwsvbqg8frdjil5zq5fhsgmrz";
+          url = "https://elpa.gnu.org/packages/nano-theme-0.3.1.tar";
+          sha256 = "003jhzh52iqrqlxh1gpv3y2wjlxx4ng3al5zcpm5q42kix8cjpd1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3070,10 +3130,10 @@
       elpaBuild {
         pname = "org";
         ename = "org";
-        version = "9.5.2";
+        version = "9.5.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-9.5.2.tar";
-          sha256 = "12pvr47b11pq5rncpb3x8y11fhnakk5bi73j9l9w4d4ss3swcrnh";
+          url = "https://elpa.gnu.org/packages/org-9.5.3.tar";
+          sha256 = "0i8lx7gsdz79qv0h3qdbwqd0m91z6ky33wjmkcbify75giixiv25";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3115,10 +3175,10 @@
       elpaBuild {
         pname = "org-real";
         ename = "org-real";
-        version = "1.0.4";
+        version = "1.0.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-real-1.0.4.tar";
-          sha256 = "0bn9vyx74lki2nggzir02mcrww94dnqpbkryjr7a4i6am0ylf705";
+          url = "https://elpa.gnu.org/packages/org-real-1.0.5.tar";
+          sha256 = "0g70bzhr094fah86cyvd9ci8q28qi9c44g33i4lw7clklgdx7mxl";
         };
         packageRequires = [ boxy emacs org ];
         meta = {
@@ -3205,10 +3265,10 @@
       elpaBuild {
         pname = "osm";
         ename = "osm";
-        version = "0.6";
+        version = "0.7";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/osm-0.6.tar";
-          sha256 = "0p19qyx4gw1rn2f5hlxa7gx1sph2z5vjw7cnxwpjhbbr0430zzwb";
+          url = "https://elpa.gnu.org/packages/osm-0.7.tar";
+          sha256 = "0k2phmh2sl50vx88cgndghcjfz0i20mjs2hg4mlh4hb5q9yjpcj4";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3366,6 +3426,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    plz = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "plz";
+        ename = "plz";
+        version = "0.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/plz-0.1.tar";
+          sha256 = "083qz6kfg4q8xy3vsfwlk2g9vbg8iym2axmyhh54naivrc096ghc";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/plz.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     poker = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "poker";
@@ -3445,10 +3520,10 @@
       elpaBuild {
         pname = "pulsar";
         ename = "pulsar";
-        version = "0.3.0";
+        version = "0.3.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pulsar-0.3.0.tar";
-          sha256 = "0dbfj7789qp4l25y8qazmx5kqgjgqjsnk24rwcf6qann4cq6wgnq";
+          url = "https://elpa.gnu.org/packages/pulsar-0.3.1.tar";
+          sha256 = "0v3bdw0sgic98b7xj19g37hw1vinanagsbhyf5qpajx3gm2im9wx";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3460,10 +3535,10 @@
       elpaBuild {
         pname = "pyim";
         ename = "pyim";
-        version = "4.1.0";
+        version = "4.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/pyim-4.1.0.tar";
-          sha256 = "1q4b3y72gbkl5z31brlnjqjl30lgqm2d1zlqrbkqnnfy5hjgazk9";
+          url = "https://elpa.gnu.org/packages/pyim-4.2.0.tar";
+          sha256 = "1yb6yv92987kq0ls38d0fqwbj5jrf4cg3jvdbwjzr61gg3izf414";
         };
         packageRequires = [ async emacs xr ];
         meta = {
@@ -3535,10 +3610,10 @@
       elpaBuild {
         pname = "rainbow-mode";
         ename = "rainbow-mode";
-        version = "1.0.5";
+        version = "1.0.6";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.5.el";
-          sha256 = "159fps843k5pap9k04a7ll1k3gw6d9c6w08lq4bbc3lqg78aa2l9";
+          url = "https://elpa.gnu.org/packages/rainbow-mode-1.0.6.tar";
+          sha256 = "04v73cm1cap19vwc8lqsw0rmfr9v7r3swc4wgxnk9dnzxi9j2527";
         };
         packageRequires = [];
         meta = {
@@ -3830,10 +3905,10 @@
       elpaBuild {
         pname = "rt-liberation";
         ename = "rt-liberation";
-        version = "4";
+        version = "5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/rt-liberation-4.tar";
-          sha256 = "15vs982cxpc3g8cq2gj3a6dfn9i2r9b44x38ydvcmiy2brkd3psj";
+          url = "https://elpa.gnu.org/packages/rt-liberation-5.tar";
+          sha256 = "1gjj38rag3hh42xkf7qlvwn0qj45i8v30h5wgs3w2a2ccs46bpy4";
         };
         packageRequires = [];
         meta = {
@@ -4196,6 +4271,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    sql-cassandra = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "sql-cassandra";
+        ename = "sql-cassandra";
+        version = "0.2.1";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/sql-cassandra-0.2.1.tar";
+          sha256 = "1w9jhh4gf5nnjq8p2zfdli81yqvnfjri4qlwxiwb913ah48vyi2l";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/sql-cassandra.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     sql-indent = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "sql-indent";
@@ -4459,14 +4549,44 @@
           license = lib.licenses.free;
         };
       }) {};
+    tmr = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "tmr";
+        ename = "tmr";
+        version = "0.2.3";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/tmr-0.2.3.tar";
+          sha256 = "0lys6g96cvfyhwr7z0yv9cx2ykzyixjppv5fh29qzq3h3dywx5wb";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/tmr.html";
+          license = lib.licenses.free;
+        };
+      }) {};
+    tomelr = callPackage ({ elpaBuild, emacs, fetchurl, lib, map, seq }:
+      elpaBuild {
+        pname = "tomelr";
+        ename = "tomelr";
+        version = "0.4.3";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/tomelr-0.4.3.tar";
+          sha256 = "03dj7mhqyfdpxr32nyvfgkqr6wr55cd7yk9a0izjs4468zx8vl0d";
+        };
+        packageRequires = [ emacs map seq ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/tomelr.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     tramp = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "tramp";
         ename = "tramp";
-        version = "2.5.2.3";
+        version = "2.5.2.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/tramp-2.5.2.3.tar";
-          sha256 = "1nv603jrvql03z2pfg74yq0hp7963gagg27fksc456mpmz4p7ajq";
+          url = "https://elpa.gnu.org/packages/tramp-2.5.2.4.tar";
+          sha256 = "0ap1d34p1akrrm8z1r7ln6mj13xg2nrvjln2v3g8plhhp354jldz";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4774,10 +4894,10 @@
       elpaBuild {
         pname = "vertico";
         ename = "vertico";
-        version = "0.22";
+        version = "0.23";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-0.22.tar";
-          sha256 = "1m8r2iqyyvym7a47awh00aq7hld54dklrx4ibwvnmhpxl0fzh7g8";
+          url = "https://elpa.gnu.org/packages/vertico-0.23.tar";
+          sha256 = "1d2r2y1bhvipn4xqzla5rv09cdpg7f19m9hrnv1pqypjvbgqv1m2";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4794,10 +4914,10 @@
       elpaBuild {
         pname = "vertico-posframe";
         ename = "vertico-posframe";
-        version = "0.5.3";
+        version = "0.5.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.3.tar";
-          sha256 = "12jcb4im1ys2s0wbv9nfmgpcrz037zagd677qjm8hz8fn29xdh6n";
+          url = "https://elpa.gnu.org/packages/vertico-posframe-0.5.4.tar";
+          sha256 = "19lx6p06wkwfivxgswdljdsh9bgcd1b9zkzx426w3pwicdk0cvgg";
         };
         packageRequires = [ emacs posframe vertico ];
         meta = {
@@ -4868,6 +4988,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    vundo = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "vundo";
+        ename = "vundo";
+        version = "2.0.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/vundo-2.0.0.tar";
+          sha256 = "032aqcqq2xhh12qcpp8p3qldv0r9cnqr2y11jk1m5cvgal1cbb68";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/vundo.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     wcheck-mode = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "wcheck-mode";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
index fd8d17da60eae..2bfc2f18e97dd 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-packages.nix
@@ -104,6 +104,21 @@ self: let
           maintainers = [ lib.maintainers.sternenseemann ];
         };
       });
+
+      plz = super.plz.overrideAttrs (
+        old: {
+          dontUnpack = false;
+          postPatch = old.postPatch or "" + ''
+            substituteInPlace ./plz.el \
+              --replace 'plz-curl-program "curl"' 'plz-curl-program "${pkgs.curl}/bin/curl"'
+          '';
+          preInstall = ''
+            tar -cf "$pname-$version.tar" --transform "s,^,$pname-$version/," * .[!.]*
+            src="$pname-$version.tar"
+          '';
+        }
+      );
+
     };
 
     elpaPackages = super // overrides;
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
index ccbfe76719e59..f89d0ce8007c3 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/ement/default.nix
@@ -13,13 +13,13 @@
 
 trivialBuild {
   pname = "ement";
-  version = "unstable-2022-04-22";
+  version = "unstable-2022-05-14";
 
   src = fetchFromGitHub {
     owner = "alphapapa";
     repo = "ement.el";
-    rev = "70da19e4c9210d362b1d6d9c17ab2c034a03250d";
-    sha256 = "sha256-Pxul0WrtyH2XZzF0fOOitLc3x/kc+Qc11RDH0n+Hm04=";
+    rev = "961d650377f9e7440e47c36c0386e899f5b2d86b";
+    sha256 = "sha256-4KTSPgso7UvzCRKNFI3YaPR1t4DUwggO4KtBYLm0W4Y=";
   };
 
   packageRequires = [
diff --git a/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch b/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch
index 547fee164056b..271e1cd2dbac7 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch
+++ b/pkgs/applications/editors/emacs/elisp-packages/ement/handle-nil-images.patch
@@ -1,8 +1,8 @@
-diff --git a/ement.el b/ement.el
-index c9596a7..1b33045 100644
---- a/ement.el
-+++ b/ement.el
-@@ -682,14 +682,15 @@ can cause undesirable underlining."
+diff --git a/ement-lib.el b/ement-lib.el
+index f0b2738..025a191 100644
+--- a/ement-lib.el
++++ b/ement-lib.el
+@@ -644,14 +644,15 @@ can cause undesirable underlining."
    "Return a copy of IMAGE set to MAX-WIDTH and MAX-HEIGHT.
  IMAGE should be one as created by, e.g. `create-image'."
    ;; It would be nice if the image library had some simple functions to do this sort of thing.
@@ -24,5 +24,5 @@ index c9596a7..1b33045 100644
 +            (image-property new-image :max-height) max-height)
 +      new-image)))
  
- ;;;;; Reading/writing sessions
- 
+ (defun ement--room-alias (room)
+   "Return latest m.room.canonical_alias event in ROOM."
diff --git a/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix b/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix
index df001ea8ff73a..139bddffa87a2 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/header-file-mode/default.nix
@@ -5,13 +5,13 @@
 
 trivialBuild {
   pname = "header-file-mode";
-  version = "unstable-2022-04-19";
+  version = "unstable-2022-05-13";
 
   src = fetchFromGitHub {
-    owner = "0x4b";
+    owner = "aidalgol";
     repo = "header-file-mode";
-    rev = "fdf1930730e1b0c3f82490099a1325805491eff5";
-    sha256 = "sha256-FJgRI6RLQk9osh7d+YRfrV5CoGCDx2cZvsjAWlm969c=";
+    rev = "bcfd19a2c70030ebf5fa68e87aca4b3db8fad13e";
+    sha256 = "sha256-XMXOU+vWJ/0e0ny4Dz3DxWpdEfSNXGzm03sBke32Dwc=";
   };
 
   postUnpack = ''
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 4dc546c6263da..80fde736ac422 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -194,8 +194,6 @@
 
   control-lock = callPackage ./control-lock { };
 
-  plz = callPackage ./plz { };
-
   pod-mode = callPackage ./pod-mode { };
 
   power-mode = callPackage ./power-mode { };
diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
index 7c481c6d977e9..39835c58b6501 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix
@@ -217,6 +217,12 @@ let
         flycheck-rtags = fix-rtags super.flycheck-rtags;
 
         pdf-tools = super.pdf-tools.overrideAttrs (old: {
+          # Temporary work around for:
+          #   - https://github.com/vedang/pdf-tools/issues/102
+          #   - https://github.com/vedang/pdf-tools/issues/103
+          #   - https://github.com/vedang/pdf-tools/issues/109
+          CXXFLAGS = "-std=c++17";
+
           nativeBuildInputs = [
             pkgs.autoconf
             pkgs.automake
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index e15903ad973e2..f85120c0c21d1 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -49,10 +49,10 @@
       elpaBuild {
         pname = "annotate";
         ename = "annotate";
-        version = "1.5.3";
+        version = "1.5.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/annotate-1.5.3.tar";
-          sha256 = "0d5lqaj1bqckvjpwxqglzrhk8fm03n19lxwm74jxfl1lkxq4dw3x";
+          url = "https://elpa.nongnu.org/nongnu/annotate-1.5.4.tar";
+          sha256 = "1d11q4ddc2rw7n8jrxdddc5h42hf16sbc1l4v6zmmsriahxhgfdd";
         };
         packageRequires = [];
         meta = {
@@ -258,10 +258,10 @@
       elpaBuild {
         pname = "cider";
         ename = "cider";
-        version = "1.3.0";
+        version = "1.4.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/cider-1.3.0.tar";
-          sha256 = "10kg30s0gb09l0z17v2hqxy9v5pscnpqp5dng62cjh0x3hdi4i7x";
+          url = "https://elpa.nongnu.org/nongnu/cider-1.4.0.tar";
+          sha256 = "11a3ysvrywp79pp1yivpsgi8azgzbg7ayiai94p1dyd3viy29qn0";
         };
         packageRequires = [
           clojure-mode
@@ -469,10 +469,10 @@
       elpaBuild {
         pname = "elpher";
         ename = "elpher";
-        version = "3.3.3";
+        version = "3.4.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/elpher-3.3.3.tar";
-          sha256 = "0yaf6g424g6dngg0acbhlhd24k77bl5h82wiw98f3731xdad174r";
+          url = "https://elpa.nongnu.org/nongnu/elpher-3.4.1.tar";
+          sha256 = "1vayhcamdp8nn6hrgffd0yx9k9q3mckbcsfwclhyyfc0x1hcwf92";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -484,10 +484,10 @@
       elpaBuild {
         pname = "evil";
         ename = "evil";
-        version = "1.14.0";
+        version = "1.15.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/evil-1.14.0.tar";
-          sha256 = "11hzx3ya1119kr8dwlg264biixiqgvi7zwxxksql0a9hqp57rdpx";
+          url = "https://elpa.nongnu.org/nongnu/evil-1.15.0.tar";
+          sha256 = "0xp31w5mr6sprimd2rwy7mpa3kca5ivwf57jmaqyzpd96gh66pg1";
         };
         packageRequires = [];
         meta = {
@@ -602,10 +602,10 @@
       elpaBuild {
         pname = "evil-matchit";
         ename = "evil-matchit";
-        version = "2.4.3";
+        version = "2.4.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/evil-matchit-2.4.3.tar";
-          sha256 = "079qbx6f4clh5ngnrga016h0q2vf7afx9irsa06pishfs94pl4qn";
+          url = "https://elpa.nongnu.org/nongnu/evil-matchit-2.4.4.tar";
+          sha256 = "1p8xsi0068wabsfn3jwhyinkk2684xp9hlapcbj6y58wkpzqj0f6";
         };
         packageRequires = [ emacs evil ];
         meta = {
@@ -712,10 +712,10 @@
       elpaBuild {
         pname = "geiser";
         ename = "geiser";
-        version = "0.23.2";
+        version = "0.24";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-0.23.2.tar";
-          sha256 = "1rdz13rjfp8j2ik3vbw1jvacjri3abghlq6aqfvkd7vwm21h30ih";
+          url = "https://elpa.nongnu.org/nongnu/geiser-0.24.tar";
+          sha256 = "14qnni8ridrg3afh1wy9nvchbk0drn0h7ww5xgc6s03ivvmy7a71";
         };
         packageRequires = [ emacs project transient ];
         meta = {
@@ -909,6 +909,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    gnu-apl-mode = callPackage ({ elpaBuild, fetchurl, lib }:
+      elpaBuild {
+        pname = "gnu-apl-mode";
+        ename = "gnu-apl-mode";
+        version = "1.5.1";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/gnu-apl-mode-1.5.1.tar";
+          sha256 = "0almjbh35d0myyjaavmqi7yzk3jpqdcqrhsb2x6vcp6pb199g7z8";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/gnu-apl-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     gnuplot = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "gnuplot";
@@ -1903,10 +1918,10 @@
       elpaBuild {
         pname = "shellcop";
         ename = "shellcop";
-        version = "0.0.8";
+        version = "0.0.9";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/shellcop-0.0.8.tar";
-          sha256 = "00kj1zadrqnikvwrxd6ma0c8r1jf70c1zaqr03s0g49h4lz6m2da";
+          url = "https://elpa.nongnu.org/nongnu/shellcop-0.0.9.tar";
+          sha256 = "0rv98s3w3pd2l477100d8kn2kqx21xn3axzcfbxbkgl8bc78mvci";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2023,10 +2038,10 @@
       elpaBuild {
         pname = "subed";
         ename = "subed";
-        version = "1.0.3";
+        version = "1.0.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/subed-1.0.3.tar";
-          sha256 = "0wibakmp1lhfyr6sifb7f3jcqp2s5sy0z37ad9n1n9rhj5q8yhzg";
+          url = "https://elpa.nongnu.org/nongnu/subed-1.0.5.tar";
+          sha256 = "1wpkwab6scmc9d3bzp5161d8agmcjacpijs8xqb1mpbyvl1jvavc";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2315,6 +2330,24 @@
           license = lib.licenses.free;
         };
       }) {};
+    xah-fly-keys = callPackage ({ elpaBuild
+                                , emacs
+                                , fetchurl
+                                , lib }:
+      elpaBuild {
+        pname = "xah-fly-keys";
+        ename = "xah-fly-keys";
+        version = "17.7.20220429090059";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/xah-fly-keys-17.7.20220429090059.tar";
+          sha256 = "006lqjx88b0g0szxai82qdn3bv8qajp2x281arpmp3rpb7faggvq";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/xah-fly-keys.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     xml-rpc = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "xml-rpc";
diff --git a/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix b/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix
deleted file mode 100644
index 29f71d7f1580a..0000000000000
--- a/pkgs/applications/editors/emacs/elisp-packages/plz/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ trivialBuild, lib, fetchFromGitHub, curl }:
-
-trivialBuild {
-  pname = "plz";
-  version = "0.pre+date=2021-08-22";
-
-  src = fetchFromGitHub {
-    owner = "alphapapa";
-    repo = "plz.el";
-    rev = "7e456638a651bab3a814e3ea81742dd917509cbb";
-    hash = "sha256-8kn9ax1AVF6f9iCTqvVeJZihs03pYAhLjUDooG/ubxY=";
-  };
-
-  postPatch = ''
-    substituteInPlace ./plz.el \
-      --replace 'plz-curl-program "curl"' 'plz-curl-program "${curl}/bin/curl"'
-  '';
-
-  meta = {
-    description = "An HTTP library for Emacs";
-    longDescription = ''
-      plz is an HTTP library for Emacs. It uses curl as a backend, which avoids
-      some of the issues with using Emacs’s built-in url library. It supports
-      both synchronous and asynchronous requests. Its API is intended to be
-      simple, natural, and expressive. Its code is intended to be simple and
-      well-organized. Every feature is tested against httpbin.org.
-    '';
-    license = lib.licenses.gpl3Only;
-    platforms = lib.platforms.all;
-  };
-}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index f6f82db01a5ba..bc3466f4890f6 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -204,11 +204,11 @@
   "repo": "ymarco/auto-activating-snippets",
   "unstable": {
    "version": [
-    20220301,
-    1628
+    20220426,
+    2058
    ],
-   "commit": "8ce591165e0bdc1a6ea76e78bc10c6b55bab9634",
-   "sha256": "0v9hw8rf5ypxn7bbwdvv5wrmvdghp691xkfc7kj2zihc0f7vyxak"
+   "commit": "566944e3b336c29d3ac11cd739a954c9d112f3fb",
+   "sha256": "0walpgv18gx11hvij1mf9hgsd1x40rhccbzsnwsh86lka1g3na34"
   },
   "stable": {
    "version": [
@@ -285,11 +285,11 @@
   "repo": "jdtsmith/abridge-diff",
   "unstable": {
    "version": [
-    20210519,
-    322
+    20220419,
+    2358
    ],
-   "commit": "85d0512e239f2ec2217da7f316a5aed350041fd9",
-   "sha256": "0ca375q90fg29c0y47s7ljb5ymwf8wnq6b8v375r06rkqvi7svdx"
+   "commit": "996d921da0a0ee651b3486c2afe29447f48be50f",
+   "sha256": "19k23326dwnnbf8gdm1b8zm1p8qx0515ak939vdp6falhqa9x4rn"
   },
   "stable": {
    "version": [
@@ -1035,8 +1035,8 @@
     "auto-complete",
     "yasnippet"
    ],
-   "commit": "f44c5c6a23829e53bcb0712adcad406a8e9498ce",
-   "sha256": "1k3919v7mczwzk50dhrfnx2sbzlcm192c6ks4wzajr5hzvd448qc"
+   "commit": "f34e09783b77d1158ea139b7b3d8034bc52b0b9f",
+   "sha256": "1qi529lg3y5l4wrzfyk0w2fz36mpd432bp39s859z4cq06yybxga"
   },
   "stable": {
    "version": [
@@ -1061,8 +1061,8 @@
   "repo": "xcwen/ac-php",
   "unstable": {
    "version": [
-    20220120,
-    754
+    20220418,
+    419
    ],
    "deps": [
     "dash",
@@ -1072,8 +1072,8 @@
     "s",
     "xcscope"
    ],
-   "commit": "f44c5c6a23829e53bcb0712adcad406a8e9498ce",
-   "sha256": "1k3919v7mczwzk50dhrfnx2sbzlcm192c6ks4wzajr5hzvd448qc"
+   "commit": "f34e09783b77d1158ea139b7b3d8034bc52b0b9f",
+   "sha256": "1qi529lg3y5l4wrzfyk0w2fz36mpd432bp39s859z4cq06yybxga"
   },
   "stable": {
    "version": [
@@ -1816,11 +1816,11 @@
   "repo": "louabill/ado-mode",
   "unstable": {
    "version": [
-    20210510,
-    1902
+    20220415,
+    1647
    ],
-   "commit": "4832a51c2e94e969a99817ccdd13d656344d0afc",
-   "sha256": "0iyijlyj1d7k5m9mk3blb4wlam652487jhayrmgfy25snqd8b0sm"
+   "commit": "695ea71cf4d6ae5f0afbc37b6fd08458e5c584c4",
+   "sha256": "0qgypd7hpbcb0fmgiq5sjs4nxb46kcda1hjz61cnf1skpzvc7amh"
   },
   "stable": {
    "version": [
@@ -1899,8 +1899,8 @@
    "deps": [
     "consult"
    ],
-   "commit": "5dd63fd156577aa7e9a3a631e2f48444565f463e",
-   "sha256": "09glzw3h2miqlnr1g7311nz909wgdphi50c6j1npzm68vi4xpnyp"
+   "commit": "a61d593d0cbff65a93111be96b9f53d3e640cf8d",
+   "sha256": "1pkqr7asz6h4gjkrg8mc8qikxy4agiv0x6ragbasy0xm3q4wxm0h"
   },
   "stable": {
    "version": [
@@ -2489,11 +2489,11 @@
   "repo": "domtronn/all-the-icons.el",
   "unstable": {
    "version": [
-    20220325,
-    1238
+    20220427,
+    1911
    ],
-   "commit": "65c496d3d1d1298345beb9845840067bffb2ffd8",
-   "sha256": "05n68r1f9g0xhffv8da5142c1771ma0lbwh44fqiraw80zjp5ybi"
+   "commit": "68365b48f142d75ef4bdc3a274256d97752e3b65",
+   "sha256": "1nf6z5i9gpbv1qdrm7r0qb0mbzipdn9mnfwc478rrazmn2l0m5cs"
   },
   "stable": {
    "version": [
@@ -2579,14 +2579,14 @@
   "repo": "seagle0128/all-the-icons-ibuffer",
   "unstable": {
    "version": [
-    20220228,
-    1513
+    20220424,
+    1027
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "21d5859f1412413f165e0ca44f6002902409a9f9",
-   "sha256": "0a5ny68g82rwjd262ni4dflq1mgv6i99fgxbbp5m2w781mvcgl7a"
+   "commit": "0fcb43eb440e18078c8faf67c27a2189bbb45dfb",
+   "sha256": "16g81kx77bn3n5ziksmmmsx9c6fvfw21czanq1pivclpw3vdqscb"
   },
   "stable": {
    "version": [
@@ -2641,15 +2641,15 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20220411,
-    222
+    20220510,
+    752
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "b2fc7db5432431e56babb3440c7a4aab8ff0744d",
-   "sha256": "1620wmakvgnar61np80jsr52gixxir70fmbf70kn2kv0ybza1ngw"
+   "commit": "7c382ccbc8b1b2d0e18d280b24ee2029dca070d8",
+   "sha256": "0145agd3kg1m7ylishf4ypg6bc01jrps17rwxw0kdqrh3gp7xvg3"
   },
   "stable": {
    "version": [
@@ -2673,11 +2673,11 @@
   "repo": "cryon/almost-mono-themes",
   "unstable": {
    "version": [
-    20210306,
-    1040
+    20220422,
+    1714
    ],
-   "commit": "6503bf0e5429a51906fb1db94941a4fa678bf9b1",
-   "sha256": "0dypf86x9i1lcqn1kqg5dk3h5bs1k5psw2w4al6c6iy9765ws3b4"
+   "commit": "0641bf565c113caef8d5c2a93f38cff32ebb62b7",
+   "sha256": "17r605k8zb30l1sl8zy5w753mvzdppqr9lbkidancasvp1p47rs7"
   }
  },
  {
@@ -2715,8 +2715,8 @@
     20220212,
     1526
    ],
-   "commit": "68d4f3bc6a29b3941f43bbc8067aa8870023cffc",
-   "sha256": "14asfxn6sa55gcvlp2ixim742w5c2s0nnk42sjzrx75xsl0fasrs"
+   "commit": "45deed4b9aadcd5e2a5482b0fe5110bb78ba1dd6",
+   "sha256": "0g77kdr0lhv2w4gdcmc2bf4ix5kpjg9g358v0kjn26gr36m843j6"
   },
   "stable": {
    "version": [
@@ -2947,7 +2947,7 @@
     20210221,
     1727
    ],
-   "commit": "c48518560815c49d8d78fb9069906d17e883385e",
+   "commit": "16b0ba14d94a5d7e55655efc9e1d6d069a9306f2",
    "sha256": "1fzsqd150gpmrj8kz3zy9cd78x9vank7ra720mljhyf04z0h1mj6"
   },
   "stable": {
@@ -2958,7 +2958,7 @@
    "deps": [
     "projectile"
    ],
-   "commit": "87760e8326a0e303ca66dda298a79742888b7254",
+   "commit": "b9ea996c651c43722a5e577f61b5f823f222d864",
    "sha256": "1l58l0gj3my61yi55hak0c8y26dc2sn8kzbs80v3vsfr6pq916vx"
   }
  },
@@ -3229,11 +3229,11 @@
   "repo": "bastibe/annotate.el",
   "unstable": {
    "version": [
-    20220408,
-    921
+    20220428,
+    1339
    ],
-   "commit": "a3d42262f518a52e221c038cca3c1630ea90db25",
-   "sha256": "0vxyqkhdsvl2rch0ln3jbrs6wn96lbwn5bhpgrvr93bh6lzq3zl4"
+   "commit": "e982a7b74a681a8c2c823d8dcaafd185ab5f719e",
+   "sha256": "13vnc9qkz2n121yf482sj19daxa262pnp49cy8p5cvrr75narh1r"
   },
   "stable": {
    "version": [
@@ -3271,8 +3271,8 @@
     20200914,
     644
    ],
-   "commit": "505464961f07f0991263708fd8cbf5f7ad12f53f",
-   "sha256": "149g366ijc7aqglf27xsy806az8r2s8s6p8w8rx4wvdrhds2wpl7"
+   "commit": "9a5f2b4a8cd14edbde9d16dcdfcb8db2a91be0d8",
+   "sha256": "1pn3w2prmz9ibhy5l22c6mmccr7lfy561gkd2s41hlcjsyd4ar00"
   },
   "stable": {
    "version": [
@@ -3609,26 +3609,26 @@
   "repo": "wanderlust/apel",
   "unstable": {
    "version": [
-    20201106,
-    2221
+    20220427,
+    1121
    ],
-   "commit": "4e3269b6e702db2dba48cf560563ac883e81e3bf",
-   "sha256": "1b4ljzq4qyslwxxl6n2izghbl20wwzxxvcq5wk111blnwap4kddw"
+   "commit": "6947dc4605ebbb87762edf7051a78a3f7b5f17c5",
+   "sha256": "0qfmnrr9v7r78amvi6qd3a3qyiy1hk0jqhj4bmsabifxwlsmbzlb"
   }
  },
  {
   "ename": "apheleia",
-  "commit": "74ef92045e0f64b34cdb1ca686c9159b0623e61f",
-  "sha256": "0dmjvj7gw8qd8vh9m8ibs5pqgs63f5pv02686k97sawbkav7mg1r",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "17aknfx1ii97lsqm4228rxawa6klnxpi948pl5bzwls9fx91g31v",
   "fetcher": "github",
-  "repo": "raxod502/apheleia",
+  "repo": "radian-software/apheleia",
   "unstable": {
    "version": [
-    20220410,
-    2121
+    20220512,
+    1952
    ],
-   "commit": "806210414b84549f1c19d2df94a4a0491a581f2f",
-   "sha256": "0y3iyd5p0sbwijqhpsnlfrvg3ra19cqkmv9q0jshy74k674gwpbs"
+   "commit": "b5dbab53eadf64529a0bfe217c7750f1d7d85fce",
+   "sha256": "1w7x7k5mrvp5yq5ppq9zps5z2c7h67yjxyaxcvbkjibvswb0c616"
   },
   "stable": {
    "version": [
@@ -3741,8 +3741,8 @@
     20210802,
     1715
    ],
-   "commit": "1221be63e78c6cfe1af31e01b0909eeb08d9cc9a",
-   "sha256": "0dgzk00kq5a6bxzwjzvhdn9h8vsij5n4in7lni9nv0qmqc0p3hm2"
+   "commit": "ea9a32aa33580b0695e7298d56c3d5f050a02b87",
+   "sha256": "13wm9g184lxzf55cwx1cc88d5a17yghbfqsqvyihsb7yv2i2xg8i"
   },
   "stable": {
    "version": [
@@ -3784,11 +3784,11 @@
   "repo": "waymondo/apropospriate-theme",
   "unstable": {
    "version": [
-    20220411,
-    2036
+    20220418,
+    1554
    ],
-   "commit": "0f8ff945942ecb036691ce4400c664a16545c491",
-   "sha256": "104inw43k4rmrjr4fl64phr3phlmnvdrmqrr7zjiqc1h5rj6qn57"
+   "commit": "52ed4bf4aaa01c527271d71e6ce00f3607839777",
+   "sha256": "168z5i0y7rldbqpmxyvi5z19i57l14yhqzzyhl0sv7zdcqa66s21"
   },
   "stable": {
    "version": [
@@ -4336,8 +4336,8 @@
     20201026,
     339
    ],
-   "commit": "bc04527ce11d15117130b3f2932b4ad9176c8062",
-   "sha256": "09kpk1k5sn5jc6xpsp2imljsi0cbcqxhblsff1bzcksxnmnm3jdk"
+   "commit": "43ca538ecece4e14bb9bcd887854aeb14b3d45f4",
+   "sha256": "05l6wbhyh2jy5cqmy0b3bg5klafcc1fcfp5944r9wdah0lpg169k"
   },
   "stable": {
    "version": [
@@ -4360,8 +4360,8 @@
     20210731,
     609
    ],
-   "commit": "d9d3f49fc8c5c650527ff5a0c6e2baa3f62a4332",
-   "sha256": "0lly3djprmxr6chifr3apsjqkvv39yx8g6572c2hf03242s0663z"
+   "commit": "e0d11744d9b2bca780322b1b282fb5ffb18cfd75",
+   "sha256": "1va7fhh4ppb9aily009m6nf43z5l8fdwinsqy46qj81w5apmbpg5"
   },
   "stable": {
    "version": [
@@ -4661,8 +4661,8 @@
     "keytar",
     "s"
    ],
-   "commit": "a5240ecbf07a503ce13a648a02bf53da6aeaffd7",
-   "sha256": "0f3mgvvfainfmg60rp5bg24mgjx8jjwvvn6mdqf9q6ypbc1bcdxk"
+   "commit": "5c6f0952f28ce722f4a75139f3dc1afc99e12396",
+   "sha256": "0v83s1gfyh1zbaaqgj2q9vg193k705kr18mszp6p8rdyffdw5fqi"
   },
   "stable": {
    "version": [
@@ -4767,14 +4767,15 @@
   "repo": "emacscollective/auto-compile",
   "unstable": {
    "version": [
-    20220407,
-    1522
+    20220422,
+    1600
    ],
    "deps": [
+    "compat",
     "packed"
    ],
-   "commit": "597969e4aa0ef18751d6a51cb59dd06d41317445",
-   "sha256": "109hmij1y4l4l7j3fyysnjwkxwvqwp5g84jq8jdikrdif4kylxwj"
+   "commit": "16de66c381dab3c1fb7bc248e0f81ef68966bd7d",
+   "sha256": "0ls5n124rl8s3dyj0kr7n1sv3dkn9bw7k61s2f2ads43gp3744qp"
   },
   "stable": {
    "version": [
@@ -4804,8 +4805,8 @@
     "cl-lib",
     "popup"
    ],
-   "commit": "d515059ea5316c81223f6d969e45b16b47365b5c",
-   "sha256": "07xp981b1j9igcai930pqfiz16idp9898bpdl623d9175i5dnrjl"
+   "commit": "d546b18c3e83e38686d9b7316c6c705597e1a8b3",
+   "sha256": "1fwg2zn7digz22vf22h4kim3wkz2i2wvs42ak12lxg8aa3w6wn94"
   },
   "stable": {
    "version": [
@@ -5141,14 +5142,14 @@
   "repo": "elp-revive/auto-highlight-symbol",
   "unstable": {
    "version": [
-    20220223,
-    1622
+    20220505,
+    505
    ],
    "deps": [
     "ht"
    ],
-   "commit": "cb52226184bbaf37231c1be2d65466d20949b79a",
-   "sha256": "1yy03dn9bgmq8r01fr0pl35hmfjy1blxfbq92m4ha8xwjc46x00i"
+   "commit": "e31a2d2bb97ffcbeb493f3501311b30c3f10952f",
+   "sha256": "0md8dlx1g5lxb4f5yxhm617kj49zysya9y6awjrvpj30crp78g5z"
   },
   "stable": {
    "version": [
@@ -5297,8 +5298,8 @@
     20210805,
     1344
    ],
-   "commit": "84812796da212fd31ac534336d6d2a7a99a0ee43",
-   "sha256": "03kihmfvihirm5rp9zirbxsxj3xw0rsbc37fg4lkbipiklrw5l8n"
+   "commit": "85b02fa6ce76ab872c025a82c2f14614af3d89e1",
+   "sha256": "1rnigp11xlxhzrfwqna0dqrd0a655gs0qf5m6bkzq41ssdvvdis8"
   },
   "stable": {
    "version": [
@@ -5365,14 +5366,14 @@
   "repo": "ncaq/auto-sudoedit",
   "unstable": {
    "version": [
-    20220209,
-    554
+    20220421,
+    1147
    ],
    "deps": [
     "f"
    ],
-   "commit": "df455f9723fbaab8ab550c7e7df79dc6b2d159c6",
-   "sha256": "14n77h7w69w0i845dbbq39nxnh1xw28kacp0cgf666r62vgdcvvj"
+   "commit": "39cb574a4b5ec74ad62857320bf5fec58abe876f",
+   "sha256": "1h9wh1gd7i0j3lg08l25p1n9pr24x9cyc3j1all4j77phl38sxhh"
   },
   "stable": {
    "version": [
@@ -5465,15 +5466,15 @@
   "repo": "Fuco1/autobookmarks",
   "unstable": {
    "version": [
-    20190919,
-    841
+    20220509,
+    1712
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "224b24950d3ae57cd16d7417c07fda337fe0ea09",
-   "sha256": "0cfx447185shbiadhbar72bgqwzmbia82f8a2py215hgw9wrgqr9"
+   "commit": "8acd6f182181e23257e01c1b5cf90b872507a74d",
+   "sha256": "1q4r3l40lqdykhv4w675g6dz3mpp36abiilslhkyx2i7rxpa88z8"
   }
  },
  {
@@ -5505,8 +5506,8 @@
     20220215,
     1204
    ],
-   "commit": "00b87a82c4561b017052974eecd93c79b6790841",
-   "sha256": "1cnnw2cwhsrlp2nanvcgdpd90vpmzwxnr9sprwfgzldgk9651r58"
+   "commit": "c439cbe029f7ffeca6de0ea72258069c41350509",
+   "sha256": "1r7qan2v3kaykacnf98s2zcfb5ryk4jqpw7acrfvajgvdn3w03sh"
   }
  },
  {
@@ -5710,8 +5711,8 @@
     "avy",
     "embark"
    ],
-   "commit": "ab778510d5db9935a2d436b13d98c47b824172ee",
-   "sha256": "1w2jiv8wffm4lf22bkc4znbk20jarnpwl5483jd3bfg712ykqcsq"
+   "commit": "81c7f751be1de33dee9f7523fd3429ee3fe9a0d1",
+   "sha256": "11yvhhq251qmbnljjcfxnc53dqa63jm6ximfd0618hcwcgxlkkdc"
   },
   "stable": {
    "version": [
@@ -5921,11 +5922,11 @@
   "url": "https://bitbucket.org/pdo/axiom-environment",
   "unstable": {
    "version": [
-    20211120,
-    1646
+    20220512,
+    1931
    ],
-   "commit": "e60de5ed107ffeb530a56d24d04f38988124d12b",
-   "sha256": "0p8kbxfcrx1ib8g17g6h2i2ygy35qq992n3s2xa6ysij7wrfn4hd"
+   "commit": "b52fa715285e7ad182c8e679ebf05b130dd5b5e2",
+   "sha256": "1hb4npfpg1iy9j0p29q1jrjgx0mrn333m45nmsnxw8nlaxzd97x6"
   }
  },
  {
@@ -6043,14 +6044,15 @@
   "repo": "tarsius/backline",
   "unstable": {
    "version": [
-    20220331,
-    2327
+    20220424,
+    2212
    ],
    "deps": [
+    "compat",
     "outline-minor-faces"
    ],
-   "commit": "5610466a2d2d526a8338dd3b2ffabb9031485a42",
-   "sha256": "0ma1dfr6cf108whh6slgmshyk2aag6q8z2xm9psk6xrka7wm8yaj"
+   "commit": "edc5f1e8ca049c06d18d703479c4737f3530602e",
+   "sha256": "19fzjqb1a5g504qwb01j447rf5q6sa0farf9acq3slwv03bbwva6"
   },
   "stable": {
    "version": [
@@ -6275,19 +6277,19 @@
   "repo": "belak/base16-emacs",
   "unstable": {
    "version": [
-    20211225,
-    2032
+    20220510,
+    423
    ],
-   "commit": "ad2fd1137d6ec144f87b26dce15ce5c5d42bde39",
-   "sha256": "009k9j7bi7x8pmp5d12bdzng3ampqwy8l1jf1dxxf9989wv27hrc"
+   "commit": "43f3257aaf53e9c50f5db11b81fd66ec41ab2883",
+   "sha256": "07k73bgjb6ixfgbiwf8zswf6n0kb3bf1ka1pcv88h3a9hhndvgv5"
   },
   "stable": {
    "version": [
     2,
-    2
+    4
    ],
-   "commit": "10180e88d6d9434cec367b6c91222dd2fc3bd8ae",
-   "sha256": "01w89g413s1da6rf94y1xnhw79cjy2bqb01yfjs58cy492cm0vr6"
+   "commit": "7b2bb8d05562fa8d75366e82eef895c03ab7b31c",
+   "sha256": "1jgqq52q2q7sgf46xip0sfpwyi8k43v2l688hx7p0whncjhd7cmr"
   }
  },
  {
@@ -6538,21 +6540,21 @@
   "url": "https://git.savannah.nongnu.org/git/bbdb.git",
   "unstable": {
    "version": [
-    20220328,
-    1456
+    20220416,
+    405
    ],
-   "commit": "a50c89a6f01be757335e64df322837300c4ced04",
-   "sha256": "1ymcrpf97prhxdbv4x8nzyb6yn9b1k69xq51l35vmjdvhhdcfhz2"
+   "commit": "ed7648f723d3fd03476b8a007a76e9058f7f7f47",
+   "sha256": "05a6rh2chyafsw9n3aar4dscvq8wdb9bbl3b12vawilj3b5bv9jy"
   },
   "stable": {
    "version": [
     3,
     2,
     2,
-    1
+    2
    ],
-   "commit": "a50c89a6f01be757335e64df322837300c4ced04",
-   "sha256": "1ymcrpf97prhxdbv4x8nzyb6yn9b1k69xq51l35vmjdvhhdcfhz2"
+   "commit": "ed7648f723d3fd03476b8a007a76e9058f7f7f47",
+   "sha256": "05a6rh2chyafsw9n3aar4dscvq8wdb9bbl3b12vawilj3b5bv9jy"
   }
  },
  {
@@ -6811,11 +6813,11 @@
   "repo": "dholm/benchmark-init-el",
   "unstable": {
    "version": [
-    20150905,
-    938
+    20220414,
+    1612
    ],
-   "commit": "7a0f263282bbc86b01b662636306f22813082647",
-   "sha256": "1kyn1izm5sbqbp9whnhk9dn3yc7zy8bz5san5w3ivi3rpx15fh94"
+   "commit": "02435560415bbadbcf5051fb7042880549170e7e",
+   "sha256": "19375vamhld4xm2qrdmhlp2nczfvalmz9x6ahl23zwkilr8n1nbw"
   },
   "stable": {
    "version": [
@@ -6906,8 +6908,8 @@
     20220116,
     2220
    ],
-   "commit": "db2d945c44e26f32a658e9e743dd4b7a0d84b2fd",
-   "sha256": "0mlga8kk09ir66lqs5xx0bkr51vcc89hxq3ax2vaq1zsvlddl5h2"
+   "commit": "20ac176ccdc18ff8cb4a6b37cf1fe90fa7f88335",
+   "sha256": "0sagnkpaify1z6gc5xmw557j8s49z4yvkk2kfdw7q10cz7hy09gl"
   }
  },
  {
@@ -6936,8 +6938,8 @@
     20210715,
     1004
    ],
-   "commit": "dbfa68942862f12f1034d08adaccd94fdd81921e",
-   "sha256": "10g24wxghl15z1dwbvfc9nv9w060zgnm66l7xmcif0333ks1q5il"
+   "commit": "f04dad824b9879f7382f36780a0151e4ef544815",
+   "sha256": "1a3s6za2dlavknpmcbkbrdf4a75a1a0qgni3igq1657xfxk658gw"
   },
   "stable": {
    "version": [
@@ -7131,8 +7133,8 @@
     "a",
     "pdf-tools"
    ],
-   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
-   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
+   "commit": "2f38f3583295e05c9ea491b7d1f6b4791169ba86",
+   "sha256": "0jyy8nl4r70l0dwc55lg75k7chcwb9zprl185x0122fjqgmnq1ri"
   }
  },
  {
@@ -7191,8 +7193,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "c089a1cc87d91611366b9430c2890c628b3342c4",
-   "sha256": "1vlpq96w4bvbjz4pa3f2l8vs0jp7gb7k7jlhqjbdpm5qv09q513k"
+   "commit": "ce8c17690ddad73d01531084b282f221f8eb6669",
+   "sha256": "15b37xa3f9npbqmr9ml9km61v2l04csgnf61kfr5849zj423643s"
   },
   "stable": {
    "version": [
@@ -7234,11 +7236,14 @@
   "repo": "tarsius/bicycle",
   "unstable": {
    "version": [
-    20220402,
-    1036
+    20220422,
+    1600
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "624de5d111adb277ff3fb0d044bf685e24642de5",
-   "sha256": "02m6n4cscxzzdbifgmlyc1xqn2497dr3m6kklck4p31vimy3qyyj"
+   "commit": "e6d8ca47f77e0579fcb5a1dcb88218087102c355",
+   "sha256": "0hqrq3gcmsy20vsld6qkd8wsyqzy1kxmxl9hn0nxmc6cixz55qgj"
   },
   "stable": {
    "version": [
@@ -7391,14 +7396,14 @@
   "repo": "rnkn/binder",
   "unstable": {
    "version": [
-    20211030,
-    511
+    20220429,
+    2055
    ],
    "deps": [
     "seq"
    ],
-   "commit": "8cefdf0959f0da33250044cf4890b69cfdcf0c5b",
-   "sha256": "0q4cz07s8qzkvnym7ab2l111dk88nfigpf0r3x0jcxx2qivs52s4"
+   "commit": "127463a7cb8cc2fa9904d3feb3fca95d2244ddcc",
+   "sha256": "00nizafvpbhzkc5vnwdgrg5f208gwap79av2ayj8zp76fi718yfk"
   },
   "stable": {
    "version": [
@@ -7492,16 +7497,16 @@
   "repo": "canatella/bitbake-el",
   "unstable": {
    "version": [
-    20190107,
-    1155
+    20220509,
+    1236
    ],
    "deps": [
     "dash",
     "mmm-mode",
     "s"
    ],
-   "commit": "ba58bd051457ba0abd2fbc955ea0e75e78ff2c64",
-   "sha256": "09ncblz9x2qz6lqfywvj3b7qagrq34qb0wg17y03p1r3416g1zwr"
+   "commit": "434b088ab8715731d62978264cb934e34c75c4b3",
+   "sha256": "15p265zigxki80h3gfq61cmssqqwcnp0990zl8xmj8p377523l6m"
   }
  },
  {
@@ -7605,17 +7610,17 @@
  },
  {
   "ename": "blackout",
-  "commit": "9128d87569dc74b90f57dd65edead7199f5c7911",
-  "sha256": "06gxgald2vchfwhbiaap7rfjk7kirfv4yjc4r98g998v96bilw64",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "064k2xwk45sl0dfa2ck39lwlibh71yd4v03ba2zkbk9bva90arqs",
   "fetcher": "github",
-  "repo": "raxod502/blackout",
+  "repo": "radian-software/blackout",
   "unstable": {
    "version": [
-    20200404,
-    1550
+    20220509,
+    2350
    ],
-   "commit": "c221fa2c8a204b4aff2e09c606f59be58b960b97",
-   "sha256": "1zzrmlxifplpskm3a7hbm4x6mpikr1nhgds10qaxqv0gfq312p1c"
+   "commit": "7707211370f03f03a2f74df15f42ac24a1e99300",
+   "sha256": "1lk7zvndd41aq67f9agjkzyp4xp1q9m9srjd30nfgsgi2qmbj45r"
   },
   "stable": {
    "version": [
@@ -8031,8 +8036,8 @@
   "repo": "boogie-org/boogie-friends",
   "unstable": {
    "version": [
-    20210703,
-    238
+    20220419,
+    2240
    ],
    "deps": [
     "cl-lib",
@@ -8041,23 +8046,23 @@
     "flycheck",
     "yasnippet"
    ],
-   "commit": "1e3b6a8aee9fa7c113468838c5b647080caf3703",
-   "sha256": "1h3j7a1y5p90dd1vj4kyngj5xvbr2z4dkzkq74s85bqf61j66yw2"
+   "commit": "d685a52259f50c2db51205ef9cc93f713ae8d8fa",
+   "sha256": "1879vjan19kdvfkck1xk30jllwbiqpyc4m3v1v6kmac7gxm10min"
   }
  },
  {
   "ename": "bookmark-in-project",
-  "commit": "9d3b0aba3f67d2ecf3904ec1c3263375ba38a665",
-  "sha256": "131x0wmv4yv0h220zcyszd19r7j8xmih4848x9qsldqwv3g3n82z",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-bookmark-in-project",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0liii3f5276z76hkhd2g2xkkhx8v8dl6sv5f9w9lac66hz5a7qqv",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-bookmark-in-project.git",
   "unstable": {
    "version": [
-    20220401,
-    348
+    20220507,
+    1118
    ],
-   "commit": "e95aa25b933e705e87b7a9328e89c8cf0898c201",
-   "sha256": "14vradzbh7rd11427q3kzbwsq3kmy6m8by2bd74bwpkyaw5x44ci"
+   "commit": "0e08e4bd4fedc87b2371313d55691356bee0ad7d",
+   "sha256": "1a0wx4hrs954ff7chpadn95dajcmpgrk5j7yv6ppfh1ml4kx11mn"
   }
  },
  {
@@ -8115,16 +8120,16 @@
   "repo": "jyp/boon",
   "unstable": {
    "version": [
-    20211217,
-    737
+    20220502,
+    1850
    ],
    "deps": [
     "dash",
     "expand-region",
     "multiple-cursors"
    ],
-   "commit": "654fb8051a5c00dd524710fbf917b00f6afc8844",
-   "sha256": "0rhrq2nj1cqcqbnsf0npn5372yi85czi7r1h9lqjbyfgb2ifxvdn"
+   "commit": "db7b6083d390e3febf82f9af5782e1a36d30093c",
+   "sha256": "1i6wff18rlhdncm8qaz5zmrl4g5bl4h13yw9y635nlzzailmjjvj"
   },
   "stable": {
    "version": [
@@ -8148,15 +8153,15 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20220406,
-    1207
+    20220511,
+    1643
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "b4c9081c8c697fdc2fa71cb07adc2f77dc3c27dd",
-   "sha256": "1cigyvyxpg3740dsjsx9xx6lg7rwxg0xp3icr0cvcxk5nnd7lcfm"
+   "commit": "55271c12e05c14e30102bd64bd609af29d58846e",
+   "sha256": "104kf3km7450jj7brgjhmw5idrvk3s1qjxclzpv7xypyvi53ab8l"
   },
   "stable": {
    "version": [
@@ -8497,11 +8502,11 @@
   "url": "https://git.madhouse-project.org/algernon/brutalist-theme.el.git",
   "unstable": {
    "version": [
-    20181023,
-    1222
+    20220507,
+    909
    ],
-   "commit": "72adc339c433a98e944cbe76da4c45b9ba4400f5",
-   "sha256": "068a0z66bidzllz8jhkcfqjksjyffhzqkvddpazcbcnj9fq6ircy"
+   "commit": "c58131f3a8cb71cc0f8efa47766f29578c45bc59",
+   "sha256": "09kak8szdfbscd0byj1mdgb94ajrrr4kcqf5x3c2bwlgdazr15gx"
   }
  },
  {
@@ -8620,8 +8625,8 @@
     20191119,
     1950
    ],
-   "commit": "1ef6f210f38c0686bc5b445b9704190f168f30ea",
-   "sha256": "054gbfdaqfj5psb3f06ba46x38gd9xak28h1la5b1szdzj61f23i"
+   "commit": "b8c0c2170c7113b515477b1bb39c58d22aad67e1",
+   "sha256": "1yplxc6zff266lrncvhlm64b420b1g4p4jbni3gh7ngl6443xal6"
   }
  },
  {
@@ -8647,11 +8652,11 @@
   "repo": "astoff/buffer-env",
   "unstable": {
    "version": [
-    20220325,
-    1659
+    20220506,
+    1506
    ],
-   "commit": "ba1c9d24d3f1ba58445cbf1f762ba6859b66f6bf",
-   "sha256": "0davkvlyqj78i6njhkjyrv4l7qnscysimssbwjsnl4lbk7c1z85k"
+   "commit": "7b7e5c2a79ad3b31b465387df0ccc18a5809f9d1",
+   "sha256": "1r4lbz5hadsxw9dkhi10xr54zmsgknmklfmb78yxnvqhwl30kk20"
   }
  },
  {
@@ -8716,11 +8721,11 @@
   "repo": "lukhas/buffer-move",
   "unstable": {
    "version": [
-    20160615,
-    1803
+    20220512,
+    755
    ],
-   "commit": "cb517ecf8409b5fdcda472d7190c6021f0c49751",
-   "sha256": "0gxy58v8nyv6pmzfn8552m8a14f5lzcbkndp5xpzq4g9qvmifmj6"
+   "commit": "e7800b3ab1bd76ee475ef35507ec51ecd5a3f065",
+   "sha256": "1g7g71fzxrak9qkps6f7j52y83dic9ccq9ykc8babla2y79jr7x1"
   },
   "stable": {
    "version": [
@@ -8849,8 +8854,8 @@
     20200924,
     345
    ],
-   "commit": "10cdf0ddee1af7b5f34b625b395523595390c96c",
-   "sha256": "0qn2hrh39d9jj7wrz1m3n2rgzmn37jv0x7j9q68fly8yjm77fh93"
+   "commit": "b918ba023212b0e223a7ca7df3a2ec12a7c54206",
+   "sha256": "0xj9k2i7dmnqg99k1kraq58fc1kzgvriy08g46zhka3dz2l2m5br"
   },
   "stable": {
    "version": [
@@ -9751,8 +9756,8 @@
   "repo": "chenyanming/calibredb.el",
   "unstable": {
    "version": [
-    20220305,
-    1621
+    20220511,
+    1104
    ],
    "deps": [
     "dash",
@@ -9762,22 +9767,25 @@
     "s",
     "transient"
    ],
-   "commit": "20337d39e3abe4baa38cc0ed5a6c65272df9af2d",
-   "sha256": "08ix2iq17xsl9dcnf0xik12ykpji77kb5xs91y23w1plfl1pl0zj"
+   "commit": "232fa1cf3af08200af439d1cbb5a131f38286183",
+   "sha256": "1ncyrrzk0a1wfyr3khvznda7l59g4vg9h3nglzbihnbvfkxqh6cn"
   },
   "stable": {
    "version": [
     2,
-    10,
+    12,
     0
    ],
    "deps": [
     "dash",
+    "esxml",
+    "org",
+    "request",
     "s",
     "transient"
    ],
-   "commit": "933140a3227ee61cfccf3cf0c567b5c9e64f1ded",
-   "sha256": "0s26a2fy1xldd0q57avds7zn0h7lkis2hjh9zmm1qhwn8409hys9"
+   "commit": "1e09bd7cdf7e3274a0f43a66bba3121ea6b42f4a",
+   "sha256": "1l30s3wv21mpybbxni5fziq2awai9k60i87s6fid56hg262r7jp0"
   }
  },
  {
@@ -9788,19 +9796,16 @@
   "repo": "beacoder/call-graph",
   "unstable": {
    "version": [
-    20220214,
-    1251
+    20220506,
+    1214
    ],
    "deps": [
-    "anaconda-mode",
-    "beacon",
-    "cl-lib",
     "hierarchy",
     "ivy",
     "tree-mode"
    ],
-   "commit": "aa5ffb15cec39920012aa526e932d48e5c74bbb0",
-   "sha256": "12rsylxr9ls6br38vwq9h6fzqsqjxgqwyv76wf6qaazd4rp76m0y"
+   "commit": "42023e5d1781c75f425e8c72b63b28e53dae6e9c",
+   "sha256": "029ssw7k9prmh7rv4drjmwzcykrihpqkmkylz0fla40l7ycmdr5c"
   },
   "stable": {
    "version": [
@@ -9872,11 +9877,11 @@
   "repo": "ocaml/caml-mode",
   "unstable": {
    "version": [
-    20211226,
-    27
+    20220503,
+    1742
    ],
-   "commit": "204bfde9ad21cb94c273db8b0c12d31a4eb425e5",
-   "sha256": "1pn6whyp66bf2a4zj7g3g1ljlzfn0ia1xwb8lclvmjv0ind12zsz"
+   "commit": "f2f170f46b758341d96385986e8a93b9b4d248f1",
+   "sha256": "0w9ypvvkm8qx88rldkhysp12inc8izn1qj9rpcchk8xzs0s7sqxp"
   },
   "stable": {
    "version": [
@@ -9929,11 +9934,11 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20220413,
-    2256
+    20220506,
+    1814
    ],
-   "commit": "aadf69d01512bf980245ffe073df5710ccdb6385",
-   "sha256": "0hjj5jw7sa8nqpxbkyvn57f6k70v6f8lc7a2algg9qq8swk0ic6r"
+   "commit": "e72edf2d6357beb64798ef1894cc807190f80901",
+   "sha256": "0l6slrbh7sr3r3zgxh4r1r0g2131mvpmy2vd1hrkjf9q9c5hpqq0"
   },
   "stable": {
    "version": [
@@ -9955,8 +9960,8 @@
     20210707,
     2310
    ],
-   "commit": "281aacc18003ae103b8a04ea83d7b6f814c97b8b",
-   "sha256": "0v245k0fv0dsg706v34rg91h36avfvl3yfddll1gp9h87df04hkp"
+   "commit": "02dc92c900babbd232fbcdd14f7ccf44d234ee77",
+   "sha256": "0gar2j9vis9b2wj1fhqahcrmaw867z3pmsn5d70bb8mdr3xq3dmm"
   },
   "stable": {
    "version": [
@@ -10115,8 +10120,8 @@
   "repo": "cask/cask",
   "unstable": {
    "version": [
-    20220316,
-    1557
+    20220504,
+    1421
    ],
    "deps": [
     "ansi",
@@ -10127,8 +10132,8 @@
     "s",
     "shut-up"
    ],
-   "commit": "50df921ddb48682da4ca5437a8ed20618ae9717e",
-   "sha256": "081kvqii4siipkvlfiz4adzpwrqsq47lxxp13yp7mrj9g22p0bqp"
+   "commit": "2eb520e64c2e1047319761df0bcc6fa5149f8cd6",
+   "sha256": "1fg8c8wksban6kblrdsp008ga8srhyp7dbhzbk46dgmprvwmxbwn"
   },
   "stable": {
    "version": [
@@ -10340,8 +10345,8 @@
     20210501,
     820
    ],
-   "commit": "5c209e0306364118abf9d9440d7b8b9613183072",
-   "sha256": "1p7mwlnhsblr9ilns4vbadlbr1bz7w81das54znw6cnv4yjjzdan"
+   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
+   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
   }
  },
  {
@@ -10359,8 +10364,8 @@
     "dash",
     "lsp-mode"
    ],
-   "commit": "675a5704c14a27931e835a431beea3631d92e8e6",
-   "sha256": "0l4bhyr9d8ljz1f0cfg1s2cjcmh6fiwbk5mdlvc7rrwz5hxc21is"
+   "commit": "ae74a39303457a5e6976dd1c6816cde97d357a0d",
+   "sha256": "0y1fyiq3m3xsbc82cq3wdmsi549risvpm5xc2bsid6vmmfnafl1y"
   }
  },
  {
@@ -10389,8 +10394,8 @@
     20200904,
     1431
    ],
-   "commit": "5c209e0306364118abf9d9440d7b8b9613183072",
-   "sha256": "1p7mwlnhsblr9ilns4vbadlbr1bz7w81das54znw6cnv4yjjzdan"
+   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
+   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
   }
  },
  {
@@ -10659,8 +10664,8 @@
     20171115,
     2108
    ],
-   "commit": "8a11a6ae40396bac028437b5bb472ac722c54dda",
-   "sha256": "0pjms66ygx7icwxr3iq1s9m06vr4g6xvrd6m90jjxra78ywbc8ys"
+   "commit": "0d98e5a6f0c08e2b1d2c8e96c3dfc7e619210f72",
+   "sha256": "1i5icnrvfi83kxf4n6a83aksllnaddb653kcjnmg3n70q5mffavf"
   },
   "stable": {
    "version": [
@@ -10815,8 +10820,8 @@
     20220318,
     1007
    ],
-   "commit": "595be50f2ecdf603b87f9aeed7b8089f4317ad29",
-   "sha256": "0z4qzy63awxa7q7jflgv3asiixnl9fv162999cp5nfmnyx1jkizn"
+   "commit": "0a526709f55f8074f8846f8e7b9090431f1d6a47",
+   "sha256": "118pc03zpv9c7haxvmf4xkd6lby7xrxsal6pwq5lw5sw840g1nhr"
   },
   "stable": {
    "version": [
@@ -11330,16 +11335,16 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220401,
-    1453
+    20220415,
+    1213
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "059579e841148362d5081a43dcb27c8a3c7751ea",
-   "sha256": "1jrq5rjw8q88vcd82f2z5qfgzj2agb4ywsyflaj04k3fwxqgnwnf"
+   "commit": "f7b2defceed8bafb87da704ce3e7774f53abf1c4",
+   "sha256": "176imva32l766llrj4171r7bb3z5isvprrr5cl28cm41vqg4szfx"
   },
   "stable": {
    "version": [
@@ -11383,14 +11388,14 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220401,
-    1453
+    20220414,
+    726
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "059579e841148362d5081a43dcb27c8a3c7751ea",
-   "sha256": "1jrq5rjw8q88vcd82f2z5qfgzj2agb4ywsyflaj04k3fwxqgnwnf"
+   "commit": "f7b2defceed8bafb87da704ce3e7774f53abf1c4",
+   "sha256": "176imva32l766llrj4171r7bb3z5isvprrr5cl28cm41vqg4szfx"
   },
   "stable": {
    "version": [
@@ -11420,8 +11425,8 @@
     "chronometrist",
     "spark"
    ],
-   "commit": "059579e841148362d5081a43dcb27c8a3c7751ea",
-   "sha256": "1jrq5rjw8q88vcd82f2z5qfgzj2agb4ywsyflaj04k3fwxqgnwnf"
+   "commit": "f7b2defceed8bafb87da704ce3e7774f53abf1c4",
+   "sha256": "176imva32l766llrj4171r7bb3z5isvprrr5cl28cm41vqg4szfx"
   },
   "stable": {
    "version": [
@@ -11493,8 +11498,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20220405,
-    1216
+    20220507,
+    1357
    ],
    "deps": [
     "clojure-mode",
@@ -11504,13 +11509,13 @@
     "sesman",
     "spinner"
    ],
-   "commit": "db972bbdfbe777272529ec848c9f1991ae94dbda",
-   "sha256": "0hvgczbyki9yvip00gx75laxshjbx0lixf3ibc4rj1mfplfvlcxk"
+   "commit": "69d374818bd0af1489ee8828b258c689ccc24a66",
+   "sha256": "0r585myfkdsqrmd7fydbfdakwsfh4wq4bkjgngyag8mkam88ms16"
   },
   "stable": {
    "version": [
     1,
-    3,
+    4,
     0
    ],
    "deps": [
@@ -11521,8 +11526,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "02ca53021682f426323dc7bb4e6b28e6c8f5eb30",
-   "sha256": "0mxlkxpzn7rzbzpzcw2z9x2ab2zvhrwr8h21kmfn3li3dha73gf1"
+   "commit": "b2cee7fc301735b403920583cc2c23dcf70990a3",
+   "sha256": "08gj8nm6qjjgn75aijhkbdhpwfd1qx6fy2c77m8ca99pbqvabmcq"
   }
  },
  {
@@ -11725,25 +11730,25 @@
   "repo": "emacs-circe/circe",
   "unstable": {
    "version": [
-    20220320,
-    1811
+    20220421,
+    1956
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "e4c5bb69e6f1338239bdbf66baf57bb610828b2e",
-   "sha256": "05ddgcgqribdwbph7qkz5r24h1xsbrnhlg4yqgnyyw5kfxayapzj"
+   "commit": "710f057fedae6e9b820cce9336fef24b7d057e4c",
+   "sha256": "0lrxd4hanaxj85nafsc0wss677slmyaks3qb7a95mj7vic3ib937"
   },
   "stable": {
    "version": [
     2,
-    11
+    12
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "6ccd4b494cbae9d28091217654f052eaea321007",
-   "sha256": "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"
+   "commit": "710f057fedae6e9b820cce9336fef24b7d057e4c",
+   "sha256": "0lrxd4hanaxj85nafsc0wss677slmyaks3qb7a95mj7vic3ib937"
   }
  },
  {
@@ -11803,17 +11808,16 @@
   "repo": "bdarcus/citar",
   "unstable": {
    "version": [
-    20220411,
-    146
+    20220509,
+    2336
    ],
    "deps": [
     "citeproc",
     "org",
-    "parsebib",
-    "s"
+    "parsebib"
    ],
-   "commit": "c94799e9f33e0645b5ac8696e19bdc9328d7cb7e",
-   "sha256": "1p8jdm08r4gyc7p00i1dp2k52ddhqwxyy7f1wzkpx6rxjbqlah95"
+   "commit": "9a6fc6da11ad2b475244cc4cbd51c77615e9aad3",
+   "sha256": "0q1hl8xsqb64lx10kcc4az3azaa8j3zly3pkf3lixh0qrc74bil2"
   },
   "stable": {
    "version": [
@@ -11916,11 +11920,11 @@
   "repo": "universal-ctags/citre",
   "unstable": {
    "version": [
-    20220406,
-    315
+    20220427,
+    1203
    ],
-   "commit": "0ae60846b0b58f09ea463f603bcc3f414a8fb35d",
-   "sha256": "0wqvsdbasbz0hbw90883683mh5h1h8rcy7qw6qbabdiyigsv2867"
+   "commit": "87e2cbf3b2ae6d59ec919a2dcb38e56ccfa5ec14",
+   "sha256": "1wycbcwmls7lf1vn83pwfrb1bhxf8d5p7w25b1c9lrzq7l769i2k"
   },
   "stable": {
    "version": [
@@ -12140,6 +12144,30 @@
   }
  },
  {
+  "ename": "clingo-mode",
+  "commit": "bbc61401703e33521a15cc1711d18c969c87afca",
+  "sha256": "1c347c6wvhdxr1xsc7vrjr8pg711hya9vxkgy1v37ii7asp4p0wb",
+  "fetcher": "github",
+  "repo": "llaisdy/clingo-mode",
+  "unstable": {
+   "version": [
+    20220502,
+    2020
+   ],
+   "commit": "cf56ce6b5c50506f6cea27e1dde0441dd8d15ee9",
+   "sha256": "1v3q3zhx7vf81dkyr2z8ljw8as4c8zcycinhx915aqjj85d923h7"
+  },
+  "stable": {
+   "version": [
+    0,
+    4,
+    0
+   ],
+   "commit": "9773d4e22acd9ddf6f159ee5634212f4ab4575ea",
+   "sha256": "1pirscsakm6gnrqj1rw21fwkb8ni61h3bjdzpfldlai054g7knyx"
+  }
+ },
+ {
   "ename": "clipetty",
   "commit": "3f6895244ad88e79d9e5d98dd0ba28be96c79595",
   "sha256": "0471hrl5nw4v83fglgnsa5yh810idbsliwvrm2b5i6zwgn3mndci",
@@ -12549,11 +12577,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20220307,
-    1903
+    20220418,
+    2015
    ],
-   "commit": "c339353f9e649b3af084f1bb6ce759e614a2f243",
-   "sha256": "062vkzp5y8f8afz0rbgagqrsmmfnwmhkg7n9ainqp7m2h52qqzbb"
+   "commit": "b6f41d74904daa9312648f3a7bea7a72fd8e140b",
+   "sha256": "0s9750x739biwbcc8m09spkvkwlf1nlrdz869imjpkagk0pci7xm"
   },
   "stable": {
    "version": [
@@ -12579,8 +12607,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "c339353f9e649b3af084f1bb6ce759e614a2f243",
-   "sha256": "062vkzp5y8f8afz0rbgagqrsmmfnwmhkg7n9ainqp7m2h52qqzbb"
+   "commit": "b6f41d74904daa9312648f3a7bea7a72fd8e140b",
+   "sha256": "0s9750x739biwbcc8m09spkvkwlf1nlrdz869imjpkagk0pci7xm"
   },
   "stable": {
    "version": [
@@ -12665,16 +12693,17 @@
   "repo": "clojure-emacs/clomacs",
   "unstable": {
    "version": [
-    20201224,
-    1358
+    20220415,
+    1035
    ],
    "deps": [
     "cider",
+    "dash",
     "s",
     "simple-httpd"
    ],
-   "commit": "ffcb122194507593815d67b26f5d2d8ffcc52bf8",
-   "sha256": "1dqcc5szghqxdhy8r0gq6s7bbv4zq0grsjjfh8n6wmsyd1svrd3k"
+   "commit": "9cd7c9fd86bc7bc627a31275d1ef131378b90a49",
+   "sha256": "0aj3739xxv4plyjslvvm7kxa520hn1v0p6f6qpihpx4f24dyh6hm"
   },
   "stable": {
    "version": [
@@ -12699,14 +12728,15 @@
   "repo": "emacscollective/closql",
   "unstable": {
    "version": [
-    20220402,
-    1037
+    20220422,
+    1601
    ],
    "deps": [
+    "compat",
     "emacsql-sqlite"
    ],
-   "commit": "522cc52a4df6b55099888e89a18f48f7c9275c3d",
-   "sha256": "16kk5x8p0jh9lvn043i5b4pnndrjxipnzz1crbr552qkkh7wy0fb"
+   "commit": "87d2edae8bc3d390bcfc5e909e9c13ff9fce994a",
+   "sha256": "1grxpxrjzziqad840cw5ivp4xym0p3y0p3jwrf1j4dkbp670c75d"
   },
   "stable": {
    "version": [
@@ -12882,8 +12912,8 @@
     20220322,
     1258
    ],
-   "commit": "56dafdf19906bc19c5f90c0ea8ede02c3b44958b",
-   "sha256": "0x8q7g2snbisf44mryb3a8j9122h3aqqw2rhja41m8h5gbh0adxg"
+   "commit": "a1c61a7e1a9f7a019809010e097f1e4c42c50022",
+   "sha256": "1qabbyqn450lhb5f1kaxqwv37fc9ahj89rka5c374kgzscjgjdna"
   },
   "stable": {
    "version": [
@@ -13077,8 +13107,8 @@
   "repo": "wandersoncferreira/code-review",
   "unstable": {
    "version": [
-    20220328,
-    108
+    20220503,
+    1344
    ],
    "deps": [
     "a",
@@ -13091,14 +13121,14 @@
     "markdown-mode",
     "uuidgen"
    ],
-   "commit": "85ab2080e489b4ca01c787f5a316ade02a4ee877",
-   "sha256": "0j0ijnzfd7b3a2jqi94zlky8iqv9g7vj9fx5fd4g2k53ilgapmdl"
+   "commit": "d38fbe59304ed31c759ce733cda16f69a8ef2d8c",
+   "sha256": "0ph2kp1yy08g0wr3wm55zisz04lwsrmlgxgsfcnznw0qj5c2d5cg"
   },
   "stable": {
    "version": [
     0,
     0,
-    6
+    7
    ],
    "deps": [
     "a",
@@ -13111,8 +13141,8 @@
     "markdown-mode",
     "uuidgen"
    ],
-   "commit": "136c0933ba9dc19ce3efedb36a7dbd401e2e98b2",
-   "sha256": "1jlzh81m8knms0wm91hgxabpxa9v2v29wi6cvjfbk59xi4fmr8xs"
+   "commit": "9cf84cd867d27433e0c8097f0d33cb3ade64f5ca",
+   "sha256": "17n066qs73rqjmjaynhcr5q73azz8584a3vsgbc9sr1flp3sypwy"
   }
  },
  {
@@ -13385,11 +13415,11 @@
   "repo": "emacs-jp/replace-colorthemes",
   "unstable": {
    "version": [
-    20200729,
-    921
+    20220506,
+    858
    ],
-   "commit": "a996eca37f4df726eec95406deb76b538320771a",
-   "sha256": "1fgcd6vdqknqb1s1hwqqspk84a8xnxmrcnlic1j0x558i2yj4l2x"
+   "commit": "74ad69bbca6fcfff3c0960d888c7c9c1f9f3e2e8",
+   "sha256": "13ff4s372wsl5x13vh4vywhi6qcc54gybhp6rxl0r1l4wxidanwn"
   },
   "stable": {
    "version": [
@@ -13544,8 +13574,8 @@
    "deps": [
     "s"
    ],
-   "commit": "3e7e10bfa7124a7d29a79ab1385d2f1f413952ed",
-   "sha256": "1i719q025nb053mn65rj9r2hxln7drk998nq3j2ib1g89vvj12kg"
+   "commit": "fa85a6b9d852d725730a6ad1cc5afeb4ede93ca7",
+   "sha256": "1xmr4gxj3k4vy654270jgs3x8nv72q4hyk7q8zixycnymbqvby5f"
   },
   "stable": {
    "version": [
@@ -13879,11 +13909,11 @@
   "repo": "company-mode/company-mode",
   "unstable": {
    "version": [
-    20220406,
-    2323
+    20220425,
+    1145
    ],
-   "commit": "1005540b1cdf176cbcf893b2fa83d2075cbbe3ca",
-   "sha256": "0fh1ym2axvhw25i4g56znsclapr9mvidq9n33cz4gxp4g2l82z2v"
+   "commit": "d5145006b948f93e673f439a766da01f636d39fc",
+   "sha256": "0ghdk8iif240bg9pv24837y619g1s19dp3akxqjwr89sj2llhyln"
   },
   "stable": {
    "version": [
@@ -14021,8 +14051,8 @@
     "axiom-environment",
     "company"
    ],
-   "commit": "e60de5ed107ffeb530a56d24d04f38988124d12b",
-   "sha256": "0p8kbxfcrx1ib8g17g6h2i2ygy35qq992n3s2xa6ysij7wrfn4hd"
+   "commit": "b52fa715285e7ad182c8e679ebf05b130dd5b5e2",
+   "sha256": "1hb4npfpg1iy9j0p29q1jrjgx0mrn333m45nmsnxw8nlaxzd97x6"
   }
  },
  {
@@ -14337,8 +14367,8 @@
     "emojify",
     "ht"
    ],
-   "commit": "2ea893fcf436b1795ebacbb01f3a1ae93ed88dfc",
-   "sha256": "17xwhipidalj3ai5xl7i1y72qzvyv9d5ab0ql452a99ib8dkxy04"
+   "commit": "6f095b419468b0443e1dcd8537ef4b84092f155c",
+   "sha256": "1ssjzhbngb5v7wzh40zzh1j0pfzv0paqync8jvd0diwaz983rwzx"
   },
   "stable": {
    "version": [
@@ -14441,8 +14471,8 @@
     "ht",
     "s"
    ],
-   "commit": "a3a5803ddc77e092db01b4e46288e406e6568262",
-   "sha256": "1nyw0cd8qjxz3q5iahqr1kg749p9i3vcmwhd5gnv6370knxyd35s"
+   "commit": "e2e8a39976506cbf149f9c62a69c7a438be09579",
+   "sha256": "1lra119f4bbx6rhpm118yml6qnqy7s1lj2w1dnm8vbl68r255zyp"
   },
   "stable": {
    "version": [
@@ -14672,8 +14702,8 @@
     "lean-mode",
     "s"
    ],
-   "commit": "c1c68cc946eb31b6ba8faefdceffce1f77ca52df",
-   "sha256": "0qb5j50qi9b04jrfk6fryllpf0i9s2h4kp93fyk53sjczm52kh7p"
+   "commit": "362bc6fa3efb1874c525ed6b4b6f24f76af22596",
+   "sha256": "1lr4h555fa1kdi3q7hkhsnznv7nh9rgjqjkbj2bqp9zwh06245w3"
   }
  },
  {
@@ -14847,8 +14877,8 @@
     "company",
     "native-complete"
    ],
-   "commit": "5f94022fc9168971c77f8c12f9efd569c45f4850",
-   "sha256": "0lfqvm71lxxga06pjzcdydjpgd3548rql7bsjdvbknkwx2p54w4g"
+   "commit": "01d8a2048e13f29dd3aa06281ac8cb466caddb64",
+   "sha256": "069ch7h1fkm2zvw6nfndyrpxp9s2p7x3d0acswaa7isynygwkcy8"
   }
  },
  {
@@ -14971,8 +15001,8 @@
     "cl-lib",
     "company"
    ],
-   "commit": "f44c5c6a23829e53bcb0712adcad406a8e9498ce",
-   "sha256": "1k3919v7mczwzk50dhrfnx2sbzlcm192c6ks4wzajr5hzvd448qc"
+   "commit": "f34e09783b77d1158ea139b7b3d8034bc52b0b9f",
+   "sha256": "1qi529lg3y5l4wrzfyk0w2fz36mpd432bp39s859z4cq06yybxga"
   },
   "stable": {
    "version": [
@@ -15131,21 +15161,21 @@
  },
  {
   "ename": "company-prescient",
-  "commit": "b92c34e493bbefab1d7747b0855d1ab2f984cb7c",
-  "sha256": "0cp918ihbjqxfgqnifknl5hphmvq5bl42dhp5ylvijsfa8kvbsb9",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "06cxvd7w7bw4gw061k3vsmvx7kvm2kz71nr4kmwya7zamz171gwh",
   "fetcher": "github",
-  "repo": "raxod502/prescient.el",
+  "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20211228,
-    417
+    20220509,
+    2300
    ],
    "deps": [
     "company",
     "prescient"
    ],
-   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
-   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
+   "commit": "c05f8a43c6ff07a8b5a3ba8df7a2ec35677b7484",
+   "sha256": "0752dyl4fhi0jvbm238s5p1sv7z4jlkmkdrxvwn0dlhfr0rhfw1c"
   },
   "stable": {
    "version": [
@@ -15226,8 +15256,8 @@
     "company-quickhelp",
     "popup"
    ],
-   "commit": "c438a75d229d2803299207e9bf8a38fdea30c0c6",
-   "sha256": "1wid4sy5qizxng1hfmh821x3dj9fji2i87vzfww491bd99nq2d00"
+   "commit": "75a2f5c7669833646fc653cabd531737b52fb469",
+   "sha256": "0zkjicfa5dlzq2834p70ks3mr48086lf0dlr0r5df7jrw8wrw8c9"
   },
   "stable": {
    "version": [
@@ -15562,15 +15592,15 @@
   "repo": "rafalcieslak/emacs-company-terraform",
   "unstable": {
    "version": [
-    20190607,
-    1037
+    20220509,
+    1759
    ],
    "deps": [
     "company",
     "terraform-mode"
    ],
-   "commit": "2d11a21fee2f298e48968e479ddcaeda4d736e12",
-   "sha256": "0hxilq7289djrn6kgw7n926zpz0pr7iyd1wm6cy8yfhxf546a4px"
+   "commit": "8d5a16d1bbeeb18ca49a8fd57b5d8cd30c8b8dc7",
+   "sha256": "0s3n2hi7x21pza8nfayy86w4m30l95x0lcbpsknl50v15z5sch0i"
   },
   "stable": {
    "version": [
@@ -16086,19 +16116,52 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20220412,
-    1243
+    20220508,
+    928
    ],
-   "commit": "af452dc5d429e15fb1228dd6967d592f1c483640",
-   "sha256": "0b87i9v4mdd9ay1kngsylp725vkw9wvi3r1mqd6gb49ygs9bz6f6"
+   "deps": [
+    "compat"
+   ],
+   "commit": "1dfdf55f3d941f08089e5d0e611cd9daa8a44b19",
+   "sha256": "1hsxavf55xmy91xmv8yh6fb4aphv6sv947hs35ghvfm5s74sk47v"
   },
   "stable": {
    "version": [
     0,
-    16
+    17
+   ],
+   "commit": "f517b70dd8a3be0b8c883633f2a7721448b40f0f",
+   "sha256": "08l3h7b5j1q9nwcq660667b245qspl20ikhfdvd9k3g3n2p6p5kz"
+  }
+ },
+ {
+  "ename": "consult-ag",
+  "commit": "9fa648ca3822e65ee14fd8a8b294a80e5e7c3110",
+  "sha256": "138n5jlm9pw63s74vvvp7vbkgpgiv07dhlvi3yx26zdlm4xks0vp",
+  "fetcher": "github",
+  "repo": "yadex205/consult-ag",
+  "unstable": {
+   "version": [
+    20220419,
+    1721
+   ],
+   "deps": [
+    "consult"
+   ],
+   "commit": "2460ae6829e86c9f1186a852304d919526838cb8",
+   "sha256": "0f5m66xgmm306ifh794q65wm4wwyayfgvm9fn1kip7aj86n0snfh"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    2
    ],
-   "commit": "800824601b610016066991d6e2dde198d4b0ad8f",
-   "sha256": "1mravx5aapy8bcgk6nvi1jvb5jgl7jsn7pd7br7v7fqadcp225m6"
+   "deps": [
+    "consult"
+   ],
+   "commit": "2460ae6829e86c9f1186a852304d919526838cb8",
+   "sha256": "0f5m66xgmm306ifh794q65wm4wwyayfgvm9fn1kip7aj86n0snfh"
   }
  },
  {
@@ -16128,15 +16191,15 @@
   "repo": "karthink/consult-dir",
   "unstable": {
    "version": [
-    20211007,
-    2352
+    20220505,
+    1037
    ],
    "deps": [
     "consult",
     "project"
    ],
-   "commit": "08f543ae6acbfc1ffe579ba1d00a5414012d5c0b",
-   "sha256": "1cff4ssrn1mw2s5n090pdmwdirnfih8idg5f0ll2bi2djc4hq5kn"
+   "commit": "d397ca6ea67af4d3c59a330a778affd825f0efd9",
+   "sha256": "07gq5ja8qzzar0qyl1ii6g3sy78mmzh3wnq868s2dhh18vxl5335"
   },
   "stable": {
    "version": [
@@ -16173,15 +16236,16 @@
   "stable": {
    "version": [
     0,
-    1,
+    2,
     0
    ],
    "deps": [
     "consult",
-    "eglot"
+    "eglot",
+    "project"
    ],
-   "commit": "2d0e08e92bccc5ed247d4e9244c5c9ee69207e2c",
-   "sha256": "01bjgabrw7kq6xy6m3b4assn7g5paq74m253pxrjzqa86rqh44sx"
+   "commit": "0da8801dd8435160ce1f62ad8066bd52e38f5cbd",
+   "sha256": "1qxk1npxbf8m3g9spikgdxcf6mzjx6cwy3f5vn6zz5ksh14xw3sd"
   }
  },
  {
@@ -16223,14 +16287,14 @@
   "repo": "OlMon/consult-flyspell",
   "unstable": {
    "version": [
-    20220227,
-    2210
+    20220419,
+    2044
    ],
    "deps": [
     "consult"
    ],
-   "commit": "2e7b99dec6c51259d0bffbae3e863f4054dd2346",
-   "sha256": "1cj3ahxdihi4v4x5qsn1lgacl7dzswy79qli23zrkxaw78x8is0i"
+   "commit": "396def174495cc77413e2065ef79658a02490dad",
+   "sha256": "1yvxzkp81yn5k3z1fdkayhb3cn2x92z7wfxcxrqxlasjz9nax5cm"
   }
  },
  {
@@ -16266,6 +16330,24 @@
   }
  },
  {
+  "ename": "consult-ls-git",
+  "commit": "af90413953b4b6a4d6c1b9919835703035b565d7",
+  "sha256": "0vrvcjyjq3f4zs2jdyfk82xhr4n8yw5mxhrsmmd0ljhcqp6zxbmf",
+  "fetcher": "github",
+  "repo": "rcj/consult-ls-git",
+  "unstable": {
+   "version": [
+    20220501,
+    1823
+   ],
+   "deps": [
+    "consult"
+   ],
+   "commit": "f2398b354994e583ad22af324a129cf94d06009e",
+   "sha256": "1brvhnlw72vhxjf6d984pjf5sq6l7d6vpnhzq2swp3zz4a5sfqvx"
+  }
+ },
+ {
   "ename": "consult-lsp",
   "commit": "c2d4a871be8f52fcfd24c3823382a983d9dcce46",
   "sha256": "0qrillb8yg8lzilbf40y8c9jpf8jyhfdry2xp6d9mlfnkrdc1qr0",
@@ -16273,16 +16355,16 @@
   "repo": "gagbo/consult-lsp",
   "unstable": {
    "version": [
-    20220409,
-    1107
+    20220507,
+    856
    ],
    "deps": [
     "consult",
     "f",
     "lsp-mode"
    ],
-   "commit": "a8eb3a062feb2715f174500d0624d3a85e000cf7",
-   "sha256": "12yq494xd256fsqzlvcpv70i6szyvqchhrw9wnkw320ciim815sw"
+   "commit": "19606a03cf854e1b0930c4526ed92c4560dccdc2",
+   "sha256": "1g4wimqghcph6jrk9y7sqk2pqppx63n4z0557fpgwd57x62rl7zv"
   },
   "stable": {
    "version": [
@@ -16306,15 +16388,15 @@
   "url": "https://codeberg.org/jao/consult-notmuch.git",
   "unstable": {
    "version": [
-    20220408,
-    1923
+    20220421,
+    717
    ],
    "deps": [
     "consult",
     "notmuch"
    ],
-   "commit": "5e952b540552dea5965929711a716775b9a0dc74",
-   "sha256": "1jg05qng54j8m5rnvp8x5fv9ib4i8ba2g569vjgazjq20g6b3lc8"
+   "commit": "16eb2c100ca144140f07014c32e99487c6a73e18",
+   "sha256": "0ynla60n7aksp8fqikpsxv45li68ccgklr3xq601z3zyiyjg54a2"
   },
   "stable": {
    "version": [
@@ -16337,15 +16419,15 @@
   "repo": "jgru/consult-org-roam",
   "unstable": {
    "version": [
-    20220410,
-    632
+    20220508,
+    1232
    ],
    "deps": [
     "consult",
     "org-roam"
    ],
-   "commit": "53b50493309a8f5e4dcc3951ec341b3124fddbf6",
-   "sha256": "00bc1padsnw6dmnfabl90p4qj8709446vvmb8i0gbk5a36m2yjn0"
+   "commit": "05cec288f931a1f3cd5984b88a79f1339110e4b9",
+   "sha256": "0ar9qfkigwpifca05020p4144d6qh42milwz8wrn8ylxwsmm7v0m"
   }
  },
  {
@@ -16356,15 +16438,15 @@
   "repo": "Qkessler/consult-project-extra",
   "unstable": {
    "version": [
-    20220228,
-    843
+    20220424,
+    1815
    ],
    "deps": [
     "consult",
     "project"
    ],
-   "commit": "897f2f71a94ce1b72c3bf823e14791a332befbb7",
-   "sha256": "1c0nllj6hhgvjf7zzy44iacnl29flg54ahb26r4bi9lip8aw65xs"
+   "commit": "fa882a0bf9b697ebb59d0dfa2ffd81ea6daabf41",
+   "sha256": "00gf7fam9gfll9s7bw7bna64y1ynmlhqf4jcbkfhj02laff2virf"
   },
   "stable": {
    "version": [
@@ -16386,15 +16468,15 @@
   "repo": "OlMon/consult-projectile",
   "unstable": {
    "version": [
-    20220310,
-    1840
+    20220511,
+    2103
    ],
    "deps": [
     "consult",
     "projectile"
    ],
-   "commit": "df85d0f83c323f4672221c9e78d84027bcb9d96f",
-   "sha256": "178405z6vasr44p1rg1n1ar4vwbvp04n5fnyma1j327lp8lbppmi"
+   "commit": "130ba9d3879bc293d81b1aa9fbfd0dffae3b5579",
+   "sha256": "0gvrhh58097lry1d13xx4il2kbkljrk170hgr8ibxdzq0jf09aah"
   }
  },
  {
@@ -16737,14 +16819,14 @@
   "repo": "galeo/corfu-doc",
   "unstable": {
    "version": [
-    20220407,
-    1556
+    20220429,
+    1348
    ],
    "deps": [
     "corfu"
    ],
-   "commit": "07307b68a3e22537cc16e0b326b0212c6e8bc58e",
-   "sha256": "08bv49jpnm9yi890ppzsnajy7n21mhjm9bm2z5pp0qyj0zlfq9gf"
+   "commit": "5a6f4f879de6dc2ca6e22789878d416e88e85905",
+   "sha256": "1rvymrs2vgcqr05xij719fyv5hd3bi34f8aragcabbiwbmjfhz7z"
   }
  },
  {
@@ -16832,8 +16914,8 @@
     "ivy",
     "swiper"
    ],
-   "commit": "7489968257a74f176c0d1de7ec8bd1e2011f0db4",
-   "sha256": "0gmgfv9d5vicd5lqcbzn0i6qfjw42whhww6hdqch2pgkhl4i1ria"
+   "commit": "8bf8027e4bd8c093bddb76a813952d2a0dcbf21d",
+   "sha256": "1rdv8r6zw0lziycwv5kd2yyflfwby4gnqgfvv67b1y2l3psjwp94"
   },
   "stable": {
    "version": [
@@ -16870,20 +16952,20 @@
  },
  {
   "ename": "counsel-at-point",
-  "commit": "76600c160b01ac365ba6fed2304128961a8761cc",
-  "sha256": "1sq9jfzrbr5jai25irkz2nlpj20vw2la8hfchp3zf94vkcvswv27",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-counsel-at-point",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1bcgsyin3y33r91m89kfx9q7c9d0qx7ga97dcpzdnrvbhav9k2cs",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-counsel-at-point.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "28b26ecac676d6a3942f1b96d2916f4c23d9b3ab",
-   "sha256": "0dmr5aa74kziwmf8w1jr38lb23yir0mff2wjiidgpxm452pwwrqy"
+   "commit": "3e731889dd4519d16c38d5ad20f4ecdea0c95475",
+   "sha256": "1c4y9j0dlwxcahg7r62llv6w66iz48zmsnfwj9pv9pdhw6cnpc23"
   }
  },
  {
@@ -18041,8 +18123,8 @@
     20211124,
     1105
    ],
-   "commit": "856ecbc0a78ae3bdc2db2ae4d16be43e2d9d9c5e",
-   "sha256": "18s3vj4hkxdmzbch4zh943p4fbm721kmh91vdkc2fjgpilr2imk3"
+   "commit": "fa06dfa206812476217ada6c4178de34ff1efc42",
+   "sha256": "1d8capbzdr69sr4xhz2l8aczys1ry5ns1k873575wp8xfdp02ppq"
   },
   "stable": {
    "version": [
@@ -18150,11 +18232,11 @@
   "repo": "zenozeng/css-eldoc",
   "unstable": {
    "version": [
-    20150125,
-    323
+    20220415,
+    1629
    ],
-   "commit": "c558ac4c470742c98a37290e6b409db28183df30",
-   "sha256": "1mgc6bd0dzrp1dq1yj8m2qxjnpysd8ppdk2yp96d3zd07zllw4rx"
+   "commit": "73ebf9757a043b56b7d3b5befec5a38e6754b9e5",
+   "sha256": "1x2lvq8fqxsybny24d4jnnwn97j652i931qgi5y99zz2f0bvg2gj"
   }
  },
  {
@@ -18281,17 +18363,17 @@
  },
  {
   "ename": "ctrlf",
-  "commit": "46073c430c271aa1971e27948e7f6d4b65b3d533",
-  "sha256": "01d2zv7x588r55namcda58l21lg5sbwcn1ycnvg5md69pv5cg461",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "1lls531qj0ls61byx0546diq2d8jkvk6x250rvwaiw225476mc0i",
   "fetcher": "github",
-  "repo": "raxod502/ctrlf",
+  "repo": "radian-software/ctrlf",
   "unstable": {
    "version": [
-    20220130,
-    2307
+    20220509,
+    2344
    ],
-   "commit": "56021fd53efd775d91db2730e4ab4d5c157c513f",
-   "sha256": "093ximdpb9bzrnayc47is6i6jya8s5jkq7f8njnqd07hh5bm3l20"
+   "commit": "d37d7a997e1e3ef5e2223aeecbbef92f369b0760",
+   "sha256": "1lfd20xknpxxb9qiqhj9mqabsgibzdkhf335mm4vl9jvgim6j7vs"
   },
   "stable": {
    "version": [
@@ -18470,6 +18552,30 @@
   }
  },
  {
+  "ename": "cue-mode",
+  "commit": "5c0c13b152f9099cb92a431e374864eee3ca3808",
+  "sha256": "1ykhgxk0rcwpdqmjgbf47d9vsmml4wbbyrrkr8lzki4hfllzdcyp",
+  "fetcher": "github",
+  "repo": "russell/cue-mode",
+  "unstable": {
+   "version": [
+    20220512,
+    2104
+   ],
+   "commit": "f98b9f9088fcb66c97f9200f6c8a0cd16c11caae",
+   "sha256": "08nxlgf02v8gz92dif3fy72qz3yisybxlx1i0any3sxn5swi7g7y"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    9
+   ],
+   "commit": "f98b9f9088fcb66c97f9200f6c8a0cd16c11caae",
+   "sha256": "08nxlgf02v8gz92dif3fy72qz3yisybxlx1i0any3sxn5swi7g7y"
+  }
+ },
+ {
   "ename": "curl-to-elisp",
   "commit": "11453864d71c7853bc743341db7ca071126ca160",
   "sha256": "16qyw6yx5vlm32ikmgxhf162jjl1nq7lmrcn6g43fkk93id0374n",
@@ -18653,20 +18759,20 @@
  },
  {
   "ename": "cycle-at-point",
-  "commit": "033260c71bef524da774f7b51e744b919f1a7145",
-  "sha256": "1h8ar6dhfk2irbk90hnbxp1l5lmb48rr6r7yj24c9yc8manxyxjn",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-cycle-at-point",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "065jpz2c6mlx133wr41k7gkig4ygxy5i0a1j5rapiyrskg8dcyfj",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-cycle-at-point.git",
   "unstable": {
    "version": [
-    20220406,
-    1340
+    20220507,
+    1118
    ],
    "deps": [
     "recomplete"
    ],
-   "commit": "4637a9288028f3eaa31cfa9658cfe78f423b16cf",
-   "sha256": "11s016kcv15p8001xivimjlrc7h9xiisa47s769wq1n93csq9749"
+   "commit": "85750fa695797b95608b331b64ea49d81f7c8a36",
+   "sha256": "1cf5mvkwy208dlc4jlax9cb9ffl41aibcpsbfp0sv8ibjrnsaldd"
   }
  },
  {
@@ -18752,8 +18858,8 @@
     20211111,
     1407
    ],
-   "commit": "d2d2ea33a21e1915a52790ef64fdd1f28867854c",
-   "sha256": "13ckyzfw8y2skdx9ynwn4m0cpmcd13qr4fxdymaxfid7x162i62r"
+   "commit": "89591f7c85f6b8eb580ac8f3a00014f28c61a139",
+   "sha256": "0yj3i2jrajh33v0h6djlzsl5l5gb2958z365d1zjbabqxj202wg3"
   },
   "stable": {
    "version": [
@@ -18919,8 +19025,8 @@
   "repo": "jyp/dante",
   "unstable": {
    "version": [
-    20210301,
-    1738
+    20220429,
+    1454
    ],
    "deps": [
     "company",
@@ -18931,8 +19037,8 @@
     "lcr",
     "s"
    ],
-   "commit": "8741419333fb85ed2c1d71f5902688f5201b0a40",
-   "sha256": "1i4rz1lp78wzn8x9xgjar8h66csdkf5836ny8lwd68m7z5gh0w21"
+   "commit": "b81081c2eb8dcbd7e67e05cf5e1991df6cf3e57c",
+   "sha256": "0cr9d2kbikal1np7j0zd39ldhpicsn9xb7iqfbl4dgksnf8jc5rd"
   },
   "stable": {
    "version": [
@@ -18960,8 +19066,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20220325,
-    1144
+    20220512,
+    513
    ],
    "deps": [
     "bui",
@@ -18973,8 +19079,8 @@
     "posframe",
     "s"
    ],
-   "commit": "f918c0580bd17105cbe50aa701a2375abca5a6ab",
-   "sha256": "12wnvj6bnz9xx9skzqjmldn9ak0pxm46b2g7ishj7q810fg5hzws"
+   "commit": "52ac284dafff3fbae561d1743b73131339421d76",
+   "sha256": "112qpba47csbhqha4y3vlccgzm14x7x522r2n1p9q4ssknn7va4i"
   },
   "stable": {
    "version": [
@@ -19221,11 +19327,11 @@
   "repo": "magnars/dash.el",
   "unstable": {
    "version": [
-    20220404,
-    2004
+    20220417,
+    2250
    ],
-   "commit": "dc61f4641779616122692e34a32ba2a158ee034c",
-   "sha256": "1lhcqlmysqlv38i3nx09bn4ad8q3ly9r5i0ba0lx3a1al94djmpl"
+   "commit": "7fd71338dce041b352f84e7939f6966f4d379459",
+   "sha256": "1q2p51348bpg35h9c9cg21k27c7svh52qvi6zlslvnig7wcx662s"
   },
   "stable": {
    "version": [
@@ -19300,8 +19406,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "dc61f4641779616122692e34a32ba2a158ee034c",
-   "sha256": "1lhcqlmysqlv38i3nx09bn4ad8q3ly9r5i0ba0lx3a1al94djmpl"
+   "commit": "7fd71338dce041b352f84e7939f6966f4d379459",
+   "sha256": "1q2p51348bpg35h9c9cg21k27c7svh52qvi6zlslvnig7wcx662s"
   },
   "stable": {
    "version": [
@@ -19327,8 +19433,8 @@
     20220409,
     620
    ],
-   "commit": "126743bb77c02d12d4f7e3678cef47d6a836cbc1",
-   "sha256": "168cxkwray5b30nlc77ypmb1z3f3s258psvkb6lxyyc6xfswcjv9"
+   "commit": "0a86c0eabe6bb5e188e6ae915d971103248a3d26",
+   "sha256": "1ki4g5s4n2c4zvsk56w4ync2rrwbchz63ms68a2xjkmnihy83x90"
   },
   "stable": {
    "version": [
@@ -19376,8 +19482,8 @@
    "deps": [
     "dashboard"
    ],
-   "commit": "2b0bf850e893c87380ae0b64d887db0b3a3fcead",
-   "sha256": "0l9ijqia6z0miwpfxzi3pab90bq9iirc2b8aansly6jg4ybihmxj"
+   "commit": "f9e199a20c654c3d1d8f405fdec9acb294afc004",
+   "sha256": "0l0bylzd9r6cc04r1b5ky3dqshzc2k6j47hqini35ibk331dm804"
   },
   "stable": {
    "version": [
@@ -19657,15 +19763,15 @@
   "repo": "skk-dev/ddskk",
   "unstable": {
    "version": [
-    20220305,
-    522
+    20220501,
+    2005
    ],
    "deps": [
     "ccc",
     "cdb"
    ],
-   "commit": "5c209e0306364118abf9d9440d7b8b9613183072",
-   "sha256": "1p7mwlnhsblr9ilns4vbadlbr1bz7w81das54znw6cnv4yjjzdan"
+   "commit": "c664b26d0861621ac86b5b5f47835dd84f06dc93",
+   "sha256": "1qis1wmqdllzj46nsnlqskk0lld1bgn858gk8l03gcy92jrlh1bg"
   }
  },
  {
@@ -19707,16 +19813,16 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20220209,
-    719
+    20220507,
+    1755
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "0a3ba239c458ffc4f63a180b43d0e70b81742a3e",
-   "sha256": "0xavp98da1hr0jsq5dr2h4rfs5y1qgnv3b3pnpc08rfj1h4x211b"
+   "commit": "ae333e4069e296e98bf9631088c8198f50891d55",
+   "sha256": "000s08mwadvdwcsisw741pv3l5znii7qbdc2865i8ywbj5b3dadb"
   },
   "stable": {
    "version": [
@@ -19907,17 +20013,17 @@
  },
  {
   "ename": "default-font-presets",
-  "commit": "3b8b731674a5c5d4f83d998258a5d4c9aabb2048",
-  "sha256": "0hracb7krwgpnispnjgi86zaywq08mc3c8cyaxl82lc8jc9b05j2",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-default-font-presets",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0dwdga1qk49l72yhmjxphlqzbxykxm70h64j534ffl2i1gjzkzff",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-default-font-presets.git",
   "unstable": {
    "version": [
-    20220214,
-    2326
+    20220507,
+    1118
    ],
-   "commit": "1727055b59e21e91a5b72356968232e31a92f743",
-   "sha256": "098s8s9j8gvzkkyx6ivd84bi0dmf2p6a3nlz215ljl43l97134pw"
+   "commit": "7117ddadafcf0264c19b7a6bb912d52efe5553f9",
+   "sha256": "1m2l7ngrf8r4z873dir2b6ivbq2hqb8041bmd9xy76rwyy40v7x1"
   }
  },
  {
@@ -19975,19 +20081,20 @@
   "repo": "jcs-elpa/define-it",
   "unstable": {
    "version": [
-    20211216,
-    719
+    20220414,
+    932
    ],
    "deps": [
     "google-translate",
     "popup",
     "pos-tip",
+    "posframe",
     "request",
     "s",
     "wiki-summary"
    ],
-   "commit": "63095df0b1b55207a6b51b745ca00bb152dbedf6",
-   "sha256": "1nmmwxg2yfliqhdy9c7d8dfcqiwzw84hd4a8a7jy9cq4ribpavgh"
+   "commit": "51fd884c52faf61339aef3a3429fe91672b3e6a8",
+   "sha256": "10ch8ds5d27kry1ih2cwyp5pl2dlhwwfdsr0smpd1r23i74qlhmm"
   },
   "stable": {
    "version": [
@@ -20287,11 +20394,11 @@
   "repo": "DamienCassou/desktop-environment",
   "unstable": {
    "version": [
-    20210129,
-    2018
+    20220425,
+    1834
    ],
-   "commit": "2c3e0750c11485931f447ea82f80bc90ae07aeba",
-   "sha256": "0ciha9q6j0fp0197ga0ifi4j527sp2pk6862mm70skpfv6bm8dx2"
+   "commit": "2863dc3d66aed9052c8af39cc8c8c264be300560",
+   "sha256": "1cn17igd9dwbqrds7k3p8lkfg4gq5vh6rqkmmjyagnaklj793van"
   },
   "stable": {
    "version": [
@@ -20460,11 +20567,11 @@
   "repo": "radian-software/diary-manager",
   "unstable": {
    "version": [
-    20210404,
-    1821
+    20220508,
+    128
    ],
-   "commit": "0fa122be62dd296cefe23bcf5074cc6159bd9868",
-   "sha256": "0zhhfba9ak7j713xp2qhxfdc3h9a9a1grp1nprlz7qnz3pkl2rjj"
+   "commit": "c538504e606208fa902d040e54188072df6193d0",
+   "sha256": "1j10wl00mgfpw3554jngkmn44z4s28m5qvw3lg0zgca50xkjnyqa"
   },
   "stable": {
    "version": [
@@ -20584,32 +20691,32 @@
  },
  {
   "ename": "diff-ansi",
-  "commit": "6bbfb72c3db4f774ffab9cf273b26e23fb027ee8",
-  "sha256": "0k25pfxm0w7i84z1qfzd87l75hv43m89ajaq7bl2ppq2h1fwf880",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-diff-ansi",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1mgn123nf8rq5ayphgvdgdz64ybrqsn9vcjy3hhw5d3dijy6i992",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-diff-ansi.git",
   "unstable": {
    "version": [
-    20220323,
-    106
+    20220507,
+    1118
    ],
-   "commit": "39b39a7265c59e413ff32f1fccebe4dc1a7a966e",
-   "sha256": "1kw2fvkfydyc8fbwqf4r88qgzrl85qzypjwzklkpwsawdpp6vzs2"
+   "commit": "bfcce7f609a95b4b5e11c384c75fef8c7c972b95",
+   "sha256": "0gddzdx0f6l982ij9q2ljm9dbpjrwi12glxhqr599jnxnlcrxshn"
   }
  },
  {
   "ename": "diff-at-point",
-  "commit": "d342698c94e145ecfebf204c1099dbe765b39c71",
-  "sha256": "1gjjnxafsxrhpxz3zs5kbdmy5wmhcqqfkgryzzc0mmm9iqbskd3j",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-diff-at-point",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "06j1yhl3b2vnm04p83ha1d2z26rr2wj54qbxhfwp0d1w77zrzjf2",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-diff-at-point.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "819da8d75762e1fb1a975d78c2b4666506048485",
-   "sha256": "1l3q7ks4ylr85ywyrg49hk0wvzlj97rznwmqsf74awgfcl1cy7nk"
+   "commit": "aabb96b2b59f0e0d94d7b6889fa30016927ea03d",
+   "sha256": "1zmk2yycsphhz8mqa3ffa3mk6x0cxvmpld7kpa0bn1sp1w8xvssp"
   }
  },
  {
@@ -20620,14 +20727,14 @@
   "repo": "dgutov/diff-hl",
   "unstable": {
    "version": [
-    20220405,
-    2359
+    20220506,
+    2102
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9d5dc2ffa1e4c7b43734b03dccb5ae6a80800569",
-   "sha256": "1mk0lqfgln23zqx4fc1z6vv2wprmksjv2cy7yyrj8qvkm29fqm94"
+   "commit": "14f2db367e8023ab0027713315a38ecd703afdbf",
+   "sha256": "0ciyg1g9sil1pvmd53r57gyds85f11457anjcfi96p4jjyjg9sxx"
   },
   "stable": {
    "version": [
@@ -20728,11 +20835,11 @@
   "repo": "ber-ro/diffsync",
   "unstable": {
    "version": [
-    20220408,
-    1341
+    20220502,
+    1513
    ],
-   "commit": "32a3e64bec16b34c3df4dc41d3df09a2ca2dc63f",
-   "sha256": "0znbk21nymmiq5hprvqly0w6dfsbsabaqnqkgnncc35cqm2qx8cl"
+   "commit": "3f8540ef0a677ea8c2b57aaf4a07937512bb148c",
+   "sha256": "0hgyi8s7f5r87y48a6x427xm8nkr2rms6fzsdjp840ma39pj7n2f"
   }
  },
  {
@@ -20899,11 +21006,14 @@
   "repo": "tarsius/dim-autoload",
   "unstable": {
    "version": [
-    20220101,
-    1042
+    20220422,
+    1601
    ],
-   "commit": "63471f8798157d15776fc8d9470796e56d1a415b",
-   "sha256": "0m06fmq7ldxd5gsk25w4wcwin06x13y37gl0lcdapn902rly4l5g"
+   "deps": [
+    "compat"
+   ],
+   "commit": "81c94b0707d5ddd9a3b9962ee441206db1d25967",
+   "sha256": "00xba7dpmsiq13zhcxcvwlb65v4mnbl8xd32vwvr3pm54bv59fzs"
   },
   "stable": {
    "version": [
@@ -20979,8 +21089,8 @@
     20220218,
     1541
    ],
-   "commit": "94749f5095353343ce458f08ba4cfeb880b4bf24",
-   "sha256": "044zjpp37a3ciq2dhfpzjnvc408ch53fpszl9zsj7c0gv9npd2jg"
+   "commit": "3b3b24eb231af889b0eea50e6e0a20c2bca9c439",
+   "sha256": "0x2vx80rx8mcj1jf6p7qbf1sfy4zymnrbpkm1gzrs8k4jibmwyz7"
   },
   "stable": {
    "version": [
@@ -21064,14 +21174,14 @@
   "repo": "tilmanrassy/emacs-dir-treeview",
   "unstable": {
    "version": [
-    20210625,
-    2358
+    20220505,
+    27
    ],
    "deps": [
     "treeview"
    ],
-   "commit": "c48b0e12eb02ae046cf6dc97fe006db31ded3f2b",
-   "sha256": "07hhy41h1qx38rrf6f9b2r13chs3v4mzyplhpx1r6wjrj0nmh2pv"
+   "commit": "fa0b795b36740755ec37f5b41c3a734ad702e5a1",
+   "sha256": "17r27gvapc68dwyd4diw406k9nx2slicshdl923swqzyxm2c75vb"
   }
  },
  {
@@ -21175,19 +21285,20 @@
   "repo": "juan-leon/dired-efap",
   "unstable": {
    "version": [
-    20140122,
-    1656
+    20220421,
+    1535
    ],
-   "commit": "624757b2e54d9a13e2183118d6c113e37684b90c",
-   "sha256": "0jj9da880b4zwxba140fldai1x9p2sxc6hdf3wz6lnbvz1pyn1mv"
+   "commit": "360b369cb19998c6730ee1debfbec3edb7f349a9",
+   "sha256": "07yfks2gj15fw0arrf0nyh5ip8kjc46fyrgpdcviwr6lk739c3jk"
   },
   "stable": {
    "version": [
     0,
-    8
+    8,
+    1
    ],
-   "commit": "2b849bc5c09d0b752a177495ea1b851ee821f5bf",
-   "sha256": "1m0nx8wd6q56qbp5mbp9n466kyglrz34nflwvgd1qnmi08jwswgv"
+   "commit": "360b369cb19998c6730ee1debfbec3edb7f349a9",
+   "sha256": "07yfks2gj15fw0arrf0nyh5ip8kjc46fyrgpdcviwr6lk739c3jk"
   }
  },
  {
@@ -21854,11 +21965,11 @@
   "repo": "purcell/diredfl",
   "unstable": {
    "version": [
-    20220103,
-    1744
+    20220508,
+    805
    ],
-   "commit": "59f8e5bf5c2991aa54a471f61f14d77976db194a",
-   "sha256": "1ai5hxy87ljz6ch8blj4khm4v9clqxmrfhh5m5hnz9kd7n3d2wyh"
+   "commit": "62b559e1d6b69834a56a57eb1832ac6ad4d2e5d0",
+   "sha256": "18ggh4x7gqdnrdaknd4vkd34jgi8aw5s7r3a2xv54p8z22ipxrhh"
   },
   "stable": {
    "version": [
@@ -22022,11 +22133,11 @@
   "repo": "alexluigit/dirvish",
   "unstable": {
    "version": [
-    20220413,
-    1257
+    20220512,
+    1734
    ],
-   "commit": "78ba565d1aa476d76e799876716ea2ff79a6aadc",
-   "sha256": "0p7r3vj8vjhbw3kxw9i1210l3fvhg0hm2pp1a0jamn3a7d31534l"
+   "commit": "e40cc2dd1594d4285ec78100e98a0b0516d23782",
+   "sha256": "0qzz9bzl0rjllr84hqfczjg6h4ra4ylpcsikhdx25gc7jfvah1zi"
   },
   "stable": {
    "version": [
@@ -22680,17 +22791,17 @@
  },
  {
   "ename": "doc-show-inline",
-  "commit": "4439485b5c582bc6a72789d07ca3b033c6195f3a",
-  "sha256": "1j1bwm5hfzcq683rl8k9362vlzxnddcqhmxsinwq2c9c7md8hfrv",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-doc-show-inline",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1d2mkk6a9r395vh4iyjdhzwzhn8wp1f9b3p56gls8sdqjpfwavk1",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-doc-show-inline.git",
   "unstable": {
    "version": [
-    20220314,
-    57
+    20220507,
+    1118
    ],
-   "commit": "42954390621f281930a70104162db1bb70532a1b",
-   "sha256": "0nvk10nh2mkw430zdr0m2cnqzvi48ah32k8zay4lh0qgz4jl2kdy"
+   "commit": "0cceb39df31fd578cfc95d756f667874e6321001",
+   "sha256": "108w5v4mw7wj1ahg0bhh7bdvg31hq5iqgyjiyf9zdm02wnmz8jhh"
   }
  },
  {
@@ -22953,8 +23064,8 @@
    "deps": [
     "s"
    ],
-   "commit": "604999a4a40d0599808fdef99612740c143cc590",
-   "sha256": "1a9kwy6p5dw1kvdr9d52kgxn6w89xxn3r2p9y6hxl4f9s923j70a"
+   "commit": "bb7485d24a4fb147fc7fc7fcd1e1c7ddd3ff64b5",
+   "sha256": "18h39vrr66y0m16nfax6646qlnw1l0qd5c7dqpnr060ma52sbfkv"
   },
   "stable": {
    "version": [
@@ -23122,8 +23233,8 @@
     "dash",
     "shrink-path"
    ],
-   "commit": "7d8eb7c44087a62d8dd6e8ba1afc26facd914fbc",
-   "sha256": "0y050g6qgzzw7krabgw0gx2dx6mv7kkzy5y501id37cgryhws483"
+   "commit": "85bdd9ed8674710f6b9815e9a1c41ad4b5a45ace",
+   "sha256": "1wmy080z709mn29w7h9m17a18jnr6a8dzip92k86kcg5z3mjg5ki"
   },
   "stable": {
    "version": [
@@ -23167,14 +23278,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20220222,
-    2326
+    20220504,
+    1557
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "83fd9545c2823b4b2610947802fa3a52995517b4",
-   "sha256": "0jrmmdz7s6jlq7h6dpxfgx1wvvzwam3rq5dgsqqcn383d9i7zbmb"
+   "commit": "e9bdd137116fa2037ed60037b8421cf68c64888d",
+   "sha256": "178ri980kwkndb73dawhsfr1dkl6xjdb451z0iar9ghk8z0r0wpg"
   },
   "stable": {
    "version": [
@@ -23639,25 +23750,25 @@
  },
  {
   "ename": "dtache",
-  "commit": "6e0f64b768c13fb873dc1dcb849770b7b401603d",
-  "sha256": "1sw5wciadijskzp4cczik36ak08xx7491bqgjhbg2vf2yyg09sbz",
-  "fetcher": "gitlab",
-  "repo": "niklaseklund/dtache",
+  "commit": "0d69cbd12938e72bcaea6b2a79385f48a462713d",
+  "sha256": "08cmfhjdn30wnyfypx5qjscbi4wbfvypxnwfrcx09nn137qc3h55",
+  "fetcher": "git",
+  "url": "https://git.sr.ht/~niklaseklund/dtache",
   "unstable": {
    "version": [
-    20220320,
-    1338
+    20220512,
+    1524
    ],
-   "commit": "e7d143df8a8f88cbbe0fa023cd1fc30219598d88",
-   "sha256": "02bpghhjcgfgcrlkvsrj652ki558pf9q5vj6j056lalfhcrckpvd"
+   "commit": "5a39733299cae60da2aab0e0b9f559bcc022369f",
+   "sha256": "166sbnq9n70yp7w8in2qkv921gzkzhzwkr3bjgnj427gxn34m1xd"
   },
   "stable": {
    "version": [
     0,
-    5
+    6
    ],
-   "commit": "ecf4c57d96eda400d9b2d5cfeaa9244993ae3603",
-   "sha256": "1ii8zggw3db5nrkfnfhqsa7w7676bq3vl0z8larwhb34q6shi655"
+   "commit": "4ecda689e4ccddc23805a22484c95c4f3f65e3bb",
+   "sha256": "0lrj4dwcrx3s9mxnik9h9cppqjdfnbnlknfa40qwhlzxdvhxmfmq"
   }
  },
  {
@@ -23853,17 +23964,17 @@
     20210909,
     1010
    ],
-   "commit": "a27ffbdbd6153db839fdb01495753f2556759640",
-   "sha256": "0kl1b8g64gv524g8ys5rimy0xm4bvvr7c7s4q4qcyjx5h51fpa45"
+   "commit": "862831cd6e1146b0c18e6bdbf7daafb42868d439",
+   "sha256": "0kfykznv16lmbxhccnp9f1qn9wswadizp3mhq1kf1b29pvppf1yr"
   },
   "stable": {
    "version": [
     3,
-    0,
-    3
+    1,
+    1
    ],
-   "commit": "68c36597dfb99187ccbadf578988deaf690c4e25",
-   "sha256": "1ndn560fg0fg8n3wplmkg5px69h0g38pyma9wik85cmmqfxry14k"
+   "commit": "09eac98ced1fff7dea4e5ac45b59e00c1874067e",
+   "sha256": "0ljv4gnalxq77byic23c8hrjmsqvn87gqj0ijm7rdx4xr1pff1jg"
   }
  },
  {
@@ -24503,14 +24614,14 @@
   "repo": "leoliu/easy-kill",
   "unstable": {
    "version": [
-    20220311,
-    1506
+    20220511,
+    557
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f9b450a87c41e5ef616df565ed158cb236aa5189",
-   "sha256": "05drsb7kaksdsk1v0i5gip255rvlziirl4wcana08cpm9v9p4m21"
+   "commit": "de7d66c3c864a4722a973ee9bc228a14be49ba0c",
+   "sha256": "0zr836c9c5bhf0cslwk6jqf1xn9w6wfjn4faisq5v8ydyxn78925"
   },
   "stable": {
    "version": [
@@ -24619,25 +24730,26 @@
   "repo": "joostkremers/ebib",
   "unstable": {
    "version": [
-    20220407,
-    2003
+    20220430,
+    2219
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "6a044c9cc3429ff6c4072be1c184e0c6ffc49b58",
-   "sha256": "1isv6gmqcfqxlc8nsflsm4z266x8x56w3msj4skz9nvjljyhgd77"
+   "commit": "0e243a78f435038dda31953c5b48cbddf2a89e27",
+   "sha256": "14br20mzxg84l8nbzglkwvam9ac1xlkdm6dpdfxw5ri6lkcd2bpf"
   },
   "stable": {
    "version": [
     2,
-    34
+    35,
+    1
    ],
    "deps": [
     "parsebib"
    ],
-   "commit": "5d4012c1f1d47d2ab03e2280ad2b600ff40ce545",
-   "sha256": "0al846i1dn5wrx3r0ak63m80g9j9xk2q5cpcpk63lq0l0gfdff2m"
+   "commit": "a338d8b2007e9353a5ced6c98f12f3332e153f12",
+   "sha256": "0b8nb0pwpq0j5g7rgmdhjp4g9za4ppzxp7b3swkqr06vvhn7db7v"
   }
  },
  {
@@ -25033,20 +25145,20 @@
   "repo": "Fanael/edit-indirect",
   "unstable": {
    "version": [
-    20220216,
-    1812
+    20220511,
+    1124
    ],
-   "commit": "e3d86416bcf8ddca951d7d112e57ad30c5f9a081",
-   "sha256": "0f5vhppsjw63dkwka6xanmlliq44vf3kj1wp3dg8a6a837xx7z9x"
+   "commit": "f80f63822ffae78de38dbe72cacaeb1aaa96c732",
+   "sha256": "13v0fvzh3nv3bm4c3ld7pknw2g76cjkx81hsrmbrd1irlv4s4b00"
   },
   "stable": {
    "version": [
     0,
     1,
-    8
+    10
    ],
-   "commit": "e3d86416bcf8ddca951d7d112e57ad30c5f9a081",
-   "sha256": "0f5vhppsjw63dkwka6xanmlliq44vf3kj1wp3dg8a6a837xx7z9x"
+   "commit": "f80f63822ffae78de38dbe72cacaeb1aaa96c732",
+   "sha256": "13v0fvzh3nv3bm4c3ld7pknw2g76cjkx81hsrmbrd1irlv4s4b00"
   }
  },
  {
@@ -25147,8 +25259,8 @@
     "cl-lib",
     "nadvice"
    ],
-   "commit": "1d4acc3ec73609990eabacb59c038708bc401003",
-   "sha256": "1blx38fyfl1zgfh5k1mgsnxxjlski7f0n890kiyjbaw2ba9zzmgr"
+   "commit": "1f6f16c24fd0030322d59c2853067a6dccc9e736",
+   "sha256": "10dm6igma7kqjpr6q1amncdixf58m81khwckjm5c3l8fn7svla55"
   },
   "stable": {
    "version": [
@@ -25303,8 +25415,8 @@
   "repo": "sebastiw/edts",
   "unstable": {
    "version": [
-    20220312,
-    2132
+    20220415,
+    1722
    ],
    "deps": [
     "auto-complete",
@@ -25315,8 +25427,8 @@
     "popup",
     "s"
    ],
-   "commit": "d815148f22ed194116dcde63a0150919e380ecd6",
-   "sha256": "11x1607fcpxzrf8kqi364qiiffbpwpwld0w9x0mjfsphyvdpg62g"
+   "commit": "5c096ecdf9462b125f2eb4092899ff63636cfc40",
+   "sha256": "1l97a55kg8dcvbdv9c2bk1acz4y9vl3x68mbybhbm0rs78170hx3"
   }
  },
  {
@@ -25511,8 +25623,8 @@
   "repo": "joaotavora/eglot",
   "unstable": {
    "version": [
-    20220406,
-    1459
+    20220509,
+    1904
    ],
    "deps": [
     "eldoc",
@@ -25522,8 +25634,8 @@
     "seq",
     "xref"
    ],
-   "commit": "2c34dae387c583aa307615779ff570a84d5e723c",
-   "sha256": "1wzl0vj5fvxgm3j596vmczjazdn1ix6dgh4fvg3zn25i2rbxa7l0"
+   "commit": "ba618d2cee55c8c339d46621b7e721957cc30a72",
+   "sha256": "08ynxy8wpb1ran8r7h51n5r1njpjvz7hdxkgvr5njlhwp5wz2jd5"
   },
   "stable": {
    "version": [
@@ -25557,8 +25669,8 @@
     "fsharp-mode",
     "jsonrpc"
    ],
-   "commit": "454a4ac3efaec2109178c3b0ca7392ce2818ec26",
-   "sha256": "1zdah0d52806bkbm24lz0hl9z97224w1k6r8c0fbyyi16265ghc3"
+   "commit": "5208b54098c7534f4768b87c5f4c8a01b638737b",
+   "sha256": "04s37djxzy8v5xwc5hh8gq37zh7f6ih3y07g07q2fc39rk1xslpd"
   },
   "stable": {
    "version": [
@@ -25647,10 +25759,10 @@
  },
  {
   "ename": "eide",
-  "commit": "d952fa4c9b2ee754a14cea8aa818142f80f11eea",
-  "sha256": "0ylnjvyb598h6pq1x14ysbg5x9z773lvx2jlzrq6gwvfpjbzfb3q",
+  "commit": "932b2461a32c23477bffbc981cb26d9eb437cd76",
+  "sha256": "13n0mwfjxpjjndlmxlqpzpajjn0jcfgxhln0gz7z4p87myln6wsq",
   "fetcher": "git",
-  "url": "https://forge.chapril.org/hjuvi/eide.git",
+  "url": "https://forge.chalec.org/hjuvi/eide.git",
   "unstable": {
    "version": [
     20220316,
@@ -25692,8 +25804,8 @@
   "repo": "millejoh/emacs-ipython-notebook",
   "unstable": {
    "version": [
-    20220324,
-    204
+    20220419,
+    735
    ],
    "deps": [
     "anaphora",
@@ -25704,8 +25816,8 @@
     "websocket",
     "with-editor"
    ],
-   "commit": "e04e1e19c63667e6847ae6341ab7fc7488f5eb8c",
-   "sha256": "16f1ka02n06li4griyrviv9bwzvj4s5fk7i2kqa5mkg0gibxmawc"
+   "commit": "388c8f753cfb99b4f82acbdff26bbe27189d2299",
+   "sha256": "03idq7z0ry3mjvsw0w3acnsnfjijqkp9lr1v1xn5jn3s58ciyw80"
   }
  },
  {
@@ -25740,8 +25852,8 @@
   "repo": "kostafey/ejc-sql",
   "unstable": {
    "version": [
-    20211119,
-    1910
+    20220511,
+    1619
    ],
    "deps": [
     "clomacs",
@@ -25749,8 +25861,8 @@
     "direx",
     "spinner"
    ],
-   "commit": "b8d534cec8f75dc95961dca72e39a096c5eea980",
-   "sha256": "0xl6mb1s70ljb5wkd41qrjvr0gdnds4yli2y3mmrcvry0cp3kp0f"
+   "commit": "900cf3ff0a8cffeeb0155ca131fa2e425ca9137d",
+   "sha256": "0r7rfpfxxn620cafw2h3in384lql3qbnpdrc8j2yyqlqgp73yygk"
   },
   "stable": {
    "version": [
@@ -25814,20 +25926,20 @@
   "repo": "xgqt/emacs-el-fetch",
   "unstable": {
    "version": [
-    20220404,
-    2144
+    20220510,
+    1536
    ],
-   "commit": "2af3483c4ced80c22f0b4ccabdea06d87a23b5f9",
-   "sha256": "0jqmh7ivn6vaxsni4adxzyd8df4z6j6jf4iqfn88cqci7ddh7zjb"
+   "commit": "3aa9594e807cb03af228c13224b381ecdd7ba2e3",
+   "sha256": "0rpdmhck3qn325jscysvgj2nzdy09rl895wsk5jhssmgmnp92zxs"
   },
   "stable": {
    "version": [
-    1,
+    2,
     0,
     0
    ],
-   "commit": "3ccb2619e75c966b1bf1ad8a68919566be70042f",
-   "sha256": "0jqmh7ivn6vaxsni4adxzyd8df4z6j6jf4iqfn88cqci7ddh7zjb"
+   "commit": "3fa818577238adf9db7264e302d9614ce973d307",
+   "sha256": "0fbbnwxm96zmj2hlsjjxki901vs98qcxn8shyz8bs3qzb6kvlwyw"
   }
  },
  {
@@ -25964,25 +26076,25 @@
  },
  {
   "ename": "el-patch",
-  "commit": "2f4f57e0edbae35597aa4a7744d22d2f971d5de5",
-  "sha256": "1imijmsni8c8fxjrzprnanf94c1pma3h5w9p75c4y99l8l3xmj7g",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "0xfpkpkyzf8bpp9fhlswc96vw9v3lwhhkc3qwsnzmqkzkim9idrk",
   "fetcher": "github",
-  "repo": "raxod502/el-patch",
+  "repo": "radian-software/el-patch",
   "unstable": {
    "version": [
-    20220115,
-    34
+    20220509,
+    2253
    ],
-   "commit": "83bd1378ce4a920ce708e15f1d2caafe30d41a79",
-   "sha256": "1xpk4c3m5d89n2v2xfn55mj2qv60pb0rpx8ghbcsdyd04ir1llp6"
+   "commit": "156c61b72c1c9c61bd886b5931b8a382153f52fa",
+   "sha256": "043m4lpm7m7mbprnb5igx0rz2r6c425vl33m7is5j47pm1ysvp31"
   },
   "stable": {
    "version": [
-    2,
-    4
+    3,
+    0
    ],
-   "commit": "7378385a81ad9f033ee5033e0010c96f9b396b55",
-   "sha256": "0vankik1dh2yd554h59s5vlzanwx8sx9j31kr15830m3hfgikygz"
+   "commit": "d4f4574bcf4005f4fbafde8874cb19b907783956",
+   "sha256": "0qkx7f19kl85n56bp3q40200a6ynpkhimcnb3k6x4n6idn6ff2pa"
   }
  },
  {
@@ -25993,15 +26105,15 @@
   "url": "https://git.sr.ht/~zetagon/el-secretario",
   "unstable": {
    "version": [
-    20211208,
-    1038
+    20220422,
+    2005
    ],
    "deps": [
     "hercules",
     "org-ql"
    ],
-   "commit": "4ac85deae0a2c5f76337cffc0744c8373e5d8f5d",
-   "sha256": "0rl31hh80xfdgawpfpwfpnbhbphc43h5immk36p6cv357nb2xj4s"
+   "commit": "c28a4f42829ed1f96a17abb63a8616216db913a5",
+   "sha256": "0s4smf6ldwivardvwnilg0p109dh51s04hqn6dna5qr9gal3ff26"
   }
  },
  {
@@ -26019,8 +26131,8 @@
     "el-secretario",
     "elfeed"
    ],
-   "commit": "4ac85deae0a2c5f76337cffc0744c8373e5d8f5d",
-   "sha256": "0rl31hh80xfdgawpfpwfpnbhbphc43h5immk36p6cv357nb2xj4s"
+   "commit": "c28a4f42829ed1f96a17abb63a8616216db913a5",
+   "sha256": "0s4smf6ldwivardvwnilg0p109dh51s04hqn6dna5qr9gal3ff26"
   }
  },
  {
@@ -26031,15 +26143,15 @@
   "url": "https://git.sr.ht/~zetagon/el-secretario",
   "unstable": {
    "version": [
-    20211214,
-    1851
+    20220422,
+    2006
    ],
    "deps": [
     "el-secretario",
     "org-ql"
    ],
-   "commit": "4ac85deae0a2c5f76337cffc0744c8373e5d8f5d",
-   "sha256": "0rl31hh80xfdgawpfpwfpnbhbphc43h5immk36p6cv357nb2xj4s"
+   "commit": "c28a4f42829ed1f96a17abb63a8616216db913a5",
+   "sha256": "0s4smf6ldwivardvwnilg0p109dh51s04hqn6dna5qr9gal3ff26"
   }
  },
  {
@@ -26050,15 +26162,15 @@
   "url": "https://git.sr.ht/~zetagon/el-secretario",
   "unstable": {
    "version": [
-    20211214,
-    1851
+    20220426,
+    1905
    ],
    "deps": [
     "el-secretario",
     "notmuch"
    ],
-   "commit": "4ac85deae0a2c5f76337cffc0744c8373e5d8f5d",
-   "sha256": "0rl31hh80xfdgawpfpwfpnbhbphc43h5immk36p6cv357nb2xj4s"
+   "commit": "c28a4f42829ed1f96a17abb63a8616216db913a5",
+   "sha256": "0s4smf6ldwivardvwnilg0p109dh51s04hqn6dna5qr9gal3ff26"
   }
  },
  {
@@ -26069,16 +26181,16 @@
   "url": "https://git.sr.ht/~zetagon/el-secretario",
   "unstable": {
    "version": [
-    20220328,
-    1246
+    20220411,
+    1419
    ],
    "deps": [
     "dash",
     "el-secretario",
     "org-ql"
    ],
-   "commit": "4ac85deae0a2c5f76337cffc0744c8373e5d8f5d",
-   "sha256": "0rl31hh80xfdgawpfpwfpnbhbphc43h5immk36p6cv357nb2xj4s"
+   "commit": "c28a4f42829ed1f96a17abb63a8616216db913a5",
+   "sha256": "0s4smf6ldwivardvwnilg0p109dh51s04hqn6dna5qr9gal3ff26"
   }
  },
  {
@@ -26301,19 +26413,19 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20220313,
-    1510
+    20220501,
+    1128
    ],
-   "commit": "bdc729893ccfc52b2b7369624111cc175e4ce0b9",
-   "sha256": "1yii555k43v94cqlxv2n9k1d6pz3mjg1sc1zgpbnx5gqhzfk7m5r"
+   "commit": "7275089749779599d87bee878e5103921ea919f9",
+   "sha256": "07p8qz4fx2gvgk46sl076w1rgqmdpbxsn54m330627sla5wk5bpf"
   },
   "stable": {
    "version": [
     1,
-    0
+    1
    ],
-   "commit": "deaf16e832bbb4665fe5ccf825422566ce489ad6",
-   "sha256": "1y7ngdj2icn8zw5qpjxqj3j9dry4lb7ixgxa148ss5bgsl8pgqnd"
+   "commit": "e08d0135a7b484686a969f5987f07bc72285ded4",
+   "sha256": "1ipjrifscjynrbf0nm4siyv57cd7jdi0v16kb2byv9y0yr481ag1"
   }
  },
  {
@@ -26324,11 +26436,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20220228,
-    631
+    20220506,
+    28
    ],
-   "commit": "c0cbb8d9191a1df8a289aafc8cb94a3ebb515d6b",
-   "sha256": "102z9wl7d563x7i44zhlc81bi7k030rlzfgs5cm8vbmalgqv1c63"
+   "commit": "8d523f4fddbd8986340cf76f349ab18c0b3d5581",
+   "sha256": "0sa97bxkl04s3kg1fd6c6dynp9jklw74jkgny2qhk1d2lzc64bja"
   },
   "stable": {
    "version": [
@@ -26488,14 +26600,14 @@
   "repo": "davidshepherd7/electric-operator",
   "unstable": {
    "version": [
-    20220313,
-    911
+    20220417,
+    809
    ],
    "deps": [
     "dash"
    ],
-   "commit": "8bcc6b02722adb21d3698df46db2426718aebf70",
-   "sha256": "0xh658xwx5bbzak4axdrwx90zv9vmba8lwcma4m7scinzwhnjfx5"
+   "commit": "f567f03da4a55d6eafa0e6e148ca4884d5370498",
+   "sha256": "1km5ghqldd0avbxr9drps6pik51yfkh2dj2gg4z7jkyvi8i0cxkm"
   },
   "stable": {
    "version": [
@@ -26723,8 +26835,8 @@
   "repo": "remyhonig/elfeed-org",
   "unstable": {
    "version": [
-    20210510,
-    1219
+    20220420,
+    1234
    ],
    "deps": [
     "cl-lib",
@@ -26733,8 +26845,8 @@
     "org",
     "s"
    ],
-   "commit": "268efdd0121fa61f63b722c30e0951c5d31224a4",
-   "sha256": "0krfklh3hyc72m9llz3j7pmf63n4spwlgi88b237vcml9rhlda5b"
+   "commit": "e6bf4268485703907a97896fb1080f59977c9e3d",
+   "sha256": "1md7nxayysd6pkxyp85jmmz3jh6civpd3y0qgn0zq865jcjv86l6"
   }
  },
  {
@@ -26745,15 +26857,15 @@
   "repo": "fasheng/elfeed-protocol",
   "unstable": {
    "version": [
-    20220126,
-    1404
+    20220419,
+    1358
    ],
    "deps": [
     "cl-lib",
     "elfeed"
    ],
-   "commit": "d2e22f5506bc75dbf4ca42ac87257fd1b259dd66",
-   "sha256": "0zmalhdd4xbn9wc5dmk4511ha955smrjpmzknwkwhqn8npgbj4m5"
+   "commit": "eaf1329ff221098eb6d4709245010d070c89b173",
+   "sha256": "14zn3h7v9vygi6syjnywd5j56xlqv4a1z2grlkgrr0jd0y427jzk"
   },
   "stable": {
    "version": [
@@ -26777,26 +26889,26 @@
   "repo": "sp1ff/elfeed-score",
   "unstable": {
    "version": [
-    20220202,
-    201
+    20220428,
+    123
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "3448413280d5e8fce0d8098476d246c6c584771d",
-   "sha256": "0rkm3vyyklpcyaz7zs2a5azyf20bnbj9nd8ik3jgcg2lsd6jgj5m"
+   "commit": "419de17d681d75789271b8457509fa3f942eab54",
+   "sha256": "1mx134xj9n73v55i0yjn86zn19sg93m95gqacs2c6dxzq1v3q14f"
   },
   "stable": {
    "version": [
     1,
     2,
-    2
+    3
    ],
    "deps": [
     "elfeed"
    ],
-   "commit": "3448413280d5e8fce0d8098476d246c6c584771d",
-   "sha256": "0rkm3vyyklpcyaz7zs2a5azyf20bnbj9nd8ik3jgcg2lsd6jgj5m"
+   "commit": "419de17d681d75789271b8457509fa3f942eab54",
+   "sha256": "1mx134xj9n73v55i0yjn86zn19sg93m95gqacs2c6dxzq1v3q14f"
   }
  },
  {
@@ -26807,15 +26919,15 @@
   "repo": "SqrtMinusOne/elfeed-summary",
   "unstable": {
    "version": [
-    20220331,
-    1634
+    20220506,
+    720
    ],
    "deps": [
     "elfeed",
     "magit-section"
    ],
-   "commit": "517cea6cb6fbf95ef3cb062591364bb7bda8c251",
-   "sha256": "17ir0kmb6v9fyl6ink2mc25fxf0hs2kbcpfaxwcr8kz087n2bz7n"
+   "commit": "641a453cfd03e098b5e6376e035eafd080b08781",
+   "sha256": "00sxk4pf58678lhjmzdi42dkiiszpnnjhv0dwdgi60mc31d7kqdc"
   }
  },
  {
@@ -27038,15 +27150,15 @@
   "repo": "gonewest818/elisp-lint",
   "unstable": {
    "version": [
-    20211018,
-    212
+    20220419,
+    252
    ],
    "deps": [
     "dash",
     "package-lint"
    ],
-   "commit": "a5ae046c35a898a88eff05137fe9e5159ae610d8",
-   "sha256": "0vzgqjsx8crikr13r87vczjr47sh2xm3hckqc10s6b26hc2jbxrv"
+   "commit": "c5765abf75fd1ad22505b349ae1e6be5303426c2",
+   "sha256": "13g3nknb3rdq941avrjczvaa75jv7mdln4i65rwhz0nyh2sd6jnd"
   },
   "stable": {
    "version": [
@@ -27538,20 +27650,20 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20220411,
-    818
+    20220503,
+    833
    ],
-   "commit": "ab75cffa4572115c3d6b17348b6bfa2f746f4798",
-   "sha256": "166fjq9d883hifa35zklyjrm4c575nd6zxdx7akbwibrgwi65bl0"
+   "commit": "bf0dd36eb2f5b339c6b561dbe3ee9693565b484b",
+   "sha256": "0dv71zc95m5sa4824vk3d1xk726nh2v50i0yp6w3ydfzzsfph6j6"
   },
   "stable": {
    "version": [
     3,
-    3,
-    3
+    4,
+    1
    ],
-   "commit": "ab75cffa4572115c3d6b17348b6bfa2f746f4798",
-   "sha256": "166fjq9d883hifa35zklyjrm4c575nd6zxdx7akbwibrgwi65bl0"
+   "commit": "bf0dd36eb2f5b339c6b561dbe3ee9693565b484b",
+   "sha256": "0dv71zc95m5sa4824vk3d1xk726nh2v50i0yp6w3ydfzzsfph6j6"
   }
  },
  {
@@ -27941,20 +28053,20 @@
   "repo": "knu/emacsc",
   "unstable": {
    "version": [
-    20210302,
-    806
+    20220420,
+    1042
    ],
-   "commit": "409fc548bb650c6e832b459c756b13de68147117",
-   "sha256": "04k3gnfhqy0i4vb03k1jr3r43sfpxs6dyx863gsgz6qnkkbqrydn"
+   "commit": "199c08147ebe98da1004c478c92ba8866950b637",
+   "sha256": "0jmbvpqbywp25dgyq0pxxpggvcjkq8lpff37374if1rhiyj0qac2"
   },
   "stable": {
    "version": [
     1,
-    3,
-    20210302
+    4,
+    20220420
    ],
-   "commit": "409fc548bb650c6e832b459c756b13de68147117",
-   "sha256": "04k3gnfhqy0i4vb03k1jr3r43sfpxs6dyx863gsgz6qnkkbqrydn"
+   "commit": "199c08147ebe98da1004c478c92ba8866950b637",
+   "sha256": "0jmbvpqbywp25dgyq0pxxpggvcjkq8lpff37374if1rhiyj0qac2"
   }
  },
  {
@@ -28094,15 +28206,15 @@
   "repo": "emacscollective/emacsql-sqlite-builtin",
   "unstable": {
    "version": [
-    20220331,
-    1934
+    20220422,
+    1605
    ],
    "deps": [
     "emacsql",
     "emacsql-sqlite"
    ],
-   "commit": "0f7b7b02fb9a49fbebda2c0f830f2e43dd1e22d0",
-   "sha256": "063j84zv4zfhbgszkjy4ldqbh9ij11sfpd5l6a1hyr81ywrq45j8"
+   "commit": "3e820c66fdaa9937f9e612900954dcd6c7d01943",
+   "sha256": "1mhffs3lxw5q9gccrdpj5bdg2ks04hbp183gmdn1rl5y51x8xp96"
   }
  },
  {
@@ -28113,16 +28225,16 @@
   "repo": "emacscollective/emacsql-sqlite-builtin",
   "unstable": {
    "version": [
-    20220407,
-    1931
+    20220422,
+    1605
    ],
    "deps": [
     "emacsql",
     "emacsql-sqlite",
     "sqlite3"
    ],
-   "commit": "0f7b7b02fb9a49fbebda2c0f830f2e43dd1e22d0",
-   "sha256": "063j84zv4zfhbgszkjy4ldqbh9ij11sfpd5l6a1hyr81ywrq45j8"
+   "commit": "3e820c66fdaa9937f9e612900954dcd6c7d01943",
+   "sha256": "1mhffs3lxw5q9gccrdpj5bdg2ks04hbp183gmdn1rl5y51x8xp96"
   }
  },
  {
@@ -28259,11 +28371,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220413,
-    2146
+    20220509,
+    2259
    ],
-   "commit": "ab778510d5db9935a2d436b13d98c47b824172ee",
-   "sha256": "1w2jiv8wffm4lf22bkc4znbk20jarnpwl5483jd3bfg712ykqcsq"
+   "commit": "81c7f751be1de33dee9f7523fd3429ee3fe9a0d1",
+   "sha256": "11yvhhq251qmbnljjcfxnc53dqa63jm6ximfd0618hcwcgxlkkdc"
   },
   "stable": {
    "version": [
@@ -28282,15 +28394,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220413,
-    1944
+    20220507,
+    143
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "ab778510d5db9935a2d436b13d98c47b824172ee",
-   "sha256": "1w2jiv8wffm4lf22bkc4znbk20jarnpwl5483jd3bfg712ykqcsq"
+   "commit": "81c7f751be1de33dee9f7523fd3429ee3fe9a0d1",
+   "sha256": "11yvhhq251qmbnljjcfxnc53dqa63jm6ximfd0618hcwcgxlkkdc"
   },
   "stable": {
    "version": [
@@ -28438,16 +28550,16 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20220315,
-    1727
+    20220422,
+    1318
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "dd1ee74db3325d6a27e14df7ae882b5cbd84989a",
-   "sha256": "0s50ap75wsjapxdby7x2gk85jnsr6aaf0l1vzpb6ax96ag92d4lm"
+   "commit": "22f3d9e5359c565b33f55715f90fbde35e4f675e",
+   "sha256": "17lkc5r0zg7374fv9fqmnpdwvcyjl6q61gnwrvj3wc7ng5njjihh"
   },
   "stable": {
    "version": [
@@ -28730,8 +28842,8 @@
     "emojify",
     "request"
    ],
-   "commit": "97848eefd56b569e6090f9f09d4f1c21c57a4249",
-   "sha256": "1mvxdlr0a4rwjy0pj4n7rp00q80ah8i6cyz62wlyp942aazmjp7j"
+   "commit": "434ccc9df8eb884f248d5934e7d465348bb203a4",
+   "sha256": "07mbh3a34qcb1d37fvy3g5z3mc436lc5vlqqk46x7bjwdbkzlsfs"
   },
   "stable": {
    "version": [
@@ -28939,11 +29051,11 @@
   "repo": "zenspider/enhanced-ruby-mode",
   "unstable": {
    "version": [
-    20210120,
-    201
+    20220426,
+    1750
    ],
-   "commit": "e960bf941d9fa9d92eabf7c03a8bbb51ba1ac453",
-   "sha256": "0qmklr7d6g98ijd4l4j65x7cx18aafngppvynr4jvlinzsnr263q"
+   "commit": "f240ac00ccbbd0916b5e3d272c0064a26f527ef8",
+   "sha256": "0xh0849sr87zbmf7pqgaix6rbwsmkwpw1vqcvl9mxjqlr2ay9y05"
   },
   "stable": {
    "version": [
@@ -29188,14 +29300,15 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20220402,
-    1046
+    20220510,
+    2036
    ],
    "deps": [
-    "closql"
+    "closql",
+    "compat"
    ],
-   "commit": "eb16c8ca8cfe989ac085d335c9b17f2c496fd29f",
-   "sha256": "0wfhjz5dcws4vg8xj58qs60pr27nh1kwskfg29wcfq4gix4v701l"
+   "commit": "4524f9a8f19717c4afb84a184db7841b4ffcbf56",
+   "sha256": "01j2190srr9mkc68f1l9rcpxvqadn4qprddamj351n97079jw4cs"
   },
   "stable": {
    "version": [
@@ -29218,15 +29331,16 @@
   "repo": "emacscollective/epkg-marginalia",
   "unstable": {
    "version": [
-    20220131,
-    1328
+    20220511,
+    1942
    ],
    "deps": [
+    "compat",
     "epkg",
     "marginalia"
    ],
-   "commit": "6e6bf0c552e27416dccaf90cb2abdd37f244c2ff",
-   "sha256": "063cjypy35argxr99g23hfhls3bd04k6ywa0r5zb8721vcd6qrkr"
+   "commit": "ee784211346c7c374accec2bda78788cc68fa641",
+   "sha256": "0pl4qwh3fhrj306qrhkfgp8w3yv2hbz2y88gsx1ifsipq22n2343"
   },
   "stable": {
    "version": [
@@ -29345,14 +29459,14 @@
   "repo": "emacsomancer/equake",
   "unstable": {
    "version": [
-    20210913,
-    145
+    20220424,
+    350
    ],
    "deps": [
     "dash"
    ],
-   "commit": "4d6ef75a4d91ded22caad220909518ccb67b7b87",
-   "sha256": "11xfr71y78idcn461p4pz7b0k01nhz15cyl97bjqq6ii5xhbhvdx"
+   "commit": "ea5c0570f58b8e62249e001ed434a1056a50abe7",
+   "sha256": "0l85xks1m8yprd5q84gp0ryaagjd74kwb40r0mwdly6y4dzi0kvr"
   }
  },
  {
@@ -29840,8 +29954,8 @@
     20200914,
     644
    ],
-   "commit": "505464961f07f0991263708fd8cbf5f7ad12f53f",
-   "sha256": "149g366ijc7aqglf27xsy806az8r2s8s6p8w8rx4wvdrhds2wpl7"
+   "commit": "9a5f2b4a8cd14edbde9d16dcdfcb8db2a91be0d8",
+   "sha256": "1pn3w2prmz9ibhy5l22c6mmccr7lfy561gkd2s41hlcjsyd4ar00"
   },
   "stable": {
    "version": [
@@ -29865,8 +29979,8 @@
     20220215,
     1844
    ],
-   "commit": "ca880f9bdde00289e3e8563712a84d164abf7654",
-   "sha256": "0danaqzagnmgj8i9645pk3963qg7y79kiipmivhjyrksi2llgg9g"
+   "commit": "4bf325feb5885056ad3315d9a0316b652613b3d9",
+   "sha256": "0dwjafw8ab71bqvwpv49cwqarrcd5pa0wyh7yxjn3spnl6f80j1l"
   },
   "stable": {
    "version": [
@@ -30540,14 +30654,14 @@
   "repo": "iostapyshyn/eshell-vterm",
   "unstable": {
    "version": [
-    20211024,
-    1443
+    20220506,
+    1212
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "f2212dbfa51aa4b67efda55304b2b3811e8e0625",
-   "sha256": "02q1iyh77m7vg9cip7c9wzpiggnsbhhicfs5rqzpc5d7n70gbk2p"
+   "commit": "4e8589fcaf6243011a76b4816e7689d913927aab",
+   "sha256": "0hsby6ardi9g37agh181sgvsdvjmvi1n6jsqp34mwslwx7xxjvbv"
   }
  },
  {
@@ -31048,15 +31162,15 @@
   "repo": "tali713/esxml",
   "unstable": {
    "version": [
-    20211122,
-    1657
+    20220506,
+    759
    ],
    "deps": [
     "cl-lib",
     "kv"
    ],
-   "commit": "23c9684af4c0548dc00e28fd7b504fcfd43abb5f",
-   "sha256": "0sr31xarr8d9711x3mhy2p2wh6f5mk7j39sr5233b9qkq9a4k947"
+   "commit": "7ac1fec0e45f12836b301fd9b8e7297434db2f70",
+   "sha256": "040a9i202pxjxj34c6f49fj6rg70xha2ns6047vj3gcsa72ylm4n"
   },
   "stable": {
    "version": [
@@ -31416,8 +31530,8 @@
     20220412,
     921
    ],
-   "commit": "b3f8339f9564a1926bd8b71c163fa7660cc3b1f4",
-   "sha256": "17lbrcgddrxw111a8al3i5cgnksmkv1qi0wzqzmvvggq073mvmqr"
+   "commit": "8706c55f3b7c267c15b8f10170ecec9998b3cc3d",
+   "sha256": "0rgmfwdjv3i9v67f22k03x2rfgx12yzkjbbk4307s93qdpqqha78"
   },
   "stable": {
    "version": [
@@ -31436,29 +31550,28 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20220413,
-    2212
+    20220510,
+    2302
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "05714e8daacadb7603a05ffe81d1fbda7439a748",
-   "sha256": "0240j6xqvy6mpsj4id5xs1i5g9scipa40i02m29c0m4nw8alyg11"
+   "commit": "5a9cfbc443219c4063b17853b7828ec0a00d2736",
+   "sha256": "1vr46xn72l5m0r9v3d1xaz86q607ga5adxlqdh7mlymw15w004ha"
   },
   "stable": {
    "version": [
     1,
     14,
-    0
+    2
    ],
    "deps": [
     "cl-lib",
-    "goto-chg",
-    "undo-tree"
+    "goto-chg"
    ],
-   "commit": "4dc63903d9688e2ce838a220b0e24d8f14a64c12",
-   "sha256": "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"
+   "commit": "162a94cbce4f2c09fa7dd6bd8ca56080cb0ab63b",
+   "sha256": "1mhm1hd6gzxc2vvihh1w1j8f30xp0ssqcxnp8fx22niz04fk5df8"
   }
  },
  {
@@ -31638,15 +31751,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20220414,
-    250
+    20220505,
+    619
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "ceac1a9681cb47de35aa37d63532b1b92cd58b72",
-   "sha256": "1w77sbfgpyhg0631a3f8lfi4qg5ncqalklkx21fpx2195lsjhd17"
+   "commit": "9707efcae4fc76fa204b1c29565aae35b99b865a",
+   "sha256": "0iyhxmaiqk0c72lmggv9jppxmlkb0vd9y0zqxgzjnznz9p08l3vz"
   },
   "stable": {
    "version": [
@@ -32204,26 +32317,26 @@
   "repo": "redguardtoo/evil-matchit",
   "unstable": {
    "version": [
-    20220404,
-    221
+    20220513,
+    230
    ],
    "deps": [
     "evil"
    ],
-   "commit": "1884276feca8bd927a371760673b0f99d734e1c5",
-   "sha256": "12as39q0ya1174h867fkz3g3vph8mdni6k0mbdfb8r3l6x7rw6sl"
+   "commit": "b47931128c6b7924ea432895f469769986de410d",
+   "sha256": "1zjdwqqrc2znk2y8f424ygnkxsvx0hq46gicjb4nllbvvvbx6kyb"
   },
   "stable": {
    "version": [
     2,
     4,
-    3
+    4
    ],
    "deps": [
     "evil"
    ],
-   "commit": "1884276feca8bd927a371760673b0f99d734e1c5",
-   "sha256": "12as39q0ya1174h867fkz3g3vph8mdni6k0mbdfb8r3l6x7rw6sl"
+   "commit": "b314e816bacfc01bb7df9b19a06b18638af5cdbe",
+   "sha256": "01r85bnmqbmvwlhv5ihglp0dhws1g2wsw2vy0vsw5mi5mmx2xsqr"
   }
  },
  {
@@ -32339,11 +32452,11 @@
   "repo": "redguardtoo/evil-nerd-commenter",
   "unstable": {
    "version": [
-    20220404,
-    301
+    20220414,
+    1201
    ],
-   "commit": "29ced6fda6a76771a8a054ef55c13a1330793d4d",
-   "sha256": "0xnm8i23c2p3mdf4xxjk00766ygvysk7c8iib2jkah5pfg6jc9vb"
+   "commit": "95ed1ad2448e7f49f1ee417061b61edbb69a0749",
+   "sha256": "0hypgk03yksvgakx24mrz9nrx2z0d691ls80by2fw96788d68k8x"
   },
   "stable": {
    "version": [
@@ -32773,15 +32886,15 @@
   "repo": "hlissner/evil-snipe",
   "unstable": {
    "version": [
-    20220403,
-    1639
+    20220428,
+    1432
    ],
    "deps": [
     "cl-lib",
     "evil"
    ],
-   "commit": "1444065e3fb637ec3c976ce68a4679625713b1d5",
-   "sha256": "1lzjw22fmjhw1ivnn9053n3zicnb8k2jgwyzvyv6x29fvqhw5xgb"
+   "commit": "c07788c35cf8cd8e652a494322fdc0643e30a89f",
+   "sha256": "06zhpsmn67f2n0f2yqzcv978l10nkvdr25kkl3cwkhhj9a56x62g"
   },
   "stable": {
    "version": [
@@ -32867,13 +32980,13 @@
   "repo": "emacs-evil/evil-surround",
   "unstable": {
    "version": [
-    20220412,
-    1724
+    20220504,
+    802
    ],
    "deps": [
     "evil"
    ],
-   "commit": "2bc8aa6425f1311e985cf51ea6b5233c1ee6ce1c",
+   "commit": "c9e1449bf3f740b5e9b99e7820df4eca7fc7cf02",
    "sha256": "1ghc10rsrfvmd7m5qf7695gz241v9m5c2fg2mflwy8pw0h2l9nki"
   },
   "stable": {
@@ -32940,14 +33053,14 @@
   "repo": "7696122/evil-terminal-cursor-changer",
   "unstable": {
    "version": [
-    20211225,
-    600
+    20220422,
+    255
    ],
    "deps": [
     "evil"
    ],
-   "commit": "3d7db4d6b4a3121ffd7e505b12ea94fcdb8c5df8",
-   "sha256": "01haj9b1vhgmnc12csdfsw0lwv2kvgka9k0smlcc6rr840aapi72"
+   "commit": "69d562932f9ab9869ab1ed923e9789cbfa0ff14c",
+   "sha256": "14d9hyv2hhv0vzvmq5m1d59imzxmlm1qc484kn3sbc99553q0s1x"
   }
  },
  {
@@ -32958,26 +33071,26 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20201008,
-    1515
+    20220425,
+    2132
    ],
    "deps": [
     "evil"
    ],
-   "commit": "05714e8daacadb7603a05ffe81d1fbda7439a748",
-   "sha256": "0240j6xqvy6mpsj4id5xs1i5g9scipa40i02m29c0m4nw8alyg11"
+   "commit": "5a9cfbc443219c4063b17853b7828ec0a00d2736",
+   "sha256": "1vr46xn72l5m0r9v3d1xaz86q607ga5adxlqdh7mlymw15w004ha"
   },
   "stable": {
    "version": [
     1,
     14,
-    0
+    2
    ],
    "deps": [
     "evil"
    ],
-   "commit": "4dc63903d9688e2ce838a220b0e24d8f14a64c12",
-   "sha256": "17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"
+   "commit": "162a94cbce4f2c09fa7dd6bd8ca56080cb0ab63b",
+   "sha256": "1mhm1hd6gzxc2vvihh1w1j8f30xp0ssqcxnp8fx22niz04fk5df8"
   }
  },
  {
@@ -32988,15 +33101,15 @@
   "repo": "iyefrat/evil-tex",
   "unstable": {
    "version": [
-    20220412,
-    639
+    20220415,
+    842
    ],
    "deps": [
     "auctex",
     "evil"
    ],
-   "commit": "ae397c8bfe8d16e54e96a9955273b767fc2347fd",
-   "sha256": "1lz787yshg8zadd9bplx0cppn4ch7sfrwppa5spivnysnnxh876k"
+   "commit": "26035ec9a09f8b38ce0d495ff788e83ec8b195d5",
+   "sha256": "0agaibr21ncrv7zv1x24za2v4x35ihp0jv33z7zmgixqmlq074i5"
   },
   "stable": {
    "version": [
@@ -33167,15 +33280,15 @@
   "repo": "meain/evil-textobj-tree-sitter",
   "unstable": {
    "version": [
-    20220404,
-    1501
+    20220423,
+    947
    ],
    "deps": [
     "evil",
     "tree-sitter"
    ],
-   "commit": "e5fda8eca926e65f7aadc9ed27d768eb6d1d415f",
-   "sha256": "00r744a9yym36by50d94xarnk0pcdvikka65681j1wrwcxv9narm"
+   "commit": "bfdef5a292f7dde36967bb86eb2f7009b03631b1",
+   "sha256": "18nxwn051rq2r4jhc21hy2lmla7aghc2l9cvj7ib97q2l4f0jv64"
   }
  },
  {
@@ -33204,8 +33317,8 @@
   "repo": "ethan-leba/tree-edit",
   "unstable": {
    "version": [
-    20220319,
-    1652
+    20220425,
+    2355
    ],
    "deps": [
     "avy",
@@ -33214,8 +33327,8 @@
     "tree-edit",
     "tree-sitter"
    ],
-   "commit": "774a1e9598617f334fcd31aa606c5e738012fb60",
-   "sha256": "1bc51pmrr37yf116vmw436y2gidr5410ya2vlylrh3scssyd6zgw"
+   "commit": "eafee31ca4f532a9dbee326d3ec3bdd1e997223b",
+   "sha256": "1p8ghpj83smh1bh38ydhlpyaxfdx0f83wp4sdgzv3zxdfydmb4n9"
   }
  },
  {
@@ -33410,6 +33523,21 @@
   }
  },
  {
+  "ename": "evm-mode",
+  "commit": "6318c712774eff8dab62bcf13f9c70290d5d48ec",
+  "sha256": "0b15hf9k6p2f8k233q04p6vqicdz7q8838pxihsiklzbngr5qkn5",
+  "fetcher": "github",
+  "repo": "taquangtrung/emacs-evm-mode",
+  "unstable": {
+   "version": [
+    20220503,
+    1106
+   ],
+   "commit": "2b326751c9421842521e851d969b9c269c79f8b3",
+   "sha256": "1igbahaazscn80ny9ix3kvznbz6rl5b59a0jjzz1zcqkwspc5dgc"
+  }
+ },
+ {
   "ename": "ewal",
   "commit": "b95fa8694bd49595da9fb56454e6539e76feff97",
   "sha256": "1gwq8n64v173g2jp2i23qm9lzbhjikr6y0j6nry720sa7j0y4pm2",
@@ -34188,15 +34316,15 @@
   "repo": "rejeep/f.el",
   "unstable": {
    "version": [
-    20220405,
-    1534
+    20220511,
+    1502
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "b5cb884b3b4372a6f3d1d4428cf092ca1e5c8044",
-   "sha256": "04wa28css71k5h7faxybczl0qy008kk1m5pdfb53g7ybjrn5cxdn"
+   "commit": "ad2c7dd369a15988f1c6298b5edb901ce2e1f446",
+   "sha256": "0rjggym7a7sb12bspdydk2vx12hqjqv0qmkpfi0z6s7mcnpl7fhq"
   },
   "stable": {
    "version": [
@@ -34359,11 +34487,11 @@
   "repo": "WJCFerguson/emacs-faff-theme",
   "unstable": {
    "version": [
-    20220407,
-    145
+    20220512,
+    21
    ],
-   "commit": "f824c3f55ea42d65e0b632879c6948d3eb43b2f3",
-   "sha256": "1i36ndcak5svml173v98dnw9vwa8bc0qxhnkwsrwmrnvg44rw0a0"
+   "commit": "33b3344848ae17d45c19d222e53b368ea6867e7e",
+   "sha256": "1yi2xzp1a945p11h6ac5ci0n56ffd40sm3ja6i4hrw4dd41axgyg"
   },
   "stable": {
    "version": [
@@ -34791,11 +34919,11 @@
   "repo": "michaelklishin/cucumber.el",
   "unstable": {
    "version": [
-    20200815,
-    1617
+    20220418,
+    848
    ],
-   "commit": "8e1464113b489b54067294cd988ff6a11a423fdb",
-   "sha256": "1lmfksx49ig4b7nqg0mmaalz08b280iaqgsc0x9i471m9kvbisp7"
+   "commit": "e204d9e204b767cf95d6a051ff283f05dc51e9d3",
+   "sha256": "0zg4nkwfwmil2a3n2gnrwsj14dkwb1hm1mbcgcrg2dgvh45idns6"
   },
   "stable": {
    "version": [
@@ -34859,11 +34987,11 @@
   "url": "https://git.sr.ht/~technomancy/fennel-mode",
   "unstable": {
    "version": [
-    20220329,
-    116
+    20220510,
+    748
    ],
-   "commit": "50ef3c6246f36085cd908cf5432133cadb792304",
-   "sha256": "0rk5x4ipam32aizdjinhbmb0cjg7wakdh78fnm60jc7a07175ip3"
+   "commit": "0e9ed013a163d91993a2883ad5c37c02694c2b92",
+   "sha256": "0rdrap1kyj0csaa25d46xvb5hgbwlcqvmwrq6yicmbsnpdrwpwy7"
   },
   "stable": {
    "version": [
@@ -34872,7 +35000,7 @@
     1
    ],
    "commit": "54ed0792d0ac43a2d5db39741cf070c627368419",
-   "sha256": "1bfd983zdhq097bb101k8p7x4jkmkgaxfj7s7aiyf4s3zq84v6xy"
+   "sha256": "0dwas3ivhxdyw6njkcadc8c17cirq325cmby04qls8zkmrvlil1w"
   }
  },
  {
@@ -34905,8 +35033,8 @@
     "f",
     "s"
    ],
-   "commit": "f261845c9b051614a8408be4c772912b12e8f2c9",
-   "sha256": "0kb1yafk1hrc80l7r6q2ffq1pmy93xajahrdrs6w37qyn00pwp32"
+   "commit": "d81983cf389dd5d2ec6cf9d702ff28ffd1be676b",
+   "sha256": "109d5sz2prlih28nbzaq3anyr7kyjm9cr7krndgsf7n68w6dz5b4"
   },
   "stable": {
    "version": [
@@ -35079,8 +35207,8 @@
     20210707,
     354
    ],
-   "commit": "68fc17bd7e7cfdcdfc25b8c30fe44a3e8c165dd5",
-   "sha256": "0h31p0dxs6gyphcmn0s5bay653fmdqmyj4yzb42bhngpdid0ykb6"
+   "commit": "02ab2b3854df5515245ca2a924f89bf830f9c4de",
+   "sha256": "1jp3jcr9ni3rslhjv3wg7gqjg2iihdi3six4b65chcxryhkd21jd"
   },
   "stable": {
    "version": [
@@ -35115,11 +35243,11 @@
   "repo": "duckwork/filldent.el",
   "unstable": {
    "version": [
-    20220103,
-    10
+    20220423,
+    2216
    ],
-   "commit": "5969bdf50a1fcf0bd3a1507782152effb5be85e7",
-   "sha256": "05g8jwd7qq3g6viayhr7szjb5vfj53ynj2krxnhl7cgqbpfbaq4v"
+   "commit": "2f32e0cf5e27c613f962fa41bf3427bbdc04e6c0",
+   "sha256": "02hjn163f8pvs3p4ka879fizlivaxhvj1lzkma5fgrrwzhhg5nh8"
   },
   "stable": {
    "version": [
@@ -35226,20 +35354,20 @@
   "repo": "redguardtoo/find-file-in-project",
   "unstable": {
    "version": [
-    20220125,
-    726
+    20220430,
+    107
    ],
-   "commit": "204b3d489a606c6e7b83518e46be3bbcef1bcb3d",
-   "sha256": "0h22rh88i11sz0kh1pq9fc9w58lja00xrany6mcy1hr6l0wy2g5h"
+   "commit": "116b976b526680c038109882d5cd2d9f218b62a5",
+   "sha256": "0sq8fyq19jw1hm0m6hiqnvzzvx0c3xigfx7x6i40ib5hnfjlqs0a"
   },
   "stable": {
    "version": [
     6,
-    1,
-    2
+    2,
+    0
    ],
-   "commit": "52274e6001545bdf45c6477ba21bfaa8eca04755",
-   "sha256": "0v5c9cnwlbw6jj371swhd5bs8sb2zf6g5yjvhdsfnxly7g3dg636"
+   "commit": "116b976b526680c038109882d5cd2d9f218b62a5",
+   "sha256": "0sq8fyq19jw1hm0m6hiqnvzzvx0c3xigfx7x6i40ib5hnfjlqs0a"
   }
  },
  {
@@ -35348,8 +35476,8 @@
   "repo": "LaurenceWarne/finito.el",
   "unstable": {
    "version": [
-    20220307,
-    1527
+    20220427,
+    1932
    ],
    "deps": [
     "async",
@@ -35360,13 +35488,13 @@
     "s",
     "transient"
    ],
-   "commit": "6e707da7ffc87d4e90c90694004d91dfa8b1d4ca",
-   "sha256": "16cxd0hdn7wn3v8bwrr06y1q0grcllqj5qyajhbrlqwws1y86d0h"
+   "commit": "a0fe025086046aecf5490c993afe9e716324f7e5",
+   "sha256": "0g5pv08mv4c9jscsp1cyldwi3xdyppys6m1bsq293v5kk38agmdf"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
@@ -35378,8 +35506,8 @@
     "s",
     "transient"
    ],
-   "commit": "b7cbb5fa672031cbc9d7de18797ecdd2df8e224f",
-   "sha256": "00rimqh2hmz9hzqq5piq0bn60rh820ym18r7irh6dv4vdk06zww8"
+   "commit": "a0fe025086046aecf5490c993afe9e716324f7e5",
+   "sha256": "0g5pv08mv4c9jscsp1cyldwi3xdyppys6m1bsq293v5kk38agmdf"
   }
  },
  {
@@ -35528,11 +35656,11 @@
   "repo": "wwwjfy/emacs-fish",
   "unstable": {
    "version": [
-    20210215,
-    1114
+    20220505,
+    1111
    ],
-   "commit": "a7c953b1491ac3a3e00a7b560f2c9f46b3cb5c04",
-   "sha256": "1spxxkji9xa930sbwvzyjm8jrqk9ra0xqhivw7zd12a4c56nhna9"
+   "commit": "d04478c0aba018cb789d77d591bfe315cb25132a",
+   "sha256": "1dkimwhf7l6bcv6wyh0x4z1zp28kcdakzpz20q279amghif4dymd"
   },
   "stable": {
    "version": [
@@ -35921,15 +36049,15 @@
   "repo": "wanderlust/flim",
   "unstable": {
    "version": [
-    20210529,
-    1253
+    20220503,
+    1442
    ],
    "deps": [
     "apel",
     "oauth2"
    ],
-   "commit": "02735dede6603987e8309a76d0bc7a9ff9a5a227",
-   "sha256": "1jy2wsm1xc6iaxa449wwz14ky4yiaxd8g05ry59r9pf60cpxxy1h"
+   "commit": "289e5bbd66f6f14306a6e0b922ee8f26267e2470",
+   "sha256": "00w0381nngj497jf240zrh26hhanm6fn9xl74k1f94crsfva3ccq"
   }
  },
  {
@@ -36038,32 +36166,32 @@
  },
  {
   "ename": "flower",
-  "commit": "c8a731715d360aea9af2b898242fd4eee5419d14",
-  "sha256": "1cb9ppgspdrg4yrrlq4sfajpa6s7xiwvdf9b3947rmmxizgqgynd",
+  "commit": "4f045c15da285bbc438b581489ca0e2a4dbd5071",
+  "sha256": "1ah2l1y8j1cvjqvd2mz82y4s43v4j54m24v2g0icnr3cgvj5wphk",
   "fetcher": "github",
-  "repo": "PositiveTechnologies/flower",
+  "repo": "FlowerAutomation/flower",
   "unstable": {
    "version": [
-    20201022,
-    1904
+    20220416,
+    1744
    ],
    "deps": [
     "clomacs"
    ],
-   "commit": "0d5dd8b9b844adab1a1b7a9641daa9e98918712c",
-   "sha256": "0d2vl8lclwcn03p4ch0alb5ib0hbjp1ry5g3mkchd0pzwx6wwsrz"
+   "commit": "047846409867b2dd0ba4e2047a414b498680cd9c",
+   "sha256": "0bbmyd03rhpkifgjk60pfg0knqh2d7nl3qfi0rzqk44f2f556j89"
   },
   "stable": {
    "version": [
     0,
     4,
-    6
+    7
    ],
    "deps": [
     "clomacs"
    ],
-   "commit": "6ef1affa2d7090714ccc4494823de28cfc11da35",
-   "sha256": "1dp3g52j1i49bv802g27b7yszpxz0i28i4j74qp39qlld3k0gys0"
+   "commit": "0d5dd8b9b844adab1a1b7a9641daa9e98918712c",
+   "sha256": "0d2vl8lclwcn03p4ch0alb5ib0hbjp1ry5g3mkchd0pzwx6wwsrz"
   }
  },
  {
@@ -36089,11 +36217,11 @@
   "repo": "amake/flutter.el",
   "unstable": {
    "version": [
-    20220220,
-    1423
+    20220502,
+    50
    ],
-   "commit": "08138f8c95488aaf315a1f5d52c33deb8d28672b",
-   "sha256": "0h4r6m9yi5pvqlc4a3m2kc8jl1ywp4vv8bgmnkzy1aa7i8lb94c3"
+   "commit": "e49cbcb70235fa39a7d243521e03ad874451a39a",
+   "sha256": "1hjfkcdi99yfld9jakhhrncpm2yvg03xz35dngc6nn23dkwdpidm"
   }
  },
  {
@@ -36104,15 +36232,15 @@
   "repo": "amake/flutter.el",
   "unstable": {
    "version": [
-    20220213,
-    1335
+    20220502,
+    50
    ],
    "deps": [
     "flutter",
     "flycheck"
    ],
-   "commit": "08138f8c95488aaf315a1f5d52c33deb8d28672b",
-   "sha256": "0h4r6m9yi5pvqlc4a3m2kc8jl1ywp4vv8bgmnkzy1aa7i8lb94c3"
+   "commit": "e49cbcb70235fa39a7d243521e03ad874451a39a",
+   "sha256": "1hjfkcdi99yfld9jakhhrncpm2yvg03xz35dngc6nn23dkwdpidm"
   }
  },
  {
@@ -36222,8 +36350,8 @@
   "repo": "flycheck/flycheck",
   "unstable": {
    "version": [
-    20220328,
-    1518
+    20220504,
+    830
    ],
    "deps": [
     "dash",
@@ -36231,8 +36359,8 @@
     "pkg-info",
     "seq"
    ],
-   "commit": "55f25fd98abc145c0c464756504132c271f0f039",
-   "sha256": "0z1j5w7kifk130ijgkajbxg7n3kj3znn3rd4kwpxb2njwi5ml18x"
+   "commit": "1d7c1b20782ccbaa6f97e37f5e1d0cee3d5eda8a",
+   "sha256": "01hr9xpjyws32aap2jlyncbgl1rfig8ylspln01yxf1lljysicc2"
   },
   "stable": {
    "version": [
@@ -36322,8 +36450,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "5ec0f9b28b1d86eec192b23bc24d9a33dfe51882",
-   "sha256": "02qv8gxlnasak87gggfg1643m5281fzjh4snpq1gjwyv6biqlldz"
+   "commit": "dcf7e6543e4d94d58375e00e4a10db615ef06941",
+   "sha256": "05fvfjsqvli3v809m0jdyh7970ldqdjv8x5bk1vr7a2rawk96ns9"
   }
  },
  {
@@ -37148,8 +37276,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "69ccdf4b6e9cd87e8cce615884287b65d6ee6bb6",
-   "sha256": "1xk9ya7267yx8419cb9bm79p0nbxp9974lswypgxv90l4ra5p1jb"
+   "commit": "c52ba814f299f62a2a339bae679f3d6d04566854",
+   "sha256": "11l69nj1f61lvw4arn9k0g9n5pczypn15qq4c02x1kljjlx0h1zs"
   },
   "stable": {
    "version": [
@@ -37227,8 +37355,8 @@
     "grammarly",
     "s"
    ],
-   "commit": "b3c9c3f0e1f8954dcee9cd6661a8e39c6d7eddb9",
-   "sha256": "0vdcsy8hgs7pn9pinp1kv3bzxjqcp1ba43licinkxfpf08laiwdc"
+   "commit": "abc66e71d542f65a90c394058cdd3a7b2002c6a6",
+   "sha256": "0irp6cpi9qy80wssrncdlxjr2612l2mnprrfjjm5hjggflp5wygg"
   },
   "stable": {
    "version": [
@@ -37283,8 +37411,8 @@
   "repo": "flycheck/flycheck-haskell",
   "unstable": {
    "version": [
-    20211223,
-    104
+    20220426,
+    2358
    ],
    "deps": [
     "dash",
@@ -37293,8 +37421,8 @@
     "let-alist",
     "seq"
    ],
-   "commit": "8110ef5a1953594d065b67df25d5f0c05c711df4",
-   "sha256": "1qdgcykn2rdf9jj9pzd0zyk7pdcf9lr942hr6w3kmkc299qiajf8"
+   "commit": "d92dea78fb8638f7c27a3eb925d84c669fb257dd",
+   "sha256": "0sv8k40h4qxlfwz2g8qzrri5vwwan5aadk9snaif10ix84zyfzbn"
   },
   "stable": {
    "version": [
@@ -37653,8 +37781,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "60b1098139d5367c2d07b615d80d83f39ee316bc",
-   "sha256": "13rz1fy7pj16lfwnvhrgr1wzv32kiqvibi2sssb3vwnv6qfg885i"
+   "commit": "63674d8b928377d763df40317e15f4ca257f77d6",
+   "sha256": "14fjv2wckymhfw0sm89bkbn6lvmcxsivv5m1dva0wr5j0gppaj47"
   },
   "stable": {
    "version": [
@@ -38354,14 +38482,14 @@
   "repo": "Raku/flycheck-raku",
   "unstable": {
    "version": [
-    20210814,
-    903
+    20220420,
+    732
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "50ac228e658a7f86efc298ee3ebd0b9706f083d0",
-   "sha256": "18wyd7w26wkdpvr76rhblh368dqly7dldkcd71ddjkdi10zas493"
+   "commit": "4da1970a75396aff1957b07f7579c1de6b817e6b",
+   "sha256": "1dwi6zz4jk807r4vx26bldzh7zhk5gb2p6045ss5sgjcirsllvn2"
   }
  },
  {
@@ -38865,8 +38993,8 @@
     20220411,
     826
    ],
-   "commit": "5ec0f9b28b1d86eec192b23bc24d9a33dfe51882",
-   "sha256": "02qv8gxlnasak87gggfg1643m5281fzjh4snpq1gjwyv6biqlldz"
+   "commit": "dcf7e6543e4d94d58375e00e4a10db615ef06941",
+   "sha256": "05fvfjsqvli3v809m0jdyh7970ldqdjv8x5bk1vr7a2rawk96ns9"
   }
  },
  {
@@ -38899,6 +39027,25 @@
   }
  },
  {
+  "ename": "flymake-collection",
+  "commit": "125055719b7be14d8fd808ea48714108bd02d9e5",
+  "sha256": "1yixy4gx160s006as8bm95gkcw8z171xj65alrv8nymjb5gy8nh7",
+  "fetcher": "github",
+  "repo": "mohkale/flymake-collection",
+  "unstable": {
+   "version": [
+    20220410,
+    1343
+   ],
+   "deps": [
+    "flymake",
+    "let-alist"
+   ],
+   "commit": "8f36fed9eef834cf94931fc8b813f9ac8db6d2a4",
+   "sha256": "0586g7qdcp2bh51ll1sv73ji6vh8l3xxsndpkqxgfkyckmc3iyhh"
+  }
+ },
+ {
   "ename": "flymake-css",
   "commit": "cae2ac3513e371a256be0f1a7468e38e686c2487",
   "sha256": "0kqm3wn9symqc9ivnh11gqgq8ql2bhpqvxfm86d8vwm082hd92c5",
@@ -38935,14 +39082,14 @@
   "repo": "flymake/emacs-flymake-cursor",
   "unstable": {
    "version": [
-    20210126,
-    1733
+    20220506,
+    1458
    ],
    "deps": [
     "flymake"
    ],
-   "commit": "3163144d06fe1f9b10bc5a711ac22e5619aabc52",
-   "sha256": "1qhbijl750gbrwyi0lalrqapvzqrlxk0vf5zsf5iypgkxp02lv61"
+   "commit": "6ce75c17bc02ae9755deda50d5ac366785c94091",
+   "sha256": "0nbggmz3b6r2rixbn20r58dca05h45lsdyfbbw74syd4fv5g8s9c"
   },
   "stable": {
    "version": [
@@ -39169,8 +39316,8 @@
     "grammarly",
     "s"
    ],
-   "commit": "665f1404b4f99e5f067445f368042d3ec9388925",
-   "sha256": "0mjx0n1zh9chx6ywymrvb29br7zbxx8xxi93fy7kwcv0jk1jzysx"
+   "commit": "74ab6bb817205dbf1cd77a161be76904c1e17b75",
+   "sha256": "0ngs38h3zcg2znqbfy0m886g4spn39bnch4s1zcl8f8zcn3s24mg"
   },
   "stable": {
    "version": [
@@ -39425,14 +39572,14 @@
   "repo": "emacs-languagetool/flymake-languagetool",
   "unstable": {
    "version": [
-    20220414,
-    109
+    20220512,
+    2355
    ],
    "deps": [
     "s"
    ],
-   "commit": "47170c0fffc95f965d4e1ef742cf052cfadd3439",
-   "sha256": "0na86dg6z75rycqpbg0f0mlzxzyjwvr78qjcvj1sh9pq8dwcilbl"
+   "commit": "c24339b50a4b42cc2bd7e8e167c77a75d8227774",
+   "sha256": "1lvpyn9s3x9wyhdsa9krra03appn8p0dv8086hixpmqm10d21wl1"
   },
   "stable": {
    "version": [
@@ -39548,8 +39695,8 @@
    "deps": [
     "flymake"
    ],
-   "commit": "ca33d4816f30dfc589eaf9b38988607d622b6a3e",
-   "sha256": "0yfcghkbvi5f5vz1xigl0r0dl3091g5j9zafjy2pk2m8mh2jsnpw"
+   "commit": "06d819c6d1292f8c87ebc0681c83c9fb48620bbe",
+   "sha256": "1blzcr2c176wlqv8fr4mna0qqm20cd77s8b4gz21jzrq44d7qqf8"
   },
   "stable": {
    "version": [
@@ -39637,8 +39784,8 @@
    "deps": [
     "flymake-easy"
    ],
-   "commit": "58aa83015faa491e336357a9a8592604fba52701",
-   "sha256": "1kl6b40a6p8nbhf4i6iv0wgn4dcfwpiw3s2hfyk6vp7lryc9jakn"
+   "commit": "10d3e7e1c31c104e3da694b2b52cd34df61efa5e",
+   "sha256": "1gzg5xz2vchz6kq7hyc1pvd250kfnwkpy88gmh857v3mnzrq71dg"
   },
   "stable": {
    "version": [
@@ -39769,34 +39916,35 @@
   }
  },
  {
-  "ename": "flymake-rest",
-  "commit": "810164452024d14dc4d31c7ed7a0ca4ca3f4eef1",
-  "sha256": "1bicrsmcdfy6fbpc59fv283n6vki4pcqaklwvalrzj8yylc2aifz",
+  "ename": "flymake-rakudo",
+  "commit": "deae8f07ccee183288487c3fd3580705feae0fae",
+  "sha256": "15gsmwai127i6zrn5iqvd927qlij63gri6rdnws77h5320gg42x1",
   "fetcher": "github",
-  "repo": "mohkale/flymake-rest",
+  "repo": "Raku/flymake-rakudo",
   "unstable": {
    "version": [
-    20220409,
-    1233
+    20220424,
+    637
    ],
    "deps": [
-    "flymake",
+    "flymake-collection",
     "let-alist"
    ],
-   "commit": "4b7051222b64650e2ec8c8340fdbe792138ede83",
-   "sha256": "1bxyhqz4rgclqp4p29jkr5wvg143cd1f8nlv38zj23x8hfp2n6si"
+   "commit": "f8e3d03a7207876cd891174702efd572d74f2e49",
+   "sha256": "1j6v1hdwp1jidx9i28gfkzp9hllzkw3r5qd3ggrb96lbqc5hmyi5"
   },
   "stable": {
    "version": [
-    1,
     0,
+    1,
     0
    ],
    "deps": [
-    "flymake"
+    "flymake-collection",
+    "let-alist"
    ],
-   "commit": "1fc9cd28e6f8527a7e5ae0333e487bf3354fa36c",
-   "sha256": "0rcx89v3hffk4rbwqfr2ai3bg61shqcg92qj4idsc45xdj6fk9rw"
+   "commit": "f8e3d03a7207876cd891174702efd572d74f2e49",
+   "sha256": "1j6v1hdwp1jidx9i28gfkzp9hllzkw3r5qd3ggrb96lbqc5hmyi5"
   }
  },
  {
@@ -40531,8 +40679,8 @@
     20170305,
     1356
    ],
-   "commit": "b64edc9f350beef07168621933d3e287bce28434",
-   "sha256": "1yss4akandva0rg05g6vfwjk3q9yj6p0pg85nq5glv1qxdx1rvxn"
+   "commit": "a5fafe89d4032fd1f0c21b7b04708ef2cce2517b",
+   "sha256": "0m9dwcgja1d33h6d5fbc42lgfxafwvzc3zwnj4ywx6vai9yqljhd"
   },
   "stable": {
    "version": [
@@ -40616,8 +40764,8 @@
     20191004,
     1850
    ],
-   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
-   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
+   "commit": "2f38f3583295e05c9ea491b7d1f6b4791169ba86",
+   "sha256": "0jyy8nl4r70l0dwc55lg75k7chcwb9zprl185x0122fjqgmnq1ri"
   }
  },
  {
@@ -40694,11 +40842,12 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20220407,
-    1932
+    20220506,
+    420
    ],
    "deps": [
     "closql",
+    "compat",
     "dash",
     "emacsql-sqlite",
     "ghub",
@@ -40708,8 +40857,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "22c43d3471760dfe00cff0f27e8349ce0e3cb247",
-   "sha256": "1d0npv5vwp5nb0cl6dp917qg8c5w305w7k18hqm9kwz6wxn7v2cv"
+   "commit": "05babf69068de7a982bd2e8ad888f37dc7319003",
+   "sha256": "02mck5c2cbz61j2xwgpwaqlpbnp5svn6g05lylhmw7g0sprzcdvb"
   },
   "stable": {
    "version": [
@@ -40764,15 +40913,15 @@
   "repo": "lassik/emacs-format-all-the-code",
   "unstable": {
    "version": [
-    20220412,
-    1141
+    20220510,
+    2108
    ],
    "deps": [
     "inheritenv",
     "language-id"
    ],
-   "commit": "a07bf109ce8e27458a40420508943f53856549fc",
-   "sha256": "0sj30s70nmm09rlq5h2fxjmrlw2mcwq30ncwqvlxqawpfpxzn5yj"
+   "commit": "828280eaf3b46112e17746a7d03235570a633425",
+   "sha256": "157bn3s0lrmfjzp7a8sw8sqbblp5r85yaqb1phjk0prvdn798q2n"
   },
   "stable": {
    "version": [
@@ -40915,8 +41064,8 @@
    "deps": [
     "seq"
    ],
-   "commit": "0aab300c0a6225d93087ae112f123eb89048ce1d",
-   "sha256": "102g7n43ji47ssj7rdyx34frbgl84lgmppww4f3x6wbkvfwa2p6f"
+   "commit": "fba17c2b316122e26292ba995f1c62191b7b3eb0",
+   "sha256": "1ryj8qm8zgbms98vbzj728f57mq92vf8rp04aql4zq2ryzxv2rnd"
   },
   "stable": {
    "version": [
@@ -41069,11 +41218,14 @@
   "repo": "tarsius/frameshot",
   "unstable": {
    "version": [
-    20220407,
-    1933
+    20220509,
+    2010
    ],
-   "commit": "e33a2cfd591f59fe75723c556285669858d714bf",
-   "sha256": "0n94pn68bchm3s12mj0s46m3kvsrp4ijh0rry29azbkb4k0p791k"
+   "deps": [
+    "compat"
+   ],
+   "commit": "ea57484dbba917a437ad3a20ea956aa2275bdc9a",
+   "sha256": "18hv2ldysxf5s46a2pjbxfq9fc3bkbdlkr01mfqk7ghs0wg6h6xs"
   },
   "stable": {
    "version": [
@@ -41391,16 +41543,16 @@
   "repo": "waymondo/frog-jump-buffer",
   "unstable": {
    "version": [
-    20220129,
-    539
+    20220414,
+    1935
    ],
    "deps": [
     "avy",
     "dash",
     "frog-menu"
    ],
-   "commit": "d82cc1a449d368f5a3dac61695400926da222a84",
-   "sha256": "0c8x5a0rlyys8dqxsliy4m35c338srffl5387bmyzj68dj43vbfh"
+   "commit": "ff0cfe9cb4a60d855f0754b741a9417ee413dee0",
+   "sha256": "0pp0z6zk6lni6pgkrh8is4c99v6npddaarsykwdxai0qxim9q4f3"
   }
  },
  {
@@ -41460,11 +41612,11 @@
   "repo": "fsharp/emacs-fsharp-mode",
   "unstable": {
    "version": [
-    20220408,
-    1321
+    20220429,
+    1847
    ],
-   "commit": "454a4ac3efaec2109178c3b0ca7392ce2818ec26",
-   "sha256": "1zdah0d52806bkbm24lz0hl9z97224w1k6r8c0fbyyi16265ghc3"
+   "commit": "5208b54098c7534f4768b87c5f4c8a01b638737b",
+   "sha256": "04s37djxzy8v5xwc5hh8gq37zh7f6ih3y07g07q2fc39rk1xslpd"
   },
   "stable": {
    "version": [
@@ -41530,8 +41682,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "60005b6cfda0ae7d5c21e5a59f6edc90bd9707cc",
-   "sha256": "1h3sn8g5vb2gr4czrfdsm30c2cv7jm0455zj8ca9z9kapa43fmdi"
+   "commit": "041430cda31c73fd51d7c16e736dcf08db13eb11",
+   "sha256": "10kv8hpqh08mgyhn04i72kvzncdaqyflai6h0flg89wv1air0m46"
   },
   "stable": {
    "version": [
@@ -41684,14 +41836,14 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20220331,
-    1711
+    20220425,
+    1144
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f5daf5c340ed1242756e0d72f70ff6f9af6358e3",
-   "sha256": "1fyqrzrwpgv4cizqznaad98xpdk8mxd635kqxsl54n9f96ra2hd2"
+   "commit": "7fd0a3c6c96ed8afd0249ab0734d9b63d4fd1cb1",
+   "sha256": "06y66lzhw2vl5y3lpcmgn71rpshq07ljah2p2ksgml87qml29r3s"
   }
  },
  {
@@ -41729,8 +41881,8 @@
     20211231,
     1837
    ],
-   "commit": "63993780a628dc2cf357ce44789017b44d7f7b06",
-   "sha256": "1zbijvavwa2niqwqajs1b7fgrmkq1lvz3j6kbaqmv2649krpnshq"
+   "commit": "7691a73a85f014a34cc161650e989801f2aba5a3",
+   "sha256": "1xm0cmfyvypxhygl36m3r68asixmrdq23q4c3vkx8y7i7yaml4w1"
   },
   "stable": {
    "version": [
@@ -41797,11 +41949,14 @@
   "repo": "tarsius/fwb-cmds",
   "unstable": {
    "version": [
-    20220402,
-    1732
+    20220422,
+    1610
    ],
-   "commit": "254dfda0a9f0e03b8b865089343845d3da2c8743",
-   "sha256": "1x50s5mvxlbcaqrx3bf3kjvb5xgc2rsk3i0ify9l8y2rpc8lbh92"
+   "deps": [
+    "compat"
+   ],
+   "commit": "e6eeac7552b61d4f7abd51aff6ce72394133663e",
+   "sha256": "0xs5fl74cxksab7pplvkaa0dd74fhlr35l3c7f80w44zh1mmpmff"
   },
   "stable": {
    "version": [
@@ -41922,19 +42077,19 @@
   "repo": "ShiroTakeda/gams-mode",
   "unstable": {
    "version": [
-    20210701,
-    36
+    20220512,
+    222
    ],
-   "commit": "64e3544726b77f10becb58a51d61993fbba433af",
-   "sha256": "1sn893lnqfr13p1m2g36i6f0ikpibhp7q7ak5271fhpzjzh0fi1r"
+   "commit": "d7f5bb688e569c7c517e4c3af32a5319c492362b",
+   "sha256": "19p84xr9xs0224wmy4r7r0167vwd99qx4804hnrxw0y1855qih3g"
   },
   "stable": {
    "version": [
     6,
-    7
+    9
    ],
-   "commit": "52e984d64c48f518222e0f6bd326236f78d7bf7a",
-   "sha256": "0fjdm2mlwibi6cz0r7cm4ylxzg7i8fljkwfhflb84xqcaknwr2sk"
+   "commit": "1964d9a52693f3aa9279eed8864bc317ee5c6dc4",
+   "sha256": "070qmshqn6gz4av3rzbjihlw6psx5c61kbcwdymswzfzmhg5dyn6"
   }
  },
  {
@@ -41960,11 +42115,11 @@
   "repo": "gvol/gap-mode",
   "unstable": {
    "version": [
-    20191110,
-    2237
+    20220503,
+    1555
    ],
-   "commit": "62adb8935033eead7fbf2c107c2dfb79afa53c67",
-   "sha256": "1rhhls2ylc2jg3mman3zq0mknmmwhll09d9dxrqmk5262d2f7vw4"
+   "commit": "99237f714c28981142674e8cfeb155863c834858",
+   "sha256": "0bjrrjz6k7a83gxad9grmynr14s6mig4cihd21nk6x499fn3ssia"
   }
  },
  {
@@ -42029,11 +42184,11 @@
   "repo": "godotengine/emacs-gdscript-mode",
   "unstable": {
    "version": [
-    20210328,
-    2037
+    20220510,
+    944
    ],
-   "commit": "4badcf6a0c951daba4d7259db3913b78254c0423",
-   "sha256": "0m2nqgv6k5ficqym5z453ni12bncxyi5xhxx1dii4vfckx80b1n6"
+   "commit": "d9e1f7f766c73115de8ce2815bc249069636c3db",
+   "sha256": "165xf8sg0sfnw8cvgfpym0jcfkn1dm7skpnvhrl647wmhba175is"
   },
   "stable": {
    "version": [
@@ -42130,15 +42285,15 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20220410,
-    306
+    20220507,
+    34
    ],
    "deps": [
     "project",
     "transient"
    ],
-   "commit": "1300dd1a410a172588c529734a4fb1c8b58eaef1",
-   "sha256": "0ssw15rmn06nhk9zdpgkqclc603phx5jh3r5zjvf2pm0gdacwy2y"
+   "commit": "d28d19b582347bffebbf0ca905297e744842a5f2",
+   "sha256": "0g96982zq5yarv1ky86qvin2an30n4fsxqgrcyg6yhas9vz7gc4b"
   },
   "stable": {
    "version": [
@@ -42279,14 +42434,14 @@
   "repo": "emacs-geiser/gauche",
   "unstable": {
    "version": [
-    20210911,
-    1041
+    20220503,
+    1700
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "fd52cbaed9b0a0d0f10e87674b5747e5ee44ebc9",
-   "sha256": "1sv1a6lhxn8xhbgajz2knrblnaaryp3fz4yw19ggzdx4r30k278y"
+   "commit": "8ff743f6416f00751e24aef8b9791501a40f5421",
+   "sha256": "1ppracwfl1snq0ifdlyxpdlv7fbn3pbxm1hd1ihgqivii5nbya9r"
   },
   "stable": {
    "version": [
@@ -42625,16 +42780,16 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20220413,
-    1219
+    20220508,
+    704
    ],
    "deps": [
     "dash",
     "magit",
     "s"
    ],
-   "commit": "1f2be2a157555b9f328cc3f8bc07c5898038b331",
-   "sha256": "1qjnwz8f678nf0zd2qy7jazqw9r9ccxpmsb84mlc7l6xg64kdgzw"
+   "commit": "2ca9cf999534a94c9aa93b393f30ed373eb2ed86",
+   "sha256": "1pmjyd9b4b97fvm644gvhlg7jzxsys4kqswrp9rxdlp8w64zxn31"
   }
  },
  {
@@ -42717,11 +42872,11 @@
   "repo": "leoliu/ggtags",
   "unstable": {
    "version": [
-    20211020,
-    354
+    20220511,
+    610
    ],
-   "commit": "8e16861392d7499bf3a212db1f5e9e0ef2e4fba9",
-   "sha256": "01fhc6cc13i9nvyl3d692s0fsyymr6vjxqpj7ydxsh489nw7hj4a"
+   "commit": "40635a1effd3a9c2adef63c4760010c9468a7a4d",
+   "sha256": "0ycvia6zabh02idl2j26j4r2lxhf0srpg0s2qxxr82n3wsk7z00q"
   },
   "stable": {
    "version": [
@@ -42925,15 +43080,16 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20220403,
-    1248
+    20220429,
+    1708
    ],
    "deps": [
+    "compat",
     "let-alist",
     "treepy"
    ],
-   "commit": "8c4d0baa37230ef47f4950e7b101304851dd5c95",
-   "sha256": "13rkw6ydpfp7v92py4yxfyd0ifm4pxnr6069vpvblmg4y8z4zh30"
+   "commit": "f14c1bc84135fe149c42348dce6eaa23ba610224",
+   "sha256": "01ac9789ns56bsishxl904ypc3kvc1w6svfrww8phd6hpwl0f8wc"
   },
   "stable": {
    "version": [
@@ -43291,15 +43447,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220331,
-    2308
+    20220506,
+    1936
    ],
    "deps": [
+    "compat",
     "transient",
     "with-editor"
    ],
-   "commit": "3cfc8458e14c705afdfbeb7dcd3d3f43d7479344",
-   "sha256": "1v21p89srk09ahszwm257j950f8j939y3yx8qzmrvmwya4isi9n7"
+   "commit": "12272c825d216148454b7cfa57fef202cdfe0c7d",
+   "sha256": "0h9f52c1kmgzr0w85knwvf1r2b6dw0dariy2sn9mpqsvpj3cyv2c"
   },
   "stable": {
    "version": [
@@ -43393,19 +43550,19 @@
   "repo": "emacsorphanage/git-gutter",
   "unstable": {
    "version": [
-    20211222,
-    913
+    20220423,
+    1704
    ],
-   "commit": "46a20d2db8a0b330f5ac838bad67c9795d95e7fe",
-   "sha256": "1qlpdpdxc6xhaiv5s6f8k2y35dn1wvbn17vxzy0d31nqhbqgbwhx"
+   "commit": "a50672b62a678922b8c0cab95225d520f493439b",
+   "sha256": "0xywglck2z06vgwf7m7a87plcrxca06pgd4y0iq8asbl046akj0g"
   },
   "stable": {
    "version": [
     0,
-    91
+    92
    ],
-   "commit": "570067d4f4e54ef6003fe442de5536806ff19e98",
-   "sha256": "0zc9f73app1d7j4yb10sy4xidh5252ncyxlvr5kh0kiqk88ck6j9"
+   "commit": "a33a50c47bebd5d3f9f0ec7e71acf198e5fd4331",
+   "sha256": "1fkp6iyisb3g5afyjkxz4yj4ws5f8n7whklck4jdf3014vs01b3c"
   }
  },
  {
@@ -43636,11 +43793,11 @@
   "repo": "magit/git-modes",
   "unstable": {
    "version": [
-    20211020,
-    2306
+    20220422,
+    1611
    ],
-   "commit": "bb71cb2226a1cf105c329f3186bfcb5bb37e2f2d",
-   "sha256": "1k3wncwsywdxyfimaz2lg14528zcs3kr8dd4x4yv1v04b5r6myz5"
+   "commit": "eca3bb42ea8abed9ef8549b2ac91bbea445c5bb5",
+   "sha256": "0vyxczxf1dsszdnv6jbgg5vj7fys5mam0jwgfsyzmhclrfgp5kwy"
   },
   "stable": {
    "version": [
@@ -43981,16 +44138,16 @@
   "repo": "akirak/github-linguist.el",
   "unstable": {
    "version": [
-    20220324,
-    548
+    20220418,
+    22
    ],
    "deps": [
     "async",
     "map",
     "project"
    ],
-   "commit": "6e3fc58a465e6726dcba6da038f959028c62223b",
-   "sha256": "1zli3xzp44c61jrg0fn7h39ianxjp2r24sswm3i99hnx052pp8fp"
+   "commit": "e1055cba19d82620a735e8e40d094b538e1f4d94",
+   "sha256": "00abshhhm6pvzgwaqhw8g0gwfs915hpdnfh5bqxr9434a56hgkd2"
   },
   "stable": {
    "version": [
@@ -45003,11 +45160,11 @@
   "repo": "eschulte/el-go",
   "unstable": {
    "version": [
-    20161111,
-    249
+    20220414,
+    1956
    ],
-   "commit": "ff45fb44d9cb6579d8511d8b6156ed0b34d5ac97",
-   "sha256": "14av8zcxp9r4ka0h9x73i6gzwbf231wqkin65va3agrzwaf8swz1"
+   "commit": "79690579496b0df85a1c94199aca968371b58b3c",
+   "sha256": "1jygy0d3w86b963zv888b7kfg8bzs3hnhmi6r2lkjp6j25hd584i"
   }
  },
  {
@@ -45616,8 +45773,8 @@
     20220404,
     1240
    ],
-   "commit": "b3b3e0acfe5ebeba556f3b98bcff089b889c82c4",
-   "sha256": "00d1z91zq2sixl80g4ax7n7hc1wh4dmzg5c1p66i9lsmybg2aaxh"
+   "commit": "b0898e6cd647e38e6f70e6cd121b789610573237",
+   "sha256": "19nffy0zqcjgqigbq0p03ldf31xki1cci48yfj620nh0cxvyd0vp"
   },
   "stable": {
    "version": [
@@ -45886,8 +46043,8 @@
     20220210,
     1659
    ],
-   "commit": "629edc1ca95113f882e0c136d155a0f2e2e952bb",
-   "sha256": "15yiv4lx77aan23mjzrzd5da6lcr0brs7agimxm05ya2lhs4n0jq"
+   "commit": "1faa779a126c3564e74d6254d596da8dd2b4bf56",
+   "sha256": "0lhlpl3ilkrpfk3r638avp85wvbyk3arlssa94xw99a4nz7ix4a2"
   }
  },
  {
@@ -46111,8 +46268,8 @@
     20210323,
     332
    ],
-   "commit": "75597233576dd60e43f535f20d11650404f9207d",
-   "sha256": "06nv842ycvksvbqacsydbq4pwj8hr304llifrpyalk9wdv15jldi"
+   "commit": "ea845966423ce90526d717bb27d0022101c75796",
+   "sha256": "0cwp00677vw20xzrrf7sjjivdz5ny9imqdhj8719ibgqa0cq52zc"
   },
   "stable": {
    "version": [
@@ -46198,8 +46355,8 @@
     20210323,
     422
    ],
-   "commit": "6355c1bab7a1c543b517c9cb1236071576a82c59",
-   "sha256": "01650x7vnjrcf5v8d2a2zx1xscbw6hrcxyfjj4d43l9hzsp4kx9m"
+   "commit": "d4db955860de830ebc067b065cba16a776717e76",
+   "sha256": "0d9429y6nwmjywj7rbyjdxs9h98177s16szj6mr54clixvws57rg"
   },
   "stable": {
    "version": [
@@ -46219,8 +46376,8 @@
   "repo": "vmware/govmomi",
   "unstable": {
    "version": [
-    20191213,
-    2131
+    20220509,
+    1455
    ],
    "deps": [
     "dash",
@@ -46228,14 +46385,14 @@
     "magit-popup",
     "s"
    ],
-   "commit": "b76ddb07718332bbd6cb59bda77c62dad7dcfcb9",
-   "sha256": "1zhskkvdczk8f0bz7zxp4f0b7maz4zmzy6agh2a4jxsvnig6sj4q"
+   "commit": "b4c0b4fe98b2692cf84e445ad2528911e3e1a622",
+   "sha256": "1wcr3bw7ck5v5w1x3ivhmgm4lq7ln0fvszl7sw0cyj95jqcd7brd"
   },
   "stable": {
    "version": [
     0,
-    27,
-    4
+    28,
+    0
    ],
    "deps": [
     "dash",
@@ -46243,8 +46400,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "285e80cd79d6daee7d5f0ac9555d885f368346f0",
-   "sha256": "004r3n3y019zvds45h6gk49gailvdy77ql49cmryajd2cifmw2sz"
+   "commit": "ac1eba30136e553e799a7e59846ca5750b64c054",
+   "sha256": "0y3wl27zrb7qlc1zn451cmklm2d2ihkrzh4n20fyzx222aq4kbdq"
   }
  },
  {
@@ -46455,16 +46612,16 @@
   "repo": "emacs-grammarly/grammarly",
   "unstable": {
    "version": [
-    20220222,
-    638
+    20220509,
+    1937
    ],
    "deps": [
     "request",
     "s",
     "websocket"
    ],
-   "commit": "9cde43ad6c5dc1a120e731c36bc8e708a4c9a5b5",
-   "sha256": "060kfibdn0vz2wqi5036ghm4fhrngqm943d7hvpw056hz2iywkqc"
+   "commit": "3e14e53b87465ca35b08b5355061e380afb87b31",
+   "sha256": "0zia9hpamwjhyc38l903jwfij06y237j5c2sx600g5r9y36byg9z"
   },
   "stable": {
    "version": [
@@ -46873,11 +47030,11 @@
   "repo": "seagle0128/grip-mode",
   "unstable": {
    "version": [
-    20220323,
-    1519
+    20220430,
+    1545
    ],
-   "commit": "6b427143a8f61bb0b5dd070d554e5058130d15ff",
-   "sha256": "07nxnyqli58kydpx7b8y4qv134d8n4pb0458max74w7ivgz3jrh2"
+   "commit": "7fa9e9e6b650f7a6c026b7e24c2af171e8818667",
+   "sha256": "0jhdj6hvfv5psq5xixjjr13i92q5a2fkibzw25dz5c1f4ky0crcl"
   },
   "stable": {
    "version": [
@@ -47653,20 +47810,20 @@
   "repo": "iain/hamburger-menu-mode",
   "unstable": {
    "version": [
-    20160825,
-    2031
+    20220509,
+    1341
    ],
-   "commit": "3568159c693c30bed7f61580e4f3b6241253ad4e",
-   "sha256": "1nykpp8afa0c0wiax1qn8wf5hfjaixk5kn4yhcw40z00pb8i2z5f"
+   "commit": "06bc9d6872007a31226d7410d497a0acd98b272b",
+   "sha256": "0wwsfc114s1rksrja2cxhl2kkk550imm3rnwnwq9ng0nv855qc5m"
   },
   "stable": {
    "version": [
     1,
     0,
-    5
+    6
    ],
-   "commit": "fd37f013c2f2619a88d3ed5311a9d1308cc82614",
-   "sha256": "1nykpp8afa0c0wiax1qn8wf5hfjaixk5kn4yhcw40z00pb8i2z5f"
+   "commit": "06bc9d6872007a31226d7410d497a0acd98b272b",
+   "sha256": "0wwsfc114s1rksrja2cxhl2kkk550imm3rnwnwq9ng0nv855qc5m"
   }
  },
  {
@@ -48152,8 +48309,8 @@
     20210108,
     1835
    ],
-   "commit": "2390e7899eec7497202c3b58de435060ca2ceaa0",
-   "sha256": "0sxq05cbz1h2f1h860dzx0k7lxbxpli0smdh3pq03fa926jp8iry"
+   "commit": "6641a0d7c00ce633887baf3f8c594d9a8a504e9b",
+   "sha256": "0395f1pwrga0vfd153s7xlgiw5m2d89s5lx6xn9dm8x31q78ghq6"
   },
   "stable": {
    "version": [
@@ -48292,15 +48449,15 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220413,
-    708
+    20220512,
+    1048
    ],
    "deps": [
     "helm-core",
     "popup"
    ],
-   "commit": "5546efa7d177068c4f28fe41a02927cf19a7b018",
-   "sha256": "1p0blx8k6vvmi8y5v0wkz9n1bvljin4gn5apk0k26cv6npllrycz"
+   "commit": "0f7d7acf5724d79ed51ae22349ceb743c4868a3e",
+   "sha256": "177gpf0s722xdya74gdx8my3jw49f38im31i3impw5c25g8x9ajs"
   },
   "stable": {
    "version": [
@@ -48399,8 +48556,8 @@
    "deps": [
     "helm"
    ],
-   "commit": "1b464c0d2b9e50a0cef2310dbf8babb1a9933834",
-   "sha256": "1v7v96h1kls7znxf9ph34j8h1y7jnfad91dbiq6j0pff885s9190"
+   "commit": "9820ba1893c8a7e31e756c891f9b4cf0eff1e50b",
+   "sha256": "173n4s1i9zi4yizvlzfr2qsj6rb2qizkmhwm21ijd701ac3v9xcs"
   },
   "stable": {
    "version": [
@@ -48592,8 +48749,8 @@
     "cl-lib",
     "helm"
    ],
-   "commit": "c089a1cc87d91611366b9430c2890c628b3342c4",
-   "sha256": "1vlpq96w4bvbjz4pa3f2l8vs0jp7gb7k7jlhqjbdpm5qv09q513k"
+   "commit": "ce8c17690ddad73d01531084b282f221f8eb6669",
+   "sha256": "15b37xa3f9npbqmr9ml9km61v2l04csgnf61kfr5849zj423643s"
   },
   "stable": {
    "version": [
@@ -49198,14 +49355,14 @@
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220409,
-    756
+    20220512,
+    856
    ],
    "deps": [
     "async"
    ],
-   "commit": "5546efa7d177068c4f28fe41a02927cf19a7b018",
-   "sha256": "1p0blx8k6vvmi8y5v0wkz9n1bvljin4gn5apk0k26cv6npllrycz"
+   "commit": "0f7d7acf5724d79ed51ae22349ceb743c4868a3e",
+   "sha256": "177gpf0s722xdya74gdx8my3jw49f38im31i3impw5c25g8x9ajs"
   },
   "stable": {
    "version": [
@@ -49762,8 +49919,8 @@
    "deps": [
     "helm"
    ],
-   "commit": "0feb38491cd000d7d6fd3595cc3bf572bf3b60f9",
-   "sha256": "0i2c9ig4z9c0dvs5a5nym6rh6sg4vji3llrjdgn58w3zsx6784nv"
+   "commit": "f9ffd81c3b7fa3e5f79f511a6c2226b5e99b73e6",
+   "sha256": "0g4gy812ahch4p4nqw8wz0a7qsn637lm85x3iahphy53qvyzc9rf"
   },
   "stable": {
    "version": [
@@ -49805,15 +49962,15 @@
   "repo": "emacs-helm/helm-firefox",
   "unstable": {
    "version": [
-    20210331,
-    1900
+    20220420,
+    1346
    ],
    "deps": [
     "cl-lib",
     "helm"
    ],
-   "commit": "58a7ff023c76857ca9cd82075c8743446a50c055",
-   "sha256": "06ihkw61ivgghasxignalr0zrfrh5nayky9adrqid9bgmiah3q9y"
+   "commit": "571cf8dfcbe43d91f9890eebefc88d7572c62e75",
+   "sha256": "0x93x29d74mqbq78jcxq06w9myfml7yni5p2zfdyqva7q725wsgb"
   },
   "stable": {
    "version": [
@@ -50027,8 +50184,8 @@
     "flx",
     "helm"
    ],
-   "commit": "5ea8a2db5fec36ae3604c94c5f8fff1ed459feff",
-   "sha256": "19yxfrvybfpannnrracw9dkflafj98f5pmf2vkh7k2sxkswbmll0"
+   "commit": "dd092e8eea5257d49bbdf694df4fefd86252e54b",
+   "sha256": "1w6625gd5k149wm54m7ci6l9pzrcma6z8hppj965vqlwqc8fj4xa"
   },
   "stable": {
    "version": [
@@ -50374,8 +50531,8 @@
    "deps": [
     "helm"
    ],
-   "commit": "85a3af1a45221ec326df2e5638c28996348fe09a",
-   "sha256": "0k701c3dzdw051bv1s17bc82qd62v2zglrgsrk27d8aa5cix40xq"
+   "commit": "6285c083d885ea8e110868c6a5b9df69c3f3c4af",
+   "sha256": "1di39sbwf3yi01jh8nbiayqqnms1dddfqnz5g0gg935f5w3l1phm"
   },
   "stable": {
    "version": [
@@ -50760,8 +50917,8 @@
     "helm",
     "lean-mode"
    ],
-   "commit": "c1c68cc946eb31b6ba8faefdceffce1f77ca52df",
-   "sha256": "0qb5j50qi9b04jrfk6fryllpf0i9s2h4kp93fyk53sjczm52kh7p"
+   "commit": "362bc6fa3efb1874c525ed6b4b6f24f76af22596",
+   "sha256": "1lr4h555fa1kdi3q7hkhsnznv7nh9rgjqjkbj2bqp9zwh06245w3"
   }
  },
  {
@@ -50828,14 +50985,14 @@
   "repo": "emacs-helm/helm-ls-git",
   "unstable": {
    "version": [
-    20220113,
-    1752
+    20220418,
+    657
    ],
    "deps": [
     "helm"
    ],
-   "commit": "736f642ffa0f92706f71c3b7a995f9b97069b069",
-   "sha256": "19bvcwfv7nzvm3qx41nh0x66c1jldciq2qcn9gkf4r64xwc32yz1"
+   "commit": "c6494a462e605d6fd16c9355e32685c3e0085589",
+   "sha256": "02gx6a8n7csip5wm818bmhrq4r0r394r3vvfsn8fja8fagmg3z1a"
   },
   "stable": {
    "version": [
@@ -52200,8 +52357,8 @@
     "s",
     "searcher"
    ],
-   "commit": "5d43df9ceedaa5a712d2ceef2aa2317ed4b7cc1d",
-   "sha256": "0s08q1ssgbp69q4vj6ysz424mrn79wk3dqpfbwp0v5kgq0882x9l"
+   "commit": "d0a3aa7c4a882c6563c053c3317600582043d71c",
+   "sha256": "10hvm4xym1886b02jqpg83p2pz6s9nkkrs7ifnydhn2zn5khn855"
   },
   "stable": {
    "version": [
@@ -52681,8 +52838,8 @@
    "deps": [
     "helm-core"
    ],
-   "commit": "c9f5a998e8b69f0bcf0c0bb25931155a436c36cb",
-   "sha256": "1ma941sqvnzrb2dr3qvzfsxiy57v6iwji5a0la86s2mgv06zhp3c"
+   "commit": "b6bd3379b98d306935731e9632907387b078e000",
+   "sha256": "0ki38i2qiysba6xm6hc4xmy4vkpsvc85lh1vgjy8741wkysija2x"
   },
   "stable": {
    "version": [
@@ -52753,8 +52910,8 @@
   "repo": "BenediktBroich/helm-twitch",
   "unstable": {
    "version": [
-    20220207,
-    1314
+    20220420,
+    1625
    ],
    "deps": [
     "dash",
@@ -52762,8 +52919,8 @@
     "streamlink",
     "twitch-api"
    ],
-   "commit": "533216a1add8acc2d6f2b4039c67528b97d06549",
-   "sha256": "14686l3idn34scz9a3bai2x42zsrbfazpv1am6j64y7mrp284p8g"
+   "commit": "27fbec24cc250d508cd2f4286da16262752908eb",
+   "sha256": "1sair8har6blwn1s12msz780cfsjpn0fzhy6ckhjh4sw9747808b"
   }
  },
  {
@@ -53989,17 +54146,17 @@
  },
  {
   "ename": "hl-block-mode",
-  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
-  "sha256": "17ghc2hbvckp68blk8izwmx6far9ampalik2f9idz27982h49ia8",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-hl-block-mode",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0jav8lk7vyfmvb10l4zy12zq9cbiw2f8biw5cp2hg95829hwlin9",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-hl-block-mode.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "3dd29cfbf24fec16eaf3d47936338adb6b34f5c8",
-   "sha256": "0c0533id01lx0xf5dkkddd3gwb3k2jh55fa6z0d2xzrmc7p1971x"
+   "commit": "7e0452c768a4e309d1cdc15025683ebfe71e626f",
+   "sha256": "0ymkxmpfd19qjdc80a6hrljbwpn78xvj6r769zfskyhqj3a3a2xd"
   }
  },
  {
@@ -54040,17 +54197,17 @@
  },
  {
   "ename": "hl-prog-extra",
-  "commit": "d4ababc787d4dd173c65cc1b4b4a0fc0bb6e6d07",
-  "sha256": "1dgjskhz1jq01j19dmy8d3fzrg1d8jzrycdsxmkjlc2h05285wkg",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-hl-prog-extra",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0fgs70wfrlk99j439ypnjysa0d3fw6h4rf5w1878p9f69azwpz2f",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-hl-prog-extra.git",
   "unstable": {
    "version": [
-    20220324,
-    16
+    20220507,
+    1118
    ],
-   "commit": "3312497ddfc7b7bc0e773ae98fc02477a4b0c7a0",
-   "sha256": "1n436z6dg7c1vw6sl5bswny059d2629yx9cvlkf076xg8dmlhwdv"
+   "commit": "a8e2ee5d43ce70c59e57d2ab90b39a6cf9e7b851",
+   "sha256": "08vs56lvq9ihhxd7vhcgd9lry2bm8q14mx18ap1izj6r52njdsy5"
   }
  },
  {
@@ -54083,11 +54240,14 @@
   "repo": "tarsius/hl-todo",
   "unstable": {
    "version": [
-    20220402,
-    1112
+    20220422,
+    1611
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "7772ce536e5146f44efc3cc0ce2d9326f115683d",
-   "sha256": "03gb1vp44bf6a0h6r298bw1zsfd7rxxpph2ll2prspx7kzi2f5ph"
+   "commit": "2337eac8cab0d4b73a96fb3936d2ac87600e3c91",
+   "sha256": "1l64inwrjvmjgm5852aclz3izy58vnf0xpxhr7rp3kg947qhr72a"
   },
   "stable": {
    "version": [
@@ -54688,8 +54848,8 @@
     20200929,
     559
    ],
-   "commit": "88beaf52358a5b59c598e1f6c9fc16dd6bd5a850",
-   "sha256": "1ldf07gaynb463giwlplb332fc1k2xabrrzpw64f0n2rnmjhafll"
+   "commit": "049efcadbd9b51a601cca60fc78616bcef0799ae",
+   "sha256": "09l1n4jmw2cr89jfss3zmlbzpbglir1h548kv3zdl44hbyb4wlk9"
   },
   "stable": {
    "version": [
@@ -55449,11 +55609,11 @@
   "repo": "oantolin/icomplete-vertical",
   "unstable": {
    "version": [
-    20210603,
-    1343
+    20220418,
+    2119
    ],
-   "commit": "3bee30b374226deecde8a5cbbc6ca8471c303348",
-   "sha256": "1c7riqgm5fi13kb2k7qfykr0zsx3hkwyzgcxh4kqnd1y5w54pgs2"
+   "commit": "f5775d535630199703c936380d210d38249b342c",
+   "sha256": "1xc1sy51xf3mcbx6bprb6g4hzgg1rm7as3nx8q54wma7dllmh092"
   },
   "stable": {
    "version": [
@@ -55575,17 +55735,17 @@
  },
  {
   "ename": "idle-highlight-mode",
-  "commit": "43c7b0d74b482de5134de097e982934cd72c5f04",
-  "sha256": "1yrvvizw48lky06zjsx2n2w5cb2c5qz2kvcm9bpqyr5gp2w63pls",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-idle-highlight-mode",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "15was00580bx5wqvmyp6fc6l54zx5gcwnqgdzpbmyvnxx4v39znl",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-idle-highlight-mode.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "0a24f8e402383b0da1f956d946781317fba14bbc",
-   "sha256": "11mbm87rx4i093csdqrgin550wgkps69ysgy2ig56m3l1hs5pp78"
+   "commit": "5418252a11b00377a59295e50b7436f53afe68bb",
+   "sha256": "0dmqvpck1hwlw8z2lppyc1cnjw62gm9yykk2j4j3ckdvgcpkj6cj"
   }
  },
  {
@@ -56253,11 +56413,14 @@
   "repo": "tarsius/imake",
   "unstable": {
    "version": [
-    20220401,
-    1051
+    20220422,
+    1611
    ],
-   "commit": "2541fb021dec9eaa3083aca4c8ce30b67a50d6b9",
-   "sha256": "0k89lbq9dfi3vx7kmf8z3an0x278806skr5s86y54c2l0190giz3"
+   "deps": [
+    "compat"
+   ],
+   "commit": "4dbc59789835396fdc76bfde4ae4971c8a9ceaed",
+   "sha256": "0hq6hvp5cvys13ms7zfd8477c4mwvwxgk6rqczyfnzgi4qjyjz54"
   },
   "stable": {
    "version": [
@@ -56544,8 +56707,8 @@
    "deps": [
     "impatient-mode"
    ],
-   "commit": "e5513ae24dfdb58b7c2c2bba544124af4619b241",
-   "sha256": "1m841f9d9iqmmlycaa703d43svpizix3vbyhqbzrp9idn2l68xb2"
+   "commit": "6825147ebacb1d738b1c96baf0534a5ed3e6b289",
+   "sha256": "10kjxm93cdll6a5l1lzk0ciya5z6d02x5rl7har507ac1laj1v23"
   },
   "stable": {
    "version": [
@@ -56685,8 +56848,8 @@
     20220227,
     653
    ],
-   "commit": "604027eda4ee8a44b085ffebbee944ad0d57fa20",
-   "sha256": "01s4l66afvzs6fb8mv3r8zs514ak6j13p1jhjrsw16s4dnmgc1nj"
+   "commit": "6fb6c9326077105febe2cd9c77b683b7c310cf03",
+   "sha256": "069mcbj3gwpbw1fwrpyfb81s0kyk3vklymfj9z7nr7yl8ra986ym"
   },
   "stable": {
    "version": [
@@ -56891,14 +57054,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20220315,
-    1102
+    20220421,
+    559
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "f511dcad0e0684c9609c7526930e88d11da989ab",
-   "sha256": "1xxjqf3j2k92sj4zwhkjywc6yr5x183r8n33lba2v3w5hcfgahd0"
+   "commit": "abeab8d6d4cb3bdded5e9083776aab0c06cbdf57",
+   "sha256": "0b73dm3kyard035jfijcah8vp96vzgywmkl0ajnhyzzxmbl26hqa"
   },
   "stable": {
    "version": [
@@ -57336,17 +57499,17 @@
  },
  {
   "ename": "inkpot-theme",
-  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
-  "sha256": "1avgzjwppmmhdmljwpy75acylm3f74d3x0q94ld2n1yhi8xx40i9",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-inkpot-theme",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "07d6344a0x7dhlgw9i8dzw7mcdz71d1mig5y307rdqj27ic3bbqn",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-theme-inkpot.git",
   "unstable": {
    "version": [
-    20220412,
-    538
+    20220507,
+    1118
    ],
-   "commit": "8e5c3ce6269debfe7879dfa33a82a4f63c881720",
-   "sha256": "1q3j1vfyh0a5fmqayz6q6znwszmkpbyv717lzqpjlll4yj8bzw37"
+   "commit": "59056ef2e8850d33abc6e787219fcff404217afc",
+   "sha256": "1fayzcc9ixpnhma7968y70zdfslcvxrx3sgqsln0kp5zdkzm2691"
   }
  },
  {
@@ -57921,8 +58084,8 @@
    "deps": [
     "f"
    ],
-   "commit": "3a56ce86e96bd843123f01785d304e022dd020c4",
-   "sha256": "02c9yrjpqa30skimvh1bf45p9zr12n8m53r7992hjpnk8xadyvj9"
+   "commit": "e6c9d5e19533eda6b74505a86198416eeecb915a",
+   "sha256": "00chrr0i1bw0dzrlznahca8zj4q9yqwl187m9dm9d1kgh0dwhn3s"
   },
   "stable": {
    "version": [
@@ -58076,19 +58239,19 @@
   "repo": "doublep/iter2",
   "unstable": {
    "version": [
-    20211119,
-    1718
+    20220501,
+    1542
    ],
-   "commit": "077684feec98ce6d5e283a13f056c083986628a2",
-   "sha256": "12flc98nv353cqr9qbkasgdmiyf9c3iw4apzh899xw857j1h5qdr"
+   "commit": "1abca3665ecfa6b016311906560f8be4fbb3e3db",
+   "sha256": "1jzd9kzxf3ncw40d55r1apw0cpk4i1a3s5p85mg9n20553cb6lhj"
   },
   "stable": {
    "version": [
     1,
-    1
+    2
    ],
-   "commit": "077684feec98ce6d5e283a13f056c083986628a2",
-   "sha256": "12flc98nv353cqr9qbkasgdmiyf9c3iw4apzh899xw857j1h5qdr"
+   "commit": "1abca3665ecfa6b016311906560f8be4fbb3e3db",
+   "sha256": "1jzd9kzxf3ncw40d55r1apw0cpk4i1a3s5p85mg9n20553cb6lhj"
   }
  },
  {
@@ -58157,8 +58320,8 @@
     20220406,
     1052
    ],
-   "commit": "7489968257a74f176c0d1de7ec8bd1e2011f0db4",
-   "sha256": "0gmgfv9d5vicd5lqcbzn0i6qfjw42whhww6hdqch2pgkhl4i1ria"
+   "commit": "8bf8027e4bd8c093bddb76a813952d2a0dcbf21d",
+   "sha256": "1rdv8r6zw0lziycwv5kd2yyflfwby4gnqgfvv67b1y2l3psjwp94"
   },
   "stable": {
    "version": [
@@ -58185,8 +58348,8 @@
     "avy",
     "ivy"
    ],
-   "commit": "7489968257a74f176c0d1de7ec8bd1e2011f0db4",
-   "sha256": "0gmgfv9d5vicd5lqcbzn0i6qfjw42whhww6hdqch2pgkhl4i1ria"
+   "commit": "8bf8027e4bd8c093bddb76a813952d2a0dcbf21d",
+   "sha256": "1rdv8r6zw0lziycwv5kd2yyflfwby4gnqgfvv67b1y2l3psjwp94"
   },
   "stable": {
    "version": [
@@ -58218,8 +58381,8 @@
     "cl-lib",
     "ivy"
    ],
-   "commit": "c089a1cc87d91611366b9430c2890c628b3342c4",
-   "sha256": "1vlpq96w4bvbjz4pa3f2l8vs0jp7gb7k7jlhqjbdpm5qv09q513k"
+   "commit": "ce8c17690ddad73d01531084b282f221f8eb6669",
+   "sha256": "15b37xa3f9npbqmr9ml9km61v2l04csgnf61kfr5849zj423643s"
   },
   "stable": {
    "version": [
@@ -58432,8 +58595,8 @@
     "ivy",
     "s"
    ],
-   "commit": "eb004b51b6bf7f41cf084aecc6d31e90a174ffd6",
-   "sha256": "08gbbmv6ksd6lpwc53acjvxb5yni78r4rxfi5bnxvqq2fn1vw1iz"
+   "commit": "942b2565097c97c1afc4fa395fac5788eabc730b",
+   "sha256": "03q15h6ckbrxmwskf19dhzcr8whgcipbf4nilpqfnhpsn5f4zl8l"
   },
   "stable": {
    "version": [
@@ -58553,8 +58716,8 @@
     "hydra",
     "ivy"
    ],
-   "commit": "7489968257a74f176c0d1de7ec8bd1e2011f0db4",
-   "sha256": "0gmgfv9d5vicd5lqcbzn0i6qfjw42whhww6hdqch2pgkhl4i1ria"
+   "commit": "8bf8027e4bd8c093bddb76a813952d2a0dcbf21d",
+   "sha256": "1rdv8r6zw0lziycwv5kd2yyflfwby4gnqgfvv67b1y2l3psjwp94"
   },
   "stable": {
    "version": [
@@ -58748,21 +58911,21 @@
  },
  {
   "ename": "ivy-prescient",
-  "commit": "a92495d09689932ab9f0b716078ceeeb9cc154e0",
-  "sha256": "017ibpbj390q5d051k3wn50774wvcixzbwikvi5ifzqkhgixqk9c",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "15fynfhsr75v285szkqqamlcs25pzsz5nywp5j1asp33dnkvqdhi",
   "fetcher": "github",
-  "repo": "raxod502/prescient.el",
+  "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20211228,
-    417
+    20220509,
+    2300
    ],
    "deps": [
     "ivy",
     "prescient"
    ],
-   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
-   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
+   "commit": "c05f8a43c6ff07a8b5a3ba8df7a2ec35677b7484",
+   "sha256": "0752dyl4fhi0jvbm238s5p1sv7z4jlkmkdrxvwn0dlhfr0rhfw1c"
   },
   "stable": {
    "version": [
@@ -58886,8 +59049,8 @@
     "s",
     "searcher"
    ],
-   "commit": "4501687a2cc9d8746a054bbc89691e7e2deff1f3",
-   "sha256": "08nk430yygbc6hqj7s8nn0w62p36hk92a6cfylbbpqgbc5cyrsjj"
+   "commit": "17a93eadb8a681d878e1d66b90073ed1be2e1dc2",
+   "sha256": "0m0lvpqamikmg957jj2nkr8xqzxl0kxyjl68577h4r83b60xrnhh"
   },
   "stable": {
    "version": [
@@ -59668,14 +59831,14 @@
   "repo": "john2x/jenkinsfile-mode",
   "unstable": {
    "version": [
-    20200929,
-    428
+    20220428,
+    1113
    ],
    "deps": [
     "groovy-mode"
    ],
-   "commit": "65bf3925852c35c6bd499978f08f83c1193f4347",
-   "sha256": "0w38g88yykslg71xr99ff4vx1ffgy90b7xqvvdflr189gwk3avx1"
+   "commit": "fa5545be1329df3067dcfd81749bbd99df070d6b",
+   "sha256": "1cg1k3c4k21im499i09yajqhh20igmd2riyia8y65swvvksnzyrc"
   }
  },
  {
@@ -59893,11 +60056,11 @@
   "repo": "Michael-Allan/Java_Mode_Tamed",
   "unstable": {
    "version": [
-    20220312,
-    1945
+    20220510,
+    430
    ],
-   "commit": "44280538a2b780536c56ee2a51b7a5b03d376a2e",
-   "sha256": "1x5k9d1iq33ds8cszcyl2bhbr8hkldq6hph1b77zayqyg00pnly4"
+   "commit": "f968413df2c2bd1e00c5b6c61c53bdd208b90ee3",
+   "sha256": "0gyf61krqy6d5sjvj5c9z57vqx2nq0fia2pxmk32slisxc9drcqm"
   }
  },
  {
@@ -60756,11 +60919,11 @@
   "repo": "JuliaEditorSupport/julia-emacs",
   "unstable": {
    "version": [
-    20211023,
-    1434
+    20220418,
+    809
    ],
-   "commit": "b1a7119843cb81677d15cba9df64d02b30ea08a8",
-   "sha256": "1n1dzwg0sfsdkcm18iqiqwf6jspmp2vwipiasdja54ns1m98w2cv"
+   "commit": "adf4029be778c5983c436873b8a78bc72a6b09f8",
+   "sha256": "0z6vx541vskgzb1dmlcijbch4z84lrz5fm2ay0n15sypvxfp2yks"
   },
   "stable": {
    "version": [
@@ -60779,14 +60942,14 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20220225,
-    810
+    20220428,
+    541
    ],
    "deps": [
     "s"
    ],
-   "commit": "6c1d63511fb2b3b3f2e342eff6a375d78be6c12c",
-   "sha256": "07fl2bcl1drscp94gpy0v3n31rml8fffc7iv5v80qh8zwvn57d6h"
+   "commit": "2342003662071cf7b256f0a7cd8f545bcffaf22a",
+   "sha256": "0i38n3s0fc32a1jzw0nchapjkfqxqfkl7r9zzvckbsxkcn2fldwj"
   },
   "stable": {
    "version": [
@@ -60827,18 +60990,19 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20220325,
-    2038
+    20220512,
+    539
    ],
    "deps": [
     "dash",
     "julia-mode",
+    "popup",
     "s",
     "spinner",
     "vterm"
    ],
-   "commit": "80a2def11e444d8ba2b640d0ea76720cfefccb65",
-   "sha256": "1k5wqlxgijz73qscbdnkaia3ffw55x08xyqmfppvqv1w4gdvr0ya"
+   "commit": "88ce4fadc065736e154506538d365a8f1dd643e1",
+   "sha256": "1gj9mnv0kyq20hdz506qlz80kx28zwng12vnnahshji6bh6wbwj5"
   },
   "stable": {
    "version": [
@@ -60865,14 +61029,14 @@
   "repo": "shg/julia-vterm.el",
   "unstable": {
    "version": [
-    20210410,
-    40
+    20220510,
+    2259
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "d57448466c11833d4fd67f5dbbea9cb9a07a74e2",
-   "sha256": "0v7l4jxq71vcw3sjs476smbw9ln6xfrq7n3vzw26apzkrplizqyy"
+   "commit": "5374776991232de966efca245f9ce24c59728588",
+   "sha256": "0cg5mqiciawigb5n7w8q5hi8q1h253nbjif3p9n7vhbckwx318rx"
   },
   "stable": {
    "version": [
@@ -61018,8 +61182,8 @@
   "repo": "nnicandro/emacs-jupyter",
   "unstable": {
    "version": [
-    20220212,
-    210
+    20220419,
+    1852
    ],
    "deps": [
     "cl-lib",
@@ -61027,8 +61191,8 @@
     "websocket",
     "zmq"
    ],
-   "commit": "0a7055d7b12cf98723110415b08ee91869fa7d94",
-   "sha256": "183313jlmfnbndczllkqm47y4495prw4ks2jav3pdwn5qqfmpznx"
+   "commit": "7d20c0aee2f9c896215f35232905b23532ef04c5",
+   "sha256": "0lrg43xas5dx1qlhzk7irq5hwgpfpxkv27zgcrcy0sbhd9y8dad6"
   },
   "stable": {
    "version": [
@@ -61434,15 +61598,15 @@
   "repo": "ogdenwebb/emacs-kaolin-themes",
   "unstable": {
    "version": [
-    20220413,
-    1705
+    20220422,
+    1305
    ],
    "deps": [
     "autothemer",
     "cl-lib"
    ],
-   "commit": "bd37ae6e48d918e9d72513345903093239a8ad8d",
-   "sha256": "0sv1f7yhh5ap6j1a5j6ysrgbhqmnk4mpgkmzdjlclg8209d8as24"
+   "commit": "51b1f719bc300a4f684b6dc7511dfb044f75f575",
+   "sha256": "0nq78kb751lgz398w8xbbl63cznb1g3l6j0j4limylmi8rlzvsnd"
   },
   "stable": {
    "version": [
@@ -61773,11 +61937,14 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20220407,
-    1930
+    20220422,
+    1611
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "809ce7625a8c8c7ae1ca4e4a38aa857f83c4e732",
-   "sha256": "0qv5y3zj3d3pv4mw2s38g1dnq5lf57ja7nka2k50j5sdfyhy15h6"
+   "commit": "296fba536287e7a0d88109e75a0bc0181647dc5e",
+   "sha256": "14v77x0knvjb7czrhgarq0apxavbnxqi3ra833qf0f1s599wkv77"
   },
   "stable": {
    "version": [
@@ -61870,14 +62037,14 @@
   "repo": "tarsius/keymap-utils",
   "unstable": {
    "version": [
-    20220402,
-    1112
+    20220422,
+    1612
    ],
    "deps": [
-    "cl-lib"
+    "compat"
    ],
-   "commit": "7f51c35abdb7e7c5b6e91f2dc01eb59df70bc3ca",
-   "sha256": "1xashacybsn90c9a9pvk2bgrja7d8j3ziwdrc4h6i7acxhskvmsq"
+   "commit": "f95fded924a7184a638ef233324fcda34c60ff7e",
+   "sha256": "0rbngqw577clsrxjkrhcpw9347796w52dqi2v94a2xmzvhq4rff8"
   },
   "stable": {
    "version": [
@@ -62008,8 +62175,8 @@
     20220222,
     639
    ],
-   "commit": "4d99f966deaf5345d68b4c852a196bd2c09396bc",
-   "sha256": "0ybqjavid761abc0pfiw12mp2iwcvm4xqzmb8k47znvfa0c54wwn"
+   "commit": "d6fe2d51769ee5d1d84a74adeae5c3a0aa66a602",
+   "sha256": "0hkp0dl8aqc2javsnl3pm37iy9f534l6wf1vgh44ba6ws6bxxgl5"
   },
   "stable": {
    "version": [
@@ -62264,8 +62431,8 @@
     20210318,
     2106
    ],
-   "commit": "4fbf9059ce5917ac27685d2b5795e4c447a3f571",
-   "sha256": "0f2ix6kkixvvqjrr0nz9s6vjckd7s8dn03sf5zmq1xnph6cbrzf4"
+   "commit": "93ccd2058c1980207848810942dbb1a6d9edebe9",
+   "sha256": "1ciqb2simq7fdc31pjav30rlskami70dcg4abqairfq3yvx5nb7k"
   },
   "stable": {
    "version": [
@@ -62579,8 +62746,8 @@
   "repo": "abrochard/kubel",
   "unstable": {
    "version": [
-    20220331,
-    1355
+    20220509,
+    104
    ],
    "deps": [
     "dash",
@@ -62588,8 +62755,8 @@
     "transient",
     "yaml-mode"
    ],
-   "commit": "b598b21988b8d5b2f44803a31f891f12ea511982",
-   "sha256": "1p0y4a4g0y77b4v1x650mz7m504iqjdf2xwnqhjygc9n3a0cqsp5"
+   "commit": "c45e19a215e8e7df80a61c10ca1fa26dcfd1de35",
+   "sha256": "03i6iyhiqhi2vxb8qvw99n6h6xg8jnxkazikw6sqnp0flnrgcf7q"
   },
   "stable": {
    "version": [
@@ -62621,8 +62788,8 @@
     "evil",
     "kubel"
    ],
-   "commit": "b598b21988b8d5b2f44803a31f891f12ea511982",
-   "sha256": "1p0y4a4g0y77b4v1x650mz7m504iqjdf2xwnqhjygc9n3a0cqsp5"
+   "commit": "c45e19a215e8e7df80a61c10ca1fa26dcfd1de35",
+   "sha256": "03i6iyhiqhi2vxb8qvw99n6h6xg8jnxkazikw6sqnp0flnrgcf7q"
   },
   "stable": {
    "version": [
@@ -62753,26 +62920,26 @@
   "repo": "emacsfodder/kurecolor",
   "unstable": {
    "version": [
-    20200113,
-    2027
+    20220508,
+    929
    ],
    "deps": [
     "s"
    ],
-   "commit": "3fc84840cbbd75e646cafa2fd3a00004b55e37ec",
-   "sha256": "0y8wj8f2wzhg5vl4kjrqny3333616s4lcil085190yyb7mjakvn5"
+   "commit": "61d7211469ea3e2c429937869c5a29584103361a",
+   "sha256": "0mi5jln34pd372h7f3rvigis6dll6sxdqg9izj9bip93917cff0y"
   },
   "stable": {
    "version": [
     1,
     2,
-    6
+    7
    ],
    "deps": [
     "s"
    ],
-   "commit": "a27153f6a01f38226920772dc4917b73166da5e6",
-   "sha256": "04av67q5841jli6rp39hav3a5gr2vcf3db4qsv553i23ffplb955"
+   "commit": "1c80df0f2c542f54920f18aa4eb837f0a51c7676",
+   "sha256": "0hmsf7kgzmpzri3ggb7l6y3pvfpinfv0d24fnxpbp1zd17lfwks1"
   }
  },
  {
@@ -62837,14 +63004,14 @@
   "url": "https://git.sr.ht/~tarsius/l",
   "unstable": {
    "version": [
-    20220412,
-    1418
+    20220422,
+    1612
    ],
    "deps": [
     "seq"
    ],
-   "commit": "6a3e0b9709b2b386ac83f1dd05e54ad2a1ae11e3",
-   "sha256": "108kd0ymm4rfqchryjgmyvxsfd11xbp8ddlynprbckp61mjhqsaj"
+   "commit": "3ab31ef28596ac2f95be4c4280cd86489232da97",
+   "sha256": "1vgwwzqnbd936lid4aniyvg27p593psnapzk9g8xncssagx7wc64"
   },
   "stable": {
    "version": [
@@ -62867,16 +63034,16 @@
   "repo": "tecosaur/LaTeX-auto-activating-snippets",
   "unstable": {
    "version": [
-    20220301,
-    1629
+    20220509,
+    1234
    ],
    "deps": [
     "aas",
     "auctex",
     "yasnippet"
    ],
-   "commit": "b372f9a44bea03cce09b20cd2409e3ae3fa2d651",
-   "sha256": "1f2cfvc4iz71x43z8f7v24cnfdvn249685qqz9lz16j2sga9f3y1"
+   "commit": "44533de4968fee924d9cc81ce9a23c9d82847db3",
+   "sha256": "13rflldz3684qv6xvg44sj6r1dzaqclmjcg0rxfnksf6cb47l1yg"
   },
   "stable": {
    "version": [
@@ -62962,11 +63129,11 @@
   "repo": "HenryNewcomer/laguna-theme",
   "unstable": {
    "version": [
-    20220109,
-    1015
+    20220419,
+    1459
    ],
-   "commit": "579bbd2453bd88673873a012dd70522e7d4265ce",
-   "sha256": "1lnmsicybg02i7yrl3gfngmwa4yyskkq4qrba7cgsgvhadg9fdmq"
+   "commit": "48d14ffad6f0ffb4bd60c341e618c47ddbb7a2d8",
+   "sha256": "0s2pm1ykkg4r39sigbpr5rjqv25dxpiz47jg3j38m2qpihgi03nw"
   }
  },
  {
@@ -63000,8 +63167,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "d264cd8ed859635dc0f71e1d9213a911b46939b6",
-   "sha256": "1x87q32r73vfawk0ijxddlib1f278lwmj8fq8zhs090npj0rw427"
+   "commit": "67ae434d6ce2073e9c914817d21269f5c6a2a66f",
+   "sha256": "14m9i4ikppbf4ffrxibhdlvanyvjfhx68xalga66lj5chhhdqbk5"
   },
   "stable": {
    "version": [
@@ -63508,6 +63675,24 @@
   }
  },
  {
+  "ename": "le-thesaurus",
+  "commit": "4534fab1d43c425745f44465adbd1f8a9168ced8",
+  "sha256": "14sg1c7wn9f6xk1sychw857f88ddlx9c6b71p8cw08gz5hdm2463",
+  "fetcher": "github",
+  "repo": "AnselmC/le-thesaurus.el",
+  "unstable": {
+   "version": [
+    20220509,
+    2120
+   ],
+   "deps": [
+    "request"
+   ],
+   "commit": "2af1ab37097cdd17044ab217e9aa6839add98626",
+   "sha256": "1w2k2pvzgd5v008ma9bc6y16aiyjixhgvrn7bxf6cy43056mh0wf"
+  }
+ },
+ {
   "ename": "leaf",
   "commit": "24afe5b39979e2f17e104ae97d840645d2a5c2f1",
   "sha256": "0h4v3fswbwa40hws8l29mmnka5wl9kyj6f01dnvadc725a34az38",
@@ -63669,8 +63854,8 @@
   "repo": "leanprover/lean-mode",
   "unstable": {
    "version": [
-    20220124,
-    1813
+    20220501,
+    1007
    ],
    "deps": [
     "dash",
@@ -63678,8 +63863,8 @@
     "flycheck",
     "s"
    ],
-   "commit": "c1c68cc946eb31b6ba8faefdceffce1f77ca52df",
-   "sha256": "0qb5j50qi9b04jrfk6fryllpf0i9s2h4kp93fyk53sjczm52kh7p"
+   "commit": "362bc6fa3efb1874c525ed6b4b6f24f76af22596",
+   "sha256": "1lr4h555fa1kdi3q7hkhsnznv7nh9rgjqjkbj2bqp9zwh06245w3"
   }
  },
  {
@@ -63814,8 +63999,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20220206,
-    1515
+    20220503,
+    534
    ],
    "deps": [
     "aio",
@@ -63824,14 +64009,14 @@
     "log4e",
     "spinner"
    ],
-   "commit": "b3103bd08c8943091f702c66d674f0f27ef7fe0b",
-   "sha256": "184dxfgsy1l6r1pn9c9jb22b8gw5hah1cnhl3sncd79mzv6gjhl0"
+   "commit": "682f7a44d0bea0daf6f9a2888fa7f905d3a0cd70",
+   "sha256": "1y6b5sh83n5daz6p0n33ynf4j6227dpa54x4hpjwr8n7fkjfjwiq"
   },
   "stable": {
    "version": [
     0,
     1,
-    24
+    27
    ],
    "deps": [
     "aio",
@@ -63840,8 +64025,8 @@
     "log4e",
     "spinner"
    ],
-   "commit": "b3103bd08c8943091f702c66d674f0f27ef7fe0b",
-   "sha256": "184dxfgsy1l6r1pn9c9jb22b8gw5hah1cnhl3sncd79mzv6gjhl0"
+   "commit": "b95221179bd51b43bb2c5e810e1a2de88ef54d82",
+   "sha256": "1gmap7472cakcigibydgg0zjd5yha4dp22w0ffqk6zl4qrh7hcdb"
   }
  },
  {
@@ -64057,11 +64242,11 @@
   "repo": "tecosaur/lexic",
   "unstable": {
    "version": [
-    20220405,
-    1339
+    20220501,
+    1432
    ],
-   "commit": "83e78f8b1b42b15a890aa29dbeccb2eb389215fb",
-   "sha256": "16iancwz1n50g2kqvs8ipyljh7x268ssj6lkzy82mmngskfz7sz8"
+   "commit": "f9b3de4d9c2dd1ce5022383e1a504b87bf7d1b09",
+   "sha256": "02iz8dh18gb1q97v8ghcd3lavkf28sqbrk0bx6jzzryp69ickk4h"
   }
  },
  {
@@ -64207,6 +64392,29 @@
   }
  },
  {
+  "ename": "liblouis",
+  "commit": "13f11dc010e5ba2bb722b7cbff31207be9074128",
+  "sha256": "08i3kbq9x3sw3i8fhlam8cwzzncqk5nzb24kd29nv7wa2q5g16kw",
+  "fetcher": "github",
+  "repo": "liblouis/liblouis-mode",
+  "unstable": {
+   "version": [
+    20220426,
+    657
+   ],
+   "commit": "a341a0c434cdbe7f46956c8db13203c3fc941a34",
+   "sha256": "1pkrwxqf1qyxfyyinsnmvvlydgydxazfi0xsl28f08a5zgknv0ab"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "commit": "36ec3f98c0a3a84669444a9b3726824f1aaa9682",
+   "sha256": "1s910nr7cdwwafbdp4kg2j3xcavhrzjla3klrjyndv7skfh2vaad"
+  }
+ },
+ {
   "ename": "libmpdee",
   "commit": "fc91db6f80463a1baea9759f9863b551ae21e180",
   "sha256": "0z4d8y8jlsjw20b31akkaikh5xl0c05lj77d2i1xbgzam4iixma0",
@@ -64318,8 +64526,8 @@
    "deps": [
     "request"
    ],
-   "commit": "e6959223f8e0760063a1048d433d9a9d76c09dd6",
-   "sha256": "1jvsqfhm64avzav7n0q6l588vc09w14bbaz6lbgl5pdcc1dgvjcj"
+   "commit": "e03f4a30c4abf354fb961babe4dce1dfa733aa82",
+   "sha256": "11mjypjv1h2qsfbqxfwknv6lp2fql4cnfsivcpj68475grn1g3s5"
   },
   "stable": {
    "version": [
@@ -64360,8 +64568,8 @@
     20220209,
     755
    ],
-   "commit": "0f5db066c87fe91c1f269cf6b92653f3230c44a1",
-   "sha256": "19a822jdfpxw7safhgyfsygav4wmr78i0fvw70jarhm2vj9wknpq"
+   "commit": "7d706986636b5cfc04f14341c19046b56b61b51c",
+   "sha256": "0v7306fq02q36smg157xcsil0r99vznzf7fx0xnys2df5id0ww36"
   },
   "stable": {
    "version": [
@@ -64370,7 +64578,7 @@
     3
    ],
    "commit": "8fcf8424cbfb06d3b5a89b2ce60826a5e4bf76f4",
-   "sha256": "0h81778qq5j18gq8vyynb4x41zczvvprvvnis0xjl1mhpi5z2l72"
+   "sha256": "12c0g379jx2m30c3m9rarhh7hwg8sjsb2bbh0j6f3k51ya90kcbh"
   }
  },
  {
@@ -64381,8 +64589,8 @@
   "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20220405,
-    1658
+    20220502,
+    1210
    ],
    "deps": [
     "fringe-helper",
@@ -64390,8 +64598,8 @@
     "indicators",
     "ov"
    ],
-   "commit": "45519a4738a999b06f6d40f7dcf2022904e67aa9",
-   "sha256": "1d5mvxkjy6fpi2jiinc532pbmwdlcgql80bna7kwkg88cdyws1n4"
+   "commit": "c0cebef629a98556f5696f78436f4d8428ce8135",
+   "sha256": "0k7gzx3g33wf7w3wbpiv6b3amnl2miyynvr3x6wlpzmh3q57s11a"
   },
   "stable": {
    "version": [
@@ -64636,8 +64844,8 @@
     20211004,
     1429
    ],
-   "commit": "ba6b7c16ea633112282c3fbdf41b06c82727a541",
-   "sha256": "1fw6ld08a2gd8bhyjpgxqbjjmb6kv317bcrc98n3v093cph1b58w"
+   "commit": "22dd4c3ea4c0d2bd82270e2fb272317d0bc87752",
+   "sha256": "02aa3ci9cfxswpv5nf0bqpp9lkbqirpmksg5hwxl0xxr672mv7kc"
   },
   "stable": {
    "version": [
@@ -65141,14 +65349,14 @@
   "repo": "Atreyagaurav/litex-mode",
   "unstable": {
    "version": [
-    20220308,
-    1707
+    20220415,
+    1704
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "59ef93dca6618c42db1b61fe0a44bdc8faf04506",
-   "sha256": "08i5v97azfxkp4aqsg2kijyy2w5swxhkplvp40v1bswyy3kn176v"
+   "commit": "5d5750af2990c050c8d36baa4b8e7a45850d5a6a",
+   "sha256": "0kfij90iqslc6lnlpvj0hmfhfrfhp28ljd4zj6gv8wz02aldkjgd"
   },
   "stable": {
    "version": [
@@ -65227,20 +65435,20 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20220404,
-    0
+    20220512,
+    34
    ],
-   "commit": "09ae89505a7b411ab659bba83dd1a2a26a584a2e",
-   "sha256": "0i65v6p306ch08plcham1n1g9b0ln9s3hmkrdd52mp9bjjhwqcgk"
+   "commit": "7eaf6dc55caaaa65c5d6937b25e1748df75dbdb3",
+   "sha256": "0gcszam4qsl64jx5yggbawsawrj74cqsp7mbzmvvs40gr8pvx2yp"
   },
   "stable": {
    "version": [
     4,
     8,
-    0
+    1
    ],
-   "commit": "cc2adbd4455dcc70cc1366af5e0754a619e75242",
-   "sha256": "14n8cf020hpz9hrhf7pxcxszvbkp19s5j5cz3a42n4jh7jpacdzp"
+   "commit": "b10020b0414f15990f4139c363910b58c7ca0852",
+   "sha256": "0lch1m9xw5xq71sllkhiaxls8rbq9gdj24pyi66p7g6026n5fc21"
   }
  },
  {
@@ -65341,14 +65549,14 @@
   "url": "https://git.sr.ht/~tarsius/llama",
   "unstable": {
    "version": [
-    20211118,
-    1847
+    20220428,
+    1405
    ],
    "deps": [
     "seq"
    ],
-   "commit": "22278a95474ccd665f84c16aa8760534ced9b150",
-   "sha256": "1f5hnimnz9vjwnqk0m07g6rrhnxbv84mdybxiblzqgbgrh7x0cx3"
+   "commit": "3dd1d99ebc99aa39b165569b3d02a87368d4849a",
+   "sha256": "0x41fagf4917yb5y3na5y1x60vfzdi44cpimdmg4dz4vcp3g23mm"
   },
   "stable": {
    "version": [
@@ -65626,8 +65834,8 @@
     "ht",
     "s"
    ],
-   "commit": "87cdae737bc540520aa8c8eb3e90a9a3a2108592",
-   "sha256": "10956s0ix1m19g8r9b0pm8wicm19nyk87k1bqbpcg9f28c2rml9k"
+   "commit": "b3366ec866b6e3b5c608fee23e86eb832d132ef8",
+   "sha256": "106fgd8id9xrrl7qyyzxxmi690m29i7zcfk6anc5h52lm52ydk0j"
   },
   "stable": {
    "version": [
@@ -65861,15 +66069,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20220330,
-    127
+    20220510,
+    323
    ],
    "deps": [
     "map",
     "seq"
    ],
-   "commit": "cd49433244ef450a1dd10a65a7839076d61bdcf1",
-   "sha256": "0mdr09vqy4xrqb2l4g3j8n99zvqajw1jxxvvm9zv03zkwvcink1c"
+   "commit": "98537cb29e28d32d3607fa61253ff1bf04db2539",
+   "sha256": "1skl536wmygbnnvcdh307zh5d3y0vz31q0nkwvbd5rpifl4rpk2h"
   },
   "stable": {
    "version": [
@@ -65900,8 +66108,8 @@
     "dash",
     "loopy"
    ],
-   "commit": "cd49433244ef450a1dd10a65a7839076d61bdcf1",
-   "sha256": "0mdr09vqy4xrqb2l4g3j8n99zvqajw1jxxvvm9zv03zkwvcink1c"
+   "commit": "98537cb29e28d32d3607fa61253ff1bf04db2539",
+   "sha256": "1skl536wmygbnnvcdh307zh5d3y0vz31q0nkwvbd5rpifl4rpk2h"
   },
   "stable": {
    "version": [
@@ -65981,8 +66189,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20220313,
-    1835
+    20220430,
+    1535
    ],
    "deps": [
     "dap-mode",
@@ -65992,8 +66200,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "fda433671f38874f0ebe66c43c64fec14af3f492",
-   "sha256": "1zszzw0a58s1clsvhvqxymivrw2x6p96cxx9pygr8is8f9353hpg"
+   "commit": "7ca60ce9a703ad7a950dcd5ec36ef4251f57d207",
+   "sha256": "1snsnd9pgq2lz3avypps73qfdl3ky2i5sx04sybj7gj41yz834bc"
   },
   "stable": {
    "version": [
@@ -66021,8 +66229,8 @@
   "repo": "emacs-lsp/lsp-docker",
   "unstable": {
    "version": [
-    20211203,
-    1659
+    20220501,
+    1056
    ],
    "deps": [
     "dash",
@@ -66031,8 +66239,8 @@
     "lsp-mode",
     "yaml"
    ],
-   "commit": "c2da2a65cb11e92d23c480dcc12387aa53997181",
-   "sha256": "067bc37v14mvrmayah95qkcmi8gh3fdhdh8493wabm47kgszsfh4"
+   "commit": "c57863609abfb93fccabf81dc3112ac38f93c4a2",
+   "sha256": "007rf2zbkskidskmcnlsx56dxv0saqm2nl9ih1rk6h9vm27yl24z"
   }
  },
  {
@@ -66075,8 +66283,8 @@
   "repo": "emacs-grammarly/lsp-grammarly",
   "unstable": {
    "version": [
-    20220222,
-    638
+    20220511,
+    707
    ],
    "deps": [
     "grammarly",
@@ -66085,14 +66293,14 @@
     "request",
     "s"
    ],
-   "commit": "bc1c71d797d919869f9a7086f8413d260e9df3ef",
-   "sha256": "1q8m98a0xz49sd080sxg8dcp8jn50d2lm11nmz4pbcn7cf678hy9"
+   "commit": "709c522df7a68e2724dbfb5bd210199dff5a2264",
+   "sha256": "188sx0a6n1kl9awcic1pjbzxsqhq2cbbk8chbp8zgpl0x67ph7d6"
   },
   "stable": {
    "version": [
     0,
-    2,
-    2
+    3,
+    0
    ],
    "deps": [
     "grammarly",
@@ -66101,8 +66309,8 @@
     "request",
     "s"
    ],
-   "commit": "984037557b7e445183453faffc965fbe56df12f2",
-   "sha256": "12q3j0sgsgm73m3i0sw72dzkqa55zn0dbqjgp0g2wryhfhg0zq1p"
+   "commit": "fe47a75700dc4f16ec4ff77d6d0306f39566464b",
+   "sha256": "09kylilfw9qysd8bqf9dbc4mlzxam5iph64c09c5xyfzagmmhx8n"
   }
  },
  {
@@ -66119,8 +66327,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "7cf64944ab3a25ea5d6f8d5e0cd33124182df991",
-   "sha256": "037wcvan0185bhzzhi4phw9z245a28s29zvyfik04c27n0bhm2xf"
+   "commit": "daa51072e1718ca075987901fccbbc2357bca1fc",
+   "sha256": "0d2myk2906j0ngivca1yf4vdi8bfk5pz706nx279bf0pil7irdy0"
   }
  },
  {
@@ -66195,8 +66403,8 @@
     "request",
     "treemacs"
    ],
-   "commit": "0968038b9aea52ef3bf499e597cf3800d913c059",
-   "sha256": "1rpssrv1avbfq47h23qiymzhzddcxgs77diwq3mavqkxkqrkj3vz"
+   "commit": "39ca56e24d6f9db2c9d889f79808713e4afde027",
+   "sha256": "011c2b25k650fbxvpifmld6v0bga1s5679zfl10f1srhlk56p47v"
   },
   "stable": {
    "version": [
@@ -66245,26 +66453,26 @@
   "repo": "fredcamps/lsp-jedi",
   "unstable": {
    "version": [
-    20220407,
-    406
+    20220430,
+    18
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "b22927b2b51bde8692e70ea60cbb90ff4bfaffb4",
-   "sha256": "1aadck54fx2f907wi0bm9bwrhjf9ivzfyrrgp50m8a4yjnh9acfv"
+   "commit": "5e3eb3e160c2d38b8bd2b5cd3b86fa4f823f9330",
+   "sha256": "0kax988drrzsx103v71bz4vczh4bg0n80arrzm4r6sgrk01219j0"
   },
   "stable": {
    "version": [
     1,
-    1,
-    0
+    2,
+    2
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "b22927b2b51bde8692e70ea60cbb90ff4bfaffb4",
-   "sha256": "1aadck54fx2f907wi0bm9bwrhjf9ivzfyrrgp50m8a4yjnh9acfv"
+   "commit": "5e3eb3e160c2d38b8bd2b5cd3b86fa4f823f9330",
+   "sha256": "0kax988drrzsx103v71bz4vczh4bg0n80arrzm4r6sgrk01219j0"
   }
  },
  {
@@ -66337,14 +66545,14 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20220222,
-    656
+    20220508,
+    533
    ],
    "deps": [
     "lsp-mode"
    ],
-   "commit": "ac7d53f72b50df121ee69d0d8fe684d327adade6",
-   "sha256": "1093g7lyf7k2zcxgmcy0hkjkz3x302x0l3v7g8madrd7axx23sbb"
+   "commit": "8c2ba735ed1e21777408167f6a7c7d9681d9e7bc",
+   "sha256": "1iqmvy870vllb794cpmsnpm65hindxym9dnhb0pnxz0mf6hcvz2v"
   },
   "stable": {
    "version": [
@@ -66369,8 +66577,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20220330,
-    1958
+    20220510,
+    1457
    ],
    "deps": [
     "dap-mode",
@@ -66382,8 +66590,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "b7f77de69431786c54e9a57845e4f2d75fbee053",
-   "sha256": "02bp1j7k5hmp3rmlswhn3plr7f8vl10bqgb68safl88hmqlvvgxd"
+   "commit": "6980fb902c3c7b43ff0d4056a6cd7d8b4709866e",
+   "sha256": "0v2zj1jrgvx6gwhp414v9jg8j0qz724dv2fh8xwqksl5qjiq6kaz"
   },
   "stable": {
    "version": [
@@ -66413,8 +66621,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20220412,
-    1914
+    20220511,
+    1331
    ],
    "deps": [
     "dash",
@@ -66424,8 +66632,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "d1be7c90e0c6bf6c810e19a12b6a6e76568f0456",
-   "sha256": "1qksj5l8iz9s7yhrkrsvf012w7kbdxjnwqi9bvzy7lk518xqhk97"
+   "commit": "465bcc5fbeb6293446a3241f5f2c1b872337958c",
+   "sha256": "151vc741rwi2gggkw39msql1y050b1n46rrjnzalz9nqsk6l5dp2"
   },
   "stable": {
    "version": [
@@ -66463,8 +66671,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "88319a61a06e27fc1d3ea2e7b853ec1692b4c166",
-   "sha256": "0007lv95cqh8makipas2m4rkllig5zvi51hv3zadlhw57xnvlhjw"
+   "commit": "8d5d4d4a7f72b4cae89a48ea8618f3ef28bcb121",
+   "sha256": "1q7d6cbmdr00a36q5nhs2fpqvgapx7fh1rwzp7ih079w7aszm002"
   }
  },
  {
@@ -66482,8 +66690,8 @@
     "lsp-mode",
     "origami"
    ],
-   "commit": "5b88ab77dc2696c93fa5dd9debe183821c533b71",
-   "sha256": "0chf7b8qdgzm173crpbz3vl3kjhgcdsmkprz8bf6w3qb5lpvaysw"
+   "commit": "7df9c91a309aa4229bec41f109920b37c4197618",
+   "sha256": "1kq2r2rjwk0ryc832fqfqb3l1yr2ysrj36dzwnj7h1np06rdzpwv"
   },
   "stable": {
    "version": [
@@ -66580,8 +66788,8 @@
     "ht",
     "lsp-mode"
    ],
-   "commit": "308ba57a272c5b17705e534584bd52933e2ace6b",
-   "sha256": "020njrx0g4isjshldq4gd3f0jp6h3xgk7xs0n0a7czp5hakx9p3n"
+   "commit": "ab7369d96f4d7d058d0e06e743f86fda8ecc191c",
+   "sha256": "0dr47dhp0ymb4gmx4xiayiapbkri1hgr2faivp4fqs6gz3w4z4kn"
   },
   "stable": {
    "version": [
@@ -66612,8 +66820,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "a56459216b3fdd99f7e3703ce0d20bb517b0222e",
-   "sha256": "0m23gbxfs1gyhj4i2iwq7g7818qpr2z6hwp7cllnflxf3j5m95s0"
+   "commit": "f8e7c4bcaefbc3fd96e1ca53d17589be0403b828",
+   "sha256": "1z7cs2linikm54a7dqn66p58vnsnhy2rj99l2wixa6cdfxlmacn0"
   },
   "stable": {
    "version": [
@@ -66663,8 +66871,8 @@
     "ht",
     "lsp-mode"
    ],
-   "commit": "3af97828f9c08d782fb2086e3a73bda5759e6788",
-   "sha256": "1d1yfgvdyas6vbg992f5s4sayaxjxs33gh13z629x67hx6p22n3r"
+   "commit": "a429be2aea7797369a3c751ef54e3554733117be",
+   "sha256": "11rgfn9sdwxsncc4xrchiqn9dbqi3zirjvbz91kc5rvjv436077b"
   },
   "stable": {
    "version": [
@@ -66695,8 +66903,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "97ff36b228a61e69734c7180f33cc6951b1a600f",
-   "sha256": "1pal3mga7nwfcvri1cffsjgcbbhk7wd1icd622qspqgq0zkfs8jd"
+   "commit": "f877659babd3b5f8ec09a8ad7d08193d95b6822e",
+   "sha256": "0v7nz76wah1ihdi3rjrcm3xljj7p16161rzdiqk0ds4y0xll00xs"
   }
  },
  {
@@ -66713,8 +66921,8 @@
    "deps": [
     "lsp-mode"
    ],
-   "commit": "010318052021ec041727e58e41752af094c8827a",
-   "sha256": "1rwszx7qza3nshcwvgq0lq3bnrggyq45k4363bhcqf95fbjl5jxl"
+   "commit": "8c04fc4ac6f5eb8053ecdaaedffa35e0f7a5b865",
+   "sha256": "01qn3qkr06jz0xsqvz76pc2x8aby0hv1f84mh1v3zsmcjdb64vy8"
   },
   "stable": {
    "version": [
@@ -66736,8 +66944,8 @@
   "repo": "emacs-lsp/lsp-treemacs",
   "unstable": {
    "version": [
-    20220328,
-    625
+    20220502,
+    459
    ],
    "deps": [
     "dash",
@@ -66746,8 +66954,8 @@
     "lsp-mode",
     "treemacs"
    ],
-   "commit": "355e468b7fa9887c616a8bfe873d8e456303b67b",
-   "sha256": "0a9m0n50j3lkig9zsdach6fwxc0m6z33mb2pwwxyhv1xp3jksv92"
+   "commit": "9859326df6b8e8c954a3c227e53b6878e54aaae8",
+   "sha256": "0g1azw6638hig4bwy00wyr8pdj13dwf3v5lsjbgxsgckz831wl79"
   },
   "stable": {
    "version": [
@@ -66773,16 +66981,16 @@
   "repo": "emacs-lsp/lsp-ui",
   "unstable": {
    "version": [
-    20220411,
-    1413
+    20220510,
+    627
    ],
    "deps": [
     "dash",
     "lsp-mode",
     "markdown-mode"
    ],
-   "commit": "7698f9b683349f13c0ff92c1b0f68c2fb11995b7",
-   "sha256": "1wgzbnwg04gdm6jn3qgyc3nv0ff5zj2rc905m39gsl6bzaz6vbda"
+   "commit": "eba9c4eaa255a14e2facd658e7122674c05390f8",
+   "sha256": "09c6qy17dlqh2jnzk6xf6cj8r7gbwgn59cmhaadzhh3v3n13362z"
   },
   "stable": {
    "version": [
@@ -67110,6 +67318,24 @@
   }
  },
  {
+  "ename": "macports",
+  "commit": "90d3395497abafe2016555dc000c21fa0c829ec7",
+  "sha256": "0s2ipwgwnrwp2x8gzlkr2y488ij4pah3mymjy3z2nivqs5lg5chv",
+  "fetcher": "github",
+  "repo": "amake/macports.el",
+  "unstable": {
+   "version": [
+    20220512,
+    1330
+   ],
+   "deps": [
+    "transient"
+   ],
+   "commit": "ebca27f8e16d3607070582849bea81d40ca5f584",
+   "sha256": "0xz5y5smfa69ylngkfck935c03ak40i4aazzklzyslv385vv9kd4"
+  }
+ },
+ {
   "ename": "macro-math",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "072ycszl4cjc9nvv4axsgyfzz9djpgh4y1xqfr1nxi41nsdfc9kn",
@@ -67269,11 +67495,11 @@
   "repo": "roadrunner1776/magik",
   "unstable": {
    "version": [
-    20220408,
-    1250
+    20220422,
+    837
    ],
-   "commit": "9c0faba222afc875cf604dd7fe4265f1ff891535",
-   "sha256": "17wz1mwfnpjzqzzlhns5jk7zc7ma22kasb0wfpwrnsra8wdx4svj"
+   "commit": "af1b83786c95d448dcb4df5406eb1cdba975abf5",
+   "sha256": "0aa1fg658j11990h9dfv9n92qa1f36szamfnq37pw27d08n4vkb8"
   },
   "stable": {
    "version": [
@@ -67293,18 +67519,19 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220412,
-    2029
+    20220512,
+    1218
    ],
    "deps": [
+    "compat",
     "dash",
     "git-commit",
     "magit-section",
     "transient",
     "with-editor"
    ],
-   "commit": "3cfc8458e14c705afdfbeb7dcd3d3f43d7479344",
-   "sha256": "1v21p89srk09ahszwm257j950f8j939y3yx8qzmrvmwya4isi9n7"
+   "commit": "12272c825d216148454b7cfa57fef202cdfe0c7d",
+   "sha256": "0h9f52c1kmgzr0w85knwvf1r2b6dw0dariy2sn9mpqsvpj3cyv2c"
   },
   "stable": {
    "version": [
@@ -67377,20 +67604,20 @@
  },
  {
   "ename": "magit-commit-mark",
-  "commit": "2d6e8cd768a8d119f1ac3407f9d5793b084e8f1d",
-  "sha256": "0dvw9plzhm3yql719xi2n4j1v9q31g67jnwx5n5pzjk90v2rzqxm",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-magit-commit-mark",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "04j8sr7yzl9ipwsra19vczk025v9kba8w43sy37r335dy6h7vr74",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-magit-commit-mark.git",
   "unstable": {
    "version": [
-    20220406,
-    2314
+    20220511,
+    2341
    ],
    "deps": [
     "magit"
    ],
-   "commit": "18d03e38f2825dfcf9d121720ee550294e5611a0",
-   "sha256": "0621rcfbd81p6vlr2i3h9lbbqagp4iyr4z63g38y0bylfj4hlc8j"
+   "commit": "ce2cd6daeb46eaea597a3b2c9d9ead80da9f0d09",
+   "sha256": "0kawy31kd0ywmrz705i5yf7blpd3zllpik0688j7cn0rq663vv2r"
   }
  },
  {
@@ -67662,15 +67889,16 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220331,
-    2308
+    20220429,
+    1720
    ],
    "deps": [
+    "compat",
     "libgit",
     "magit"
    ],
-   "commit": "3cfc8458e14c705afdfbeb7dcd3d3f43d7479344",
-   "sha256": "1v21p89srk09ahszwm257j950f8j939y3yx8qzmrvmwya4isi9n7"
+   "commit": "12272c825d216148454b7cfa57fef202cdfe0c7d",
+   "sha256": "0h9f52c1kmgzr0w85knwvf1r2b6dw0dariy2sn9mpqsvpj3cyv2c"
   },
   "stable": {
    "version": [
@@ -67818,14 +68046,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220329,
-    1154
+    20220506,
+    1936
    ],
    "deps": [
+    "compat",
     "dash"
    ],
-   "commit": "3cfc8458e14c705afdfbeb7dcd3d3f43d7479344",
-   "sha256": "1v21p89srk09ahszwm257j950f8j939y3yx8qzmrvmwya4isi9n7"
+   "commit": "12272c825d216148454b7cfa57fef202cdfe0c7d",
+   "sha256": "0h9f52c1kmgzr0w85knwvf1r2b6dw0dariy2sn9mpqsvpj3cyv2c"
   },
   "stable": {
    "version": [
@@ -68400,8 +68629,8 @@
     20210108,
     1832
    ],
-   "commit": "4d00496bffe0299ef4ea26c705b895e4b50f4cf2",
-   "sha256": "14ihhixwj4rsjc6f1d7159zi4hwgfn1z6rrgl3vvqxxsxp7al4jy"
+   "commit": "e1af20253fbc5a91034ccd01cf00141130c11863",
+   "sha256": "1pvyv1yhhm5ziqrlvd0hfphp3mcdh8iwwqs5awb54frj9j61fsi8"
   },
   "stable": {
    "version": [
@@ -68426,8 +68655,8 @@
    "deps": [
     "manage-minor-mode"
    ],
-   "commit": "006eabbde7be9d6bf2038bfd9597323c794a8292",
-   "sha256": "0k6r9i7c4ji747km760xdxfwsk7nbydwfl7av0bvp0kpdda50n0w"
+   "commit": "e4c38aeb8ef6a85d8c082ad683720e5a4174aa79",
+   "sha256": "18w2xazs6hw49z7v2z8dcjwbzn696vny22ncdh0s2szp0acwvlaa"
   },
   "stable": {
    "version": [
@@ -68450,11 +68679,11 @@
   "repo": "choppsv1/emacs-mandm-theme",
   "unstable": {
    "version": [
-    20191112,
-    1832
+    20220426,
+    1131
    ],
-   "commit": "4e6ce4f222c1fa175d56e926628f37caa5f398ce",
-   "sha256": "05lb7izcwivjlyx6442hkskppr2158wg0b8g9k435xl083vxmpfw"
+   "commit": "4991bbc4b17308f5dc53742dc528cbfdc467ee01",
+   "sha256": "1wykcvsw54fla7n01xqclbm4vmfpp4iikw3aqb7m04h0ayx56y02"
   }
  },
  {
@@ -68603,11 +68832,11 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20220413,
-    621
+    20220426,
+    449
    ],
-   "commit": "20c019e8847128b1303fbbad339a55a7ec2a482d",
-   "sha256": "06f4y3l767x07rih7jr7zcdb73ilsrmnk5ychkd8ci9ylcimlhni"
+   "commit": "26f2bd9ee7b63bcad6604108e2f565b34bc6083b",
+   "sha256": "0bbmhgcx6266rljbw641c7q8q7ygz8i4xvk6zyaqwvmnq09xqfch"
   },
   "stable": {
    "version": [
@@ -68723,11 +68952,11 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20220406,
-    410
+    20220508,
+    1219
    ],
-   "commit": "d2a3d5b8625a7c6be21f19f9146745cd5c791a6a",
-   "sha256": "00wiyghp38x788hn5rbm26lihx0bjwj4w76ya1bx6vl5g8k1h2yw"
+   "commit": "5b6e660c13ca3f4d15dbc1aa3d7ab2f228491ef9",
+   "sha256": "11phyiblvxzx3dqqqrqlfi0q67ih1hy1630rlx6pi7w835npn0wz"
   },
   "stable": {
    "version": [
@@ -68938,8 +69167,8 @@
     20200720,
     1034
    ],
-   "commit": "e624dd8a9075aafade6d53a5e8b4e83db4123110",
-   "sha256": "1058wnv1vf8k01i0xndazildns8fxwfkg3s7i93hdadga0vh838s"
+   "commit": "c36dcf8c282f547da5b3666f025a3000b5dbd1d9",
+   "sha256": "135j7i4y5jhypbknknmpha6mfjfzphb3n7pb303dss0amxfs0430"
   },
   "stable": {
    "version": [
@@ -69026,8 +69255,8 @@
     "request",
     "seq"
    ],
-   "commit": "b3649a12a398537ade7136d704f2f05ccc856e23",
-   "sha256": "13swcbvwhjl8ksrgzvmfafkgd3iz8znk49bs1n48w3g9qvh097w7"
+   "commit": "e5ff349d23c71a521db41dcdb1ac9765bac5388f",
+   "sha256": "1iq7m0acvhb86l5p7ah2pq2fz1716l94dw1m7pbi6asbnypgnavy"
   },
   "stable": {
    "version": [
@@ -69074,15 +69303,30 @@
   "repo": "matsievskiysv/math-preview",
   "unstable": {
    "version": [
-    20211221,
-    1611
+    20220512,
+    1853
+   ],
+   "deps": [
+    "dash",
+    "json",
+    "s"
+   ],
+   "commit": "0f0b2315d23e5d18b627c9faa8f231f175b728a0",
+   "sha256": "003ih3nrv753rj4ssdvs6ddqzxgl63vzmrypd41xf4g5dfsbmsf0"
+  },
+  "stable": {
+   "version": [
+    4,
+    0,
+    0
    ],
    "deps": [
     "dash",
+    "json",
     "s"
    ],
-   "commit": "75dd44ad8dcfa12fe03f8e65babe0ea04e1a7d1a",
-   "sha256": "183m24yj54j8mix27q731wdxp1yyjm9qgd82hqflfivldlabm0x8"
+   "commit": "0f0b2315d23e5d18b627c9faa8f231f175b728a0",
+   "sha256": "003ih3nrv753rj4ssdvs6ddqzxgl63vzmrypd41xf4g5dfsbmsf0"
   }
  },
  {
@@ -69146,11 +69390,11 @@
   "repo": "rudi/maude-mode",
   "unstable": {
    "version": [
-    20200725,
-    2035
+    20220419,
+    1454
    ],
-   "commit": "008f372631a1efe15be033792cfb1686b1736aeb",
-   "sha256": "07a51iwlzj88b6jaxzz8p8r7l9kcbflw8l11h67sx5y0gv23a6vv"
+   "commit": "68de3c11ae16c409afa74516aaf465996d1a9e59",
+   "sha256": "18dwn1wp29yr9k8967qnm9avmdi2wxn82kjsyykj1xy3sh9n28my"
   }
  },
  {
@@ -69249,8 +69493,8 @@
     20211205,
     1100
    ],
-   "commit": "ca0a3878763180fe2d775feae88b87d21dd8dcb8",
-   "sha256": "101fynqcw8hnhrgkxb3wdh9a2iqp35q1rh7hijnzz5xpxds2sj96"
+   "commit": "09f32af1a58d0b042b699c76d2b30e9226508f5e",
+   "sha256": "12pjmg7jxr7gjamjdgkgnmf05ivg7sxilfdqmd7mjzlr1n73iby7"
   },
   "stable": {
    "version": [
@@ -69638,11 +69882,11 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20220409,
-    24
+    20220501,
+    1918
    ],
-   "commit": "ec03160337ea0c9f073b137791eea908491ff840",
-   "sha256": "13r5zlkw887dap6v5p24aff738r3gk4v56h8wcnzlfm09x6fwh07"
+   "commit": "72d6ff36b62a57aa9c9dbfbd44cdb3002a0e940a",
+   "sha256": "0vaam51wg8a7ilk9kp3lvz3p0vfcc3fl2nkpwswdadgr69f2d4qb"
   },
   "stable": {
    "version": [
@@ -69662,11 +69906,11 @@
   "repo": "ocaml/merlin",
   "unstable": {
    "version": [
-    20220404,
-    2046
+    20220502,
+    811
    ],
-   "commit": "4b8acadcfc4d703d3afe7c6d16477567cfa15442",
-   "sha256": "0qiqyhp2mfj90mbfba268rzipi7f3jyqkzsw7ilq1kwrcvwbblvr"
+   "commit": "49324b4fdc14987164ed7a3a8c3681df5b4866ee",
+   "sha256": "1hjgwwwmg20nmgvl96s9jay6mipcn7hil1jjvzmbrbkix6f2ymzm"
   },
   "stable": {
    "version": [
@@ -69694,8 +69938,8 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "4b8acadcfc4d703d3afe7c6d16477567cfa15442",
-   "sha256": "0qiqyhp2mfj90mbfba268rzipi7f3jyqkzsw7ilq1kwrcvwbblvr"
+   "commit": "49324b4fdc14987164ed7a3a8c3681df5b4866ee",
+   "sha256": "1hjgwwwmg20nmgvl96s9jay6mipcn7hil1jjvzmbrbkix6f2ymzm"
   },
   "stable": {
    "version": [
@@ -69727,8 +69971,8 @@
     "company",
     "merlin"
    ],
-   "commit": "4b8acadcfc4d703d3afe7c6d16477567cfa15442",
-   "sha256": "0qiqyhp2mfj90mbfba268rzipi7f3jyqkzsw7ilq1kwrcvwbblvr"
+   "commit": "49324b4fdc14987164ed7a3a8c3681df5b4866ee",
+   "sha256": "1hjgwwwmg20nmgvl96s9jay6mipcn7hil1jjvzmbrbkix6f2ymzm"
   },
   "stable": {
    "version": [
@@ -69789,8 +70033,8 @@
     "iedit",
     "merlin"
    ],
-   "commit": "4b8acadcfc4d703d3afe7c6d16477567cfa15442",
-   "sha256": "0qiqyhp2mfj90mbfba268rzipi7f3jyqkzsw7ilq1kwrcvwbblvr"
+   "commit": "49324b4fdc14987164ed7a3a8c3681df5b4866ee",
+   "sha256": "1hjgwwwmg20nmgvl96s9jay6mipcn7hil1jjvzmbrbkix6f2ymzm"
   },
   "stable": {
    "version": [
@@ -69815,14 +70059,14 @@
   "repo": "abrochard/mermaid-mode",
   "unstable": {
    "version": [
-    20210505,
-    1635
+    20220426,
+    1631
    ],
    "deps": [
     "f"
    ],
-   "commit": "562ffe86cad91627e2b94b8684818562c3ad2b5d",
-   "sha256": "0g90fy27ivjaad1wp6rg8jx8dm44vb6zmsrlchzpwcyhkxs7zv8l"
+   "commit": "1a6526bc68561b7da6a612152b842a41ffb0aa09",
+   "sha256": "1l8vcdsgqgfbd5lp3jjjbcpxcrvgn7bz4q9g6hxqrcvkzj0radv0"
   }
  },
  {
@@ -70152,8 +70396,8 @@
     20210131,
     2152
    ],
-   "commit": "0ab2406db9b4d5dac2348dd033d5fd37abd92a94",
-   "sha256": "0jdv58k2h90jr2a7sxkif4diwj3c0978ajyhaapk58icihfn66sa"
+   "commit": "00f6045b1292d23a0579208521a470d685bdc59f",
+   "sha256": "05w41l2n7y2xrckx95hxa3m96py42m2wnzw2h1278zzbwpn5w1fm"
   },
   "stable": {
    "version": [
@@ -70555,11 +70799,14 @@
   "repo": "tarsius/minions",
   "unstable": {
    "version": [
-    20220402,
-    1113
+    20220422,
+    1615
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "edf4173ec7e49ecaa2bff7e49e2194e9d1edb258",
-   "sha256": "1hwwb64cm5f2fm25pmqlzfvhc0nxq2lmnr021njf5p403wjx43si"
+   "commit": "19dae1c41542777cb5b0311b6e2e77f43e2fd407",
+   "sha256": "0rngii17j938hpri6dlijrwyr18mdbxjkq9nkgi57h6aqvh2s49c"
   },
   "stable": {
    "version": [
@@ -71072,11 +71319,14 @@
   "repo": "tarsius/mode-line-debug",
   "unstable": {
    "version": [
-    20220402,
-    1122
+    20220422,
+    1615
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "eaf123f451113c946977482807e90f3b351a619a",
-   "sha256": "13rjb2r6ml3mflv13pcrdibn7rm3b9pc7z856da55kxkl4v9n40j"
+   "commit": "e8e17b96df1b9fdc448bfc5367a24c2917de88d4",
+   "sha256": "1m13xvbh3msnxsr2q3ir88vmhd832rw5rih648064b0fbismszmc"
   },
   "stable": {
    "version": [
@@ -71090,17 +71340,17 @@
  },
  {
   "ename": "mode-line-idle",
-  "commit": "6c854955505f809f7a70e8918ea3a0187e62257c",
-  "sha256": "0wvy7p27d4qa5f6cg1zqrm8wzfvd0wfwcc5aimcs1hkxlzl1kr6b",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-mode-line-idle",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0lw9cj9wz992hzz39x91zmf6p4jqydxjv7227gwv7h4mzw0js5i1",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-mode-line-idle.git",
   "unstable": {
    "version": [
-    20220406,
-    2322
+    20220507,
+    1118
    ],
-   "commit": "6ff3eb73586e9f3d6197447290aa92fd49f467e8",
-   "sha256": "1ygsfzw2s3d8jli2z6qsgmy3yrmigpy364525v7jrn2ns7p9i3kd"
+   "commit": "28658a54fbf20e8224cbc71b074670309ec2e998",
+   "sha256": "0l9iks709cl62yyj547fzikpc3xfpf9lg0bb1iya1hscix6njbc3"
   }
  },
  {
@@ -71216,20 +71466,20 @@
   "url": "https://git.sr.ht/~protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20220413,
-    1844
+    20220512,
+    1808
    ],
-   "commit": "dd2b51a76f7177224202b68efdd1bec6fdc65553",
-   "sha256": "110qj8ivbr21lgfssbb6hvi0a1798aaapwclasiigj458db5z6iy"
+   "commit": "b6285162d80fe438b4ac99acff74d33b5f901c35",
+   "sha256": "139ycd3p63hlxs70g266xj6i7bng1p2xavwcsxf4j4nvfayib9r7"
   },
   "stable": {
    "version": [
     2,
     3,
-    2
+    3
    ],
-   "commit": "6bdc035ea1d5559ec6220521d5926780539f04b9",
-   "sha256": "00c3sa663rnl2rvnjdqzghcyfbdri09xjfigyrgd5xa3y0mnpqiz"
+   "commit": "ee0670f85bc55a3178c18774e141b4e58b2f6fe7",
+   "sha256": "14nfb94y9vcnpmwj9acwl6h5v0h1c6swqf33ch4zimxxqgx9zrm4"
   }
  },
  {
@@ -71563,11 +71813,14 @@
   "repo": "tarsius/moody",
   "unstable": {
    "version": [
-    20220402,
-    1624
+    20220422,
+    1616
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "9c81859e522717f9a5c2b3ae88cf673a02bffc23",
-   "sha256": "0h2v7rsjgms71pljc8lqis3bxkjln3gs8jja8bk5ndy9d4d986jz"
+   "commit": "d56a70bc71cdf90cfd5cf4d8517aa1d808659241",
+   "sha256": "07n4sqxbifkhsph45waa81ayqk9lpg51zr1zi9474s6wm9vmpf8i"
   },
   "stable": {
    "version": [
@@ -71684,11 +71937,14 @@
   "repo": "tarsius/morlock",
   "unstable": {
    "version": [
-    20220329,
-    1833
+    20220422,
+    1616
    ],
-   "commit": "1fbeea5d4a5f1f236814fcecaee1d158fb50094c",
-   "sha256": "1iwm8yb46czvyp6i77w2r5c1bqh1q5i791jjsxgy1hnj03gwm6b3"
+   "deps": [
+    "compat"
+   ],
+   "commit": "3b3716e3f865dd71e3acc3f54a0a9f7e2445695a",
+   "sha256": "01chyar1mss073c90ixnwjzkrxzi1fvvid9hwaddwfg224w3phql"
   },
   "stable": {
    "version": [
@@ -71866,8 +72122,8 @@
     20210306,
     1053
    ],
-   "commit": "f8331d15a81fe39a8532ec537d273221e1f1d0b7",
-   "sha256": "014bh3nbmpmq1l6fx5h4y513bis91jql7mm22idgx543kmjz9mmq"
+   "commit": "247db142f7251062978ade3fd27c815259eaa05b",
+   "sha256": "16bdqpmj4lsc3nx78ikvgqslb6jrzc5qmkhfl8m5gy26gfd37dxn"
   },
   "stable": {
    "version": [
@@ -72268,16 +72524,16 @@
   "repo": "xzz53/mu4e-alert",
   "unstable": {
    "version": [
-    20220411,
-    2
+    20220416,
+    1840
    ],
    "deps": [
     "alert",
     "ht",
     "s"
    ],
-   "commit": "56c58eea4fe5cd015300649d98d0314b454b0fc7",
-   "sha256": "17k981q708jgc5jbzd8fpagyqbscb395hnpzdlpnj8w0kpf38mjk"
+   "commit": "b34d0ea7b75709cc25d842a783cebea855dc9f7d",
+   "sha256": "09qzph8madnhd8kqnj662sgfcyvp1wg35ll6i5xbh98yazc0r64s"
   },
   "stable": {
    "version": [
@@ -72600,11 +72856,11 @@
   "url": "https://hg.osdn.net/view/multi-project/multi-project",
   "unstable": {
    "version": [
-    20220312,
-    2321
+    20220415,
+    2334
    ],
-   "commit": "c0a37d5ee969ca8a783bf6c4a9084c4efeace86d",
-   "sha256": "0rn0iixl37px4sbkqxrfnfkq6kmb9dsn4x83rbz335dwniqxx5iw"
+   "commit": "d51551296425b1febd102a38a46f2d3dc4548559",
+   "sha256": "1bbykm7aalhpx6ndgsd8riy9xszvbghcpbkgbn64hbymsy57nvs5"
   }
  },
  {
@@ -73530,8 +73786,8 @@
     20220124,
     1806
    ],
-   "commit": "5f94022fc9168971c77f8c12f9efd569c45f4850",
-   "sha256": "0lfqvm71lxxga06pjzcdydjpgd3548rql7bsjdvbknkwx2p54w4g"
+   "commit": "01d8a2048e13f29dd3aa06281ac8cb466caddb64",
+   "sha256": "069ch7h1fkm2zvw6nfndyrpxp9s2p7x3d0acswaa7isynygwkcy8"
   }
  },
  {
@@ -73749,6 +74005,30 @@
   }
  },
  {
+  "ename": "neil",
+  "commit": "ecede2ec0a03469b06df1fd92c5703726e33c81a",
+  "sha256": "1r65b7pkgsjhqxs895206s6qqmcsh04yq5sfrhci3wglg2pkw0kd",
+  "fetcher": "github",
+  "repo": "babashka/neil",
+  "unstable": {
+   "version": [
+    20220501,
+    2053
+   ],
+   "commit": "239c16655431b27ee558bf250bece4f4b10a0e83",
+   "sha256": "1d31g7a9js378cq56gqwrd978bzc57848j169lsykz24yqx3sf22"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    28
+   ],
+   "commit": "6e8620c1a3001d1541ad934ae2847905451a21cf",
+   "sha256": "0ipg6d8vm7i4jgdxa56w8a4al2nnj09pivfplfja7791mgl0qk30"
+  }
+ },
+ {
   "ename": "nemerle",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1rbalq3s2inwz9cf6bfmnxgqd9ylba3crflfjs6b4mnp33z4swny",
@@ -74247,11 +74527,11 @@
   "repo": "m-cat/nimbus-theme",
   "unstable": {
    "version": [
-    20220106,
-    2017
+    20220513,
+    240
    ],
-   "commit": "f9bcec4ce0f6cd656a56034ace7811dea769a7bb",
-   "sha256": "1mfx03mjm8w5djvwafd9p3zyw4aysalw4j57x1sv51shf1fzz2g6"
+   "commit": "958a92a979c88bee909d03a78b2faf6726d0069b",
+   "sha256": "0l4bi6hnwk4lssmya8x6av0j0nhvwccxaiv2ar1byiy7i3bxvr16"
   },
   "stable": {
    "version": [
@@ -74274,8 +74554,8 @@
     20181024,
     1439
    ],
-   "commit": "25cdbae0ee1270a5c8dd6ba67696e29ad8076919",
-   "sha256": "1fwqvjg39l7321ykph3fd8dmkdy4q381jlg1jwr7ynmm285rfs9j"
+   "commit": "7905dee5ac62f7a1e0dfec4d936b97d96c7566d7",
+   "sha256": "17q8sqnrrsyxz6zld2zarp44wsjn53nsp8bz8k007wd5lbwylvg2"
   },
   "stable": {
    "version": [
@@ -74373,15 +74653,15 @@
   "repo": "NixOS/nix-mode",
   "unstable": {
    "version": [
-    20220228,
-    1520
+    20220505,
+    1706
    ],
    "deps": [
     "magit-section",
     "transient"
    ],
-   "commit": "20ee8d88900b169831d6b0783bd82d2625e940c7",
-   "sha256": "0qv5cin9668pxm5cjhrl5sf170g62qqi954q4y2yj7zh3q0qhwpi"
+   "commit": "8fe2ccf0b01f694a77d2528e06c10f06057784f6",
+   "sha256": "08kz9qp4gp55z1i87ig0ysq6pgqgwlgr765g1vp8gsh6lp3myh36"
   },
   "stable": {
    "version": [
@@ -74612,8 +74892,8 @@
   "repo": "dickmao/nnreddit",
   "unstable": {
    "version": [
-    20220124,
-    351
+    20220423,
+    2302
    ],
    "deps": [
     "anaphora",
@@ -74623,8 +74903,8 @@
     "s",
     "virtualenvwrapper"
    ],
-   "commit": "ddb59e309018416d1f867b6dddca44f17a1b6bb9",
-   "sha256": "1qj1yzpgcdn550lb1c9hqc3wb46pah6h00y3m3q3n2v6cks8lnmc"
+   "commit": "8f247dce12bd10de37f0903f3027a1ddbc318eff",
+   "sha256": "0g4l2d7mji7wl2bzwj1h6p5cyw8w6bw63fcy3kqsgdjny2mkijl5"
   }
  },
  {
@@ -74670,14 +74950,14 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20220315,
-    2232
+    20220509,
+    1733
    ],
    "deps": [
-    "cl-lib"
+    "compat"
    ],
-   "commit": "2d7237a49ad6a9b6425e68fa4d3245cbe5a7169d",
-   "sha256": "0509b6n0sjkfpj5hhxm5cb2zxhjnaxjnjmr9dcfbkfmyx3s8gkc0"
+   "commit": "fed46eb7060aca624bfe1a18f13b73f94e70f013",
+   "sha256": "169asd32iask7h6m861j1qfg60mxnmxxcwc3f8ddxkpfjb6b27sq"
   },
   "stable": {
    "version": [
@@ -74715,15 +74995,15 @@
   "repo": "thomp/noaa",
   "unstable": {
    "version": [
-    20220410,
-    1334
+    20220509,
+    1600
    ],
    "deps": [
     "dash",
     "request"
    ],
-   "commit": "bfa7b2f9abcc7a18472c6998634450c876900170",
-   "sha256": "1d6c1zad3gava05ncnqxznbcy1y3m4hcs1x9p5dbqcs2vsw5l5ln"
+   "commit": "507831164b09a2d769bd68d5a45608fc0de626dd",
+   "sha256": "1xsnr4y3al9ps2v1y8yjapmghrvcgk8671h300l3w9w0gjcwkbhj"
   }
  },
  {
@@ -74945,19 +75225,18 @@
   "repo": "p3r7/norns.el",
   "unstable": {
    "version": [
-    20220315,
-    1155
+    20220422,
+    2152
    ],
    "deps": [
     "dash",
     "f",
-    "osc",
     "request",
     "s",
     "websocket"
    ],
-   "commit": "b70ab2f9a58859243762c633628ad515f5563da8",
-   "sha256": "0cw0ry30im3b4b70n7rsp8pyv1567kl7byjck3rdlfrl7ll9bzr6"
+   "commit": "0eb487e15cf4aaaa30efde9068e205f014fd1dd2",
+   "sha256": "09z85fzbcibhj5mcp3i003zihqqxx8qpwrq99fjd0szjmk8g8zj7"
   }
  },
  {
@@ -75016,16 +75295,16 @@
     20220226,
     1200
    ],
-   "commit": "97f16b26518036b2c493dd6af11d98006ca49f77",
-   "sha256": "006q9qchgzsj5w1d2k10nwcp1zaa6p8f4kmgjv0ca29avhb2qjwm"
+   "commit": "37492858b61907e4728b2e68e67238c68e9a0d49",
+   "sha256": "0kc750z3p23rkn2nr3z7y205xb58qi77f2vr8w33nj4ykgil65ar"
   },
   "stable": {
    "version": [
     0,
-    35
+    36
    ],
-   "commit": "7b5921877e748338359a25dae578771f768183af",
-   "sha256": "1jkninm2ynavacmz835s0v5iy10fw7b3v6hrnhvk1yr7zyiwhy88"
+   "commit": "a9b5f8959a20bbce774dec8a65a8b207555e52bd",
+   "sha256": "0dxvavdn97gicsjdfbrfbx1qz140ri3qdyfyxs5xxmmmc3c6gxjd"
   }
  },
  {
@@ -75036,14 +75315,15 @@
   "url": "https://git.sr.ht/~tarsius/notmuch-addr",
   "unstable": {
    "version": [
-    20220402,
-    1624
+    20220422,
+    1618
    ],
    "deps": [
+    "compat",
     "notmuch"
    ],
-   "commit": "4fc0621106bf5d3ef66152456a22403bccdf0a4d",
-   "sha256": "0318zjp7nv02pyycllpf6zbi6ccf7yf6n0466qk3hmsb1jd2vxjl"
+   "commit": "dd852b09415e755cef6a345a2ee454a6cf1e1d06",
+   "sha256": "1v8idjm2z2jh6dqnwkslbj0masc04qw9yz6q3jxg7xm4biidw9sq"
   },
   "stable": {
    "version": [
@@ -75125,14 +75405,15 @@
   "url": "https://git.sr.ht/~tarsius/notmuch-maildir",
   "unstable": {
    "version": [
-    20210615,
-    1513
+    20220422,
+    1621
    ],
    "deps": [
+    "compat",
     "notmuch"
    ],
-   "commit": "fd0e2199da746906eca080d4ca5bca17068cdce5",
-   "sha256": "1fqnx6hhg0cqj82yjpl7llg6vvppc3y8q9k6g67mqr7z3712bw0x"
+   "commit": "b39cdeaec1afda6015cd0d5f4d851b3d59d0fd2b",
+   "sha256": "1y8nvxn715wpfxh48nxqpil277lknd70dmwnv3czr8iir909fmi1"
   },
   "stable": {
    "version": [
@@ -75155,14 +75436,15 @@
   "url": "https://git.sr.ht/~tarsius/notmuch-transient",
   "unstable": {
    "version": [
-    20220402,
-    1625
+    20220503,
+    1117
    ],
    "deps": [
+    "compat",
     "notmuch"
    ],
-   "commit": "d8994bd33d50cc70e0c0bb04588ab384f5104185",
-   "sha256": "14z6lmgq3l6q2csswk6x95h8dr2kdvm2ifzfv6n4fqyl39za8hjz"
+   "commit": "4f64de401b8d955dce528f76575142edd9815dc7",
+   "sha256": "0hrki24izxq34w7m21nqhv2rmngkjxra9s5mdr8mr6shl1678pvz"
   },
   "stable": {
    "version": [
@@ -75185,14 +75467,14 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20220406,
-    1747
+    20220428,
+    1417
    ],
    "deps": [
     "esxml"
    ],
-   "commit": "12faf16fbbaf09aadec26dfbda5809d886248c02",
-   "sha256": "10507fdfx02wb3j7g34w4ii8rgnjbmriq63ir6x1agf38s3i9p52"
+   "commit": "8f5b42e9d9f304b422c1a7918b43ee323a7d3532",
+   "sha256": "0xnzwmv44pfqrh7rhqw8v6rd39kshxfah6d9fxrrbv33vlqy8kpl"
   },
   "stable": {
    "version": [
@@ -75254,26 +75536,27 @@
   "repo": "shaneikennedy/npm.el",
   "unstable": {
    "version": [
-    20220222,
-    1650
+    20220428,
+    839
    ],
    "deps": [
     "jest",
     "transient"
    ],
-   "commit": "45d8084aeafae415dc45ddc9c3a18b546315fcc6",
-   "sha256": "1iai69sdjfl9ynif7cbg654r8wdcjlkk8w8qzd2x4wxg72bfa2d2"
+   "commit": "6eb0a58274870dd75bf848cf5a916a9f2c6ddae5",
+   "sha256": "1shl3ixvbfs84cw62dh0xzc0kacpbvrg49qnbkyvk9kn91x6k9c1"
   },
   "stable": {
    "version": [
     0,
-    1
+    2
    ],
    "deps": [
+    "jest",
     "transient"
    ],
-   "commit": "a699cba6a8798af709b2576f2df54abd7eb1701b",
-   "sha256": "1w9a9pjpp3lchl4k8y1zhdpdnmd090s8vp7vbfb89xawp1gavhxg"
+   "commit": "6eb0a58274870dd75bf848cf5a916a9f2c6ddae5",
+   "sha256": "1shl3ixvbfs84cw62dh0xzc0kacpbvrg49qnbkyvk9kn91x6k9c1"
   }
  },
  {
@@ -75404,11 +75687,11 @@
   "repo": "joostkremers/nswbuff",
   "unstable": {
    "version": [
-    20210721,
-    741
+    20220426,
+    2050
    ],
-   "commit": "fa9dcf131697ea7af066e11a1edcc881c397e07f",
-   "sha256": "0bkx7mwy3zbb0ixawvn4cysxk3jjc7ahssvdprvw19ls9xx3wbsp"
+   "commit": "7633674c89e3dbfc0c07cd7fd8b1d206ed4859d3",
+   "sha256": "1bxxf20nbk4amvlillyrhjiyv6l4q4ilxkxgfanvmr58nrq3illq"
   },
   "stable": {
    "version": [
@@ -75527,11 +75810,11 @@
   "repo": "enricoflor/numbex",
   "unstable": {
    "version": [
-    20220327,
-    2049
+    20220504,
+    1329
    ],
-   "commit": "78a4f72e666a67486dd616b89f7318a8ae3c125b",
-   "sha256": "1f5fhwj9bm3i3rnaig3gp88lg5l0b5yq4anqid6479j7ig3g7w0i"
+   "commit": "55d4977c74ca33d1ad4c10fea7369f4bcdfd3f86",
+   "sha256": "0d43ad14b2k1w3my2nwrnw58z594hw18k6p37xvvpnx8r4fdxbl2"
   }
  },
  {
@@ -75827,8 +76110,8 @@
    "deps": [
     "axiom-environment"
    ],
-   "commit": "e60de5ed107ffeb530a56d24d04f38988124d12b",
-   "sha256": "0p8kbxfcrx1ib8g17g6h2i2ygy35qq992n3s2xa6ysij7wrfn4hd"
+   "commit": "b52fa715285e7ad182c8e679ebf05b130dd5b5e2",
+   "sha256": "1hb4npfpg1iy9j0p29q1jrjgx0mrn333m45nmsnxw8nlaxzd97x6"
   }
  },
  {
@@ -76093,11 +76376,11 @@
   "repo": "fritzgrabo/ob-dsq",
   "unstable": {
    "version": [
-    20220405,
-    2219
+    20220425,
+    716
    ],
-   "commit": "37090235c064ba5a5e436b0b77b5442f606cf5b3",
-   "sha256": "0vpxjbri5vs560rjfgy1fy8zi0jadfa0bxj0hqdc23bjmvdg45wx"
+   "commit": "b8dbf53e5d9ed359fbf69e9d14adf68a7c08af10",
+   "sha256": "0v721spl9n4lz70dh9vx0pc3as5crmyrwfn0zg8hsbf0gq0m745v"
   }
  },
  {
@@ -76339,14 +76622,15 @@
   "repo": "shg/ob-julia-vterm.el",
   "unstable": {
    "version": [
-    20210418,
-    2306
+    20220512,
+    820
    ],
    "deps": [
-    "julia-vterm"
+    "julia-vterm",
+    "queue"
    ],
-   "commit": "e04ee53d67cbd715c2d84fe5bc367526edfadc74",
-   "sha256": "18866agjrkx2gv38zr14mhf3rlvjdjvn3i8hxg12lrbv6q4rn8aq"
+   "commit": "448b1d0d2edf908c13a99a2424fec20de636f5a3",
+   "sha256": "040k25ikvngczd8yxm8i6qa0q6vbqgsiq1ddwq1wlvhaw9iam6qm"
   },
   "stable": {
    "version": [
@@ -77050,17 +77334,17 @@
  },
  {
   "ename": "oblivion-theme",
-  "commit": "7d4af0029c1d935137aebebcc19eda206bf5f9ac",
-  "sha256": "0a8q63kxlxd2svz5l8sbh6yiyhd6bl8a3hz335a09w1501f23lki",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-oblivion-theme",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1w814y5q66amiz117maq297k59ng5fx3ab04cddwl8awqws58ssg",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-theme-oblivion.git",
   "unstable": {
    "version": [
-    20220411,
-    525
+    20220507,
+    1118
    ],
-   "commit": "d46983d69d75d8db6284ad297b17eedc495be2eb",
-   "sha256": "1wgv1hjm7xsy4f0xgh2ndiknxxbr4scrvzvqqz530f3nxx00hwz9"
+   "commit": "4129672f60d55c820adf260002476d038ac18165",
+   "sha256": "12dlvkb3vsfgz3k7cchbcn9g5q5w8g3m1xr21d31zq67wnm3h8lg"
   }
  },
  {
@@ -77089,8 +77373,8 @@
     20220307,
     1315
    ],
-   "commit": "9324ea439a77b4f3a31e9302b97ce1812cf8f17d",
-   "sha256": "0rznnw6id09s5gvx40zgsl8dlwiinpya26pdw2w0a0bm0kf5k148"
+   "commit": "c490e5b7c4b5f5e5848a5cbdb1e669588dfeaae3",
+   "sha256": "1kq8290g494z48a1g1myzyazzfl33gz1hws984kxv8i29lp7jqr3"
   },
   "stable": {
    "version": [
@@ -77353,15 +77637,16 @@
   "url": "https://git.sr.ht/~tarsius/ol-notmuch",
   "unstable": {
    "version": [
-    20220402,
-    1627
+    20220428,
+    1337
    ],
    "deps": [
+    "compat",
     "notmuch",
     "org"
    ],
-   "commit": "48a7245f560f2da61bfdb374d0059bea81639ddf",
-   "sha256": "17zb3hn8343mlpszdxf47kskd08lisw4ggw999m62ybji88yfxib"
+   "commit": "1a53d6c707514784cabf33d865b577bf77f45913",
+   "sha256": "16p7j51z8r047alwn2hkb6944f7ds29ckb97b4k8ia00vwch0d67"
   },
   "stable": {
    "version": [
@@ -78030,11 +78315,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20220406,
-    1434
+    20220418,
+    2119
    ],
-   "commit": "8f64537f556f26492fe5ee401d8d578d7d88684b",
-   "sha256": "068sqaxlig3fj7z3a5hc34mnw6g3lv9kn68ibq6yw1b4q8r82knq"
+   "commit": "75eeae21971d86b51a712ed8ecd6434463b2d866",
+   "sha256": "0rl3na97qkl5a5p2ifs1sli80rq38qqmjqkv6khn60f05rj5yvk3"
   },
   "stable": {
    "version": [
@@ -78315,20 +78600,20 @@
    "deps": [
     "async"
    ],
-   "commit": "5d9f2734c96166722c5057f3a2641ff8e08184cc",
-   "sha256": "10isxdaw7mqnw8flc76rva9y04wsyzpv6v0f3lsvkrx044rcz3cr"
+   "commit": "c3cbde261fd66b747374b667cb715ca9ee8c52ba",
+   "sha256": "084pfgjyf41nmwyixvza9vhmfbaq587hx78knpg7c19aiki2r8zx"
   },
   "stable": {
    "version": [
     0,
-    3,
+    4,
     0
    ],
    "deps": [
     "async"
    ],
-   "commit": "ad3c332f062b5830e88b2ab13287a096ae434657",
-   "sha256": "05yrw59zrzxj1p8n65sk6mvy7jzik812mp9i2nsimwhlhn3si1pj"
+   "commit": "c3cbde261fd66b747374b667cb715ca9ee8c52ba",
+   "sha256": "084pfgjyf41nmwyixvza9vhmfbaq587hx78knpg7c19aiki2r8zx"
   }
  },
  {
@@ -78613,14 +78898,14 @@
   "repo": "Chobbes/org-chef",
   "unstable": {
    "version": [
-    20220412,
-    1423
+    20220422,
+    300
    ],
    "deps": [
     "org"
    ],
-   "commit": "f244b33a5a42d2879b9a6f4fcfeedcefb3326b94",
-   "sha256": "19dnp8s3aplcran1byr525fc3pmvyva6lac9ba68685ga0pxc4j9"
+   "commit": "6a786e77e67a715b3cd4f5128b59d501614928af",
+   "sha256": "0ik5akhsh9aji6n477i1jnk0wnljj7n1d0ybp8szgj2nr5258mhk"
   }
  },
  {
@@ -78646,15 +78931,14 @@
   "repo": "dfeich/org-clock-convenience",
   "unstable": {
    "version": [
-    20200705,
-    1527
+    20220503,
+    530
    ],
    "deps": [
-    "cl-lib",
     "org"
    ],
-   "commit": "efc9773a8dedf834cf4a78fb6f5f8fffe55ef8eb",
-   "sha256": "0xnzw4p0wvahkfnxpj2ysz9nylzndp4pvy90vlf0l0d2ff5dymbh"
+   "commit": "988d4e3c9f0ae6df098b0ab1985b79eed2c5b808",
+   "sha256": "0b1i013likxba92z3bwrg9in3g3daaz31fdsn1cfxbn3yha6yzai"
   }
  },
  {
@@ -79516,14 +79800,14 @@
   "repo": "shg/org-inline-pdf.el",
   "unstable": {
    "version": [
-    20210119,
-    529
+    20220429,
+    1012
    ],
    "deps": [
     "org"
    ],
-   "commit": "b2dfbf41efac55edacde8a8a6bd0275418de6454",
-   "sha256": "1gs62qjllsz23qbs9zq767c8xxvxwknl1x6r4ixx9090j7bsrhpd"
+   "commit": "b790818ecbb85cd6dee44754935eb12153a79679",
+   "sha256": "0a5fk5wkzljrjwclq8x1lbg9krzfj336pc5kid5ncq947p0m04bn"
   },
   "stable": {
    "version": [
@@ -79565,16 +79849,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20220328,
-    407
+    20220509,
+    2058
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "502de6d31d0b2fd8480787461b7167d5dd3b088a",
-   "sha256": "16wm0k5sa7r12chfz96nfk2474a3wa7q7dinhc7hfl1x5c7v60zk"
+   "commit": "c0c0086419b4e68bb45bf609931916d6d8ae48a2",
+   "sha256": "0yrmgr4jr49qr94j50cbbpgwszgsw6w7c2c0q4pdz2ckqff0y1fx"
   },
   "stable": {
    "version": [
@@ -79644,21 +79928,21 @@
   "repo": "SqrtMinusOne/org-journal-tags",
   "unstable": {
    "version": [
-    20220411,
-    2018
+    20220416,
+    1507
    ],
    "deps": [
     "magit-section",
     "org-journal",
     "transient"
    ],
-   "commit": "1e19f7a1a815881e244c6ff42a12c56d3249c6f5",
-   "sha256": "02maqn8hpl3cmjq1bhd2pfvy8gqw00jjijfmzzdfx7wwfvgz3vb7"
+   "commit": "ca6327161f4994ea0e98d7c6c3f662222e2650bf",
+   "sha256": "1pg7wxjlhbh3fls17zgh9wdzk0mjc3sfi873207kc5rcd4araq89"
   },
   "stable": {
    "version": [
     0,
-    2,
+    3,
     0
    ],
    "deps": [
@@ -79666,8 +79950,8 @@
     "org-journal",
     "transient"
    ],
-   "commit": "66740f8615bd487097e8614ffa8caa9aab81c1eb",
-   "sha256": "1m1a8kfnz544j7xjjhpii2sj20sqfbpfzg4l4606smb6i7zszvdh"
+   "commit": "ca6327161f4994ea0e98d7c6c3f662222e2650bf",
+   "sha256": "1pg7wxjlhbh3fls17zgh9wdzk0mjc3sfi873207kc5rcd4araq89"
   }
  },
  {
@@ -79678,30 +79962,30 @@
   "repo": "gizmomogwai/org-kanban",
   "unstable": {
    "version": [
-    20220218,
-    1845
+    20220510,
+    2150
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "5310e208d151f460f9b7e3961b4796842e91a3ae",
-   "sha256": "1d7v9vn9bli4lj59lbcldhplg46g79038j9avzicwgrysm74ybic"
+   "commit": "1d3234359fa52fce5ac1006e2c51f14c760d275e",
+   "sha256": "1kvmr1sz3jcd4wc4gybazpigb9yv5wl246axbr7z4m6wjiq0k5nv"
   },
   "stable": {
    "version": [
     0,
     6,
-    3
+    4
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "198ffa2066aadcdd9530dcc9b82cb5626c49e257",
-   "sha256": "1lh7hgzbkmhv7hqc0fvgvivkihg96c41ms1v7rcknnp3f1kj195h"
+   "commit": "1d3234359fa52fce5ac1006e2c51f14c760d275e",
+   "sha256": "1kvmr1sz3jcd4wc4gybazpigb9yv5wl246axbr7z4m6wjiq0k5nv"
   }
  },
  {
@@ -79752,14 +80036,14 @@
   "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20220321,
-    145
+    20220503,
+    458
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "75a0f3bc427b9449f6f7ae3b2ac67e16e24153bd",
-   "sha256": "0p33n195xl6pgvyf7z47mq48fh8ihkq7wx70z1vn9js3xvig2ahm"
+   "commit": "b20e296b497360de12d5d973aa273cab70c77126",
+   "sha256": "17vcrz99759sh75swd94w1pajq5kknj7bgw5n12frwgfjlq6hi3s"
   }
  },
  {
@@ -79884,8 +80168,8 @@
     20220204,
     42
    ],
-   "commit": "a7bf07316f93015e4f853ea0fc5b8d05b4a7695d",
-   "sha256": "01f04xpqkgja34a0z4smh2kxzn3lvx2391fnbfxmq92pxqp3gk0j"
+   "commit": "98504d043c8421ac390b7358b146733c7c0b4479",
+   "sha256": "0n0bm9xddlgvlrmc2yjkdyvag7690yphdkcjx4w3cb04xlcac9ns"
   },
   "stable": {
    "version": [
@@ -79976,11 +80260,11 @@
   "repo": "minad/org-modern",
   "unstable": {
    "version": [
-    20220413,
-    2110
+    20220422,
+    940
    ],
-   "commit": "8cd0d0653a962e1f9e99e9c8dc126d8615f132f0",
-   "sha256": "1844f71lzarhxyyjfpdlz3pb31rdwyj8jgjlvd434gbsm8mkchaj"
+   "commit": "ff1046705b3950b7a49da50bc34c11da86c6226d",
+   "sha256": "0zg2bi6jprigvqy4zglb8f8357sxikcfx0b8vjbwcjl08iimxp6j"
   },
   "stable": {
    "version": [
@@ -80902,8 +81186,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20220331,
-    2336
+    20220509,
+    1414
    ],
    "deps": [
     "avy",
@@ -80917,8 +81201,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "10ed481413a8cbc676d26e754a3e7c6ff7d44cf3",
-   "sha256": "0nwbjh5pn8p16w33jd0d4vi497aaww7368899q1hr12yjl9b6c3q"
+   "commit": "0d2355d1eb4dcac1095a03d885788a12fe566610",
+   "sha256": "019pbp02fnbb7rcr80cfyi7pa9b413lgdfmbwaak2icb5cpmj452"
   },
   "stable": {
    "version": [
@@ -80951,15 +81235,15 @@
   "repo": "alezost/org-ref-prettify.el",
   "unstable": {
    "version": [
-    20220112,
-    1746
+    20220507,
+    649
    ],
    "deps": [
     "bibtex-completion",
     "org-ref"
    ],
-   "commit": "cbf9a709a10304981c38eba1149def17151aca3c",
-   "sha256": "1n1rgm2i3mn8cyyslbkrh6gyln59sn03bld0m5ib0s1a8k9099pp"
+   "commit": "0ec3b6e398ee117c8b8a787a0422b95d9e95f7bb",
+   "sha256": "14cs9qg1fszg9gxpkrf74b49avcx4smpr39z7a9k3n2w6v4dn19x"
   }
  },
  {
@@ -81065,8 +81349,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20220409,
-    2317
+    20220512,
+    1634
    ],
    "deps": [
     "dash",
@@ -81075,14 +81359,14 @@
     "magit-section",
     "org"
    ],
-   "commit": "3bb45afccb9f17758c5604e4d883c769f4fc3545",
-   "sha256": "04pdlix7wcgkfml41dy2arr2sv3z9s4g3r4ydrbash4w257q9bqq"
+   "commit": "2657f0b444194e1de6957f9cfc112383980d62f9",
+   "sha256": "1x1222nvy5fq2cyz8ds271xq03bcyn4252vxzdch9gai3n0vg00b"
   },
   "stable": {
    "version": [
     2,
     2,
-    1
+    2
    ],
    "deps": [
     "dash",
@@ -81091,8 +81375,8 @@
     "magit-section",
     "org"
    ],
-   "commit": "3782e88d50f83c5b9fbb4b10df71df3f37e27156",
-   "sha256": "0c5vxz423lz386dxa9nqyf396jmyb36q79paxf27is1dhq1vwd5w"
+   "commit": "69116a4da49448e79ac03aedceeecd9f5ae9b2d4",
+   "sha256": "09wcqdqy2gcsyd1mbcm90b70y3qj921m4ky8l3avhzpdwgyw8wy5"
   }
  },
  {
@@ -81206,28 +81490,19 @@
   "repo": "tyler-dodge/org-runbook",
   "unstable": {
    "version": [
-    20220107,
-    451
+    20220512,
+    1927
    ],
-   "commit": "dd11d253d3ee94b70f0d2cc74c6e85c6f5ac189d",
-   "sha256": "1vjmpdvcsqrry4jg07l84nfp7kx0wmjn60l60bcfmzj2mwcz4nak"
+   "commit": "ec8b933c1269804546c356fe379169d1f0fce9ea",
+   "sha256": "09lg1ycfb3qkzqnhk088ija62kvv0z5jgg4apcbr2y4plb0bgc6h"
   },
   "stable": {
    "version": [
     1,
-    1,
-    4
-   ],
-   "deps": [
-    "dash",
-    "f",
-    "ht",
-    "mustache",
-    "s",
-    "seq"
+    2
    ],
-   "commit": "e5d1e30a05552ce1d63d13ada1487643a41b92cb",
-   "sha256": "093jbpanvpwxxdyb9136r804ai1147rbq1gfb7pdy0iymhrv3d9r"
+   "commit": "253c2876446650249d59ac35200b373a0aee4e68",
+   "sha256": "007n6rjyvfk9ip0hz0wcfdj4qw86rwg05dk5l7zfynnkbb7ggkp6"
   }
  },
  {
@@ -81489,20 +81764,20 @@
   "repo": "bastibe/org-static-blog",
   "unstable": {
    "version": [
-    20220110,
-    739
+    20220508,
+    1410
    ],
-   "commit": "a1a1738b14dfb73be759023e2bd3dffb0792ebeb",
-   "sha256": "18c4kjmab089073npcvh1qi4g6m9yqyb0ifm96nay7rivw4rchj2"
+   "commit": "a6cd8f651f971eaa68be1cbfd30cc775e3a7ee93",
+   "sha256": "0i5r35my8sbnbic8jskzpnjlp6fjn7vglxaa9pkknjxs0dvj1x6m"
   },
   "stable": {
    "version": [
     1,
-    5,
+    6,
     0
    ],
-   "commit": "734dd263cf79e4d5a0077f8b5ce344ea45bf7f3d",
-   "sha256": "1p9v40mm8p25b9xgfahwqqx4c36aqnl9yyjjdhkp6x5xkhkdf7by"
+   "commit": "61a3ab0e2e8e1ac0ef8772e89ae320c07142f7f5",
+   "sha256": "0p3bhnp91x65xr5d40kdmyj7vgyq62bvq3b1gfwv7881sh8p6hr9"
   }
  },
  {
@@ -81729,15 +82004,15 @@
   "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20220409,
-    2310
+    20220427,
+    1552
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "72456c2a1caa811a4cda2f7b07ba58645c3efbb8",
-   "sha256": "04lgrbgk0jsmgkla8jif6kma9328535ajrvqaiyja0r2c5d5x7ng"
+   "commit": "88fde267441118836a5c4ed28bb5958fca37a800",
+   "sha256": "1f7acxpc133abqzhc667syd7dkazarazndwl1dg8clcms4v6xaqq"
   }
  },
  {
@@ -82110,8 +82385,8 @@
     20220220,
     1757
    ],
-   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
-   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
+   "commit": "2f38f3583295e05c9ea491b7d1f6b4791169ba86",
+   "sha256": "0jyy8nl4r70l0dwc55lg75k7chcwb9zprl185x0122fjqgmnq1ri"
   }
  },
  {
@@ -82273,22 +82548,22 @@
   "repo": "marcIhm/org-working-set",
   "unstable": {
    "version": [
-    20220407,
-    1708
+    20220414,
+    1402
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "d5375818919f21910a97c4617b2a316c40272fb9",
-   "sha256": "0kdb3m36msy2hqq1mkzzdvbp5dxazv3rfgr17vhi4nm0na47wk2p"
+   "commit": "6af54ed3a5d9bf90629223157803c42f5d3b152c",
+   "sha256": "1jpiyjzvqqzrnp95vysp7b742pxlfqd1g6srxhv3fjlq65px6z5a"
   },
   "stable": {
    "version": [
     2,
     6,
-    2
+    4
    ],
    "deps": [
     "dash",
@@ -82329,14 +82604,14 @@
   "repo": "ymherklotz/emacs-zettelkasten",
   "unstable": {
    "version": [
-    20211002,
-    1132
+    20220503,
+    1357
    ],
    "deps": [
     "org"
    ],
-   "commit": "4048bf9e1be7ab759696a9541eec8f435359bcf3",
-   "sha256": "1rnir9mc9cp12wg5p19f0m6g6mvfyv1ahr7zq7azl8hvwmnb6gx7"
+   "commit": "603a5b692a08340c1865a6f73cacf57c4fd64cb2",
+   "sha256": "1hwibhqmm7a4zz0fw6qhbgyyw7rx73zd6gn7mg2g4m0c4kwwfifa"
   },
   "stable": {
    "version": [
@@ -82549,8 +82824,8 @@
     "ht",
     "s"
    ],
-   "commit": "484ec25e863a619e53d1ddd351c70541f19cc45a",
-   "sha256": "0q9ykb9lxb9lwcgy77db8c994ka1rxpaid0immj3zvpxwi2hkbld"
+   "commit": "6fe53900ead434f3e18e63e9d22a8fa8380ccb37",
+   "sha256": "0h33ih533dirghhpjlyzm3k8iss007f9npk2fpbc75z3q4ws67wp"
   },
   "stable": {
    "version": [
@@ -82608,15 +82883,16 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20220402,
-    1629
+    20220425,
+    1157
    ],
    "deps": [
+    "compat",
     "magit",
     "org"
    ],
-   "commit": "bc4168ecd241a8e2b4b30af51f671b53fe3187be",
-   "sha256": "16fyp8vd9d0c97s0vp7n8qg34dh38g5z2h4llvdrs3y51s2v5zyd"
+   "commit": "b33b916915db5f91d2c9da4cb1a2457ccbb09332",
+   "sha256": "16cbyaafwlfkrnxr7vzcpd3qpg55k6v59qj77njqbzps5axq145b"
   },
   "stable": {
    "version": [
@@ -82640,17 +82916,18 @@
   "repo": "magit/orgit-forge",
   "unstable": {
    "version": [
-    20220402,
-    1632
+    20220422,
+    1625
    ],
    "deps": [
+    "compat",
     "forge",
     "magit",
     "org",
     "orgit"
    ],
-   "commit": "a2e547d152e154eda48675f172b7d78c7307315a",
-   "sha256": "0a76b4x6wl2dr9cpmv6a25prh6ip5k3h7k1sld501212qyay2khs"
+   "commit": "8baf1dee795f026d4555687022487fab89c9bcdf",
+   "sha256": "0zdp3yi4vmrhpl8v0vk5d4b8kz77k0qnnhmapm7arv7719ydwzff"
   },
   "stable": {
    "version": [
@@ -82676,15 +82953,16 @@
   "repo": "tarsius/orglink",
   "unstable": {
    "version": [
-    20220402,
-    1637
+    20220422,
+    1626
    ],
    "deps": [
+    "compat",
     "org",
     "seq"
    ],
-   "commit": "bb4b19f48134f43410cd9762a086da59fa338e98",
-   "sha256": "0r930pzfks9b0whbmawmgx4s6vxk8hfsz9k19lddn6rxb64c9db0"
+   "commit": "59bec36eb91e78d508e290b69c4383b27466513f",
+   "sha256": "116c6vbpisdwkh51084768ar8djzl1bsaafgzfjwhc9f9mb9n384"
   },
   "stable": {
    "version": [
@@ -82966,19 +83244,19 @@
   "repo": "minad/osm",
   "unstable": {
    "version": [
-    20220403,
-    904
+    20220511,
+    1756
    ],
-   "commit": "ae8194e3032d8740edd7c08380ff5dbc6767fd9d",
-   "sha256": "137lc50913c3fjfsw668d2rvg58r122z722wc314f6rvdsxx7h1d"
+   "commit": "471f21f0f8bffc078d5ccfd86610a83e5269c2a0",
+   "sha256": "1w8xc4g2fgg9l0yibqc0190afgk71z697ni4yx1v1z1vy46s76c4"
   },
   "stable": {
    "version": [
     0,
-    6
+    7
    ],
-   "commit": "f76decfd0e94d5fc030a1d5c3230c213c87b47ef",
-   "sha256": "0aiq2z9vv4jsl0s0x9vpjgp0mnn27wanhirzj3h80ivgiphzs7l5"
+   "commit": "e3ea969ce1bf84343f357efa2de97e1dd857f481",
+   "sha256": "0d037512llpny669m6mhvwhnm90g6ysgjqdx45gqxfwdc65s4a46"
   }
  },
  {
@@ -83245,11 +83523,14 @@
   "repo": "tarsius/outline-minor-faces",
   "unstable": {
    "version": [
-    20220402,
-    1637
+    20220424,
+    1803
    ],
-   "commit": "d9b220eaa7e845a02fd17779f3f1820527a6ef50",
-   "sha256": "071lhipssh79kzy2lm7j2phmmsfp745yl2n95h7w5c7i9kxvc2zh"
+   "deps": [
+    "compat"
+   ],
+   "commit": "ff862866a2c5eb7b20aa96a97fa982e2db1b6640",
+   "sha256": "0wjrf1b5hjrgxgwqz1701xr6hhlmbnnr79f99162py49clljd5mw"
   },
   "stable": {
    "version": [
@@ -83543,14 +83824,14 @@
   "repo": "yashi/org-asciidoc",
   "unstable": {
    "version": [
-    20211224,
-    538
+    20220428,
+    740
    ],
    "deps": [
     "org"
    ],
-   "commit": "27bf9a3e900c782bd57719c81c0aa68d9a1e3b46",
-   "sha256": "1xz5qr1kfhc9r5krdvg4lqc39gdszip44qqwkrkj9jm8pw713yfq"
+   "commit": "c8bc184f9088b76fdf1ce20e6e5d0a1588e1b327",
+   "sha256": "0799wah7ywzpzjjhmqkyj9v8krzh0j6qa5gs4a7iwvp9r66jwcpl"
   }
  },
  {
@@ -83654,11 +83935,11 @@
   "url": "https://git.sr.ht/~abrahms/ox-gemini",
   "unstable": {
    "version": [
-    20220110,
-    2102
+    20220418,
+    1433
    ],
-   "commit": "7c3300ace135e94467942f77f0a2c07a93ab00ad",
-   "sha256": "1kggmlj8qr0657skrixk1532smp5946a3vkg1xnwy5kwh8z0n8sf"
+   "commit": "168f820ea401fb813435a3a55af295873a4c110b",
+   "sha256": "0jmiya3f9vv4v64p5kxla6wiiyv4wg4w7f4a6zmdrjcn11hflqmm"
   }
  },
  {
@@ -83758,26 +84039,27 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20220411,
-    1555
+    20220512,
+    1805
    ],
    "deps": [
-    "org"
+    "tomelr"
    ],
-   "commit": "d3d4c57444f03898e78d2ae11e97fdb94a4655c5",
-   "sha256": "0wzn9pm72bm1r9z42d7g38l0s1s5dplgmvnqppl02mx6ls1lx1rz"
+   "commit": "cab606a2098524ea7ac97704cc8df6d2d9d190f8",
+   "sha256": "13gfchjdhalijbf5d4xmz1zvl904syl4lm07ssrqck4h66y4nr9y"
   },
   "stable": {
    "version": [
     0,
-    10,
-    0
+    11,
+    1
    ],
    "deps": [
-    "org"
+    "org",
+    "tomelr"
    ],
-   "commit": "ad412e0d2c8b36232abe090893cc731ffb1b8e17",
-   "sha256": "0x9hixb518bblaap0zjbp19dswv1davi4qkqz2a6a2ilvmfi47zz"
+   "commit": "4fc594eda0d0cb41cc3b634b43fbd055db7ae67e",
+   "sha256": "1qrxy32g8brmc3psfg458ca6r91wqq55bgmsk76w6zm8cgrvsnyc"
   }
  },
  {
@@ -83855,14 +84137,14 @@
   "repo": "stig/ox-jira.el",
   "unstable": {
    "version": [
-    20220121,
-    1015
+    20220423,
+    1403
    ],
    "deps": [
     "org"
    ],
-   "commit": "a8019237a8f5e016a7c952fc2f673a2498a0e779",
-   "sha256": "0pa7pwk0yjcgak3f9w9jggj3ghlig1azf15ng954r646810j9i4v"
+   "commit": "00184f8fdef02a3a359a253712e8769cbfbea3ba",
+   "sha256": "1zyq4d0fvyawvb3w6072zl4zgbnrpzmxlz2l731wqrgnwm0l80gy"
   }
  },
  {
@@ -84023,16 +84305,16 @@
   "repo": "emacsorphanage/ox-pandoc",
   "unstable": {
    "version": [
-    20211224,
-    1240
+    20220419,
+    750
    ],
    "deps": [
     "dash",
     "ht",
     "org"
    ],
-   "commit": "b2e43b936249de2a100afb4262698105c39ce289",
-   "sha256": "1fj0d37xdn0xgr5xihc6g24j75snwpq5vijyc2n1w2qrw8sav0ak"
+   "commit": "0a35d0fbfa56bdd9ec5ba5bac2fe002b61c05c52",
+   "sha256": "00fx05jkz3mbgqw5y1g7pfrhrpkcqn5zf0s51r25ykzdfiggcn7a"
   },
   "stable": {
    "version": [
@@ -84095,8 +84377,8 @@
    "deps": [
     "org-msg"
    ],
-   "commit": "37a173e9fa40728f121eb0da2ece0ebab4102d1e",
-   "sha256": "0xz6n8zabaimdh7dqikh3hm41akfwwm49hyjxbfyshbg8r4kld0s"
+   "commit": "c6d8c2f4a0d762ea1732ffdb7bec2ba98aeecdd9",
+   "sha256": "05jky43c6bcvvgfkdds4kb2gplnv1my5wqk8qj16qggmdvwiqfwb"
   },
   "stable": {
    "version": [
@@ -84129,6 +84411,36 @@
   }
  },
  {
+  "ename": "ox-review",
+  "commit": "67bf75e1dee7c7d83e66234afb18104b844b1719",
+  "sha256": "062ifdcgk4iwhz5k8srdd38z34gib5i36rcfhj90bn07d7jsrh2y",
+  "fetcher": "github",
+  "repo": "masfj/ox-review",
+  "unstable": {
+   "version": [
+    20220502,
+    1146
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "4abb1aa4665d246a38a9a53e5b365b3e57ec6d85",
+   "sha256": "0gxlps90xnmmd2dv9s82c2p2r8zl8nzdlhadw1zq2rxqqhilxn4w"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
+   ],
+   "deps": [
+    "org"
+   ],
+   "commit": "8b2e7dcd580ce2c0df9067c699b104b04c330682",
+   "sha256": "0gxlps90xnmmd2dv9s82c2p2r8zl8nzdlhadw1zq2rxqqhilxn4w"
+  }
+ },
+ {
   "ename": "ox-rfc",
   "commit": "d3f49159d6a379bf435e2af8920176fd84693a60",
   "sha256": "0vqh923223rmhy39p4lwmdv6azba7cddkc1zi5pp3zpcijmhxzk4",
@@ -84564,25 +84876,22 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20220210,
-    1334
-   ],
-   "deps": [
-    "cl-lib"
+    20220510,
+    2024
    ],
-   "commit": "032e9bd086029b2fdff09c3c2e606e29682e1fb1",
-   "sha256": "0jjb1gl6qqkrvf4v03fp9sv69xc6qh3lc65blms46zkx64995c6r"
+   "commit": "899bb08963c21028a02894426a9d86f768fe06d8",
+   "sha256": "1zw68gg8ai5921kly35fnxapnxqzdqx8ll7w8bdxpv8f06vq24xj"
   },
   "stable": {
    "version": [
-    2,
-    4
+    3,
+    0
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "bc06686806d676658b5e962497770e47025c17f1",
-   "sha256": "1lm5mgvjhpxqfw5gcv99h4mwbq728b6f2hj5vjh1j67kdwy7ws8k"
+   "commit": "032e9bd086029b2fdff09c3c2e606e29682e1fb1",
+   "sha256": "0jjb1gl6qqkrvf4v03fp9sv69xc6qh3lc65blms46zkx64995c6r"
   }
  },
  {
@@ -84743,11 +85052,14 @@
   "repo": "emacscollective/packed",
   "unstable": {
    "version": [
-    20220402,
-    1638
+    20220422,
+    1626
    ],
-   "commit": "1e2d1a96a2105fec7c1e95d3484790da45fbdf36",
-   "sha256": "0ph97hkbvv1hdf6g7mjxgqahj1z8zwhiha1kjw2dj0g0ymwh6iwm"
+   "deps": [
+    "compat"
+   ],
+   "commit": "6a427d9da742d78a8f6bd6ed9e31fbf241b2ea82",
+   "sha256": "03ypbz7m6qq37v0d2c6pbg17dclmrdyqxfcl7rzl4xfzy89q688p"
   },
   "stable": {
    "version": [
@@ -85134,8 +85446,8 @@
     20200510,
     5
    ],
-   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
-   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
+   "commit": "2f38f3583295e05c9ea491b7d1f6b4791169ba86",
+   "sha256": "0jyy8nl4r70l0dwc55lg75k7chcwb9zprl185x0122fjqgmnq1ri"
   }
  },
  {
@@ -85316,11 +85628,14 @@
   "repo": "tarsius/paren-face",
   "unstable": {
    "version": [
-    20220402,
-    1639
+    20220422,
+    1627
+   ],
+   "deps": [
+    "compat"
    ],
-   "commit": "1e66895083bd9e6d918450b1cd8be61a19bfc67f",
-   "sha256": "0aqs201b30i6zlk4v90m03g99hzbiyw9b6c4wd31z51x5h9prvxa"
+   "commit": "2c5de87c494ccfbe92c3f1da45f1720d7ecf4acf",
+   "sha256": "0pgwdd6406nldsgbazpr4qmg31k0n60hk6b73p74iimjs3l27ri3"
   },
   "stable": {
    "version": [
@@ -85432,8 +85747,8 @@
    "deps": [
     "s"
    ],
-   "commit": "dbeb8f474b3cf2dfc13a38a2edef2c2c242621ae",
-   "sha256": "0y9cl85f55p8y47j9vmgw10vj9vvx8wv7anipr16lvccdjhl77hc"
+   "commit": "c2bdc5ee1d1f029886245f9a5c409e47c1db2cb8",
+   "sha256": "050b932qa0ll66pa68i8bbjdmi8bgdvklqm65cvm5ssc5hcwjq3k"
   },
   "stable": {
    "version": [
@@ -85456,11 +85771,11 @@
   "repo": "joostkremers/parsebib",
   "unstable": {
    "version": [
-    20220116,
-    2336
+    20220426,
+    2049
    ],
-   "commit": "63e85c8477fdf98ba920437c9df15f8f06c315e9",
-   "sha256": "1pk6n1nzvq01miswdddf6ny49zswjlc6cghd5ga0af0nmn61fl6z"
+   "commit": "dd4c5540fa6c2cd990cba324741d7abbc8ed2f23",
+   "sha256": "16jx7qay8ipyd202xrslfrcbjrvzzal77iqc69rwci3nlwax8vy5"
   },
   "stable": {
    "version": [
@@ -85509,11 +85824,11 @@
   "repo": "clojure-emacs/parseclj",
   "unstable": {
    "version": [
-    20220328,
-    558
+    20220422,
+    936
    ],
-   "commit": "b04eae67384c1d8181edf318fd62d422a8220724",
-   "sha256": "10vavzmhwh0bh10sp4zkhjp17cxpy8whnaxmk7icc543r7z1vyzd"
+   "commit": "4d0e780e00f1828b00c43099e6eebc6582998f72",
+   "sha256": "11m1kvd85rj53xj3h32wwvn2s5v7fdw5hhhyjh7drbzlm90s4kcv"
   },
   "stable": {
    "version": [
@@ -85533,15 +85848,15 @@
   "repo": "clojure-emacs/parseedn",
   "unstable": {
    "version": [
-    20220207,
-    1352
+    20220512,
+    1328
    ],
    "deps": [
     "map",
     "parseclj"
    ],
-   "commit": "ea7b5281ec80aca0bd1cc93a348aebb302497339",
-   "sha256": "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv"
+   "commit": "35e9f3173a6cca60b6851dddace470b29654ac77",
+   "sha256": "06in2r87rn398bnqfc7bmpfvfbvrx9ybqs8r5yzy5y84f9gbfnm4"
   },
   "stable": {
    "version": [
@@ -86029,11 +86344,11 @@
   "repo": "JonWaltman/pcmpl-args.el",
   "unstable": {
    "version": [
-    20220131,
-    2316
+    20220510,
+    2056
    ],
-   "commit": "94a19b693a226aa11b15627e01f9f4c9af752bab",
-   "sha256": "0y0mnm2fhshvvc9iz4mgzvxhvhj0xriinn155dilnm4skglzgxk1"
+   "commit": "43229e1096f89c277190f09a3d794781f8fa0015",
+   "sha256": "0p2mpifr3ycy4ibr9y1r5lvq91dbw6vvi8g6n3jx1mqnxnh9ld63"
   },
   "stable": {
    "version": [
@@ -86215,16 +86530,16 @@
   "repo": "vedang/pdf-tools",
   "unstable": {
    "version": [
-    20220214,
-    344
+    20220512,
+    145
    ],
    "deps": [
     "let-alist",
     "nadvice",
     "tablist"
    ],
-   "commit": "326552eef71ae6d53e215c46be5bf532575b7abb",
-   "sha256": "1gvaw0684svv9v294f8zgmqa2ym2wa3gymn9y9v2slhamf51r4vk"
+   "commit": "fedd930a09a497c03df3ce5204ccbd80da724662",
+   "sha256": "13yl83ld5z1asjqrsfdzyhnz4nrrr064lwbsgfvk3mmlqpas7b08"
   },
   "stable": {
    "version": [
@@ -86395,14 +86710,14 @@
   "repo": "mpwang/perfect-margin",
   "unstable": {
    "version": [
-    20190722,
-    126
+    20220426,
+    1701
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "94b055c743b1859098870c8aca3e915bd6e67d9d",
-   "sha256": "02k379nig43j85wfm327pw6sh61kxrs1gwz0vgcbx9san4dp83bk"
+   "commit": "d5cb5f075264ff2e625099aebca3151f4f35019a",
+   "sha256": "05nh0fi7k9amz6wnkbsznhyr9j8jzmr55d4qg2c60pp3ygfrbzn1"
   }
  },
  {
@@ -86627,14 +86942,14 @@
   "repo": "nex3/perspective-el",
   "unstable": {
    "version": [
-    20220412,
-    547
+    20220420,
+    1550
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "9f898cadc43c2c2e947d72636af30f028e2b925f",
-   "sha256": "0ay7h3gr1qf01im17jn1jpj82lyd5mw0ynryq4l21mjxbsb9vvmf"
+   "commit": "4e38680793585a907ae46b148697030c2b552a00",
+   "sha256": "0jgd2vzfza3pnnksh1kss5mqhbirqn93lvzanhgjr4vb4fv8x13f"
   },
   "stable": {
    "version": [
@@ -86740,20 +87055,20 @@
   "repo": "Alexander-Miller/pfuture",
   "unstable": {
    "version": [
-    20211229,
-    1513
+    20220425,
+    1242
    ],
-   "commit": "bde5b06795e3e35bfb2bba4c34b538d506a0856e",
-   "sha256": "0cks18fwir8h9b35ryz2yr5rligv1da2iqkqz0fcb5dx2a4fxwjj"
+   "commit": "f9e67bd7edbd5b4e033efd82c0acc4a85ff860a8",
+   "sha256": "0ifasmkfj06fb9whk7gg47fiim0bbwyh3279sd72psqbbxfixddf"
   },
   "stable": {
    "version": [
     1,
     10,
-    2
+    3
    ],
-   "commit": "bde5b06795e3e35bfb2bba4c34b538d506a0856e",
-   "sha256": "0cks18fwir8h9b35ryz2yr5rligv1da2iqkqz0fcb5dx2a4fxwjj"
+   "commit": "f9e67bd7edbd5b4e033efd82c0acc4a85ff860a8",
+   "sha256": "0ifasmkfj06fb9whk7gg47fiim0bbwyh3279sd72psqbbxfixddf"
   }
  },
  {
@@ -87077,26 +87392,26 @@
   "repo": "OVYA/php-cs-fixer",
   "unstable": {
    "version": [
-    20210923,
-    718
+    20220510,
+    1407
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7e12a1af5d65cd8a801eeb5564c6268a4e190c0c",
-   "sha256": "1i0jlszc5z59arwknclhi3vmwp0mf6jk18axisvh5xdqggiwpjqf"
+   "commit": "225ca7127052e2b3d660495d04319e817ec302ab",
+   "sha256": "1zwl6hpw0ka4pdsk9i67dbv42idb0nhi5i3yajy1wzdihj7hqg3y"
   },
   "stable": {
    "version": [
     1,
     0,
-    1
+    2
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ebf78243b468592f4fbeb714923ecc8709d33ae0",
-   "sha256": "0ik5va5q7gpz6kmaaiarh6wjaafal22qcimflfwizs3nbl49y9mx"
+   "commit": "ac2d64c4b672a01744d14cc8ad80e9c9ff55c63c",
+   "sha256": "1jyjqwv4haibv526bwpvyyszs7ga9lmsjhn47hyk3ddffrr84c0y"
   }
  },
  {
@@ -87125,8 +87440,8 @@
     20220120,
     1959
    ],
-   "commit": "f8cbf368c803cbcc8ca2468f98a37cf915673c1c",
-   "sha256": "0avlzya8b2lg190y6kkinh7s6rizhr5m6c150zfq7dp9djc4p62r"
+   "commit": "4503672471b8fdaaea6c454344817a119c87fcc6",
+   "sha256": "0fxmqhpw0i54davcg9h8gxf8zxix02g2wnxxly6m0p5g785yng2h"
   },
   "stable": {
    "version": [
@@ -87738,15 +88053,15 @@
   "repo": "arifer612/pippel",
   "unstable": {
    "version": [
-    20220225,
-    1128
+    20220416,
+    1743
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "682a40af266f395cf39862ad0bfb30152ddee204",
-   "sha256": "1gb7nf047gm57jdggj49ri46hgz8gphqy58abniqlqxjcx9zp4z7"
+   "commit": "cb194952ee150e77601d3233dabdb521b976ee79",
+   "sha256": "17606l24yyrjxa4rc0p2zj50lfbayqldw4phhi59yqf61289d520"
   }
  },
  {
@@ -87844,11 +88159,11 @@
   "repo": "juergenhoetzel/pkgbuild-mode",
   "unstable": {
    "version": [
-    20220312,
-    1316
+    20220428,
+    556
    ],
-   "commit": "3cbf38c22d783ac77d5dbc69a38afa04e0aa4803",
-   "sha256": "14ll9z57jlnbvsnzarqi0k0a0bxnkc9y4r52xah1h09v5fmcyi8a"
+   "commit": "8faee70e4640bd6ec1857651ec64e139e4dc2833",
+   "sha256": "1a18kc2rjkgdm8s816pf3nrdjxkwi9yrvkvwwqbxg915rzyv9858"
   },
   "stable": {
    "version": [
@@ -89200,8 +89515,8 @@
     20211231,
     1823
    ],
-   "commit": "0a4a906ef747948eb6ee5521b47607970a7f3044",
-   "sha256": "1r9gvgdgp8bl4i56jway2rw9r2sv4dz48mxsl1xli49xrp41k1lg"
+   "commit": "114d646f0f4dd49de19dfedd78630018f71470e5",
+   "sha256": "1hgia0d2j81mlkcl8bilznn4044qjjpy00cdd96zs7p2lbvaz3sb"
   },
   "stable": {
    "version": [
@@ -89344,8 +89659,8 @@
     20210215,
     1849
    ],
-   "commit": "76b8b427cc1bbb5aeaa2dc20cfa0443b89efab43",
-   "sha256": "0p00q4ffdxzb9i0dcnafaby6wzh3q1vdbxq8ysprb62mdz8lmpi6"
+   "commit": "f90f3a09622993bf34704bb11c24984f6b1f10e2",
+   "sha256": "05gmc5wrj4pn1s1k4p6vvnl1z75bj4w163mpy8rybxdhsqhhf9a4"
   },
   "stable": {
    "version": [
@@ -89450,12 +89765,12 @@
   },
   "stable": {
    "version": [
-    0,
-    8,
-    5
+    1,
+    1,
+    7
    ],
-   "commit": "3454a4cb9d218c38f9c5b88798dfb2f7f85ad936",
-   "sha256": "039a84gwb0phjm7jcklmji1pcpbxmp4s40djhac8sbzmwdv39zi4"
+   "commit": "c91d4d53fa479ceb604071008ce0a901770eff57",
+   "sha256": "15h809mf8d8w8axbfzjs40j8yrh5ms88x4pmlx1qlcac8j6qrilf"
   }
  },
  {
@@ -89600,15 +89915,15 @@
   "repo": "SavchenkoValeriy/emacs-powerthesaurus",
   "unstable": {
    "version": [
-    20220221,
-    1004
+    20220414,
+    1453
    ],
    "deps": [
     "request",
     "s"
    ],
-   "commit": "810a25056c623f304de6a72123652d9c35936718",
-   "sha256": "13pzfqjh734lma8yfmp6a7r0j4a8jk3r0dc38hlx1vxwp0pw5ags"
+   "commit": "88bc5229cba1604c8f74db0a1456d99259d538cc",
+   "sha256": "19fvibfv3skvs77k3bsd0q5cg3shn9wrdjfyrcybgc9sjfcngv7n"
   }
  },
  {
@@ -89760,17 +90075,17 @@
  },
  {
   "ename": "prescient",
-  "commit": "ec02349e31531c347e4a43fbde56ae4386898cc6",
-  "sha256": "04js3hblavfrc6kqp942x5yjdl3ndazf3n64p83423ldsmhbip6s",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "04anqfn48ibmg11s8gp3i8wyghy724hg1qzbw44jfndmv6nibifz",
   "fetcher": "github",
-  "repo": "raxod502/prescient.el",
+  "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20211228,
-    417
+    20220509,
+    2300
    ],
-   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
-   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
+   "commit": "c05f8a43c6ff07a8b5a3ba8df7a2ec35677b7484",
+   "sha256": "0752dyl4fhi0jvbm238s5p1sv7z4jlkmkdrxvwn0dlhfr0rhfw1c"
   },
   "stable": {
    "version": [
@@ -90244,21 +90559,21 @@
   "repo": "rejeep/prodigy.el",
   "unstable": {
    "version": [
-    20210116,
-    816
+    20220507,
+    1753
    ],
    "deps": [
     "dash",
     "f",
     "s"
    ],
-   "commit": "168f5ace1671876d8c3bd350c0853bd0196bddda",
-   "sha256": "15rshpq0h5i252xamxh70acdz9jddn5xwgswzk5h2b24kxsbfnli"
+   "commit": "535789e32028133fa9dfb4c9135b6a65c199472f",
+   "sha256": "0x68c7c40cafg4lbi1lwlli3bghnhcb21wm4idg6qr07y351fjqd"
   },
   "stable": {
    "version": [
+    1,
     0,
-    7,
     0
    ],
    "deps": [
@@ -90266,8 +90581,8 @@
     "f",
     "s"
    ],
-   "commit": "3bacca898db9b3493883c95f923a87eb1ce807eb",
-   "sha256": "1whnk1902f8q03clm9xlfl47gkpsywf3mx0ykp70c1q496ab39qj"
+   "commit": "b67e4112eaca7ef7c8596c4728e9bc53418982d7",
+   "sha256": "04xspdj67nas1ivv0ldlmmkr6v7zd7y3k346pnfgvq8wzqi6x4vz"
   }
  },
  {
@@ -90356,8 +90671,8 @@
     20210715,
     1213
    ],
-   "commit": "7ec546f2fb96b8220a7967f248d0d6df7c55b9c8",
-   "sha256": "1wvavcdlikw33r7vs2fr7f6a5i96fmcf3y546f39dh1xbw1qyz7i"
+   "commit": "d47f08f64cce595cbd4e9fbe3544986b3c4cee83",
+   "sha256": "0pp9f8kcgnsgz0mykss4jppnwvlfx7ny58y4pb1rm4l2xvs8y6yj"
   },
   "stable": {
    "version": [
@@ -90473,6 +90788,21 @@
   }
  },
  {
+  "ename": "project-rootfile",
+  "commit": "0fdd6cb9b09cfa3941c0d4dc8271d4c86863bd31",
+  "sha256": "0yz3dg7r8pr9i79svd67vh2axskraxq2cjkavzjl9i8nidkyfjxn",
+  "fetcher": "github",
+  "repo": "buzztaiki/project-rootfile.el",
+  "unstable": {
+   "version": [
+    20220512,
+    443
+   ],
+   "commit": "cb87657c4426e39aa2c481190e594c68fb0de8be",
+   "sha256": "07gb9b72gkwz748xwnsjayn68x5qn8b0ka8wmwvqgwgak14f1da3"
+  }
+ },
+ {
   "ename": "project-shells",
   "commit": "becf54de5ae9582d7c76382dff16d40b04b1a464",
   "sha256": "0mhifxcpgsfwrhbs7axg6ja4klgzzy9pc0nqa7w3qg45xgi9s4m8",
@@ -90513,11 +90843,11 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20220402,
-    624
+    20220430,
+    800
    ],
-   "commit": "defce6e6bb504bdfab1e091550e2f709310327b9",
-   "sha256": "1qxns4s8wf02aiwp8hwcbqqydyldvj0ssh6rdbyi3fkq87fajcp6"
+   "commit": "a4f86f981c84a546530d5904253fa266431ef806",
+   "sha256": "02303v7y79vdl4n2qga42892cqd5hdajwzp4vk3a4fxcyl8yhv8k"
   },
   "stable": {
    "version": [
@@ -90922,8 +91252,8 @@
     20220329,
     655
    ],
-   "commit": "a894bcc5f915f1c76a2a83c12c12ea3497542426",
-   "sha256": "0s3glxi0382xhs6asv7ajrs3qzfj27qd8j4szdn8a8pmskl3c81m"
+   "commit": "2a8701209b273db5a35f15145ec62f32799e03b1",
+   "sha256": "05l65cwyw2pdyv6rn14h0axplgnlm5z7v90iwcxk9vysz74icdd7"
   }
  },
  {
@@ -91018,19 +91348,18 @@
     20220303,
     1716
    ],
-   "commit": "eb27c201f121b02c990c3665edce5171a8c70192",
-   "sha256": "1ccp9gj2h8snm9y8hkmii8yy4xr4as2ymjzxnnk9mpw84jqbf0r8"
+   "commit": "b3cbea18ea02ab82379ba5d014899035aad4b8f4",
+   "sha256": "0x60jy244xm1gkqvsidyj8xfqdfwpn0q8knr28n4giycwlzncgyr"
   },
   "stable": {
    "version": [
-    3,
-    20,
-    1,
+    21,
+    0,
     -1,
     1
    ],
-   "commit": "7db4eca77f2b03f93632edca5825f33ab65590e7",
-   "sha256": "00nykcx2xkvsvlj92vr6gnh04mpifh5cwynnqihgnh7lrgxlm2b7"
+   "commit": "3cede25cef0c2f5f5b60461b608d8c07a621ac04",
+   "sha256": "0q024rd5y8kd9pjslh118vhl3awr95gfvc6zxxr6i4qwqq1jy5nj"
   }
  },
  {
@@ -91363,11 +91692,11 @@
   "repo": "flexibeast/pulseaudio-control",
   "unstable": {
    "version": [
-    20200406,
-    752
+    20220418,
+    742
    ],
-   "commit": "a931533140547510decdc368f39b2d2b97ca725f",
-   "sha256": "1jvjn9jszjjapi167an49jxcvr88cvgjwykglhp4b8lwhbjfqw76"
+   "commit": "22f54ae7282b37eaec0231a21e60213a5dbc7172",
+   "sha256": "0y87i8qpf1fvz37zly9srss1y9hpn4jjj8gsikc72c4qs9n0ljv0"
   }
  },
  {
@@ -91610,17 +91939,17 @@
  },
  {
   "ename": "py-autopep8",
-  "commit": "c400e0f3cfe70821e621fe85d239b4f6596d5171",
-  "sha256": "1argjdmh0x9c90zkb6cr4z3zkpgjp2mkpsw0dr4v6gg83jcggfpp",
-  "fetcher": "github",
-  "repo": "paetzke/py-autopep8.el",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "06blvhb65lp3jvwiznagqskf4gb7w8ly9vvghwrlvwg960m72h61",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-py-autopep8.git",
   "unstable": {
    "version": [
-    20160925,
-    1052
+    20220502,
+    310
    ],
-   "commit": "68e12d8788c91c7ec53a68acf1d23adb2ffa4788",
-   "sha256": "16fmym6hvi2lx0mmbrrhld1vzki5iqfqx2m0xa9021gjjzb33lw6"
+   "commit": "89c9ed8de2deab6bb891ae25c85cc6498e60b90a",
+   "sha256": "0ygvl8zq8d6lbv8x6j6vklxhc6xrmii4fd9c74py1bjqvx4d1fjh"
   },
   "stable": {
    "version": [
@@ -91926,27 +92255,28 @@
   "repo": "tumashu/pyim",
   "unstable": {
    "version": [
-    20220411,
-    238
+    20220512,
+    930
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "01d6c038b87ddf61cb60e77e7b43e398b9f780b5",
-   "sha256": "126hdpng1zi0x63l4mlc468hpfqcwpk6l4yz7x6gsdy2v6ib4zrg"
+   "commit": "dcdae4db85646de85b1ca75e4604691cf9273273",
+   "sha256": "1432ph59plnh41xrmq59n9z987r41xf34qsxl3sbzfw6v8m927ys"
   },
   "stable": {
    "version": [
-    3,
-    2
+    4,
+    2,
+    0
    ],
    "deps": [
     "async",
     "xr"
    ],
-   "commit": "0c8cd00d2da981e3833bface7d0c476cbb3e93d2",
-   "sha256": "102ns8vjmpb56afc3vyd62zfvvrnjdclm1fsn4jzj45b2in5wmxx"
+   "commit": "cd1bfd2bbc10fe0ac47d0ec383cde453f6019e6c",
+   "sha256": "0lvf50p97fns4pc6ilm4pqzp7s4srhcx2gyg6x5ywd5wv32nd04d"
   }
  },
  {
@@ -92111,17 +92441,17 @@
     20210411,
     1931
    ],
-   "commit": "01676aea6042da07bf52a35b5bf82cc55865d13a",
-   "sha256": "183ijnn4502m4aa86d72dy5rnxj6qngszqnp5v7y70nds8f2pcid"
+   "commit": "2ea65b12176e575748db64d740ef834cba577d70",
+   "sha256": "18fv0kibj3rj8aydyxzda4mk7qi19hg82q3rm2mdi85082628wmy"
   },
   "stable": {
    "version": [
     2,
     13,
-    5
+    8
    ],
-   "commit": "95cbd2bd14576cb5d9eade4798e73e8601c884de",
-   "sha256": "0kwkv2qbdr4k9ah2h09g3nrdwi7ky4k53hrqf4s3g89dcnz7s7ql"
+   "commit": "45cbae2bab9001bb2f159103490a02d63e75ee5b",
+   "sha256": "1wc3h25p7pid3pzh6vaiaynzs1bqrl62dpb2g486hp3kbqdzlwp3"
   }
  },
  {
@@ -92435,11 +92765,11 @@
   "repo": "jdtsmith/python-mls",
   "unstable": {
    "version": [
-    20220128,
-    1953
+    20220505,
+    1523
    ],
-   "commit": "97e58c6b785f7096c0e02f6c1d12b008cc0219c1",
-   "sha256": "0nhk2jwzlnc0c1fzzdbc7dwil9wwk2ghizgynvdp9b2kg3jyd76n"
+   "commit": "6016c780865b3b9dcf90d9452367e0d39bbc1d1f",
+   "sha256": "00n2vrc7yq2cfsiwpwdga0yjl483rd59zvbdf41nxa92sircvjp2"
   },
   "stable": {
    "version": [
@@ -92459,11 +92789,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20220408,
-    1906
+    20220512,
+    1206
    ],
-   "commit": "ee956c6a6c5aacf3cc32479eed9f84ccc5aec7dd",
-   "sha256": "1gdff63rn5aiwxkaxr5bqgs4zda3qd84bc1bqd40wjdfmhzr41if"
+   "commit": "97bb2d5ca50bec43a22ffc6187d13e3afb38238f",
+   "sha256": "02i5mqx3ip6k9n09yzr395ayhf4i1l7n8sk9q0ibcm2zadxnlqc7"
   },
   "stable": {
    "version": [
@@ -92483,8 +92813,8 @@
   "repo": "wbolster/emacs-python-pytest",
   "unstable": {
    "version": [
-    20220404,
-    1635
+    20220502,
+    1237
    ],
    "deps": [
     "dash",
@@ -92492,8 +92822,8 @@
     "s",
     "transient"
    ],
-   "commit": "08df2134393d47887a6e411d45b86e137cfcd28a",
-   "sha256": "1vw8yd0vpm53avdr9mjcs5ck4axhmkqypy32xmn4h3qzyc121cha"
+   "commit": "5e72c343cb81866358e4437390c5eb84c3203440",
+   "sha256": "16inr0vqfas907bifbd9jh8m7p41hpk6n6ca7x42qkz80ay3i9px"
   },
   "stable": {
    "version": [
@@ -92843,8 +93173,8 @@
     "leaf",
     "quelpa"
    ],
-   "commit": "82f6fa34f0b4747fe535bed56e67a66812195e97",
-   "sha256": "0xg3s0l8a1gysbmvbazwa54pp1d4wdfm66bnxkswrsfdr2zwfrwf"
+   "commit": "ea60d14a6c8dbe65ad0b3353185945d43ae4393d",
+   "sha256": "0xddhjal99q3s537kcdrcimykmzca73ic3v2abv2ymwby2wm52b9"
   },
   "stable": {
    "version": [
@@ -92982,8 +93312,8 @@
     20210904,
     1553
    ],
-   "commit": "66f44ba79ed098ae07dc7a9ef445cc8c3687a119",
-   "sha256": "06sd5hx86higqhk3jvmbpw1j3n7jmd9550h81hhkpxhk629w1nkr"
+   "commit": "30e9a1333fe4a83424385df53ddaf7016df3679d",
+   "sha256": "1k6iyzajrw7kvz027l7yddvxq4a0jsahrdhsv8is4bnz8ws36s15"
   },
   "stable": {
    "version": [
@@ -93141,11 +93471,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20220406,
-    1330
+    20220512,
+    1447
    ],
-   "commit": "e7efbb52fdf2219532230a199153d8a33889c26f",
-   "sha256": "10d089fvbdxlkqy8hhl42ljsj89j5vzrzckw0vs0im55a8vrih9r"
+   "commit": "3b351fbb0d3e81bf260cb3fc7b623f1b782550cc",
+   "sha256": "0gcyb47ld10jvrf3wm63njz0d9y70fi8dwsx14pbdcrw2xs2p4s3"
   }
  },
  {
@@ -93295,14 +93625,14 @@
   "url": "https://repo.or.cz/emacs-rainbow-fart.git",
   "unstable": {
    "version": [
-    20220210,
-    1359
+    20220427,
+    2227
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "4e5d3cca6cdc667e5da3300c04e1b3d1b00664a8",
-   "sha256": "06874ymiqpmx2isys0bf1fxw83xfzx64sxjq01xjzb3zv5ydy13w"
+   "commit": "6504424707b6e9101dfbd9fdd4b7b963b9a4f323",
+   "sha256": "1rp8z10rggd1yzx979kwkldcqhqy19i03r9lw93d7137jassb9qp"
   }
  },
  {
@@ -93966,15 +94296,15 @@
   "repo": "realgud/realgud-lldb",
   "unstable": {
    "version": [
-    20210417,
-    1434
+    20220419,
+    2006
    ],
    "deps": [
     "load-relative",
     "realgud"
    ],
-   "commit": "abffd0d2d23f6c87be5dc5d36e948af92de5df86",
-   "sha256": "1zjrjgs9vjaqsf5h9sxw1pf2f9sfngx1gxp37lb8myan52qmhlz1"
+   "commit": "19a2c0a8b228af543338f3a8e51141a9e23484a5",
+   "sha256": "1yyh945w13qh8isj5p0v8sjwzmvzh330szd2hdy3fgc3d58r7sym"
   },
   "stable": {
    "version": [
@@ -94145,11 +94475,11 @@
   "repo": "xendk/reaper",
   "unstable": {
    "version": [
-    20220413,
-    2343
+    20220426,
+    2048
    ],
-   "commit": "b5c03fc4c2104b1ae661327a0e72d5ce02ee5584",
-   "sha256": "17gn1nlzmflhc6hnpckdkxlm9l2m9mbfadcgm9n0i20i8gp88f76"
+   "commit": "2cfe54e9f5470415ab5f59d3c0829bfce41525ad",
+   "sha256": "1050bv05ljgr61jpvcahfd0cjc00n5kvdvdsawnq4fgpfj2j3vih"
   },
   "stable": {
    "version": [
@@ -94329,17 +94659,17 @@
  },
  {
   "ename": "recomplete",
-  "commit": "4a3938f413ff1ceeb7ed6aedf0e3067073208068",
-  "sha256": "0ym5l5cpx464hxzww4m35rrlr4c5h8kl6090w2a7hck47kwyv8ni",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-recomplete",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1y3m8vi3xkdlb7zf3b7hjdpw8isx6ncs2mw86ijf1brapmwpa99f",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-recomplete.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "d0d380929460ff35534900e34ababad43d23c966",
-   "sha256": "178415wsvjvji4caz72mksrv4krr7aykh02cggnp41w66chm503y"
+   "commit": "021ca9b047caadd4903aa6f417890d6497ae437a",
+   "sha256": "1a78hmq8p5a8w0pciansci69vm3m65kcxsfp184bajq1nx8ydn6d"
   }
  },
  {
@@ -94524,14 +94854,14 @@
   "repo": "emacs-pe/redis.el",
   "unstable": {
    "version": [
-    20150531,
-    1948
+    20220429,
+    1758
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2c33f3397bc14e7a8192867b55920492d4eead8c",
-   "sha256": "1rjpf23a8rggjmmxvm1997d3xz03kz84xams486b9ky0n2v02d57"
+   "commit": "a6ad30d6a43b7be083c13f8725b45571d623001a",
+   "sha256": "048jvvxb6cskhs95n2ngl4cfgf8hbqidvbi1xsyb0gyzvvqbrhj1"
   }
  },
  {
@@ -95345,8 +95675,8 @@
     20220101,
     1239
    ],
-   "commit": "9e2cfa86529133eba6c9ef53794be182f15e4c21",
-   "sha256": "0cq7vqfj8g2wd4ip2ia60rs2bpwkxd2rlz4wpp6as6ncidnzwzzc"
+   "commit": "ae79e7dd283890072da69b8f48aeec1afd0d9442",
+   "sha256": "0hbxrwp8nqd12x9z9krddlcm9b9adjzp1az90ywyr1a30bdmv5sk"
   }
  },
  {
@@ -95364,8 +95694,27 @@
     "helm",
     "restclient"
    ],
-   "commit": "9e2cfa86529133eba6c9ef53794be182f15e4c21",
-   "sha256": "0cq7vqfj8g2wd4ip2ia60rs2bpwkxd2rlz4wpp6as6ncidnzwzzc"
+   "commit": "ae79e7dd283890072da69b8f48aeec1afd0d9442",
+   "sha256": "0hbxrwp8nqd12x9z9krddlcm9b9adjzp1az90ywyr1a30bdmv5sk"
+  }
+ },
+ {
+  "ename": "restclient-jq",
+  "commit": "34f6696a0015aafd44f48de4cd220f62130c4ccd",
+  "sha256": "0hkrwnq15kf2qnpkzpji47bhja9h0h54gxc6497ww5vkbmmrnidr",
+  "fetcher": "github",
+  "repo": "pashky/restclient.el",
+  "unstable": {
+   "version": [
+    20220426,
+    1734
+   ],
+   "deps": [
+    "jq-mode",
+    "restclient"
+   ],
+   "commit": "ae79e7dd283890072da69b8f48aeec1afd0d9442",
+   "sha256": "0hbxrwp8nqd12x9z9krddlcm9b9adjzp1az90ywyr1a30bdmv5sk"
   }
  },
  {
@@ -95450,8 +95799,8 @@
     "f",
     "s"
    ],
-   "commit": "e01c36223728bb5d0293a7312f047d83e4ba64ae",
-   "sha256": "1iy13vkn0lhj4hxi925vhbqh1cvcdwfc9yic5khb52qwqsb0ycyw"
+   "commit": "dd72004f6f7b0d554dbd979f22a31c350e211089",
+   "sha256": "126dn4d0f301pybvrkjw3h5c729kbnaglzbgpsv5v7r35wrmxfgs"
   },
   "stable": {
    "version": [
@@ -95543,17 +95892,17 @@
  },
  {
   "ename": "revert-buffer-all",
-  "commit": "02ff00238a8af45d9e26e0b7b6b19a507ea06f86",
-  "sha256": "1lyxwh3kjlhyi5ln2lmbhyn28fxdd3l58djc9mqbzwdfm81qprsv",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-revert-buffer-all",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1mlx015qspp7lrfpq5942azk9qlggai4157i8bl9c3hkh4q1sgfj",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-revert-buffer-all.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220509,
+    1045
    ],
-   "commit": "0343c04a4408ff6cb3c8a9dff7d1ffee8256aa70",
-   "sha256": "16ws4j2fpnv96338z7vcibhscjrjmym910hsxc137lqrkavqhm19"
+   "commit": "91d0f4f7a0c0c3015887f4ed808537ebebd6385e",
+   "sha256": "1sja06pzvx1hds786q4a071zl8r8034is3l8s8zp5k4kxd6vg760"
   }
  },
  {
@@ -95621,28 +95970,28 @@
   "repo": "dajva/rg.el",
   "unstable": {
    "version": [
-    20220319,
-    1216
+    20220511,
+    1328
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "5673681708685cce34521a1af48609b00a642b15",
-   "sha256": "0b1lq45vsn6fylwn1wmmfwc8mzwg4mgmj0kfqic039yagf9rvnpv"
+   "commit": "c46c5167ac03f68fd6fee07972017282c62bc942",
+   "sha256": "1pkbkh260k2r7x158b691ppqvxxzqkyylbapwlrxzc2ly23rmaxs"
   },
   "stable": {
    "version": [
     2,
     2,
-    0
+    1
    ],
    "deps": [
     "transient",
     "wgrep"
    ],
-   "commit": "77a709626609e7069f457e1b1885b76ebb98a354",
-   "sha256": "0a16g9phyy6c6vn5zfkpcpi90ixbx1ivp4wapwg189v77k2810by"
+   "commit": "444a8ccfea0b38452a0bc4c390a8ee01cfe30017",
+   "sha256": "1nxzplpk5cf6hhr2v85bmg68i6am96shi2zq7m83fs96bilhwsp5"
   }
  },
  {
@@ -95778,11 +96127,11 @@
   "repo": "wavexx/rigid-tabs.el",
   "unstable": {
    "version": [
-    20170903,
-    1559
+    20220416,
+    2123
    ],
-   "commit": "eba84ceaba2e57e76ad2dfbb7a7154238a25d956",
-   "sha256": "18rba101m9vmjl4mf3x0k7wvbgn6qmay9la745vzpr3lx1f4nn98"
+   "commit": "872a10c8751574c9610cba1800f541a6eda24997",
+   "sha256": "170j67x499a76nfa8s5nzh5d7b602a4j31y61jaxa82877gi2j25"
   },
   "stable": {
    "version": [
@@ -95825,8 +96174,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20220222,
-    228
+    20220421,
+    1811
    ],
    "deps": [
     "cl-lib",
@@ -95834,8 +96183,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "e5727c5218a4345adb9b960cf6f4202246aea70c",
-   "sha256": "14vifq3ksmr0dg4lp293pgr70j76ajasvrm9j9hf3jspq7hbxb0x"
+   "commit": "e6a89e9fa9eabc32063bffb2eacfcece46f7a049",
+   "sha256": "0rzynl2n6bk5lwff2rvpj0p3djnr421i1a9vm53554hk0vljzksr"
   },
   "stable": {
    "version": [
@@ -96025,11 +96374,11 @@
   "repo": "jgkamat/rmsbolt",
   "unstable": {
    "version": [
-    20220325,
-    1526
+    20220510,
+    1621
    ],
-   "commit": "2e1ff0653e5355a2214e735f0ada287071457c6a",
-   "sha256": "1ra2q2wnman6zdfmky296r8h73zhjwkika8r3czjx5nsg24464vi"
+   "commit": "3fe322e5739e57cceea37c4104ac7bc5231555c3",
+   "sha256": "1nc7hh3psw548mzzbcz7226i7pbyrdadmlrw955cl91z51rahxah"
   }
  },
  {
@@ -96097,8 +96446,8 @@
     20190812,
     1858
    ],
-   "commit": "8bf67285a25a6756607354d184e36583f2847e7d",
-   "sha256": "07255pn80w4742sz2h9vbmfxxd8ps2kcn73p7m2bgy02kgbzw42b"
+   "commit": "0d79161dfece3920600ad155ab1cc1a59da06964",
+   "sha256": "12yziw3mqhm4xzmkvzfm3w3agwjm4f7650gi99szpankdncma9xy"
   },
   "stable": {
    "version": [
@@ -96786,17 +97135,17 @@
  },
  {
   "ename": "run-stuff",
-  "commit": "68b7cb0ffe90cd56e2ca6e91e33668be586a1da7",
-  "sha256": "038brammgivaq2423sx0iy6n7d7lyx3r939a0b85ix8zvkcbinia",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-run-stuff",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "07h849w8s72vf1drvs0dvf2jmf47f3hxn30by630fp76bfif8i7g",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-run-stuff.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "3723346dc6d867bdc3fd86ca11c32efc43704d7c",
-   "sha256": "0082mv45a8ybfrrvw8jnc52rk2zw80i52gid1387q2hxsdil0csm"
+   "commit": "0aeabc7ef3f2a209c0c69300f6d61921ec448ffc",
+   "sha256": "0ylsj92fq98i7vbibav7807070adaz24jn497qcd15n8ndfrvri5"
   }
  },
  {
@@ -96886,8 +97235,8 @@
     20220217,
     2009
    ],
-   "commit": "26ecc903c50b2ffd289bbe981f9ad03626fc0057",
-   "sha256": "0jr7i85zacpwx3kqg7yb7mbz0ap8w3ydzb8rlf0syccqjiqwslnl"
+   "commit": "d17be3051b22a06d7742178cd1367aed61807a66",
+   "sha256": "0yslscybdvnmak1h99qgjrwqim9aiwxhnp5kw4wb4nfqr1nwm3yd"
   },
   "stable": {
    "version": [
@@ -96930,8 +97279,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20220323,
-    1159
+    20220509,
+    716
    ],
    "deps": [
     "dash",
@@ -96945,8 +97294,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "6eec9713876d698510ee3715698fd42c1571e307",
-   "sha256": "17lcys2sm56c8bnj9vjs9mz6liir8cnybax0fxgcrjgfp38wxc48"
+   "commit": "3b379fc25b7a097a014147d9c8b83ec1a418cd76",
+   "sha256": "129mclfyy6nji7c3avni4y3kzi3z67dv3cv40jmlv1m4isxf59n1"
   },
   "stable": {
    "version": [
@@ -97249,8 +97598,8 @@
     20181130,
     101
    ],
-   "commit": "46352169bd6d2a86ca9c2052cd05ecd16fc7657b",
-   "sha256": "1k0b1w9a3b89ricji92nq4cqbh1l2fm7ly1bdl8pvf59drp7cpd4"
+   "commit": "369178c2dd0348250c2ec0019567688376c637f7",
+   "sha256": "1klwn7crvn7769b5kan91fj5lpz5sanghi4way8h77b2iciya7bf"
   }
  },
  {
@@ -97455,8 +97804,8 @@
     20200830,
     301
    ],
-   "commit": "e62afcf5d524638aaf5014fbd32ff8ddeac9e29d",
-   "sha256": "1m2mraic2xkrmgs3swyjlgnwb3jxryzw1kvl317nrdd13vlnndk9"
+   "commit": "b929e705e76e8ff47d170c5e9849f86002f3e09f",
+   "sha256": "1iflrjldvabilvji1zmx1rmkl6z16s50k3hldn3l871gz16wa0h6"
   }
  },
  {
@@ -97532,6 +97881,26 @@
   }
  },
  {
+  "ename": "scholar-import",
+  "commit": "ee2e936ba4ce724e304446fd03c8ad13fccd2807",
+  "sha256": "0c50p19wxs1g6qn4vxazgv83x9r0b9h2wk0wh6mhpgn4irp2sx3g",
+  "fetcher": "github",
+  "repo": "teeann/scholar-import",
+  "unstable": {
+   "version": [
+    20220504,
+    1101
+   ],
+   "deps": [
+    "org",
+    "request",
+    "s"
+   ],
+   "commit": "cd0b42e5026426af2bfad57b692760bcb5d05dbb",
+   "sha256": "1kda2yrpm2c8c8p9lg183hf8limc4b2ay5gdssfhc7r29nvvagpv"
+  }
+ },
+ {
   "ename": "schrute",
   "commit": "505fc4d26049d4e2973a54b24117ccaf4f2fb7e7",
   "sha256": "1sr49wr3738sqfzix7v9rj6bvv7q2a46qdkimn9z7rnsjys9i7zy",
@@ -97563,11 +97932,11 @@
   "repo": "emacs-pe/scihub.el",
   "unstable": {
    "version": [
-    20211020,
-    420
+    20220423,
+    421
    ],
-   "commit": "aac29628d4eea2d6ec0bfda39503c1f71a379bc9",
-   "sha256": "0pa054hanclapkj73wwwwwjmk2b3p36w2p44d1fz3w3lfjkf852v"
+   "commit": "57333c849bcd4953663cbf7c271e9f3a62179765",
+   "sha256": "0pla2qzpnilx73z3mjflc2a1pp5fnh7ynm749w2fxlrnhz7cmwx8"
   }
  },
  {
@@ -97802,32 +98171,32 @@
  },
  {
   "ename": "scroll-on-drag",
-  "commit": "0cc172bb1b4194b66827bf5be0b6658fb330a11a",
-  "sha256": "1i4i19qkin19h2xc1r6a66rsll1rfbbvf2nsm75f9vvvrdi4sjyf",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-scroll-on-drag",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0f5d4m1rf2ggac7yy6wdxx61sw10v48wxfsdj70b2wm6fqcz6fqi",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-scroll-on-drag.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220510,
+    1204
    ],
-   "commit": "d93b69eed6947cabdfde53dfbcf4bd919cb1f154",
-   "sha256": "0r1c3b7w1mh7hpi7pi1szdac297w1ig0i1a9c1r7qs41id2bvw51"
+   "commit": "01c14f4c024548ed1f644263faa0786c10afc978",
+   "sha256": "09fifi2gsjk47aif3j0vysfgpshh7az3zlyiblpw5zqnmq3xl1a1"
   }
  },
  {
   "ename": "scroll-on-jump",
-  "commit": "824ab5881f045a43056d9b143cc59267c43aec81",
-  "sha256": "03ra46xclmxrygpbbf05j9rx2q8qx70cxsqmhygqad5ij75h253k",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-scroll-on-jump",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0vp7pj8ib4h0a7x74pdrknxiqpbkxyhblw5jkbsxzmjbbjwaclk8",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-scroll-on-jump.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220509,
+    1046
    ],
-   "commit": "99386fc01b3c7bc2e75458efca408a23220a5f87",
-   "sha256": "0b3d5bw635jjirkmym4w0y5x450zd88ic3k74jmmgf4fw0fl1q0z"
+   "commit": "8fde237ae6d6a54730445b399513bc6d31d7daba",
+   "sha256": "0fbqmwz519bqdafjygpbk5zj08m3z3rm62sd2071qsxqrf70z72v"
   }
  },
  {
@@ -97924,11 +98293,11 @@
   "repo": "t-e-r-m/sculpture-themes",
   "unstable": {
    "version": [
-    20220406,
-    2330
+    20220512,
+    2235
    ],
-   "commit": "a21871b75cc7cb575ceb43640d039307fbb412e1",
-   "sha256": "0ki45bvc93p76mxpsm5pyknqgf67xz6c122yssps1hcxhdazij5v"
+   "commit": "be3adaf9db276e899b44e5093316cae2014b22c9",
+   "sha256": "0wn066zc72djac8ccss95ydi69ggngknkjh2hg0hi17g3m2pj6f6"
   },
   "stable": {
    "version": [
@@ -98014,8 +98383,8 @@
     "dash",
     "f"
    ],
-   "commit": "a144b16ba107f26f497b65da70b306a802b1d6d4",
-   "sha256": "0542l0pbmiap01an8nhnzvpdbscn244l66bblkfikc5f6rh6s7fy"
+   "commit": "26ecae6a6d028fcbffc576a69ef8f787646bc12a",
+   "sha256": "1v9clc25pwbdq50xqabk36iypg2n68ip7znnhy6qwk9b3ir00zm5"
   },
   "stable": {
    "version": [
@@ -98213,11 +98582,11 @@
   "repo": "Kungsgeten/selected.el",
   "unstable": {
    "version": [
-    20200528,
-    606
+    20220509,
+    1810
    ],
-   "commit": "3043fd2609f7e71d809763ae6e8dd4b6c904e63d",
-   "sha256": "11cr55g7rrr4gqb9r2znmff0bp112l7a96d26mznfdprzj7pdzvd"
+   "commit": "81cb32521a05ff2a9125e001b83608e108e480f6",
+   "sha256": "0zk5fnjw5czq71z3qgi7kl9r5y3cw5mx1hswyhli7xhxzjpldxp4"
   }
  },
  {
@@ -98269,21 +98638,21 @@
  },
  {
   "ename": "selectrum-prescient",
-  "commit": "5724ebca5ab5a1c3087cc13ae0693548666ed62b",
-  "sha256": "1zr83pq39i56v5bx78cp5cg2lrwz01975ng4h1ziv6nrh9p7vvr0",
+  "commit": "118ec831528f718f0dc4bc331a708ecb4a0eefd5",
+  "sha256": "0wwcjqqprz0yikc3cyg6n503dk6rrx8xbw5xjqvydq0204mvw1y9",
   "fetcher": "github",
-  "repo": "raxod502/prescient.el",
+  "repo": "radian-software/prescient.el",
   "unstable": {
    "version": [
-    20211228,
-    417
+    20220509,
+    2300
    ],
    "deps": [
     "prescient",
     "selectrum"
    ],
-   "commit": "c5295a9eecbd2935bb57684a4422638e03bf738c",
-   "sha256": "1wfmynbqaqvrkjdncx0wmqxz6v8zlfmqlh5l3h6876jin97i5fbv"
+   "commit": "c05f8a43c6ff07a8b5a3ba8df7a2ec35677b7484",
+   "sha256": "0752dyl4fhi0jvbm238s5p1sv7z4jlkmkdrxvwn0dlhfr0rhfw1c"
   },
   "stable": {
    "version": [
@@ -98340,15 +98709,15 @@
   "repo": "wanderlust/semi",
   "unstable": {
    "version": [
-    20210613,
-    948
+    20220503,
+    1449
    ],
    "deps": [
     "apel",
     "flim"
    ],
-   "commit": "509f6f0bc2f5d020c63e47d9ad89410dc20bcb6f",
-   "sha256": "0lnr5kyc59rs2p3lnhyr6cc126rh17szp68xpsx4brym3blb37yc"
+   "commit": "b1c245b81715b0430f7593cee2339e6264104f3d",
+   "sha256": "1s1qvhxklzhmq9h62cn95iaxacvmp7c2hn6jh9bhymx4x9afqagh"
   }
  },
  {
@@ -98401,6 +98770,38 @@
   }
  },
  {
+  "ename": "sensei",
+  "commit": "a214e3fc18d245f446bc3cad976d9ece66c232b0",
+  "sha256": "1i47yayyma42afg61fii05wzkqw15mdm0rnpj34rhzy9ckmzl2yz",
+  "fetcher": "github",
+  "repo": "abailly/sensei",
+  "unstable": {
+   "version": [
+    20220502,
+    2012
+   ],
+   "deps": [
+    "projectile",
+    "request"
+   ],
+   "commit": "1294a96f544fd1be9ddaea3a85369fcf437403e9",
+   "sha256": "0cg7rwvfc0yf9pld50f6hnpcyq3g7r7rh62sb9wzdnwiv9n249lk"
+  },
+  "stable": {
+   "version": [
+    0,
+    41,
+    1
+   ],
+   "deps": [
+    "projectile",
+    "request"
+   ],
+   "commit": "1294a96f544fd1be9ddaea3a85369fcf437403e9",
+   "sha256": "0cg7rwvfc0yf9pld50f6hnpcyq3g7r7rh62sb9wzdnwiv9n249lk"
+  }
+ },
+ {
   "ename": "sensitive",
   "commit": "5e5468ce136fabe59e1434f8a7f265f41c5e64c1",
   "sha256": "0v988k0x3mdp7ank2ihghphh8sanvv96s4sg6pnszg5hczak1vr3",
@@ -98460,15 +98861,15 @@
   "repo": "twlz0ne/separedit.el",
   "unstable": {
    "version": [
-    20220315,
-    1610
+    20220501,
+    1539
    ],
    "deps": [
     "dash",
     "edit-indirect"
    ],
-   "commit": "c3c493a700a9bf8078d65b23b9ae1aad3774b8d9",
-   "sha256": "0dri9i2x62xy2zbgws719ivx9l39pjq01bxpnjzs9n69zx9il9ff"
+   "commit": "454c9a3561acca3d57cce6ddb356f686b3d8cbee",
+   "sha256": "0i7d4cig64lz27vq8rf6kqnpm5k7shzj34d6pg56pphf0xs26zyk"
   },
   "stable": {
    "version": [
@@ -98961,11 +99362,11 @@
   "repo": "qhga/shanty-themes",
   "unstable": {
    "version": [
-    20220405,
-    1126
+    20220509,
+    1656
    ],
-   "commit": "55b6a2653e43187559ff8b5103bcb9dc54e68ab6",
-   "sha256": "0c11jkzalm714q0qj0rcbk946i2v4gxh73n22k7q63afqdk9sizw"
+   "commit": "14a0e9de08aa6412931b121ae97b700e10ccaa80",
+   "sha256": "188h918n55mhw3jss10nsdc2m04ngdy1mbh7kfh6hhc9d36ydj7y"
   }
  },
  {
@@ -98991,14 +99392,14 @@
   "repo": "sebasmonia/sharper",
   "unstable": {
    "version": [
-    20220321,
-    422
+    20220510,
+    2001
    ],
    "deps": [
     "transient"
    ],
-   "commit": "96edd4a1dbc267afdff0cb97298d1b05b7c2080c",
-   "sha256": "0pprbp9n43g1ijap96fjiz6sckplryi198gci0ywpyglx6illllg"
+   "commit": "8020a5da0327f9a18b4bdab474bf8d81c1b38ea7",
+   "sha256": "0nby923h8hprxqyx48592q5584p8rmq3zvi12g2fbglabff76bmp"
   }
  },
  {
@@ -99154,20 +99555,20 @@
   "repo": "redguardtoo/shellcop",
   "unstable": {
    "version": [
-    20220409,
-    620
+    20220414,
+    530
    ],
-   "commit": "f6060cc292d0143c925252b27d5db21de03ce7f0",
-   "sha256": "0gqrmfxg1wd42pp071ax66kv9vfy88wgfp7hpvsq6ba3mrvqah4w"
+   "commit": "327f5ac43e5d543149a772aef06cdb616477eb43",
+   "sha256": "1rmv2swyir91c6x94bggkrwankfkipfzhxzmg2c1455ybm48n3lx"
   },
   "stable": {
    "version": [
     0,
     0,
-    8
+    9
    ],
-   "commit": "f6060cc292d0143c925252b27d5db21de03ce7f0",
-   "sha256": "0gqrmfxg1wd42pp071ax66kv9vfy88wgfp7hpvsq6ba3mrvqah4w"
+   "commit": "327f5ac43e5d543149a772aef06cdb616477eb43",
+   "sha256": "1rmv2swyir91c6x94bggkrwankfkipfzhxzmg2c1455ybm48n3lx"
   }
  },
  {
@@ -99366,11 +99767,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20220405,
-    124
+    20220426,
+    715
    ],
-   "commit": "c3a3a947fb267df1f03287be2eab4f7119707e90",
-   "sha256": "1f065v3i7n60lgdz9nzvla3n1xzcvznrg8f3kbf2ccvp5viwzi10"
+   "commit": "7baf17355289c29d18f993f383c5d6a187f33b35",
+   "sha256": "1a2m6jkvnv852q07wvi80nbm7437wnvdfdyiq4iffhffmz8c2mrr"
   }
  },
  {
@@ -99445,8 +99846,8 @@
     20210715,
     1227
    ],
-   "commit": "2a83fd87252a71391d9c17d03ff0e5b1f94ae05d",
-   "sha256": "155wfql6j6a4rsw8zr1iy13a672yi4dlg60yayk4rmlxh91dj4nw"
+   "commit": "09aaba23300b9fa3cfd15ceb0e62da4a3d53e7e5",
+   "sha256": "160ck71cwlzsi59wazxf3nl5sim6rflbs2dxhiavmv9rz2xjgk46"
   },
   "stable": {
    "version": [
@@ -99711,11 +100112,11 @@
   "repo": "riscy/shx-for-emacs",
   "unstable": {
    "version": [
-    20201121,
-    1824
+    20220424,
+    2124
    ],
-   "commit": "09ae2124369ded4f38459d2456f72536d172227a",
-   "sha256": "1q07f1ppxx3z01c6zc20pg7kwfmzjzqbsmq3qxgkn3ggchyw0680"
+   "commit": "15bbc0f89a4927792e2e791378de827ab698ed69",
+   "sha256": "1llsf65yz2rzj0dyvqjirb5z3cxdr7251iaffbx9sl761nsg2nk9"
   },
   "stable": {
    "version": [
@@ -99813,17 +100214,17 @@
  },
  {
   "ename": "sidecar-locals",
-  "commit": "223bf20a37b48516b6ec9886c67660151ab37da6",
-  "sha256": "1lw4s749ril3mfbjdvns2myd5d8jf5dhzyywmk18bp7wb5cnmjbg",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-sidecar-locals",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "1vw7xrd0kv50q2sqydw0wwrw5z30lwkfvk70n4v78r9r3y1pfx4m",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-sidecar-locals.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220510,
+    413
    ],
-   "commit": "b69943575bfa7f13ee99c8b8871d3216ad24c85f",
-   "sha256": "0bfl4py2s3mxpzc60l9qmmdy079li0llzd6gsczwbmvfnrs1189q"
+   "commit": "7fd5daec1e0a7a091b343948bbb5c77e73724776",
+   "sha256": "1mbfvq1xbplk33363yqshqq7zmvqra73i0i126dcnzpd95pwqsqm"
   }
  },
  {
@@ -100232,14 +100633,33 @@
   "repo": "laishulu/emacs-smart-input-source",
   "unstable": {
    "version": [
-    20211016,
-    1144
+    20220511,
+    1734
    ],
    "deps": [
     "terminal-focus-reporting"
    ],
-   "commit": "237fb7029fde7c16a24d2231754d95190c1f03cd",
-   "sha256": "18fnvr7a6zai2nxnv8sq42lgwgfig6ygfkyvcnzn04x7yw7wigxg"
+   "commit": "0eeb75db3eb031bde3e5820ee39a2b7549dc5d8b",
+   "sha256": "06ky6358cc00z18srp6wcid9f0pjy1kwlvvmfznhsfqkjr6pshzp"
+  }
+ },
+ {
+  "ename": "sisyphus",
+  "commit": "cbaf88bb3789691a2f733369c271d33b8e959f6b",
+  "sha256": "03y1xrw1x7prygz46wq8c999l8ra7vcjzqqrpk8qkmmqcg072ag6",
+  "fetcher": "github",
+  "repo": "magit/sisyphus",
+  "unstable": {
+   "version": [
+    20220506,
+    1140
+   ],
+   "deps": [
+    "compat",
+    "magit"
+   ],
+   "commit": "9626d9d26dc9f3cc57d41fa119a74e0cb1c4aab9",
+   "sha256": "0npyysnddfbm1dgidqn63jrgl9clx55in1cp1krz03zrif3injis"
   }
  },
  {
@@ -100525,15 +100945,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20220302,
-    1215
+    20220510,
+    2050
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "6ef28864d4a6b4d9390dbd0cac64f2a56582682d",
-   "sha256": "0pscgg31slqggdzrjfmkg721lwvqph9qrp833p1j4b7wcc1j8xvv"
+   "commit": "c5342a3086367c371e8d88b3140e6db070365d43",
+   "sha256": "008qav1p8angqczv8l1yd2ics0pyp69x93s8xvapcrxvhv8ishgn"
   },
   "stable": {
    "version": [
@@ -101263,15 +101683,15 @@
   "repo": "Fuco1/smartparens",
   "unstable": {
    "version": [
-    20220204,
-    1134
+    20220510,
+    934
    ],
    "deps": [
     "cl-lib",
     "dash"
    ],
-   "commit": "37f77bf2e2199be9fe27e981317b02cfd0e8c70e",
-   "sha256": "095aqr4mz6yx8xa2gr7k5nf6a82qxdrjh8qv47hfhbc3832gy8jk"
+   "commit": "ec15aaa748b21c9b8453dd95604ccc95fc1138cf",
+   "sha256": "0cza0wnk3fyyh13srczf2976xwhyfmq2v9m7q6k2lyn7jyfvfxiq"
   },
   "stable": {
    "version": [
@@ -102304,8 +102724,8 @@
     "cl-lib",
     "deferred"
    ],
-   "commit": "d9f499f960eab07fbb56f3513a2992f69df7ab44",
-   "sha256": "1cj0vclk82j2llg9zrlj4p735k5cna9fcvin2hlak1raqjdx5riw"
+   "commit": "112450888f3f90f0f2a0e43e49eb5a7e49b1b6db",
+   "sha256": "1dmchr5mg84xsyny0xnwwvvqcn09kca4r85amy1h7b0qv7p60vv4"
   },
   "stable": {
    "version": [
@@ -102563,11 +102983,11 @@
   "repo": "nashamri/spacemacs-theme",
   "unstable": {
    "version": [
-    20220128,
-    1519
+    20220430,
+    2248
    ],
-   "commit": "a09347a354a14f5407e99fa730e01345d03e03fd",
-   "sha256": "0nnc6pk5jjx4yhadcph9q9aqb0ks8gs9ybhd32wm32653518hmv4"
+   "commit": "bd376f705d6eb7afd9a1dfa0c1bd407e869d1e9f",
+   "sha256": "1kxnnmnj7pbli7lybxvhhd63q376i65il8zxnjig0p13pyh5j1mv"
   },
   "stable": {
    "version": [
@@ -102670,17 +103090,17 @@
  },
  {
   "ename": "spatial-navigate",
-  "commit": "143e50e99f84cc7f0c9d0597b30c40609ac86dbb",
-  "sha256": "01w8sjygng0bkkwnfqbyhpd1aa6yls95293mnpdfipwa0zy3rivl",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-spatial-navigate",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "0xv9jdnszx900wm15ifimv0dsyzvcj9sq289qy5hz6778k52ya9z",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-spatial-navigate.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220507,
+    1118
    ],
-   "commit": "0365544483f957db79b8e617fb0bd8160134a655",
-   "sha256": "0c52dfy1jqmbkl8ml06xif166kxbyy9q8z33cpvkljh36ia23y1z"
+   "commit": "09ebd2ba7779998c31296bf8b6ffebf854f3eb73",
+   "sha256": "1zwynrnsbkvac8xi4y81s6z4h9p8vknxd7ii0lqw5cmphx0fdbqb"
   }
  },
  {
@@ -102691,11 +103111,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20220327,
-    113
+    20220511,
+    143
    ],
-   "commit": "279caa7aa99e7b5d6f2f9307b20e9fcb730ffb29",
-   "sha256": "1ilkyi7j1nj9g6xdvq8y85wk34qhb7zan5a1ds1q3nbmdzgxgmwj"
+   "commit": "701e7c49c38babaa2b2071febd2b112fef600683",
+   "sha256": "1wkqrlwh9n827x49m71j5ilkgk9xn6smxi11cfbd35hbdkdf5gyn"
   }
  },
  {
@@ -102816,17 +103236,17 @@
  },
  {
   "ename": "spell-fu",
-  "commit": "abaa6522f18ca1f47788ebb3281fbfcdade2b7c7",
-  "sha256": "0c2yi5lz2ww7mm9ih3m374w65n73z4knhnbrvdyzd7ja3xb3l17n",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-spell-fu",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "04qb0yldnqh4bl2jq1qfr529bnx9hfz74pdlsiv30avm8ly01d8s",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-spell-fu.git",
   "unstable": {
    "version": [
-    20220213,
-    1215
+    20220507,
+    1118
    ],
-   "commit": "8185467b24f05bceb428a0e9909651ec083cc54e",
-   "sha256": "0ka7i2jl9vbr5071pbb3n8ckc9nqgpxrbfgij7wn33g01dpn2zjn"
+   "commit": "2f2fd6de0003edb1038b7c639cf23264d1406993",
+   "sha256": "1p23c2y124xmd3zwfns4zmk460vxd459dds0w0k9mnjnm9p8dkq2"
   }
  },
  {
@@ -102885,15 +103305,15 @@
   "repo": "Fuco1/sphinx-mode",
   "unstable": {
    "version": [
-    20211021,
-    1444
+    20220417,
+    1552
    ],
    "deps": [
     "dash",
     "f"
    ],
-   "commit": "9d4075c106fc837006394c4c803281383f2ec6f3",
-   "sha256": "0ngc0b4z0s25l85wk3b4f3ipxnzxl4caiava9kb6jsci0ylap98a"
+   "commit": "77ca51adf9ee877f3a8f43e744f59e650772f121",
+   "sha256": "0imv3baiy0cq4aj220l8rx4d1drsmiak7vrhbshsg9987026b8ig"
   },
   "stable": {
    "version": [
@@ -103305,19 +103725,19 @@
   "repo": "pekingduck/emacs-sqlite3-api",
   "unstable": {
    "version": [
-    20220327,
-    521
+    20220501,
+    1217
    ],
-   "commit": "7cb4b660fe30deb8a4229f3abb18bd99ca9c971c",
-   "sha256": "1b7if1dp6i5kqwhq25gna89xbca66i4mmgx1a5yn12kncfdgs6d7"
+   "commit": "68eda59d5f3d29d0a64d6256d58b8c1f93ba3583",
+   "sha256": "0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"
   },
   "stable": {
    "version": [
     0,
-    15
+    16
    ],
-   "commit": "7cb4b660fe30deb8a4229f3abb18bd99ca9c971c",
-   "sha256": "1b7if1dp6i5kqwhq25gna89xbca66i4mmgx1a5yn12kncfdgs6d7"
+   "commit": "68eda59d5f3d29d0a64d6256d58b8c1f93ba3583",
+   "sha256": "0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"
   }
  },
  {
@@ -103709,11 +104129,11 @@
   "repo": "SFTtech/starlit-emacs",
   "unstable": {
    "version": [
-    20220412,
-    1312
+    20220507,
+    1833
    ],
-   "commit": "ba7f57db3988075394d6ccec97f0dcb35ebb089d",
-   "sha256": "19vlv75ycsr89wi4fhh5fsw0q37dw32hyhbznbbc83dpahmxda8n"
+   "commit": "f788903244778508891eba0da70ea9f287efc9ae",
+   "sha256": "12dn7sz4xkici1k3jizijh0lzwf8fd0k62dy6v8kcvmwpnqxmrkb"
   }
  },
  {
@@ -103846,6 +104266,21 @@
   }
  },
  {
+  "ename": "stem-reading-mode",
+  "commit": "2c33a541dbe07e85be3b2d8f693485a0674898c1",
+  "sha256": "1mp1msz3b9w0bszkg0z6jh355vxd7pgjrn3bk6xqg6ancqya8hkv",
+  "fetcher": "gitlab",
+  "repo": "wavexx/stem-reading-mode.el",
+  "unstable": {
+   "version": [
+    20220418,
+    1136
+   ],
+   "commit": "a8bacd80fab6013c09e4e8d337fd88267cbe2ff8",
+   "sha256": "0ib2rqybwjxclgqy6bp0gmgr6mvyp434mf9ix6m8by3jrkpppvgq"
+  }
+ },
+ {
   "ename": "stgit",
   "commit": "a3c6e6adb1a63534275f9d3d3d0fe0f5e85c549b",
   "sha256": "0iv2fiv8i2h4pqbsvy10avijvlk2waprmn0z4jq4hcyvarwzxvp1",
@@ -103856,8 +104291,8 @@
     20200606,
     1308
    ],
-   "commit": "03fc757c4255bfd445cdbc2a62ca3b02a65beba5",
-   "sha256": "1p6lcc2xnslkcm2d3pg5zd6nvbdy1y9m3ymrcv1kz0xj33cnphjf"
+   "commit": "9ce680a52bd90ce9bac568a6a182b1b3c00577e5",
+   "sha256": "0ab9ri7bdhq0w0hn7ady3xf5rvsvni3j1l9lr6y3nqf6kfrbhzhf"
   },
   "stable": {
    "version": [
@@ -103906,11 +104341,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20220412,
-    1434
+    20220511,
+    1245
    ],
-   "commit": "77146bd3ad4f275847c965148572bb0ff0b54c1e",
-   "sha256": "1xmak2mcqvjvckip2hp6gx63nn6k59la4sk8a8rprissd7mj0mkg"
+   "commit": "d34e83d6a00c248c7ce9ab34425773c30910f634",
+   "sha256": "0vfwa5iw6ac7yijqzridn07ybl295s2kxfc45ld9sp62gj4qxs95"
   }
  },
  {
@@ -103940,28 +104375,28 @@
   "repo": "beacoder/stock-tracker",
   "unstable": {
    "version": [
-    20220414,
-    131
+    20220430,
+    1144
    ],
    "deps": [
     "async",
     "dash"
    ],
-   "commit": "6ad9c9d39569d89753b2a54ccb5e8636e04c016e",
-   "sha256": "1lsmgrlx5izw565af06ixnrr6j2gpyw09flp26qhvgb1xfgrkmhk"
+   "commit": "58018a1747273df23dec08ec5d318da1960428c1",
+   "sha256": "0jbj24pbc07gjb6zk29yzjrd80c4aaqfp2mffc4qqisws0f8gfvb"
   },
   "stable": {
    "version": [
     0,
     1,
-    2
+    4
    ],
    "deps": [
     "async",
     "dash"
    ],
-   "commit": "971382eff7c291e4c247aa9b8b846281be324d7a",
-   "sha256": "0bpjc7dgylv0fra5dskjq0kx4naz62aafsyd9wcvs01sfkafymva"
+   "commit": "34632dd99903d4ffbb78a2deb5b658291a6cf040",
+   "sha256": "0rq8qimc3xfh1x9g691x2bmmy9a1bglv6180hdc5z6irv5gfszvn"
   }
  },
  {
@@ -104620,11 +105055,11 @@
   "repo": "bbatsov/super-save",
   "unstable": {
    "version": [
-    20200930,
-    1634
+    20220426,
+    1056
    ],
-   "commit": "886b5518c8a8b4e1f5e59c332d5d80d95b61201d",
-   "sha256": "1w62sd1vcn164y70rgwgys6a8q8mwzplkiwqiib8vjzqn87w0lqv"
+   "commit": "71c26cbd47d993fff37e572523ea79c9c49f5caf",
+   "sha256": "1r56g3h7cn2p64lk5d9zw2hmr7f5xzim1ccydzi8i1g7m7rzlgjp"
   },
   "stable": {
    "version": [
@@ -105028,14 +105463,14 @@
   "repo": "abo-abo/swiper",
   "unstable": {
    "version": [
-    20210919,
-    1221
+    20220430,
+    2247
    ],
    "deps": [
     "ivy"
    ],
-   "commit": "7489968257a74f176c0d1de7ec8bd1e2011f0db4",
-   "sha256": "0gmgfv9d5vicd5lqcbzn0i6qfjw42whhww6hdqch2pgkhl4i1ria"
+   "commit": "8bf8027e4bd8c093bddb76a813952d2a0dcbf21d",
+   "sha256": "1rdv8r6zw0lziycwv5kd2yyflfwby4gnqgfvv67b1y2l3psjwp94"
   },
   "stable": {
    "version": [
@@ -105935,14 +106370,14 @@
   "repo": "mclear-tools/tabspaces",
   "unstable": {
    "version": [
-    20220403,
-    2030
+    20220507,
+    607
    ],
    "deps": [
     "project"
    ],
-   "commit": "04af3a2e31d300d58eeb2b13458edd9b283241db",
-   "sha256": "13whrvgxrkmllsn6kc608i33q8gj40k00isypnc24pvwc084izn5"
+   "commit": "24266c6c9a766261a8c8620692dfa4000f3e1d5d",
+   "sha256": "1fyfpi31qy03qpxw8hpjgykn67pvflgah3agwf053iqpj1krh1gz"
   }
  },
  {
@@ -106011,6 +106446,30 @@
   }
  },
  {
+  "ename": "talonscript-mode",
+  "commit": "067b0778eb46049949be0c64595cf48f088560be",
+  "sha256": "0zlbh8az2rxbbqhrfhiaqhnb4dx3bxin0papj1plzj57j37pmis2",
+  "fetcher": "github",
+  "repo": "jcaw/talonscript-mode",
+  "unstable": {
+   "version": [
+    20220204,
+    1441
+   ],
+   "commit": "b6eb61f56349e0d47276270163ec611c2d5b188e",
+   "sha256": "1a2x0972psaaz4d89adcr37440a71jm0vbdwca3ixj7rs7l4myp9"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    0
+   ],
+   "commit": "b6eb61f56349e0d47276270163ec611c2d5b188e",
+   "sha256": "1a2x0972psaaz4d89adcr37440a71jm0vbdwca3ixj7rs7l4myp9"
+  }
+ },
+ {
   "ename": "tango-2-theme",
   "commit": "ab432b0eac0bcf0d40c5b3c8a78475bc0fea47d2",
   "sha256": "1a9qmz99h99gpd0sxqb71c08wr8pm3bzsg3p4cvf3vcirvav9lq6",
@@ -106090,8 +106549,8 @@
     20220410,
     1953
    ],
-   "commit": "15c81940078207e43cb6930abeea1e9c47fefc52",
-   "sha256": "1ikkz6shhhbvfww75sx8vlmrcaz8fyc3kxck5gl46696wg9arhrh"
+   "commit": "12c2f7e01a0e5cc9a57c9d8a8f3fecc8f8ddecb2",
+   "sha256": "1amkmlndha14pyf780mlsipnsh7i66jk7snvylbjs6nx8znhwlrw"
   },
   "stable": {
    "version": [
@@ -106278,15 +106737,15 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20220319,
-    955
+    20220503,
+    349
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "500b7b42d81b77920f40a2f461dff7b6367e8326",
-   "sha256": "1j7gdc5ib1f63lw1cmbv937yx46mzmvh8r8h47z3m2pdx3drfsc0"
+   "commit": "29010616931f52e3a5aa9d155c14873c09c7306b",
+   "sha256": "17cshy0ba7jiq36rj66k6m8swijzvpnwpfrgy0xvhgxsz115bhp6"
   },
   "stable": {
    "version": [
@@ -106333,16 +106792,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20220313,
-    2218
+    20220424,
+    400
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "7a0ba06db860dfe9a9ca012c2750b13deec385c6",
-   "sha256": "1w7b5qhg4nd92hl9whvbzz6nx2cb09m84ixkqqzygmjnrxknqsdl"
+   "commit": "6f3455a365912e8f0c45a2240ea79507dee45ade",
+   "sha256": "1hnd6wnc52sc0ckriqnhaz64pyjk027y0dpcmh2zhpd27i8d4hmq"
   },
   "stable": {
    "version": [
@@ -106399,11 +106858,11 @@
   "repo": "minad/tempel",
   "unstable": {
    "version": [
-    20220413,
-    2112
+    20220509,
+    2139
    ],
-   "commit": "d915e56b3c5cee3388a9e60334447a1b2ab3e2d4",
-   "sha256": "14w59kyx5z2wi42qfx59zy6zl3glqvc9y9wxj80dvvcg5dnfmgn0"
+   "commit": "b88c58a89390cf3834de898109c5e69a5cf434cd",
+   "sha256": "0mk2ghqvg4raja1hg5hwg6774blba56sg2bmfh8xma4slg5n8js5"
   },
   "stable": {
    "version": [
@@ -106758,11 +107217,11 @@
   "repo": "davidshepherd7/terminal-here",
   "unstable": {
    "version": [
-    20210605,
-    1453
+    20220510,
+    806
    ],
-   "commit": "e0e89344624fadf080f6770132ebdd7991355fdd",
-   "sha256": "11hvyvnbr6skw6czwk8gjw9v08azf8s2kafqh5jb1nlznfghcr11"
+   "commit": "24cb30dea30195108f85aceea28f086a84d47e5e",
+   "sha256": "0cqj8g1pbq24d6zgsd0dq85sam2sl7w2y29ksnv4a93krjw1i2hr"
   },
   "stable": {
    "version": [
@@ -107063,14 +107522,14 @@
   "repo": "TobiasZawada/texfrag",
   "unstable": {
    "version": [
-    20200716,
-    1331
+    20220508,
+    642
    ],
    "deps": [
     "auctex"
    ],
-   "commit": "a5f59e0c5f43578f139a2943bd08e5b3140f4c2b",
-   "sha256": "11xissn0xpfx2xxcm5qj2smkxa5frcswvhpfv6m34j12z0nww7pw"
+   "commit": "bcceb82971c10b8c0b058b77b3764669900392aa",
+   "sha256": "1awlh7z18wzp2mppn21chbylqf3fmjlq8v4105kwg9mmw57xjyb7"
   },
   "stable": {
    "version": [
@@ -107168,19 +107627,19 @@
   "repo": "WJCFerguson/textsize",
   "unstable": {
    "version": [
-    20220323,
-    1330
+    20220427,
+    1445
    ],
-   "commit": "6d20632d2b3467144babe01e55275b699219f171",
-   "sha256": "11rg08waziii410g9d1lkyhmpnp0dw5r2bsw5l3x80f4n5c1k0a0"
+   "commit": "df91392c3c928d7841631f5809716b9cf0f7309e",
+   "sha256": "0pmd5hb6ysfp8yyghghxvqdj1lvrqwqdlk5jfwsviiqwdqi23q5r"
   },
   "stable": {
    "version": [
-    2,
+    3,
     0
    ],
-   "commit": "c4ce18bc57f3d3171920bd79e0221509e15894ca",
-   "sha256": "0s00kbgkyw422jil5avzlrpjj77m3l50qr9gba4li375szxp301c"
+   "commit": "df91392c3c928d7841631f5809716b9cf0f7309e",
+   "sha256": "0pmd5hb6ysfp8yyghghxvqdj1lvrqwqdlk5jfwsviiqwdqi23q5r"
   }
  },
  {
@@ -107248,11 +107707,11 @@
   "repo": "monkeyjunglejuice/matrix-emacs-theme",
   "unstable": {
    "version": [
-    20220331,
-    632
+    20220503,
+    1325
    ],
-   "commit": "00f3e6ffda899ddd0ac2366753d6e810dbdf7bbb",
-   "sha256": "06r8nxsx4k6pa46dv7w9chwh1f8s545rpl4m2ipbyfmppyvarf4x"
+   "commit": "f2f69c3aa9c76dc3c27e9bf3c965e66f8b7f61cc",
+   "sha256": "00jylvw3h1r8lvpw50ca9gwiq4g8frxh7rhibdm9zisvjzw27p5w"
   }
  },
  {
@@ -107445,18 +107904,18 @@
     20200212,
     1903
    ],
-   "commit": "324f6a7e36232aedd8151ed9014ce5c3c45264c5",
-   "sha256": "0mv8sqwslmpsvc5y72dykv7xyqhc7wlmv2d2wi85nfnnvcnadlbd"
+   "commit": "200776bcf1296360707c5b8a3f18d2b8817da888",
+   "sha256": "0s1pzpcx6g12hnn48gfyfp9wai5yk6rnsjzn82661rdmhjwm2z64"
   },
   "stable": {
    "version": [
     2022,
-    4,
-    11,
+    5,
+    9,
     0
    ],
-   "commit": "a16ba4dfe78d98335c6d1990c13ee8c89cf970f1",
-   "sha256": "0nrgk6xa3r2gvak0zqlmhzqjz1b03kkrxc24qk9xqbg1c4sqnaiv"
+   "commit": "321b08352d043708869d5c15f961610392afca16",
+   "sha256": "0pynyavfwwylqibj4az58a3q45di540d0j6dwdwywihn470cinvz"
   }
  },
  {
@@ -107512,20 +107971,20 @@
    "deps": [
     "haskell-mode"
    ],
-   "commit": "9dbd4c9b4dd4adb550323376a25a50917c971b00",
-   "sha256": "1pb93a7c29xz9ni4q71hclhpsh36bap3rb502lw4a8acsfim7jxq"
+   "commit": "39389e4080144c6734dbe3020cc35185f025ebf0",
+   "sha256": "14gb1az5gmlq6j7lx4d2cdkb9kr0jad6whd4b0l9h608s86057v7"
   },
   "stable": {
    "version": [
     1,
-    7,
-    10
+    8,
+    0
    ],
    "deps": [
     "haskell-mode"
    ],
-   "commit": "3882d1b5f7e395300200a2ce647858fa762e4805",
-   "sha256": "0qpv6pb71qxx7djhlxah9v8nn5whvhw468b5dl91zmhv55m3y5mr"
+   "commit": "39389e4080144c6734dbe3020cc35185f025ebf0",
+   "sha256": "14gb1az5gmlq6j7lx4d2cdkb9kr0jad6whd4b0l9h608s86057v7"
   }
  },
  {
@@ -107536,8 +107995,8 @@
   "repo": "ananthakumaran/tide",
   "unstable": {
    "version": [
-    20220314,
-    930
+    20220429,
+    1501
    ],
    "deps": [
     "cl-lib",
@@ -107546,8 +108005,8 @@
     "s",
     "typescript-mode"
    ],
-   "commit": "b93e555858edc331ba33d1d8bd4582d578c7ca31",
-   "sha256": "0il0rdg6qk4bdpq86hxzwbv1rgwn028v72i3xh2kg6xsmpil4f0z"
+   "commit": "83c34c636f47cb0c10c7d1a728fa308bfec40890",
+   "sha256": "19yg6zij9jx39d8b6c41ipa0z99q0af4l59pmnpxv8pfadxvi9qg"
   },
   "stable": {
    "version": [
@@ -107754,6 +108213,29 @@
   }
  },
  {
+  "ename": "timu-rouge-theme",
+  "commit": "5062b3e2d0d1b3bdbde2d0f58ca42952e90a9acf",
+  "sha256": "148k7anayfvvff5nw5jyjnwcwjag5q57kp4knfxfpb2v1nszpp1n",
+  "fetcher": "gitlab",
+  "repo": "aimebertrand/timu-rouge-theme",
+  "unstable": {
+   "version": [
+    20220501,
+    1753
+   ],
+   "commit": "935e4907f01fba2c7c2ecaab88eb7c4163955c3b",
+   "sha256": "0651q30pvxqdfv31mn87jxxkhds3f7bqh8bl1dsn7k9l1j6l3xfz"
+  },
+  "stable": {
+   "version": [
+    1,
+    2
+   ],
+   "commit": "fe86f7d9864d986c7c8c430b6100070ab86dbbf1",
+   "sha256": "0651q30pvxqdfv31mn87jxxkhds3f7bqh8bl1dsn7k9l1j6l3xfz"
+  }
+ },
+ {
   "ename": "timu-spacegrey-theme",
   "commit": "1bebe80350df731711bc526ca9fe942410211220",
   "sha256": "1hl91gdj52zp8w4c6zp4bzkizj3x7ssr6wl465qq3fw1k5wp8l7n",
@@ -107761,19 +108243,19 @@
   "repo": "aimebertrand/timu-spacegrey-theme",
   "unstable": {
    "version": [
-    20220316,
-    2014
+    20220501,
+    1509
    ],
-   "commit": "3be10cb5c3e17d9babb67190f63500ee68df267c",
-   "sha256": "04n31pgzn53cnlcs6qagdbspjy85w4dxm3iz6gynwnp50g4y16cv"
+   "commit": "1318c58a118c6c5a95a82e71da5eda6bfcf8f143",
+   "sha256": "1vav4f6g86fh71ddprql0m8b05f4h8l04n7jfskfmvpfwgw2w87r"
   },
   "stable": {
    "version": [
-    1,
-    9
+    2,
+    0
    ],
-   "commit": "d623d3fba1a3a50bd677b4b4a22b1e13bdf86e68",
-   "sha256": "1rhr7j0gfcxvcgl5dfr4fidyx9m9lxwqyi8vcnvwcz0vnfxbr8x1"
+   "commit": "9e1a12a494537472fb1f9f9f23dc38b8bca1f9af",
+   "sha256": "0bndwcpz2alzimlmkcpcdxsl5xvckks22xmqn78rkg9pscl10gjq"
   }
  },
  {
@@ -107865,20 +108347,20 @@
   "repo": "duckwork/titlecase.el",
   "unstable": {
    "version": [
-    20220227,
-    1900
+    20220510,
+    331
    ],
-   "commit": "157b2943f4aa5745d64c77c1ac4b76ce6e60c47b",
-   "sha256": "1bcj3k5gb28dkk8mcyqvm7scdszzf7ydp23piwsmavw0rdfqfhsd"
+   "commit": "8f609e46d4d0c06cd442352ca7d296e2ccb1b62a",
+   "sha256": "12ghq6zcv3ldcfr9c0zhlrq8kscf7fz2irpil7zq926alcqiqxkl"
   },
   "stable": {
    "version": [
     0,
     4,
-    0
+    1
    ],
-   "commit": "cc3b6b2d7d83b06fe88c0bc0af20cc9e4fe2b8e9",
-   "sha256": "0k4fw14pjg3hn0m8vqazrnq4bfgdkn59rd3pkcaf10nk0s6z2wjw"
+   "commit": "dafaa6ca09fdf1ae8413159cae2b5d74e9713440",
+   "sha256": "0kpg1l0rbbwqcmlj9i8xs2dv9h6yik9wgngik5z6wdgxbkaxjln7"
   }
  },
  {
@@ -108123,11 +108605,11 @@
   "repo": "topikettunen/tok-theme",
   "unstable": {
    "version": [
-    20220411,
-    655
+    20220509,
+    1324
    ],
-   "commit": "f8ec6b3e301d511649ce84b36067c8eab7038c72",
-   "sha256": "08lssap3c9dsy1w66mhbyam9f2rhdmb2dw25fzzgy1ziqg1mn0rv"
+   "commit": "a1a224d96665ee14c059eed63dc4b458f6b7a8d8",
+   "sha256": "0amcvd7x1llfjk2a78rkgia6n7vmrpqnh4xq28aczsi1z6khnkvz"
   }
  },
  {
@@ -108138,25 +108620,25 @@
   "repo": "nagy/tokei.el",
   "unstable": {
    "version": [
-    20220413,
-    1836
+    20220422,
+    2234
    ],
    "deps": [
     "magit-section"
    ],
-   "commit": "c6e1f333283c6c3f366141ba32dcd57252f6947e",
-   "sha256": "0jzfhxpkv4syl1wxfyxzkjhkr5h9j8562xwafr2vai2vc6y9p94y"
+   "commit": "181021cd881eecd604a546d4a717866a81c7a511",
+   "sha256": "0gcjlcfxd4bg123gjf7d0vfvfd6zpd0da8svynglca1qhp77jkx1"
   },
   "stable": {
    "version": [
     0,
-    1
+    2
    ],
    "deps": [
     "magit-section"
    ],
-   "commit": "3308412efdf72bc9d5a64250678e0c0c0e0f8511",
-   "sha256": "02w0v1lpj02xv9c3yhqlnd3fbadnqfz72gy2sck784pkv09zkfg1"
+   "commit": "181021cd881eecd604a546d4a717866a81c7a511",
+   "sha256": "0gcjlcfxd4bg123gjf7d0vfvfd6zpd0da8svynglca1qhp77jkx1"
   }
  },
  {
@@ -108257,20 +108739,20 @@
   "repo": "trevorpogue/topspace",
   "unstable": {
    "version": [
-    20220413,
-    630
+    20220512,
+    2008
    ],
-   "commit": "cb9dbf5c0f7a7d7c60daeed8f00c20e750f5ffec",
-   "sha256": "1zbsj1vakh0k646hbmlg10gmh7yg6jddagpg55j9w3pzzwm31psi"
+   "commit": "86127bf20f241a3c421b13523f0de6590fe42055",
+   "sha256": "1ahi1kgfis3khbgr3ps9ms71nc4b10aydd97q9mpm6h5rxvl2iv8"
   },
   "stable": {
    "version": [
     0,
     2,
-    0
+    1
    ],
-   "commit": "edb0d582ae70549ad37b80c7ef22ae434feed3f2",
-   "sha256": "1mhp5wqwwhcn2crq277nj4bxl3nfn1l2gfbf6sirjksgs1zmrmkm"
+   "commit": "9760a3ab5ebcde43ab93246fd9cb93732c5d8647",
+   "sha256": "1xk4nyivzhlxigsxbxfhvf7zp8bwbmp5hkzcqnz8xg9b6zdn7lz8"
   }
  },
  {
@@ -108533,16 +109015,16 @@
     20210713,
     1609
    ],
-   "commit": "e4c5bb69e6f1338239bdbf66baf57bb610828b2e",
-   "sha256": "05ddgcgqribdwbph7qkz5r24h1xsbrnhlg4yqgnyyw5kfxayapzj"
+   "commit": "710f057fedae6e9b820cce9336fef24b7d057e4c",
+   "sha256": "0lrxd4hanaxj85nafsc0wss677slmyaks3qb7a95mj7vic3ib937"
   },
   "stable": {
    "version": [
     2,
-    11
+    12
    ],
-   "commit": "6ccd4b494cbae9d28091217654f052eaea321007",
-   "sha256": "0cr9flk310yn2jgvj4hbqw9nj5wlfi0fazdkqafzidgz6iq150wd"
+   "commit": "710f057fedae6e9b820cce9336fef24b7d057e4c",
+   "sha256": "0lrxd4hanaxj85nafsc0wss677slmyaks3qb7a95mj7vic3ib937"
   }
  },
  {
@@ -108637,11 +109119,14 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20220413,
-    2332
+    20220509,
+    1943
    ],
-   "commit": "19cf9bef5d5c70fdd636ea021a0d26f0104a473d",
-   "sha256": "044x5h4hzwk6d3npcqi3v0w58glgb9bx153pwvpy1i4aml7vg26x"
+   "deps": [
+    "compat"
+   ],
+   "commit": "6fc09a663e408ade0d1b88f47701c96a9b051e34",
+   "sha256": "0xihkzz94s84xkl60hi388lhcdiwnlyq2mpnnqn0vf54amjfdh7x"
   },
   "stable": {
    "version": [
@@ -108661,14 +109146,14 @@
   "repo": "conao3/transient-dwim.el",
   "unstable": {
    "version": [
-    20200812,
-    1033
+    20220425,
+    1331
    ],
    "deps": [
     "transient"
    ],
-   "commit": "de03d875dd89b1d838be67b0c44d9786adf96717",
-   "sha256": "0gb4k3758bv25vdw30rq0vbs94vdyss0xsiyaxnmvpfnj0v9k2cq"
+   "commit": "7b6e70fb49b9d18106748202011863ebc39b864a",
+   "sha256": "1qph3ffpvrx02a423hpmdfp15g9yqdd38bnmsa735cnnhqm3yshd"
   }
  },
  {
@@ -108698,11 +109183,11 @@
   "repo": "rayw000/translate-mode",
   "unstable": {
    "version": [
-    20220402,
-    853
+    20220511,
+    1357
    ],
-   "commit": "fb73b3d928a8011a21402e2c14aa4aab56bd05ae",
-   "sha256": "1a01kvkpr0d2c7llj5hawwampz45ysv55gzvdvdldc0yc9qhvhyl"
+   "commit": "e1940b333241a4d0c224b7b875962736ca2b693b",
+   "sha256": "18s400rrpqji5dmn453f6cnk69cyskbmzsnkbxmss2wrqazp3l3c"
   },
   "stable": {
    "version": [
@@ -108794,8 +109279,8 @@
     20200910,
     1636
    ],
-   "commit": "e3721ed8bd1ac985c497eb718112906a2534bdbc",
-   "sha256": "10nklm1r8sqxwbdbs6qv2fqg5ga4n7wqcf2mrs8rps6gm2pa8vsq"
+   "commit": "1e151e5fc841688f1c4d68e9acc0f7b410cd754c",
+   "sha256": "1x3xdv789b3j8zm1zpd8v1m0712p1z9xi553yspp714w30dzxrs5"
   },
   "stable": {
    "version": [
@@ -108875,14 +109360,15 @@
   "url": "https://git.sr.ht/~tarsius/tray",
   "unstable": {
    "version": [
-    20220402,
-    1640
+    20220422,
+    1628
    ],
    "deps": [
+    "compat",
     "transient"
    ],
-   "commit": "5bd96ecb464844749712e5fa786e2e5258b1885d",
-   "sha256": "1g8nh86afj75na9bzlam28ng0nafvwc2alxpwx6snc9xm8px0cl4"
+   "commit": "1292530acd05956a2f1bd19c94ef6ab59f05ad8a",
+   "sha256": "1vnv7npzwx3bbkd1c3dql98ggrkwr3dfvcx6jrnm15s041y9sjfz"
   },
   "stable": {
    "version": [
@@ -108916,8 +109402,8 @@
     "tree-sitter-langs",
     "tsc"
    ],
-   "commit": "774a1e9598617f334fcd31aa606c5e738012fb60",
-   "sha256": "1bc51pmrr37yf116vmw436y2gidr5410ya2vlylrh3scssyd6zgw"
+   "commit": "eafee31ca4f532a9dbee326d3ec3bdd1e997223b",
+   "sha256": "1p8ghpj83smh1bh38ydhlpyaxfdx0f83wp4sdgzv3zxdfydmb4n9"
   }
  },
  {
@@ -108949,8 +109435,8 @@
    "deps": [
     "tsc"
    ],
-   "commit": "5e1091658d625984c6c5756e3550c4d2eebd73a1",
-   "sha256": "08favjzk53cgz96k3xfcvi7g7y8gbssw03pbjk0fxfmcqqpps1j1"
+   "commit": "3cfab8a0e945db9b3df84437f27945746a43cc71",
+   "sha256": "0flqsf3nly7s261vss56havss13psgbw98612yj2xkfk9sydia28"
   },
   "stable": {
    "version": [
@@ -109004,26 +109490,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20220328,
-    1344
+    20220508,
+    636
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "0dd5e56e2f5646aa51ed0fc9eb869a8f7090228a",
-   "sha256": "0jyzpiyl3b88vwfzkda7ak77kl0b2nybvsz0j9cndl3pf95d62g0"
+   "commit": "deb2d8674be8f777ace50e15c7c041aeddb1d0b2",
+   "sha256": "1p2zbb6ac7wi6x6zpbczcmpkb2p45md2csd2bj43d8s56ckzw5mp"
   },
   "stable": {
    "version": [
     0,
-    11,
-    6
+    12,
+    0
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "0dd5e56e2f5646aa51ed0fc9eb869a8f7090228a",
-   "sha256": "0jyzpiyl3b88vwfzkda7ak77kl0b2nybvsz0j9cndl3pf95d62g0"
+   "commit": "deb2d8674be8f777ace50e15c7c041aeddb1d0b2",
+   "sha256": "1p2zbb6ac7wi6x6zpbczcmpkb2p45md2csd2bj43d8s56ckzw5mp"
   }
  },
  {
@@ -109070,8 +109556,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20220411,
-    1944
+    20220511,
+    1852
    ],
    "deps": [
     "ace-window",
@@ -109083,14 +109569,13 @@
     "pfuture",
     "s"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "ace-window",
@@ -109102,8 +109587,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109114,28 +109599,27 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20220124,
-    1914
+    20220425,
+    1124
    ],
    "deps": [
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109146,28 +109630,27 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20211019,
-    1654
+    20220511,
+    1852
    ],
    "deps": [
     "evil",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "evil",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109184,20 +109667,19 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109208,30 +109690,29 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20211010,
-    1005
+    20220502,
+    1310
    ],
    "deps": [
     "magit",
     "pfuture",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "magit",
     "pfuture",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109250,22 +109731,21 @@
     "persp-mode",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "dash",
     "persp-mode",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109284,22 +109764,21 @@
     "perspective",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "dash",
     "perspective",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109317,21 +109796,20 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
   },
   "stable": {
    "version": [
     2,
-    9,
-    5
+    10
    ],
    "deps": [
     "projectile",
     "treemacs"
    ],
-   "commit": "b5609d3eacab752e7f06fc66fd8c37189152c1cf",
-   "sha256": "01qrprxfwmdzak77k2qa9fc2kb4hxddbvj30avqglj9sjaid9wmq"
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109349,8 +109827,20 @@
     "dash",
     "treemacs"
    ],
-   "commit": "6e206216cec383d47acec872a0c8ef6e70b7746b",
-   "sha256": "1ahk3ijhs6qgxqwz0v0zx1x8pz1x7l2902m8n2548npqa868gxrh"
+   "commit": "dca83bd42918b510173759df4cc8b3663d5d480d",
+   "sha256": "1cxz5kx9qiv0imlzsbwjkydks2xfrcdchcnia2hyxhjpldff5vnq"
+  },
+  "stable": {
+   "version": [
+    2,
+    10
+   ],
+   "deps": [
+    "dash",
+    "treemacs"
+   ],
+   "commit": "700bf4fb00c2f05f809d65ed320d47a3dd436d59",
+   "sha256": "0wf26wkba89rr7j9vsvkp0jfr49560nbvykaxm9hk7zvhkwlm1np"
   }
  },
  {
@@ -109596,8 +110086,8 @@
     20220212,
     1632
    ],
-   "commit": "5e1091658d625984c6c5756e3550c4d2eebd73a1",
-   "sha256": "08favjzk53cgz96k3xfcvi7g7y8gbssw03pbjk0fxfmcqqpps1j1"
+   "commit": "3cfab8a0e945db9b3df84437f27945746a43cc71",
+   "sha256": "0flqsf3nly7s261vss56havss13psgbw98612yj2xkfk9sydia28"
   },
   "stable": {
    "version": [
@@ -109898,14 +110388,14 @@
   "repo": "BenediktBroich/twitch-api",
   "unstable": {
    "version": [
-    20220207,
-    813
+    20220420,
+    1547
    ],
    "deps": [
     "dash"
    ],
-   "commit": "e48b0b350516e20eaf85514e8855c2fbfbf09c11",
-   "sha256": "1pfrqa7lc85b9ww54w15liwi0swj3h9vx41fcmv7w0b31fijmzjd"
+   "commit": "181681097d1fc8d7b78928f8a5b38c61d0e20ef5",
+   "sha256": "14b8a22jbrnj42iva3mjb66j5w6zj0kd6dyk8pjkk22915w0jwcj"
   }
  },
  {
@@ -109940,11 +110430,11 @@
   "repo": "emacs-typescript/typescript.el",
   "unstable": {
    "version": [
-    20220223,
-    1506
+    20220506,
+    827
    ],
-   "commit": "88f317f0b6aef8f8d232e912fdbc679799580c56",
-   "sha256": "0qkqxvam3r21philap71dy4980sbadx32176rz20wwrs10szqnck"
+   "commit": "4f056f6db77839dc8653afff68dfecf62d83ec70",
+   "sha256": "0viyrfxnpmj164kiaai8j0wlrylss8mvpp3q57ldk2r6ijm85klb"
   },
   "stable": {
    "version": [
@@ -110362,8 +110852,8 @@
     20200719,
     618
    ],
-   "commit": "e0edb861ea256e28faaa7d447ca8f16b144d410d",
-   "sha256": "0b0swqhd5k7i4fk02gxyr1knxjnc8iq1rx9i87iwbha95r0zpm1d"
+   "commit": "b7b5bffe242fd15b9eb8fe5cb7c9b45e474babbc",
+   "sha256": "0rbm3gq1b1w1f3gg7h9sncjp088dg7rd5vn3vakh140p289rwirx"
   },
   "stable": {
    "version": [
@@ -110400,32 +110890,32 @@
  },
  {
   "ename": "undo-fu",
-  "commit": "0ca16994315f7d5dee9fff76db036e084162dc52",
-  "sha256": "1b0616zlblsd5405sfh02lxjyq6gl3s9m8vsxbqi6fryr4y750s9",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-undo-fu",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "00zbjr5dwpaqjky6sr4affj1nhv8q97psrfs55x6xd5smdkbxx60",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-undo-fu.git",
   "unstable": {
    "version": [
-    20220412,
-    2337
+    20220509,
+    1045
    ],
-   "commit": "f9c39c248cb965cd3c7cb3c8e15a4eee71921f8c",
-   "sha256": "071k1fnhk102psqg7myj25aqdd61wpvd4zhv4k4p2hlx4d6a2wi6"
+   "commit": "97e7f4f6e0754fd1b01db9638b3f534b5b4941c2",
+   "sha256": "0gx4cm6qdl06y9vrwy5wj3zn618zf3w0b8qpdnns3q4xc7qz3b6g"
   }
  },
  {
   "ename": "undo-fu-session",
-  "commit": "f39d9dc5e57554b42eca54ad5399a53947c2c25f",
-  "sha256": "0k9qxs3igzf7zcg1vd4v9npfiah512w9j2scnm333brmx4jfgvb7",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-undo-fu-session",
+  "commit": "ea2ae0d7f188967cf3b0cb71c4bbba364e59bd61",
+  "sha256": "16p51y2b0c2mbba7r1wrwbb15nv9wlgdd51yyr1gmbp90m81x9ky",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-undo-fu-session.git",
   "unstable": {
    "version": [
-    20220412,
-    1212
+    20220509,
+    1044
    ],
-   "commit": "d2a5ca1299d35f88419e94bf941d6347ce140f2e",
-   "sha256": "0qwvql0vdir0yv78gk3yzpqasm53bylpdjm5cm6i5sxh41865d12"
+   "commit": "52c71b1cee2fe944e0013a2823e6fde10b26bc65",
+   "sha256": "0ijw245wg9rxhz419hjw62jsgpwjy9r26z9jbd018r7f4qa5gh3s"
   }
  },
  {
@@ -110457,8 +110947,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "efb8ac3935635ad0fd731de0ef64b14a23f50b42",
-   "sha256": "0mvj2jhj2dl4pr4gh7rh3042lawxik9myvvnvqc25zjqa5n4jp8c"
+   "commit": "ec95d5038425bca375865803701c971a9c748114",
+   "sha256": "0k6mrsbfhacz4ipcggb4x3gln8bqz2nxk8zapidz6vb11fgay8my"
   },
   "stable": {
    "version": [
@@ -111306,8 +111796,8 @@
     20220220,
     150
    ],
-   "commit": "005706b5c2ae70c2c442030dcccfa7c7e3c23ddb",
-   "sha256": "0kk2r8lfc6q7rb1yykkf1z156mryb3zs0xbpw3czr7m576zwwrzi"
+   "commit": "0cb20745e3889f4eb8ea49c4a748f34f9ddf1fa6",
+   "sha256": "1840m49s0wnk376va05n2vq9877x3siri15da8z6mqrh02sj1fa9"
   },
   "stable": {
    "version": [
@@ -111321,17 +111811,17 @@
  },
  {
   "ename": "utimeclock",
-  "commit": "f712b882b6961f3a83a9807e973fa6edc592c223",
-  "sha256": "1818i1b04mzx5015d5h5r1j9hbpg2x8xgszdq831c1sjhvnajh7z",
-  "fetcher": "gitlab",
-  "repo": "ideasman42/emacs-utimeclock",
+  "commit": "1a9ce8cad627f30ce907650593ada1cc0e4653b8",
+  "sha256": "0k3awhp9ab3h6hqmkrr0rs67rp7yr0zg0kzy6qa84gixc8s3naby",
+  "fetcher": "git",
+  "url": "https://codeberg.org/ideasman42/emacs-utimeclock.git",
   "unstable": {
    "version": [
-    20220211,
-    548
+    20220425,
+    939
    ],
-   "commit": "0e36664ffe9f278bb008107d1b743edfcfba60f1",
-   "sha256": "1ninhp8z9lr705k8a5pd8cvm3nwrml9wp2hvrv3lilmdr9879h0y"
+   "commit": "cfd5109e004d3e2522f5e758b3ff7238fcf385d6",
+   "sha256": "0ii3rvxq0408snj8rmclrk1b1kkx46lkak16q8xlxz1gx01kn64d"
   }
  },
  {
@@ -111348,8 +111838,8 @@
    "deps": [
     "tuareg"
    ],
-   "commit": "5d72a0ab34bf621b2150e9e267ec108fb1c5899a",
-   "sha256": "0f3lyiqxkl9gqhfa8d7nmk8kq8r8m8b0c6iprqr6l715cwk8qzfz"
+   "commit": "42614160c20764b443d082083740e8dcc6cf2f78",
+   "sha256": "0ahxx8l0n7ki256rm2ka62rvil9292ijzm7w5i466gbvp6pa4mdf"
   },
   "stable": {
    "version": [
@@ -111418,6 +111908,29 @@
   }
  },
  {
+  "ename": "uxntal-mode",
+  "commit": "ea376b1b019ebd4b38773547adcd25132f9e3018",
+  "sha256": "1kj59xybn5zbj1ggsnf3qwpl365ili96xck6q48y2g597k2ryh04",
+  "fetcher": "github",
+  "repo": "non/uxntal-mode",
+  "unstable": {
+   "version": [
+    20220502,
+    154
+   ],
+   "commit": "39cde87b15a98e0612e30b80e0676211236ac3e7",
+   "sha256": "1i5rkxnb4bib30qx602b426m0ydcmwlwgs9hl92540kx7d9j8416"
+  },
+  "stable": {
+   "version": [
+    0,
+    2
+   ],
+   "commit": "a6e15c3ff1cfb05598db20ab494f783ba96f52ab",
+   "sha256": "0jxsn07w5iplc4xcdlljq8cpr0vf68p7wdqi9msv5hbcjrwk6as3"
+  }
+ },
+ {
   "ename": "v-mode",
   "commit": "247cab604cf0ef6078f5b0f5887526bcbbcefb70",
   "sha256": "0jky9y06fqj06m4mg95h8k3h5fihf9j9qj4w3n836qg5lnb4ywga",
@@ -111501,14 +112014,14 @@
   "repo": "dougm/vagrant-tramp",
   "unstable": {
    "version": [
-    20210217,
-    704
+    20220508,
+    52
    ],
    "deps": [
     "dash"
    ],
-   "commit": "5f00b42a0c023c461cef7af4de7652d90c788b4d",
-   "sha256": "1mshxcbwdjs2fs7lzqhs3pqbmdmy2fyzkf9b6r8rsxqlisa4x6sn"
+   "commit": "2b7a4fabd328961384da06e0e302250cd97edc47",
+   "sha256": "03jbjsyf3lrqxk6455892hkz9iwfxahghjbp0kj34h46fprms78s"
   }
  },
  {
@@ -112558,11 +113071,11 @@
   "url": "https://codeberg.org/joostkremers/visual-fill-column.git",
   "unstable": {
    "version": [
-    20211118,
-    33
+    20220426,
+    2045
    ],
-   "commit": "cf3e2bc632b68d54145c79beede85d3458a337de",
-   "sha256": "0wj6c6q1sn7q1ywkm3fyl7z967jsl5g2xp3niwqv4kz9bs60aw6v"
+   "commit": "cdfe574a51c4fc3519536fa3b169b01d5482d5df",
+   "sha256": "1gimqhpnagv675wsb1yr50wxf8fwxlviks515yhyxn65hgl2x4wn"
   },
   "stable": {
    "version": [
@@ -112786,11 +113299,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20220319,
-    1730
+    20220414,
+    930
    ],
-   "commit": "7389cb19e2d32435c6d19a67a851335a51490920",
-   "sha256": "0pf39fanzp45l92mw3cpl8ymvzhhrrpl98dj378wipgr7qnk89ch"
+   "commit": "2801a2354d93920dcd12da3d1090954aec9f7402",
+   "sha256": "1w4fkb7yp8cmpyxqyghiz4rqkzajjh1nqf5wjnxhvjv0av1lddhn"
   },
   "stable": {
    "version": [
@@ -112809,11 +113322,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20220319,
-    1729
+    20220414,
+    931
    ],
-   "commit": "05e80702e57a192be0bdc9f6271f0c4abbd17c29",
-   "sha256": "03ncnrqi22fpjw0a1wpbr03jg833s2bw6j76k501n51dz2dqfyyk"
+   "commit": "73e8431576e5b65c227dcf37c7d1a5c609221ac9",
+   "sha256": "0fxwcxdr7ssj7v5bsx42zinas6fp3iigdh98j1mqm54xm61a58jc"
   },
   "stable": {
    "version": [
@@ -112886,11 +113399,11 @@
   "repo": "akermu/emacs-libvterm",
   "unstable": {
    "version": [
-    20220412,
-    1140
+    20220429,
+    21
    ],
-   "commit": "a2f2286c40725244257f46d3a27a730e73f9f596",
-   "sha256": "08z9r3wz5rnx5pbv82pi5123hynbnwyhzgpkldxfcj4w3cd4qwhs"
+   "commit": "b44723552f86407d528c4a6c8057382c061b008e",
+   "sha256": "0rq2skwylvc7s4vfpbbsdykws4akyp9sc6xgrh2ql5yydhhnv2h3"
   }
  },
  {
@@ -112901,14 +113414,14 @@
   "repo": "jixiuf/vterm-toggle",
   "unstable": {
    "version": [
-    20220202,
-    1722
+    20220416,
+    1034
    ],
    "deps": [
     "vterm"
    ],
-   "commit": "2a6861ef6af91dad4be082139214a30116b50acf",
-   "sha256": "19rr03fqicykw73wbpw2nzz0b0dc62qpqh7gddmgz8lv39d6xmfb"
+   "commit": "644e9df9f741c3338c248291799375a1778eb98b",
+   "sha256": "19c8z0nfhavimxr8nc5m67k8yxfzr7vaanjrxs3c6zip35nqrn8w"
   }
  },
  {
@@ -113142,11 +113655,11 @@
   "repo": "emacs-w3m/emacs-w3m",
   "unstable": {
    "version": [
-    20220405,
-    124
+    20220508,
+    2259
    ],
-   "commit": "c3a3a947fb267df1f03287be2eab4f7119707e90",
-   "sha256": "1f065v3i7n60lgdz9nzvla3n1xzcvznrg8f3kbf2ccvp5viwzi10"
+   "commit": "7baf17355289c29d18f993f383c5d6a187f33b35",
+   "sha256": "1a2m6jkvnv852q07wvi80nbm7437wnvdfdyiq4iffhffmz8c2mrr"
   }
  },
  {
@@ -113264,15 +113777,28 @@
   "repo": "plexus/walkclj",
   "unstable": {
    "version": [
-    20201116,
-    735
+    20220422,
+    854
+   ],
+   "deps": [
+    "parseclj",
+    "treepy"
+   ],
+   "commit": "ce4e7713d801b03f94f5da9898fce09718380ed4",
+   "sha256": "1r66fxbm39i1p75aizicravy2n8yjnj3m5nckzdqd86nw2v5d5c6"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    0
    ],
    "deps": [
     "parseclj",
     "treepy"
    ],
-   "commit": "2077475eb3c8d1a170c3a3b0e836420469024f0f",
-   "sha256": "1ml1jz2dcva98kgzvrbad4myvyx2g1xzl584vj0mj41x0h6m47b3"
+   "commit": "4b4e9fcef2361bdf88ab3c7f905a76672cfd43e4",
+   "sha256": "19an6ny0r41wl567z0z8zlyrcq9c4jck1nf5rqnp3z07zswlp5sw"
   }
  },
  {
@@ -113397,16 +113923,16 @@
   "repo": "wanderlust/wanderlust",
   "unstable": {
    "version": [
-    20220103,
-    800
+    20220508,
+    1540
    ],
    "deps": [
     "apel",
     "flim",
     "semi"
    ],
-   "commit": "638d089bba25ce8184c981d0721eba6417b3d7e2",
-   "sha256": "1rz9ydhhx38xvyggfdw8aqb2dgvv36g1db13ggkcyxcwp3x22y4s"
+   "commit": "e3cd5e39454737c0b641e114ddcc550122288a2a",
+   "sha256": "0qm5gyss1mxwcxgc4s201c0bvh7kfkfg8fii766nfnddfywccj43"
   }
  },
  {
@@ -114180,11 +114706,11 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20220214,
-    1818
+    20220419,
+    227
    ],
-   "commit": "1217db8c6356659e67b35dedd9f5f260c06f6e99",
-   "sha256": "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby"
+   "commit": "129f4ebfc74f207ac82978f6d90d8b4bb1a55cf9",
+   "sha256": "065jfwnz9ymv5xiiyhnhsi5sm03ah5985hnm5psay6z9msskcnx8"
   },
   "stable": {
    "version": [
@@ -114229,6 +114755,30 @@
   }
  },
  {
+  "ename": "whiley-mode",
+  "commit": "d011f665fc7780714d8180c72b2be1235f1f3435",
+  "sha256": "16ar0z3iqa7150fbqqzq43mi9f81z181b2fdip6ys4mpwk1iz25a",
+  "fetcher": "github",
+  "repo": "Whiley/WhileyEmacsMode",
+  "unstable": {
+   "version": [
+    20220501,
+    2219
+   ],
+   "commit": "69eb67cf41dad029f1456079aea62a4b61ca9b46",
+   "sha256": "19j12h9v7agw340zb0cwlga2a0agl8c4bv19hxma5wd6sj0srp3v"
+  },
+  "stable": {
+   "version": [
+    1,
+    0,
+    1
+   ],
+   "commit": "e7cc4759d46be589d421a2235af6771bcde9ae33",
+   "sha256": "0g96zxli3jcl8f5fwk4kishgjdlvcaq1rsvj7gyfycnmq08aiszy"
+  }
+ },
+ {
   "ename": "whitaker",
   "commit": "4b5d717e2eaf35ce33b26be049a39f2f75a7de72",
   "sha256": "17fnvb3jh6fi4wddn5qnp6i6ndidg8jf9ac69q9j032c2msr07nj",
@@ -114391,11 +114941,11 @@
   "url": "https://codeberg.org/akib/emacs-why-this.git",
   "unstable": {
    "version": [
-    20220314,
-    1329
+    20220510,
+    1146
    ],
-   "commit": "ca4cf46d6e7b961a0c0fa39ac084fdca3c8c93b2",
-   "sha256": "14zb4abakpy2s05lfry097i0gg2d3njj0847a62dnwv8hgypsk6c"
+   "commit": "71baf80f9ae7c1117f3b1bf531e23e43bf567424",
+   "sha256": "1cwasg2dyy86c3hh71xqqsl7wy5c6mf9mnaf251l5fa5895xhbff"
   }
  },
  {
@@ -114927,11 +115477,14 @@
   "repo": "magit/with-editor",
   "unstable": {
    "version": [
-    20220412,
-    1340
+    20220506,
+    420
    ],
-   "commit": "3d1af157b466c689ae2c4d1ddc1562d613d84879",
-   "sha256": "1xd35ma3mm45dzz3gw9cqjdsnl04bpzq7q9qwibc93i2c0l0xf60"
+   "deps": [
+    "compat"
+   ],
+   "commit": "4ab8c6148bb2698ff793d4a8acdbd8d0d642e133",
+   "sha256": "1mc0ayfhxl8jpdgw2p6prdi4m3ab3hh7hv0p0kyxmlc9m6f3ablc"
   },
   "stable": {
    "version": [
@@ -115178,11 +115731,11 @@
   "repo": "progfolio/wordel",
   "unstable": {
    "version": [
-    20220225,
-    1907
+    20220508,
+    1745
    ],
-   "commit": "5a1f9a45c3d1fa58c3de5183c4456572ae861d49",
-   "sha256": "0jd7lbb7mbjfk66mkzxnhffh3dlj28xma5a8km5hc4lclqlm74sx"
+   "commit": "d37187bb5abb2fe4a8ba120fad9e52dd74cc220e",
+   "sha256": "0527j2ldfiaqlblk00abdl0s0l0wmxac74i4qa899mlqq5sp7kyy"
   }
  },
  {
@@ -115231,6 +115784,24 @@
   }
  },
  {
+  "ename": "wordreference",
+  "commit": "676db2393007648805f96e65fa65d80800f89d6b",
+  "sha256": "0ws1hiv2vp6bl86k8ddqry6lilmwqsb0b60lslhld7hiw80r7d37",
+  "fetcher": "git",
+  "url": "https://codeberg.org/martianh/wordreference.el",
+  "unstable": {
+   "version": [
+    20220504,
+    2021
+   ],
+   "deps": [
+    "s"
+   ],
+   "commit": "785a5d3245efdc3f32ce61fad1c7596230682f3a",
+   "sha256": "0g23d58lm6fvk2v5z8zvn09c9q3nffdq6w4mdhygj2xc2l3c6rcp"
+  }
+ },
+ {
   "ename": "wordsmith-mode",
   "commit": "3b5fda506e5b388cd6824d433b89032ed46858dc",
   "sha256": "0s6b6dfqn31jdcgs2mlmvwgpr5a4zs4xi8m002ly11c6sn035xb1",
@@ -115312,11 +115883,11 @@
   "repo": "pashinin/workgroups2",
   "unstable": {
    "version": [
-    20220327,
-    1001
+    20220423,
+    1150
    ],
-   "commit": "59952e80acecfd6f8b79f075d473501ee468085e",
-   "sha256": "0jsk210ahf05dm0bmpbl1hj9xld2cvwiyjp09wg084fj5h6fdk6d"
+   "commit": "ccd6948c92ea21d0dec56dff029b3f46df408de5",
+   "sha256": "1k4z9yi92mj2c82xww9bzpbgl2fcbi3fv79hlyalv20pqlky0zjy"
   },
   "stable": {
    "version": [
@@ -115332,6 +115903,21 @@
   }
  },
  {
+  "ename": "workroom",
+  "commit": "f44154886249141ec1cb712f29790a9fa1a0402c",
+  "sha256": "08jw74rcfajgl1cwiar96fk2hynl1n63a2zd2zs934gbag82b96a",
+  "fetcher": "git",
+  "url": "https://codeberg.org/akib/emacs-workroom.git",
+  "unstable": {
+   "version": [
+    20220501,
+    1500
+   ],
+   "commit": "001fe2777f49ac73b6ab24401094a1c3c5efc887",
+   "sha256": "0haj4w8xcpm1yb3anla4ql2zi339hs6bcznxzl7qla575ff5sivp"
+  }
+ },
+ {
   "ename": "world-time-mode",
   "commit": "f1429650400baf2b1523b5556eaf6a2178d515d4",
   "sha256": "10gdlz4l9iqw1zdlk5i3knysn36iqxdh3xabjq8kq04jkl7i36dl",
@@ -115422,20 +116008,20 @@
   "repo": "bnbeckwith/writegood-mode",
   "unstable": {
    "version": [
-    20210418,
-    110
+    20220511,
+    2109
    ],
-   "commit": "ed42d918d98826ad88928b7af9f2597502afc6b0",
-   "sha256": "1nwngnddlkcvix7qx39fadab7hqzg8snb0k63kwpr8v57lyrm48z"
+   "commit": "d54eadeedb8bf3aa0e0a584c0a7373c69644f4b8",
+   "sha256": "1a3gmaaa344kigr209b6wnjiw9ikkmw1j5jda04h3g8f9817njyv"
   },
   "stable": {
    "version": [
     2,
-    0,
-    4
+    2,
+    0
    ],
-   "commit": "ed42d918d98826ad88928b7af9f2597502afc6b0",
-   "sha256": "1nwngnddlkcvix7qx39fadab7hqzg8snb0k63kwpr8v57lyrm48z"
+   "commit": "d54eadeedb8bf3aa0e0a584c0a7373c69644f4b8",
+   "sha256": "1a3gmaaa344kigr209b6wnjiw9ikkmw1j5jda04h3g8f9817njyv"
   }
  },
  {
@@ -115446,14 +116032,14 @@
   "repo": "joostkremers/writeroom-mode",
   "unstable": {
    "version": [
-    20210927,
-    1301
+    20220426,
+    2046
    ],
    "deps": [
     "visual-fill-column"
    ],
-   "commit": "eac1da790f316f357ed76ed67fbb790d6a4d126a",
-   "sha256": "01yrz25aymzwkcj5yzs8pmswsg0jgzbynbp9hmjnf3sqlgmang62"
+   "commit": "a736205c194d7525feb1e1f10f4186c7b2b62bef",
+   "sha256": "1mhakk78gxhv2cahvg3ynzrfwj09l5aknvncmd3r09csrc0cwkfg"
   },
   "stable": {
    "version": [
@@ -115579,8 +116165,8 @@
     20210614,
     1527
    ],
-   "commit": "46c8a7c71275ced2c662c1222d4b85319f80dd83",
-   "sha256": "15qxs91inbpr9qk2xlaijargkvj9c6rmw0m4b05qrqni0cgb75dk"
+   "commit": "cf29c6ae6f8d92f012feecec1dccb23b7e93c86f",
+   "sha256": "1nhmndzy936jkgdp30lvnv45y7ixv0hsmxdbibn0lwy8xpd51q7s"
   }
  },
  {
@@ -115773,8 +116359,8 @@
   "repo": "dandavison/xenops",
   "unstable": {
    "version": [
-    20211121,
-    1953
+    20220421,
+    1320
    ],
    "deps": [
     "aio",
@@ -115784,8 +116370,8 @@
     "f",
     "s"
    ],
-   "commit": "c5fafbc41ae5c4d20a1eb2de3b3226f8a55eb65e",
-   "sha256": "1lzd053b27jikgb10bpbihynx08c9c33fcswrykl0r5548qjwm4j"
+   "commit": "a2c685b3bb2257da49af771caa02325aa41fa699",
+   "sha256": "12iy5fk3vz4rfyw848nb9dnnc4l338s9wm981w17k73wf37gnv89"
   }
  },
  {
@@ -115814,14 +116400,14 @@
   "repo": "vibhavp/emacs-xkcd",
   "unstable": {
    "version": [
-    20220106,
-    952
+    20220503,
+    1109
    ],
    "deps": [
     "json"
    ],
-   "commit": "688d0b4ea234adda0c05784e6bb22ab9d71f0884",
-   "sha256": "15swryph0sks7lrcwnxsf436vq99b7psydnv0b2662nlbb0a4fdb"
+   "commit": "80011da2e7def8f65233d4e0d790ca60d287081d",
+   "sha256": "1l7bz979kjk1qngfa1zifyfdzn3vjvmbxy6qa188rxyz1zn6lm12"
   },
   "stable": {
    "version": [
@@ -116656,8 +117242,8 @@
     20220212,
     1742
    ],
-   "commit": "a5ae81e44c8707949fad521ba532bc92568f79c2",
-   "sha256": "1s4qxxqz81sz1jydgrs9j7qkw3lyzcg76zx32646ibb6i093x8mf"
+   "commit": "25f6bf7415f6821a4097037a8decd03813d08722",
+   "sha256": "1dvrm7paaiy3f8mchhk2wxaaba3qzvl0hcld40k3miyjpdn2lfgs"
   },
   "stable": {
    "version": [
@@ -117424,15 +118010,15 @@
   "repo": "EFLS/zetteldeft",
   "unstable": {
    "version": [
-    20220331,
-    1903
+    20220429,
+    2057
    ],
    "deps": [
     "ace-window",
     "deft"
    ],
-   "commit": "9309bdb1cba8120b43158c09da86727c6bd42373",
-   "sha256": "1nnq9zsf2whfmd8bm1razsvc00ljgkky840h9ara64wggrh9sli9"
+   "commit": "86dd346be4bdddd6ac8d47503355fea350098271",
+   "sha256": "1s9gnsd3gj6wpv1vc3l2hhz4ccmfq6wvxcn3qj011pgz7y557iz9"
   },
   "stable": {
    "version": [
@@ -117460,8 +118046,8 @@
    "deps": [
     "s"
    ],
-   "commit": "4048bf9e1be7ab759696a9541eec8f435359bcf3",
-   "sha256": "1rnir9mc9cp12wg5p19f0m6g6mvfyv1ahr7zq7azl8hvwmnb6gx7"
+   "commit": "603a5b692a08340c1865a6f73cacf57c4fd64cb2",
+   "sha256": "1hwibhqmm7a4zz0fw6qhbgyyw7rx73zd6gn7mg2g4m0c4kwwfifa"
   },
   "stable": {
    "version": [
@@ -117571,11 +118157,19 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220412,
-    1937
+    20220509,
+    2156
+   ],
+   "commit": "9a3ed5e743c38725e7d9a7e4eaecfe624654c68d",
+   "sha256": "1az7n1f0203kk7x50ljjz3dcirkbk0zxzc54b3xxv64sd806vfw6"
+  },
+  "stable": {
+   "version": [
+    0,
+    4
    ],
-   "commit": "9f3eac6ad104eeb54e14f9688641b2f49ce15942",
-   "sha256": "0iwm3swln4mah3xd69b9bbi1fx2zvd0fjsp2sirzqrqxwxqa2s8a"
+   "commit": "9a3ed5e743c38725e7d9a7e4eaecfe624654c68d",
+   "sha256": "1az7n1f0203kk7x50ljjz3dcirkbk0zxzc54b3xxv64sd806vfw6"
   }
  },
  {
@@ -117586,14 +118180,25 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220312,
-    2211
+    20220509,
+    802
    ],
    "deps": [
     "zk"
    ],
-   "commit": "9f3eac6ad104eeb54e14f9688641b2f49ce15942",
-   "sha256": "0iwm3swln4mah3xd69b9bbi1fx2zvd0fjsp2sirzqrqxwxqa2s8a"
+   "commit": "9a3ed5e743c38725e7d9a7e4eaecfe624654c68d",
+   "sha256": "1az7n1f0203kk7x50ljjz3dcirkbk0zxzc54b3xxv64sd806vfw6"
+  },
+  "stable": {
+   "version": [
+    0,
+    4
+   ],
+   "deps": [
+    "zk"
+   ],
+   "commit": "9a3ed5e743c38725e7d9a7e4eaecfe624654c68d",
+   "sha256": "1az7n1f0203kk7x50ljjz3dcirkbk0zxzc54b3xxv64sd806vfw6"
   }
  },
  {
@@ -117619,14 +118224,14 @@
   "repo": "nnicandro/emacs-zmq",
   "unstable": {
    "version": [
-    20210613,
-    343
+    20220510,
+    1820
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "38dc6c4119aee57666caf8f97c8a3d7f678823e0",
-   "sha256": "0j7szww8fi2pyvln1bppyq8nly0vkbncz63kzqhi1zx7dfz127ry"
+   "commit": "af5299d80715b1083a18145e9c84ef9563020676",
+   "sha256": "1jn1jkkl0pg2psncrf0rx9csp95pg9wm1pcmy1cb3kbqla9x27p4"
   },
   "stable": {
    "version": [
@@ -117818,8 +118423,8 @@
     20201205,
     1038
    ],
-   "commit": "6d9caa87d1ef3cf3e4ac995c15cd7aa6aecd4ee3",
-   "sha256": "0p6sxgfjh9ld5d2ylx5w8im0m2skzgdk45bcn0sran4dsvp6jf3d"
+   "commit": "402f85f5d7d18e26289adcd452d42c73dc1df580",
+   "sha256": "1x7awisyb1vizpykmflvxw17x58xd2hj6dxq92xkpbswjj6fk238"
   },
   "stable": {
    "version": [
@@ -117986,8 +118591,8 @@
     20220302,
     522
    ],
-   "commit": "ecdcb62847b5e54ccd477d740e4974f28c8f5809",
-   "sha256": "1f4j53a1bm4kpgmlpfxnqb9zm8q0qxl7frxd8a0nqwfrxrzkqp8p"
+   "commit": "2133eb000b5239b08a1c2532629a19a19f8e6309",
+   "sha256": "15r4v3m9plygnkajaaf2y76a09am7r29d8h4yxh5fk7vb7cfyrw3"
   },
   "stable": {
    "version": [
diff --git a/pkgs/applications/editors/gnome-inform7/default.nix b/pkgs/applications/editors/gnome-inform7/default.nix
index 534466db8d789..509eee06e2be4 100644
--- a/pkgs/applications/editors/gnome-inform7/default.nix
+++ b/pkgs/applications/editors/gnome-inform7/default.nix
@@ -22,12 +22,12 @@ let
       pkg-config
       docbook2x
       docbook-xsl-nons
+      wrapGAppsHook
     ];
     buildInputs = [
       gtk3
       gobject-introspection
       vala gtk-doc
-      wrapGAppsHook
     ];
   });
 
diff --git a/pkgs/applications/editors/gnome-latex/default.nix b/pkgs/applications/editors/gnome-latex/default.nix
index 8fc6feecd57c9..fe8666fd741bd 100644
--- a/pkgs/applications/editors/gnome-latex/default.nix
+++ b/pkgs/applications/editors/gnome-latex/default.nix
@@ -1,7 +1,6 @@
-{ lib
-, stdenv
+{ stdenv
+, lib
 , fetchurl
-, fetchpatch
 , autoreconfHook
 , gtk-doc
 , vala
@@ -22,22 +21,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.38.0";
+  version = "3.40.0";
   pname = "gnome-latex";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0xqd49pgi82dygqnxj08i1v22b0vwwhx3zvdinhrx4jny339yam8";
+    sha256 = "xad/55vUDjeOooyPRaZjJ/vIzFw7W48PCcAhfufMCpA=";
   };
 
-  patches = [
-    # Fix build with latest tepl.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/Archive/gnome-latex/commit/e1b01186f8a4e5d3fee4c9ccfbedd6d098517df9.patch";
-      sha256 = "H8cbp5hDZoXytEdKE2D/oYHNKIbEFwxQoEaC4JMfGHY=";
-    })
-  ];
-
   nativeBuildInputs = [
     pkg-config
     autoreconfHook
diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix b/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
index c71b14f174228..ffecd65d50f96 100644
--- a/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
+++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/default.nix
@@ -20,7 +20,7 @@ let
   '';
 
   pname = "clojupyter";
-  version = "0.3.2";
+  version = "0.3.3";
 
   meta = with lib; {
     description = "A Jupyter kernel for Clojure";
@@ -36,8 +36,8 @@ let
     src = fetchFromGitHub {
       owner = "clojupyter";
       repo = "clojupyter";
-      rev = "0.3.2";
-      sha256 = "1wphc7h74qlm9bcv5f95qhq1rq9gmcm5hvjblb01vffx996vr6jz";
+      rev = version;
+      sha256 = "sha256-BCzcPnLSonm+ELFU4JIIzLPlVnP0VzlrRSGxOd/LFow=";
     };
 
     buildInputs = [ imagemagick ];
diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
index 86f489c7300ea..be5a54fb06c17 100644
--- a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
+++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.edn
@@ -1 +1 @@
-{:deps {clojupyter/clojupyter {:mvn/version "0.3.2"}}}
+{:deps {clojupyter/clojupyter {:mvn/version "0.3.3"}}}
diff --git a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
index 729db05b6cc7a..2be3bf7a33e39 100644
--- a/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
+++ b/pkgs/applications/editors/jupyter-kernels/clojupyter/deps.nix
@@ -31,8 +31,8 @@
       inherit repos;
       artifactId = "data.json";
       groupId = "org.clojure";
-      sha512 = "ce526bef01bedd31b772954d921a61832ae60af06121f29080853f7932326438b33d183240a9cffbe57e00dc3744700220753948da26b8973ee21c30e84227a6";
-      version = "0.2.6";
+      sha512 = "b767973db8b5b36aeb5c55f082e020a5c3f657bee1eede018e68ccaa2c535005759bc8a162fce7bb63eee1c14c6f29ec1c6080978a08817189864cbd40f154fa";
+      version = "2.3.1";
     };
   }
 
@@ -64,8 +64,8 @@
       inherit repos;
       artifactId = "clojupyter";
       groupId = "clojupyter";
-      sha512 = "3ff95101e9031f0678c1ebd67b0f0d1b50495aa81a69c8f08deb9c2931818bbdd6bcd6f1ef25c407c6714a975c1ef853b4287725641a3fed7b93e1c27ba78709";
-      version = "0.3.2";
+      sha512 = "d030ae69cdadecbcec9a052e4ad91ba4f47cdc4bb3fb780317f337af62d8c34d12ef05d132d6c9a4ce790008c979919c22162432c1b9bcf4e0a470020d585dbe";
+      version = "0.3.3";
     };
   }
 
@@ -86,8 +86,8 @@
       inherit repos;
       artifactId = "tools.analyzer";
       groupId = "org.clojure";
-      sha512 = "9cce94540a6fd0ae0bad915efe9a30c8fb282fbd1e225c4a5a583273e84789b3b5fc605b06f11e19d7dcc212d08bc6138477accfcde5d48839bec97daa874ce6";
-      version = "0.6.9";
+      sha512 = "e02d7baec926e0e0a7d9c71f09fee627fbde59ae7f3cbd4abcdf0533c8a87fba8c7cf4503df34bf33777063f4b6353a022552fd003fdbea9fad5752d53609bb8";
+      version = "1.0.0";
     };
   }
 
@@ -196,8 +196,8 @@
       inherit repos;
       artifactId = "encore";
       groupId = "com.taoensso";
-      sha512 = "c4928c76378415ac504071ae4812e82efdce3b432c961b0bb9d906a468bb9c51a778f0109ac86641419b1a852ef13ca3d5c54ddde457e5aaec36a2f54f9caf8f";
-      version = "2.91.0";
+      sha512 = "bb9510a88bca86f9cfc4a2e5c8a85782bc71d961a0a639735edafb61df130422488ee40d1db4cb6ad961e40acdb07259052937391c32f1e54c71f09dd63d33e5";
+      version = "3.12.1";
     };
   }
 
@@ -229,8 +229,8 @@
       inherit repos;
       artifactId = "tools.analyzer.jvm";
       groupId = "org.clojure";
-      sha512 = "ec1cb7638e38dfdca49c88e0b71ecf9c6ea858dccd46a2044bb37d01912ab4709b838cd2f0d1c2f201927ba4eea8f68d4d82e9fdd6da2f9943f7239bf86549f2";
-      version = "0.7.2";
+      sha512 = "ce9c7b51fa61c12c539f3c5c1c7fa1caf123497553d4e566c13895312faad2d2657fe6e54fe88110a6c87accb10c4c3b6ccfa87a035a7321da6c859da1d192d0";
+      version = "1.1.0";
     };
   }
 
@@ -273,8 +273,8 @@
       inherit repos;
       artifactId = "jackson-dataformat-cbor";
       groupId = "com.fasterxml.jackson.dataformat";
-      sha512 = "dd49d4a154b8284620704a364ec54fb94638d68424b4f3eaa1d61cccc70959d399e539162f6ac8dcdd6efb0d3817a2edd2bba12fd2630cabd4722cd2ce9b782a";
-      version = "2.9.6";
+      sha512 = "575a00fec1760571403aaadbe0aa6c74f8bb01f40feae00741df6604e7c2bf199ac739a789bbd5d83af75ec6d9fcc55f5a1515b05aef33e0d3cc3046acad9e89";
+      version = "2.10.2";
     };
   }
 
@@ -339,8 +339,8 @@
       inherit repos;
       artifactId = "pretty";
       groupId = "io.aviso";
-      sha512 = "2c4df86bb572cf028992a1a321178df65d0e681cbbc699db3a149fd0bcf8ad803643bf4e621a9b7793067f128934819371796468288cf5822924b2218711ccac";
-      version = "0.1.33";
+      sha512 = "512454e5296c54e2d2f3ddb3122e99edae3286b7e7f9a63dd453c96225b6aa5d0fb0972d58d7dac434b297f47a1f27d1b2021c126064af020f0c3040097226d6";
+      version = "0.1.37";
     };
   }
 
@@ -427,8 +427,8 @@
       inherit repos;
       artifactId = "jackson-core";
       groupId = "com.fasterxml.jackson.core";
-      sha512 = "a1b9b68b67d442a47e36b46b37b6b0ad7a10c547a1cf7adb4705baec77356e1080049d310b3b530f66bbd3c0ed05cfe43c041d6ef4ffbbc6731149624df4e699";
-      version = "2.9.6";
+      sha512 = "5055943790cea2c3abbacbe91e63634e6d2e977cd59b08ce102c0ee7d859995eb5d150d530da3848235b2b1b751a8df55cff2c33d43da695659248187ddf1bff";
+      version = "2.10.2";
     };
   }
 
@@ -444,6 +444,17 @@
   }
 
   {
+    name = "org.ow2.asm/asm";
+    path = pkgs.fetchMavenArtifact {
+      inherit repos;
+      artifactId = "asm";
+      groupId = "org.ow2.asm";
+      sha512 = "40614e658138f2eb95bc26999545f996794c622c4d68efb9e10093743504c4b58bf22590767bc6bd93b77cdfb202c507144ba867bbc8b54d74fe7621cbc55e3a";
+      version = "5.2";
+    };
+  }
+
+  {
     name = "org.slf4j/jul-to-slf4j";
     path = pkgs.fetchMavenArtifact {
       inherit repos;
@@ -537,8 +548,8 @@
       inherit repos;
       artifactId = "truss";
       groupId = "com.taoensso";
-      sha512 = "601bdac92eb0432de228717d3feb7f8a24f484eaf8b93a98c95ee42a0d57bd3dd7d2929c21dadb3a9b43d5e449821d30bbcf4e5ae198dcb8c62ec9597ff57524";
-      version = "1.5.0";
+      sha512 = "79a515306228e8e8f1c1cf5bb65ac8c979954f3a6e8461c059a7b9402967163a1eb7a70de3ad41e8195d9dbfac2d17af8cc03e09bf72f8e9f6704b842656c0b9";
+      version = "1.6.0";
     };
   }
 
@@ -559,8 +570,8 @@
       inherit repos;
       artifactId = "hiccup";
       groupId = "hiccup";
-      sha512 = "034f15be46c35029f41869c912f82cb2929fbbb0524ea64bd98dcdb9cf09875b28c75e926fa5fff53942b0f9e543e85a73a2d03c3f2112eecae30fcef8b148f4";
-      version = "1.0.5";
+      sha512 = "419dd67281135feb31f74528907b785679066e22cf397f14a6d9439cb9c463d0db66436c214b2b1b5944be6b9d28e3fc7d9e4042de52f9633bf0825548c0f524";
+      version = "2.0.0-alpha2";
     };
   }
 
@@ -658,8 +669,8 @@
       inherit repos;
       artifactId = "timbre";
       groupId = "com.taoensso";
-      sha512 = "cbb47d1ba312ca5f8ffdb2953401e0b37b308529c49622d4eb57e1d128ae56768051a2e01264c3a3fe8ef1c8a8785fcc29bc9336ccc70e629f2ab432280e6d7f";
-      version = "4.10.0";
+      sha512 = "2570f1d59d98034d8425598ab676f4c1e17f9da9926def2e142296377ddccf0fe3a894ba023114d614ca728c77c11d50927a709bfa896e9c5cce0854be31e32d";
+      version = "5.1.2";
     };
   }
 
@@ -713,8 +724,8 @@
       inherit repos;
       artifactId = "cider-nrepl";
       groupId = "cider";
-      sha512 = "2c665aeb6c31eb2d11f257966f19e6127d602546a8fea2ab19eed3352469f93bd870c210250cc3f8b89d68d61f6076a614b87d1792a1ab3a3fd8f3b974842f75";
-      version = "0.21.1";
+      sha512 = "e201944e32ce9b8fa328327c84f31d11cf5507a97b4fd3189a0304f4ebfd3bd557a1886335f295831941ac30d2b2394ad79a2897cb9bce506c0cbd8e04bbc40f";
+      version = "0.26.0";
     };
   }
 
@@ -757,8 +768,8 @@
       inherit repos;
       artifactId = "cheshire";
       groupId = "cheshire";
-      sha512 = "46d638d3e261e2debcaae9bdf912abaad4e77218ee0ba25ad0ff71dc040f579e630e593d55cd84dc9815bf84df33650295243cbeb8ff868976854544dd77de2c";
-      version = "5.8.1";
+      sha512 = "5b2a339f8d90951a80105729a080b841e0de671f576bfa164a78bccc08691d548cff6a7124224444f7b3a267c9aca69c18e347657f1d66e407167c9b5b8b52cb";
+      version = "5.10.0";
     };
   }
 
@@ -768,8 +779,8 @@
       inherit repos;
       artifactId = "tigris";
       groupId = "tigris";
-      sha512 = "5393fe3f656521a6760d289d9549ffb9e9c1a8a72b69878205d53763802afa8778f1cb8bed6899e0b9721de231a79b8b1254cc601c84f5374467f1cc4780a987";
-      version = "0.1.1";
+      sha512 = "fdff4ef5e7175a973aaef98de4f37dee8e125fc711c495382e280aaf3e11341fe8925d52567ca60f3f1795511ade11bc23461c88959632dfae3cf50374d02bf6";
+      version = "0.1.2";
     };
   }
 
@@ -790,8 +801,8 @@
       inherit repos;
       artifactId = "tools.reader";
       groupId = "org.clojure";
-      sha512 = "3d6d184a30cead093a158a69feaff8685a24a8089b0245f2b262d26ff46c7fd0be6940bdaccb0b5b06f87cba7ac59e677f74afff1cfbd67dc2b32e2a1ff19541";
-      version = "1.2.2";
+      sha512 = "03677c7eb85d294f878f13066bbd841e788ec1267285690e65c2eb342b02aecd028679509b7f1d192cf5631b0839a92abfe36e93237bf5e2544c14e6cebe7452";
+      version = "1.3.3";
     };
   }
 
@@ -834,8 +845,8 @@
       inherit repos;
       artifactId = "nrepl";
       groupId = "nrepl";
-      sha512 = "f9ffc647820e772428781cb4ccd4f84a7d903afffe64418af55c95bd7bc21e1722591ac425d1be366d8f4f4596debf0c1b006957848473d3c515f4187cd5cb86";
-      version = "0.6.0";
+      sha512 = "663906ff1c8768c4a73fa9f32619da4c244cc86c93d86e8439eb8de81c79486be5a04140c1df6199ba475b3a3e7fd36304faef8b330672dd644945820cc6eb67";
+      version = "0.8.3";
     };
   }
 
@@ -955,8 +966,8 @@
       inherit repos;
       artifactId = "core.memoize";
       groupId = "org.clojure";
-      sha512 = "e1c5104ac20a22e670ccb80c085ce225c168802829668e91c316cbea4f8982431a9e2ac7bfa5e8477ef515088e9443763f44496633c8ee1e416f7eb8ddfefb88";
-      version = "0.5.9";
+      sha512 = "37308fcbbe64d0a2802917ef5a589075f81086d63e08c71a9a1b648b73dd362e5bdc8f756084fde1f4b1964ba82a6dc06b2119460281b7949a271d82e6a47a7e";
+      version = "1.0.236";
     };
   }
 
@@ -999,8 +1010,8 @@
       inherit repos;
       artifactId = "data.priority-map";
       groupId = "org.clojure";
-      sha512 = "450e18bddb3962aee3a110398dc3e9c25280202eb15df2f25de6c26e99982e8de5cf535fe609948d190e312a00fad3ffc0b3a78b514ef66369577a4185df0a77";
-      version = "0.0.7";
+      sha512 = "fb2d703468fb6d5f28c38f25e8e7acdaf02d2fa1ac23c14a9ff065873e88c9b74e155e73e5069436d674d7ef8547f01bc9777b7ae3b9dcde67cbd327d4a20c06";
+      version = "1.0.0";
     };
   }
 
@@ -1032,8 +1043,8 @@
       inherit repos;
       artifactId = "core.cache";
       groupId = "org.clojure";
-      sha512 = "464c8503229dfcb5aa3c09cd74fa273ae82aff7a8f8daadb5c59a4224c7d675da4552ee9cb28d44627d5413c6f580e64df4dbfdde20d237599a46bb8f9a4bf6e";
-      version = "0.6.5";
+      sha512 = "6e4e126f23b20120c50a4dbefbe1b3b9bd98f0a7b8fa83affa267ff7f0de09542d2727243859a1ea346bda5b782d4ae0110f6c2b169c298261707a1fdadaedb0";
+      version = "1.0.207";
     };
   }
 
@@ -1049,24 +1060,13 @@
   }
 
   {
-    name = "org.ow2.asm/asm-all";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "asm-all";
-      groupId = "org.ow2.asm";
-      sha512 = "462f31f8889c5ff07f1ce7bb1d5e9e73b7ec3c31741dc2b3da8d0b1a50df171e8e72289ff13d725e80ecbd9efa7e873b09870f5e8efb547f51f680d2339f290d";
-      version = "4.2";
-    };
-  }
-
-  {
     name = "org.clojure/core.async";
     path = pkgs.fetchMavenArtifact {
       inherit repos;
       artifactId = "core.async";
       groupId = "org.clojure";
-      sha512 = "f80d61b51b5278c6c8b2b81ed45fa24ebaa42ade10e495fe34c5e1d827713eab33701a86dcc226a76e334365b0bd69d0c9da1e8b337f8752cd490145d3fc98b8";
-      version = "0.4.500";
+      sha512 = "7c8640769a68256f5cf131ed2436713c3c63bba2c4167f3593a1671ef65931d67b9b43eccfa6e5a20467ca7c6f5efd9cbf58d6c14e035757714f71220a754d0b";
+      version = "1.3.618";
     };
   }
 
@@ -1076,8 +1076,8 @@
       inherit repos;
       artifactId = "jackson-dataformat-smile";
       groupId = "com.fasterxml.jackson.dataformat";
-      sha512 = "bc0b293687b9aa6641a6983d4c09d901294010fd0710c8163b0b283f06d044cfd2d7cebdb2590b170fefdde4751406b704955f59312af27d0e1f12f0d6c81ed8";
-      version = "2.9.6";
+      sha512 = "8998346f7039df868f3387d219efa0c04fc022a948d098296f3d7ac3f7a9a82bde6ec4a8f83b11994ad50318b5aca37781faacb1f20a65ba2ecc6d6d6eb9468e";
+      version = "2.10.2";
     };
   }
 
diff --git a/pkgs/applications/editors/lapce/default.nix b/pkgs/applications/editors/lapce/default.nix
index d13b4c05302db..49c3d5559aa4a 100644
--- a/pkgs/applications/editors/lapce/default.nix
+++ b/pkgs/applications/editors/lapce/default.nix
@@ -28,16 +28,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lapce";
-  version = "0.0.12";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "lapce";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ZFQjQ5+G0b0Fgg3+du/drt+62rC/TCNR5MIdJXAkTrE=";
+    sha256 = "sha256-KSumy7M7VNUib4CZ0ikBboEFMzDQt4xW+aUFHOi+0pA=";
   };
 
-  cargoSha256 = "sha256-sMTootPsenaWzLLFImo6HWC1pcm2uFupPhVWsUJp1Ak=";
+  cargoSha256 = "sha256-7SVTcH9/Ilq8HcpJJI0KFiQA076lR2CAIBwmTVgmnjE=";
 
   nativeBuildInputs = [
     cmake
diff --git a/pkgs/applications/editors/maui-nota/default.nix b/pkgs/applications/editors/maui-nota/default.nix
new file mode 100644
index 0000000000000..9664aab2b2c7e
--- /dev/null
+++ b/pkgs/applications/editors/maui-nota/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+}:
+
+mkDerivation rec {
+  pname = "nota";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "nota";
+    rev = "v${version}";
+    sha256 = "sha256-Sgpm5njhQDe9ohAVFcN5iPNC6v9+QZnGRPYxuLvUno8=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+  ];
+
+  meta = with lib; {
+    description = "Multi-platform text editor";
+    homepage = "https://invent.kde.org/maui/nota";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index 658c18e5cb5c4..20b18814cb755 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "6.2";
+  version = "6.3";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "K8oYBL6taq9K15H3VuR0m7Ve2GDuwQWpf7qGS8anfLM=";
+    sha256 = "61MtpJhWcnMLUA9oXbqriFpGbQj7v3QVgyuVgF5vhoc=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
@@ -41,9 +41,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru = {
-    tests = {
-      expect = callPackage ./test-with-expect.nix {};
-    };
+    tests = { expect = callPackage ./test-with-expect.nix { }; };
 
     updateScript = writeScript "update.sh" ''
       #!${stdenv.shell}
diff --git a/pkgs/applications/editors/oed/default.nix b/pkgs/applications/editors/oed/default.nix
index f4012220c50d5..a17199c2ff6aa 100644
--- a/pkgs/applications/editors/oed/default.nix
+++ b/pkgs/applications/editors/oed/default.nix
@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/ibara/oed";
     description = "Portable ed editor from OpenBSD";
+    homepage = "https://github.com/ibara/oed";
     license = with licenses; [ bsd2 ];
+    mainProgram = "ed";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/editors/pinegrow/default.nix b/pkgs/applications/editors/pinegrow/default.nix
index a91c5f64c0979..65604926b8fda 100644
--- a/pkgs/applications/editors/pinegrow/default.nix
+++ b/pkgs/applications/editors/pinegrow/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   version = "6.5";
 
   src = fetchurl {
-    url = "https://github.com/Pinegrow/PinegrowReleases/releases/download/pg${version}/PinegrowLinux64.${version}.zip";
+    url = "https://download.pinegrow.com/PinegrowLinux64.${version}.zip";
     sha256 = "1l7cf5jgidpykaf68mzf92kywl1vxwl3fg43ibgr2rg4cnl1g82b";
   };
 
diff --git a/pkgs/applications/editors/scite/default.nix b/pkgs/applications/editors/scite/default.nix
index ab0fef9be268e..4118aee8a2dd1 100644
--- a/pkgs/applications/editors/scite/default.nix
+++ b/pkgs/applications/editors/scite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation {
   pname = "scite";
-  version = "5.0.2";
+  version = "5.2.2";
 
   src = fetchurl {
-    url = "https://www.scintilla.org/scite502.tgz";
-    sha256 = "00n2gr915f7kvp2250dzn6n0p6lhr6qdlm1m7y2xi6qrrky0bpan";
+    url = "https://www.scintilla.org/scite522.tgz";
+    sha256 = "1q46clclx8r0b8zbq2zi89sygszgqf9ra5l83r2fs0ghvjgh2cxd";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index 6e478693d4095..fa81414a7e72d 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -49,6 +49,7 @@ in appimageTools.wrapType2 rec {
     # fixup and install desktop file
     ${desktop-file-utils}/bin/desktop-file-install --dir $out/share/applications \
       --set-key Exec --set-value ${pname} standard-notes.desktop
+    mv usr/share/icons share
 
     rm usr/lib/* AppRun standard-notes.desktop .so*
   '';
diff --git a/pkgs/applications/editors/thiefmd/default.nix b/pkgs/applications/editors/thiefmd/default.nix
index 81222ff82f101..7f265aefcd02c 100644
--- a/pkgs/applications/editors/thiefmd/default.nix
+++ b/pkgs/applications/editors/thiefmd/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thiefmd";
-  version = "0.2.4";
+  version = "0.2.5-stability";
 
   src = fetchFromGitHub {
     owner = "kmwallio";
     repo = "ThiefMD";
-    rev = "v${version}-easypdf";
-    sha256 = "sha256-YN17o6GtpulxhXs+XYZLY36g9S8ggR6URNLrjs5PEoI=";
+    rev = "v${version}";
+    sha256 = "sha256-cUZ7NVGe4e9ZISo9gjWFuDNCyF3rsQtrDX+ureyqtwM=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index fe5d5b85080da..8c50586584955 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.2.4609";
+  version = "8.2.4816";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "sha256-IiWZJ4zT+VbcxwKChl847pS9jU9AlxZ/yQUIL8I2MhQ=";
+    sha256 = "1lgqr3ki50hwkz4vhdyaryirrs99qq4kgkhmpx7ygvn6aj2wapg5";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index bc317b91597e4..d5dd00b4aa603 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -3,7 +3,7 @@
 , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
 , libICE
 , vimPlugins
-, makeWrapper, makeBinaryWrapper
+, makeWrapper
 , wrapGAppsHook
 , runtimeShell
 
@@ -133,9 +133,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional wrapPythonDrv makeWrapper
   ++ lib.optional nlsSupport gettext
   ++ lib.optional perlSupport perl
-  # Make the inner wrapper binary to avoid double wrapping issues with wrapPythonDrv
-  # (https://github.com/NixOS/nixpkgs/pull/164163)
-  ++ lib.optional (guiSupport == "gtk3") (wrapGAppsHook.override { makeWrapper = makeBinaryWrapper; })
+  ++ lib.optional (guiSupport == "gtk3") wrapGAppsHook
   ;
 
   buildInputs = [
diff --git a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
index 187c068c0f093..4773cfb9e43e4 100644
--- a/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
+++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
@@ -3,14 +3,10 @@
 , vim
 , vimCommandCheckHook
 , vimGenDocHook
+, neovimRequireCheckHook
 }:
 
 rec {
-  addRtp = path: attrs: derivation:
-    derivation // { rtp = "${derivation}"; } // {
-      overrideAttrs = f: buildVimPlugin (attrs // f attrs);
-    };
-
   buildVimPlugin = attrs@{
     name ? "${attrs.pname}-${attrs.version}",
     namePrefix ? "vimplugin-",
@@ -24,7 +20,7 @@ rec {
     addonInfo ? null,
     ...
   }:
-    addRtp "${rtpPath}/${path}" attrs (stdenv.mkDerivation (attrs // {
+    let drv = stdenv.mkDerivation (attrs // {
       name = namePrefix + name;
 
       # dont move the doc folder since vim expects it
@@ -44,7 +40,10 @@ rec {
 
         runHook postInstall
       '';
-    }));
+    });
+    in  drv.overrideAttrs(oa: {
+      rtp = "${drv}";
+    });
 
   buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
     # vim plugins may override this
diff --git a/pkgs/applications/editors/vim/plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix
index cd5a1f9d6e509..c6ef409d637b8 100644
--- a/pkgs/applications/editors/vim/plugins/default.nix
+++ b/pkgs/applications/editors/vim/plugins/default.nix
@@ -3,7 +3,8 @@
 
 let
 
-  inherit (vimUtils.override {inherit vim;}) buildVimPluginFrom2Nix vimGenDocHook vimCommandCheckHook;
+  inherit (vimUtils.override {inherit vim;})
+    buildVimPluginFrom2Nix vimGenDocHook vimCommandCheckHook;
 
   inherit (lib) extends;
 
@@ -24,6 +25,7 @@ let
 
   plugins = callPackage ./generated.nix {
     inherit buildVimPluginFrom2Nix;
+    inherit (vimUtils) buildNeovimPluginFrom2Nix;
   };
 
   # TL;DR
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 88853f3e7d321..4e35fd632b1f2 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -1,5 +1,5 @@
 # This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!
-{ lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
+{ lib, buildVimPluginFrom2Nix, buildNeovimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
 final: prev:
 {
@@ -53,12 +53,12 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2022-04-15";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "93fca5d307007c05722050ffa8b4e508ca6f3b81";
-      sha256 = "022wv0lpz50ihvnkc38rmds0dl4g4b71yig9dc8nn8sicyv0312w";
+      rev = "ba1659dc1e3e38cd59d5bef19a51bdcf704abce5";
+      sha256 = "1zqj4j3y970kpr29kp2lx6ggd49d03dv6hxffg58v8kc1v3ibf14";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -77,12 +77,12 @@ final: prev:
 
   FTerm-nvim = buildVimPluginFrom2Nix {
     pname = "FTerm.nvim";
-    version = "2022-04-17";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "FTerm.nvim";
-      rev = "c2a4c4bbd00da68d864683cd09a5d3a2b80de11d";
-      sha256 = "01xscq18slsib2liqp7mbd4wil6l61m2ipihg2i6a14s9bcd1b0y";
+      rev = "11ec9290389d22215df93e1c9c35f782c5ceec4a";
+      sha256 = "16nli4nwsqn3zrc05m6w2h05ab423w8jjk81lys5kd609521wi0y";
     };
     meta.homepage = "https://github.com/numToStr/FTerm.nvim/";
   };
@@ -149,12 +149,12 @@ final: prev:
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2022-04-19";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "ecd38845d65ffbe4b080cc3c2c1c7f0bfe835bb3";
-      sha256 = "0cjx9v0fafm2npknr85wb37934ysdggnmiwr9cwbd5risp9ircwh";
+      rev = "f1da1ca2a4a71e79f4a625f62d8973de5cd2fab9";
+      sha256 = "1jny8r8fs0z1gdcb75r3in7jp9gl9mwc4wvjslb8qp8yh1ja0ddv";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
@@ -173,12 +173,12 @@ final: prev:
 
   Navigator-nvim = buildVimPluginFrom2Nix {
     pname = "Navigator.nvim";
-    version = "2022-04-11";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "numToStr";
       repo = "Navigator.nvim";
-      rev = "52225923679ec866651bb0c2e0691374131ec939";
-      sha256 = "0knzisdbaa3aa20ai8lwi8v4ai49jl741a1slpcrjnm6zhb484nv";
+      rev = "0c57f67a34eff7fd20785861926b7fe6bd76e2c2";
+      sha256 = "1f1fh5w2hsf16dcd0zz5x4d5ig089bgr7dial3ir82445g7whwsc";
     };
     meta.homepage = "https://github.com/numToStr/Navigator.nvim/";
   };
@@ -269,12 +269,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2022-04-19";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "4112585513210a3a55e587344649a4bfb8709bdc";
-      sha256 = "1sjm13vq8608xwfhc9hyfn1n4bwpgivnpw04331giwmf4j3kp422";
+      rev = "dc964c3caecd8f8fc477fc308187d47147b33d81";
+      sha256 = "1z8g04d7hd4qxag2b9rqyzvxvg8xya98zsxyd2rll51n2hw22bk1";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -305,12 +305,12 @@ final: prev:
 
   SimpylFold = buildVimPluginFrom2Nix {
     pname = "SimpylFold";
-    version = "2021-11-04";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "tmhedberg";
       repo = "SimpylFold";
-      rev = "b4a87e509c3d873238a39d1c85d0b97d6819f283";
-      sha256 = "0ff5x7ay67wn9c0mi8sb6110i93zrf97c4whg0bd7pr2nmadpvk0";
+      rev = "ff4c85197c5555715093c08a8d4f9d493c4d80cd";
+      sha256 = "1ny3dicin979irwp8gv993005yxgzx1h5snihpa0na2p38mkdp25";
     };
     meta.homepage = "https://github.com/tmhedberg/SimpylFold/";
   };
@@ -329,12 +329,12 @@ final: prev:
 
   SpaceVim = buildVimPluginFrom2Nix {
     pname = "SpaceVim";
-    version = "2022-04-19";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "SpaceVim";
       repo = "SpaceVim";
-      rev = "a1b65988e72a091334cedfe7ed1d067819f4e1eb";
-      sha256 = "096q33lrgn4i8ic6y66snb312ly3rdxm8a15mykawn1n533d04nq";
+      rev = "48c57041f9b7ceeff3e3d476f4ddf2cfc8a9f321";
+      sha256 = "0qfh948fykmbhvhlqs5zq1qglfl09wrnnrzssqfi8j8h64yqajnh";
     };
     meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
   };
@@ -486,12 +486,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-04-19";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "6d5246a3f0d2861eaad4121eb467bc5e6537690d";
-      sha256 = "0by8s35hhvk38l79y5nm88cvwy53vx21ps1wg9niway5xrp0khcs";
+      rev = "19e739139283c8ac5e2c147f870d2a038496688e";
+      sha256 = "16h1kkyczqifw0d4lwfaq3smx5scsap1d2pv00kcmwvs56ws5sx9";
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
   };
@@ -522,12 +522,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2022-04-06";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "607f33a1b0f662d9809d54363e8e81a4965862ce";
-      sha256 = "0bqd1h1hid68x51032ysr44i4gg12xkqqfj1zn3hli31xf9zgcnx";
+      rev = "044a6c956bfb557ec6c6d37921db6ee11de879f9";
+      sha256 = "1sz58bn0h65bkh29047ps8wm9fni0k9q2gmf69w7q5njlynk4ah9";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -546,12 +546,12 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2022-04-09";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "c55d4879935f07dbf46e86389246449d7af272b1";
-      sha256 = "0yghy4yh5qw5x2qxwz8wp27gmhh7yp0pcgkdv2p1lcilvdz9321s";
+      rev = "618c2115d5046cc04c8a4af7727ee4d90fc2061c";
+      sha256 = "1pz021rk2y0ngprhhhavs7xxnzf5sa9002rgs2wxlf36czqlf75q";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
@@ -654,12 +654,12 @@ final: prev:
 
   asynctasks-vim = buildVimPluginFrom2Nix {
     pname = "asynctasks.vim";
-    version = "2022-04-06";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "skywind3000";
       repo = "asynctasks.vim";
-      rev = "f1da08bb6bc1a458a7d0b3325eeabd0c77e08ff5";
-      sha256 = "1whc7irj0p07x3iy2r2rkkx89flsbv42pbjjbvhkj90fsv9wxcpd";
+      rev = "9cdb34314d5066b40627c83829b9d04943c9c66d";
+      sha256 = "1cjlnwgqyy95xq9nkzx7mp2iqwwd47yyp6y0mng8hrnhn4ixdfkw";
     };
     meta.homepage = "https://github.com/skywind3000/asynctasks.vim/";
   };
@@ -678,12 +678,12 @@ final: prev:
 
   aurora = buildVimPluginFrom2Nix {
     pname = "aurora";
-    version = "2022-02-02";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "d11266046077968bbc3d6ac37d81e069618cdedd";
-      sha256 = "1hdycb9rc7kpcppwv332hmrnzx5g2jy5r0ckaynahwwbwbjiyjqh";
+      rev = "315831585d8de6c7787eb05c5bea56f430c851e1";
+      sha256 = "19w3qmk6q1dj4jnwmvmd1af2bjwrfjmfnsrmjim9qmv6w0c2pbav";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
@@ -714,12 +714,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2022-04-12";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "e840b844abcc19ad6e406b193a2a5ce285238458";
-      sha256 = "0yx662qipzdmg28x0h454y95jrp952p51pl9h1dxjnwyswn8xrnm";
+      rev = "7c9477614fb95b103c277a98bf3f588e337cd7ac";
+      sha256 = "1d502bfkr6qxrqr0jxwngj22cz4bh7v36kakpb9g4qbxdd3h1r30";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -738,12 +738,12 @@ final: prev:
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2022-01-17";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "9a28614941beec4539f82937d50df1a03bb70e0d";
-      sha256 = "0fvb3r8176r030wnf1rvpd4dba8cz5506a3plp5j5h5gxpsyd27y";
+      rev = "9f96bbdef5cb19daf58449f0fbb597af6fc4c2eb";
+      sha256 = "1yqc0j2aq3aqyn924dn8d2pqxapn1w5wylgr1pc5mf0f7nl6qc94";
     };
     meta.homepage = "https://github.com/rafi/awesome-vim-colorschemes/";
   };
@@ -762,12 +762,12 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar.nvim";
-    version = "2022-02-22";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "be65945626fb6bf6058cae61d5176d156f923c11";
-      sha256 = "165ffjrwhhjdyssj96z4qn3fjys0dxwckpvjyzrpca2b2fag0cx2";
+      rev = "9d024d646c3fa0281a5ddcf189e2a620010f43ff";
+      sha256 = "05fh6992q7npnar82ijf67nf1c3rj6sxg2wk3ckb22qks2hxq8nd";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -870,36 +870,36 @@ final: prev:
 
   bufdelete-nvim = buildVimPluginFrom2Nix {
     pname = "bufdelete.nvim";
-    version = "2022-04-12";
+    version = "2022-05-07";
     src = fetchFromGitHub {
       owner = "famiu";
       repo = "bufdelete.nvim";
-      rev = "96454aedf95f52393a28cfcfc76482895de014ee";
-      sha256 = "0rr87wbqil2k2cia759kisllwcsbq0s3yhcl9h849qgd4gr2926h";
+      rev = "93e71aabbc3d534d70bb5d1913778eb42afb96f9";
+      sha256 = "0qzf6mmws0f1nmlk8m4pwfsbkkpq5nr024n9l2jvmchax63w1bds";
     };
     meta.homepage = "https://github.com/famiu/bufdelete.nvim/";
   };
 
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
-    version = "2022-03-21";
+    version = "2022-05-03";
     src = fetchFromGitHub {
       owner = "jlanzarotta";
       repo = "bufexplorer";
-      rev = "a81eb31192e3033eccedb61c842e274252038a04";
-      sha256 = "06b0mfmys2ah1hkyfipv0chv138mmdlixc2l0377zhq8409i3k3c";
+      rev = "1be66e253730fd186a5a789a67a337420f431a71";
+      sha256 = "1k3x04xvsmqbvmmcg7hlv3jnwpv9qgmdvwjz0620xmspfk43m09x";
     };
     meta.homepage = "https://github.com/jlanzarotta/bufexplorer/";
   };
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-04-20";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "f02e19bd29a27944e6bcc1e7a492fe07534b6630";
-      sha256 = "10gwj4kd7kngcrfgm4jja08ss5hza7s1bzs11fjk08y489mhracp";
+      rev = "29d5789aa407e7105968c43dba566defd3ca96bd";
+      sha256 = "0skrqpxszp2z2zv21vh2prxdyizps43qjyyy56rxs25cl6hrzb1j";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -1038,36 +1038,36 @@ final: prev:
 
   cmp-buffer = buildVimPluginFrom2Nix {
     pname = "cmp-buffer";
-    version = "2022-02-21";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-buffer";
-      rev = "d66c4c2d376e5be99db68d2362cd94d250987525";
-      sha256 = "0n9mqrf4rzj784zhshxr2wqyhm99d9mzalxqnik7srkghjvc9l4a";
+      rev = "12463cfcd9b14052f9effccbf1d84caa7a2d57f0";
+      sha256 = "11fbxw8rrhypazd256qwjvf8gg0laqb9b4h9yqdgvwj810y6n6wg";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-buffer/";
   };
 
   cmp-calc = buildVimPluginFrom2Nix {
     pname = "cmp-calc";
-    version = "2022-04-12";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-calc";
-      rev = "3bb9f0da74979ed1f5d77afa26aa8155daa9288f";
-      sha256 = "1qvpd3xx42rg38zdni85bcvakln5dz4xh79rqxa6z21dd3clp3ch";
+      rev = "f7efc20768603bd9f9ae0ed073b1c129f63eb312";
+      sha256 = "0q5p5s46bh0h1w9p3yzwxd04hlbxg3s4liq42r697gqvna6sq0yg";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-calc/";
   };
 
   cmp-cmdline = buildVimPluginFrom2Nix {
     pname = "cmp-cmdline";
-    version = "2022-02-13";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-cmdline";
-      rev = "f4beb74e8e036f9532bedbcac0b93c7a55a0f8b0";
-      sha256 = "0spc5vhrcz2ld1cxf9n27mhhfdwm0v89xbbyzbi9hshzfssndagh";
+      rev = "c36ca4bc1dedb12b4ba6546b96c43896fd6e7252";
+      sha256 = "04h6np207781l3wa36l6nqd56lx39s1kycf4jvclgfrr6ddnbv68";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-cmdline/";
   };
@@ -1110,12 +1110,12 @@ final: prev:
 
   cmp-nvim-lsp = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-lsp";
-    version = "2022-01-15";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-nvim-lsp";
-      rev = "ebdfc204afb87f15ce3d3d3f5df0b8181443b5ba";
-      sha256 = "0kmaxxdxlp1s5w36khnw0sdrbv1lr3p5n9r90h6h7wv842n4mnca";
+      rev = "e6b5feb2e6560b61f31c756fb9231a0d7b10c73d";
+      sha256 = "0jzgd9g874w507y40fzggbm40n467g8br5xcmgf2mscdb9kcsgvc";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lsp/";
   };
@@ -1146,12 +1146,12 @@ final: prev:
 
   cmp-nvim-ultisnips = buildVimPluginFrom2Nix {
     pname = "cmp-nvim-ultisnips";
-    version = "2022-04-15";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "quangnguyen30192";
       repo = "cmp-nvim-ultisnips";
-      rev = "c6ace8ca97ca7db5cca319759efd93fbf6cc0bce";
-      sha256 = "0jys7fl9r6n7khacypkg643lk2aadsnniyrm7nar0k08swdwhl48";
+      rev = "21f02b62deb409ce69928a23406076bd0043ddbc";
+      sha256 = "0jil0i9g33i0h3ynng58qaam5k18sdlqdzrbyqgn4gjzchcxpfqv";
     };
     meta.homepage = "https://github.com/quangnguyen30192/cmp-nvim-ultisnips/";
   };
@@ -1170,12 +1170,12 @@ final: prev:
 
   cmp-pandoc-references = buildVimPluginFrom2Nix {
     pname = "cmp-pandoc-references";
-    version = "2022-02-16";
+    version = "2022-04-20";
     src = fetchFromGitHub {
       owner = "jc-doyle";
       repo = "cmp-pandoc-references";
-      rev = "13e6c080fb16836f52c7fc498eecaae51adb4d54";
-      sha256 = "10pyzv4pdis05ap9jrz6wszxjha0m3bdjv6pd7xqm1hqahsyf4qs";
+      rev = "2c808dff631a783ddd2c554c4c6033907589baf6";
+      sha256 = "0knwxs6bg6r5hw2g668j34xr5yvqmcvcqyjfpnmpf5y5m82vahxw";
     };
     meta.homepage = "https://github.com/jc-doyle/cmp-pandoc-references/";
   };
@@ -1206,12 +1206,12 @@ final: prev:
 
   cmp-tabnine = buildVimPluginFrom2Nix {
     pname = "cmp-tabnine";
-    version = "2022-04-04";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "tzachar";
       repo = "cmp-tabnine";
-      rev = "1c6e5c55f3a879354891c59cf27da733890bfc88";
-      sha256 = "1hmif83kl2h4zz4xqkxb0xc003wzlirr26znx0r1f8z54f1j1hik";
+      rev = "30629b30791b42dcaadc7680cc5cb078a7a3075f";
+      sha256 = "1zs6dmaxx0af62v32c5l7cpywq2sd8fiw8j102mc4pn3s0vdcbgm";
     };
     meta.homepage = "https://github.com/tzachar/cmp-tabnine/";
   };
@@ -1230,12 +1230,12 @@ final: prev:
 
   cmp-treesitter = buildVimPluginFrom2Nix {
     pname = "cmp-treesitter";
-    version = "2021-12-02";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "cmp-treesitter";
-      rev = "a6b4c95ee922cace635b5a46c7fcc691d2559fbb";
-      sha256 = "068x8n63iavycf5fsc5jf2p8i3cs697r60k54j7rm076bpbmnisa";
+      rev = "c5187c31abd081ecef8b41e5eb476b7340442310";
+      sha256 = "1jhzw7myrwqgybvkm53mk8zgfz56pzr7cnsrzcr4fl6wnm59a3b5";
     };
     meta.homepage = "https://github.com/ray-x/cmp-treesitter/";
   };
@@ -1266,12 +1266,12 @@ final: prev:
 
   cmp_luasnip = buildVimPluginFrom2Nix {
     pname = "cmp_luasnip";
-    version = "2022-04-01";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "saadparwaiz1";
       repo = "cmp_luasnip";
-      rev = "b10829736542e7cc9291e60bab134df1273165c9";
-      sha256 = "1qygdas99m7py98rqxyza88lmk2as8yi9khjac603x6anxmq766l";
+      rev = "a9de941bcbda508d0a45d28ae366bb3f08db2e36";
+      sha256 = "0mh7gimav9p6cgv4j43l034dknz8szsnmrz49b2ra04yk9ihk1zj";
     };
     meta.homepage = "https://github.com/saadparwaiz1/cmp_luasnip/";
   };
@@ -1314,12 +1314,12 @@ final: prev:
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2022-04-20";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "0df59c8c81acfb7b0abadd49222a769ddf0730ec";
-      sha256 = "0ij2q9q96dv3rms6qdjsqvgyl0fk3w1h67fhjq7kcagci78cka9k";
+      rev = "3601c8ddde380349764fc0bc016b915703c9ad86";
+      sha256 = "1w9b4kicsa0r0fxcgcxq3wn0scyyyzfh3akp3zznli9g1fgbiqnx";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -1374,24 +1374,36 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2022-04-19";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "6f81e3034bf04f2d8d65b82b3ac15d93b737cf0b";
-      sha256 = "0hx8g0xlh0n6yqpv58s8vb2k0gdh1h13d05l1m3wn3gpvid17xi3";
+      rev = "a1edaee28938ce266c2543e2552bc6ee1ad29ffa";
+      sha256 = "132jvk2wf53qbn2qgnr0zjh7nw05lr91p2jhykam77gxkmgzazpq";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
 
+  coconut-vim = buildVimPluginFrom2Nix {
+    pname = "coconut.vim";
+    version = "2017-10-10";
+    src = fetchFromGitHub {
+      owner = "manicmaniac";
+      repo = "coconut.vim";
+      rev = "cea47739aab9f163d240d1609e7eea326fd55072";
+      sha256 = "03rq3lpplgywvm620jzx085l74180163q8gls4gjrad2fgm9n96n";
+    };
+    meta.homepage = "https://github.com/manicmaniac/coconut.vim/";
+  };
+
   codi-vim = buildVimPluginFrom2Nix {
     pname = "codi.vim";
-    version = "2022-04-16";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "metakirby5";
       repo = "codi.vim";
-      rev = "d9a93193dbb23516eebb19ef5ba01b43287ea35d";
-      sha256 = "0yk3jfp8r432s0kan0g6ml0yyz731yygv0zzpx75l9lfagdv0xpy";
+      rev = "4da94d813cfcd83434098a24a277d6be43f5bf50";
+      sha256 = "0rr5i704bqw2w600jvgvxl35sx2gak2bbxz59wk7k7jyxrzbjam6";
     };
     meta.homepage = "https://github.com/metakirby5/codi.vim/";
   };
@@ -1435,12 +1447,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2022-04-19";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "ef3e6bfa41073a73c298ae90d2796f8ceda71c6a";
-      sha256 = "1ki607wsam22h01gwq8a4vw3jq1yj2zmfp2laglh5cy5dgarm4vv";
+      rev = "40f5587789681b3453e4a27831b7d293e1c3da7b";
+      sha256 = "1lbjqq3h6434gwzc0bmnz64xlkrkjc11nlya6kp4amb6ajj3bg9i";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1579,12 +1591,12 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2022-04-09";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "422cadf51dd44306713f3f7965e40ec606290c49";
-      sha256 = "04m1p4l2i61g7d3yax1g7c1h38pkkzz1jvirvd1xcyzw08wn7ldh";
+      rev = "842c81892648de759e639ad2d395757b98be06d5";
+      sha256 = "1g67miifvysa4lbbvpa5bpxyw2fvjkq7anj6bqx65m81d4krlwr8";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -1603,12 +1615,12 @@ final: prev:
 
   copilot-vim = buildVimPluginFrom2Nix {
     pname = "copilot.vim";
-    version = "2022-04-09";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "573da1aaadd7402c3ab22fb1ae6853db1dc82acb";
-      sha256 = "1j2rva50rl8kn480b613z6a0xnfwkvyi4amg9n4r2l89dxdsni84";
+      rev = "df203c1356b72032df32d7b0b5facb4895139b6e";
+      sha256 = "18v21b314p4firiz0xhqnfl45g5wbcigiqq4ypnhf1lgwd6ngpqd";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
@@ -1627,12 +1639,12 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-04-20";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "0502a7f14ab73b80353d076842d58730a0239a16";
-      sha256 = "1s46iafdwxr20qw08si0lwbh81x9ffh2wvd4rxcyvhlxc7h686rp";
+      rev = "ca1c0df28b235bdce65ac87c0bed31da8f9e8be4";
+      sha256 = "17g7qd44jx5l8903m2hk8ja4hl4n2x43b0wmzvlpgjmpvgvhskzm";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
@@ -1663,12 +1675,12 @@ final: prev:
 
   crates-nvim = buildVimPluginFrom2Nix {
     pname = "crates.nvim";
-    version = "2022-04-19";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "saecki";
       repo = "crates.nvim";
-      rev = "fc46bf69f0b2293f25581123b46023226d102cc1";
-      sha256 = "079hraq9cjxjpqrli4y2nk9xwpvkhxmrbrhxq9by1wb1q1a39da3";
+      rev = "ce6da0ec93d8160e2bf1f0850bc3d0eec1a2e383";
+      sha256 = "1yl0b3fx71axpn1n6dwpdijdq8zjdb028a1gfzzwa6b62ry1qc0q";
     };
     meta.homepage = "https://github.com/saecki/crates.nvim/";
   };
@@ -1747,24 +1759,24 @@ final: prev:
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2022-01-25";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "42e6f57f2404b882cb7e491d50e525f8a8eb7f1f";
-      sha256 = "1lla0ldgayryib0868zl10dz6yy9dxa0k86fxl5sr6y0csfpi23z";
+      rev = "ceecea7895e469fc998d383818b2107d97cec06a";
+      sha256 = "1h2glyi5zyskc9ld6gz8p3k84npfg2b1in5rjv3hhwg6d14d6xd8";
     };
     meta.homepage = "https://github.com/dart-lang/dart-vim-plugin/";
   };
 
   dashboard-nvim = buildVimPluginFrom2Nix {
     pname = "dashboard-nvim";
-    version = "2021-04-17";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "glepnir";
       repo = "dashboard-nvim";
-      rev = "ba98ab86487b8eda3b0934b5423759944b5f7ebd";
-      sha256 = "1gyk0n8ks7xyjqab0gb7yx4ypl9k7csfjgmha84hy7mz4h08fkxq";
+      rev = "3b31a80513969752a8c53ff8b16a8e060404cf50";
+      sha256 = "0gcjyywjdsigq7a4jmcg8zgj6na5zagncdgp2a5qs81sa962k798";
     };
     meta.homepage = "https://github.com/glepnir/dashboard-nvim/";
   };
@@ -1795,12 +1807,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx.nvim";
-    version = "2022-04-14";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "b636df644005bb4805cba70b238df73b302640eb";
-      sha256 = "1aha5vashdiz59iy8l8kbkyvwngw5m7n131k7ar82gxi0zqsj6q8";
+      rev = "fd5f9416d6acc908660ccca0799109a9a4f0a2d2";
+      sha256 = "0dwznzxpsj2xd0hvybg67h6j5kxbk8qsy60axbqx65da7a54yd3j";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -1855,12 +1867,12 @@ final: prev:
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol.nvim";
-    version = "2022-03-16";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "4ecffa4502a65f90397c2194ae308dac49194a65";
-      sha256 = "1h23nmqpf5782r3fj945ck0dn0sa6vb0m03sbb4fzd707k6xwnl9";
+      rev = "cb48ec3f1c119d68cf633757a236228e3d887bf1";
+      sha256 = "0ckhcx6z1dqlvsaldy3961p3h4qvxgdqdp4i8xkqy4scjvaanvz0";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -2133,12 +2145,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2022-04-14";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "2d1f45282587d565cc4d84112490bc944c0b491d";
-      sha256 = "0cwp07igj131fp650wk6nh80kygvlf7h0r8p915jsyxfh9y06p7i";
+      rev = "91e99ae14e9e6e360540007e6785146458a138da";
+      sha256 = "1sghkg75y62rcc0jy7ra6rsmx05gxz4nv944i4lywn952vc49nd7";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -2169,12 +2181,12 @@ final: prev:
 
   dressing-nvim = buildVimPluginFrom2Nix {
     pname = "dressing.nvim";
-    version = "2022-03-31";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "dressing.nvim";
-      rev = "cad08fac5ed6d5e8384d8c0759268e2f6b89b217";
-      sha256 = "0lc04cvq6iasg724zhpzp1j3bhwj4gphvqbzfh41ikzsy8d2jrpy";
+      rev = "55e4ceae81d9169f46ea4452ce6e8c58cca00651";
+      sha256 = "1i34pk9l76n8ianz9hww8kn7dnnzivv8sbyf0vf7w21r2bh1p1k4";
     };
     meta.homepage = "https://github.com/stevearc/dressing.nvim/";
   };
@@ -2193,12 +2205,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2022-04-14";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "957a0f4d17f253ac23f9c870eb92d7ad2ea4b7e0";
-      sha256 = "15m6b5svvcfsmiq87vhn77q5z7zg22vpnh9qbcv0y6cd04s69n2d";
+      rev = "93e92e161edfca2cef1534efb88e2aa2138834d9";
+      sha256 = "0y24hdaqq9dsfy4di0pql1zj7a7jj48m44nm2a1g1dsra8k94jm2";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -2279,12 +2291,12 @@ final: prev:
 
   everforest = buildVimPluginFrom2Nix {
     pname = "everforest";
-    version = "2022-04-14";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "everforest";
-      rev = "64f486a4856bfbfd6604c700c938b34cf551561b";
-      sha256 = "18yxab99d9cy45ir2dfqr8wi0s56qyrzglgcslp97wnjiq79673d";
+      rev = "f748681a3fac2496aedf694f5bd09a30f80cd3c0";
+      sha256 = "0w9gv52y806bn7az9yl2anx7yiv2ildslw4rvj82v5ni0b6mq4j5";
     };
     meta.homepage = "https://github.com/sainnhe/everforest/";
   };
@@ -2339,12 +2351,12 @@ final: prev:
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2022-04-12";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "79f5e9e5a76842b72f1814dcd4fc239a95ead391";
-      sha256 = "1svj1464hlash4igbai9mdman7cvlb8rfiyyylm7yn4wh8c2xb3k";
+      rev = "f63f17bc9b845dd4cca4112f243b551aea141ced";
+      sha256 = "1l088yjqkjs8vfgc738qgbd8w72a4rni1bzk5wc9q2z8m1rzf7kr";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -2387,12 +2399,12 @@ final: prev:
 
   fidget-nvim = buildVimPluginFrom2Nix {
     pname = "fidget.nvim";
-    version = "2022-04-19";
+    version = "2022-05-08";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "956683191df04c5a401e1f1fb2e53b957fbcecaa";
-      sha256 = "1hwkm19x8zccwcnq72b8jk6dcmhngsxqcs3c02sarr2n0vqwvip0";
+      rev = "99b306167d1d305ca084e3bb475d6eadf32a365b";
+      sha256 = "0pxxsz0g2qklnl16pfbv0178fd34ff2vvx4qwndwkfgx4qmlkj8q";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -2460,12 +2472,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2022-03-29";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "bec8a57d6e990a503e87eb71ae530cd2c1402e31";
-      sha256 = "14llli9s5x58m7z4ay5b9d2pypq378h3i4062rasdqi5c5and07n";
+      rev = "fb814e0e18a2ced247c40736d395d15a2517486e";
+      sha256 = "19dav8ajydd4b9ziw6l4k9pn3dpc2z6zh1sb8a1hxcv02xfc71xg";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2484,12 +2496,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2022-04-17";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "804c3f55ec4ec46f7257451b3cd731df991b9212";
-      sha256 = "0sznw2q70zac924yf0z0ic3frmmjmryjh4af46fw2zrbrq4kk9vq";
+      rev = "4ef45d099453a26d23084a04ae7dced19e6d5ae5";
+      sha256 = "0l3hkg97w26k01f4arifnnaws4m50b2phig2pq8kqr80rz5i0gk7";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2556,16 +2568,28 @@ final: prev:
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "fzf-lsp.nvim";
-    version = "2022-02-06";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "gfanto";
       repo = "fzf-lsp.nvim";
-      rev = "b02056f3c4b9d64d876bbf0a58d20791345a9364";
-      sha256 = "16n78ylicrd7lh41g5hvd9vnnhkwbvj28c190k5zvrblyyhipn93";
+      rev = "13fec018f619a14f0fcc90d1ff32f235d3344315";
+      sha256 = "1wmmahy62dk04dplf96qh9aqfamjr3nm1fn3ky5lbw6ij8kgk5y8";
     };
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
 
+  fzf-lua = buildVimPluginFrom2Nix {
+    pname = "fzf-lua";
+    version = "2022-05-12";
+    src = fetchFromGitHub {
+      owner = "ibhagwan";
+      repo = "fzf-lua";
+      rev = "de7ac64e742c21afae5dae93e8207408fde5042c";
+      sha256 = "14hqkwsg4sgah0nyxd08iqzl8aycy6hgxn7wnyk0xdpr0nkhlm24";
+    };
+    meta.homepage = "https://github.com/ibhagwan/fzf-lua/";
+  };
+
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf.vim";
     version = "2022-04-07";
@@ -2604,12 +2628,12 @@ final: prev:
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2022-02-23";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "cf5f268f8b19262515105739bdcc112cd2a6cdbc";
-      sha256 = "1pbvr1yirn17fxw8zlzp8j5brj0n2sdm3ampjryirdxknli93685";
+      rev = "2b77af2d85b1bdc8d78f65f41d6673c240bbc7a1";
+      sha256 = "1spdpyxlh53mwdazzaskwk3y2lb4im2by0l9qq1cz78nwmwm2m4h";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
@@ -2652,24 +2676,24 @@ final: prev:
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame.nvim";
-    version = "2022-03-03";
+    version = "2022-05-08";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "e60bfbc314476777a5ce200e533699691a5cdfa5";
-      sha256 = "1nh54hfc0cvz3a9znrp32ialpbqqwlgbyw45m9b489g9kndf3y2k";
+      rev = "8ab29dd555de8f1791a4d34f47f21c8a2fdae8be";
+      sha256 = "1bknqk0xc85n9qc1mhg9w95yniyk0j9jq7pxc2wwdn5zrfig1vjw";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
 
   git-messenger-vim = buildVimPluginFrom2Nix {
     pname = "git-messenger.vim";
-    version = "2021-11-13";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "rhysd";
       repo = "git-messenger.vim";
-      rev = "2e67899355f3f631aad6845925e4c2c13546444d";
-      sha256 = "0a6c04far9ji7h7k0b195zxn62sj6drn56cacmz86zmzksqgm8wp";
+      rev = "6c0b55fb38d0e0633127823aab89b0676d13e509";
+      sha256 = "1ghqc5kmwsh1f7sbc5xyssffgh5lxcf35686mg6zm9ly3k2z8azk";
     };
     meta.homepage = "https://github.com/rhysd/git-messenger.vim/";
   };
@@ -2710,14 +2734,14 @@ final: prev:
     meta.homepage = "https://github.com/ruifm/gitlinker.nvim/";
   };
 
-  gitsigns-nvim = buildVimPluginFrom2Nix {
+  gitsigns-nvim = buildNeovimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2022-04-19";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "498abfa13dd749be963bc87a5b37da0d3e42a50e";
-      sha256 = "11d2pnqgngm6546r1nr0cf1dj7qkgvdn0ld2h1jn3fm07l892sgv";
+      rev = "ffd06e36f6067935d8cb9793905dd2e84e291310";
+      sha256 = "00lm0685mwrm4c4r4vprb0ksmylnrlz8silghaqdg80zlhbn729v";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2748,24 +2772,24 @@ final: prev:
 
   glow-nvim = buildVimPluginFrom2Nix {
     pname = "glow.nvim";
-    version = "2022-04-13";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "glow.nvim";
-      rev = "0c76518e440f2ea4dbadd87beec8eea4ce030f17";
-      sha256 = "093qa13dd32rn8r50pw3s65186ch2i9wawf1dwylqymjn1afnqbk";
+      rev = "da265c328f5e4f102dbdbb1a0fd8627afdaf0320";
+      sha256 = "1pmj8rjhf80jrgxp8iim9i36qqc6jwx8c73z6nqs6nkmnccychih";
     };
     meta.homepage = "https://github.com/ellisonleao/glow.nvim/";
   };
 
   golden-ratio = buildVimPluginFrom2Nix {
     pname = "golden-ratio";
-    version = "2020-04-03";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "roman";
       repo = "golden-ratio";
-      rev = "8313b6d6723c9e77ef1d3760af2cdd244e8db043";
-      sha256 = "03nm1wr0qsrirg4z4171f4nygnqgb6w06ldr6rbbz4a1f7j8j654";
+      rev = "7df80253680e4755b82955425da31d8c1f8e23b6";
+      sha256 = "0ds2slbg03b8dcgvi1svyn391mr2zaabb4x80wrmyxkrnfzr1rsq";
     };
     meta.homepage = "https://github.com/roman/golden-ratio/";
   };
@@ -2844,24 +2868,24 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2022-04-14";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "45d05b6affeec1f858a13c0d8fe511db32c85afd";
-      sha256 = "18sf80zgdsfb2bd9dgdww9prlhkydk695gj9wd9zah24zfc5mcv7";
+      rev = "f943521890297076cdcd629182a0405f6b9a83f0";
+      sha256 = "06x45ygxmqsgxrghvc4l6zdf1waxrwg3lk7m0lq4sh6nygdzhw1h";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2022-04-18";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "028302225e19eb203ebb6876b689cc0ce2631169";
-      sha256 = "0npsh72z3xb9p1jdhz1g9jpx20c2d52mkkg4ix07bmy40ynkbsxs";
+      rev = "72930977a442a2de2592ed39168c018bef90e086";
+      sha256 = "1k6rbn4ksmgi36f3zqlz52c99x3ilpjmv6q3y93j5kp2lxp1yz6r";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -2892,12 +2916,12 @@ final: prev:
 
   harpoon = buildVimPluginFrom2Nix {
     pname = "harpoon";
-    version = "2022-04-05";
+    version = "2022-05-08";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "28762aa04d6395538e26e1efff5213b26720e68f";
-      sha256 = "0c2fpwm8v2fzkg8rq7lhpv8lzm614y4x6n2xp612sj824jm7aj03";
+      rev = "d3d3d22b6207f46f8ca64946f4d781e975aec0fc";
+      sha256 = "0vc14gg4ll4ghmvyqvzij9pkvm30sml61nhs7pbpw3qq5mfizb7z";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -2976,24 +3000,24 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2022-03-22";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "e2f978b50c2bd9ae2c6a4ebdf2222c0f299c85c3";
-      sha256 = "1si2ibxidjn0l565vhr77949s16yjv46alq145b19h15amwgq3g2";
+      rev = "b93ed4cea9c7df625d04e41cb15370b5c43cb578";
+      sha256 = "12mc8fa3k5x9l84qw930bbjqi5hgc4y61s5p3kqx9nma2db2686v";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
 
   hotpot-nvim = buildVimPluginFrom2Nix {
     pname = "hotpot.nvim";
-    version = "2022-04-10";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "hotpot.nvim";
-      rev = "8ccf600ccb5dbc28ea329d641a58e2fd6974d38e";
-      sha256 = "0kppddixgkzn3q8zbkgllqmwbxlr46p5hlnddqdv5lnp6fw4w6xf";
+      rev = "f481b30f1d93df6016092623199ddc8bfe1624d0";
+      sha256 = "0zqz1m46bpj74l5vckvhaynbdq7vvi8vx1r1lrsjapb0blmfh0fj";
     };
     meta.homepage = "https://github.com/rktjmp/hotpot.nvim/";
   };
@@ -3012,12 +3036,12 @@ final: prev:
 
   iceberg-vim = buildVimPluginFrom2Nix {
     pname = "iceberg.vim";
-    version = "2021-12-28";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "cocopon";
       repo = "iceberg.vim";
-      rev = "105aceb0ccb45deb05bc3b1e5da956cd3e29869c";
-      sha256 = "0vywngmgm818nca313viriz9csvm6fbi46ik1m037yzi8znfarxa";
+      rev = "5ac9da61e8626d1218498a35e515f36387efe454";
+      sha256 = "12vqa244zsg8gxc7rar5sfjcajrhprxpxazjmpmi4db25wvbmpsq";
     };
     meta.homepage = "https://github.com/cocopon/iceberg.vim/";
   };
@@ -3084,24 +3108,24 @@ final: prev:
 
   incsearch-vim = buildVimPluginFrom2Nix {
     pname = "incsearch.vim";
-    version = "2017-11-24";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "haya14busa";
       repo = "incsearch.vim";
-      rev = "25e2547fb0566460f5999024f7a0de7b3775201f";
-      sha256 = "05v0d9b5sm4d1bvhb01jk6s7brlli2xc16hvzr6gik1nm1ks6ai1";
+      rev = "c83de6d1ac31d173d7c3ffee0ad61dc643ee4f08";
+      sha256 = "0vlj9hdy4d1p06mnxjpdz4mjqvbsgy5rp4l8k87wbs2b5x8008yj";
     };
     meta.homepage = "https://github.com/haya14busa/incsearch.vim/";
   };
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline.nvim";
-    version = "2022-04-15";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "045d9582094b27f5ae04d8b635c6da8e97e53f1d";
-      sha256 = "0wxkvx1xy7p4872fh9ydsnnqlpwm9x3afwakgxv38l9vmk5mpid4";
+      rev = "8567ac8ccd19ee41a6ec55bf044884799fa3f56b";
+      sha256 = "0gbdgn8031i4wgl5w2halaxjir39710n5cs8997cf3fhjj8zk5ss";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -3265,24 +3289,24 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2022-03-23";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "a2c96eda9d5b0dde03d2e22d0888e40426cd38dd";
-      sha256 = "1x9f3gd4bgj3f1c75bp58mvaxll4rw55vznqckc0w0p1bcwq9faw";
+      rev = "d743b99ff8321f4a80d21692bf536442d841bd55";
+      sha256 = "07x3zayahbp2dm7lc5kvrpd0c4i8qivs1brbdv9b1rv9b45qx5nf";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2022-04-14";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "acf0f5d61236b416c804d649cd76db8390de9ae6";
-      sha256 = "03xmcph28q1y8n0ykga5m6biw9flpnx02sy7j2w3f1q2shknnwf3";
+      rev = "50e7b43552072696d26757aff5f6307e2ab5e3ea";
+      sha256 = "051asspplaw9m1iqv78gfv8dzg3c96c1mhhv5swih4r3zcbylhhi";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
@@ -3349,24 +3373,24 @@ final: prev:
 
   lazygit-nvim = buildVimPluginFrom2Nix {
     pname = "lazygit.nvim";
-    version = "2022-04-15";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "68407ff60c1abe56cecedd4bec41380df5070a21";
-      sha256 = "080h4w55l36rvi4bb8z3bx2g41wp9lk08ihmz0jfmp7dzfgjszsi";
+      rev = "1f9f372b9fc137b8123d12a78c22a26c0fa78f0a";
+      sha256 = "1s4bpi7i86246p28pjk99rv1qj1gp7l7zwfch0f23nwnggm8s6pm";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2022-04-19";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "354630520ed3fe73c69796fb2e566a7c2125cd04";
-      sha256 = "1gwgbgg0dc0fwcdz6qs6mgvg0ybxgld3wm2wprq89abpacfz29dz";
+      rev = "725ff1f12e908001d2d42e9b06725cd8117e16f8";
+      sha256 = "0i93k3izl9b8lsax7s1bz53jwkjsjh9iv2wgwk7bf9a6c34g9mq5";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -3469,12 +3493,12 @@ final: prev:
 
   lightline-bufferline = buildVimPluginFrom2Nix {
     pname = "lightline-bufferline";
-    version = "2022-03-27";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "mengelbrecht";
       repo = "lightline-bufferline";
-      rev = "59b2c6b0ab5ad41ce42db89f05c8ea67020099ff";
-      sha256 = "0laz118k20sm3bn6r81f8pg9n77k5038c0vhgpbj349k3zraygjq";
+      rev = "fda87ff20e3b9c6a058cfbb6ca3c1f25877f4cab";
+      sha256 = "0apd1fm59plqhnc65zs5ayx2sijlhbcsrci2s674nr4w4w5rhvsj";
     };
     meta.homepage = "https://github.com/mengelbrecht/lightline-bufferline/";
   };
@@ -3505,24 +3529,24 @@ final: prev:
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline.vim";
-    version = "2022-03-15";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "11931e2de42cb1a14887a002a874f0b2daf12bc2";
-      sha256 = "1iyns1bm3wjr6z2hmc0p9j61vhprhax4f9qdqaf3w7vvgkhx1xj6";
+      rev = "b02ef0d9f253dfc1cbb3f340b74998d7a4db0bf6";
+      sha256 = "1rr5n23vvybfi3gbqljalqn0pnkwzzb4zqcz74jlz1dfyddsngah";
     };
     meta.homepage = "https://github.com/itchyny/lightline.vim/";
   };
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed.nvim";
-    version = "2022-04-04";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "cfde2b2fe0dafc5684780399961595357998f611";
-      sha256 = "0zcippcfv87vcsbld0kka4mn2lixg0r6m2c82g9bssf304skfhfr";
+      rev = "c5b93fc1d76a708cb698417326e04f4786a38d90";
+      sha256 = "0lgk9i240mgzf7f3j3z93dkj00fi3rypn79zc60wqdyzhpg4r4lm";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -3553,12 +3577,12 @@ final: prev:
 
   lir-nvim = buildVimPluginFrom2Nix {
     pname = "lir.nvim";
-    version = "2022-04-20";
+    version = "2022-05-07";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "lir.nvim";
-      rev = "43b2fae50a49fbf435899201b0c687b72ab2cc8f";
-      sha256 = "0ayq5nj6mmxc4pd6sf49wllkr1bkgvx6dsdy0hl2f3w20sn5bpba";
+      rev = "4fc9dcaccb31301cb6ad938e1f40c211ab1115e2";
+      sha256 = "08bn39smzdsh4whqk8icmf39fixnivw0bmvh9c90260mqj7329xr";
     };
     meta.homepage = "https://github.com/tamago324/lir.nvim/";
   };
@@ -3589,12 +3613,12 @@ final: prev:
 
   litee-filetree-nvim = buildVimPluginFrom2Nix {
     pname = "litee-filetree.nvim";
-    version = "2022-04-06";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee-filetree.nvim";
-      rev = "2a59ba7c362d1e39b80baa47dc237a7eeca42ba0";
-      sha256 = "1xw3p3jhyyggp82a8n99nqk9hnm8z6n84lclb2wjbma9a0xzk9kl";
+      rev = "91d403620dafeb30410aa0ed0cc416c9b67d3233";
+      sha256 = "1v70qlnwc59agxasvshr5691k00lvahks469pxh0kb0m072ainri";
     };
     meta.homepage = "https://github.com/ldelossa/litee-filetree.nvim/";
   };
@@ -3613,12 +3637,12 @@ final: prev:
 
   litee-nvim = buildVimPluginFrom2Nix {
     pname = "litee.nvim";
-    version = "2022-02-28";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee.nvim";
-      rev = "c9fd775aebf702c81e2077693336584a0027d496";
-      sha256 = "1zbxn3hzss41zwp0b1cwhh31zj0443xfpxjkchml9sq4f0hklkvd";
+      rev = "273bc3389434ff041e65f6c10edbf470763f6a8f";
+      sha256 = "1gy6an081phxkzaz0r548lq1idlxwmpgcgxj41jc7cliplfm8h4m";
     };
     meta.homepage = "https://github.com/ldelossa/litee.nvim/";
   };
@@ -3684,12 +3708,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2022-04-16";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "a351509512687293fd659ba4ee7e34412c3a8f70";
-      sha256 = "00xzd8b13krysdw21zm9ms902cxm04xl1wd2l7rb04431s2v9vc0";
+      rev = "db324e2ada5bb795d0016ec0ef2b4ae7f11d8904";
+      sha256 = "1swvj79h7bgdm0wmb3a2a730y4gic1aivj371q7k8acc1s824j7d";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -3699,33 +3723,33 @@ final: prev:
     version = "2022-04-18";
     src = fetchFromGitHub {
       owner = "onsails";
-      repo = "lspkind-nvim";
+      repo = "lspkind.nvim";
       rev = "57e5b5dfbe991151b07d272a06e365a77cc3d0e7";
       sha256 = "1c13ll09v16prhzgmv8pappck4x3ahhc5sizp6r61kb7k4mkfpfk";
     };
-    meta.homepage = "https://github.com/onsails/lspkind-nvim/";
+    meta.homepage = "https://github.com/onsails/lspkind.nvim/";
   };
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
     pname = "lspsaga.nvim";
-    version = "2022-03-14";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "tami5";
       repo = "lspsaga.nvim";
-      rev = "5309d75bd90ce5b1708331df3af1e971fa83a2b9";
-      sha256 = "0xvlpjv69wf18nw5hbmmgbhs8ws4gfq5ny2vrncqaxcikr3gdmms";
+      rev = "8dde091a61ab07f639baaa82b456d3508d0aa7e8";
+      sha256 = "15cimji9x53ki1rrxw2y7vj5g4lp4b91hxljcp9jn9qhkjb7kj47";
     };
     meta.homepage = "https://github.com/tami5/lspsaga.nvim/";
   };
 
   lua-dev-nvim = buildVimPluginFrom2Nix {
     pname = "lua-dev.nvim";
-    version = "2022-01-18";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "lua-dev.nvim";
-      rev = "a0ee77789d9948adce64d98700cc90cecaef88d5";
-      sha256 = "10hc5iyqicbwjchwfyk7dz2wph0hz7ikjanvga9ncjk62qm2154f";
+      rev = "f5c31936fe06fcbeb59b98f69f74f9c2f91abaec";
+      sha256 = "0vwpi3cg0gv17w3bm2vlzspsms1rn2yjrzkq2zvf2f4slqq3rfpw";
     };
     meta.homepage = "https://github.com/folke/lua-dev.nvim/";
   };
@@ -3744,24 +3768,24 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2022-04-17";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "18a07f790ed7ed1f11d1b130c02782e9dfd8dd7d";
-      sha256 = "09bfj2g7jn693xwi5f3zk90p4vg6jpijr1y8pl5k4hjbrg8nb68k";
+      rev = "a4e4517ac32441dd92ba869944741f0b5f468531";
+      sha256 = "18q935aicddai7j99ln61wz1di6lhwzs11x8fxgq704kfap1l2fj";
     };
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-04-15";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "6b67cb12747225a6412d8263bb97d6d2b8d9366a";
-      sha256 = "08a1kk8z3mcq65dh0hi44188dxkqjfg3yilr8viamyni1kwy7gf3";
+      rev = "cc0086390c6cd2eaebae1834b115c891649ec95f";
+      sha256 = "1kid880y097jl9ys2zs94fj66fq2dhbgjmd97blpdyhsa9m0mgnc";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3780,12 +3804,12 @@ final: prev:
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush.nvim";
-    version = "2022-04-12";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "87e9039138051ae75f76235924a273ac1a78cc3e";
-      sha256 = "1plsm3xsf7bm709l6q341cbvm7na78a11b32n3j86j204zybdvbs";
+      rev = "0c4acf666eb23acb5ffbd7f29526d801560b696a";
+      sha256 = "1khpmlf90yhlqaapk2vkqkwzdjwsrrl3hfb209k3wl25588m9fm8";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -3816,12 +3840,12 @@ final: prev:
 
   marks-nvim = buildVimPluginFrom2Nix {
     pname = "marks.nvim";
-    version = "2022-04-03";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "chentau";
       repo = "marks.nvim";
-      rev = "8e80a20a170434bc77decc97bc4364c3ba848925";
-      sha256 = "0bah5xjrwq43ihw37gw8nxsj3qdh9fjqs9n7fkfhsg6hyp1qy4fc";
+      rev = "56cfa45f9c20373ed90bc4271eae17ee0d452bae";
+      sha256 = "0qc452ikyrrx28by0awm9jggv05zcph95kygjya1085g9win87l4";
     };
     meta.homepage = "https://github.com/chentau/marks.nvim/";
   };
@@ -3840,12 +3864,12 @@ final: prev:
 
   material-nvim = buildVimPluginFrom2Nix {
     pname = "material.nvim";
-    version = "2022-04-18";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "9679aaf52e709b892a2cac044e44b694ea027709";
-      sha256 = "183afbjbblwx6r8ix1z3h7nq54fhbdf5w2nagwd850w90iq6kyic";
+      rev = "255033d6db241cec11d81ee46d81b56122e2000a";
+      sha256 = "1zn32xkbn37mqi41rh6d0186rxkq7ry5m1j7f8iliyhvd5gj1a1s";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
@@ -3864,24 +3888,24 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2022-04-20";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "8134370549e73a5a72d24ffc7ea6a881cf4502ad";
-      sha256 = "0llkj31jkqnm3igs2f7cw8wxbc9877jk1mc2shnh1ii2dh0kmz68";
+      rev = "1764bcfb1450ddef4eb7118a3c16464caad44439";
+      sha256 = "0bayg5y0i23pz6x798qyx90l1w6wmf83kgdz9akxn6s5m82v8z4y";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
 
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap.vim";
-    version = "2022-04-15";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "3395cbd51bf042ef6d2cd714eb493eb7ed5fbb76";
-      sha256 = "1bia6l9dhx0hk3jk38zgid8ljs28azrmz5xfp4mv5wa1g1kby0bl";
+      rev = "5d44fe7a3a5f7041c4220a71e8fe83d8c8498042";
+      sha256 = "04rqv8c5g1fs8pymlf2fcbm09k64bvpiqmjilf59m843vkvgk1xf";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
@@ -3912,12 +3936,12 @@ final: prev:
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2022-04-08";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "a4645528e2ddedfb6350c142660c3e0468057f1c";
-      sha256 = "11vz3wmii9d1dhz4bvfqlax5s6yawd640xflyqvd1i45102p55vd";
+      rev = "d8e29b48f959aef96df2cb2ff5875ee02970f2a7";
+      sha256 = "0rv2x96l5gcbj969ki6y1c0l468sibjcph5rqzavv6naizmwi8ql";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -4176,12 +4200,12 @@ final: prev:
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2022-02-02";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "4b537fa01c28f2f7cf249722530561d2e477b49f";
-      sha256 = "09lkbwijvl34ff2pagra383n517k1b1nw2lpjv2jlik0970sbcbv";
+      rev = "3a913173dcbf7bac303cb5ede8b3a732b6a0a692";
+      sha256 = "0wbp4f0gjc3vchyh8xyjcqyd3xlc4wf276r9lalmjd034792a77k";
     };
     meta.homepage = "https://github.com/Shougo/neco-vim/";
   };
@@ -4212,24 +4236,24 @@ final: prev:
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2022-04-14";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "06920fa90ec7db3f81c6f842ebaf008c39e088cf";
-      sha256 = "1f5j7aisnpvykgj7p64cbvfww05fsv47pi04ckkh0gkc49g5sjmg";
+      rev = "409ebbba9f4b568ea87ab4f2de90a645cf5d000a";
+      sha256 = "13vfy252wv88rbw61ap1vg1x5br28d7rwbf19r28ajvg2xkvw816";
     };
     meta.homepage = "https://github.com/sbdchd/neoformat/";
   };
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2022-04-13";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "c8dd268091ffcbcb673de59c5b37ff26a2eb24ed";
-      sha256 = "0a5y5vlpfmx113byas8y91s0ng6xnxmjpva0jiv9wk419kgnk0f1";
+      rev = "84d1eefe9d5af41cc3e5de02f2c9a263d5302781";
+      sha256 = "03zrwgk0z534qzbzrf2s3bdk3kcjyrxjhr3xp0qsx7nlpx5ackby";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -4284,12 +4308,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2022-04-18";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "4a3ca2c0cb46a5320c124565fd4d9830435aa29f";
-      sha256 = "15jwzz2ldxg6ql1lzn626dcfxgndqzgpamakqk0yicbidhmdird0";
+      rev = "509947a6587a83aa755914eb95be605864bb108d";
+      sha256 = "0qhq61kl3y282dm06z7kyzda5qpj9nk3mpvz5asc46vfvw98ijyh";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -4332,24 +4356,24 @@ final: prev:
 
   neoterm = buildVimPluginFrom2Nix {
     pname = "neoterm";
-    version = "2022-01-20";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "kassio";
       repo = "neoterm";
-      rev = "533d311a2a9187294ea52acab32d8565d6517059";
-      sha256 = "04k62g72bf2i7jndngp68ci9i4bldk8q3h6yk8lpyqsqkgn9q4k6";
+      rev = "05ea81b6424c1576f304bc88c33d5a1f8867b8e9";
+      sha256 = "0v6jwrfmlr3hnczgiygxx99289w9g8jf3nzr0qg2qsc19239glqq";
     };
     meta.homepage = "https://github.com/kassio/neoterm/";
   };
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2022-04-19";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "dde7e6f02fbcb5860b24f616c9a07b5f9e52a361";
-      sha256 = "0800qwxlj84f8ygvniwwyrcjyfwsx7kmzq8vyz9m50zd7b20al9f";
+      rev = "bb0793b661acec468c472f20eb28dbe855428793";
+      sha256 = "0nrky5mlh79xzgdbwibrs43yw317gaavhq0p7pfpxsxdxhfjw416";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -4464,12 +4488,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-04-20";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "5d2581a71510c319d128a8b02a21181abc611202";
-      sha256 = "118lda4cgxkbf13khyg2i36i7fcrlfz29l0wfjhg90ci3w8qvajs";
+      rev = "63a8eb64e8559e4c910e91025a2959c4b50b8c54";
+      sha256 = "1kiryppcg1ng8n5m3b5qyzzw5vnisgpb1n6yw961yddxdzc8hcr4";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -4524,12 +4548,12 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord.nvim";
-    version = "2022-02-17";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "1fdad275596f85bdc36c525b14697ff3a4f08bdf";
-      sha256 = "1pq32gnpmkyqaxq0j5bqf6ik9vkrf2zkayvcvb6fv4vxaiv7w7hr";
+      rev = "fb2c13625c711d3ab9303c0d9881437b5b280ba5";
+      sha256 = "1pd8wsjp6jg2a8bvwn593sd9wf2czaxaq05xlgjzfwgc9k30mjig";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -4548,36 +4572,36 @@ final: prev:
 
   nterm-nvim = buildVimPluginFrom2Nix {
     pname = "nterm.nvim";
-    version = "2021-11-10";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "jlesquembre";
       repo = "nterm.nvim";
-      rev = "14d16c83aa1d165724f7780f470c4dcde5addcb6";
-      sha256 = "0y883fpjfk7lki8nfscxhfw0wr7xm1d22zgf52zqmc9pjznjz9my";
+      rev = "cd7b7035d09144ee4ea49244bf5cb8ed68e499f8";
+      sha256 = "0cvg03d1z7jkamg062ng731pdmckrdm611q24brr9ha1qc5q26gm";
     };
     meta.homepage = "https://github.com/jlesquembre/nterm.nvim/";
   };
 
   nui-nvim = buildVimPluginFrom2Nix {
     pname = "nui.nvim";
-    version = "2022-04-08";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "MunifTanjim";
       repo = "nui.nvim";
-      rev = "42552b3797c3452c5c94e0c84a04fbda9591b9d1";
-      sha256 = "0ggiq9yvrkv2fff41qzvz82lsxxc8swlxfvv1n9g5am8zym2ssk1";
+      rev = "abdbfab89f307151db83b1a5147cd390ef27ff99";
+      sha256 = "0z49sfnsr7hmfr4vrd82f1m6kvswfqq31n4fsdmjy9h4qmjb0w5f";
     };
     meta.homepage = "https://github.com/MunifTanjim/nui.nvim/";
   };
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2022-04-16";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "a887bd6c1bb992ccf48e673b40e061c3e816204f";
-      sha256 = "1mifn1b83ypvaplmma1zx080vmm5nv40263lsva3z6byqyq3kfl1";
+      rev = "dcad76eb1abb80cf3a27208823becbf62547abf8";
+      sha256 = "1xsgmz1gzrz313whjm2ivc7px7xkcdqqi9gn466d5yyshzqvx3jq";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -4620,36 +4644,36 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2022-04-13";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "38d486a1c47ae2722a78cf569008de0a64f4b153";
-      sha256 = "0qka37c8ikcqvbjq0n0kxgm8l30jy3aixs5i00a25wcwxj40kzxv";
+      rev = "aea913109d30c87df329ec9b8fea9aed6ef9f52a";
+      sha256 = "0jhw4m552vfxilmn5cp67a9xz1w8jd6ixijyl2bsvp1j56qklfi6";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2022-03-28";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "f3c8eaa6c8c0dcd752aa28042f9435c464349776";
-      sha256 = "18xlhyyg9yq54p6jnq4dri47zfw62xfnx4ci9j9iiiii1dyzwr2z";
+      rev = "70fe3102158b2765d5bba46f398bd4213997936f";
+      sha256 = "0p53l747hnjrz7wzcyh08vnx3pfdk5gbqmb9vpf4hq2x3lyx1a57";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-04-18";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "3dbd349cf75cb23c7d1575b235ee57ecbe665d9d";
-      sha256 = "12nlfz0imx6i6w8jc4pw5czyfzr8m2mhlmql10i5hdncqi9ggaar";
+      rev = "3d174ca8198bafb3eb341001aafcf74ed4290d70";
+      sha256 = "0i5pmk13rkk74bx1a19fz32gsg1f47s8550pqz51ma8h0yyc9cpk";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -4680,12 +4704,12 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-04-20";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "f51dc68e1bb170fc49c2d7e13eb45e5ec83f5ee9";
-      sha256 = "11f53yic8j3iqd4yb0gy2d54vscqqll4lcqqcj1rp195vdd476ak";
+      rev = "9a0c639ac2324e6e9ecc54dc22b1d32bb6c42ab9";
+      sha256 = "06pza2xc5fzmsdz945mascmjd43k48agfq15ds91km8scpvpsx77";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
@@ -4764,36 +4788,36 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2022-04-18";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "d6d8317ce9e096029150bc5844916347a9af6f45";
-      sha256 = "0p5317hf7a9ky78dg68j4daj6z0nmhxiq4v52nfld54kz1f5dkmx";
+      rev = "2249fcfd09cdc27c08e9d2f3be5268ba81db3378";
+      sha256 = "0v0gz77dqyd485f9d43q101zcxnsyc13n9bl572xcrshdn6czncs";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2022-04-17";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "f136bb253f6811984369a20924251bcbfe00a5cd";
-      sha256 = "00nxdgsxa3yc0ifsmbs8d1s428p37x3ax3rlxacs983f5xlgmizq";
+      rev = "e5c32746aa72e39267803fdf6934d79541d39f42";
+      sha256 = "06igsddmjd27wj880vq9l9qq38x438ybrjvizn8dz98paypa6b1d";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2022-04-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "1c3560ecfe8a865118efe7092308abe9e8b0ae68";
-      sha256 = "1piz5qxymc2igqdscc3cvvympxrgmxd1ybsnqy13l7ycmknkp9hd";
+      rev = "9b731b9748d243b60e61eecbe2d114c39554486e";
+      sha256 = "14a66zdys50ifhfz4vls7b6grg69iwndailxdcamal7xafvy1dw9";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
@@ -4836,36 +4860,36 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-12-09";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "c2a0d076383b8a0991681c33efe80bcba6dd3608";
-      sha256 = "19yc51bhfaw53rc9awdr145i8k2i2gnnl3faw85afsqs9dr4hi7i";
+      rev = "9c630705829fbe8c21a9379ae2be948560189d80";
+      sha256 = "1cdc2r12k1nma37vicshy4kbk79ap8qj040rscxzl41z96ff8v0b";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2022-04-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "944ea6e7244a839452ab721515141ea9208c0536";
-      sha256 = "0i3mjk9n9czpadzpwp2wx1640h5sl51cjgnggrm8rg9qxj5108g7";
+      rev = "9552418fcbb9587025f4bd38364259b3888f582b";
+      sha256 = "0n2393lb5aad2g7lkgihhg4x9sm35500fb8hds2s23nj0cv0jcj4";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2022-04-18";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "e46cb5695b8457403488ad44b5379421c0c5dc17";
-      sha256 = "0343pk8wylms0lnrpa0a5x2ig97an2ps64fgjpa8n85ng1z49z97";
+      rev = "1838e0a8418dfc87bc35ecb4a2bc594f032fda06";
+      sha256 = "10ipn3xw4vlfkms0vg28gvwycs3hxpssc1gmp6hfj9z9ips976x1";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
@@ -4896,12 +4920,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2022-04-14";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "ffb08466d51f717775d85e7e334ac83156c0ca98";
-      sha256 = "1rlnidcn8zww6lvqx1syw2331i2gn67765cip2pz5rh8mbv4l67x";
+      rev = "f582b5be2ae1fee2e5dc974cd9b979a1ab08cca6";
+      sha256 = "0bfdp6xbq7qr7185m06ccfmln2gc24vc1215cxczm1bpyrh98ncq";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -4920,12 +4944,12 @@ final: prev:
 
   nvim-lightbulb = buildVimPluginFrom2Nix {
     pname = "nvim-lightbulb";
-    version = "2022-02-24";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "kosayoda";
       repo = "nvim-lightbulb";
-      rev = "29ca81408119ba809d1f922edc941868af97ee86";
-      sha256 = "04c5wqh42648wzrnwcgwdmwwwqvwk5qn3ncrfjl0827xnpc8049g";
+      rev = "407f05c71f757f09f775229d5709a3592f1a6910";
+      sha256 = "1j3ksmq91fzmvnmvgkkrs6lp55wry2q7x6ixspm197jd0np8w9k9";
     };
     meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
   };
@@ -4944,36 +4968,36 @@ final: prev:
 
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2022-04-18";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "e5416bdb27a0e61cd213850646534a18bb2ba61d";
-      sha256 = "1qrjpx99pb67yccvmb66ahcaa7wk9z6s9zvaxm5fpbm1xasci1mz";
+      rev = "0407c340a77380e4122dc349efa10fc846c928b4";
+      sha256 = "1cagndfqdk505q18iq4wgmwav3hh04vmgxj7h8924v9ffj8wr0wx";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
 
   nvim-lsp-ts-utils = buildVimPluginFrom2Nix {
     pname = "nvim-lsp-ts-utils";
-    version = "2022-04-04";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "nvim-lsp-ts-utils";
-      rev = "1826275ee0fc7fded65e8716b231db86a17080e3";
-      sha256 = "129zjds8c69hahv307wnpdsjzfh29flsr99lkjma8dymsan96lb0";
+      rev = "441385952278a1df5c91ba0d33e72c148d4654d3";
+      sha256 = "199nf01hjxdalc76xhr306xyisvydjwqhhw40nx1krq9k3xy4z39";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2022-04-17";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "ad9903c66bac88f344890acb6532f63f1cd4dac3";
-      sha256 = "10fg52g53yk0d10rm96kw907wdkgqw762ib6530zrnw7p8fbm2ms";
+      rev = "9ff2a06cebd4c8c3af5259d713959ab310125bec";
+      sha256 = "1jsrbimif11jvkdbb7kz6c9iykbql5kzx4q4p0njfdqmvkn4ybdb";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4992,24 +5016,24 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-04-16";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "bc6f2ba6d6b2c5ffd65b41f3df74761a90e538da";
-      sha256 = "0fk41l2jmlhrylc9xbh4h9a35j106r0lr7rd0i2lp0acqai629qg";
+      rev = "7c74065823e073749652749a7a89c78c81749acf";
+      sha256 = "1rbmksw2ia8rvfjncvyy77bcx1zwpragw1k9fv7n50xhpjsgahvc";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
 
   nvim-neoclip-lua = buildVimPluginFrom2Nix {
     pname = "nvim-neoclip.lua";
-    version = "2022-04-06";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "AckslD";
       repo = "nvim-neoclip.lua";
-      rev = "09fa54a2e9866ba05d08980e27b29099d6d0ed6e";
-      sha256 = "0l17anql1a5vbh5v8djlssfh3a09y6zxrs6vpabkfsj9lp8sls46";
+      rev = "5520ad7b24b0c4bc0b5371eef2492e787aa59a3a";
+      sha256 = "050p667xqi15fddvyr2p11xpsr9sl2mapfi5x6g9ca4x1738jgsv";
     };
     meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
   };
@@ -5028,12 +5052,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2022-04-17";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "2c8f744de34c72a5a1fabcc66da11aa017ffab88";
-      sha256 = "1yc98fv30fvkjb7d8acjqvl8kai1hz0mslp04n1d2069q0n6k08n";
+      rev = "d4a01eedeb2e6c3d453f3aa0f1b303dd8611dc71";
+      sha256 = "0i0nikpin6fab7x72mzjsxsfgpyjnk4fhmw7il51i2igllxm5krs";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -5052,24 +5076,24 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2022-04-13";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "ba6c48bf7919dd48a371e7b9c683b8858053e885";
-      sha256 = "1pziragklk4zciy2q07llsa6ldqv090ynwclzrgwsv79l1rf9mzm";
+      rev = "696b56fec29bad6daadafdc067955cd6010933bc";
+      sha256 = "1j9i36ww0krq3k01l2rzd6qc29kc6w5cnl2lvb4m24n3k5rakjd4";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
 
   nvim-solarized-lua = buildVimPluginFrom2Nix {
     pname = "nvim-solarized-lua";
-    version = "2022-01-22";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "ishan9299";
       repo = "nvim-solarized-lua";
-      rev = "995ae7e0baa4b5d42c094ffa7d6b3fe9459397c3";
-      sha256 = "01dsbdlizckvw34hwzq7jkdhsv5008jzj9p140c177zv4qps2kll";
+      rev = "a6af3a33cfe78c97f3adb2d86d3165bb25fb0ec3";
+      sha256 = "1z7wi72dqrw0fgsnm0s7zmxb72cq564dqvvpl1cqgizf4ab2a42a";
     };
     meta.homepage = "https://github.com/ishan9299/nvim-solarized-lua/";
   };
@@ -5100,38 +5124,38 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-04-18";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "0f0f858348aacc94f98ba32880760c5a5440b825";
-      sha256 = "1ciir7h9s0g9i62b49swa8c8cgjqg4lz6zapkj5a8gqxqa10qh23";
+      rev = "82ec79aac5557c05728d88195fb0d008cacbf565";
+      sha256 = "1xxxapb093mljrw8yr7qm2nij7j0639pfpyc3pv9zgz6ivd4d6xc";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-04-19";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "62fa8f77c43ed3a4ac2bbdfa4327f6b4a835bbea";
-      sha256 = "0cq0zbs9a52wx84ivpna4qw67dlz7i9nw6mln8948qadnzk1960r";
+      rev = "f1373051e554cc4642cda719c8023e4e8508eb2d";
+      sha256 = "1jfcjwyp57scwj164pxzh376mh2i4nx2sxx0gpihl3r4m067gb84";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
 
   nvim-treesitter-context = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-context";
-    version = "2022-01-12";
+    version = "2022-05-12";
     src = fetchFromGitHub {
-      owner = "romgrk";
+      owner = "nvim-treesitter";
       repo = "nvim-treesitter-context";
-      rev = "b7d7aba81683c1cd76141e090ff335bb55332cba";
-      sha256 = "113vvcisnypfbbnw9l9jq0avsh95p286gay3vb60ykfxjfbxsw1q";
+      rev = "a7916523e8107a57021cabae51917b7dae844aa6";
+      sha256 = "0pqc31yp8prq5gkblasyyhf4cxi4gkqglp0jmvqmsax46r82ffz1";
     };
-    meta.homepage = "https://github.com/romgrk/nvim-treesitter-context/";
+    meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
   };
 
   nvim-treesitter-pyfold = buildVimPluginFrom2Nix {
@@ -5160,24 +5184,24 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-04-15";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "29c5e9effe53f19f250e3a88d1427b35031bc90d";
-      sha256 = "09bpgd0fqpcwifs2wna1lqyrfn4rmp2gfan4635lwjp4sixj52vc";
+      rev = "094e8ad3cc839e825f8dcc91352837653e365a8f";
+      sha256 = "1i7d8yxqffv6rp6n66wqyb0bsrq916qlp88rn8bb92ykyxmjn8bz";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-autotag = buildVimPluginFrom2Nix {
     pname = "nvim-ts-autotag";
-    version = "2022-03-04";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "57035b5814f343bc6110676c9ae2eacfcd5340c2";
-      sha256 = "06fj3bpfakbzbb4saqa2dss0wz6z98farljv3xmih162qbybr2c1";
+      rev = "044a05c4c51051326900a53ba98fddacd15fea22";
+      sha256 = "0c94vnhl216p36x19cplhypr1b3z0f7l5jdr19hl79qvdfp9djk2";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
@@ -5196,24 +5220,24 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2022-04-17";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "04284dc97eac0d0ecfea68e10be824d1a6585de0";
-      sha256 = "1i8i58m1r1322wvs8jl0nzs6lgqw78ibkp5hah07kgi2ynzr3dj3";
+      rev = "190f8c83abb29504877b91c84ed3ceb6009ad3bd";
+      sha256 = "1kq54zd1yx6q1ch886jcvhhydbxz9frky9wl60q00q62zgds8vmz";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2022-03-22";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "09e62319974d7d7ec7e53b974724f7942470ef78";
-      sha256 = "0f64alh5mf6zjnbxqsx21m3dcldqshx7a7z46qg0pfbnn9fx7swq";
+      rev = "bdd43421437f2ef037e0dafeaaaa62b31d35ef2f";
+      sha256 = "0sknns28ww7xwjyqylk4mxvs4sy8lsk52w5q81ldnwfcyiwl70c5";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -5256,12 +5280,12 @@ final: prev:
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev.nvim";
-    version = "2022-04-11";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "79f06ba252a5a8a525475f6072bd99494da9a1d7";
-      sha256 = "0wm6hm97rrpw45jyihydxyy98vxgypcvwnx6406609s8n8w0sbyz";
+      rev = "ef38441a7149087366bfc05654e7cc21a83df60e";
+      sha256 = "0chdbsixjw3l6bvqdhf2na2hdwm94lzb66mssafbhgpq328y97wk";
     };
     meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
   };
@@ -5292,12 +5316,12 @@ final: prev:
 
   octo-nvim = buildVimPluginFrom2Nix {
     pname = "octo.nvim";
-    version = "2022-04-14";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "0beb4de71062435ad934caba5728f7f01ae8b969";
-      sha256 = "01k7jl34x8wikq6ff456650wgf5f5z9z6a3ypr10a3pl8p7wfyzr";
+      rev = "f5bd0c0336d6585a18b3ea95b4a40be068c74bbb";
+      sha256 = "1cgkdrnk0yfrls5s4vjvkz0851c5877lmpnkh17nw1zn9rlds165";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -5316,12 +5340,12 @@ final: prev:
 
   onedark-nvim = buildVimPluginFrom2Nix {
     pname = "onedark.nvim";
-    version = "2022-03-23";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "navarasu";
       repo = "onedark.nvim";
-      rev = "e520a0c81a5a1997ecffd846ccd9c6e63b7859c6";
-      sha256 = "1xvh5mmjc4w4rkp8h1qwxfqz3kcrqvhxnl66x19j098d1h7aqsb6";
+      rev = "08cde8acf181b3278dafb9c8284726104a11cc0f";
+      sha256 = "01dxnf4pcycp70pzxyv5xd9y9289z14c110w926kwhy1skgwz7f4";
     };
     meta.homepage = "https://github.com/navarasu/onedark.nvim/";
   };
@@ -5340,12 +5364,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-04-12";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "653b5d729cb2c14c564cf5ab2145e2e24354a2ba";
-      sha256 = "1xw49fliqalz18nj0pa81xsx1d9zwphdzcai503m1bn2m2nclp6h";
+      rev = "1f6e3bbb20f45648f5680606e5e5d5e881133f1f";
+      sha256 = "05vhgrsn8fbmrzc5hn9k34qscvdvrq30rl61lgsw0wsn49685ck9";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -5388,12 +5412,12 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-04-20";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "8cd85f7afabef643db6b5d3dc01942870e71533d";
-      sha256 = "16rkvz8x6rvapyq7grch77j0wd5pnhjwv932v72ai6gy940d56l2";
+      rev = "675e58f6c7a889871911a5dc3e08491fe7b6b8a8";
+      sha256 = "02czyx7gpd85ns2rndx52f5a07iq2qqm2zvhvfnmmmfpz11s26w6";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
@@ -5436,12 +5460,12 @@ final: prev:
 
   papercolor-theme = buildVimPluginFrom2Nix {
     pname = "papercolor-theme";
-    version = "2022-03-24";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "NLKNguyen";
       repo = "papercolor-theme";
-      rev = "afde171829b1416125bf07a81fc28e4490aa91b2";
-      sha256 = "1iz8aqmwbnfha2agcxy7cd2v0znz8vzpz7iyvd15hxx7zbqlwz1d";
+      rev = "beb86c7630e19314f5990acef81f9823bbb5bf3c";
+      sha256 = "14jf8fm1bjcmbw3mbr1a5731bac4i4mb8fv9ahdxd8i9349nyj3c";
     };
     meta.homepage = "https://github.com/NLKNguyen/papercolor-theme/";
   };
@@ -5520,24 +5544,24 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2022-04-08";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "13e2d2d63ce7bc5d875e8bdf89cb070bc8cc7a00";
-      sha256 = "1klkg3n3rymb6b9im7hq9yq26mqf2v79snsqbx72am649c6qc0ns";
+      rev = "71b00a3c665298e5155ad64a9020135808d4e3e8";
+      sha256 = "0cn6q7885ffn0yxv6frjsa8yx6mnil8lmdvml8inj3lvakyprzc8";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
-  plenary-nvim = buildVimPluginFrom2Nix {
+  plenary-nvim = buildNeovimPluginFrom2Nix {
     pname = "plenary.nvim";
-    version = "2022-04-17";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "9069d14a120cadb4f6825f76821533f2babcab92";
-      sha256 = "0pgzi0brqn4kcbv1k5d50xm0bcwaq50sk5jnj3q9ls2pvv7lb9a0";
+      rev = "0a907364b5cd6e3438e230df7add8b9bb5ef6fd3";
+      sha256 = "07k4vlpa1cxg4sxhwg0412ws13djspga16d67lqs545j5pfkgzr0";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -5617,12 +5641,12 @@ final: prev:
 
   project-nvim = buildVimPluginFrom2Nix {
     pname = "project.nvim";
-    version = "2022-01-19";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "ahmedkhalf";
       repo = "project.nvim";
-      rev = "cef52b8da07648b750d7f1e8fb93f12cb9482988";
-      sha256 = "1qwpp0a8llx437jms3ghx8wrc5rwnrkh52xp24ysymqr4lc1xfq6";
+      rev = "612443b27f5feda45ea478bd6ddc8f95d4ec7b77";
+      sha256 = "1iq16ikd057bg72l39yq3d645wylbdv5i5siqlhfbgdrwiqxqv3w";
     };
     meta.homepage = "https://github.com/ahmedkhalf/project.nvim/";
   };
@@ -5810,12 +5834,12 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2022-04-11";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "94eaa199ad892f26d2c8594dbbc5656314cf5bdb";
-      sha256 = "1smq4snh40ljhyc32qvj3w51xpl7ci0navm1l8xr03z8hpssz39w";
+      rev = "33ac6f3bcfe97447037ded20291d40de34d8912c";
+      sha256 = "1m0bd72pjay9mlmf0lhii7yi4mch77dlqwadlsiyv9qw07w1b1s4";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
@@ -5846,12 +5870,12 @@ final: prev:
 
   rest-nvim = buildVimPluginFrom2Nix {
     pname = "rest.nvim";
-    version = "2022-01-26";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "NTBBloodbath";
       repo = "rest.nvim";
-      rev = "2826f6960fbd9adb1da9ff0d008aa2819d2d06b3";
-      sha256 = "0lb3rcc41rb9yhylmkpsj141yfk1kki1xkd4q2i9y0ld0mlwjjv8";
+      rev = "d902996de965d5d491f122e69ba9d03f9c673eb0";
+      sha256 = "05vibdiig6lmiiixnnzc99adi6x4chkx02hqy51llahsdkg7369s";
     };
     meta.homepage = "https://github.com/NTBBloodbath/rest.nvim/";
   };
@@ -5870,12 +5894,12 @@ final: prev:
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2022-04-08";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "65705df886624833105f6f146ac4cf8c4d426aad";
-      sha256 = "1xc83qih6pw1g3qrkjzmn3bri0xn8cmqiqykxajd77ijxjaq9xsp";
+      rev = "9c1e490e5ff882e2f930ec015946a0b5b300037e";
+      sha256 = "1msynng52mn47iqfwwi0n6wl37psj67pvyyz9kdb4l9r89ahqxax";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -5930,12 +5954,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2022-03-26";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "9f89fe6d9762ef89973bbb698c750dd21b94ec44";
-      sha256 = "0r1k71rjlcly5pyi1vdzr22xdssikzsm5q4g2xzjp9v497fycg1h";
+      rev = "fbfcd9c4b7e40202ccf3db5035ac3c2b15a4413f";
+      sha256 = "1plxhdr7j088nsq361zq35p4wmv9xd9xbgvi3mxr66mmmcm8k0pd";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -6099,12 +6123,12 @@ final: prev:
 
   slimv = buildVimPluginFrom2Nix {
     pname = "slimv";
-    version = "2022-04-03";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "kovisoft";
       repo = "slimv";
-      rev = "eb5856c616466b0f463e27a30965ea142003a552";
-      sha256 = "1c4hprzqzxkf0yqkqc8261qr7xk817nm28cp38dw4z1rmjcg1l04";
+      rev = "cba9910aaad90dd5f1cd508ad98adebe2271069c";
+      sha256 = "16zxvwrgiv5fafwm0b75ici35c630466mxdk4dww978152bxahzn";
     };
     meta.homepage = "https://github.com/kovisoft/slimv/";
   };
@@ -6147,12 +6171,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2022-04-14";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "4f29ac457ac759286bce3bb1a34f9517c91306c9";
-      sha256 = "1yzyk78nb0xj5f2fnfvhrpgahg3mgx82bpw7nimvf0rd29dbpfqj";
+      rev = "06b51526ad1db6359ec65ef5326a020bcae46ab9";
+      sha256 = "0yhn3hgqgdp56qcdy18zzhbx8z54g6i39prrbckpxi7mfh0i2lmm";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -6171,12 +6195,12 @@ final: prev:
 
   space-vim = buildVimPluginFrom2Nix {
     pname = "space-vim";
-    version = "2022-02-15";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "space-vim";
-      rev = "637390b17a8cd7d154a0d90a5c07612f1538a28e";
-      sha256 = "0f43mspfnch1ifqa9rgvc64dmk0hz3cirz8iicpszmdr0fphq3xs";
+      rev = "36f61f8e7157750f0e93d496d68b46d606d313b7";
+      sha256 = "0pm630rq3ihjr4ikfzh08cpi2ps0qasp6dm8rdrm3zdf5b58i1bz";
     };
     meta.homepage = "https://github.com/liuchengxu/space-vim/";
   };
@@ -6243,12 +6267,12 @@ final: prev:
 
   splitjoin-vim = buildVimPluginFrom2Nix {
     pname = "splitjoin.vim";
-    version = "2022-04-03";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "splitjoin.vim";
-      rev = "dbcd3069fb2b4ecfdd964c1e93aa59fcf7f850b6";
-      sha256 = "1rgc9cbfpjnk8pf7wh9pyyljckbn1i88z5bggyn15q3lfhskvidc";
+      rev = "37f5e795767ff14d2c8bf9cfb4998b9a0317feed";
+      sha256 = "0klfadkqhv8a76qk074h9yll68wbabgsxbbhd4ba58sbv19qz35n";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/splitjoin.vim/";
@@ -6292,12 +6316,12 @@ final: prev:
 
   stabilize-nvim = buildVimPluginFrom2Nix {
     pname = "stabilize.nvim";
-    version = "2022-03-11";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "luukvbaal";
       repo = "stabilize.nvim";
-      rev = "786c818d7258b783afc192ac287b4365c5596dcf";
-      sha256 = "07fd72p0qch0gfg92vcw3mlh7f8f1dii681qzpngnlk73ghq4ffw";
+      rev = "174dfcd0197ebc7397c854ae8607f9c9e691eef5";
+      sha256 = "1vi1gjkflrkm5fr432r23rbq474h26j9jyagdrkw6mkq3wgh4fcr";
     };
     meta.homepage = "https://github.com/luukvbaal/stabilize.nvim/";
   };
@@ -6326,6 +6350,18 @@ final: prev:
     meta.homepage = "https://github.com/darfink/starsearch.vim/";
   };
 
+  stylish-nvim = buildVimPluginFrom2Nix {
+    pname = "stylish.nvim";
+    version = "2022-02-01";
+    src = fetchFromGitHub {
+      owner = "teto";
+      repo = "stylish.nvim";
+      rev = "279c18b7c35d1f6c650790b88e873e8a8a714f5e";
+      sha256 = "09byh62f4ymkfpspk4sn5y0p9nsn3dphny94qcggfay1vddc3v93";
+    };
+    meta.homepage = "https://github.com/teto/stylish.nvim/";
+  };
+
   suda-vim = buildVimPluginFrom2Nix {
     pname = "suda.vim";
     version = "2022-02-10";
@@ -6401,12 +6437,12 @@ final: prev:
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline.nvim";
-    version = "2022-03-05";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "1361738c47892c3cee0d0b7a3b3bc7a8b48139c2";
-      sha256 = "00a1x5dlns2n1wpf8hnh8brf6bwhbifsg4dlzjq51v4kj35hzjmd";
+      rev = "15ae99c27360ab42e931be127d130611375307d5";
+      sha256 = "170lxb2hw814wjxkpl0g4sic7wg3krp7pfkf3wp5j4dwk8czm2wi";
     };
     meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
@@ -6510,12 +6546,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2022-04-07";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "ccee72f1d1ed71a001e57592bd585ae77c5f83b2";
-      sha256 = "1k6vsrvdsb1hkjfff3pbqf57zglwsh2csc6aj6lan790n9p63a3m";
+      rev = "a577ee4d650476243d91698f2d1228819c5fa0a5";
+      sha256 = "0d26c4qg7d25nzjvzds9p4z544h3zy0iwa51301pxh8s5kqr4s85";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -6558,12 +6594,12 @@ final: prev:
 
   tcomment_vim = buildVimPluginFrom2Nix {
     pname = "tcomment_vim";
-    version = "2022-01-24";
+    version = "2022-04-24";
     src = fetchFromGitHub {
       owner = "tomtom";
       repo = "tcomment_vim";
-      rev = "3729ae43318faca94b0a1e878f9c6717b171d55e";
-      sha256 = "07dhmfqrk6806648a0n9y98ngzk59b55j9nnsvvka0hl27q1mkl9";
+      rev = "7fb091aad8d824bef1d7bc9365921c65e26d82ad";
+      sha256 = "1lcaa5184gaifscdqzqv7fs35lmcwhlv0s5n8606xbm4qy1sr7mn";
     };
     meta.homepage = "https://github.com/tomtom/tcomment_vim/";
   };
@@ -6618,12 +6654,12 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-file-browser.nvim";
-    version = "2022-04-20";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "ee355b83e00475e11dec82e3ea166f846a392018";
-      sha256 = "1s39si5fifv6bvjk8kzs2zy18ap5q22pfqg68wn5icnp588498hz";
+      rev = "28e75f6cdb63b4903035c8db2845aaddb89f1610";
+      sha256 = "1imyjajrx4irxn3m2plpz9g0crkfyiq5amivhn2mqvawk1l05zy5";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
@@ -6642,12 +6678,12 @@ final: prev:
 
   telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-fzf-native.nvim";
-    version = "2022-02-19";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-fzf-native.nvim";
-      rev = "8ec164b541327202e5e74f99bcc5fe5845720e18";
-      sha256 = "0n2f5zdpxasswdkmci56n0avwcrwsdyp8csq3mzhzf7696vppli1";
+      rev = "281b07a5cba2dc255e2a35d3fa6e49af0c8cb37f";
+      sha256 = "0hlrjc69k7gaxx8y6q7l80jpdp1v9kpvlzcv5ncmpfkl80vh2ld8";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
   };
@@ -6679,12 +6715,12 @@ final: prev:
 
   telescope-github-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-github.nvim";
-    version = "2022-04-06";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-github.nvim";
-      rev = "c66aee748d572961af0e6ad5130b994343f922a7";
-      sha256 = "11crv79xbhxzp9y35rf9fg4mgbwsrj709aw22n98575f0r2vqfgz";
+      rev = "ee95c509901c3357679e9f2f9eaac3561c811736";
+      sha256 = "1943bhi2y3kyxhdrbqysxpwmd9f2rj9pbl4r449kyj1rbh6mzqk2";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-github.nvim/";
   };
@@ -6703,12 +6739,12 @@ final: prev:
 
   telescope-project-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-project.nvim";
-    version = "2022-01-23";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-project.nvim";
-      rev = "d317c3cef6917d650d9a638c627b54d3e1173031";
-      sha256 = "0kg2jh23cgbwjmvrc1cxvjka4y2j0qpi4r8dzzw0gs2nmdjmmic7";
+      rev = "4658d78523a5a005af80243f1d0b4e7e2a118dae";
+      sha256 = "0fpq6jfycl5hmz7ch5ris72qjabvhvbaj6wm9gwgl7ids99982p7";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-project.nvim/";
   };
@@ -6727,12 +6763,12 @@ final: prev:
 
   telescope-ui-select-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-ui-select.nvim";
-    version = "2022-03-20";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-ui-select.nvim";
-      rev = "186a124a01d7f19e6fcf608d4e1cc61d61ebe939";
-      sha256 = "1lx11d4m0gcbvbb3bvxaciihnlsj1gi30ja1p0i9w7dm748d57zb";
+      rev = "62ea5e58c7bbe191297b983a9e7e89420f581369";
+      sha256 = "09mbi1x2r2xsbgfmmpb7113jppjmfwym4sr7nfvpc9glgqlkd4zw";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-ui-select.nvim/";
   };
@@ -6787,12 +6823,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2022-04-18";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "6e7ed1b9638f09661fcb3a6db68f3ad77c8036be";
-      sha256 = "11p5byic4qb9cgaffnrwa4s0qdzvxl6313phz5qdll78hwjw2fmy";
+      rev = "39b12d84e86f5054e2ed98829b367598ae53ab41";
+      sha256 = "12krg8l13j4rqxqn9jx5nkpfpa3ffh2avv9z687ag7k1axvcak9h";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6968,12 +7004,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2022-04-18";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "dca8f4d9516270cb41c147ed692f3ee420c5e515";
-      sha256 = "0ajypqnx9kglqh5h3vwyy9ccmazq8gjgb84hjrabr9hgvcnyj5hq";
+      rev = "ea21c3ef51868a564eeace357f4a3d429f93efb1";
+      sha256 = "1y8nb5cdlghf37sl872gx1rd28r437vxz94w90ydijin8hswcdqi";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -7028,12 +7064,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble.nvim";
-    version = "2022-03-18";
+    version = "2022-05-09";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "691d490cc4eadc430d226fa7d77aaa84e2e0a125";
-      sha256 = "1d218xxz936q53aknazhnfxhy9ncjyq76dna6y5n87kxn9hzqix1";
+      rev = "da61737d860ddc12f78e638152834487eabf0ee5";
+      sha256 = "1aa45r9z8mghak8f5gymhm875rssi1afs92h0mpnn43y0j76xy31";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -7088,12 +7124,12 @@ final: prev:
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2022-04-19";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "e1ae43e44fb6b53144a5a8703a3d6cf10492a4a0";
-      sha256 = "1rzhv8dma9ijf6g9z5drbi45bngzh4ccr3h4i0b8x3w4ab97p17q";
+      rev = "f5ccf0977c611ffd774ca180774959301baaffad";
+      sha256 = "0b4gb031ylm290ciyq72zlrykp4ypn82akjdac886r9zn50r2lpb";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
@@ -7112,12 +7148,12 @@ final: prev:
 
   unicode-vim = buildVimPluginFrom2Nix {
     pname = "unicode.vim";
-    version = "2022-04-18";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "unicode.vim";
-      rev = "cc36bfa066d4a773e3152cc3c70051bc23ef2893";
-      sha256 = "1npirr14khfmpvnvbmys98lxhy0yg5ah3270s85b9lp2xhxnkpps";
+      rev = "176963d8e43dd54ff1582cb2374e731b51a7f5d5";
+      sha256 = "030izymxcvs5hw8pqsmlqwxgzdbysh96q7qxk7mb2v15dh8qnv9d";
     };
     meta.homepage = "https://github.com/chrisbra/unicode.vim/";
   };
@@ -7136,12 +7172,12 @@ final: prev:
 
   urlview-nvim = buildVimPluginFrom2Nix {
     pname = "urlview.nvim";
-    version = "2022-04-20";
+    version = "2022-05-07";
     src = fetchFromGitHub {
       owner = "axieax";
       repo = "urlview.nvim";
-      rev = "fcd59fc3a49e75993c3828c49df18bf3da51f45d";
-      sha256 = "16y3hicljn9y60jzvq7xmhhp7r3y0v5v4f1i16hj65rly96wziq7";
+      rev = "92a6ae6f33839222ce4ea58f5cdaf0a3f235caca";
+      sha256 = "0y3l0py0cnvj876xi5kgc7mmbycj7s61mj29ipsmn9bnjvk008yb";
     };
     meta.homepage = "https://github.com/axieax/urlview.nvim/";
   };
@@ -7184,12 +7220,12 @@ final: prev:
 
   venn-nvim = buildVimPluginFrom2Nix {
     pname = "venn.nvim";
-    version = "2021-10-19";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "jbyuki";
       repo = "venn.nvim";
-      rev = "d5a9c73fe7772c11414fc52acbb1d1bdb1ebc70f";
-      sha256 = "1mzxvx1vqnm89yzzy6n3s30y9w7s38lbjhnwdf4diy0kdzyq8x06";
+      rev = "71856b548e3206e33bad10acea294ca8b44327ee";
+      sha256 = "0gjrcj196cwd0j6jjjplycc2gvw77n9jsmq6q4l7by13d2agn7kc";
     };
     meta.homepage = "https://github.com/jbyuki/venn.nvim/";
   };
@@ -7208,12 +7244,12 @@ final: prev:
 
   vifm-vim = buildVimPluginFrom2Nix {
     pname = "vifm.vim";
-    version = "2022-03-28";
+    version = "2022-05-03";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "069349e5dbba9fbb24b88ebedb89f728387fae79";
-      sha256 = "1rrzhg8qpvgvcm9fkr05hmkw95gn37pys0h0d6rii6qhbx9z95vs";
+      rev = "d6ae9ca80284bd7df38b102ba280f0d132129c0f";
+      sha256 = "087ila6rskhd7vi1yqlqmq781gqajh69y4dk7n9f4sza75hb210x";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -7544,12 +7580,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2022-04-12";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "be5bda1f1dbfa4e36b2adabaf3f423adfa66c336";
-      sha256 = "1k0yv95i2kigggmh3dcg9rq6pkh7qcycsv9nm6jshgsfic8ly8n5";
+      rev = "c4655701431a9c79704c827fd88a4783ec946879";
+      sha256 = "1qsr3kkfx5vbhmnym0id2h9mph8bw6g75vwpqfi9vfmbg4fddh3l";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -7688,12 +7724,12 @@ final: prev:
 
   vim-autoformat = buildVimPluginFrom2Nix {
     pname = "vim-autoformat";
-    version = "2021-11-07";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "vim-autoformat";
       repo = "vim-autoformat";
-      rev = "bb11f30377985e45e2eecef570856d42dbabb8b0";
-      sha256 = "1lx5lrb0hjijvwngvgsgchww70c1bgqf5qxj8lhvk11dvxn3k087";
+      rev = "c833f1dd0398901f5ad3f5f0ec2e07975e246294";
+      sha256 = "1vafpp3m75dd8c453zq6w8qnapw7h5kpbzdx2s5fpjdn9qrg2g87";
     };
     meta.homepage = "https://github.com/vim-autoformat/vim-autoformat/";
   };
@@ -7880,12 +7916,12 @@ final: prev:
 
   vim-ccls = buildVimPluginFrom2Nix {
     pname = "vim-ccls";
-    version = "2022-01-29";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "m-pilia";
       repo = "vim-ccls";
-      rev = "93ac5dbdeaaaed8fdfd6d850f1e57fb28d204886";
-      sha256 = "15dr487baghlhl559a4zqpm8vnpm77aci4gw9x95v4kds9g4g51k";
+      rev = "b8e3afaca0578ce96f8d7eefd2093e7594a19424";
+      sha256 = "1zsp5lsdrrrlgbpb68hksb3lm8289h9rjz991clbvam61ssi4w08";
     };
     meta.homepage = "https://github.com/m-pilia/vim-ccls/";
   };
@@ -7916,12 +7952,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2022-04-08";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "6e99d7924862b0a929983a36dd1d9bb9ae87ec44";
-      sha256 = "1w7sjryw6inq2v4ryfabphbavmpgz6qa6f7jxyx1irjsd3293z65";
+      rev = "5d0662d8d7e640a1ffb64b1b4dbbc41995391218";
+      sha256 = "0bz6nrjsz1m2ibhbg4zc2z9slqfwnx5q6mc6favf9nw7j821s95g";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -8204,12 +8240,12 @@ final: prev:
 
   vim-dadbod-ui = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-ui";
-    version = "2022-03-06";
+    version = "2022-05-02";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-ui";
-      rev = "d9db8d8ae99500e4df6b22a73e30a411936dca37";
-      sha256 = "1gpsnx2s6wk473547h7fjf21cgzkfx2b2d3hwk1q2m7gjpsg0j3q";
+      rev = "7bd114b88da4bf8115bd85d70fb531e4b6d72eb7";
+      sha256 = "0mb74z2kr85wd17kbhf8qx02iciq31aqg7y12k1isvmxkv4i0hhw";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-ui/";
   };
@@ -8276,12 +8312,12 @@ final: prev:
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2022-03-27";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "9dde0c97cc39ca1cf49cbe7ecd350d153a0426c3";
-      sha256 = "0ba2lsc2jwgplgqsnq69dngiybcs4ad0il19xlk250msxpr5l8xq";
+      rev = "7e41cd7628d9844b4e66b45104f3abc326aa1a00";
+      sha256 = "16q979l3zjh4ly0rr74y3g3q0csabs8v5k6dxkyymvg3bycrpg4y";
     };
     meta.homepage = "https://github.com/justinmk/vim-dirvish/";
   };
@@ -8492,24 +8528,24 @@ final: prev:
 
   vim-erlang-tags = buildVimPluginFrom2Nix {
     pname = "vim-erlang-tags";
-    version = "2021-02-19";
+    version = "2022-04-02";
     src = fetchFromGitHub {
       owner = "vim-erlang";
       repo = "vim-erlang-tags";
-      rev = "d7eaa8f6986de0f266dac48b7dcfbf41d67ce611";
-      sha256 = "03wxy29z0rjnf3hilap7c86di7dkjwb8sdlfh74ch8vhan8h6rv0";
+      rev = "cf6e9319818a6737dc9b79b7fa53fe4cdfc65139";
+      sha256 = "1sk3z35svv2dznmvw9cgjm1731lgq34gai92c5vy6sxdbn6h1sbw";
     };
     meta.homepage = "https://github.com/vim-erlang/vim-erlang-tags/";
   };
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2022-04-19";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "c1ee64a9775b4adff8d4e052b158f380682bc249";
-      sha256 = "17m1632a4nwilg0d29gx7gsng8f1w82q049iynm4gy1aqczlwgxh";
+      rev = "39e0232f490322c5a2d9e24275872f28da496a93";
+      sha256 = "1wp5x5vximysab4c97d7x7y0hnnmycfm9h8mxxzz291ra5yrbbr2";
     };
     meta.homepage = "https://github.com/tpope/vim-eunuch/";
   };
@@ -8588,12 +8624,12 @@ final: prev:
 
   vim-flagship = buildVimPluginFrom2Nix {
     pname = "vim-flagship";
-    version = "2021-12-07";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-flagship";
-      rev = "7f3aab5e3f1b48df9f9465b8cd55f9d2a1564087";
-      sha256 = "0vfihdwabl41wdavzppsim6sza8mjynpnb3my85di5xn5mgcmixp";
+      rev = "6726cac1374c5a32e0b63f7f66007d33fdf3e21b";
+      sha256 = "036w6b1wn6kamdjmakgchzwpzm0mwjpp1fpmc3bm79mc4q63cd06";
     };
     meta.homepage = "https://github.com/tpope/vim-flagship/";
   };
@@ -8624,12 +8660,12 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2022-02-15";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "6244d1739aad6682c6c1d5db18c846c342af6e3e";
-      sha256 = "1w0d93wm0xwg8wyvyzdibjmnd1py343mvvzj911byvnm1b52zp7h";
+      rev = "ab7876f86c05c1935eb23a193f4f276132902ac1";
+      sha256 = "10i6akvr1ib2lwh6xwjchmpjzdabj2qs05h8h1ww9mdycj4q1pli";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -8696,12 +8732,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-04-14";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "4b0f2b604562e9681ae3b80c2665f168ac637cea";
-      sha256 = "0amph3kjqq0hl74akpp5czjw2gk6mh6l2zz113mrb95nri0bz73q";
+      rev = "a8139d37b242c5bc5ceeddc4fcd7dddf2b2c2650";
+      sha256 = "1n22hjg374rs1412v4yvn3jc5nzd2jfsk3vzhaf8i3zv4b6w2vf1";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8792,12 +8828,12 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2022-04-15";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "d5bae104031bb1633cb5c5178dc7d4ac422b422a";
-      sha256 = "1k6bn3wm9chaqhkaw382169ia5ycbbnw00hwyaabx7fbzc8zf7zw";
+      rev = "719d4ec06a0fb0aa9f1dfaebcf4f9691e8dc3f73";
+      sha256 = "1mdpds4xpjcwfsm6r9w65hxwjsxm7pcr3dnkfh6v8xx0kyflmijp";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -8816,12 +8852,12 @@ final: prev:
 
   vim-glsl = buildVimPluginFrom2Nix {
     pname = "vim-glsl";
-    version = "2022-02-06";
+    version = "2022-05-10";
     src = fetchFromGitHub {
       owner = "tikhomirov";
       repo = "vim-glsl";
-      rev = "28a6dfbcd96095226bee90985b7f12c5679dbbb6";
-      sha256 = "051f0q5bkgp77pz0izh5mvqsmxy0rzlvriwq4j7qzslqk7i850p2";
+      rev = "bfd330a271933c3372fcfa8ce052970746c8e9dd";
+      sha256 = "0nqpg95mh5z0wmiqvc8cfzq1gb99ximc1gbz9bv3x7239f66z5vn";
     };
     meta.homepage = "https://github.com/tikhomirov/vim-glsl/";
   };
@@ -8840,12 +8876,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2022-04-15";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "687eb72bb6e84012ef2b0b2474175e46243e43b0";
-      sha256 = "0llf81fh166xvdvy0vj93a964hp2clb3lqdy2sp3fhzldzyv0bab";
+      rev = "e9d7ff3eb4a369f0cb2069c8f77ae68796bca308";
+      sha256 = "1gplykwbn8iclliv0ssd728bm3rxfvanppa2svn50h2c3zn7dph7";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8912,24 +8948,24 @@ final: prev:
 
   vim-gutentags = buildVimPluginFrom2Nix {
     pname = "vim-gutentags";
-    version = "2020-05-22";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-gutentags";
-      rev = "50705e8ebb7038b31314f416d1bddd9cb9154049";
-      sha256 = "0vm3bp94kbc28azsmm8505hyd9v1a9isrn5dp47njmj8w17l7725";
+      rev = "b77b8fabcb0b052c32fe17efcc0d44f020975244";
+      sha256 = "0wiqy5m7wvrmr3d2vy5j5lz6wh3z2c2v7amy9ji7prq1gxv3n095";
     };
     meta.homepage = "https://github.com/ludovicchabant/vim-gutentags/";
   };
 
   vim-hardtime = buildVimPluginFrom2Nix {
     pname = "vim-hardtime";
-    version = "2022-03-13";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "takac";
       repo = "vim-hardtime";
-      rev = "5603072377d1f1f26a1561eda9e1884bb5f028ef";
-      sha256 = "13279v9vd083xg6820gh15qxsyhbr7gjf7lzgy8w52xya852xsks";
+      rev = "91177392e9372a1cf09a4b9b79532d2490bd405f";
+      sha256 = "1f8vvm37yk125c0h28jbry9hshd3amrbfxcrg7j9qj9kdkad1zjq";
     };
     meta.homepage = "https://github.com/takac/vim-hardtime/";
   };
@@ -9033,12 +9069,12 @@ final: prev:
 
   vim-highlightedyank = buildVimPluginFrom2Nix {
     pname = "vim-highlightedyank";
-    version = "2022-01-25";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "machakann";
       repo = "vim-highlightedyank";
-      rev = "ff16bf3bac23fb4e17c976f4e1ff7941cd686c8d";
-      sha256 = "0slnykqkbqnncz0vjwhf9p9x8wi5p8xfv485wbip1njd6vqhd965";
+      rev = "f9db473137ca96c6a989ec3e2b7edf8a3189c448";
+      sha256 = "0lj2w9nzqrmw33gcf8k1hf50mpwymhdyyv09mp9phanywg06l1ay";
     };
     meta.homepage = "https://github.com/machakann/vim-highlightedyank/";
   };
@@ -9344,6 +9380,18 @@ final: prev:
     meta.homepage = "https://github.com/google/vim-jsonnet/";
   };
 
+  vim-jsonpath = buildVimPluginFrom2Nix {
+    pname = "vim-jsonpath";
+    version = "2020-06-16";
+    src = fetchFromGitHub {
+      owner = "mogelbrod";
+      repo = "vim-jsonpath";
+      rev = "af9c07b87765fc5aee176a894bc91fb04a5e3c47";
+      sha256 = "0l59c6xl4rly7xbfgsqam1rwcyvqhr7lzi3g2jpwirarm823rla9";
+    };
+    meta.homepage = "https://github.com/mogelbrod/vim-jsonpath/";
+  };
+
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
     version = "2021-01-12";
@@ -9502,12 +9550,12 @@ final: prev:
 
   vim-localvimrc = buildVimPluginFrom2Nix {
     pname = "vim-localvimrc";
-    version = "2022-04-06";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "embear";
       repo = "vim-localvimrc";
-      rev = "b0a81e42e6036f716bd9e6b025978dfb7dacaa53";
-      sha256 = "1327i1pamz3bwhj1zyr2bjn142bhp45y1xlv8gs7dm7zyixfksd3";
+      rev = "244a92ceae63b8c23a74022eaf205b431745fcb6";
+      sha256 = "1y56xh4k7zqagsnw86lkm747l1x4i5l95r0jks4j35d1fcmpq81i";
     };
     meta.homepage = "https://github.com/embear/vim-localvimrc/";
   };
@@ -9538,24 +9586,24 @@ final: prev:
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2021-04-28";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "4b0fc48037c628f14209f30616a19287d9e54823";
-      sha256 = "1jwfc193wbh2rmyi6mdwgr3lcq82qhlclq4hjwg1hcw94442r5xv";
+      rev = "39ec72353c2170db2caf797072800c513647e9c5";
+      sha256 = "18ljb8j8rs77643v8gprpqzfac492ljc49mn4g8b1bdkbji4cnqx";
     };
     meta.homepage = "https://github.com/natebosch/vim-lsc/";
   };
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2022-04-17";
+    version = "2022-04-21";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "8df4aa40191717b34f5da8d3c8e90dc0f1f62e0b";
-      sha256 = "0nx63rn86cjprwbvqpzarxxn1id6jndvww9n10ssdf5cfkw697b7";
+      rev = "c075e157fcce4511e537b1f7f3385444d9c80e0d";
+      sha256 = "0q7mg3qk0ryh46m6p4pliysrndmz3g6g6m5rqpz86lj6z2ivzzhy";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -9586,12 +9634,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-08-09";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "f5127b339a9d776f220cc0393783c55def9d8ce0";
-      sha256 = "0svkpk46fvas5346af2cw2ga03mlwd3rn8pya41f9whybqxdrysg";
+      rev = "fe631a85b0a1e1a709a55ef0947c9c0813f41edb";
+      sha256 = "166fgfxh6k4v2ypzjmn6hicr92xgcsi5bi930f74xv5fzm0gw9l8";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -9610,36 +9658,36 @@ final: prev:
 
   vim-markbar = buildVimPluginFrom2Nix {
     pname = "vim-markbar";
-    version = "2020-08-31";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "Yilin-Yang";
       repo = "vim-markbar";
-      rev = "df13c3abe88c01a716b1099de953dcfa1679e663";
-      sha256 = "1y5w182d57z1nl8c7ng25m88by88pnxqdsxmcnnygdfjmvbv8jl9";
+      rev = "b9b87339bca7572ffc506165069242b6c06c210b";
+      sha256 = "1kgpq8q7rcskwc8y8fcbvpq61qx9ysb846qhlk2s7fqjkwpmgz59";
     };
     meta.homepage = "https://github.com/Yilin-Yang/vim-markbar/";
   };
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2022-04-13";
+    version = "2022-05-07";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-markdown";
-      rev = "c031a3e65c50d6aa0bfc81f8be9d248f9644426d";
-      sha256 = "0l8ginadb4jxnrggd1lvia8kan397x02jf3v6sgkcyxawwpgfl0x";
+      rev = "3a9643961233c2812816078af8bd1eaabc530dce";
+      sha256 = "1yw8d1c5mjkjs93nby9xfx4jwxnb8zq36p1p7ciq808xzks42994";
     };
     meta.homepage = "https://github.com/preservim/vim-markdown/";
   };
 
   vim-markdown-composer = buildVimPluginFrom2Nix {
     pname = "vim-markdown-composer";
-    version = "2022-01-04";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "euclio";
       repo = "vim-markdown-composer";
-      rev = "010ae3667fb0cb4c63c99439d1a8f81ebdcc849e";
-      sha256 = "1hz0xjq0srv3llb4i6n2sw0pi2s0k3qcwyk6az5icrvkfhbnc0kf";
+      rev = "5b79f425ebd28216d9aa472be3ba07cda41d9b24";
+      sha256 = "0i4m2x2cw604aczp1ijnrv0wvh1b9bxg9zh0zmf8kk7b00zc1k5c";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/euclio/vim-markdown-composer/";
@@ -9659,12 +9707,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2022-04-19";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "bb04f9fa64b96bd3d6c4c146c6f9c55a69587fac";
-      sha256 = "1wrgxsdv3q2px0q7w6jf5dnj2abr0vf1pfq5f53zq784h08m07hq";
+      rev = "485e71120fea7be22f0ba051a05a00675276ced0";
+      sha256 = "0zzn5gspi5811w1drbk362a75q4d697l0ngxgps00bcgvj9l8r6d";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -9863,12 +9911,12 @@ final: prev:
 
   vim-nix = buildVimPluginFrom2Nix {
     pname = "vim-nix";
-    version = "2021-05-28";
+    version = "2022-04-25";
     src = fetchFromGitHub {
       owner = "LnL7";
       repo = "vim-nix";
-      rev = "63b47b39c8d481ebca3092822ca8972e08df769b";
-      sha256 = "08n9cgphv2m96kk5w996lwlqak011x5xm410hajmc91vy5fws361";
+      rev = "7d23e97d13c40fcc6d603b291fe9b6e5f92516ee";
+      sha256 = "1vaprm79j0nfl37r6lw0zwd048ajd5sc9cvny59qwdl3x0zk38av";
     };
     meta.homepage = "https://github.com/LnL7/vim-nix/";
   };
@@ -10211,12 +10259,12 @@ final: prev:
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2022-04-04";
+    version = "2022-05-03";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "93ab5909784e09134e90f15cafa8a5edcc9a00fe";
-      sha256 = "0cq2ilqqq90bpp8pzylqi759hqb9ni6l1rqkvj6aj7a4b29a59nv";
+      rev = "8fdabfba0b5a1b0616977a32d9e04b4b98a6016a";
+      sha256 = "046j2cq4s14ys7n5b1lil5sgdis66mydd8bpsidcyq004k3zy2lc";
     };
     meta.homepage = "https://github.com/junegunn/vim-plug/";
   };
@@ -10235,12 +10283,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2022-04-18";
+    version = "2022-04-30";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "db7bb8ba22f5798bf3abe9f786bc6e6d002725f8";
-      sha256 = "1fjy26ncql66fn7jdmggkndad1ib9csblvyq42sq9qcdci0lb9jx";
+      rev = "38282d58387cff48ac203f6912c05e4c8686141b";
+      sha256 = "15szf3fjlnws0g5l3d2p3w74d5m9299l5k5gx91p0n9431xjb569";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -10307,12 +10355,12 @@ final: prev:
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2022-04-19";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "8fb9440ad4cea6ffea8efc3efa4d8d64e7fb9785";
-      sha256 = "0nlsi05r2gvmwzzrrcifvx1rq09d16mnfa3gl2qif5dgmrj7qzni";
+      rev = "d4aee3035699b82b3789cee0e88dad0e38c423ab";
+      sha256 = "0gmpqp9wplq8pqrqfpardrj7g5mr16w4q9485wzy9nk86nsqavj9";
     };
     meta.homepage = "https://github.com/tpope/vim-projectionist/";
   };
@@ -10427,12 +10475,12 @@ final: prev:
 
   vim-quickrun = buildVimPluginFrom2Nix {
     pname = "vim-quickrun";
-    version = "2022-04-16";
+    version = "2022-05-08";
     src = fetchFromGitHub {
       owner = "thinca";
       repo = "vim-quickrun";
-      rev = "53917966d392d5517d38e63b2520bd2641763778";
-      sha256 = "03cswzwfpjf0v3nnjr0141p03fswsv13kphhac4i3ajal30nh80h";
+      rev = "276f39ab6507659ea8664c51b616a89ca9445875";
+      sha256 = "1gxp1rqc0vxlpmqqwxbdz0mh2pkh3hdcvsxrh1f73ya3vzlgyqfy";
     };
     meta.homepage = "https://github.com/thinca/vim-quickrun/";
   };
@@ -10475,12 +10523,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2022-04-16";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "d38f1bf8575b920042153689492721b80252ae41";
-      sha256 = "18c3maypsl265f3a03602mnq4lky5w786i9iaphv5x5rlnfwj8wa";
+      rev = "9c92dafe6894aed3fa81df7ac52cdd8e7a8ea9a6";
+      sha256 = "050vkbj1y80f1kcmb0hfd2mha1bb4v3f2bvnazcymxn08z8frww7";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -10511,12 +10559,12 @@ final: prev:
 
   vim-rhubarb = buildVimPluginFrom2Nix {
     pname = "vim-rhubarb";
-    version = "2021-09-13";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rhubarb";
-      rev = "977b3ccbad1f7e5370354ae409fb2ea4a7ce2058";
-      sha256 = "1vvjj3ql2dm3dniscxjmr5h9kfx005bgdxc1ppz6yi2q9spmchqg";
+      rev = "ab0d42bb31b3317aa66dd1c0b506837cc6ca2835";
+      sha256 = "0qv2ppmxpy72gb8ivz5cx19b4y8si4v428d9mmlx9q7mv9q4wmhq";
     };
     meta.homepage = "https://github.com/tpope/vim-rhubarb/";
   };
@@ -10547,12 +10595,12 @@ final: prev:
 
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
-    version = "2022-03-22";
+    version = "2022-04-27";
     src = fetchFromGitHub {
       owner = "vim-ruby";
       repo = "vim-ruby";
-      rev = "f3236767d2e74d736d98efd8da44013d1e95bfc1";
-      sha256 = "0mlllnykdmcxf4yx2nkp74rm4wx2qwcly3m711a6pq7w87fgh6jz";
+      rev = "811d8060f390837c49e8625e29c69672cdc56ec3";
+      sha256 = "0cx2xl1qn57fxhc7rwdfcf359yknr0qw3yh7mbpygrm45jlgwnva";
     };
     meta.homepage = "https://github.com/vim-ruby/vim-ruby/";
   };
@@ -10631,12 +10679,12 @@ final: prev:
 
   vim-search-pulse = buildVimPluginFrom2Nix {
     pname = "vim-search-pulse";
-    version = "2017-01-05";
+    version = "2022-04-26";
     src = fetchFromGitHub {
       owner = "inside";
       repo = "vim-search-pulse";
-      rev = "9f8f473e3813bd76ecb66e8d6182d96bda39b6df";
-      sha256 = "1xr90a8wvjfkgw1yrh0zcvpvp9ma6z0wqkl8v8pabf20vckgy2q0";
+      rev = "3ae2681332c52ed54c443e09d2ef09ae05eaa445";
+      sha256 = "0si6mqrassa7jpdhpiya3f507a74k46h07sbfks7hvxkhk51q7yx";
     };
     meta.homepage = "https://github.com/inside/vim-search-pulse/";
   };
@@ -10739,24 +10787,24 @@ final: prev:
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2022-04-14";
+    version = "2022-04-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "e116c2cc2555b09aee9b18eba405b925c8b7eaf9";
-      sha256 = "02ljdb3p7fp0h3nf6rxv5kgsxqdvgkwrwgb01x4xn100spkv6y6i";
+      rev = "1d25e8e5dc4062e38cab1a461934ee5e9d59e5a8";
+      sha256 = "1nb90zm9jc2mq5fxbxifrmhkpjs3a5y68amr3f99rxfd0197jxcs";
     };
     meta.homepage = "https://github.com/tpope/vim-sleuth/";
   };
 
   vim-slime = buildVimPluginFrom2Nix {
     pname = "vim-slime";
-    version = "2022-01-13";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "jpalardy";
       repo = "vim-slime";
-      rev = "0ea9b35882155996171fd15a5227e673ce2d2c60";
-      sha256 = "1palz3375v400fjlxwpc4drm36rnffz86mdkyqdqssvm41fv0wkx";
+      rev = "6e4b81303968f37346925d6907b96ef07788cc82";
+      sha256 = "1z0nmfmn7ijj3hih4dbi1iq3dc6gpprck3fmidhmkv6vms041nx4";
     };
     meta.homepage = "https://github.com/jpalardy/vim-slime/";
   };
@@ -10787,12 +10835,12 @@ final: prev:
 
   vim-smoothie = buildVimPluginFrom2Nix {
     pname = "vim-smoothie";
-    version = "2021-02-07";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "psliwka";
       repo = "vim-smoothie";
-      rev = "10fd0aa57d176718bc2c570f121ab523c4429a25";
-      sha256 = "18zn29mkgdiddn3il393xzg7hpa0x25yvais1l29jq2711sg4rdc";
+      rev = "b440f139a55cb5161cde3478729f6603d9d20d81";
+      sha256 = "1hvv440zb3bwx1v8nyy3bk9vnhlbjy2a1hdfcmc37rghbni1kp0k";
     };
     meta.homepage = "https://github.com/psliwka/vim-smoothie/";
   };
@@ -10835,12 +10883,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2022-04-20";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "0decc32aad4564452c2f8a5cbfe387195f1a8bba";
-      sha256 = "1ycmls9xpkfzkrws2aby88zmsv1489d659sllrgmbmh04g0pq8vy";
+      rev = "6f270bb2d26c38765ff2243e9337c65f8a96a28b";
+      sha256 = "0jzafsk1ri2jfn26k962x2g6ygqrkrf3kwvd1ikx0hql0nhcvrrq";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -10979,12 +11027,12 @@ final: prev:
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2022-04-10";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "81fc0ec460dd8b25a76346e09aecdbca2677f1a7";
-      sha256 = "0k8fyyjak1l6f1hsb3pbyri1jsgxzbhcbih7p4vc8cdm346yms1i";
+      rev = "bf3480dc9ae7bea34c78fbba4c65b4548b5b1fea";
+      sha256 = "07wk87xiri44h5k3higiw9wfp516fflhq2xyrgm5hkxs3nnnx6la";
     };
     meta.homepage = "https://github.com/tpope/vim-surround/";
   };
@@ -11256,12 +11304,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2022-04-19";
+    version = "2022-05-11";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "7a5d832ca3086aeddc607304a2dde481b66f1719";
-      sha256 = "0dnlq3iv7dq798m1llpn72b4kwvxrw7q7bgkswhaqhgcsb1xjxwz";
+      rev = "2c4417db1d549f96a6a944bf4d85d8c797ab4a31";
+      sha256 = "1rzhzl4w9k11maa1iy0a8sss3319jvp1viqqh0l7kgg13595acnk";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -11316,12 +11364,12 @@ final: prev:
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2022-04-09";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "a99eb0bdf7d901d538b5dd724e2ab3a958c1799c";
-      sha256 = "0mlb2qvxw7ds0b6jrxw5224mz1bzlzb4vly2wnygzrl6mhsk2xyw";
+      rev = "6978fd32e3ca2c1c5591884eea0d57a7ee43d212";
+      sha256 = "19dphm7xgfc0xvxrlys21zkp7ixbx62p11x6ms6xmwm8cjjh64pc";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -11340,12 +11388,12 @@ final: prev:
 
   vim-unimpaired = buildVimPluginFrom2Nix {
     pname = "vim-unimpaired";
-    version = "2022-04-10";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-unimpaired";
-      rev = "80ab990c7ff7251f43262aae4b60ff6eff2ef3a4";
-      sha256 = "0qmxzk0vcglyrvx2hpxm6qgr6mcc1xnf6srw77ga9g0aazjr2hxc";
+      rev = "98427183e2b35acee15c7628b1cd587b98025719";
+      sha256 = "0w5065ywkr7ygpqjmi1r9s3icm6v0x2w1gfa9flwqhx6y02jfrmk";
     };
     meta.homepage = "https://github.com/tpope/vim-unimpaired/";
   };
@@ -11388,12 +11436,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2022-04-08";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "d5b820655e17c6ccd363885e5614652e4cffae95";
-      sha256 = "0mp8g825l0zcj0gh3v5wa29dq5hhx0f96ijsd5bxhh694vppx8q5";
+      rev = "046d0d5ac5fb2888447d1dd8b7e52fd0314f9766";
+      sha256 = "17masfjxrhjcfqmlgf1jpmmz18j8vb4n88dl34rry6c3abiraprj";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -11424,12 +11472,12 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2022-02-26";
+    version = "2022-04-22";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "70a1131d64d75150ece513b983b0f42939bcb03c";
-      sha256 = "042cnznm1p5x3ky7m81q62n3nlgab9fq734hlfwsbwrcdqa849l2";
+      rev = "8f199ef690ed26dcbb8973d9a6760d1332449ac9";
+      sha256 = "1d9wr97a02j717sbh55xk7xam6d97l5ggi0ymc67q64hrq8nsaai";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -11460,12 +11508,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2022-04-13";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "9cf2f1910d5cd7f25657176fe60b1745a310f1b3";
-      sha256 = "0jxkfiq5553ad7zabxlgwzwwsgwznkn0rahfmr79r1dvvqm9m1a6";
+      rev = "b8e6cc7dc28e2e6198d8c9c30e5c8a2414a7b996";
+      sha256 = "1hy0y5v3r5w7y8phkgbi1ff7p8yyhyndxr3yyr1wfvssdilz6xqj";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -11520,12 +11568,12 @@ final: prev:
 
   vim-wordmotion = buildVimPluginFrom2Nix {
     pname = "vim-wordmotion";
-    version = "2021-12-28";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "chaoren";
       repo = "vim-wordmotion";
-      rev = "0d810cc943a858a570a482055188b5e69c4c8724";
-      sha256 = "0d0sf7dzzawssfn1dq61485vbykwmzc1g4qk91qnl68w9h4xlpgl";
+      rev = "1f7eaf5d5733e39fb37f8e0de2f7f15e242dd39c";
+      sha256 = "1j68jvswd7gdva90ar3ldqrspg7r5m4wwv593g98l8yn6dkz9mrz";
     };
     meta.homepage = "https://github.com/chaoren/vim-wordmotion/";
   };
@@ -11748,12 +11796,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2022-04-13";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "ebeebc121423a5ab9a31c996f9881880b658c644";
-      sha256 = "0npcra2k49rz9ij4kc6dyb8dpmfi6kivpp89ggmpnd0989vn9i56";
+      rev = "960f0444d21ebb20303e1796e4b478df042c3bd3";
+      sha256 = "0sx2awi2b22j9wdyi8m1k261qlfj19i2xs93g5lb24lfb53rarmi";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -11761,12 +11809,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-04-10";
+    version = "2022-05-12";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "7bfcfb7b9a734b07e04209350bbe56d7123efb48";
-      sha256 = "1w09kmrm6rpffzh3xz9zsqm7h9f56a6p1wzclz96wvy8mr6hd6bn";
+      rev = "dfaca59bbbf0079ab1b4f159337ae7f17d1b5289";
+      sha256 = "1sbsirrl822dp9z1vynkhzbd2yhid9vcr9yzp540qrp6flcvf10q";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -11857,36 +11905,36 @@ final: prev:
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key.nvim";
-    version = "2022-03-18";
+    version = "2022-05-04";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "a3c19ec5754debb7bf38a8404e36a9287b282430";
-      sha256 = "00kkl785ifx5sg49q65d4yzdgf08gyriqrils5n4zhz4pksd5z1a";
+      rev = "bd4411a2ed4dd8bb69c125e339d837028a6eea71";
+      sha256 = "0vf685xgdb967wmvffk1pfrvbhg1jkvzp1kb7r0vs90mg8gpv1aj";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2022-04-17";
+    version = "2022-04-23";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "a9ea0c69b37850752d5f8431b7be6bf8f1a0254c";
-      sha256 = "0vd01sjj4q26a653wv9icfyd7g34rnl4whbnl3ic6pvb9cvj72wk";
+      rev = "777b163e394ba658ef288292efb533b25610ef9d";
+      sha256 = "1y7kii77jia3j9jlisjg2x1yfk8r048aas5zja0ag8nlyqldj8xh";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
 
   wildfire-vim = buildVimPluginFrom2Nix {
     pname = "wildfire.vim";
-    version = "2021-05-10";
+    version = "2022-05-05";
     src = fetchFromGitHub {
       owner = "gcmt";
       repo = "wildfire.vim";
-      rev = "fa91b732fd1c5acd23b7b32d5fbbc884eedafc8d";
-      sha256 = "15gikqmpaf5c6687kgc5ib57pw7gyvxaihdv5549s7p2xkkbcl24";
+      rev = "b371e2b1d938ae0e164146136051de164ecb9aa5";
+      sha256 = "0lpv10330818aza0fv8adzswnq8jq47z043p6gqfn7b7h2visy5p";
     };
     meta.homepage = "https://github.com/gcmt/wildfire.vim/";
   };
@@ -12038,12 +12086,12 @@ final: prev:
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig.vim";
-    version = "2022-03-15";
+    version = "2022-05-01";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "dd5e2c2384d42eaffadd5a8fd749b0499a90a7ac";
-      sha256 = "0qbjnmjf057phxkzhsyys9x0620szbgr3awqzgxr3cflyd1zhrf4";
+      rev = "1cb9cd521cab91e39cf162b50b7a095fd12361d3";
+      sha256 = "10flq5dm6aa5ay3rb2rn5y9ih8z66iq6lw2rl2489qxi605bxqs7";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
@@ -12062,12 +12110,12 @@ final: prev:
 
   zoxide-vim = buildVimPluginFrom2Nix {
     pname = "zoxide.vim";
-    version = "2021-12-10";
+    version = "2022-05-07";
     src = fetchFromGitHub {
       owner = "nanotee";
       repo = "zoxide.vim";
-      rev = "c4e96f34b1b3160d6b6a6519588024412df27cd7";
-      sha256 = "0zisr1r1z9ys0jkab1lvwy4klwkay07p0095f03r9qydnig8jgsm";
+      rev = "5062d4c17ff873eeed88cabe317d7ee1a43c5731";
+      sha256 = "1chq7fnygvb1wm7v0rg8cf0czn1q1i59kggg0jdvrnwf0f6m7nb4";
     };
     meta.homepage = "https://github.com/nanotee/zoxide.vim/";
   };
@@ -12086,12 +12134,12 @@ final: prev:
 
   chad = buildVimPluginFrom2Nix {
     pname = "chad";
-    version = "2022-04-20";
+    version = "2022-05-13";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "d9a84322624d14c1e249e9a8a4573c9d205a9bc9";
-      sha256 = "16lha28fmi463snf71w0nz6ll0yiiiz7xrh2v7irkgx214q1gh6z";
+      rev = "b6ac01c187359e305a2df8caea540f4527b91ab2";
+      sha256 = "14rp8h59bnwpi86nnkmhxsgyszhhd26fzra7wjni2agdhf2410zp";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -12122,12 +12170,12 @@ final: prev:
 
   gruvbox-community = buildVimPluginFrom2Nix {
     pname = "gruvbox-community";
-    version = "2022-03-06";
+    version = "2022-04-29";
     src = fetchFromGitHub {
       owner = "gruvbox-community";
       repo = "gruvbox";
-      rev = "b6f47ae7031f6746a1f1918c17574aa12c474ef0";
-      sha256 = "0m8rrm5v542a2c30sg7hlgm7r6gs4ah1n6nr5dc101l2064kg97g";
+      rev = "34ad436b234c5095d46bb065c5b32780618df83f";
+      sha256 = "11zp3w4n2iq97rx7fp7rlvykmx4k7swbbqpjphrx0il0fmghv6q8";
     };
     meta.homepage = "https://github.com/gruvbox-community/gruvbox/";
   };
@@ -12158,12 +12206,12 @@ final: prev:
 
   rose-pine = buildVimPluginFrom2Nix {
     pname = "rose-pine";
-    version = "2022-04-19";
+    version = "2022-05-06";
     src = fetchFromGitHub {
       owner = "rose-pine";
       repo = "neovim";
-      rev = "758568b92e0a17c3618f71d43cce96a3a5436985";
-      sha256 = "0zxyyjp1527681rrw25f8vzx1d6djqac04zcay02hxi2rcnjpan5";
+      rev = "aa69b6a3d77068542c613d96419c3241a9fcbf46";
+      sha256 = "0x9pn109my5rw627qmf5xawy3n40l9n3l6hp6np77y2rqlpn8m3y";
     };
     meta.homepage = "https://github.com/rose-pine/neovim/";
   };
@@ -12180,4 +12228,5 @@ final: prev:
     meta.homepage = "https://github.com/jhradilek/vim-snippets/";
   };
 
+
 }
diff --git a/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh
new file mode 100644
index 0000000000000..5b454e0ff01b9
--- /dev/null
+++ b/pkgs/applications/editors/vim/plugins/neovim-require-check-hook.sh
@@ -0,0 +1,21 @@
+# Setup hook for checking whether Python imports succeed
+echo "Sourcing neovim-require-check-hook.sh"
+
+neovimRequireCheckHook () {
+    echo "Executing neovimRequireCheckHook"
+
+    if [ -n "$nvimRequireCheck" ]; then
+        echo "Check whether the following module can be imported: $nvimRequireCheck"
+
+		# editorconfig-checker-disable
+        export HOME="$TMPDIR"
+        @nvimBinary@ -es --headless -n -u NONE -i NONE --clean -V1 \
+            --cmd "set rtp+=$out" \
+            --cmd "lua require('$nvimRequireCheck')"
+    fi
+}
+
+echo "Using neovimRequireCheckHook"
+preDistPhases+=" neovimRequireCheckHook"
+
+
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index e294ea0b5a2b1..494d42a4c46ff 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -41,6 +41,8 @@
 , ycmd
 , zoxide
 , nodejs
+, xdotool
+, xorg
 
 # test dependencies
 , neovim-unwrapped
@@ -291,6 +293,10 @@ self: super: {
     '';
   });
 
+  fzf-lua = super.fzf-lua.overrideAttrs (old: {
+    propagatedBuildInputs = [ fzf ];
+  });
+
   fzf-vim = super.fzf-vim.overrideAttrs (old: {
     dependencies = with self; [ fzfWrapper ];
   });
@@ -321,6 +327,9 @@ self: super: {
       sed -Ei lua/plenary/curl.lua \
           -e 's@(command\s*=\s*")curl(")@\1${curl}/bin/curl\2@'
     '';
+
+    doInstallCheck = true;
+    nvimRequireCheck = "plenary";
   });
 
   gruvbox-nvim = super.gruvbox-nvim.overrideAttrs (old: {
@@ -606,6 +615,14 @@ self: super: {
     '';
   };
 
+  stylish-nvim = super.stylish-nvim.overrideAttrs (old: {
+      postPatch = ''
+        substituteInPlace lua/stylish/common/mouse_hover_handler.lua --replace xdotool ${xdotool}/bin/xdotool
+        substituteInPlace lua/stylish/components/menu.lua --replace xdotool ${xdotool}/bin/xdotool
+        substituteInPlace lua/stylish/components/menu.lua --replace xwininfo ${xorg.xwininfo}/bin/xwininfo
+      '';
+  });
+
   sved =
     let
       # we put the script in its own derivation to benefit the magic of wrapGAppsHook
@@ -828,7 +845,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "035v8mm8v7aj8qwhvxsp6k0afn05gi2xb1achzsvm0m4a8a9xs65";
+          cargoSha256 = "0l1x7kprnxa95pbf8ml9ixmj0cmbnnv6nd0v6qry8j67rx8plpmp";
         };
       in
       ''
@@ -957,7 +974,7 @@ self: super: {
       vim-markdown-composer-bin = rustPlatform.buildRustPackage rec {
         pname = "vim-markdown-composer-bin";
         inherit (super.vim-markdown-composer) src version;
-        cargoSha256 = "03d7kap6vha1jmyfrjqaja5439x6mhnvjjbz3rmxb3x4dpppbpj1";
+        cargoSha256 = "0q0i6kyihswrjrfdj4p3z54b779sdg2wz38z943ypj6dqphhcklx";
       };
     in
     super.vim-markdown-composer.overrideAttrs (oldAttrs: rec {
diff --git a/pkgs/applications/editors/vim/plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py
index ad1c38cb375fa..1214e36372a62 100755
--- a/pkgs/applications/editors/vim/plugins/update.py
+++ b/pkgs/applications/editors/vim/plugins/update.py
@@ -26,19 +26,24 @@ from typing import List, Tuple
 from pathlib import Path
 
 log = logging.getLogger()
-log.addHandler(logging.StreamHandler())
+
+sh = logging.StreamHandler()
+formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s')
+sh.setFormatter(formatter)
+log.addHandler(sh)
 
 # Import plugin update library from maintainers/scripts/pluginupdate.py
 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
 # Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree
 sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts"))
 import pluginupdate
+from pluginupdate import run_nix_expr, PluginDesc
 
 GET_PLUGINS = f"""(with import <localpkgs> {{}};
 let
-  inherit (vimUtils.override {{inherit vim;}}) buildVimPluginFrom2Nix;
+  inherit (vimUtils.override {{inherit vim;}}) buildNeovimPluginFrom2Nix buildVimPluginFrom2Nix;
   generated = callPackage {ROOT}/generated.nix {{
-    inherit buildVimPluginFrom2Nix;
+    inherit buildNeovimPluginFrom2Nix buildVimPluginFrom2Nix;
   }};
   hasChecksum = value: lib.isAttrs value && lib.hasAttrByPath ["src" "outputHash"] value;
   getChecksum = name: value:
@@ -50,43 +55,69 @@ let
   checksums = lib.mapAttrs getChecksum generated;
 in lib.filterAttrs (n: v: v != null) checksums)"""
 
+GET_PLUGINS_LUA = """
+with import <localpkgs> {};
+lib.attrNames lua51Packages"""
+
 HEADER = (
     "# This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!"
 )
 
+def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
+    '''
+    Whether it's a neovim-only plugin
+    We can check if it's available in lua packages
+    '''
+    global luaPlugins
+    if plug.normalized_name in luaPlugins:
+        log.debug("%s is a neovim plugin", plug)
+        return True
+    return False
+
 
 class VimEditor(pluginupdate.Editor):
-    def generate_nix(self, plugins: List[Tuple[pluginupdate.PluginDesc, pluginupdate.Plugin]], outfile: str):
+    def generate_nix(self, plugins: List[Tuple[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, fetchgit }:
+                { lib, buildVimPluginFrom2Nix, buildNeovimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
                 final: prev:
-                {"""
+                {
+                """
             ))
             for pdesc, plugin in sorted_plugins:
+                content = self.plugin2nix(pdesc, plugin)
+                f.write(content)
+            f.write("\n}\n")
+        print(f"updated {outfile}")
+
+    def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str:
 
-                repo = pdesc.repo
-                src_nix = repo.as_nix(plugin)
-                f.write(
-                    f"""
-  {plugin.normalized_name} = buildVimPluginFrom2Nix {{
+        repo = pdesc.repo
+        isNeovim = isNeovimPlugin(plugin)
+
+        content = f"  {plugin.normalized_name} = "
+        src_nix = repo.as_nix(plugin)
+        content += """{buildFn} {{
     pname = "{plugin.name}";
     version = "{plugin.version}";
     src = {src_nix};
     meta.homepage = "{repo.uri}";
   }};
-"""
-                )
-            f.write("\n}\n")
-        print(f"updated {outfile}")
-
 
+""".format(
+        buildFn="buildNeovimPluginFrom2Nix" if isNeovim else "buildVimPluginFrom2Nix", plugin=plugin, src_nix=src_nix, repo=repo)
+        print(content)
+        return content
 
 def main():
+
+    global luaPlugins
+    luaPlugins = run_nix_expr(GET_PLUGINS_LUA)
+
     editor = VimEditor("vim", ROOT, GET_PLUGINS)
     parser = editor.create_parser()
     args = parser.parse_args()
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 1a307c8c7c7f9..e3806c71a2f65 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -116,6 +116,7 @@ https://github.com/iamcco/coc-spell-checker/,,
 https://github.com/coc-extensions/coc-svelte/,,
 https://github.com/iamcco/coc-tailwindcss/,,
 https://github.com/neoclide/coc.nvim/,release,
+https://github.com/manicmaniac/coconut.vim/,HEAD,
 https://github.com/metakirby5/codi.vim/,,
 https://github.com/tjdevries/colorbuddy.nvim/,,
 https://github.com/lilydjwg/colorizer/,,
@@ -214,6 +215,7 @@ https://github.com/BeneCollyridam/futhark-vim/,,
 https://github.com/rktjmp/fwatch.nvim/,,
 https://github.com/stsewd/fzf-checkout.vim/,,
 https://github.com/gfanto/fzf-lsp.nvim/,,
+https://github.com/ibhagwan/fzf-lua/,HEAD,
 https://github.com/junegunn/fzf.vim/,,
 https://github.com/NTBBloodbath/galaxyline.nvim/,,
 https://github.com/jsfaint/gen_tags.vim/,,
@@ -531,6 +533,7 @@ https://github.com/chr4/sslsecure.vim/,,
 https://github.com/luukvbaal/stabilize.nvim/,,
 https://github.com/eigenfoo/stan-vim/,,
 https://github.com/darfink/starsearch.vim/,,
+https://github.com/teto/stylish.nvim/,HEAD,
 https://github.com/lambdalisue/suda.vim/,,
 https://github.com/ervandew/supertab/,,
 https://github.com/ur4ltz/surround.nvim/,,
@@ -784,6 +787,7 @@ https://github.com/maksimr/vim-jsbeautify/,,
 https://github.com/heavenshell/vim-jsdoc/,,
 https://github.com/elzr/vim-json/,,
 https://github.com/google/vim-jsonnet/,,
+https://github.com/mogelbrod/vim-jsonpath/,HEAD,
 https://github.com/MaxMEllon/vim-jsx-pretty/,,
 https://github.com/peitalin/vim-jsx-typescript/,,
 https://github.com/knubie/vim-kitty-navigator/,,
diff --git a/pkgs/applications/editors/vim/plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix
index 5e19d33d19d19..9511e4da19520 100644
--- a/pkgs/applications/editors/vim/plugins/vim-utils.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -531,10 +531,27 @@ rec {
       };
     } ./vim-command-check-hook.sh) {};
 
+  neovimRequireCheckHook = callPackage ({ neovim-unwrapped }:
+    makeSetupHook {
+      name = "neovim-require-check-hook";
+      deps = [ neovim-unwrapped ];
+      substitutions = {
+        nvimBinary = "${neovim-unwrapped}/bin/nvim";
+        inherit rtpPath;
+      };
+    } ./neovim-require-check-hook.sh) {};
+
   inherit (import ./build-vim-plugin.nix {
-    inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook;
+    inherit lib stdenv rtpPath vim vimGenDocHook vimCommandCheckHook neovimRequireCheckHook;
   }) buildVimPlugin buildVimPluginFrom2Nix;
 
+
+  # TODO placeholder to ease working on automatic plugin detection
+  # this should be a luarocks "flat" install with appropriate vim hooks
+  buildNeovimPluginFrom2Nix = attrs: let drv = (buildVimPluginFrom2Nix attrs); in drv.overrideAttrs(oa: {
+    nativeBuildInputs = oa.nativeBuildInputs ++ [ neovimRequireCheckHook ];
+  });
+
   # used to figure out which python dependencies etc. neovim needs
   requiredPlugins = {
     packages ? {},
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
index b9fcfe10221ed..a05b0e48e0be7 100644
--- a/pkgs/applications/editors/vis/default.nix
+++ b/pkgs/applications/editors/vis/default.nix
@@ -1,6 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper, makeDesktopItem
-, ncurses, libtermkey, lua
-, acl ? null, libselinux ? null
+{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
+, copyDesktopItems, makeDesktopItem
+, ncurses, libtermkey, lua, tre
+, acl, libselinux
 }:
 
 let
@@ -17,12 +18,13 @@ stdenv.mkDerivation rec {
     owner = "martanne";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper ];
+  nativeBuildInputs = [ pkg-config makeWrapper copyDesktopItems ];
 
   buildInputs = [
     ncurses
     libtermkey
     luaEnv
+    tre
   ] ++ lib.optionals stdenv.isLinux [
     acl
     libselinux
@@ -33,28 +35,27 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    mkdir -p "$out/share/applications"
-    cp $desktopItem/share/applications/* $out/share/applications
-    echo wrapping $out/bin/vis with runtime environment
     wrapProgram $out/bin/vis \
       --prefix LUA_CPATH ';' "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
       --prefix LUA_PATH ';' "${luaEnv}/share/lua/${lua.luaversion}/?.lua" \
       --prefix VIS_PATH : "\$HOME/.config:$out/share/vis"
   '';
 
-  desktopItem = makeDesktopItem {
-    name = "vis";
-    exec = "vis %U";
-    type = "Application";
-    icon = "accessories-text-editor";
-    comment = meta.description;
-    desktopName = "vis";
-    genericName = "Text editor";
-    categories = [ "Application" "Development" "IDE" ];
-    mimeTypes = [ "text/plain" "application/octet-stream" ];
-    startupNotify = false;
-    terminal = true;
-  };
+  desktopItems = [
+    (makeDesktopItem {
+      name = "vis";
+      exec = "vis %U";
+      type = "Application";
+      icon = "accessories-text-editor";
+      comment = meta.description;
+      desktopName = "vis";
+      genericName = "Text editor";
+      categories = [ "Application" "Development" "IDE" ];
+      mimeTypes = [ "text/plain" "application/octet-stream" ];
+      startupNotify = false;
+      terminal = true;
+    })
+  ];
 
   meta = with lib; {
     description = "A vim like editor";
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index ffe7f9a336a39..db018bfb67ef8 100644
--- a/pkgs/applications/editors/vscode/extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -79,6 +79,18 @@ let
         };
       };
 
+      alefragnani.bookmarks = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "bookmarks";
+          publisher = "alefragnani";
+          version = "13.0.1";
+          sha256 = "sha256-4IZCPNk7uBqPw/FKT5ypU2QxadQzYfwbGxxT/bUnKdE=";
+        };
+        meta = {
+          license = lib.licenses.gpl3;
+        };
+      };
+
       alefragnani.project-manager = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "project-manager";
diff --git a/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json b/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
index f12db30a6a3d1..5ccc6f2fa4141 100644
--- a/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
+++ b/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
@@ -1,19 +1,19 @@
 {
   "name": "rust-analyzer",
-  "version": "0.2.975",
+  "version": "0.2.1048",
   "dependencies": {
-    "vscode-languageclient": "8.0.0-next.8",
+    "vscode-languageclient": "8.0.0-next.14",
     "d3": "^7.3.0",
-    "d3-graphviz": "^4.0.0",
+    "d3-graphviz": "^4.1.0",
     "@types/node": "~14.17.5",
-    "@types/vscode": "~1.63.0",
-    "@typescript-eslint/eslint-plugin": "^5.10.0",
-    "@typescript-eslint/parser": "^5.10.0",
-    "@vscode/test-electron": "^2.1.1",
-    "eslint": "^8.7.0",
+    "@types/vscode": "~1.66.0",
+    "@typescript-eslint/eslint-plugin": "^5.16.0",
+    "@typescript-eslint/parser": "^5.16.0",
+    "@vscode/test-electron": "^2.1.3",
+    "eslint": "^8.11.0",
     "tslib": "^2.3.0",
-    "typescript": "^4.5.5",
+    "typescript": "^4.6.3",
     "typescript-formatter": "^7.2.2",
-    "vsce": "^2.6.7"
+    "vsce": "^2.7.0"
   }
 }
diff --git a/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh b/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh
index 0c06f903dfb4b..69e6e5cd0f859 100755
--- a/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh
+++ b/pkgs/applications/editors/vscode/extensions/rust-analyzer/update.sh
@@ -5,7 +5,7 @@ set -euo pipefail
 cd "$(dirname "$0")"
 nixpkgs=../../../../../../
 node_packages="$nixpkgs/pkgs/development/node-packages"
-owner=rust-analyzer
+owner=rust-lang
 repo=rust-analyzer
 ver=$(
     curl -s "https://api.github.com/repos/$owner/$repo/releases" |
@@ -22,7 +22,7 @@ if [[ "$(nix-instantiate --eval --strict -E "(builtins.compareVersions \"$req_vs
     exit 1
 fi
 
-extension_ver=$(curl "https://github.com/rust-analyzer/rust-analyzer/releases/download/$ver/rust-analyzer-linux-x64.vsix" -L |
+extension_ver=$(curl "https://github.com/$owner/$repo/releases/download/$ver/rust-analyzer-linux-x64.vsix" -L |
     bsdtar -xf - --to-stdout extension/package.json | # Use bsdtar to extract vsix(zip).
     jq --raw-output '.version')
 echo "Extension version: $extension_ver"
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 9a4f1b92d41ff..e100318005021 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, makeDesktopItem
-, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook
+, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook, makeWrapper
 , atomEnv, at-spi2-atk, autoPatchelfHook
 , systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
 , writeShellScriptBin
@@ -68,7 +68,12 @@ let
 
     runtimeDependencies = lib.optional stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu ];
 
-    nativeBuildInputs = [ unzip ] ++ lib.optionals stdenv.isLinux [ autoPatchelfHook nodePackages.asar wrapGAppsHook ];
+    nativeBuildInputs = [ unzip ]
+      ++ lib.optionals stdenv.isLinux [
+        autoPatchelfHook
+        nodePackages.asar
+        (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+      ];
 
     dontBuild = true;
     dontConfigure = true;
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index f479c6686afee..1604cc901e41b 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -14,17 +14,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1si0r8nww5m3yn3vzw0pk3nykfvxnlwna4pp11bsli4vqj1ym2nz";
-    x86_64-darwin = "002rkvc8fa7r9x2dsjhkwzmc1sp5mq998frrw5xd6bym0cp4j76l";
-    aarch64-linux = "0w9gjk2a5z8cqlg43jn2r588asymiklm1b28l54gvqp7jawlb0fd";
-    aarch64-darwin = "18h2kk6fcdz38xzyn37brbbj4nbrjgzv9xsz7c7iai8d01vh7s33";
-    armv7l-linux = "16cs2ald40nh76m3fxxfd233hr687dhwbqdkvjz4s6xxwi0rhvwc";
+    x86_64-linux = "1db5vwcwi3w11zm2b72cvddn5k9yav65rg7ii9wq4a0dym39f8ql";
+    x86_64-darwin = "1q5vjisdc0q5vigb1lwq8fkxbaar73jnk4ac0fqlhc4gqacz3cs3";
+    aarch64-linux = "01lcvjw9nfgp93ydl16bp91gbkivd23jn8pan220fjvdsgvcbg48";
+    aarch64-darwin = "06p6p2c9a3rav9c23pvfn8mmd77wc9z7pavpmkgm1f3wplx48q8q";
+    armv7l-linux = "0pzim9r2zzwyim3g6f8ixgqllgz4cijaiw76czi0wmz4dxxdljrw";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.66.2";
+    version = "1.67.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 41dfc3b114538..9fde99f3f58a1 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -14,11 +14,11 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1i76ix318y6b2dcfnisg13bp5d7nzvcx7zcpl94mkrn974db30pn";
-    x86_64-darwin = "1qk1vykl838vwsffyjpazx7x9ajwxczpgz5vhch16iikfz2vh1vk";
-    aarch64-linux = "13jifiqn2v17d6vwacq6aib1lzyp2021kjdswkp7wpx6ck5lkm21";
-    aarch64-darwin = "1jgmvw52hp2zfvk6z51yni4vn7wfq63gsih42mzadg5a1b2fr9rx";
-    armv7l-linux = "1zhriscsmfcsagsp2ds0fn316fybs5f2f2r3w5q29jwczgcnlam4";
+    x86_64-linux = "0hsq3b8j58xjl8pkrd5x3qh0lsl9gwbd9wgvhzlnx2h94iasr1v5";
+    x86_64-darwin = "04fbl8kp3af7xcicx17ay2piwy4y3yiyn9723hlmmf7s359rr1wn";
+    aarch64-linux = "0jljsa61zr3symfdsjx9jj4s3y1kqslxh8gc1gqx45zlm5rzr7k8";
+    aarch64-darwin = "1swkc0qb1xif8hj6cjp3jq1iqdfqsa681hhp7mxvrpqg0i2zppk3";
+    armv7l-linux = "1ssbdc4b11xmd45m7bzhdh6szx331pzah2mjpqjg7cz3ray3xvwy";
   }.${system};
 
   sourceRoot = if stdenv.isDarwin then "" else ".";
@@ -28,7 +28,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.66.2";
+    version = "1.67.1";
     pname = "vscodium";
 
     executableName = "codium";
@@ -60,6 +60,7 @@ in
       downloadPage = "https://github.com/VSCodium/vscodium/releases";
       license = licenses.mit;
       maintainers = with maintainers; [ synthetica turion bobby285271 ];
+      mainProgram = "codium";
       platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" "armv7l-linux" ];
     };
   }
diff --git a/pkgs/applications/emulators/bsnes/ares/default.nix b/pkgs/applications/emulators/bsnes/ares/default.nix
index 33a7858455d67..c1597fe2c6eeb 100644
--- a/pkgs/applications/emulators/bsnes/ares/default.nix
+++ b/pkgs/applications/emulators/bsnes/ares/default.nix
@@ -2,83 +2,72 @@
 , stdenv
 , fetchFromGitHub
 , pkg-config
+, SDL2
 , alsa-lib
+, gtk3
 , gtksourceview3
+, libGL
+, libGLU
+, libX11
 , libXv
-, openal
-, libpulseaudio
 , libao
+, libpulseaudio
+, openal
 , udev
-, SDL2
 }:
 
 stdenv.mkDerivation rec {
   pname = "ares";
-  version = "126";
+  version = "127";
 
   src = fetchFromGitHub {
     owner = "ares-emulator";
     repo = "ares";
     rev = "v${version}";
-    sha256 = "1rj4vmz8lvpmfc6wni7222kagnw9f6jda9rcb6qky2kpizlp2d24";
-  };
-
-  parallel-rdp = fetchFromGitHub {
-    owner = "Themaister";
-    repo = "parallel-rdp-standalone";
-    rev = "0dcebe11ee79288441e40e145c8f340d81f52316";
-    sha256 = "1avp4wyfkhk5yfjqx5w3jbqghn2mq5la7k9248kjmnp9n9lip6w9";
+    sha256 = "0rhq39w41j9yr1fkyfmf4n6fjxnq1cglj98rp4wys12kwqv7smvx";
   };
 
   patches = [
+    ./dont-rebuild-on-install.patch
     ./fix-ruby.patch
   ];
 
-  enableParallelBuilding = true;
-  dontConfigure = true;
-
   nativeBuildInputs = [
     pkg-config
   ];
 
   buildInputs = [
+    SDL2
     alsa-lib
+    gtk3
     gtksourceview3
+    libGL
+    libGLU
+    libX11
     libXv
-    openal
-    libpulseaudio
     libao
+    libpulseaudio
+    openal
     udev
-    SDL2
   ];
 
-  buildPhase = ''
-    runHook preBuild
-
-    rm -rf ares/n64/vulkan/parallel-rdp
-    ln -sf ${parallel-rdp} ares/n64/vulkan/parallel-rdp
-    make -C desktop-ui -j $NIX_BUILD_CORES openmp=true vulkan=true local=false hiro=gtk3
-
-    runHook postBuild
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/{bin,share/{applications,ares,pixmaps}}
-    cp desktop-ui/out/ares $out/bin
-    cp desktop-ui/resource/ares.desktop $out/share/applications
-    cp desktop-ui/resource/{ares{.ico,.png},font.png} $out/share/pixmaps
-    cp -r ares/{Shaders,System} $out/share/ares
+  enableParallelBuilding = true;
 
-    runHook postInstall
-  '';
+  makeFlags = [
+    "-C desktop-ui"
+    "local=false"
+    "openmp=true"
+    "hiro=gtk3"
+    "prefix=$(out)"
+  ];
 
   meta = with lib; {
     homepage = "https://ares.dev";
     description = "Open-source multi-system emulator with a focus on accuracy and preservation";
     license = licenses.isc;
     maintainers = with maintainers; [ Madouura ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
+# TODO: select between Qt, GTK2 and GTK3
+# TODO: support Darwin
diff --git a/pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch b/pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch
new file mode 100644
index 0000000000000..7b6bbfc21bdc2
--- /dev/null
+++ b/pkgs/applications/emulators/bsnes/ares/dont-rebuild-on-install.patch
@@ -0,0 +1,22 @@
+From 65cc7647110edd768e7baa7991143014316e655a Mon Sep 17 00:00:00 2001
+From: Madoura <93990818+Madouura@users.noreply.github.com>
+Date: Mon, 9 May 2022 10:17:06 -0500
+Subject: [PATCH] Update GNUmakefile
+
+---
+ desktop-ui/GNUmakefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/desktop-ui/GNUmakefile b/desktop-ui/GNUmakefile
+index 8e27b11d3..0bee561fb 100644
+--- a/desktop-ui/GNUmakefile
++++ b/desktop-ui/GNUmakefile
+@@ -106,7 +106,7 @@ endif
+ 	$(call rdelete,$(object.path))
+ 	$(call rdelete,$(output.path))
+ 
+-install: all
++install:
+ ifeq ($(platform),windows)
+ 	$(call mkdir,$(prefix)/$(name)/)
+ else ifeq ($(shell id -un),root)
diff --git a/pkgs/applications/emulators/citra/default.nix b/pkgs/applications/emulators/citra/default.nix
index 92d0f5b1d3648..31f5ebc3038ca 100644
--- a/pkgs/applications/emulators/citra/default.nix
+++ b/pkgs/applications/emulators/citra/default.nix
@@ -77,9 +77,11 @@ stdenv.mkDerivation {
     chmod -R a+w externals/zstd
   '';
 
-  # Todo: cubeb audio backend (the default one) doesn't work on the SDL interface.
-  # This seems to be a problem with libpulseaudio, other applications have similar problems (e.g Duckstation).
-  # Note that the two interfaces have two separate configuration files.
+  # Fixes https://github.com/NixOS/nixpkgs/issues/171173
+  postInstall = lib.optionalString (enableCubeb && enableSdl2) ''
+    wrapProgram "$out/bin/citra" \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio ]}
+  '';
 
   meta = with lib; {
     homepage = "https://citra-emu.org";
diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index d15c99d355bb9..d070c86eef8ce 100644
--- a/pkgs/applications/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
@@ -29,10 +29,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.commanderx16.com/forum/index.php?/home/";
     description = "The official emulator of CommanderX16 8-bit computer";
+    homepage = "https://www.commanderx16.com/forum/index.php?/home/";
     license = licenses.bsd2;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "x16emu";
     inherit (SDL2.meta) platforms;
   };
 
diff --git a/pkgs/applications/emulators/dgen-sdl/default.nix b/pkgs/applications/emulators/dgen-sdl/default.nix
index e56ca12a4e96e..cbcdad4a3c2bb 100644
--- a/pkgs/applications/emulators/dgen-sdl/default.nix
+++ b/pkgs/applications/emulators/dgen-sdl/default.nix
@@ -1,39 +1,41 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , libarchive
 , SDL
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "dgen-sdl";
   version = "1.33";
-in stdenv.mkDerivation {
-  inherit pname version;
 
   src = fetchurl {
     url = "https://sourceforge.net/projects/dgen/files/dgen/${version}/${pname}-${version}.tar.gz";
     hash = "sha256-meLAYBfCKHPHf4gYbrzAmGckTrbgQsdjuwlLArje9h4=";
   };
 
-  buildInputs = [ SDL libarchive ];
+  buildInputs = [
+    SDL
+    libarchive
+  ];
 
   configureFlags = [
-    "--enable-joystick"
-    "--enable-debugger"
     "--enable-debug-vdp"
+    "--enable-debugger"
+    "--enable-joystick"
     "--enable-pico" # experimental
     "--enable-vgmdump"
-    "--with-star=no" # Needs ASM support
-    "--with-musa"
     "--with-cyclone=no" # Needs ASM support
-    "--with-mz80"
     "--with-cz80"
     "--with-drz80=no" # Needs ASM support
     "--with-dz80"
+    "--with-musa"
+    "--with-mz80"
+    "--with-star=no" # Needs ASM support
   ];
 
   meta = with lib; {
-    homepage = "https://dgen.sourceforge.net/";
+    homepage = "http://dgen.sourceforge.net/";
     description = "Sega Genesis/Mega Drive emulator";
     longDescription = ''
       DGen/SDL is a free, open source emulator for Sega Genesis/Mega Drive
diff --git a/pkgs/applications/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index 8e4d909a724ac..45bb9ed74f9f6 100644
--- a/pkgs/applications/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
@@ -90,8 +90,9 @@ mkDerivation rec {
     runHook postCheck
   '';
 
+  # Libpulseaudio fixes https://github.com/NixOS/nixpkgs/issues/171173
   qtWrapperArgs = [
-    "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib"
+    "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio vulkan-loader ]}"
   ];
 
   meta = with lib; {
@@ -102,5 +103,3 @@ mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-# TODO: default sound backend (cubeb) does not work, but SDL does. Strangely,
-# switching to cubeb while a game is running makes it work.
diff --git a/pkgs/applications/emulators/emulationstation/default.nix b/pkgs/applications/emulators/emulationstation/default.nix
index 4cb5ca9ec2e68..2acb81cf032f3 100644
--- a/pkgs/applications/emulators/emulationstation/default.nix
+++ b/pkgs/applications/emulators/emulationstation/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, boost, eigen
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, curl, boost169, eigen
 , freeimage, freetype, libGLU, libGL, SDL2, alsa-lib, libarchive
 , fetchpatch }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   ];
 
   nativeBuildInputs = [ pkg-config cmake ];
-  buildInputs = [ alsa-lib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
+  buildInputs = [ alsa-lib boost169 curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
 
   installPhase = ''
     install -D ../emulationstation $out/bin/emulationstation
diff --git a/pkgs/applications/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index 2e22e7d9053a9..a5ff1106fd688 100644
--- a/pkgs/applications/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
@@ -12,7 +12,9 @@
 , libpng
 , libpulseaudio
 , libsamplerate
-, libxml2
+, libXdmcp
+, openssl
+, pcre
 , perl
 , pkg-config
 , portaudio
@@ -20,6 +22,8 @@
 , soundtouch
 , stdenv
 , udev
+, vulkan-headers
+, vulkan-loader
 , wrapGAppsHook
 , wxGTK
 , zlib
@@ -28,14 +32,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsx2";
-  version = "1.7.2105";
+  version = "1.7.2731";
 
   src = fetchFromGitHub {
     owner = "PCSX2";
     repo = "pcsx2";
     fetchSubmodules = true;
     rev = "v${version}";
-    hash = "sha256-/A8u7oDIVs0Zmne0ebaXxOeIQbM9pr62KEH6FJR2umk=";
+    hash = "sha256-b3cK3ly9J44YMy/cNprlDCSsu8+DrlhRSLXv5xMouWo=";
   };
 
   cmakeFlags = [
@@ -44,9 +48,10 @@ stdenv.mkDerivation rec {
     "-DPACKAGE_MODE=TRUE"
     "-DWAYLAND_API=TRUE"
     "-DXDG_STD=TRUE"
+    "-DUSE_VULKAN=TRUE"
   ];
 
-  nativeBuildInputs = [ cmake perl pkg-config wrapGAppsHook ];
+  nativeBuildInputs = [ cmake perl pkg-config vulkan-headers wrapGAppsHook ];
 
   buildInputs = [
     alsa-lib
@@ -60,16 +65,29 @@ stdenv.mkDerivation rec {
     libpng
     libpulseaudio
     libsamplerate
-    libxml2
+    libXdmcp
+    openssl
+    pcre
     portaudio
     SDL2
     soundtouch
     udev
+    vulkan-loader
     wayland
     wxGTK
     zlib
   ];
 
+  # Wayland doesn't seem to work right now (crashes when booting a game).
+  # Try removing `--prefix GDK_BACKEND : x11` on the next update.
+  # (This may be solved when the project finshes migrating to Qt)
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
+      --prefix GDK_BACKEND : x11
+    )
+  '';
+
   meta = with lib; {
     description = "Playstation 2 emulator";
     longDescription = ''
@@ -81,13 +99,12 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://pcsx2.net";
     maintainers = with maintainers; [ hrdinka govanify ];
-    mainProgram = "PCSX2";
 
     # PCSX2's source code is released under LGPLv3+. It However ships
     # additional data files and code that are licensed differently.
     # This might be solved in future, for now we should stick with
     # license.free
     license = licenses.free;
-    platforms = platforms.x86;
+    platforms = platforms.x86_64;
   };
 }
diff --git a/pkgs/applications/emulators/retrofe/default.nix b/pkgs/applications/emulators/retrofe/default.nix
index dc1a23f33b398..2a0b41ba2b6c2 100644
--- a/pkgs/applications/emulators/retrofe/default.nix
+++ b/pkgs/applications/emulators/retrofe/default.nix
@@ -1,15 +1,16 @@
-{ lib, stdenv, fetchhg, cmake, glib, gst_all_1, makeWrapper, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, glib, gst_all_1, makeWrapper, pkg-config
 , python2, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, sqlite, zlib, runtimeShell
 }:
 
 stdenv.mkDerivation {
   pname = "retrofe";
-  version = "0.6.169";
+  version = "0.10.31";
 
-  src = fetchhg {
-    url = "https://bitbucket.org/teamretro/retrofe";
-    rev = "8793e03";
-    sha256 = "0cvsg07ff0fdqh5zgiv2fs7s6c98hn150kpxmpw5fn6jilaszwkm";
+  src = fetchFromGitHub {
+    owner = "phulshof";
+    repo = "RetroFE";
+    rev = "2ddd65a76210d241031c4ac9268255f311df25d1";
+    sha256 = "sha256-uBfECbU2Df/pPpEXXq62S7Ec0YU4lPIsZ8k5UmKD7xQ=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper pkg-config python2 ];
@@ -18,12 +19,9 @@ stdenv.mkDerivation {
     glib gst_all_1.gstreamer SDL2 SDL2_image SDL2_mixer SDL2_ttf sqlite zlib
   ] ++ (with gst_all_1; [ gst-libav gst-plugins-base gst-plugins-good ]);
 
-  patches = [ ./include-paths.patch ];
-
   configurePhase = ''
     cmake RetroFE/Source -BRetroFE/Build -DCMAKE_BUILD_TYPE=Release \
       -DVERSION_MAJOR=0 -DVERSION_MINOR=0 -DVERSION_BUILD=0 \
-      -DGSTREAMER_BASE_INCLUDE_DIRS='${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0'
   '';
 
   buildPhase = ''
@@ -70,7 +68,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A frontend for arcade cabinets and media PCs";
-    homepage = "http://retrofe.com";
+    homepage = "http://retrofe.nl/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hrdinka ];
     platforms = with platforms; linux;
diff --git a/pkgs/applications/emulators/retrofe/include-paths.patch b/pkgs/applications/emulators/retrofe/include-paths.patch
deleted file mode 100644
index 02eef2594ea63..0000000000000
--- a/pkgs/applications/emulators/retrofe/include-paths.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur RetroFE.1/RetroFE/Source/CMakeLists.txt RetroFE.2/RetroFE/Source/CMakeLists.txt
---- RetroFE.1/RetroFE/Source/CMakeLists.txt	2016-02-21 14:52:36.726070602 +0100
-+++ RetroFE.2/RetroFE/Source/CMakeLists.txt	2016-02-21 14:38:43.036249029 +0100
-@@ -59,6 +59,7 @@
- set(RETROFE_INCLUDE_DIRS

- 	"${GLIB2_INCLUDE_DIRS}"

- 	"${GSTREAMER_INCLUDE_DIRS}"

-+	"${GSTREAMER_BASE_INCLUDE_DIRS}"

- 	"${SDL2_INCLUDE_DIRS}"

- 	"${SDL2_IMAGE_INCLUDE_DIRS}"

- 	"${SDL2_MIXER_INCLUDE_DIRS}"

diff --git a/pkgs/applications/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index e235b2c80fb47..60aa9debfb001 100644
--- a/pkgs/applications/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -58,6 +58,10 @@ buildDotnetModule rec {
     pulseaudio
   ];
 
+  makeWrapperArgs = [
+    "--suffix PATH : ${lib.getBin ffmpeg}"
+  ];
+
   patches = [
     ./appdir.patch # Ryujinx attempts to write to the nix store. This patch redirects it to "~/.config/Ryujinx" on Linux.
   ];
@@ -66,11 +70,6 @@ buildDotnetModule rec {
     # workaround for https://github.com/Ryujinx/Ryujinx/issues/2349
     mkdir -p $out/lib/sndio-6
     ln -s ${sndio}/lib/libsndio.so $out/lib/sndio-6/libsndio.so.6
-
-    # Ryujinx tries to use ffmpeg from PATH
-    makeWrapperArgs+=(
-      --suffix PATH : ${lib.makeBinPath [ ffmpeg ]}
-    )
   '';
 
   preFixup = ''
diff --git a/pkgs/applications/emulators/simh/default.nix b/pkgs/applications/emulators/simh/default.nix
index 1e939538cda34..6f3409ec0637d 100644
--- a/pkgs/applications/emulators/simh/default.nix
+++ b/pkgs/applications/emulators/simh/default.nix
@@ -22,6 +22,11 @@ stdenv.mkDerivation rec {
 
   dontConfigure = true;
 
+  # Workaround to build against upstream gcc-10 and clang-11.
+  # Can be removed when next release contains
+  #    https://github.com/simh/simh/issues/794
+  NIX_CFLAGS_COMPILE = [ "-fcommon" ];
+
   makeFlags = [ "GCC=${stdenv.cc.targetPrefix}cc" "CC_STD=-std=c99" "LDFLAGS=-lm" ];
 
   preInstall = ''
diff --git a/pkgs/applications/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix
index 7788b13b4ecb5..47852d69e3baa 100644
--- a/pkgs/applications/emulators/wine/base.nix
+++ b/pkgs/applications/emulators/wine/base.nix
@@ -175,7 +175,9 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     done
   '';
 
-  enableParallelBuilding = true;
+  # Until https://github.com/NixOS/nixpkgs/pull/172617 is applied,
+  # parallel builds do not always work because of a bug in dlltool.
+  enableParallelBuilding = false;
 
   # https://bugs.winehq.org/show_bug.cgi?id=43530
   # https://github.com/NixOS/nixpkgs/issues/31989
diff --git a/pkgs/applications/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 23538a237e4a1..febbece46f579 100644
--- a/pkgs/applications/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -46,22 +46,22 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "7.4";
+    version = "7.8";
     url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
-    sha256 = "sha256-co6GbW5JzpKioMUUMz6f8Ivb9shvXvTmGAFDuNK31BY=";
+    sha256 = "sha256-j3bpyWtQ8qyOJOXe7fo+DZWWpXBnCSJvZalMahYAGbg=";
     inherit (stable) gecko32 gecko64 patches;
 
     mono = fetchurl rec {
-      version = "7.1.1";
+      version = "7.2.0";
       url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
-      sha256 = "sha256-ncjlYDt7xkNU65SuTqD2ghQkdno/9E/w0Z40akkMEeo=";
+      sha256 = "sha256-Xwbq+646SezDHfzqd3B1vUTwzBJuT7Tijs76ButDYyM=";
     };
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "0vlj3b8bnidyhlgkjrnlbah3878zjy3s557vbp16qka42zjaa51q";
+    sha256 = "sha256-payP+lx/aGZErGbkpogNMgsE393e7F2VGrllDKu/Lws=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
@@ -84,8 +84,8 @@ in rec {
 
   winetricks = fetchFromGitHub rec {
     # https://github.com/Winetricks/winetricks/releases
-    version = "20210825";
-    sha256 = "sha256-exMhj3dS8uXCEgOaWbftaq94mBOmtZIXsXb9xNX5ha8=";
+    version = "20220411";
+    sha256 = "sha256-FjH10nZDYbqXI6/vKpZJKfv2maXSVkahNDf5UTU3eyU=";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;
diff --git a/pkgs/applications/emulators/yuzu/compatibility-list.json b/pkgs/applications/emulators/yuzu/compatibility-list.json
deleted file mode 100644
index f780b1deff004..0000000000000
--- a/pkgs/applications/emulators/yuzu/compatibility-list.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"id":"0006b2db-d7ac-44ca-bfbe-e28263a41afd","directory":"samsara-deluxe-edition","title":"Samsara: Deluxe Edition","compatibility":99,"releases":[{"id":"010014000C63C000","region":null}]},{"id":"000f7b84-cb3a-4e56-b34e-4d201f0798cc","directory":"barry-the-bunny","title":"Barry the Bunny","compatibility":99,"releases":[{"id":"0100C46015AA0000","region":null}]},{"id":"001027b2-7b31-4f26-aa64-dff9a9b7866e","directory":"aca-neogeo-metal-slug-3","title":"ACA NEOGEO METAL SLUG 3","compatibility":2,"releases":[{"id":"0100BA8001DC6000","region":null}]},{"id":"001a1be6-35d9-48be-9181-671401213b97","directory":"crossniq","title":"CROSSNIQ+","compatibility":1,"releases":[{"id":"01007BB00E760000","region":null}]},{"id":"001cb4d8-cf72-4292-b8b6-97ec3fc023ae","directory":"arcade-archives-image-fight","title":"Arcade Archives IMAGE FIGHT","compatibility":99,"releases":[{"id":"010008300C978000","region":null}]},{"id":"00303016-7f48-4386-b3e5-1c043c0d2877","directory":"path-through-the-forest","title":"Path: Through the Forest","compatibility":99,"releases":[{"id":"010036C0131E8000","region":null}]},{"id":"003e14aa-0699-4425-9e86-3eef87f5315b","directory":"deadly-days","title":"Deadly Days","compatibility":1,"releases":[{"id":"010095A011A14000","region":null}]},{"id":"00438af7-529e-44f9-b8d8-b48905ee0826","directory":"tetras-escape","title":"TETRA's Escape","compatibility":99,"releases":[{"id":"01004E500A15C000","region":null}]},{"id":"0045e76f-9fd9-4dd0-b5d0-64df6bde1547","directory":"untitled-goose-game","title":"Untitled Goose Game","compatibility":0,"releases":[{"id":"010082400BCC6000","region":null}]},{"id":"005faf1c-42ec-4c95-9a8a-00947085839a","directory":"cyber-hook","title":"Cyber Hook","compatibility":99,"releases":[{"id":"010008A00F15C000","region":null}]},{"id":"00619131-acb5-4cef-bc90-d721db0cf4df","directory":"chime-sharp","title":"Chime Sharp","compatibility":99,"releases":[{"id":"010069900C4AC000","region":null}]},{"id":"0061f86a-4b67-40ae-bfd6-d3bb2b6fed83","directory":"fishwitch-halloween","title":"FishWitch Halloween","compatibility":99,"releases":[{"id":"01004AA016918000","region":null}]},{"id":"0062101a-3109-4361-9914-51b33e6d4820","directory":"the-number-puzzle","title":"THE Number Puzzle","compatibility":99,"releases":[{"id":"0100A6F00A0FE000","region":null}]},{"id":"0063b5e2-64d2-4d6c-908e-141764fb3dd6","directory":"dairoku-agents-of-sakuratani","title":"Dairoku: Agents of Sakuratani","compatibility":99,"releases":[{"id":"010031F0143AE000","region":null}]},{"id":"007431da-a370-4ae5-8b2c-6709e47fe540","directory":"rivals-of-aether","title":"Rivals of Aether","compatibility":99,"releases":[{"id":"0100D2700DE7C000","region":null}]},{"id":"00760040-b010-4eda-867a-6f076aa7cd8b","directory":"va-11-hall-a-cyberpunk-bartender-action","title":"VA-11 Hall-A: Cyberpunk Bartender Action","compatibility":3,"releases":[{"id":"010086500D3C8000","region":null}]},{"id":"007d1b30-b2b4-4c05-a170-c5d7f71310e3","directory":"dusk-diver","title":"Dusk Diver","compatibility":3,"releases":[{"id":"0100B2B00E7AA000","region":null}]},{"id":"008490e4-94de-48ac-9ee3-bf859cb20c4d","directory":"space-commander-war-and-trade","title":"Space Commander: War and Trade","compatibility":0,"releases":[{"id":"0100E1E014AFA000","region":null}]},{"id":"0088eb2b-4ecc-4385-a19b-cd03056cfa07","directory":"wood-block-escape-puzzles-3","title":"Wood Block Escape Puzzles 3","compatibility":99,"releases":[{"id":"0100FA60152CC000","region":null}]},{"id":"008bc3d4-7e83-44d7-a6b5-f6c12b1e61d4","directory":"grizzland","title":"Grizzland","compatibility":2,"releases":[{"id":"010091300FFA0000","region":null}]},{"id":"008e5f9e-1428-4b99-bef0-4d8b4e281efc","directory":"mindball-play","title":"Mindball Play","compatibility":99,"releases":[{"id":"01002CD00C7C8000","region":null}]},{"id":"009302c8-fa3d-41a4-a209-4ecea3057bde","directory":"horse-farm","title":"Horse Farm","compatibility":4,"releases":[{"id":"010040900F032000","region":null}]},{"id":"00c489ba-0bb8-4151-a7e9-e67032bbbb48","directory":"enchanted-in-the-moonlight-kiryu-chikage-and-yukinojo-","title":"Enchanted in the Moonlight - Kiryu, Chikage & Yukinojo -","compatibility":3,"releases":[{"id":"010068300E08E000","region":null}]},{"id":"00c52b4e-54bd-4ef9-bf3c-62d3c2557d2f","directory":"the-wardrobe-even-better-edition","title":"The Wardrobe: Even Better Edition","compatibility":0,"releases":[{"id":"01008B200FC6C000","region":null}]},{"id":"00c65a86-4a43-4d11-81cd-ab502493fabe","directory":"throw-it-animal-park","title":"Throw it! Animal Park","compatibility":99,"releases":[{"id":"0100A52011374000","region":null}]},{"id":"00c88822-8324-4caf-91c5-6e83b8b7c225","directory":"wizards-wand-of-epicosity","title":"Wizards: Wand of Epicosity","compatibility":1,"releases":[{"id":"0100C7600E77E000","region":null}]},{"id":"00ce8157-a53b-4055-a833-723362dce618","directory":"8-9-ball-pocket","title":"8 & 9 Ball Pocket","compatibility":99,"releases":[{"id":"010049B016CF8000","region":null}]},{"id":"00e896e9-0a71-4764-b159-69b7c54d8bd9","directory":"devious-dungeon-demo","title":"Devious Dungeon DEMO","compatibility":99,"releases":[{"id":"0100EB900A534000","region":null}]},{"id":"00f6959e-063a-4ffb-a176-6cb4a2eb2e39","directory":"guild-of-darksteel","title":"Guild of Darksteel","compatibility":99,"releases":[{"id":"0100700013364000","region":null}]},{"id":"01019252-62f3-4bce-8915-a11bff86cdec","directory":"starlit-adventures-golden-stars","title":"Starlit Adventures Golden Stars","compatibility":99,"releases":[{"id":"010098E010FDA000","region":null}]},{"id":"010c619b-8da7-405d-a46f-7024b3eec4b6","directory":"dead-effect-2","title":"Dead Effect 2","compatibility":0,"releases":[{"id":"01007860152EE000","region":null}]},{"id":"01129eac-ddcb-4fbc-af9f-83359e385f3b","directory":"midnight-evil","title":"Midnight Evil","compatibility":99,"releases":[{"id":"0100A1200F20C000","region":null}]},{"id":"0114261a-d54e-4b3a-b169-534f0b0b740b","directory":"rayman-r-legends-definitive-edition-demo","title":"RAYMAN® LEGENDS: DEFINITIVE EDITION DEMO","compatibility":1,"releases":[{"id":"0100974004924000","region":null}]},{"id":"011ba4ba-6e43-4f48-8156-af39b883dc1f","directory":"arcade-archives-orius","title":"Arcade Archives ORIUS","compatibility":99,"releases":[{"id":"0100752016C3C000","region":null}]},{"id":"011d3d94-fa2f-4a69-8804-870dc6a15a73","directory":"asteroids-recharged","title":"Asteroids: Recharged","compatibility":2,"releases":[{"id":"01007DB01689C000","region":null}]},{"id":"012a66dc-b7ea-498d-832f-4b984298d4d3","directory":"arcade-archives-donkey-kong-3","title":"Arcade Archives DONKEY KONG 3","compatibility":2,"releases":[{"id":"010002E00D3FE000","region":null}]},{"id":"012f487b-733f-4c09-8e91-8fa11b2a0e48","directory":"mortal-kombat-11","title":"Mortal Kombat 11","compatibility":5,"releases":[{"id":"0100F2200C984000","region":null}]},{"id":"0131fb9e-1a78-43f3-b9d9-6e7c01c1d9e1","directory":"fantasy-hero-unsigned-legacy","title":"FANTASY HERO ~unsigned legacy~","compatibility":1,"releases":[{"id":"0100767008502000","region":null}]},{"id":"013776e4-78a9-4ff2-8dbb-7309afb6aaf3","directory":"golf-story","title":"Golf Story","compatibility":0,"releases":[{"id":"0100779004172000","region":null}]},{"id":"0144b61b-db22-4d37-9710-59d82d42b802","directory":"unicornicopia","title":"Unicornicopia","compatibility":99,"releases":[{"id":"0100A8700B30E000","region":null}]},{"id":"01468391-2729-43f3-8a0b-4d8bb6fa5559","directory":"x-morph-defense","title":"X-Morph: Defense","compatibility":99,"releases":[{"id":"0100DF100B97C000","region":null}]},{"id":"01483cc5-6848-48e4-8938-82506ee86f22","directory":"resolutiion","title":"Resolutiion","compatibility":5,"releases":[{"id":"0100E7F00FFB8000","region":null}]},{"id":"0149e6ce-d105-460a-ace5-17c176e866ca","directory":"serial-cleaner","title":"Serial Cleaner","compatibility":0,"releases":[{"id":"0100818008004000","region":null}]},{"id":"014ec7ad-c9e6-4c96-b065-cff7b33daa92","directory":"ramp-car-jumping","title":"Ramp Car Jumping","compatibility":4,"releases":[{"id":"0100F30012CBE000","region":null}]},{"id":"01519e31-7a53-402f-9da4-e29cd5d5d218","directory":"payday-2","title":"PAYDAY 2","compatibility":0,"releases":[{"id":"0100274004052000","region":null}]},{"id":"01554519-c001-4256-9593-3f7b71580afc","directory":"resident-evil","title":"Resident Evil","compatibility":1,"releases":[{"id":"010050F00BC1A000","region":null}]},{"id":"01585892-1b9e-4db7-bdd1-833022b77751","directory":"katana-zero","title":"Katana ZERO","compatibility":1,"releases":[{"id":"010029600D56A000","region":null}]},{"id":"0172902a-2c5e-4d38-9761-83e5bd5cc919","directory":"titans-pinball","title":"Titans Pinball","compatibility":99,"releases":[{"id":"01009C400E93E000","region":null}]},{"id":"017369db-f3af-45e6-a4e8-f737b84fba35","directory":"blocky-puzzle","title":"Blocky Puzzle","compatibility":99,"releases":[{"id":"01008B7015532000","region":null}]},{"id":"0176b68f-42d7-476f-90b0-a7782e1854e8","directory":"mushihimesama","title":"Mushihimesama","compatibility":1,"releases":[{"id":"010045800FBD0000","region":null}]},{"id":"0176e052-0257-4c09-a8d3-316e6c5602f8","directory":"stitchy-in-tooki-trouble","title":"Stitchy in Tooki Trouble","compatibility":0,"releases":[{"id":"010077B014518000","region":null}]},{"id":"01886de7-8948-4794-9bb1-0c514b856ab7","directory":"robox","title":"Robox","compatibility":99,"releases":[{"id":"010018800C7D2000","region":null}]},{"id":"018f0069-8fcb-45d9-9569-fafa365b88bb","directory":"lost-in-harmony","title":"Lost in Harmony","compatibility":99,"releases":[{"id":"0100B6C00AF6E000","region":null}]},{"id":"0193f221-2265-4818-82bc-064f6616837b","directory":"jetpin","title":"jetPIN","compatibility":99,"releases":[{"id":"0100BCC013864000","region":null}]},{"id":"019a74d6-11f9-4e2a-bbd1-46619aec45d4","directory":"neoverse-trinity-edition","title":"Neoverse Trinity Edition","compatibility":2,"releases":[{"id":"01001A201331E000","region":null}]},{"id":"01a6c714-fbdb-4198-8829-2cd1be71cf93","directory":"warlocks-tower","title":"Warlock's Tower","compatibility":99,"releases":[{"id":"010086C00790C000","region":null}]},{"id":"01a87ead-6dbb-49fa-b9b6-3b285a9ace6d","directory":"crypto-by-powgi","title":"Crypto by POWGI","compatibility":99,"releases":[{"id":"0100D480111C6000","region":null}]},{"id":"01bd32a5-03bf-4c4b-b4df-8c1e8f3ef3e7","directory":"evoland-legendary-edition","title":"Evoland Legendary Edition","compatibility":1,"releases":[{"id":"0100ED100B160000","region":null}]},{"id":"01bf2f4a-4eab-49a6-aad6-299628592331","directory":"hotline-miami-collection","title":"Hotline Miami Collection","compatibility":0,"releases":[{"id":"0100D0E00E51E000","region":null}]},{"id":"01c6bb6f-aa9a-4869-bfa0-7459ce9bb0f5","directory":"perry-pig-jump","title":"Perry Pig Jump","compatibility":99,"releases":[{"id":"01001E800D314000","region":null}]},{"id":"01d391d8-4b16-4bcd-b17d-ea0f36d09158","directory":"knight-terrors","title":"Knight Terrors","compatibility":99,"releases":[{"id":"0100D51006AAC000","region":null}]},{"id":"01d5a9a3-49ce-44e9-951c-73e708be78a4","directory":"arietta-of-spirits","title":"Arietta of Spirits","compatibility":2,"releases":[{"id":"0100E95015392000","region":null}]},{"id":"01f3da51-5ec6-4046-8bf3-192fa5c84ea5","directory":"the-childs-sight","title":"The Childs Sight","compatibility":99,"releases":[{"id":"010066800E9F8000","region":null}]},{"id":"01fa5774-bb1c-4eec-ae86-32cbca53bc17","directory":"bridge-constructor-ultimate-edition","title":"Bridge Constructor Ultimate Edition","compatibility":99,"releases":[{"id":"0100B2500F0E0000","region":null}]},{"id":"01ff1612-9583-40aa-abf9-12d2691d3ae6","directory":"this-is-the-zodiac-speaking","title":"This is the Zodiac Speaking","compatibility":99,"releases":[{"id":"010052D0129E4000","region":null}]},{"id":"020774d7-f81e-489d-a92d-81d9eb946e99","directory":"video-poker-at-aces-casino","title":"Video Poker at Aces Casino","compatibility":99,"releases":[{"id":"010049901147A000","region":null}]},{"id":"020dd823-9809-4f63-a75a-d4dfce101ed2","directory":"love-a-puzzle-box-filled-with-stories","title":"LOVE - A Puzzle Box Filled with Stories","compatibility":99,"releases":[{"id":"01004F0013BAA000","region":null}]},{"id":"021c63e3-31b9-4877-b07e-f5cd30bbb9e7","directory":"the-wardrobe","title":"The Wardrobe","compatibility":99,"releases":[{"id":"0100A6D009840000","region":null}]},{"id":"02208c4f-2448-4d68-b5a6-a7a8d191bc59","directory":"2048-cat","title":"2048 CAT","compatibility":0,"releases":[{"id":"01005E101014C000","region":null}]},{"id":"022a79fa-f098-470a-b783-5123209f91cb","directory":"townsmen","title":"Townsmen","compatibility":3,"releases":[{"id":"010049E00BA34000","region":null}]},{"id":"02348c3d-a06e-44c8-bff1-d3c2d21144cb","directory":"gunhouse","title":"Gunhouse","compatibility":99,"releases":[{"id":"010081C008164000","region":null}]},{"id":"023621d3-ecd1-4410-811e-0d10eb72dc04","directory":"hardway-party","title":"Hardway Party","compatibility":99,"releases":[{"id":"0100BB600C096000","region":null}]},{"id":"023723a6-48b9-4e31-aab5-e8e6741a3fc8","directory":"tetras-escape-demo","title":"Tetra's Escape DEMO","compatibility":99,"releases":[{"id":"01001F200A536000","region":null}]},{"id":"024a10a9-873f-4288-abb8-fc1cc988eefb","directory":"pity-pit","title":"Pity Pit","compatibility":99,"releases":[{"id":"0100197011BFE000","region":null}]},{"id":"024ffac6-eb15-4a76-b29c-36241a5a610c","directory":"broken-age","title":"Broken Age","compatibility":1,"releases":[{"id":"0100EDD0068A6000","region":null}]},{"id":"026c211b-1a6f-433e-b727-4a5a10aa38ee","directory":"cargo-crew-driver","title":"Cargo Crew Driver","compatibility":99,"releases":[{"id":"0100DD6014870000","region":null}]},{"id":"0273ebc8-91b9-4f6a-8295-46d574258a0f","directory":"multi-quiz","title":"Multi Quiz","compatibility":99,"releases":[{"id":"01008E2013FB4000","region":null}]},{"id":"02741eb6-1473-44bd-9b47-6e708fac2ecc","directory":"hero-express","title":"Hero Express","compatibility":99,"releases":[{"id":"0100BEA00E63A000","region":null}]},{"id":"027458bb-a69b-4bdf-8673-5e293c4026f6","directory":"bloodstained-curse-of-the-moon-2","title":"Bloodstained: Curse of the Moon 2","compatibility":0,"releases":[{"id":"01004680124E6000","region":null}]},{"id":"0275f145-b729-4f08-9bb2-47bc3d4b4b69","directory":"flight-sim-2019","title":"Flight Sim 2019","compatibility":1,"releases":[{"id":"0100B9000F2D8000","region":null}]},{"id":"027af589-d0bc-45fe-9bc5-021538fef37b","directory":"psikyo-shooting-stars-alpha","title":"Psikyo Shooting Stars Alpha","compatibility":4,"releases":[{"id":"01007A200F2E2000","region":null}]},{"id":"028dfaf6-f71a-4e77-9fba-02f9ab66a8fe","directory":"regions-of-ruin","title":"Regions of Ruin","compatibility":99,"releases":[{"id":"01005FD00F15A000","region":null}]},{"id":"0291b9ae-5e17-4a84-b8bc-620528a23367","directory":"star-ghost","title":"Star Ghost","compatibility":4,"releases":[{"id":"01002EB007D3A000","region":null}]},{"id":"0292fc04-d7fc-434b-9eef-d0be437dc71f","directory":"a-day-without-me","title":"A Day Without Me","compatibility":99,"releases":[{"id":"0100CD501401E000","region":null}]},{"id":"02a03133-df4e-4446-9ae9-cd8189220251","directory":"rigid-force-redux","title":"Rigid Force Redux","compatibility":0,"releases":[{"id":"0100763010D5A000","region":null}]},{"id":"02abfa5e-b34f-4cc8-bf88-186b62451ab6","directory":"just-shapes-beats-demo","title":"Just Shapes & Beats Demo","compatibility":99,"releases":[{"id":"0100D9600BA8E000","region":null}]},{"id":"02b18ac9-d844-4827-aeab-613019664c58","directory":"uno-demo","title":"Uno Demo","compatibility":99,"releases":[{"id":"010037B00A9C8000","region":null}]},{"id":"02c84d2f-d018-4af9-8944-e2443e2bc0f0","directory":"sumire","title":"Sumire","compatibility":1,"releases":[{"id":"01003D50126A4000","region":null}]},{"id":"02c89828-6468-41db-acd5-d34470c836ab","directory":"gearclub-unlimited","title":"Gear.Club Unlimited","compatibility":1,"releases":[{"id":"010065E003FD8000","region":null}]},{"id":"02d7e5aa-cc90-47cd-8f07-f4de0ad1c41b","directory":"timberman-vs","title":"Timberman VS","compatibility":99,"releases":[{"id":"0100EA1009022000","region":null}]},{"id":"02d82fa2-e38e-4c2b-9b57-839f0fb8dc61","directory":"null-drifter","title":"Null Drifter","compatibility":99,"releases":[{"id":"01000CC010594000","region":null}]},{"id":"02e71fc4-167c-458d-a6b8-2f4564fac71c","directory":"the-dark-eye-memoria","title":"The Dark Eye: Memoria","compatibility":99,"releases":[{"id":"01003FA00EE36000","region":null}]},{"id":"02e8c180-6592-4140-af57-85d1e5cf29c2","directory":"god-wars-the-complete-legend","title":"GOD WARS The Complete Legend","compatibility":99,"releases":[{"id":"0100F3D00B032000","region":null}]},{"id":"02f5b14c-87b0-41c6-9d8e-05a34bc6c634","directory":"8-ball-pocket","title":"8-Ball Pocket","compatibility":99,"releases":[{"id":"0100A9900F3BE000","region":null}]},{"id":"02f824e9-6665-468d-a6bb-0d3bb7ace158","directory":"prehistoric-life-puzzles","title":"Prehistoric Life Puzzles","compatibility":99,"releases":[{"id":"0100CC9015E30000","region":null}]},{"id":"02fac8d7-97dc-4f0b-aea8-d9e45fae6e86","directory":"prison-architect-nintendo-switch-edition","title":"Prison Architect: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"010029200AB1C000","region":null}]},{"id":"02fbbefa-67d5-4e16-bf7e-a0e28cfb1511","directory":"1-anagrams","title":"#1 Anagrams","compatibility":99,"releases":[{"id":"0100F1D014F08000","region":null}]},{"id":"02fd7bf2-2e52-4bcd-8783-542942bd9cea","directory":"fantasy-tavern-sextet-vol-3-postlude-days","title":"Fantasy Tavern Sextet -Vol.3 Postlude Days-","compatibility":4,"releases":[{"id":"010043D014336000","region":null}]},{"id":"0300f2f2-7add-4196-a952-82ba6e735c4b","directory":"spintires-mudrunner-american-wilds","title":"Spintires: MudRunner - American Wilds","compatibility":2,"releases":[{"id":"01009D200952E000","region":null}]},{"id":"0307b175-72e6-45da-a8cc-d07c3f854868","directory":"link-a-pix-deluxe","title":"Link-a-Pix Deluxe","compatibility":0,"releases":[{"id":"010047600FBFE000","region":null}]},{"id":"0320f44f-ac02-463f-affd-536cc0963cc2","directory":"bridge-constructor-the-walking-dead","title":"Bridge Constructor: The Walking Dead","compatibility":99,"releases":[{"id":"01002AD0126AE000","region":null}]},{"id":"0321122f-a505-42ef-a1fc-71d5301c3309","directory":"just-dance-2019","title":"Just Dance 2019","compatibility":0,"releases":[{"id":"010075600AE96000","region":null}]},{"id":"03291850-6c69-4df0-9a55-aa7a1ea7f41f","directory":"startide","title":"Startide","compatibility":99,"releases":[{"id":"010051D00C9F8000","region":null}]},{"id":"032d0936-77ad-4041-86d2-4ff8148db22e","directory":"emma-lost-in-memories","title":"Emma: Lost in Memories","compatibility":99,"releases":[{"id":"010017B0102A8000","region":null}]},{"id":"03442c19-4ed9-427b-ba92-3fb1fd710c1f","directory":"five-nights-at-freddys-sister-location","title":"Five Nights at Freddy's: Sister Location","compatibility":4,"releases":[{"id":"01003B200E440000","region":null}]},{"id":"0348f10e-4526-4483-981f-650359fbbc9b","directory":"mushroom-savior","title":"Mushroom Savior","compatibility":99,"releases":[{"id":"0100812012554000","region":null}]},{"id":"03698c43-9f0e-4441-a3dc-085978bb0ff9","directory":"never-again","title":"Never Again","compatibility":99,"releases":[{"id":"01005F201038C000","region":null}]},{"id":"03699871-074b-4770-bea8-3e46971c5f62","directory":"skully","title":"Skully","compatibility":2,"releases":[{"id":"0100D7B011654000","region":null}]},{"id":"03722d61-ccf7-4012-9fcf-3561b0e3c2f3","directory":"word-forward","title":"Word Forward","compatibility":99,"releases":[{"id":"010051B016642000","region":null}]},{"id":"0374b54a-ebe0-45a1-aa1f-41e49f25d592","directory":"arcade-archives-vs-gradius","title":"Arcade Archives VS. GRADIUS","compatibility":4,"releases":[{"id":"01004EC00E634000","region":null}]},{"id":"037b6d81-0bcc-4319-9395-d9f27304cec3","directory":"the-midnight-sanctuary","title":"The Midnight Sanctuary","compatibility":99,"releases":[{"id":"0100DEC00B2BC000","region":null}]},{"id":"0381c189-fae0-466e-8150-5ce8d8ff6b43","directory":"snack-world-the-dungeon-crawl-gold","title":"SNACK WORLD: THE DUNGEON CRAWL — GOLD","compatibility":99,"releases":[{"id":"010010400D46A000","region":null}]},{"id":"038761c3-cfa3-4b0f-998a-73ef6d63d53c","directory":"pixel-game-maker-series-jewelinx","title":"Pixel Game Maker Series JEWELiNX","compatibility":99,"releases":[{"id":"010054E0168A6000","region":null}]},{"id":"0399e8ee-afa6-409e-be90-c863ac4c8897","directory":"cat-milk","title":".cat Milk","compatibility":99,"releases":[{"id":"0100972015984000","region":null}]},{"id":"039b5923-7444-485d-931d-56d15534fe79","directory":"touhou-spell-bubble","title":"Touhou spell bubble","compatibility":0,"releases":[{"id":"0100E9D00D6C2000","region":null}]},{"id":"03a0a436-aa88-4e62-9715-d73f1178f9e3","directory":"space-wars","title":"Space Wars","compatibility":99,"releases":[{"id":"010014F015DF2000","region":null}]},{"id":"03a69dde-0b31-4ee4-8cc6-6a05459cb390","directory":"traditional-tactics-ne","title":"Traditional Tactics Ne+","compatibility":99,"releases":[{"id":"010008C01010A000","region":null}]},{"id":"03a89231-9bd5-4efe-b1eb-12ebb3f29f15","directory":"hoggy2","title":"Hoggy2","compatibility":99,"releases":[{"id":"0100F7300ED2C000","region":null}]},{"id":"03ae7cbc-0efe-444b-87fd-ea3bd7845dbb","directory":"beat-rush","title":"Beat Rush","compatibility":99,"releases":[{"id":"0100DC500B4B0000","region":null}]},{"id":"03bd3eff-a7a6-4844-9ec9-755603d0f4f8","directory":"the-sokoban","title":"The Sokoban","compatibility":99,"releases":[{"id":"01003B4015BE4000","region":null}]},{"id":"03ee7eb7-f034-472f-9f9f-5b76e494b038","directory":"bullseye","title":"Bullseyeâ„¢","compatibility":99,"releases":[{"id":"0100C06014588000","region":null}]},{"id":"040db7cb-98b4-452f-ae49-2d9d0a2b4be7","directory":"collapsed","title":"Collapsed","compatibility":99,"releases":[{"id":"01004F1012716000","region":null}]},{"id":"04197cee-d255-4215-8b05-b4ea4a45d666","directory":"sydney-hunter-and-the-curse-of-the-mayan","title":"Sydney Hunter and the Curse of the Mayan","compatibility":1,"releases":[{"id":"010007300C482000","region":null}]},{"id":"042343e6-7a4d-4181-b220-9e8b35c6cb24","directory":"okunoka","title":"OkunoKA","compatibility":99,"releases":[{"id":"01006AB00BD82000","region":null}]},{"id":"0435b268-a2ca-4788-b13f-b152e087ef73","directory":"pixel-game-maker-series-dungeon-of-nazarick","title":"Pixel Game Maker Series DUNGEON OF NAZARICK","compatibility":99,"releases":[{"id":"0100F40013720000","region":null}]},{"id":"043b85ef-0143-4690-9337-aba68eb22c0a","directory":"harvest-moon-r-one-world","title":"Harvest Moon®: One World","compatibility":2,"releases":[{"id":"010016B010FDE000","region":null}]},{"id":"044242f6-b9e1-4c67-9c7b-13e02dfc684b","directory":"ibb-obb","title":"ibb & obb","compatibility":99,"releases":[{"id":"0100E09009600000","region":null}]},{"id":"04531cc0-031c-41e2-bb07-dee28ec5e503","directory":"race-with-ryan","title":"Race with Ryan","compatibility":99,"releases":[{"id":"010075D00DD04000","region":null}]},{"id":"0458286c-d1c0-4d93-a867-aca2ab2c264a","directory":"trover-saves-the-universe","title":"Trover Saves The Universe","compatibility":99,"releases":[{"id":"010089600FB72000","region":null}]},{"id":"045f2c38-e15e-4d08-9194-6081d60796fb","directory":"dogfight","title":"Dogfight","compatibility":99,"releases":[{"id":"0100E80013BB0000","region":null}]},{"id":"046256e9-7ca4-4d7e-8786-6ccdcbb570eb","directory":"mon-amour","title":"Mon Amour","compatibility":99,"releases":[{"id":"0100E5500D294000","region":null}]},{"id":"0465c1af-696c-49d5-9092-c18682ac9494","directory":"farm-builder","title":"Farm Builder","compatibility":99,"releases":[{"id":"0100BC50122B6000","region":null}]},{"id":"046e0269-cf03-40fb-9c42-e4c5d171b058","directory":"yu-gi-oh-legacy-of-the-duelist-link-evolution","title":"Yu-Gi-Oh! Legacy of the Duelist: Link Evolution","compatibility":3,"releases":[{"id":"010022400BE5A000","region":null}]},{"id":"047b4e59-0370-41b8-b421-dfb0bf3ee733","directory":"splatter","title":"Splatter","compatibility":99,"releases":[{"id":"0100C8C0163E2000","region":null}]},{"id":"0485c2fd-1cf5-4b06-95d0-fe96d4369ec3","directory":"elva-the-eco-dragon","title":"Elva the Eco Dragon","compatibility":99,"releases":[{"id":"010012E0157A6000","region":null}]},{"id":"048f98bc-98b4-4eca-a84e-8469b78126af","directory":"she-sees-red-interactive-movie","title":"She Sees Red - Interactive Movie","compatibility":1,"releases":[{"id":"01000320110C2000","region":null}]},{"id":"04983c67-22f9-432e-bc7e-a57671f812c5","directory":"hoa","title":"Hoa","compatibility":99,"releases":[{"id":"010022E013A1A000","region":null}]},{"id":"04a14571-c5a5-44cc-945a-c1329e1e7402","directory":"tap-skaters","title":"Tap Skaters","compatibility":99,"releases":[{"id":"0100EBC00ECA8000","region":null}]},{"id":"04a9afdd-f96e-468d-af7e-7f0d2028d7e5","directory":"dead-dungeon","title":"Dead Dungeon","compatibility":99,"releases":[{"id":"01000D900E0F0000","region":null}]},{"id":"04acd6e8-cf01-493f-bad2-d6385859c6d3","directory":"spooky-chase","title":"Spooky Chase","compatibility":99,"releases":[{"id":"010097C01336A000","region":null}]},{"id":"04bf9899-6e58-49ee-b3ae-682dca48c699","directory":"race-arcade","title":"Race Arcade","compatibility":5,"releases":[{"id":"010054A008EE2000","region":null}]},{"id":"04c1d34c-8d64-4f19-96fa-f3c422ef0b21","directory":"override-mech-city-brawl-super-charged-mega-edition","title":"Override: Mech City Brawl – Super Charged Mega Edition","compatibility":99,"releases":[{"id":"0100F2600EA72000","region":null}]},{"id":"04c49116-b803-4a52-aa2f-b3982fdf166d","directory":"the-amazing-american-circus","title":"The Amazing American Circus","compatibility":99,"releases":[{"id":"0100630015B34000","region":null}]},{"id":"04d38b99-74af-4eeb-a574-5ce20286dc8f","directory":"bedtime-blues","title":"Bedtime Blues","compatibility":99,"releases":[{"id":"01001D600D2C8000","region":null}]},{"id":"04d4a2cb-beed-429c-a1ca-3e4bf33d0f5f","directory":"krystopia-a-puzzle-journey","title":"Krystopia: A Puzzle Journey","compatibility":99,"releases":[{"id":"0100971011AFC000","region":null}]},{"id":"04d702e9-bc1c-4f4b-9a9d-909c98c91e08","directory":"project-warlock","title":"Project Warlock","compatibility":0,"releases":[{"id":"0100BDB01150E000","region":null}]},{"id":"04d82582-b141-4d6d-8275-4f2d8d7d0df4","directory":"rpg-maker-mv","title":"RPG Maker MV","compatibility":99,"releases":[{"id":"0100E2C00B414000","region":null}]},{"id":"04d8c37f-0643-4e03-97ea-9b5c708f642a","directory":"donkey-kong-country-tropical-freeze","title":"Donkey Kong Country: Tropical Freeze","compatibility":1,"releases":[{"id":"0100C1F0051B6000","region":null}]},{"id":"04e7168b-337e-42e2-a43f-d3ce75975d71","directory":"close-to-the-sun","title":"Close to the Sun","compatibility":99,"releases":[{"id":"0100B7200DAC6000","region":null}]},{"id":"04eb51d7-8878-4e08-bff0-b43693c33078","directory":"choices-that-matter-and-their-souls-were-eaten","title":"Choices That Matter: And Their Souls Were Eaten","compatibility":99,"releases":[{"id":"01003DA0132EE000","region":null}]},{"id":"051d139e-0622-4b9a-9bbd-8a722874fdff","directory":"himno","title":"Himno","compatibility":99,"releases":[{"id":"010069900F270000","region":null}]},{"id":"05224cd5-7bdf-4b85-a9bc-a0abc6e657a2","directory":"a-winters-daydream","title":"A Winter's Daydream","compatibility":99,"releases":[{"id":"01000ED00F64E000","region":null}]},{"id":"053b753f-3a42-4f91-9524-b2f4b583173f","directory":"hidden-through-time","title":"Hidden Through Time","compatibility":0,"releases":[{"id":"01006D00109FE000","region":null}]},{"id":"053f229e-a2d6-442d-b150-caf49f29c22d","directory":"atelier-escha-and-logy-alchemists-of-the-dusk-sky-dx","title":"Atelier Escha & Logy: Alchemists of the Dusk Sky DX","compatibility":99,"releases":[{"id":"0100E5600EE8E000","region":null}]},{"id":"0542b59f-f5f5-4acb-866d-ba1fcb67743a","directory":"vaporum-lockdown","title":"Vaporum: Lockdown","compatibility":99,"releases":[{"id":"010088D013CE0000","region":null}]},{"id":"054d3a62-da65-4548-972f-5e09c5d244af","directory":"soccer-tactics-and-glory","title":"Soccer, Tactics & Glory","compatibility":99,"releases":[{"id":"010095C00F9DE000","region":null}]},{"id":"0565155a-5684-41bf-b336-f11a8cde8d22","directory":"lego-harry-potter-collection","title":"LEGO Harry Potter Collection","compatibility":3,"releases":[{"id":"010052A00B5D2000","region":null}]},{"id":"05681e05-63f0-42a9-8119-d84ade46feec","directory":"faraday-protocol","title":"Faraday Protocol","compatibility":99,"releases":[{"id":"010076E0145A6000","region":null}]},{"id":"05760a8d-8963-42e3-9aa1-da125fa75e58","directory":"minecraft-dungeons","title":"Minecraft Dungeons","compatibility":1,"releases":[{"id":"01006C100EC08000","region":null}]},{"id":"057c9dcf-93fb-4df1-ae4e-5d5d805fd6a9","directory":"craps-at-aces-casino","title":"Craps at Aces Casino","compatibility":99,"releases":[{"id":"01001CC014784000","region":null}]},{"id":"058eb0d3-aa86-4bac-85eb-88c0a79db175","directory":"snowball-collections-bubble","title":"Snowball Collections Bubble","compatibility":99,"releases":[{"id":"0100C20014B3C000","region":null}]},{"id":"059203a5-f0d8-4bd4-a8c1-f11a45f23bb7","directory":"jack-n-jill-dx","title":"Jack N' Jill DX","compatibility":1,"releases":[{"id":"01006E900B6EC000","region":null}]},{"id":"0597a469-c452-48fa-881d-6c49c429dad1","directory":"party-golf","title":"Party Golf","compatibility":0,"releases":[{"id":"0100B8E00359E000","region":null}]},{"id":"05a202e3-c724-4600-ae5f-35282edeaa6a","directory":"would-you-like-to-run-an-idol-cafe","title":"Would you like to run an idol cafe?","compatibility":99,"releases":[{"id":"0100A02016B4A000","region":null}]},{"id":"05a291cb-57bf-45f2-beb7-de2bc9722cac","directory":"pirates-pinball","title":"Pirates Pinball","compatibility":99,"releases":[{"id":"010077C00D610000","region":null}]},{"id":"05b490bb-d8c8-4063-836f-30ed1bc2e7e1","directory":"8-bit-farm","title":"8-Bit Farm","compatibility":99,"releases":[{"id":"01008E500EDE0000","region":null}]},{"id":"05bf85fb-8567-482b-8f52-20d73c1c6052","directory":"embr","title":"Embr","compatibility":99,"releases":[{"id":"0100CC6013432000","region":null}]},{"id":"05c9832f-d6b3-426e-ad04-3d085b6bf53f","directory":"strangers-of-the-power-3","title":"Strangers of the Power 3","compatibility":99,"releases":[{"id":"010081B00D890000","region":null}]},{"id":"05cc20e8-b373-420c-bde3-303801add377","directory":"xylophone","title":"Xylophone","compatibility":99,"releases":[{"id":"0100518015236000","region":null}]},{"id":"05dd4b3b-810e-4f18-a625-a882c7cec932","directory":"banner-saga-2","title":"Banner Saga 2","compatibility":5,"releases":[{"id":"0100388008758000","region":null}]},{"id":"05ec4bbd-cd3e-41cd-8af7-46c66d28eb7b","directory":"arcade-archives-soccer","title":"Arcade Archives SOCCER","compatibility":99,"releases":[{"id":"0100EFB01316C000","region":null}]},{"id":"05f4c845-e854-42ff-8286-ca0d6c4e703f","directory":"hidden-in-plain-sight","title":"Hidden in Plain Sight","compatibility":99,"releases":[{"id":"01004BA0110D6000","region":null}]},{"id":"060d85f5-d6fb-4e12-a50b-b35bfec3c304","directory":"obakeidoro","title":"OBAKEIDORO!","compatibility":1,"releases":[{"id":"010074600CC7A000","region":null}]},{"id":"060fab3b-4176-43ba-87ea-8f6fbcb52d74","directory":"little-friends-dogs-and-cats","title":"Little Friends: Dogs & Cats","compatibility":4,"releases":[{"id":"010079A00D9E8000","region":null}]},{"id":"0612c1d6-110c-4f49-aa14-09d337cc6716","directory":"travel-mosaics-9-mysterious-prague","title":"Travel Mosaics 9: Mysterious Prague","compatibility":99,"releases":[{"id":"0100E530133DA000","region":null}]},{"id":"0613691d-168c-44e5-977b-99599b7659f9","directory":"the-red-lantern","title":"The Red Lantern","compatibility":99,"releases":[{"id":"0100C6800D9D0000","region":null}]},{"id":"06331385-f45e-4be0-b839-975ce46c7d94","directory":"farming-simulator-nintendo-switch-edition","title":"Farming Simulator Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100D04004176000","region":null}]},{"id":"06377d5b-d1ae-47e0-88aa-5f4aec4b28b8","directory":"shadow-blade-reload","title":"Shadow Blade: Reload","compatibility":0,"releases":[{"id":"0100D5500DA94000","region":null}]},{"id":"0641afb5-a4d1-4229-b470-42f6e517c505","directory":"puzzle-bundle-3-in-1","title":"Puzzle Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01004BC012436000","region":null}]},{"id":"065236fc-3d34-4ebc-b774-925df118f6e1","directory":"unhatched","title":"Unhatched","compatibility":99,"releases":[{"id":"01007D1013512000","region":null}]},{"id":"065bd008-cf29-4763-8186-266be728d134","directory":"siralim-3","title":"Siralim 3","compatibility":1,"releases":[{"id":"010073E00DBDA000","region":null}]},{"id":"06625524-c00b-49ef-9e1a-58537b5f2380","directory":"eat-beat-deadspike-san","title":"EAT BEAT DEADSPIKE-san","compatibility":1,"releases":[{"id":"0100A9B009678000","region":null}]},{"id":"06700092-816e-488b-9a33-0e0b54ce66b1","directory":"memoranda","title":"Memoranda","compatibility":99,"releases":[{"id":"01004B201308A000","region":null}]},{"id":"068baded-4c91-4806-9d2f-fb7c04f51e8a","directory":"rolling-gunner","title":"Rolling Gunner","compatibility":0,"releases":[{"id":"010076200CA16000","region":null}]},{"id":"068d9321-772d-4aa8-b75b-4f48aa1bb6a4","directory":"el-hijo-a-wild-west-tale","title":"El Hijo - A Wild West Tale","compatibility":2,"releases":[{"id":"010020A01209C000","region":null}]},{"id":"068e2bc8-60ca-49a4-95c6-17a0a71b68bf","directory":"turnip-boy-commits-tax-evasion","title":"Turnip Boy Commits Tax Evasion","compatibility":0,"releases":[{"id":"01008DF012A7A000","region":null}]},{"id":"068fff22-3f66-44ec-b786-17396f66fd97","directory":"alvastia-chronicles","title":"Alvastia Chronicles","compatibility":4,"releases":[{"id":"0100F0700CD8E000","region":null}]},{"id":"069ab4e6-10e0-49f5-b853-74fc5c26faea","directory":"inversus-deluxe","title":"INVERSUS Deluxe","compatibility":1,"releases":[{"id":"01001D0003B96000","region":null}]},{"id":"069b9a83-b3df-4662-b6ae-9dbce0483b3a","directory":"zombillie","title":"Zombillie","compatibility":99,"releases":[{"id":"0100CD300A1BA000","region":null}]},{"id":"069f5ad7-1c38-4631-a8f5-868602cc75f6","directory":"maze","title":"Maze","compatibility":99,"releases":[{"id":"0100E8B012FBC000","region":null}]},{"id":"06a25351-7335-409f-adc5-e55db813b181","directory":"nekopara-vol2","title":"NEKOPARA Vol.2","compatibility":0,"releases":[{"id":"010012900C782000","region":null}]},{"id":"06b4c047-674b-4991-a14e-8f7cbd48f8e8","directory":"tyr-chains-of-valhalla","title":"Tyr : Chains of Valhalla","compatibility":0,"releases":[{"id":"01003B200C6CA000","region":null}]},{"id":"06b9213a-bd6a-4542-a7c5-4fda944cefd8","directory":"lots-of-slots","title":"Lots of Slots","compatibility":99,"releases":[{"id":"0100CAB00FDC4000","region":null}]},{"id":"06c674e3-457a-48be-aaea-f1e0c0503bdd","directory":"klondike-solitaire-collection","title":"Klondike Solitaire Collection","compatibility":99,"releases":[{"id":"01000F6014D62000","region":null}]},{"id":"06d02ee3-2135-4926-b1ba-3ea32afc8f4c","directory":"i-hate-running-backwards","title":"I Hate Running Backwards","compatibility":99,"releases":[{"id":"01006D300AA58000","region":null}]},{"id":"06d4e565-ab1c-4364-898c-2679dc2f45a7","directory":"linelight","title":"Linelight","compatibility":99,"releases":[{"id":"0100EDE012B58000","region":null}]},{"id":"06f45c11-b1e2-4c1d-a1f4-ec6265518e71","directory":"croixleur-sigma","title":"Croixleur Sigma","compatibility":0,"releases":[{"id":"01000F0007D92000","region":null}]},{"id":"06f5e19f-b24b-410d-a13f-ed2cd3f7a778","directory":"sonic-mania","title":"Sonic Mania","compatibility":0,"releases":[{"id":"01009AA000FAA000","region":null}]},{"id":"06f907a6-b2ee-4bf8-a1ef-f185ae7db0b4","directory":"cube-blast-match","title":"Cube Blast: Match","compatibility":99,"releases":[{"id":"010019B013A12000","region":null}]},{"id":"06fa799f-0c6d-4b6b-866c-e0c3321a11f3","directory":"shadowgate","title":"Shadowgate","compatibility":99,"releases":[{"id":"010073400B696000","region":null}]},{"id":"07018016-8a81-4946-84cd-99a5e47c6c5e","directory":"zombies-ruined-my-day","title":"Zombies ruined my day","compatibility":99,"releases":[{"id":"010011B0122CA000","region":null}]},{"id":"0702d35e-f773-49cb-8e09-05bed41da271","directory":"piczle-lines-dx-demo","title":"Piczle Lines DX Demo","compatibility":99,"releases":[{"id":"0100917007888000","region":null}]},{"id":"070c6273-ecf2-4aeb-8e9c-bb2d644dca3b","directory":"aca-neogeo-puzzle-bobble","title":"ACA NEOGEO PUZZLE BOBBLE","compatibility":99,"releases":[{"id":"010049A00C7AA000","region":null}]},{"id":"07148a9c-2812-457c-ab04-cd3f2311e6e7","directory":"balloon-pop-learning-letters-numbers-colors-game-for-kids","title":"Balloon Pop - Learning Letters, Numbers, Colors, Game for Kids","compatibility":99,"releases":[{"id":"0100C5F015F70000","region":null}]},{"id":"071e0cf6-45f0-4bec-9b0f-bddc6f5fd777","directory":"saints-row-the-third-the-full-package","title":"SAINTS ROW: THE THIRD - THE FULL PACKAGE","compatibility":4,"releases":[{"id":"0100DE600BEEE000","region":null}]},{"id":"071e2f01-8b43-40bd-8379-40e61a84ff16","directory":"trigger-witch","title":"Trigger Witch","compatibility":99,"releases":[{"id":"010006A01441C000","region":null}]},{"id":"071ede26-edcd-4fd0-aa1b-89c47bfb1498","directory":"arcade-archives-vs-baseball","title":"Arcade Archives VS. BASEBALL","compatibility":99,"releases":[{"id":"0100865011CBC000","region":null}]},{"id":"071fe529-cd62-4850-b628-b92cad696cb7","directory":"mario-kart-live-home-circuit","title":"Mario Kart Live: Home Circuitâ„¢","compatibility":5,"releases":[{"id":"0100ED100BA3A000","region":null}]},{"id":"0720774f-15fe-4b47-acdc-8e58c5b07f50","directory":"crimsonland","title":"Crimsonland","compatibility":3,"releases":[{"id":"01005640080B0000","region":null}]},{"id":"072454b7-3ef9-4618-8034-65ad08f1ccb0","directory":"steamburg","title":"Steamburg","compatibility":99,"releases":[{"id":"01004DD00C87A000","region":null}]},{"id":"07286ba9-b58b-4aa5-81e7-3dbf0bbf78d6","directory":"guard-duty","title":"Guard Duty","compatibility":99,"releases":[{"id":"0100C69010522000","region":null}]},{"id":"073f3fa5-3d89-4066-9630-ce0dbf1712fc","directory":"puzzle-book","title":"Puzzle Book","compatibility":99,"releases":[{"id":"010043100F0EA000","region":null}]},{"id":"07433093-b16d-480e-82cb-3d3a42cb175c","directory":"galactic-invasion","title":"Galactic Invasion","compatibility":99,"releases":[{"id":"0100F9301632A000","region":null}]},{"id":"074dc1c8-02f2-4fc5-b60f-affc7c53f58e","directory":"radiohammer-station","title":"RADIOHAMMER STATION","compatibility":99,"releases":[{"id":"01008FA00ACEC000","region":null}]},{"id":"074fc4ab-e9af-4d93-8c92-b4e08c8c54fb","directory":"magicolors","title":"Magicolors","compatibility":99,"releases":[{"id":"010032C011356000","region":null}]},{"id":"0750e87c-41bb-4c85-8f18-c39dc9d866c8","directory":"xenoraid","title":"Xenoraid","compatibility":99,"releases":[{"id":"0100928005BD2000","region":null}]},{"id":"0753f321-4038-466b-ac90-d43b0186378d","directory":"exploding-kittens","title":"Exploding Kittens","compatibility":99,"releases":[{"id":"0100BC20118EE000","region":null}]},{"id":"076b7c2f-4e9e-4ec1-a74d-d3a78a90a281","directory":"the-experiment-escape-room","title":"The Experiment: Escape Room","compatibility":0,"releases":[{"id":"01006050114D4000","region":null}]},{"id":"077389f9-3cb9-41df-a7e8-fbb45b08d659","directory":"rico","title":"RICO","compatibility":99,"releases":[{"id":"01009D5009234000","region":null}]},{"id":"077581d2-e817-49aa-8176-697dc933c029","directory":"get-ogre-it","title":"Get Ogre It","compatibility":99,"releases":[{"id":"0100926014A96000","region":null}]},{"id":"077a681f-d6ea-4034-8112-253c6934442b","directory":"modern-combat-blackout","title":"Modern Combat Blackout","compatibility":5,"releases":[{"id":"0100D8700B712000","region":null}]},{"id":"07819478-12ba-4fe0-a081-35601f194f8b","directory":"starlink-battle-for-atlas-digital-edition","title":"Starlink: Battle for Atlas Digital Edition","compatibility":4,"releases":[{"id":"01002CC003FE6000","region":null}]},{"id":"0793348f-81f6-4c11-88c4-841ab15b880d","directory":"detective-di-the-silk-rose-murders","title":"Detective Di: The Silk Rose Murders","compatibility":99,"releases":[{"id":"0100032016AF6000","region":null}]},{"id":"079f984a-7226-4b0a-b998-116d85e025e9","directory":"marble-power-blast","title":"Marble Power Blast","compatibility":99,"releases":[{"id":"01008E800D1FE000","region":null}]},{"id":"07a2d9f9-c3a4-447c-8489-ed1b169e809d","directory":"danganronpa-s-ultimate-summer-camp","title":"Danganronpa S: Ultimate Summer Camp","compatibility":2,"releases":[{"id":"0100DF3014170000","region":null}]},{"id":"07ac6163-1b2a-4339-ae6f-f83de8879653","directory":"the-men-of-yoshiwara-ohgiya","title":"The Men of Yoshiwara: Ohgiya","compatibility":99,"releases":[{"id":"0100F4E006B32000","region":null}]},{"id":"07adb711-fabf-442e-9d2b-30fcd34fa67c","directory":"journey-of-the-broken-circle","title":"Journey of the Broken Circle","compatibility":99,"releases":[{"id":"0100251012E38000","region":null}]},{"id":"07b1b848-598f-4737-a332-251e868d0857","directory":"loot-monkey-bling-palace","title":"Loot Monkey: Bling Palace","compatibility":99,"releases":[{"id":"0100B1200ADEA000","region":null}]},{"id":"07b6c2f1-9832-473e-8196-e683bec0d4e3","directory":"henosis","title":"HENOSIS","compatibility":99,"releases":[{"id":"0100B8C014824000","region":null}]},{"id":"07cbbcef-0524-47f9-ba67-c28853cbc2d3","directory":"namco-museum-pac-man-vs-free-multiplayer-only-ver","title":"NAMCO MUSEUM (PAC-MAN VS. Free Multiplayer-only Ver.)","compatibility":5,"releases":[{"id":"0100BA3003B70000","region":null}]},{"id":"07d40f2d-3192-41a1-bcc6-29b4478ec2a5","directory":"rally-racers","title":"Rally Racers","compatibility":99,"releases":[{"id":"010057F007AA2000","region":null}]},{"id":"07d4a8a8-3a00-4188-994e-b39a625dcad7","directory":"battle-supremacy-ground-assault","title":"Battle Supremacy - Ground Assault","compatibility":99,"releases":[{"id":"0100F2100D8F2000","region":null}]},{"id":"07d9c3de-dbb2-41b8-a2f6-cd32807d8100","directory":"cook-serve-delicious-3","title":"Cook, Serve, Delicious! 3?!","compatibility":99,"releases":[{"id":"0100B82010B6C000","region":null}]},{"id":"07ebab3f-cace-4d35-bbae-5d8241570d00","directory":"warhammer-age-of-sigmar-champions","title":"Warhammer Age of Sigmar: Champions","compatibility":99,"releases":[{"id":"010089A00C7B0000","region":null}]},{"id":"07ee9c88-9f37-40d0-88b9-22e74dbe8296","directory":"aca-neogeo-metal-slug-2","title":"ACA NEOGEO METAL SLUG 2","compatibility":2,"releases":[{"id":"010086300486E000","region":null}]},{"id":"07fa22eb-4f54-4817-a26b-a56b0d3082ab","directory":"match-3-adventure-collection","title":"Match 3 Adventure Collection","compatibility":99,"releases":[{"id":"0100F3B015B14000","region":null}]},{"id":"07fb9ac2-7350-4993-96fe-1806fba05257","directory":"ashen","title":"Ashen","compatibility":4,"releases":[{"id":"010027B00E40E000","region":null}]},{"id":"08097f2d-8772-4136-b98e-ad09340eb092","directory":"rogue-explorer","title":"Rogue Explorer","compatibility":1,"releases":[{"id":"010090C014D3C000","region":null}]},{"id":"08112409-1784-4470-b650-35d6ae1e002e","directory":"crimson-keep","title":"Crimson Keep","compatibility":99,"releases":[{"id":"010004300C33A000","region":null}]},{"id":"081485f2-37cd-4a22-9c3d-681491e9d8fb","directory":"how-to-take-off-your-mask-remastered","title":"How to take off your Mask Remastered","compatibility":2,"releases":[{"id":"01005000133AE000","region":null}]},{"id":"0815a04f-8a85-4732-8967-236b3a566568","directory":"up-cliff-drive","title":"Up Cliff Drive","compatibility":99,"releases":[{"id":"0100D86012928000","region":null}]},{"id":"08186222-6a9c-4ab3-ac5c-1a2e7ab3bd0d","directory":"bite-the-bullet","title":"Bite the Bullet","compatibility":1,"releases":[{"id":"0100A0800EA9C000","region":null}]},{"id":"08372744-7f6f-49e2-bdf5-355d8c7de55e","directory":"dgeneration-the-original","title":"D/Generation : The Original","compatibility":99,"releases":[{"id":"010020700B432000","region":null}]},{"id":"083db69c-401c-4911-a956-29af2a21ccc2","directory":"akihabara-crash-123stage1","title":"Akihabara CRASH! 123STAGE+1","compatibility":99,"releases":[{"id":"010033100AC2C000","region":null}]},{"id":"08525a1b-6531-480d-8a93-d97681c753e5","directory":"blind-postman","title":"Blind Postman","compatibility":99,"releases":[{"id":"0100F8F015D3C000","region":null}]},{"id":"0855a1ea-bf5b-4ff7-8fef-02ebc432c537","directory":"demon-turf","title":"Demon Turf","compatibility":1,"releases":[{"id":"0100FF5015492000","region":null}]},{"id":"086a55b0-5765-457f-8a25-c2c10c61b1ec","directory":"children-of-morta","title":"Children of Morta","compatibility":2,"releases":[{"id":"01002DE00C250000","region":null}]},{"id":"086ca05d-d44d-40f4-9e47-347a27b8b4a6","directory":"necrosphere-deluxe","title":"Necrosphere Deluxe","compatibility":99,"releases":[{"id":"01003F000C7F8000","region":null}]},{"id":"086ce65f-5aed-4fe9-96df-501e3787ca2a","directory":"the-charming-empire","title":"The Charming Empire","compatibility":99,"releases":[{"id":"010006200949E000","region":null}]},{"id":"0877abb7-f55a-475c-a339-2c4f75956b45","directory":"alchemic-dungeons-dx","title":"Alchemic Dungeons DX","compatibility":99,"releases":[{"id":"01000E800CC26000","region":null}]},{"id":"08a10bf9-0900-4325-b8a1-cf9c55223070","directory":"trios-lofi-beats-numbers-to-chill-to","title":"TRIOS - lofi beats / numbers to chill to","compatibility":99,"releases":[{"id":"01007F5013AFA000","region":null}]},{"id":"08a4ebaf-4053-4418-8e75-abe4a2e940b9","directory":"niffelheim","title":"Niffelheim","compatibility":99,"releases":[{"id":"010022600A79A000","region":null}]},{"id":"08b09d92-b8aa-4280-9748-1f80c6cddf2b","directory":"n-nplusplus","title":"N++ (NPLUSPLUS)","compatibility":1,"releases":[{"id":"01000D5005974000","region":null}]},{"id":"08d68578-c99c-4dda-8969-8d52c5412c86","directory":"goat-simulator-the-goaty","title":"Goat Simulator: The GOATY","compatibility":4,"releases":[{"id":"010032600C8CE000","region":null}]},{"id":"08d95293-32ed-4b9a-83ee-57f3f90030b0","directory":"freaky-awesome","title":"Freaky Awesome","compatibility":2,"releases":[{"id":"01001EE00AD4C000","region":null}]},{"id":"08e0ab45-ab12-4667-a3cf-4e8bb80cfb10","directory":"metro-last-light-redux","title":"Metro: Last Light Redux","compatibility":3,"releases":[{"id":"0100F0400E850000","region":null}]},{"id":"08f0b234-9d61-4ea6-ae54-d6a4a0e00179","directory":"bulletstorm-duke-of-switch-edition","title":"Bulletstorm: Duke of Switch Edition","compatibility":2,"releases":[{"id":"01003DD00D658000","region":null}]},{"id":"0902646f-2e94-462b-a549-c60b7d4f1105","directory":"ankh-guardian-treasure-of-the-demons-temple","title":"Ankh Guardian - Treasure of the Demon's Temple","compatibility":0,"releases":[{"id":"010055500CCD2000","region":null}]},{"id":"0908a57b-d2bb-42ce-8d5e-a592f04fdf1c","directory":"immerse-land","title":"IMMERSE LAND","compatibility":99,"releases":[{"id":"0100F15012D36000","region":null}]},{"id":"0917dd33-f931-4747-ae3a-30e566f8d7cd","directory":"moero-chronicle-hyper","title":"Moero Chronicle Hyper","compatibility":5,"releases":[{"id":"0100B8500D570000","region":null}]},{"id":"091bb3dd-f832-43ab-98c5-3dc624415338","directory":"iris-fall","title":"Iris.Fall","compatibility":1,"releases":[{"id":"0100945012168000","region":null}]},{"id":"0934cf38-21ec-41ec-8db7-65c625947517","directory":"journey-to-the-savage-planet","title":"Journey to the Savage Planet","compatibility":1,"releases":[{"id":"0100FB90103DE000","region":null}]},{"id":"09424dd7-e24d-4d9c-bac4-131515ddd8db","directory":"headball-soccer-deluxe","title":"Headball Soccer Deluxe","compatibility":99,"releases":[{"id":"010032800E6D2000","region":null}]},{"id":"094882ee-9e94-419d-8d5b-568ff17f2f87","directory":"arcade-archives-x-multiply","title":"Arcade Archives X MULTIPLY","compatibility":4,"releases":[{"id":"010063600D3FA000","region":null}]},{"id":"094f2104-c820-4be0-b460-3b2204674623","directory":"hellblade-senuas-sacrifice","title":"Hellblade: Senua's Sacrifice","compatibility":3,"releases":[{"id":"010044500CF8E000","region":null}]},{"id":"09541ba7-7e4c-40c1-bace-7cae51114185","directory":"my-butler","title":"My Butler","compatibility":3,"releases":[{"id":"0100F6F0118B8000","region":null}]},{"id":"096e208c-62b9-44e7-808f-8d0fc75f829b","directory":"phantaruk","title":"Phantaruk","compatibility":99,"releases":[{"id":"0100DDD00C0EA000","region":null}]},{"id":"0970280b-f61a-42ed-bbbd-d1d2d7aca19f","directory":"bamerang","title":"Bamerang","compatibility":99,"releases":[{"id":"01008D30128E0000","region":null}]},{"id":"09732939-623e-404f-80fb-159f4aa24a40","directory":"touhou-kobuto-v-burst-battle","title":"Touhou Kobuto V: Burst Battle","compatibility":1,"releases":[{"id":"010010F004022000","region":null}]},{"id":"0973d66f-b464-4242-9e75-e77d6aff207e","directory":"indigo-7-quest-for-love","title":"Indigo 7 Quest for love","compatibility":99,"releases":[{"id":"0100AC60143F4000","region":null}]},{"id":"09802efa-d123-4c63-a2e4-bfedf25efa6a","directory":"paladins","title":"Paladins","compatibility":4,"releases":[{"id":"010023900AEE0000","region":null}]},{"id":"09891c88-479d-4882-9b1b-11b5eaf3e03d","directory":"arcade-archives-ninja-spirit","title":"Arcade Archives Ninja Spirit","compatibility":99,"releases":[{"id":"01002F300D2C6000","region":null}]},{"id":"098ba6bb-c831-42e5-b3c2-f0527b7b89bf","directory":"nubarron-the-adventure-of-an-unlucky-gnome","title":"Nubarron: The adventure of an unlucky gnome","compatibility":99,"releases":[{"id":"0100343013248000","region":null}]},{"id":"09995088-cd5f-4d33-a79a-aa88189a6732","directory":"totes-the-goat","title":"Totes the Goat","compatibility":99,"releases":[{"id":"01003D3009996000","region":null}]},{"id":"09ba32f7-2fa7-479a-9729-9c1d17e7ae72","directory":"tower-of-babel-no-mercy","title":"Tower of Babel - no mercy","compatibility":0,"releases":[{"id":"01002D20103E0000","region":null}]},{"id":"09c1d4ce-c95e-4667-851b-16acdf112bc0","directory":"creepy-tale","title":"Creepy Tale","compatibility":2,"releases":[{"id":"0100A19011EEE000","region":null}]},{"id":"09c854b9-c1c8-4244-b16a-083020c12ab1","directory":"ravva-and-the-cyclops-curse","title":"Ravva and the Cyclops Curse","compatibility":99,"releases":[{"id":"0100CA2014A0A000","region":null}]},{"id":"09ccb58c-75f4-4fb9-8c3f-e452d1048ecb","directory":"cresteaju","title":"Cresteaju","compatibility":99,"releases":[{"id":"01005C2013B00000","region":null}]},{"id":"09ccc361-3fec-407a-b9e4-21da8c7d23e6","directory":"reverse-memories","title":"Reverse Memories","compatibility":99,"releases":[{"id":"01003A6015316000","region":null}]},{"id":"09d3c71e-a094-4cff-aae6-7ea2e9dc999c","directory":"arcade-archives-tube-panic","title":"Arcade Archives TUBE PANIC","compatibility":99,"releases":[{"id":"01006D4011738000","region":null}]},{"id":"09e58672-e752-47bb-ad98-052b4f5493bb","directory":"battle-brothers-a-turn-based-tactical-rpg","title":"Battle Brothers – A Turn Based Tactical RPG","compatibility":1,"releases":[{"id":"0100C5000F294000","region":null}]},{"id":"09e5b8aa-d065-4453-8899-f091ad222cbc","directory":"pile-up-box-by-box","title":"Pile Up! Box by Box","compatibility":99,"releases":[{"id":"0100A4C011F2C000","region":null}]},{"id":"09ed6517-1e5c-4f7e-89d8-bc5e0333a0c4","directory":"dog-gone-golfing","title":"DOG GONE GOLFING","compatibility":99,"releases":[{"id":"01004CD012C9A000","region":null}]},{"id":"0a13637f-47bd-448e-afda-0d595b5fcf5d","directory":"gym-hero-idle-fitness-tycoon","title":"Gym Hero - Idle Fitness Tycoon","compatibility":99,"releases":[{"id":"0100E7400DBE2000","region":null}]},{"id":"0a1651df-98f8-4c7b-92d6-af18128d56d4","directory":"a-train-all-aboard-tourism","title":"A-Train: All Aboard! Tourism","compatibility":2,"releases":[{"id":"0100A3E010E56000","region":null}]},{"id":"0a204999-a813-4017-b7d4-b1896dc2af07","directory":"quell-zen","title":"Quell Zen","compatibility":99,"releases":[{"id":"0100C240116E8000","region":null}]},{"id":"0a30ec36-a0a1-4618-b1bf-7ee20750d3c3","directory":"the-legend-of-dark-witch","title":"The Legend of Dark Witch","compatibility":0,"releases":[{"id":"0100B1900F0B6000","region":null}]},{"id":"0a35d808-a71b-4377-afb4-85f167e9b70b","directory":"my-universe-pet-clinic-cats-dogs","title":"My Universe - PET CLINIC CATS & DOGS","compatibility":99,"releases":[{"id":"0100CD5011A02000","region":null}]},{"id":"0a3e35af-f6f8-45dd-afd5-3a3d4cae4027","directory":"duck-hunting-challenge","title":"Duck Hunting Challenge","compatibility":99,"releases":[{"id":"01000BA00C9EE000","region":null}]},{"id":"0a41b046-6849-4604-90c2-d2f03b6be93d","directory":"renzo-racer","title":"Renzo Racer","compatibility":99,"releases":[{"id":"01007CC0130C6000","region":null}]},{"id":"0a50480f-5cb1-4574-ad96-ecf97b6e062b","directory":"island-flight-simulator","title":"Island Flight Simulator","compatibility":2,"releases":[{"id":"010077900440A000","region":null}]},{"id":"0a686140-1a17-40de-a858-57075439e709","directory":"winter-sports-games","title":"Winter Sports Games","compatibility":99,"releases":[{"id":"010001800DBA6000","region":null}]},{"id":"0a6a1131-1bc2-4e3f-8173-3c5e1ebba03c","directory":"kaiju-khaos","title":"KAIJU KHAOS","compatibility":99,"releases":[{"id":"01005B500A1A2000","region":null}]},{"id":"0a6f20a7-b32e-4fb4-8ce5-a0bea4426d77","directory":"roboshark-rampage","title":"RoboShark Rampage","compatibility":99,"releases":[{"id":"0100715015F8A000","region":null}]},{"id":"0a80d05c-a802-4720-8b72-4ebc0431cf2c","directory":"aca-neogeo-art-of-fighting","title":"ACA NEOGEO ART OF FIGHTING","compatibility":99,"releases":[{"id":"01006A80038FC000","region":null}]},{"id":"0a8925a0-294b-472c-933e-67141081aaa1","directory":"bloo-kid-2","title":"Bloo Kid 2","compatibility":4,"releases":[{"id":"010055900FADA000","region":null}]},{"id":"0a9671a7-3603-413e-ab36-89e5bef10694","directory":"desktop-soccer","title":"Desktop Soccer","compatibility":99,"releases":[{"id":"01004F200CB08000","region":null}]},{"id":"0a9947c0-0cbb-4c0c-91d2-88bc637a4ebd","directory":"sunless-skies-sovereign-edition","title":"Sunless Skies: Sovereign Edition","compatibility":0,"releases":[{"id":"0100A940127F6000","region":null}]},{"id":"0aa00229-98cc-4a5f-857f-e762f7888e70","directory":"crashnauts","title":"Crashnauts","compatibility":99,"releases":[{"id":"0100A49012F5C000","region":null}]},{"id":"0aa1a525-c4e6-4919-a873-d4f1951a65b1","directory":"the-tower-of-beatrice","title":"The Tower of Beatrice","compatibility":99,"releases":[{"id":"010047300EBA6000","region":null}]},{"id":"0aa40d97-3710-41ef-ab7c-7b7842a76ee3","directory":"dodgeball-academia","title":"Dodgeball Academia","compatibility":99,"releases":[{"id":"010001F014D9A000","region":null}]},{"id":"0ab8e0b8-f784-4d5a-902f-de69a9072544","directory":"defentron","title":"Defentron","compatibility":99,"releases":[{"id":"0100CDE0136E6000","region":null}]},{"id":"0abc3bc9-2e0b-49f4-92a7-55d0e4132d2d","directory":"degrees-of-separation","title":"Degrees of Separation","compatibility":4,"releases":[{"id":"010067900B9C4000","region":null}]},{"id":"0ac50959-23fc-42ae-a647-13da6a94f973","directory":"santa-tracker","title":"Santa Tracker","compatibility":99,"releases":[{"id":"01000BA00CD2C000","region":null}]},{"id":"0adea618-0369-450f-a244-7c6c2442783b","directory":"ty-the-tasmanian-tiger-2-bush-rescue-hd","title":"TY the Tasmanian Tigerâ„¢ 2: Bush Rescueâ„¢ HD","compatibility":2,"releases":[{"id":"0100BC701417A000","region":null}]},{"id":"0adefa10-5d61-4e49-8f1d-41669fb062bf","directory":"knowledge-trainer-trivia","title":"Knowledge Trainer: Trivia","compatibility":99,"releases":[{"id":"01004CD00F690000","region":null}]},{"id":"0ae27399-f21f-4adf-82ca-5caedffb80b9","directory":"apple-slash","title":"Apple Slash","compatibility":99,"releases":[{"id":"01008E1012FE6000","region":null}]},{"id":"0aefa7c9-a4e6-4026-b15a-1add97a58f1d","directory":"war-titans","title":"War Titans","compatibility":99,"releases":[{"id":"0100C10012EFC000","region":null}]},{"id":"0af3d94c-d9f4-4988-8fdb-a5f0728dbc6d","directory":"lanternium","title":"Lanternium","compatibility":99,"releases":[{"id":"010015500F186000","region":null}]},{"id":"0b0115a1-8249-4cee-ba0c-cf6a08685df9","directory":"zombie-is-planting","title":"Zombie Is Planting","compatibility":99,"releases":[{"id":"01006C50159C8000","region":null}]},{"id":"0b06b002-eb53-448d-bb06-ade14044700f","directory":"king-oddball","title":"King Oddball","compatibility":1,"releases":[{"id":"0100B1300783E000","region":null}]},{"id":"0b09f691-4f99-476f-93cf-9a2c6da84108","directory":"the-liar-princess-and-the-blind-prince","title":"The Liar Princess and the Blind Prince","compatibility":1,"releases":[{"id":"010064B00B95C000","region":null}]},{"id":"0b0cb8d0-cc49-4a60-9f72-081157c5d75e","directory":"jewel-wars","title":"JEWEL WARS","compatibility":99,"releases":[{"id":"0100B5E00D218000","region":null}]},{"id":"0b1290ad-9eed-42db-82db-cd82c1ada8ab","directory":"tomb-of-the-mask","title":"Tomb of the Mask","compatibility":99,"releases":[{"id":"0100EE701494A000","region":null}]},{"id":"0b217259-e59c-433f-8e8e-51790584184d","directory":"candy-match-kiddies","title":"Candy Match Kiddies","compatibility":99,"releases":[{"id":"0100762014780000","region":null}]},{"id":"0b256889-bd0f-46fb-9adf-074877fa95b2","directory":"the-final-station","title":"The Final Station","compatibility":99,"releases":[{"id":"0100CDC00789E000","region":null}]},{"id":"0b3895de-3b17-4017-adc8-76311a24a82a","directory":"wondershot","title":"Wondershot","compatibility":99,"releases":[{"id":"0100F5D00C812000","region":null}]},{"id":"0b473c17-65dc-4d9d-8813-d4865a32c314","directory":"techno-tanks","title":"Techno Tanks","compatibility":99,"releases":[{"id":"0100F4A01487A000","region":null}]},{"id":"0b582623-02de-48e8-b1d9-2c7122e9036a","directory":"mugsters-demo","title":"Mugsters Demo","compatibility":99,"releases":[{"id":"01008F200C880000","region":null}]},{"id":"0b673328-6d4a-42a4-b4cc-35fbd5368b43","directory":"irony-curtain-from-matryoshka-with-love","title":"Irony Curtain: From Matryoshka with Love","compatibility":99,"releases":[{"id":"0100E5700CD56000","region":null}]},{"id":"0b6817ae-9367-4bb4-8f5c-dd05ad2d741c","directory":"shift-happens","title":"Shift Happens","compatibility":1,"releases":[{"id":"0100B1000AC3A000","region":null}]},{"id":"0b685090-6d17-4efd-a474-abaab70c11f4","directory":"fear-of-traffic","title":"Fear of Traffic","compatibility":99,"releases":[{"id":"0100E2800EF4A000","region":null}]},{"id":"0b708963-a0b2-4733-8c72-769dd76b1cb5","directory":"archery-club","title":"Archery Club","compatibility":1,"releases":[{"id":"0100D510169B2000","region":null}]},{"id":"0b77e0bd-3e3b-4e8b-8fb3-8ad4383dfe9a","directory":"restless-night","title":"Restless Night","compatibility":99,"releases":[{"id":"0100FF201568E000","region":null}]},{"id":"0b789aba-30ae-43b3-93fc-cbd993441bee","directory":"castle-of-no-escape","title":"Castle of no Escape","compatibility":99,"releases":[{"id":"010094F01328C000","region":null}]},{"id":"0b7acc8e-2070-40a0-95bf-4858c93d7aab","directory":"arcade-archives-track-and-field","title":"Arcade Archives TRACK & FIELD","compatibility":5,"releases":[{"id":"01002C300E630000","region":null}]},{"id":"0b8d85fc-b730-41d4-a8ed-c8f9fb967e08","directory":"super-sami-roll","title":"Super Sami Roll","compatibility":1,"releases":[{"id":"0100C69014B1E000","region":null}]},{"id":"0b94bdbb-97ff-440c-a197-c1361179d605","directory":"hulu","title":"Hulu","compatibility":5,"releases":[{"id":"0100A66003384000","region":null}]},{"id":"0ba42b2d-c6b5-4450-b853-5e4d9403c398","directory":"catan","title":"Catan","compatibility":2,"releases":[{"id":"010092C00C5EC000","region":null}]},{"id":"0bb07baa-3e2a-47a9-a28a-1a4818b2f077","directory":"the-fall","title":"The Fall","compatibility":99,"releases":[{"id":"01002DD00AF9E000","region":null}]},{"id":"0bb88805-569e-44fd-9c9f-e64607deba7c","directory":"black-hole","title":"Black Hole","compatibility":99,"releases":[{"id":"0100461007BB0000","region":null}]},{"id":"0bbd82c1-e9ad-45c7-a413-a9dce128be11","directory":"arcade-archives-alpha-mission","title":"Arcade Archives ALPHA MISSION","compatibility":99,"releases":[{"id":"01005DD00BE08000","region":null}]},{"id":"0bcf1e78-f2a9-4775-9a6d-004cec03263c","directory":"shikhondo-soul-eater","title":"Shikhondo - Soul Eater","compatibility":1,"releases":[{"id":"010061400A990000","region":null}]},{"id":"0bcf214d-cd55-4277-846d-75d326bf2bf6","directory":"no-more-heroes","title":"No More Heroes","compatibility":1,"releases":[{"id":"0100F0400F202000","region":null}]},{"id":"0bee566b-0d5d-4bd2-b974-c5b47cf19cde","directory":"bit-trip-beat","title":"BIT.TRIP BEAT","compatibility":99,"releases":[{"id":"010038B012D32000","region":null}]},{"id":"0bf9b34b-4a34-45b9-b2e5-f8fa0d67382e","directory":"jars","title":"JARS","compatibility":99,"releases":[{"id":"0100A1F0156F0000","region":null}]},{"id":"0c03a3f9-1e91-4563-bd34-05efd29bf35f","directory":"demons-rise-war-for-the-deep","title":"Demon's Rise - War for the Deep","compatibility":99,"releases":[{"id":"0100C3501094E000","region":null}]},{"id":"0c413d0c-e584-4eed-b5b6-8e983d058097","directory":"hookbots","title":"Hookbots","compatibility":99,"releases":[{"id":"0100AFA00DED4000","region":null}]},{"id":"0c461b03-9656-4448-b969-6c326d02a152","directory":"desert-child","title":"Desert Child","compatibility":99,"releases":[{"id":"01000DC00AF1C000","region":null}]},{"id":"0c519f5e-9569-4989-a5d0-d8601a2ebb0b","directory":"true-fear-forsaken-souls-part-2","title":"True Fear: Forsaken Souls - Part 2","compatibility":99,"releases":[{"id":"0100DC400E5CE000","region":null}]},{"id":"0c553c65-7dab-4b4b-bf33-a839a0e9a2f2","directory":"spider-solitaire-collection","title":"Spider Solitaire Collection","compatibility":99,"releases":[{"id":"0100ED3014E6A000","region":null}]},{"id":"0c5bd2c0-69db-4f07-bbb5-f3204704aa80","directory":"the-colonists","title":"The Colonists","compatibility":99,"releases":[{"id":"010086901425C000","region":null}]},{"id":"0c65fa44-df8d-4236-b6a4-2dd923e6204f","directory":"ttv2","title":"TTV2","compatibility":99,"releases":[{"id":"0100752011628000","region":null}]},{"id":"0c673305-4337-49de-855e-8ab6a5046aaa","directory":"sega-ages-virtua-racing","title":"SEGA AGES Virtua Racing","compatibility":1,"releases":[{"id":"010054400D2E6000","region":null}]},{"id":"0c6cc0bc-22d7-4914-9671-421b2d2feb32","directory":"pizza-titan-ultra","title":"Pizza Titan Ultra","compatibility":99,"releases":[{"id":"01004A900C352000","region":null}]},{"id":"0c6e7682-cfbe-459b-b73b-77e0eaab238f","directory":"night-trap-25th-anniversary-edition","title":"Night Trap - 25th Anniversary Edition","compatibility":4,"releases":[{"id":"0100D8500A692000","region":null}]},{"id":"0c7506fb-45ac-403d-9902-1d74d2918bbf","directory":"nexomon-extinction","title":"Nexomon: Extinction","compatibility":1,"releases":[{"id":"01005A5011A44000","region":null}]},{"id":"0c8900f8-4321-4df7-8485-fd9339ccc781","directory":"exertus-redux","title":"Exertus: Redux","compatibility":99,"releases":[{"id":"0100453016AF2000","region":null}]},{"id":"0c8b7d98-bc0b-4c09-b006-5e9acb4b835d","directory":"ovivo","title":"OVIVO","compatibility":5,"releases":[{"id":"010045F00D56C000","region":null}]},{"id":"0c90984a-5337-4015-abb1-e75f27083139","directory":"timothy-and-the-mysterious-forest","title":"Timothy and the Mysterious Forest","compatibility":99,"releases":[{"id":"0100393013A10000","region":null}]},{"id":"0cb93916-a25d-481f-a2e8-e4a5d28762f6","directory":"dandy-dungeon-legend-of-brave-yamada-","title":"Dandy Dungeon - Legend of Brave Yamada -","compatibility":1,"releases":[{"id":"0100DFB00D808000","region":null}]},{"id":"0cc372da-3c58-4098-b1ce-c1708f0fc27f","directory":"outbreak-the-nightmare-chronicles","title":"Outbreak The Nightmare Chronicles","compatibility":99,"releases":[{"id":"01006EE013100000","region":null}]},{"id":"0ccf686d-f5c7-4515-ac14-fcc84e9d3f1c","directory":"love-letter-from-thief-x","title":"Love Letter from Thief X","compatibility":99,"releases":[{"id":"0100D36011AD4000","region":null}]},{"id":"0cdd4cdc-ddca-43b6-b7bf-8a07a9677c98","directory":"sky-mercenaries-redux","title":"Sky Mercenaries Redux","compatibility":99,"releases":[{"id":"0100668010DC2000","region":null}]},{"id":"0ce625b9-a945-46e3-a1c2-cd1a67c9b34a","directory":"poker-pretty-girls-battle-texas-holdem","title":"Poker Pretty Girls Battle: Texas Hold'em","compatibility":99,"releases":[{"id":"01003B9014D3E000","region":null}]},{"id":"0cf26c5e-4414-48f3-b0ad-f343fcfd2270","directory":"tennis-1920s","title":"Tennis 1920s","compatibility":99,"releases":[{"id":"010022300F856000","region":null}]},{"id":"0d0be9c3-8acb-451f-9490-2f769d7f2740","directory":"cyber-shadow","title":"Cyber Shadow","compatibility":99,"releases":[{"id":"01008D100DE46000","region":null}]},{"id":"0d20e2c3-95dc-48d8-897f-579fef4c1afa","directory":"velocity2x","title":"Velocity2X","compatibility":4,"releases":[{"id":"010002800B818000","region":null}]},{"id":"0d3b20b1-106f-4db7-b43d-1170f331f64a","directory":"guilty-gear","title":"GUILTY GEAR","compatibility":99,"releases":[{"id":"0100C8400B248000","region":null}]},{"id":"0d3be0bc-54fb-4ec3-949a-cb15c423d1db","directory":"classic-solitaire","title":"Classic Solitaire","compatibility":99,"releases":[{"id":"01000CA014A10000","region":null}]},{"id":"0d3f61e3-7144-4c1c-9dad-428e27074241","directory":"zhed","title":"ZHED","compatibility":99,"releases":[{"id":"010089300FDC2000","region":null}]},{"id":"0d3f6e0d-277b-4df3-8435-e63693e40d23","directory":"case-animatronics","title":"CASE: Animatronics","compatibility":99,"releases":[{"id":"0100EA700EC90000","region":null}]},{"id":"0d4fbf02-bc80-464a-8172-9f0afe512c8e","directory":"chicken-police-paint-it-red","title":"Chicken Police – Paint it RED!","compatibility":99,"releases":[{"id":"0100713010E7A000","region":null}]},{"id":"0d6448ab-df39-4dad-97f4-4e53ac87c86a","directory":"aca-neogeo-neo-turf-masters","title":"ACA NEOGEO NEO TURF MASTERS","compatibility":1,"releases":[{"id":"01002E70032E8000","region":null}]},{"id":"0d68e3f8-3d38-453f-8e05-db189e2a6557","directory":"the-keep","title":"The Keep","compatibility":99,"releases":[{"id":"0100005006BA4000","region":null}]},{"id":"0d6eb6fe-c6fa-494f-b8bb-18c66de7130a","directory":"arcade-archives-rygar","title":"Arcade Archives RYGAR","compatibility":99,"releases":[{"id":"0100C2D00981E000","region":null}]},{"id":"0d981092-cf70-4e29-9d72-e16a58d3471b","directory":"witchspring3-re-fine]-the-story-of-eirudy","title":"WitchSpring3 [Re:Fine] - The Story of Eirudy","compatibility":99,"releases":[{"id":"010091F014E5C000","region":null}]},{"id":"0d9e6c56-c35e-408e-be50-e9afaf838117","directory":"xenogunner","title":"Xenogunner","compatibility":99,"releases":[{"id":"010039300B6A2000","region":null}]},{"id":"0dad4f72-71b8-4335-81d8-199bfac28a85","directory":"reds-kingdom","title":"Red's Kingdom","compatibility":4,"releases":[{"id":"010006600AE9C000","region":null}]},{"id":"0db0b69f-d6f4-4037-a62f-4c760638e798","directory":"uncharted-tides-port-royal","title":"Uncharted Tides: Port Royal","compatibility":99,"releases":[{"id":"0100CC8011000000","region":null}]},{"id":"0dc06167-6f7b-438f-a87d-d0947370e3cc","directory":"depth-of-extinction","title":"Depth of Extinction","compatibility":99,"releases":[{"id":"010096300DE22000","region":null}]},{"id":"0dca4859-aeed-4ef1-b221-72a3d6088fe7","directory":"knights-of-pen-and-paper-1-deluxier-edition","title":"Knights of Pen and Paper +1 Deluxier Edition","compatibility":1,"releases":[{"id":"0100D3F008746000","region":null}]},{"id":"0dccce4b-97b6-4028-bf28-28c50aa42b14","directory":"the-caligula-effect-overdose","title":"The Caligula Effect: Overdose","compatibility":3,"releases":[{"id":"010069100B7F0000","region":null}]},{"id":"0dd3fa06-4e1e-41bc-b514-0890b4839712","directory":"fossil-hunters","title":"Fossil Hunters","compatibility":1,"releases":[{"id":"0100CA500756C000","region":null}]},{"id":"0dd5d393-48a2-4bb7-b00f-8881197b3608","directory":"minigolf-adventure","title":"Minigolf Adventure","compatibility":99,"releases":[{"id":"01005500158D0000","region":null}]},{"id":"0de0bf2f-5119-45f0-be0c-da1aeea1704b","directory":"pianista","title":"PIANISTA","compatibility":1,"releases":[{"id":"010077300A86C000","region":null}]},{"id":"0de6e9da-8164-4e26-8369-8b8492f6e798","directory":"dungeon-solver","title":"Dungeon Solver","compatibility":99,"releases":[{"id":"01008300128F2000","region":null}]},{"id":"0deac9b4-bfe0-4e23-8fb1-002d4500dbce","directory":"umihara-kawase-fresh","title":"Umihara Kawase Fresh!","compatibility":5,"releases":[{"id":"0100DE400D7B8000","region":null}]},{"id":"0deb16b5-373d-419b-8d68-9409e42bc274","directory":"ragdoll-fighter","title":"Ragdoll Fighter","compatibility":0,"releases":[{"id":"0100400013A46000","region":null}]},{"id":"0df2eeab-b43c-4762-8e57-61bce5bd6ad8","directory":"unsighted","title":"UNSIGHTED","compatibility":99,"releases":[{"id":"0100FF6014BEE000","region":null}]},{"id":"0e037590-ab54-411e-9be5-c6c59532ed46","directory":"undead-darlings-no-cure-for-love","title":"Undead Darlings ~no cure for love~","compatibility":99,"releases":[{"id":"0100ED301196A000","region":null}]},{"id":"0e1328f0-c085-49cf-8c2c-f0eb576cdb9e","directory":"golf-zero","title":"Golf Zero","compatibility":1,"releases":[{"id":"01007EA01252E000","region":null}]},{"id":"0e1bfa86-4406-4a17-aad8-728c11e86df0","directory":"shantae-riskys-revenge-directors-cut","title":"Shantae: Risky's Revenge - Director's Cut","compatibility":0,"releases":[{"id":"0100ADA012370000","region":null}]},{"id":"0e1f249c-d0b9-43ab-a0fb-77b932e9e09e","directory":"please-dont-touch-anything-classic","title":"Please, Don't Touch Anything: Classic","compatibility":99,"releases":[{"id":"0100CC000DA44000","region":null}]},{"id":"0e20bf71-3636-40f4-b122-1fb4e51cdd57","directory":"hyperspace-delivery-service","title":"Hyperspace Delivery Service","compatibility":99,"releases":[{"id":"010049000F6B0000","region":null}]},{"id":"0e24b468-c12b-4729-a4c1-a3fe29da1173","directory":"happy-animals-bowling","title":"Happy Animals Bowling","compatibility":99,"releases":[{"id":"01009FB00EE4A000","region":null}]},{"id":"0e44f104-c215-490d-b861-256fcbd4a795","directory":"inmost","title":"INMOST","compatibility":0,"releases":[{"id":"0100F1401161E000","region":null}]},{"id":"0e49aed5-61ad-4869-a23f-9f3afb011aa5","directory":"cabelas-the-hunt-championship-edition","title":"Cabela's: The Hunt - Championship Edition","compatibility":4,"releases":[{"id":"0100E24004510000","region":null}]},{"id":"0e6b5224-89f8-48d0-9862-439c102f91b6","directory":"venus-improbable-dream","title":"Venus: Improbable Dream","compatibility":99,"releases":[{"id":"0100F1B015400000","region":null}]},{"id":"0e715bb8-f834-4b2b-b10f-e8b6efd0c293","directory":"cafeteria-nipponica","title":"Cafeteria Nipponica","compatibility":1,"releases":[{"id":"01008E300D136000","region":null}]},{"id":"0e72c97b-edc2-4cda-a753-b5509ef2632b","directory":"city-traffic-driver","title":"City Traffic Driver","compatibility":99,"releases":[{"id":"0100D4C016B08000","region":null}]},{"id":"0e758144-2757-4fd7-83d7-725d1089c398","directory":"aca-neogeo-fatal-fury-2","title":"ACA NEOGEO FATAL FURY 2","compatibility":99,"releases":[{"id":"0100CAF001DBE000","region":null}]},{"id":"0e7d2809-5822-4325-b8f7-35df5931b36e","directory":"planet-rix-13","title":"Planet RIX-13","compatibility":99,"releases":[{"id":"01001B100C3D4000","region":null}]},{"id":"0e877a15-f53c-447d-ab55-e7bb9977881d","directory":"tanzia","title":"Tanzia","compatibility":99,"releases":[{"id":"01004DF007564000","region":null}]},{"id":"0e887f3e-a24a-422e-be34-3b439fba02a1","directory":"spirit-roots","title":"Spirit Roots","compatibility":0,"releases":[{"id":"01000AC00F5EC000","region":null}]},{"id":"0e8df0a7-8514-4263-b6df-2af3ba853ab5","directory":"lets-sing-2019","title":"Let's Sing 2019","compatibility":99,"releases":[{"id":"010062200CAD2000","region":null}]},{"id":"0e8edca4-50a6-4ef2-853d-24fffb1e4574","directory":"aegis-defenders-demo","title":"Aegis Defenders demo","compatibility":99,"releases":[{"id":"010064500AF72000","region":null}]},{"id":"0e943a00-7b51-4a6e-8388-9a466a877760","directory":"fighting-ex-layer-another-dash","title":"FIGHTING EX LAYER ANOTHER DASH","compatibility":1,"releases":[{"id":"0100D02014048000","region":null}]},{"id":"0e9de394-d679-4d27-9856-39369cbace31","directory":"party-hard-2","title":"Party Hard 2","compatibility":1,"releases":[{"id":"010022801217E000","region":null}]},{"id":"0ea60a0f-3131-4396-93de-9b99dcff2670","directory":"doodle-derby","title":"Doodle Derby","compatibility":4,"releases":[{"id":"0100F2C00F060000","region":null}]},{"id":"0eb86a91-8685-4a51-bc14-867b616df8e6","directory":"2weistein-the-curse-of-the-red-dragon","title":"2weistein – The Curse of the Red Dragon","compatibility":99,"releases":[{"id":"0100E20012886000","region":null}]},{"id":"0ebe4caf-e111-4b92-b7af-d838b4070084","directory":"inventioneers","title":"Inventioneers","compatibility":99,"releases":[{"id":"0100DAC00BB52000","region":null}]},{"id":"0ece7af1-8cf5-47c1-97c2-77dd10a01b53","directory":"bleep-bloop","title":"Bleep Bloop","compatibility":0,"releases":[{"id":"0100AEA00CCAE000","region":null}]},{"id":"0ee10f69-5e32-4968-9d8d-26f4a1f97920","directory":"beyond-blue","title":"Beyond Blue","compatibility":99,"releases":[{"id":"0100DBC012C9E000","region":null}]},{"id":"0ee7c2ac-9722-49f0-918c-dd599c94f72a","directory":"super-magbot","title":"Super Magbot","compatibility":1,"releases":[{"id":"010018D013CAA000","region":null}]},{"id":"0eea9292-2f99-455d-adcf-4e5e45e6d434","directory":"garden-paws","title":"Garden Paws","compatibility":99,"releases":[{"id":"01009A000C35C000","region":null}]},{"id":"0eed6725-c336-48b2-855c-7852ac746fec","directory":"the-red-strings-club","title":"The Red Strings Club","compatibility":5,"releases":[{"id":"0100EB100D17C000","region":null}]},{"id":"0ef21a6c-ba99-48aa-9823-a4c4086872bb","directory":"the-manga-works","title":"The Manga Works","compatibility":0,"releases":[{"id":"0100A3500E2D8000","region":null}]},{"id":"0efbad4b-26ff-4ee8-87b8-0867017a7b09","directory":"mulaka","title":"Mulaka","compatibility":4,"releases":[{"id":"0100211005E94000","region":null}]},{"id":"0f0bcd40-fa62-438d-b1b4-61d0255de62a","directory":"dream-house-days-dx","title":"Dream House Days DX","compatibility":99,"releases":[{"id":"0100BE9014420000","region":null}]},{"id":"0f0fd0ab-7889-4553-aeba-02bef5b0ea8f","directory":"miden-tower","title":"Miden Tower","compatibility":99,"releases":[{"id":"01001EB011D38000","region":null}]},{"id":"0f137050-e378-4568-9511-b88b7acaf36e","directory":"goosebumps-the-game","title":"Goosebumps The Game","compatibility":3,"releases":[{"id":"0100B8000B190000","region":null}]},{"id":"0f177323-a9a9-4007-ae13-9b8b80f7e26f","directory":"farm-expert-2018-for-nintendo-switch","title":"Farm Expert 2018 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100BB9009FC8000","region":null}]},{"id":"0f183135-c12d-4bfa-a70c-2f39b1424497","directory":"beach-bounce-remastered","title":"Beach Bounce Remastered","compatibility":99,"releases":[{"id":"01004060145C0000","region":null}]},{"id":"0f22e4c4-27d8-41a7-88ed-6d471a3f27aa","directory":"piczle-cross-adventure","title":"Piczle Cross Adventure","compatibility":99,"releases":[{"id":"01000EE010B40000","region":null}]},{"id":"0f23ea9a-764a-42a2-b5b1-1446c509cb2f","directory":"sacred-stones","title":"Sacred Stones","compatibility":99,"releases":[{"id":"01005CE00F970000","region":null}]},{"id":"0f2423f2-d962-4068-9ad5-078bc2062ae8","directory":"from-earth-to-heaven","title":"From Earth To Heaven","compatibility":99,"releases":[{"id":"01000EE015C66000","region":null}]},{"id":"0f2bad5d-bede-4aba-ae55-3bd6e9394c8e","directory":"fuser","title":"FUSERâ„¢","compatibility":2,"releases":[{"id":"0100E1F013674000","region":null},{"id":"010089D00E28A000","region":null}]},{"id":"0f31bd9d-f6be-4d4a-851a-4d462a22adc5","directory":"dicey-dungeons","title":"Dicey Dungeons","compatibility":1,"releases":[{"id":"0100BBF011394000","region":null}]},{"id":"0f351c74-acde-4957-8239-a25b8c34a7db","directory":"fifa-18","title":"FIFA 18","compatibility":5,"releases":[{"id":"0100F7B002340000","region":null}]},{"id":"0f36f79f-d2cc-49d6-b694-89ff3d1d4245","directory":"poi-explorer-edition","title":"Poi: Explorer Edition","compatibility":1,"releases":[{"id":"01005EC0039E4000","region":null}]},{"id":"0f39289b-563b-41e1-9b4a-c6b796350d04","directory":"arcade-archives-shusse-ozumo","title":"Arcade Archives Shusse Ozumo","compatibility":4,"releases":[{"id":"01007A4009834000","region":null}]},{"id":"0f3f1767-0178-4324-ace4-4ec3ca20da24","directory":"syberia","title":"Syberia","compatibility":5,"releases":[{"id":"0100421003FD4000","region":null}]},{"id":"0f52d11c-8d5f-4f41-9fe5-93da4d34059e","directory":"kakuro-magic","title":"Kakuro Magic","compatibility":99,"releases":[{"id":"0100137011172000","region":null}]},{"id":"0f53289b-a70e-46d7-b6e4-8a08c091133f","directory":"gleaner-heights","title":"Gleaner Heights","compatibility":5,"releases":[{"id":"0100D6300ED2E000","region":null}]},{"id":"0f5b105f-82a3-4545-9c64-842b4934bdc9","directory":"new-star-manager","title":"New Star Manager","compatibility":99,"releases":[{"id":"010082900C5FA000","region":null}]},{"id":"0f5f93bd-5372-4f4e-afbb-07658474c00c","directory":"save-your-nuts","title":"Save Your Nuts","compatibility":99,"releases":[{"id":"010091000F72C000","region":null}]},{"id":"0f624235-ee78-4ce5-81e9-5ff6f086ccdf","directory":"monster-truck-arena","title":"Monster Truck Arena","compatibility":99,"releases":[{"id":"0100098016148000","region":null}]},{"id":"0f688bcc-1f73-4608-b205-ca2c4221cf3f","directory":"accidental-queens-collection","title":"Accidental Queens Collection","compatibility":99,"releases":[{"id":"010053601357E000","region":null}]},{"id":"0f7fe8f6-4c28-4c94-a1b3-224ea641687a","directory":"slide-stars","title":"Slide Stars","compatibility":99,"releases":[{"id":"010010D011E1C000","region":null}]},{"id":"0f99c46f-1ae2-4c0e-a812-bc0a1d2042bc","directory":"space-dave","title":"Space Dave","compatibility":99,"releases":[{"id":"0100E28002D74000","region":null}]},{"id":"0f9cb2e4-c59f-467c-8339-61d81ae4e3c8","directory":"tank-mechanic-simulator","title":"Tank Mechanic Simulator","compatibility":99,"releases":[{"id":"0100E06012BB4000","region":null}]},{"id":"0fa0aced-3a76-4af2-bd06-68298bfa102c","directory":"smoke-and-sacrifice","title":"Smoke And Sacrifice","compatibility":99,"releases":[{"id":"0100207007EB2000","region":null}]},{"id":"0fae18c3-2432-41b3-a8cd-e897d03c4918","directory":"badland-game-of-the-year-edition","title":"Badland: Game of the Year Edition","compatibility":99,"releases":[{"id":"0100D730151C8000","region":null}]},{"id":"0fb08e59-b003-4491-981a-f7855ae0e398","directory":"quell-reflect","title":"Quell Reflect","compatibility":99,"releases":[{"id":"0100111012438000","region":null}]},{"id":"0fb1ee65-50fd-4bfb-8b47-e7209f305d5e","directory":"lethis-path-of-progress","title":"Lethis - Path of Progress","compatibility":99,"releases":[{"id":"0100CF600F366000","region":null}]},{"id":"0fb5149d-233c-4e1d-acfc-1aa99d75db4f","directory":"happy-game","title":"Happy Game","compatibility":99,"releases":[{"id":"010031D013A4E000","region":null}]},{"id":"0fb63a1d-96c4-4350-a303-3026d964d050","directory":"guardian-of-lore","title":"Guardian of Lore","compatibility":99,"releases":[{"id":"010092B016A18000","region":null}]},{"id":"0fcaabfc-629e-4f64-83d1-52282026ff59","directory":"offroad-mini-racing","title":"Offroad Mini Racing","compatibility":99,"releases":[{"id":"0100EE0014072000","region":null}]},{"id":"0fcd1a55-096e-4ff0-b886-ef23209e5550","directory":"narita-boy","title":"Narita Boy","compatibility":0,"releases":[{"id":"010062200E912000","region":null}]},{"id":"0fe2eada-c107-4749-a249-085a039e28a2","directory":"kings-bounty-ii","title":"King's Bounty II","compatibility":4,"releases":[{"id":"010026F013B3A000","region":null}]},{"id":"0fe4fb97-849e-490a-8c0d-de09c5843e89","directory":"best-day-ever","title":"Best Day Ever","compatibility":99,"releases":[{"id":"010022D0142BE000","region":null}]},{"id":"0fee546a-4f9b-4b79-be40-2be921f861f5","directory":"new-pokemon-snap","title":"New Pokémon Snapâ„¢","compatibility":1,"releases":[{"id":"0100F4300BF2C000","region":null}]},{"id":"0ff2bb98-8e26-4a1e-8413-874520b28a3b","directory":"nerf-legends","title":"Nerf Legends","compatibility":99,"releases":[{"id":"0100D0A012D0E000","region":null}]},{"id":"100c186b-1bd2-4bbc-81a0-c90dfed7b9ae","directory":"atelier-lulua-~the-scion-of-arland~","title":"Atelier Lulua ~The Scion of Arland~","compatibility":4,"releases":[{"id":"0100B1400CD50000","region":null}]},{"id":"101fff51-1174-4946-94ac-5a03b2e39db2","directory":"odysseus-kosmos-and-his-robot-quest","title":"Odysseus Kosmos and his Robot Quest","compatibility":99,"releases":[{"id":"0100353013D06000","region":null}]},{"id":"1022160e-98fe-40c3-9af0-fdf2ba8e2e2f","directory":"bqm-blockquest-maker-","title":"BQM -BlockQuest Maker-","compatibility":99,"releases":[{"id":"0100CA400B6D0000","region":null}]},{"id":"1022b89b-33c3-4537-af8b-efc816a24c57","directory":"tilt-pack","title":"Tilt Pack","compatibility":99,"releases":[{"id":"010026E0104C0000","region":null}]},{"id":"1033f8fc-3e5d-4349-9917-a462c805fef7","directory":"youtube","title":"YouTube","compatibility":5,"releases":[{"id":"01003A400C3DA000","region":null}]},{"id":"1047febf-8ace-45a8-b237-1c0f66462089","directory":"aca-neogeo-samurai-shodown-ii","title":"ACA NEOGEO SAMURAI SHODOWN II","compatibility":99,"releases":[{"id":"010052B00871C000","region":null}]},{"id":"1062094a-c04d-497f-8a00-2a3c48f9a8bc","directory":"root-double-before-crime-after-days-xtend-edition","title":"Root Double -Before Crime * After Days- Xtend Edition","compatibility":5,"releases":[{"id":"0100936011556000","region":null}]},{"id":"1072f1d3-a2e1-44e1-86be-aba1023f04ca","directory":"power-racing-bundle","title":"Power Racing Bundle","compatibility":99,"releases":[{"id":"01004A301226A000","region":null}]},{"id":"10782f2e-4be3-47d3-a907-662f682927dd","directory":"park-inc","title":"Park Inc","compatibility":99,"releases":[{"id":"010048A014B8E000","region":null}]},{"id":"109c0c1b-4463-4d71-91a3-1cd5969bf849","directory":"syberia-1-and-2","title":"Syberia 1 & 2","compatibility":5,"releases":[{"id":"01004BB00421E000","region":null}]},{"id":"10a2059c-a34a-4aef-9452-6a3a4772b2b5","directory":"towaga-among-shadows","title":"Towaga: Among Shadows","compatibility":0,"releases":[{"id":"010062900E610000","region":null}]},{"id":"10b11ea8-768f-4edc-b50b-e3bfd4a3f136","directory":"fight-of-animals-arena","title":"Fight of Animals: Arena","compatibility":99,"releases":[{"id":"0100AC6015996000","region":null}]},{"id":"10b6e65b-3646-4484-992e-19d3363218a7","directory":"marbles-rush","title":"Marbles Rush","compatibility":99,"releases":[{"id":"010001601590E000","region":null}]},{"id":"10c8133d-8b43-4178-a345-a809ea1c9bea","directory":"my-diggy-dog-2","title":"My Diggy Dog 2","compatibility":0,"releases":[{"id":"01008EB012608000","region":null}]},{"id":"10c97f95-a512-454a-b4ba-c26d9fd7eebf","directory":"rolld","title":"Roll'd","compatibility":99,"releases":[{"id":"0100B7200FC96000","region":null}]},{"id":"10ccfae7-7a1e-4461-94cf-ea7a2029fea8","directory":"worm-jazz","title":"Worm Jazz","compatibility":99,"releases":[{"id":"01009CD012CC0000","region":null}]},{"id":"10cdea6c-df89-4447-851b-80bc8532d925","directory":"attack-on-titan-2","title":"Attack on Titan 2","compatibility":1,"releases":[{"id":"010034500641A000","region":null}]},{"id":"10dc0eb2-5299-4bc8-a28e-10c1972dc9e4","directory":"unepic","title":"Unepic","compatibility":1,"releases":[{"id":"01008F80049C6000","region":null}]},{"id":"10dc5578-4ee2-48d7-8c24-8e32516ffabd","directory":"johnny-turbos-arcade-express-raider","title":"Johnny Turbo’s Arcade: Express Raider","compatibility":99,"releases":[{"id":"0100378002CCA000","region":null}]},{"id":"10e26e57-d3e7-4bc6-b763-fbd6f0169a02","directory":"monster-crown","title":"Monster Crown","compatibility":0,"releases":[{"id":"0100E0600C78E000","region":null}]},{"id":"10e52b36-bf7c-4cf4-9232-4a048ef1924c","directory":"among-the-sleep-enhanced-edition","title":"Among the Sleep - Enhanced Edition","compatibility":4,"releases":[{"id":"010046500C8D2000","region":null}]},{"id":"10f563ce-ed19-4f5a-91d3-151b137663b7","directory":"takorita-meets-fries","title":"Takorita Meets Fries","compatibility":99,"releases":[{"id":"0100E02015EDA000","region":null}]},{"id":"10f927ec-54cc-455e-972f-9a1adbf175a9","directory":"actraiser-renaissance","title":"Actraiser Renaissance","compatibility":0,"releases":[{"id":"010049E013134000","region":null}]},{"id":"10fc0124-ac41-4eda-b8f4-6272b735fc73","directory":"warsaw","title":"WARSAW","compatibility":99,"releases":[{"id":"0100DFB011B12000","region":null}]},{"id":"10ff9ebd-664e-4d61-9810-bc3b3b6de97e","directory":"shinsekai-into-the-depths","title":"Shinsekai Into the Depthsâ„¢","compatibility":2,"releases":[{"id":"01004EE0104F6000","region":null}]},{"id":"1109a1bd-5f14-440a-a68e-7bd95c247061","directory":"embracelet","title":"Embracelet","compatibility":99,"releases":[{"id":"010071B012940000","region":null}]},{"id":"110c6f1a-cc4d-4f47-beea-df33f6a54902","directory":"blitz-breaker","title":"Blitz Breaker","compatibility":99,"releases":[{"id":"0100C7001526C000","region":null}]},{"id":"11254983-27e3-417d-9a7e-24f4996a03a7","directory":"the-jackbox-party-pack-4","title":"The Jackbox Party Pack 4","compatibility":99,"releases":[{"id":"0100E1F003EE8000","region":null}]},{"id":"11271371-4d58-4de3-a4ef-4cfeee69fa4a","directory":"commander-keen-in-keen-dreams-definitive-edition","title":"Commander Keen in Keen Dreams: Definitive Edition","compatibility":99,"releases":[{"id":"0100E400129EC000","region":null}]},{"id":"11282353-0ead-467f-a245-428055dada32","directory":"castaway-paradise","title":"Castaway Paradise","compatibility":99,"releases":[{"id":"0100D1101445C000","region":null}]},{"id":"11297484-d3af-43cb-acf7-480308955bd5","directory":"sakura-santa","title":"Sakura Santa","compatibility":99,"releases":[{"id":"0100D99016B22000","region":null}]},{"id":"1134264f-4c31-45aa-ae1b-efca7d07f60c","directory":"the-good-life","title":"The Good Life","compatibility":99,"releases":[{"id":"0100B1B015ABA000","region":null}]},{"id":"1136a8bb-393d-445a-975a-2d82e8992593","directory":"sorry-james","title":"Sorry, James","compatibility":99,"releases":[{"id":"01009EA00F180000","region":null}]},{"id":"1136ccb0-553b-450d-adef-d3a5dd6a4597","directory":"aca-neogeo-sengoku","title":"ACA NEOGEO SENGOKU","compatibility":1,"releases":[{"id":"0100D170038EA000","region":null}]},{"id":"11392d80-6e7a-4075-8231-d1043559a0a0","directory":"duck-life-adventure","title":"Duck Life Adventure","compatibility":99,"releases":[{"id":"01005BC012C66000","region":null}]},{"id":"113b01dc-a1fb-4daf-b7d9-749adccabc07","directory":"donut-county","title":"Donut County","compatibility":0,"releases":[{"id":"0100E2800C364000","region":null}]},{"id":"113c19b4-7bce-420e-8758-43af88f817dc","directory":"bonkies","title":"Bonkies","compatibility":99,"releases":[{"id":"01008E20128DE000","region":null}]},{"id":"114e4565-b61c-4156-9566-5e2929511c7b","directory":"millie","title":"Millie","compatibility":99,"releases":[{"id":"0100976008FBE000","region":null}]},{"id":"11603e8a-d5b8-4e58-a75c-f3e4949aff9b","directory":"retrograde-arena","title":"Retrograde Arena","compatibility":99,"releases":[{"id":"0100802011A2A000","region":null}]},{"id":"1168c41b-817f-4c6d-9bc9-2b58103eb3a8","directory":"chess-knights-shinobi","title":"Chess Knights: Shinobi","compatibility":99,"releases":[{"id":"01009D6013CB0000","region":null}]},{"id":"117be7d2-af9b-4125-b03c-86e3107cf968","directory":"always-sometimes-monsters","title":"Always Sometimes Monsters","compatibility":99,"releases":[{"id":"0100895013EE0000","region":null}]},{"id":"117ce0a9-0000-4d3f-8dcc-76cbcb13f6a6","directory":"lost-sphear","title":"LOST SPHEAR","compatibility":0,"releases":[{"id":"010077B0038B2000","region":null}]},{"id":"118b0979-380f-4fa8-ae81-efbb3e69cdd2","directory":"sudoku-classic","title":"Sudoku Classic","compatibility":99,"releases":[{"id":"0100380015262000","region":null}]},{"id":"1191eb5b-8b00-44ab-8bb6-a90366998e07","directory":"word-search-by-powgi","title":"Word Search by POWGI","compatibility":99,"releases":[{"id":"0100F9A008AD6000","region":null}]},{"id":"1192ee2a-4dbf-43be-be82-083bd4e22ba7","directory":"braveland-trilogy","title":"Braveland Trilogy","compatibility":99,"releases":[{"id":"0100A5B00D3D2000","region":null}]},{"id":"11afb680-d98d-4134-843c-3d42e64d6b9c","directory":"namco-museum-r-archives-vol-1","title":"NAMCO MUSEUM® ARCHIVES Vol 1","compatibility":2,"releases":[{"id":"010084E010E18000","region":null}]},{"id":"11ba351e-d67a-4cbd-a9a3-98f1cd5cc64e","directory":"lets-sing-country","title":"Let's Sing Country","compatibility":99,"releases":[{"id":"0100E5A00DF60000","region":null}]},{"id":"11beb21e-9824-477d-b718-fb6657de11c1","directory":"choices-that-matter-and-their-heroes-were-lost","title":"Choices That Matter: And Their Heroes Were Lost","compatibility":99,"releases":[{"id":"01006680132F0000","region":null}]},{"id":"11c396e0-d1e4-4d60-97b0-1ca022203a84","directory":"attack-of-the-toy-tanks","title":"Attack of the Toy Tanks","compatibility":99,"releases":[{"id":"010039600E7AC000","region":null}]},{"id":"11c39e2b-b2e5-4d72-b475-6a3830909881","directory":"save-me-mr-tako-definitive-edition","title":"Save me Mr Tako: Definitive Edition","compatibility":99,"releases":[{"id":"010099601473E000","region":null}]},{"id":"11d05985-31e7-4901-8434-2d02e816f286","directory":"the-saviors-gang","title":"The Savior's Gang","compatibility":99,"releases":[{"id":"01002BA00C7CE000","region":null}]},{"id":"11dcbc76-1052-4934-b09e-4fd007ca3445","directory":"ragtag-adventurers","title":"Ragtag Adventurers","compatibility":99,"releases":[{"id":"010032200BBC0000","region":null}]},{"id":"11e10014-39bd-4b5b-aebe-bc043e56da4c","directory":"dream-daddy-a-dad-dating-simulator","title":"Dream Daddy: A Dad Dating Simulator","compatibility":99,"releases":[{"id":"0100BF500E94E000","region":null}]},{"id":"11e6b926-1b79-4ce7-abb9-f5616c808a81","directory":"aca-neogeo-the-king-of-fighters-95","title":"ACA NEOGEO THE KING OF FIGHTERS '95","compatibility":99,"releases":[{"id":"01009DC001DB6000","region":null}]},{"id":"11e73b84-a764-4542-8bb3-24cecb6e2f64","directory":"max-the-curse-of-brotherhood","title":"Max: The Curse of Brotherhood","compatibility":0,"releases":[{"id":"01001C9007614000","region":null}]},{"id":"11e9f4cd-4b32-4f3d-a640-596ad2459f4d","directory":"captain-toad-treasure-tracker","title":"Captain Toad: Treasure Tracker","compatibility":0,"releases":[{"id":"01009BF0072D4000","region":null}]},{"id":"12111a8c-17f7-402f-8781-5d234ee265d1","directory":"just-dance-2018","title":"Just Dance 2018","compatibility":0,"releases":[{"id":"0100A0500348A000","region":null}]},{"id":"12126413-acd8-4ccc-8e06-58ae33b985d0","directory":"siegecraft-commander","title":"Siegecraft Commander","compatibility":99,"releases":[{"id":"010016B005CF8000","region":null}]},{"id":"121294f6-90f0-4a41-b720-e35e03cfc887","directory":"mercenaries-blaze-dawn-of-the-twin-dragons","title":"Mercenaries Blaze: Dawn of the Twin Dragons","compatibility":0,"releases":[{"id":"0100A790133FC000","region":null}]},{"id":"12316866-554e-49ff-8c73-8be31235f594","directory":"spot-the-differences-party","title":"Spot The Differences: Party!","compatibility":99,"releases":[{"id":"010052100D1B4000","region":null}]},{"id":"1231e9f7-123d-4051-b73f-4eaf1320a82e","directory":"rainbocorns","title":"Rainbocorns","compatibility":99,"releases":[{"id":"01005EE0142F6000","region":null}]},{"id":"123bbe82-016f-4d14-8382-ee9b9456ca1a","directory":"potata-fairy-flower","title":"Potata: Fairy Flower","compatibility":5,"releases":[{"id":"01005FC010EB2000","region":null}]},{"id":"12411e4a-2981-427a-929d-d935e2ffde88","directory":"super-toy-cars-2","title":"Super Toy Cars 2","compatibility":2,"releases":[{"id":"0100C6800D770000","region":null}]},{"id":"1246f3fc-4bb3-4ff5-9acf-9ae286424cf7","directory":"the-legend-of-zelda-breath-of-the-wild","title":"The Legend of Zelda: Breath of the Wild","compatibility":1,"releases":[{"id":"01007EF00011E000","region":null}]},{"id":"1247a15e-a09f-4055-9236-9839d0c1f6a0","directory":"personality-and-psychology-premium","title":"Personality and Psychology Premium","compatibility":99,"releases":[{"id":"0100DEA00B758000","region":null}]},{"id":"124cc074-e891-43f2-8f90-5a09d2047147","directory":"she-and-the-light-bearer","title":"She and the Light Bearer","compatibility":1,"releases":[{"id":"01008CD00C5FC000","region":null}]},{"id":"124f1a2c-d833-4ffa-b5e9-08d0c2d23028","directory":"saboteur-sio","title":"Saboteur SiO","compatibility":0,"releases":[{"id":"0100D94012FE8000","region":null}]},{"id":"124fd6c9-9d3c-4a3f-8f18-24b41a5c2cdb","directory":"roki","title":"Röki","compatibility":99,"releases":[{"id":"010022600E4AE000","region":null}]},{"id":"1259a413-3b14-4f0d-bccf-2c8459b0a712","directory":"super-mario-3d-world-bowsers-fury","title":"Super Marioâ„¢ 3D World + Bowser’s Fury","compatibility":0,"releases":[{"id":"010028600EBDA000","region":null}]},{"id":"12626755-3764-4ff7-9437-50051bd6fb34","directory":"tokyo-school-life","title":"Tokyo School Life","compatibility":99,"releases":[{"id":"0100E2E00CB14000","region":null}]},{"id":"1262a7e3-1efa-4901-9ba0-5f245e084d1c","directory":"kings-of-paradise","title":"Kings of Paradise","compatibility":99,"releases":[{"id":"0100FE9013182000","region":null}]},{"id":"1272064d-6d1e-4415-8332-ddd1af2ae4b9","directory":"arcade-archives-traverse-usa","title":"Arcade Archives Traverse USA","compatibility":4,"releases":[{"id":"010029D006ED8000","region":null}]},{"id":"1280b2e2-cabe-49dd-877a-869a9e23c24f","directory":"vampires-fall-origins","title":"Vampire's Fall: Origins","compatibility":99,"releases":[{"id":"0100BD0012A68000","region":null}]},{"id":"12915b33-3c15-4dbf-9bca-5bd2fcee8565","directory":"fatal-twelve","title":"FATAL TWELVE","compatibility":99,"releases":[{"id":"010054101370E000","region":null}]},{"id":"129361a4-ab74-436a-b346-1269921d6987","directory":"jet-ski-rush","title":"Jet Ski Rush","compatibility":99,"releases":[{"id":"01004BC010D70000","region":null}]},{"id":"1297432c-533c-4d57-a48e-ba73a6907831","directory":"langrisser-i-ii","title":"Langrisser I & II","compatibility":1,"releases":[{"id":"0100BAB00E8C0000","region":null}]},{"id":"12abb349-215e-4b76-961d-6dc41b1e1a56","directory":"shinobi-blade","title":"Shinobi Blade","compatibility":99,"releases":[{"id":"0100006013A4A000","region":null}]},{"id":"12adb826-8c9c-4c3d-9361-1ce84c12a4e0","directory":"pba-pro-bowling-2021","title":"PBA Pro Bowling 2021","compatibility":3,"releases":[{"id":"0100F95013772000","region":null}]},{"id":"12ae30e3-ec20-4afd-b9fa-fc984ac93472","directory":"drag-sim-2020","title":"Drag Sim 2020","compatibility":0,"releases":[{"id":"0100B59011A1C000","region":null}]},{"id":"12b4a6a5-8361-44b3-80ba-7edc8b1dcc5e","directory":"apple-knight","title":"Apple Knight","compatibility":0,"releases":[{"id":"01004C1013548000","region":null}]},{"id":"12cd2960-6c90-48f0-8be0-6a4cb65f0b3b","directory":"sakura-swim-club","title":"Sakura Swim Club","compatibility":1,"releases":[{"id":"0100425015F7E000","region":null}]},{"id":"12d1f9b8-0ed2-46c4-8cd6-22d8f9ca5f0f","directory":"decay-of-logos","title":"Decay of Logos","compatibility":99,"releases":[{"id":"010027700FD2E000","region":null}]},{"id":"12d80c91-e1a7-4773-800b-5f6aae517f52","directory":"ittle-dew-2","title":"Ittle Dew 2+","compatibility":0,"releases":[{"id":"01004070022F0000","region":null}]},{"id":"12e16ceb-6085-4ca1-84f1-e6a48c5c2599","directory":"lethal-league-blaze","title":"Lethal League Blaze","compatibility":1,"releases":[{"id":"01003AB00983C000","region":null}]},{"id":"12e298fc-8cf2-460a-87a2-424c5f0d83db","directory":"here-be-dragons","title":"Here Be Dragons","compatibility":5,"releases":[{"id":"0100F9B012C6A000","region":null}]},{"id":"12f1da60-2c2f-43c4-9e6d-fbf32cef4f3d","directory":"ghostrunner","title":"Ghostrunner","compatibility":3,"releases":[{"id":"010090F012916000","region":null}]},{"id":"12f6df58-67bc-49a9-883d-1bff1eeab9ac","directory":"red-ronin","title":"Red Ronin","compatibility":99,"releases":[{"id":"01000FE014632000","region":null}]},{"id":"130078d4-c20d-4714-b5be-2e3c96ab0526","directory":"cubixx","title":"Cubixx","compatibility":99,"releases":[{"id":"0100DDE00DAC4000","region":null}]},{"id":"13013e71-7ad8-44c4-a422-847218d15728","directory":"green","title":"GREEN","compatibility":99,"releases":[{"id":"010068D00AE68000","region":null}]},{"id":"1305480e-a0fa-4f25-aad4-86d255838844","directory":"the-great-perhaps","title":"The Great Perhaps","compatibility":99,"releases":[{"id":"010007B012514000","region":null}]},{"id":"13079917-76b1-4898-a87e-bfb5ba58a423","directory":"super-squidlit","title":"Super Squidlit","compatibility":99,"releases":[{"id":"01009BD0128EC000","region":null}]},{"id":"13185fc8-84e4-49a8-9602-402dbf9e34d1","directory":"risk-of-rain-2","title":"Risk of Rain 2","compatibility":2,"releases":[{"id":"010076D00E4BA000","region":null}]},{"id":"131ea256-b191-41f8-bd3f-aeb04f69dc17","directory":"istanbul-digital-edition","title":"Istanbul: Digital Edition","compatibility":99,"releases":[{"id":"01008E700CAAC000","region":null}]},{"id":"13363229-d71e-4027-9655-f02a36bb9642","directory":"megaton-rainfall","title":"Megaton Rainfall","compatibility":3,"releases":[{"id":"010005A00B312000","region":null}]},{"id":"133a3d57-7dc0-41b2-80a5-c2ce1f5fd64f","directory":"unto-the-end","title":"Unto The End","compatibility":99,"releases":[{"id":"0100E49013190000","region":null}]},{"id":"133d776f-3f09-4557-8387-cda5bae46574","directory":"color-your-world","title":"Color Your World","compatibility":99,"releases":[{"id":"0100EB00132FE000","region":null}]},{"id":"133e203d-b19c-4b0b-9c3e-1cbcdeb2c539","directory":"the-survivalists","title":"The Survivalists","compatibility":2,"releases":[{"id":"0100EF200DA60000","region":null}]},{"id":"133f868e-c4d6-4ed7-93b4-14949197f528","directory":"arcade-archives-pooyan","title":"Arcade Archives POOYAN","compatibility":4,"releases":[{"id":"0100A6E00D3F8000","region":null}]},{"id":"1347b7c8-b381-4caa-b717-51e8aead14f5","directory":"freddy-fazbears-pizzeria-simulator","title":"Freddy Fazbear's Pizzeria Simulator","compatibility":99,"releases":[{"id":"01009C000E442000","region":null}]},{"id":"135ada33-d572-428d-9e63-2998748ba221","directory":"horace","title":"Horace","compatibility":99,"releases":[{"id":"010086D011EB8000","region":null}]},{"id":"13714937-5ff9-4d3b-8897-71f0b9e4bb2c","directory":"rocket-league","title":"Rocket League","compatibility":3,"releases":[{"id":"01005EE0036EC000","region":null}]},{"id":"137885f2-d411-4e22-911e-96ba1e770d42","directory":"skee-ball","title":"Skee-Ball","compatibility":99,"releases":[{"id":"0100B2F008BD8000","region":null}]},{"id":"137af45a-d177-4700-87d2-973d0e668129","directory":"call-of-juarez-gunslinger","title":"Call of Juarez: Gunslinger","compatibility":1,"releases":[{"id":"0100B4700BFC6000","region":null}]},{"id":"1382e58d-839a-4f76-b663-33efd91f249e","directory":"spongebob-squarepants-battle-for-bikini-bottom-rehydrated","title":"SpongeBob SquarePants: Battle for Bikini Bottom - Rehydrated","compatibility":1,"releases":[{"id":"010062800D39C000","region":null}]},{"id":"1382ebfb-7623-4e61-bb4c-eadf7129bfb2","directory":"de-mambo","title":"De Mambo","compatibility":4,"releases":[{"id":"01008E900471E000","region":null}]},{"id":"13878c70-366c-45a9-8595-5ebaa7613498","directory":"push-the-box-puzzle-game","title":"Push the Box - Puzzle Game","compatibility":99,"releases":[{"id":"01001DD0116AA000","region":null}]},{"id":"138f32a6-1bbb-4240-96d3-eba409011e07","directory":"otto","title":"Otto","compatibility":99,"releases":[{"id":"010068B0094A0000","region":null}]},{"id":"13993903-2d89-4c84-bdef-46db9eaa44b9","directory":"pocket-clothier","title":"Pocket Clothier","compatibility":99,"releases":[{"id":"010052900DC7E000","region":null}]},{"id":"13a4e002-6720-4440-b2ea-d60bffe427bd","directory":"virtuaverse","title":"VirtuaVerse","compatibility":99,"releases":[{"id":"0100D7C013544000","region":null}]},{"id":"13a8c665-b413-4e76-8fc9-1fda289e0a67","directory":"lockstone","title":"Lockstone","compatibility":99,"releases":[{"id":"0100610011780000","region":null}]},{"id":"13af1247-2296-49bf-a827-aed247922f55","directory":"voxel-pirates","title":"Voxel Pirates","compatibility":99,"releases":[{"id":"0100AFA011068000","region":null}]},{"id":"13b4607b-72c9-44d8-9b91-889ce8abf9c4","directory":"the-bridge","title":"The Bridge","compatibility":0,"releases":[{"id":"01002A2004530000","region":null}]},{"id":"13b83e28-e4c5-469f-9412-98f16c512a12","directory":"whipseey-and-the-lost-atlas","title":"Whipseey and the Lost Atlas","compatibility":1,"releases":[{"id":"010017500E7E0000","region":null}]},{"id":"13b89ff7-647d-4838-9126-10b2526470d8","directory":"desktop-baseball","title":"Desktop Baseball","compatibility":99,"releases":[{"id":"0100FC800E64E000","region":null}]},{"id":"13be55e7-7a6c-485b-9515-195859609ee3","directory":"doggie-ninja-the-burning-strikers","title":"Doggie Ninja The Burning Strikers","compatibility":99,"releases":[{"id":"0100013010456000","region":null}]},{"id":"13c299bf-da28-47e2-bff0-50067ab987f1","directory":"detective-dolittle","title":"Detective Dolittle","compatibility":1,"releases":[{"id":"010030600E65A000","region":null}]},{"id":"13c98210-4771-41da-a939-41f575a33734","directory":"s-n-i-p-e-r-hunter-scope","title":"S.N.I.P.E.R. - Hunter Scope","compatibility":0,"releases":[{"id":"0100B8B012ECA000","region":null}]},{"id":"13ca5850-eb1a-4cc7-a24a-ccfddc37fd01","directory":"arcade-archives-seicross","title":"Arcade Archives SEICROSS","compatibility":99,"releases":[{"id":"0100740014CBE000","region":null}]},{"id":"13cacd3e-5127-4eaa-b280-cdc86390e0c2","directory":"3d-minigolf","title":"3D MiniGolf","compatibility":1,"releases":[{"id":"01006DA00707C000","region":null}]},{"id":"13cefb29-65b1-4269-a53c-2a1d80b17d0a","directory":"street-outlaws-2-winner-takes-all","title":"Street Outlaws 2: Winner Takes All","compatibility":99,"releases":[{"id":"0100A49012D10000","region":null}]},{"id":"13d074d6-1601-4623-a318-53059abb3869","directory":"the-mahjong-huntress","title":"The Mahjong Huntress","compatibility":99,"releases":[{"id":"0100D1A00C330000","region":null}]},{"id":"13d90096-4ecd-48ed-968b-4f97314ec22f","directory":"scrap-rush","title":"SCRAP RUSH!!","compatibility":99,"releases":[{"id":"0100A8000B65C000","region":null}]},{"id":"13d92c7d-9014-4f14-b405-60432902b0b7","directory":"fluxteria","title":"Fluxteria","compatibility":99,"releases":[{"id":"01008D4010C46000","region":null}]},{"id":"13dec7bb-9512-4380-a581-3030f8993664","directory":"the-drama-queen-murder","title":"The Drama Queen Murder","compatibility":99,"releases":[{"id":"0100BD700EBC0000","region":null}]},{"id":"13e25db0-74bc-4ef4-819e-2a6b6f82b717","directory":"streets-of-rage-4","title":"Streets of Rage 4","compatibility":1,"releases":[{"id":"0100EC9010258000","region":null}]},{"id":"13e719a8-440c-42a0-aa3a-ec137e608115","directory":"mini-trains","title":"Mini Trains","compatibility":1,"releases":[{"id":"0100FB700DE1A000","region":null}]},{"id":"13f81878-3f4e-4c9a-848e-15a2cfe93815","directory":"dodge-hard","title":"DODGE HARD","compatibility":99,"releases":[{"id":"0100DE400D5A4000","region":null}]},{"id":"140dbca6-0dd4-4c8e-bcf4-e4ee82ea04b6","directory":"pokemon-lets-go-pikachu-and-pokemon-lets-go-eevee-demo-version","title":"Pokémon: Let’s Go, Pikachu! and Pokémon: Let’s Go, Eevee! Demo Version","compatibility":1,"releases":[{"id":"0100C1800D7AE000","region":null}]},{"id":"141bed7b-0603-4a2b-90b2-81a66ba84df6","directory":"big-bobby-car-the-big-race","title":"BIG-Bobby-Car - The Big Race","compatibility":99,"releases":[{"id":"010007401287E000","region":null}]},{"id":"1422204d-13f9-4963-b088-867a269978d5","directory":"hellpoint","title":"Hellpoint","compatibility":4,"releases":[{"id":"010024600C794000","region":null}]},{"id":"1429463d-a697-4506-9b7f-8d777ef367e5","directory":"a-gummys-life","title":"A Gummy's Life","compatibility":99,"releases":[{"id":"0100ABC009708000","region":null}]},{"id":"1433f02f-3366-44b3-8566-7bab2cd415e1","directory":"collidalot","title":"Collidalot","compatibility":99,"releases":[{"id":"010030800BC36000","region":null}]},{"id":"14361049-20f4-45f2-8899-2921e21d73c1","directory":"rmx-real-motocross","title":"RMX Real Motocross","compatibility":99,"releases":[{"id":"01008AC0115C6000","region":null}]},{"id":"14398c8e-6895-4e9b-a05e-5ab341fd7d4e","directory":"guardian-force-saturn-tribute","title":"Guardian Force - Saturn Tribute","compatibility":99,"releases":[{"id":"0100C67015270000","region":null}]},{"id":"1443b012-0498-4125-a696-871782a60e69","directory":"bubble-bobble-4-friends","title":"Bubble Bobble 4 Friends","compatibility":3,"releases":[{"id":"010010900F7B4000","region":null}]},{"id":"14447c7a-41b4-4376-89ae-8ab090e1dacb","directory":"nena","title":"NENA","compatibility":99,"releases":[{"id":"0100C39013874000","region":null}]},{"id":"1452a155-81d0-4b81-a4a4-75bf5e055703","directory":"will-a-wonderful-world","title":"WILL: A Wonderful World","compatibility":99,"releases":[{"id":"0100D360098B6000","region":null}]},{"id":"1452ecb0-fc2a-4b79-8a0a-7c2655e8444c","directory":"fall-gummies","title":"Fall Gummies","compatibility":99,"releases":[{"id":"01005CB013872000","region":null}]},{"id":"1454c243-3148-4b41-972a-e04ef3a98e6a","directory":"fuze-player","title":"FUZE Player","compatibility":99,"releases":[{"id":"010055801134E000","region":null}]},{"id":"1461d0db-f64b-4b34-bd11-c1e369720a88","directory":"king-leo","title":"King Leo","compatibility":99,"releases":[{"id":"01002D0015888000","region":null}]},{"id":"146be457-5d2c-41bf-8b02-483718aba736","directory":"aca-neogeo-shock-troopers","title":"ACA NEOGEO SHOCK TROOPERS","compatibility":1,"releases":[{"id":"01008A9001DC2000","region":null}]},{"id":"146c0cba-b9cf-4b61-875e-f6383ef1dda1","directory":"escape-first-2","title":"Escape First 2","compatibility":99,"releases":[{"id":"010021201296A000","region":null}]},{"id":"1481278b-ebb1-4046-b6a9-54b068f53ebd","directory":"yooka-laylee-and-the-impossible-lair","title":"Yooka-Laylee and the Impossible Lair","compatibility":0,"releases":[{"id":"010022F00DA66000","region":null}]},{"id":"148984d8-4eae-4602-81a2-8f7c0dad4594","directory":"sokodice","title":"Sokodice","compatibility":99,"releases":[{"id":"010094501406E000","region":null}]},{"id":"148a0fe8-475e-444d-9ef2-88503d1ae753","directory":"brawl","title":"BRAWL","compatibility":3,"releases":[{"id":"0100A42004718000","region":null}]},{"id":"148da4b8-e8b9-439c-8558-02a58b6ac586","directory":"god-eater-3","title":"GOD EATER 3","compatibility":4,"releases":[{"id":"01001C700873E000","region":null}]},{"id":"149354ab-db83-4e70-99b7-391450753f20","directory":"professor-rubiks-brain-fitness","title":"Professor Rubik's Brain Fitness","compatibility":99,"releases":[{"id":"01000160127EC000","region":null}]},{"id":"14be7350-4107-458f-ad56-a674735e1a02","directory":"little-misfortune","title":"Little Misfortune","compatibility":99,"releases":[{"id":"0100E7000E826000","region":null}]},{"id":"14cf2538-52af-44e7-a7d5-c1ef13247c9b","directory":"road-z-survival-the-last-winter","title":"Road Z Survival: The Last Winter","compatibility":99,"releases":[{"id":"0100F89016626000","region":null}]},{"id":"14d75c4e-21ce-41e0-8f76-38f4e5ee3889","directory":"legrand-legacy-tale-of-the-fatebounds","title":"LEGRAND LEGACY: Tale of the Fatebounds","compatibility":99,"releases":[{"id":"0100E7500BF84000","region":null}]},{"id":"14fae381-3e9f-4ff6-9b52-7c4b4326ef08","directory":"lacuna-a-sci-fi-noir-adventure","title":"Lacuna - A Sci-Fi Noir Adventure","compatibility":99,"releases":[{"id":"0100CA201683E000","region":null}]},{"id":"15048ed5-0e28-4589-813e-022151cebf51","directory":"infernium","title":"Infernium","compatibility":99,"releases":[{"id":"0100D4300A4CA000","region":null}]},{"id":"1507e490-f043-4b03-b2dc-9f6617f6fe11","directory":"rogue-legacy","title":"Rogue Legacy","compatibility":3,"releases":[{"id":"010056500AD50000","region":null}]},{"id":"150e9b73-0106-4a98-8f90-fa0d73ed70db","directory":"pacific-wings","title":"Pacific Wings","compatibility":5,"releases":[{"id":"010006900EF5E000","region":null}]},{"id":"15171d58-347e-4a0c-8fd9-9a88b74bfebf","directory":"supermoose","title":"SuperMoose","compatibility":99,"releases":[{"id":"0100A0A013AEE000","region":null}]},{"id":"152d3634-a728-4aea-aaf5-942b8f6aa7f0","directory":"double-kick-heroes","title":"Double Kick Heroes","compatibility":99,"releases":[{"id":"01000F400C1A4000","region":null}]},{"id":"15365f32-52ca-4e56-bf19-c03ce78ac31e","directory":"home-escape","title":"Home Escape","compatibility":99,"releases":[{"id":"01006D100E1DE000","region":null}]},{"id":"153fff97-c2fe-4705-bb5b-f17efbf1e154","directory":"doggie-ninja-the-golden-mission","title":"Doggie Ninja The Golden Mission","compatibility":99,"releases":[{"id":"0100F9400D6CC000","region":null}]},{"id":"15519c25-bfd3-4e99-b671-f4a49f65b735","directory":"animal-revolt-battle-simulator","title":"Animal Revolt Battle Simulator","compatibility":99,"releases":[{"id":"0100778017196000","region":null}]},{"id":"155cab79-2ed6-422f-ab9c-eaf41d51845e","directory":"youtubers-life-omg-edition","title":"Youtubers Life OMG Edition","compatibility":3,"releases":[{"id":"01002C9005F36000","region":null}]},{"id":"1561028a-bba1-447a-8e90-ad320484b3c1","directory":"pretty-princess-party","title":"Pretty Princess Party","compatibility":99,"releases":[{"id":"01007F00128CC000","region":null}]},{"id":"1563b1e0-3da4-4a54-bf81-610f5bd586e1","directory":"unholy-heights","title":"Unholy Heights","compatibility":99,"releases":[{"id":"0100B58007D40000","region":null}]},{"id":"1595d5b2-abe6-409a-83c4-427990a4c4c5","directory":"hitman-3-cloud-version","title":"HITMAN 3 - Cloud Version","compatibility":99,"releases":[{"id":"01004990132AC000","region":null}]},{"id":"159b4cd3-0c06-441f-84c4-7a04a7f3628e","directory":"double-dragon-iii-the-sacred-stones","title":"DOUBLE DRAGON â…¢: The Sacred Stones","compatibility":1,"releases":[{"id":"01001AD00E49A000","region":null}]},{"id":"159cf8df-96c4-4132-8cc3-94522e1d7087","directory":"r-b-i-baseball-21","title":"R.B.I. Baseball 21","compatibility":4,"releases":[{"id":"0100B4A0115CA000","region":null}]},{"id":"159f89da-a76e-4d89-9f77-af9cc2535ff9","directory":"girls-tank-battle","title":"Girls Tank Battle","compatibility":99,"releases":[{"id":"0100C1C0158F2000","region":null}]},{"id":"15a4a24a-7d2e-45d6-97cd-c9b0a830f2a2","directory":"three-fourths-home-extended-edition","title":"Three Fourths Home: Extended Edition","compatibility":99,"releases":[{"id":"0100D1D00ACB8000","region":null}]},{"id":"15b08700-5be0-47f9-a8e6-ea75d16851d8","directory":"the-knight-and-the-dragon","title":"the Knight & the Dragon","compatibility":99,"releases":[{"id":"010031B00DB34000","region":null}]},{"id":"15b7a5c9-eae3-47b7-9512-2410a5bc3f57","directory":"where-the-water-tastes-like-wine","title":"Where the Water Tastes Like Wine","compatibility":0,"releases":[{"id":"01005D800E022000","region":null}]},{"id":"15be02af-1631-4f4c-9e1b-83c65ba57134","directory":"kuukiyomi-consider-it","title":"KUUKIYOMI: Consider It!","compatibility":0,"releases":[{"id":"010079600BF22000","region":null}]},{"id":"15be382b-f4e7-4233-bf25-7cdf54a278ca","directory":"memory-lane-2","title":"Memory Lane 2","compatibility":99,"releases":[{"id":"01003840151F8000","region":null}]},{"id":"15dfaac9-94da-4b7d-b40a-8fc94d31cad6","directory":"she-remembered-caterpillars","title":"She Remembered Caterpillars","compatibility":99,"releases":[{"id":"01004F50085F2000","region":null}]},{"id":"15e0e206-6ed6-446b-b8ce-e161a6385901","directory":"arcade-archives-thunder-dragon","title":"Arcade Archives THUNDER DRAGON","compatibility":99,"releases":[{"id":"0100D540141FE000","region":null}]},{"id":"15e558cf-dda6-4f06-86ec-8ee57625a3e1","directory":"hyperbrawl-tournament","title":"HyperBrawl Tournament","compatibility":1,"releases":[{"id":"01006C500A29C000","region":null}]},{"id":"15e5ee50-e6e2-4575-a424-29a9c166db57","directory":"reverse-crawl","title":"Reverse Crawl","compatibility":99,"releases":[{"id":"010080000D8CA000","region":null}]},{"id":"15ea2c81-bfbf-4739-a89f-aaf2d9ce3ad0","directory":"beyond-enemy-lines-essentials","title":"Beyond Enemy Lines: Essentials","compatibility":99,"releases":[{"id":"0100B8F00DACA000","region":null}]},{"id":"15f3fbd5-9eb7-4530-b02b-3e3dba670278","directory":"drizzlepath-deja-vu","title":"Drizzlepath: Deja Vu","compatibility":99,"releases":[{"id":"0100377015A84000","region":null}]},{"id":"1601bd2b-e4aa-41fb-9597-1f52f63f017e","directory":"wasteland-2-directors-cut","title":"Wasteland 2: Director's Cut","compatibility":3,"releases":[{"id":"010039A00BC64000","region":null}]},{"id":"160fae18-542f-4392-b4f9-d7183ae1f7bb","directory":"3000th-duel","title":"3000th Duel","compatibility":1,"releases":[{"id":"0100FB5010D2E000","region":null}]},{"id":"1625ba8e-f23a-49f0-a671-a7b9777d5b2e","directory":"attack-on-beetle","title":"Attack on Beetle","compatibility":99,"releases":[{"id":"0100427012690000","region":null}]},{"id":"16268300-6feb-42fb-a4e4-df0092789661","directory":"unbound-worlds-apart","title":"Unbound: Worlds Apart","compatibility":2,"releases":[{"id":"0100C5A013B7A000","region":null}]},{"id":"163c25d6-e63b-4302-9050-b0fb1f9ac9c0","directory":"wing-of-darkness","title":"Wing of Darkness","compatibility":2,"releases":[{"id":"010035B012F28000","region":null}]},{"id":"164d69cb-90d1-40b5-ab18-ec51c6455c3f","directory":"macbat-64-journey-of-a-nice-chap","title":"Macbat 64: Journey of a Nice Chap","compatibility":99,"releases":[{"id":"0100272012DEC000","region":null}]},{"id":"164e775b-c57f-4c18-872c-22d78fcd09b7","directory":"gelly-break","title":"Gelly Break","compatibility":2,"releases":[{"id":"01009D000AF3A000","region":null}]},{"id":"16530325-9173-4dc3-acdc-90fbe6a813eb","directory":"arcade-archives-kurikinton","title":"Arcade Archives KURIKINTON","compatibility":99,"releases":[{"id":"01001AD014CC6000","region":null}]},{"id":"16539121-f973-4654-9f56-d44759a05e24","directory":"arcade-archives-pac-man","title":"Arcade Archives PAC-MAN","compatibility":99,"releases":[{"id":"0100431015ABE000","region":null}]},{"id":"16663ed0-70f0-495f-ab13-99a13b1d2b5f","directory":"resident-evil-0","title":"Resident Evil 0","compatibility":0,"releases":[{"id":"010097000BC10000","region":null}]},{"id":"16670d6e-841f-4acc-8e09-d93b6d43a100","directory":"sports-adventure-pinball","title":"Sports & Adventure Pinball","compatibility":99,"releases":[{"id":"0100CAF015C32000","region":null}]},{"id":"166c2d88-d4e0-4b14-b9cb-439eaf4fb3f4","directory":"coffee-talk","title":"Coffee Talk","compatibility":99,"releases":[{"id":"010066200E1E6000","region":null}]},{"id":"166f735b-3862-4e1c-8fd1-281e6d93bb95","directory":"inside-grass-a-little-adventure","title":"Inside Grass: A little adventure","compatibility":99,"releases":[{"id":"0100EC7012D34000","region":null}]},{"id":"1671f8ba-5de6-4cdc-bd98-75115ea689a1","directory":"catherine-full-body","title":"Catherine: Full Body","compatibility":2,"releases":[{"id":"0100BF00112C0000","region":null}]},{"id":"167ca5d5-b087-4190-a0aa-29a34ca02ab5","directory":"worms-wmd","title":"Worms W.M.D","compatibility":4,"releases":[{"id":"01001AE005166000","region":null}]},{"id":"16827019-62b9-4b9d-bc1e-cbeb53632272","directory":"party-crashers","title":"Party Crashers","compatibility":99,"releases":[{"id":"0100CB10089DE000","region":null}]},{"id":"168fc201-0521-4469-bcb1-f7f9164a4235","directory":"where-cards-fall","title":"Where Cards Fall","compatibility":99,"releases":[{"id":"010055501288A000","region":null}]},{"id":"1692cf28-bbcc-41fd-9a92-4607f09b89fd","directory":"rogue-star-rescue","title":"Rogue Star Rescue","compatibility":99,"releases":[{"id":"0100BE6013408000","region":null}]},{"id":"1693afc3-0105-4ff2-9184-61918398a510","directory":"pj-masks-heroes-of-the-night","title":"PJ MASKS: HEROES OF THE NIGHT","compatibility":99,"releases":[{"id":"0100614013DC0000","region":null}]},{"id":"1695613f-898f-4a3f-86d7-79620651dbbf","directory":"spiral-memoria-the-summer-i-meet-myself","title":"Spiral Memoria -The Summer I Meet Myself-","compatibility":1,"releases":[{"id":"0100F6D01250C000","region":null}]},{"id":"16ab1654-6c79-4cb7-b419-e8267591194d","directory":"zenith","title":"Zenith","compatibility":99,"releases":[{"id":"0100AAC00E692000","region":null}]},{"id":"16b55431-03be-42b5-9af2-851e120f9421","directory":"tangrams-deluxe","title":"Tangrams Deluxe","compatibility":0,"releases":[{"id":"01009CC00BD6E000","region":null}]},{"id":"16c3742f-de31-4935-a079-b34bf2f2698e","directory":"please-teach-me-onedari-shogi","title":"Please Teach Me Onedari Shogi","compatibility":1,"releases":[{"id":"0100F2C00EED4000","region":null}]},{"id":"16d462a2-e81b-4ca2-9944-34151376fe26","directory":"tactical-mind","title":"Tactical Mind","compatibility":99,"releases":[{"id":"01000F20083A8000","region":null}]},{"id":"16d4d6cb-d3e6-48c6-874a-44dad3a010d3","directory":"metal-unit","title":"Metal Unit","compatibility":99,"releases":[{"id":"0100F25014BD6000","region":null}]},{"id":"16db7c08-bc25-4dec-83af-df6eed1fb93b","directory":"zombo-buster-rising","title":"Zombo Buster Rising","compatibility":99,"releases":[{"id":"010096201690C000","region":null}]},{"id":"16e51da3-8640-4475-8e25-9e046f34527f","directory":"flipping-death","title":"Flipping Death","compatibility":3,"releases":[{"id":"01009FB002B2E000","region":null}]},{"id":"16e84023-89a6-42ab-a270-76888a7352c0","directory":"sniper","title":"Sniper","compatibility":99,"releases":[{"id":"0100839010DD6000","region":null}]},{"id":"16ed8fd0-f69e-4584-baff-a377ba7721b2","directory":"donutsnjustice","title":"Donuts'n'Justice","compatibility":99,"releases":[{"id":"0100D01014DC8000","region":null}]},{"id":"16f2c62b-5c84-49d3-823d-ec220545acbf","directory":"nape-retroverse-collection","title":"NAPE RETROVERSE COLLECTION","compatibility":99,"releases":[{"id":"0100415016902000","region":null}]},{"id":"16f4c437-10c1-4838-9cd8-6866170f2eb5","directory":"dominate-board-game","title":"Dominate - Board Game","compatibility":99,"releases":[{"id":"01007A1012376000","region":null}]},{"id":"16f9892d-8e09-4bcf-bd5c-4ef4439009fd","directory":"battery-jam","title":"Battery Jam","compatibility":99,"releases":[{"id":"0100E4400C0A2000","region":null}]},{"id":"16fe8d17-a3b3-4561-9786-b11bf1ea7bea","directory":"vortex-attack-ex","title":"Vortex Attack EX","compatibility":99,"releases":[{"id":"010018400E4FC000","region":null}]},{"id":"17156ad0-c452-435f-9687-fcbb527de4f7","directory":"barricadez-revisited","title":"BARRICADEZ ReVisited","compatibility":99,"releases":[{"id":"010004A0143C4000","region":null}]},{"id":"171c111c-6a51-45ec-b390-c9899f5a4e83","directory":"shipped","title":"Shipped","compatibility":99,"releases":[{"id":"0100B2E00F13E000","region":null}]},{"id":"1722cb84-19f3-4d9b-be62-a5c10c3c9501","directory":"suzerain","title":"Suzerain","compatibility":1,"releases":[{"id":"0100531014988000","region":null}]},{"id":"1723432d-3dcd-4ccd-ba68-f6a7296513f0","directory":"pig-eat-ball","title":"Pig Eat Ball","compatibility":1,"releases":[{"id":"01000FD00D5CC000","region":null}]},{"id":"1728c626-69cd-4c61-a930-cb3219afad51","directory":"tallowmere","title":"Tallowmere","compatibility":99,"releases":[{"id":"01006AA006BE4000","region":null}]},{"id":"172fae20-664d-4dbd-873c-98bd8fd21399","directory":"code-of-princess-ex","title":"Code of Princess EX","compatibility":3,"releases":[{"id":"010034E005C9C000","region":null}]},{"id":"1732a213-d64c-4570-89bc-36540ac04974","directory":"beach-buggy-racing","title":"Beach Buggy Racing","compatibility":1,"releases":[{"id":"010095C00406C000","region":null}]},{"id":"1739d604-f693-4c94-ba4b-60c50e515f54","directory":"peaky-blinders-mastermind","title":"Peaky Blinders: Mastermind","compatibility":99,"releases":[{"id":"010002100CDCC000","region":null}]},{"id":"173bc7fd-c2fb-41c5-8fc8-c0306273aee0","directory":"love-pop","title":"Love Pop!","compatibility":99,"releases":[{"id":"010072D0167D0000","region":null}]},{"id":"17527141-9b96-48f5-bee7-78b2865e993d","directory":"happy-birthdays","title":"Happy Birthdays","compatibility":99,"releases":[{"id":"010083600AE9E000","region":null}]},{"id":"17575b19-2805-463b-be73-4e2024784a9e","directory":"aca-neogeo-2020-super-baseball","title":"ACA NEOGEO 2020 SUPER BASEBALL","compatibility":4,"releases":[{"id":"01003C400871E000","region":null}]},{"id":"17577fc2-393d-495e-b5ab-ddb87b803daf","directory":"risk-of-rain","title":"Risk of Rain","compatibility":1,"releases":[{"id":"0100AAA00ACBE000","region":null}]},{"id":"176528b6-d924-4c40-8398-13dfbcbf0982","directory":"mah-jongg-puzzle-pai-sen","title":"Mah-jongg Puzzle Pai-Sen","compatibility":99,"releases":[{"id":"0100EC400E1C0000","region":null}]},{"id":"177b2492-13c5-41e6-9494-947ab9495dc7","directory":"castle-crashers-remastered","title":"Castle Crashers Remastered","compatibility":4,"releases":[{"id":"010001300D14A000","region":null}]},{"id":"1787bdb4-0146-4348-ba11-7eeb402f42ec","directory":"bubble-cats-rescue","title":"Bubble Cats Rescue","compatibility":99,"releases":[{"id":"0100D0200EA92000","region":null}]},{"id":"178a288f-0a49-4aeb-bc51-19320656596e","directory":"car-mechanic-simulator-pocket-edition","title":"Car Mechanic Simulator Pocket Edition","compatibility":99,"releases":[{"id":"01009D100F112000","region":null}]},{"id":"1795ac7c-2ac4-4004-a223-b0ed3641e1e0","directory":"glass-masquerade","title":"Glass Masquerade","compatibility":99,"releases":[{"id":"0100D4C00C9FC000","region":null}]},{"id":"17ab0fbd-fc0f-46cb-b684-d30df0926741","directory":"easy-flight-simulator","title":"Easy Flight Simulator","compatibility":99,"releases":[{"id":"010031F015C98000","region":null}]},{"id":"17aff7ee-10b5-4e81-8a54-e628ed3958ed","directory":"aca-neogeo-samurai-shodown-iv","title":"ACA NEOGEO SAMURAI SHODOWN IV","compatibility":4,"releases":[{"id":"010047F001DBC000","region":null}]},{"id":"17b38226-e8fa-43a3-802b-1d19e5f86326","directory":"grid-autosport","title":"GRID Autosport","compatibility":3,"releases":[{"id":"0100DC800A602000","region":null}]},{"id":"17bee7e0-49ee-46dd-94c4-9988f7897c5e","directory":"vivid-knight","title":"Vivid Knight","compatibility":99,"releases":[{"id":"01006EB01626E000","region":null}]},{"id":"17cc208c-8c74-416e-be13-3875e8766090","directory":"thunder-paw","title":"Thunder Paw","compatibility":99,"releases":[{"id":"01009AF0110E4000","region":null}]},{"id":"17d380ec-eb24-4d1c-8aef-5983eb138e55","directory":"bad-dream-fever","title":"Bad Dream: Fever","compatibility":99,"releases":[{"id":"0100B3B00D81C000","region":null}]},{"id":"17de4c6a-4884-44cf-b456-349c1df0e23d","directory":"felix-the-reaper","title":"Felix The Reaper","compatibility":99,"releases":[{"id":"010003B00D3A2000","region":null}]},{"id":"17f3b080-0403-47a2-95e6-44a532952277","directory":"the-inner-world-the-last-wind-monk","title":"The Inner World - The Last Wind Monk","compatibility":0,"releases":[{"id":"0100A9D00B31A000","region":null}]},{"id":"1804bdec-c829-4336-a582-146c05d9efe7","directory":"crossroad-crash","title":"Crossroad crash","compatibility":99,"releases":[{"id":"0100CFA015CBC000","region":null}]},{"id":"181d9641-085c-479a-887a-39ebcd26e09e","directory":"laser-kitty-pow-pow","title":"Laser Kitty Pow Pow","compatibility":99,"releases":[{"id":"0100A0800E974000","region":null}]},{"id":"18237aa5-915e-4a83-adf0-0be56cd3e10d","directory":"pecaminosa-a-pixel-noir-game","title":"Pecaminosa - a pixel noir game","compatibility":99,"releases":[{"id":"0100876014188000","region":null}]},{"id":"18283db7-ca9d-498c-809f-a5198b90eb91","directory":"in-other-waters","title":"In Other Waters","compatibility":99,"releases":[{"id":"0100B6E01056E000","region":null}]},{"id":"182a8a40-7764-4682-aec7-4c98be81d189","directory":"gemstone-keeper","title":"Gemstone Keeper","compatibility":99,"releases":[{"id":"01000D600EFC4000","region":null}]},{"id":"1833a30b-cb91-4a3c-a578-8a29590c412f","directory":"angry-golf","title":"Angry Golf","compatibility":99,"releases":[{"id":"01008B50144EC000","region":null}]},{"id":"184584f7-21cc-4e3c-ba65-3575bf9bb8e6","directory":"puzzle-plowing-a-field","title":"Puzzle Plowing A Field","compatibility":99,"releases":[{"id":"010057F013764000","region":null}]},{"id":"1858901c-251d-43f5-b485-4f5369a83c0c","directory":"kauils-treasure","title":"KAUIL’S TREASURE","compatibility":99,"releases":[{"id":"010028F013358000","region":null}]},{"id":"1858c78a-53e0-4529-a67d-5b58fc405bd8","directory":"the-unicorn-princess","title":"The Unicorn Princess","compatibility":1,"releases":[{"id":"010064E00ECBC000","region":null}]},{"id":"185c04c6-322f-4c3c-be93-abf1741bff8c","directory":"demolish-and-build-2018","title":"Demolish & Build 2018","compatibility":0,"releases":[{"id":"010099D00D1A4000","region":null}]},{"id":"18698ad2-5625-48b9-944d-8a44f08b8c4c","directory":"bad-north","title":"Bad North","compatibility":3,"releases":[{"id":"0100E98006F22000","region":null}]},{"id":"186b350d-3103-4c32-b576-e12bc976f4a7","directory":"sayonara-wild-hearts","title":"Sayonara Wild Hearts","compatibility":0,"releases":[{"id":"010010A00A95E000","region":null}]},{"id":"1874e3e7-40c2-4216-8036-7777016facca","directory":"cosmic-defenders","title":"Cosmic Defenders","compatibility":99,"releases":[{"id":"01000AB00E73A000","region":null}]},{"id":"187defd4-ffb9-44e0-8604-a199f451ce34","directory":"crowdy-farm-puzzle","title":"Crowdy Farm Puzzle","compatibility":99,"releases":[{"id":"0100E21012232000","region":null}]},{"id":"187f93ab-df3a-410c-8521-e2428591e719","directory":"arcade-archives-koutetsu-yousai-strahl","title":"Arcade Archives KOUTETSU YOUSAI STRAHL","compatibility":99,"releases":[{"id":"01005370123D0000","region":null}]},{"id":"188e17a9-49a5-4f1a-85d4-eb966d1d258c","directory":"projection-first-light","title":"Projection: First Light","compatibility":1,"releases":[{"id":"010063901024A000","region":null}]},{"id":"189627ea-6822-47c0-9a13-061ae4f15d22","directory":"space-cows","title":"Space Cows","compatibility":99,"releases":[{"id":"010005500E81E000","region":null}]},{"id":"18a4eaf5-c3f9-4466-93bf-4955e040adf8","directory":"mecho-wars-desert-ashes","title":"Mecho Wars: Desert Ashes","compatibility":99,"releases":[{"id":"01006D500B0C8000","region":null}]},{"id":"18ae9873-ce8e-4a75-8c6c-2e92f884e81d","directory":"christmas-tina","title":"Christmas Tina","compatibility":99,"releases":[{"id":"010003001536E000","region":null}]},{"id":"18be2db5-fa81-4e88-9e57-bf012949f58c","directory":"flip-wars","title":"Flip Wars","compatibility":4,"releases":[{"id":"010095A004040000","region":null}]},{"id":"18d20635-7781-48b6-9741-38b6c8337da0","directory":"distraint-deluxe-edition","title":"DISTRAINT: Deluxe Edition","compatibility":99,"releases":[{"id":"010075B004DD2000","region":null}]},{"id":"18e96304-628f-4946-b1b9-62cbee40969e","directory":"pro-flight-simulator","title":"Pro Flight Simulator","compatibility":99,"releases":[{"id":"0100B11016870000","region":null}]},{"id":"18efd594-0681-4033-8e40-c64fbba44163","directory":"little-busters-converted-edition","title":"Little Busters! Converted Edition","compatibility":5,"releases":[{"id":"0100943010310000","region":null}]},{"id":"18f50822-daa5-4c20-a609-fed8ebe9ab93","directory":"pachi-pachi-on-a-roll","title":"Pachi Pachi On A Roll","compatibility":99,"releases":[{"id":"0100F2B012658000","region":null}]},{"id":"18fa17af-8ecb-4e81-85c4-ff2372952e9c","directory":"renegade","title":"Renegade","compatibility":99,"releases":[{"id":"010047A00E486000","region":null}]},{"id":"18fa84a5-48b3-4b9b-96d0-5eed622208a3","directory":"rocket-fist","title":"Rocket Fist","compatibility":99,"releases":[{"id":"0100D800040AC000","region":null}]},{"id":"1909498e-1644-458c-8ee0-830b40f03048","directory":"instant-chef-party","title":"INSTANT Chef Party","compatibility":99,"releases":[{"id":"01002500129F4000","region":null}]},{"id":"19150f00-5406-4937-9b64-a3ecf10646eb","directory":"tiny-derby","title":"Tiny Derby","compatibility":0,"releases":[{"id":"01009E100D660000","region":null}]},{"id":"1917899d-5b62-43ba-807a-58cfb0813b4a","directory":"polyroll","title":"Polyroll","compatibility":3,"releases":[{"id":"010074B00ED32000","region":null}]},{"id":"1919172d-52ef-4720-ac77-15926b186478","directory":"piczle-lines-dx","title":"Piczle Lines DX","compatibility":99,"releases":[{"id":"0100D06003056000","region":null}]},{"id":"19285ae9-6af4-47ec-a6ef-5f70ac25aa5c","directory":"super-mega-baseball-2-ultimate-edition","title":"Super Mega Baseball 2: Ultimate Edition","compatibility":99,"releases":[{"id":"0100120004644000","region":null}]},{"id":"19343141-bbce-4cea-9ee7-bf34742d1556","directory":"tales-from-the-dragon-mountain-2-the-lair","title":"Tales from the Dragon Mountain 2: The Lair","compatibility":99,"releases":[{"id":"01002F5012864000","region":null}]},{"id":"19723410-b1c7-4a87-84aa-4270bc1b3a39","directory":"hexagravity","title":"HexaGravity","compatibility":0,"releases":[{"id":"01007AC00E012000","region":null}]},{"id":"1986c51c-2bda-4e0c-a64b-864db3effb78","directory":"hidden-folks","title":"Hidden Folks","compatibility":0,"releases":[{"id":"01003BB00B08E000","region":null}]},{"id":"199226dc-75cc-4281-9ece-7121c8c8b54b","directory":"invisible-fist","title":"Invisible Fist","compatibility":99,"releases":[{"id":"0100C5B00FADE000","region":null}]},{"id":"199ade7e-5be4-4abd-b358-65593d343e39","directory":"wild-adventure-pinball","title":"Wild & Adventure Pinball","compatibility":99,"releases":[{"id":"010092C016564000","region":null}]},{"id":"19b058d8-d974-47bf-a68a-34896186902d","directory":"rebel-cops","title":"Rebel Cops","compatibility":99,"releases":[{"id":"0100D9B00E22C000","region":null}]},{"id":"19bec2a9-c533-4f75-833b-082b2c7c911d","directory":"unlock-the-king-3","title":"Unlock The King 3","compatibility":99,"releases":[{"id":"0100E5501206E000","region":null}]},{"id":"19c57777-390a-455a-bfa3-e5b8d313b907","directory":"stump","title":"STUMP","compatibility":99,"releases":[{"id":"010000300B4EE000","region":null}]},{"id":"19caa1f6-1773-48dd-b88f-2583e27a06ff","directory":"jigsaw-fun-wonderful-nature","title":"Jigsaw Fun: Wonderful Nature","compatibility":99,"releases":[{"id":"0100751015DC2000","region":null}]},{"id":"19cbd956-f04b-453e-bcd7-6315b509cdca","directory":"saviors-of-sapphire-wings-stranger-of-sword-city-revisited","title":"Saviors of Sapphire Wings / Stranger of Sword City Revisited","compatibility":99,"releases":[{"id":"0100AA00128BA000","region":null}]},{"id":"19cc0748-0636-41d6-821d-9a33fb39805a","directory":"windstorm-start-of-a-great-friendship","title":"Windstorm: Start of a Great Friendship","compatibility":2,"releases":[{"id":"01005A100B314000","region":null}]},{"id":"19e4c776-b83c-4736-9677-e7b5203fd442","directory":"60-parsecs","title":"60 Parsecs!","compatibility":99,"releases":[{"id":"010010100FF14000","region":null}]},{"id":"19ea85d6-b3cc-4c4b-839f-af98c918b062","directory":"food-truck-tycoon-asian-cuisine","title":"Food Truck Tycoon - Asian Cuisine","compatibility":1,"releases":[{"id":"0100AC3011C4C000","region":null}]},{"id":"19f2114c-0b30-4d13-8f8c-a39b57c320f1","directory":"idoldays","title":"IdolDays","compatibility":99,"releases":[{"id":"01002EC014BCA000","region":null}]},{"id":"19f7c2e8-32c0-47be-8210-54ffa0f819aa","directory":"police-stories","title":"Police Stories","compatibility":5,"releases":[{"id":"0100E5000DDD2000","region":null}]},{"id":"19fc75f8-f7cf-4b24-8700-74e1a78aabdb","directory":"aca-neogeo-the-king-of-fighters-2000","title":"ACA NEOGEO THE KING OF FIGHTERS 2000","compatibility":4,"releases":[{"id":"0100B97002B44000","region":null}]},{"id":"1a0c2073-858d-4b4c-85be-b0043e7017c5","directory":"troll-and-i","title":"Troll and I","compatibility":2,"releases":[{"id":"0100F78002040000","region":null}]},{"id":"1a0c6cbb-f3a8-4f2a-abb8-041b97bb4f3f","directory":"hatsune-miku-logic-paint-s","title":"Hatsune Miku Logic Paint S","compatibility":1,"releases":[{"id":"0100B4101459A000","region":null}]},{"id":"1a165aca-27f9-4167-908c-067f3187ea92","directory":"shadows-of-kurgansk","title":"Shadows of Kurgansk","compatibility":99,"releases":[{"id":"01004D90159B0000","region":null}]},{"id":"1a16dbf6-ddb9-48c2-9b0f-0ea1b532b099","directory":"arcade-archives-donkey-kong-jr","title":"Arcade Archives DONKEY KONG JR.","compatibility":1,"releases":[{"id":"0100DDC00C7A6000","region":null}]},{"id":"1a194a0f-1708-4997-a851-0dfbed372820","directory":"flood-of-light","title":"Flood of Light","compatibility":2,"releases":[{"id":"0100D1700ACFC000","region":null}]},{"id":"1a19c72b-9b7f-4285-b917-4549467d73d9","directory":"comic-coloring-book","title":"Comic Coloring Book","compatibility":99,"releases":[{"id":"0100EE40138C2000","region":null}]},{"id":"1a1a63ee-31e9-4966-bb1c-658b51da23d4","directory":"star-ghost-demo","title":"Star Ghost Demo","compatibility":99,"releases":[{"id":"01005AE00A528000","region":null}]},{"id":"1a342092-06c1-4018-bebf-44897bd0ef95","directory":"fell-seal-arbiters-mark","title":"Fell Seal: Arbiter's Mark","compatibility":99,"releases":[{"id":"0100A0C00D846000","region":null}]},{"id":"1a4c57d1-61d4-4e01-956a-aa4fd892b1db","directory":"gravity-duck","title":"Gravity Duck","compatibility":99,"releases":[{"id":"0100E4A00EEF6000","region":null}]},{"id":"1a6a9d71-7363-45c1-a1b4-35cf4f845c43","directory":"aery-little-bird-adventure","title":"Aery - Little Bird Adventure","compatibility":99,"releases":[{"id":"0100875011D0C000","region":null}]},{"id":"1a6c08c6-9d9e-41d5-a55a-99f4aefbaaff","directory":"the-jackbox-party-pack-8","title":"The Jackbox Party Pack 8","compatibility":4,"releases":[{"id":"010050F015280000","region":null}]},{"id":"1a6f60bf-5423-4163-936b-68b3a1d92271","directory":"willy-morgan-and-the-curse-of-bone-town","title":"Willy Morgan and the Curse of Bone Town","compatibility":99,"releases":[{"id":"010035C013B50000","region":null}]},{"id":"1a804d51-8970-496b-b188-4a04043a5d77","directory":"book-of-demons","title":"Book of Demons","compatibility":5,"releases":[{"id":"01007A200F452000","region":null}]},{"id":"1a823130-53a6-4088-9c19-d408c1211eb5","directory":"beastie-bay-dx","title":"Beastie Bay DX","compatibility":99,"releases":[{"id":"01004EF012D9A000","region":null}]},{"id":"1a83b518-a354-456f-8bf9-93926f015525","directory":"terra-lander-ii-rockslide-rescue","title":"Terra Lander II - Rockslide Rescue","compatibility":99,"releases":[{"id":"0100E360145EC000","region":null}]},{"id":"1a84186c-06a9-49f4-a304-96f5ff33fb9b","directory":"c14-dating","title":"C14 Dating","compatibility":0,"releases":[{"id":"0100CAA0132D2000","region":null}]},{"id":"1a8bf253-a9fa-48aa-ae59-892de9220f4f","directory":"waifu-discovered-2-medieval-fantasy","title":"Waifu Discovered 2: Medieval Fantasy","compatibility":4,"releases":[{"id":"01006420153D4000","region":null}]},{"id":"1a8ee269-4e7b-412c-b509-31f71bba300d","directory":"war-theatre","title":"War Theatre","compatibility":99,"releases":[{"id":"010084D00A134000","region":null}]},{"id":"1a9810ba-13df-46be-8ca0-4874fb2d07df","directory":"nuclear-throne","title":"Nuclear Throne","compatibility":5,"releases":[{"id":"0100CFE00CE6E000","region":null}]},{"id":"1aa31ff3-5f01-4a74-a3d7-9d9bc9b7a8c4","directory":"devil-may-cry-3-special-edition","title":"Devil May Cry 3 Special Edition","compatibility":2,"releases":[{"id":"01007B600D5BC000","region":null}]},{"id":"1aa82e9d-ae1b-4bfd-b1f4-ccc1651dad4e","directory":"timelie","title":"Timelie","compatibility":99,"releases":[{"id":"01005D6014BE8000","region":null}]},{"id":"1abd10bc-f200-46bf-8db4-7c23d1f24cb5","directory":"marenian-tavern-story-patty-and-the-hungry-god","title":"Marenian Tavern Story: Patty and the Hungry God","compatibility":99,"releases":[{"id":"010040E00C2D2000","region":null}]},{"id":"1ac260e3-9376-43d6-9b85-71280c9b7cfa","directory":"dawn-of-the-breakers","title":"Dawn of the Breakers","compatibility":4,"releases":[{"id":"0100F0B0081DA000","region":null}]},{"id":"1acc36ff-e353-4630-9c7c-8db303c06ce0","directory":"binaries","title":"Binaries","compatibility":2,"releases":[{"id":"01002A1004C48000","region":null}]},{"id":"1ade5687-15a8-419f-9745-fb90f773d194","directory":"johnny-turbos-arcade-sly-spy","title":"Johnny Turbo's Arcade: Sly Spy","compatibility":99,"releases":[{"id":"0100B70003836000","region":null}]},{"id":"1ae0c056-7081-458f-abdb-5696900020cd","directory":"neurodeck","title":"Neurodeck","compatibility":99,"releases":[{"id":"0100B38013F66000","region":null}]},{"id":"1ae1283a-8692-4e87-a14d-1bab43ef7504","directory":"arcade-archives-pettan-pyuu","title":"Arcade Archives Pettan Pyuu","compatibility":99,"releases":[{"id":"01007FC011CF0000","region":null}]},{"id":"1af59a1c-c356-4641-9574-3ce9332a5cc9","directory":"smashy-road-wanted-2","title":"Smashy Road: Wanted 2","compatibility":99,"releases":[{"id":"010012D016176000","region":null}]},{"id":"1af82d4f-12b6-490c-b66d-e292d60d9caa","directory":"arcade-archives-exerion","title":"Arcade Archives EXERION","compatibility":99,"releases":[{"id":"010055B009820000","region":null}]},{"id":"1b0c76bd-c0ea-4ba2-bc09-f86147224075","directory":"aca-neogeo-world-heroes-2-jet","title":"ACA NEOGEO WORLD HEROES 2 JET","compatibility":2,"releases":[{"id":"01006C3004FAE000","region":null}]},{"id":"1b0d0835-d0d6-480d-b528-3d53254dac97","directory":"spoiler-alert","title":"Spoiler Alert","compatibility":99,"releases":[{"id":"0100F9D00C598000","region":null}]},{"id":"1b1c2af9-c084-4cf1-927f-79ab944dec2f","directory":"megaquarium","title":"Megaquarium","compatibility":99,"releases":[{"id":"010082B00E8B8000","region":null}]},{"id":"1b1cf6e2-2a7a-4581-80ea-4fe4d4cba01d","directory":"arcade-archives-ice-climber","title":"Arcade Archives ICE CLIMBER","compatibility":4,"releases":[{"id":"01007D200D3FC000","region":null}]},{"id":"1b2d6e6a-8aaa-4354-a7c9-e7920a6f77c3","directory":"photon-cube","title":"Photon Cube","compatibility":99,"releases":[{"id":"010024D0032F2000","region":null}]},{"id":"1b2dc0bf-ac84-4b07-a7ed-8d7b830a6251","directory":"junior-league-sports","title":"Junior League Sports","compatibility":99,"releases":[{"id":"01008B1008466000","region":null}]},{"id":"1b39e247-b8dc-405b-bf1a-c5f192b1d863","directory":"effie","title":"Effie","compatibility":99,"releases":[{"id":"01002550129F0000","region":null}]},{"id":"1b3f40fa-8447-40d9-a857-0ba5ff0af098","directory":"speed-truck-racing","title":"Speed Truck Racing","compatibility":0,"releases":[{"id":"010061F013A0E000","region":null}]},{"id":"1b47054e-38b2-41a8-82e7-dbd7d387f714","directory":"season-match","title":"Season Match","compatibility":99,"releases":[{"id":"010001900BDCA000","region":null}]},{"id":"1b627bf1-61ed-43e8-8ff0-dd8e740696f8","directory":"angry-video-game-nerd-1-2-deluxe","title":"Angry Video Game Nerd 1 & 2 Deluxe","compatibility":0,"releases":[{"id":"010084500C7DC000","region":null}]},{"id":"1b7422f9-ac6a-4619-85d7-94b08a700f36","directory":"warplanes-ww2-dogfight","title":"Warplanes: WW2 Dogfight","compatibility":99,"releases":[{"id":"010068E00D346000","region":null}]},{"id":"1b767711-b29a-42d3-99e5-c3401f82f3cf","directory":"lovekami-healing-harem","title":"Lovekami -Healing Harem-","compatibility":99,"releases":[{"id":"01002DF01599E000","region":null}]},{"id":"1b7b1e72-3d55-48c7-8ba6-1a4ac75e4337","directory":"grab-the-bottle","title":"Grab the Bottle","compatibility":99,"releases":[{"id":"01003FF009E60000","region":null}]},{"id":"1b7d41b7-f6ea-4d84-a432-581daa61142f","directory":"drowning-cross","title":"Drowning Cross","compatibility":99,"releases":[{"id":"0100B5F017376000","region":null}]},{"id":"1b7f5e3e-9b32-4e95-bc4b-15861f3b138f","directory":"street-racer-underground","title":"Street Racer Underground","compatibility":99,"releases":[{"id":"0100EEE0129F2000","region":null}]},{"id":"1b90423b-68dd-4fab-8d28-575edd8968c3","directory":"pure-pool","title":"Pure Pool","compatibility":99,"releases":[{"id":"0100AEC012DEE000","region":null}]},{"id":"1b932e67-52eb-431e-9c98-c6c3b16bc000","directory":"golf-royale","title":"Golf Royale","compatibility":0,"releases":[{"id":"01004B10149F8000","region":null}]},{"id":"1ba1b3c3-ab5c-4a0f-a73d-643a544be78c","directory":"sparkle-zero","title":"Sparkle ZERO","compatibility":99,"releases":[{"id":"0100E4F00AE14000","region":null}]},{"id":"1baca302-5c37-433e-a9c3-90412d7c404b","directory":"clock-simulator","title":"Clock Simulator","compatibility":99,"releases":[{"id":"010002A00CC42000","region":null}]},{"id":"1baf9bb5-994e-493d-874f-1f69cdf6d7c9","directory":"lumione","title":"Lumione","compatibility":99,"releases":[{"id":"01001E80154B8000","region":null}]},{"id":"1bb464c3-5501-469d-8667-77e4783cf64d","directory":"cooking-tycoons-2-3-in-1-bundle","title":"Cooking Tycoons 2 - 3 in 1 Bundle","compatibility":1,"releases":[{"id":"01005350126E0000","region":null}]},{"id":"1bb74c4d-3b9e-4cf2-8236-4ae5497f73b3","directory":"curious-cases","title":"Curious Cases","compatibility":0,"releases":[{"id":"010054501075C000","region":null}]},{"id":"1bbe5841-76ad-4640-a91c-90b884ce0d65","directory":"overcooked-all-you-can-eat","title":"Overcooked! All You Can Eat","compatibility":1,"releases":[{"id":"0100F28011892000","region":null}]},{"id":"1bc61f4f-9170-4e83-b061-6e24d88d373a","directory":"say-no-more","title":"Say No! More","compatibility":99,"releases":[{"id":"01001C3012912000","region":null}]},{"id":"1bd2a89e-d085-49df-89b5-8b3d60cf92fe","directory":"super-cane-magic-zero","title":"Super Cane Magic ZERO","compatibility":99,"releases":[{"id":"0100D9B00DB5E000","region":null}]},{"id":"1bd45288-a764-4507-bcf2-566277700657","directory":"tohu","title":"TOHU","compatibility":99,"releases":[{"id":"0100B5E011920000","region":null}]},{"id":"1bd5678d-7c07-4023-a2f3-c08104098cf9","directory":"baobabs-mausoleum-ep1-ovnifagos-dont-eat-flamingos","title":"Baobabs Mausoleum Ep.1: Ovnifagos Don't Eat Flamingos","compatibility":99,"releases":[{"id":"0100425009FB2000","region":null}]},{"id":"1be4c250-c870-4e08-8cb0-6d8df536af9b","directory":"qbik","title":"Qbik","compatibility":99,"releases":[{"id":"0100465009020000","region":null}]},{"id":"1befaa75-8022-4843-b8fe-d97430cbb55a","directory":"bake-n-switch","title":"Bake ‘n Switch","compatibility":99,"releases":[{"id":"01003E2010282000","region":null}]},{"id":"1bf296dc-df30-4736-841c-9951d7d88f51","directory":"99moves","title":"99Moves","compatibility":99,"releases":[{"id":"0100DE900CB84000","region":null}]},{"id":"1bfd3d43-7f28-440a-b7e8-5aa0c41c168a","directory":"hotel-dracula","title":"Hotel Dracula","compatibility":99,"releases":[{"id":"01008D000D980000","region":null}]},{"id":"1c0b7af9-937a-4410-8737-3a5631cab603","directory":"subaracity","title":"SubaraCity","compatibility":99,"releases":[{"id":"0100CD6004130000","region":null}]},{"id":"1c0c2b3d-cf3b-4066-bf66-e76c49b548dd","directory":"twist-switch-bundle","title":"Twist & Switch Bundle","compatibility":99,"releases":[{"id":"0100448014568000","region":null}]},{"id":"1c0e9ef3-8ec8-44c9-8f58-622555bcb0c8","directory":"sky-racket","title":"Sky Racket","compatibility":2,"releases":[{"id":"01004F0010A02000","region":null}]},{"id":"1c1002c8-2e8b-46f3-9256-102f8fe250c7","directory":"cloudpunk","title":"Cloudpunk","compatibility":0,"releases":[{"id":"0100916011210000","region":null}]},{"id":"1c18979f-1b35-4b30-bfc1-293981de97f2","directory":"crazy-zen-codeword","title":"Crazy Zen Codeword","compatibility":99,"releases":[{"id":"01001A2016CFE000","region":null}]},{"id":"1c2bc530-0ee8-4c4a-934a-929f918ae90b","directory":"de-blob","title":"de Blob","compatibility":1,"releases":[{"id":"0100D0A009310000","region":null}]},{"id":"1c2c2c9a-d540-4fa1-88b1-000ab47d82f0","directory":"gerritory","title":"Gerritory","compatibility":99,"releases":[{"id":"0100F1E011982000","region":null}]},{"id":"1c2ca6ef-b015-4bc8-8e70-069572fbec8f","directory":"reactorx","title":"ReactorX","compatibility":99,"releases":[{"id":"01003BF014B18000","region":null}]},{"id":"1c389996-39fa-4122-9db8-970bc4bbc580","directory":"spider-solitaire-f","title":"Spider Solitaire F","compatibility":99,"releases":[{"id":"01001BF00B54E000","region":null}]},{"id":"1c3d7ae8-229d-4926-ba19-b2c28249a414","directory":"2urvive","title":"2URVIVE","compatibility":99,"releases":[{"id":"01007550131EE000","region":null}]},{"id":"1c491c16-1514-41ff-b0f4-9aa9c8dc9cf9","directory":"micetopia","title":"Micetopia","compatibility":0,"releases":[{"id":"0100B8701266A000","region":null}]},{"id":"1c52c4a6-19d5-420d-93b5-dd5c564f1b3b","directory":"desktop-table-tennis","title":"Desktop Table Tennis","compatibility":99,"releases":[{"id":"01001C800DBC0000","region":null}]},{"id":"1c584b0b-31e1-4a7e-acac-ea73959c4651","directory":"torchlight-ii","title":"Torchlight II","compatibility":1,"releases":[{"id":"010090400D366000","region":null}]},{"id":"1c5a9026-ae97-47ba-bfc7-c8839ba50d0a","directory":"spaceland","title":"Spaceland","compatibility":0,"releases":[{"id":"010034800FB60000","region":null}]},{"id":"1c5b0e37-a177-4668-acd3-c5b7b34e146c","directory":"sky-gamblers-storm-raiders-2","title":"Sky Gamblers: Storm Raiders 2","compatibility":5,"releases":[{"id":"010068200E96E000","region":null}]},{"id":"1c61dc9f-d777-4a32-a5fc-2a30cb004ee6","directory":"push-the-crate-2","title":"Push the Crate 2","compatibility":99,"releases":[{"id":"0100B60010432000","region":null}]},{"id":"1c642de0-ac45-400c-87a2-ccd5781b54f0","directory":"esports-life-tycoon","title":"Esports Life Tycoon","compatibility":2,"releases":[{"id":"01001AA00BADC000","region":null}]},{"id":"1c74c506-dbaf-462c-a1f5-0a93ee497a4d","directory":"ascendant-hearts","title":"Ascendant Hearts","compatibility":0,"releases":[{"id":"01009C200F45A000","region":null}]},{"id":"1c754a18-98cc-44eb-a8c0-da2504e24db6","directory":"stonefly","title":"Stonefly","compatibility":99,"releases":[{"id":"010000E0145BA000","region":null}]},{"id":"1c791f8a-d542-4f12-b313-ea59266ed746","directory":"our-world-is-ended","title":"Our World Is Ended.","compatibility":3,"releases":[{"id":"0100D5D00C6BE000","region":null}]},{"id":"1c89d9bd-14e9-4424-8a6e-d65a64bf07f1","directory":"island-saver","title":"Island Saver","compatibility":99,"releases":[{"id":"0100A2600FCA0000","region":null}]},{"id":"1c96c67d-4cc1-4491-bb20-36886b2918e3","directory":"robot-car-war-transform-battle-machines","title":"Robot Car War: Transform Battle Machines","compatibility":99,"releases":[{"id":"010010001636E000","region":null}]},{"id":"1c98fb1a-4205-45d5-b5de-a9b61e6af6a8","directory":"everhood","title":"Everhood","compatibility":0,"releases":[{"id":"0100E20014028000","region":null}]},{"id":"1c9e6738-ba70-4069-aaf7-a5e647bec1d6","directory":"the-sundew","title":"The Sundew","compatibility":99,"releases":[{"id":"0100E1E01523A000","region":null}]},{"id":"1ca3e61c-6ba6-4395-a7b7-5c6768f7e591","directory":"castle-kong","title":"Castle Kong","compatibility":99,"releases":[{"id":"010042201353E000","region":null}]},{"id":"1cb4163c-6928-44fc-8fc8-56d6924240b5","directory":"aqua-tv","title":"Aqua TV","compatibility":99,"releases":[{"id":"01008ED00B916000","region":null}]},{"id":"1cb49f8f-e562-4b90-9590-bd4c68d00503","directory":"twitch","title":"Twitch","compatibility":99,"releases":[{"id":"01008D101524E000","region":null}]},{"id":"1cbd4e14-607c-40ee-ac93-d148e36e359a","directory":"nascar-heat-ultimate-edition","title":"NASCAR Heat Ultimate Edition+","compatibility":0,"releases":[{"id":"0100DC7013938000","region":null}]},{"id":"1cc3e48c-8d3b-44c1-9d13-70866f0abccf","directory":"digerati-indie-bundle-ink-and-hackyzack","title":"Digerati Indie Bundle: INK & HackyZack","compatibility":99,"releases":[{"id":"01003D800BE5C000","region":null}]},{"id":"1cd37a9e-cce2-47c1-9369-11d1bd73a37c","directory":"luigis-mansion-3","title":"Luigi's Mansion 3","compatibility":3,"releases":[{"id":"0100DCA0064A6000","region":null}]},{"id":"1cd90b58-81d2-4350-a2bc-164a47727d51","directory":"void-source","title":"Void Source","compatibility":99,"releases":[{"id":"010099E013430000","region":null}]},{"id":"1cda8699-af49-43fb-be4a-9c416a7e00c1","directory":"cast-of-the-seven-godsends","title":"Cast of the Seven Godsends","compatibility":99,"releases":[{"id":"0100AEF00A270000","region":null}]},{"id":"1ce96f5d-524c-4f95-8784-412fb7c5c65f","directory":"forklift-the-simulation","title":"Forklift - The Simulation","compatibility":99,"releases":[{"id":"01006A900EB1A000","region":null}]},{"id":"1cec6689-db5f-4f7d-9083-3f0464c77364","directory":"johnny-rocket","title":"Johnny Rocket","compatibility":99,"releases":[{"id":"0100C030124E8000","region":null}]},{"id":"1cfc3c63-334c-4efa-b28b-cbdfc1adcf1b","directory":"drawngeon-dungeons-of-ink-and-paper","title":"Drawngeon: Dungeons of Ink and Paper","compatibility":99,"releases":[{"id":"0100B7E0102E4000","region":null}]},{"id":"1d004410-8b5c-4a54-8f32-0a929d412c36","directory":"code-realize-wintertide-miracles","title":"Code: Realize ~Wintertide Miracles~","compatibility":0,"releases":[{"id":"0100A27013626000","region":null}]},{"id":"1d0954b8-a9f9-4f67-b747-e926c7089813","directory":"debris-infinity","title":"Debris Infinity","compatibility":1,"releases":[{"id":"010034F00BFC8000","region":null}]},{"id":"1d2d4e81-8a45-415d-8be7-0f193ef17473","directory":"pirate-pop-plus","title":"Pirate Pop Plus","compatibility":99,"releases":[{"id":"010025E0092B6000","region":null}]},{"id":"1d3d08b1-ef84-4a26-9d21-7bbec898d2ae","directory":"survival-z","title":"Survival Z","compatibility":99,"releases":[{"id":"01008950156C4000","region":null}]},{"id":"1d4072d7-074e-47a8-a0b2-af9c0361cba3","directory":"fuzzball","title":"FuzzBall","compatibility":99,"releases":[{"id":"010067600F1A0000","region":null}]},{"id":"1d611969-6159-4cf2-9317-9805d4fd8f1a","directory":"rally-rock-n-racing","title":"Rally Rock 'N Racing","compatibility":99,"releases":[{"id":"0100F5700DE18000","region":null}]},{"id":"1d79b3a6-3cd6-4213-8388-22880d4632e4","directory":"shaq-fu-a-legend-reborn","title":"Shaq Fu: A Legend Reborn","compatibility":0,"releases":[{"id":"0100769004584000","region":null}]},{"id":"1d86e9c8-87b9-41ab-97a1-01569d1911fc","directory":"anodyne-2-return-to-dust","title":"Anodyne 2: Return to Dust","compatibility":99,"releases":[{"id":"01007BB012B0A000","region":null}]},{"id":"1d8c64a8-0a7a-4b1b-a7ee-9e8d51ba5c4d","directory":"tumblestone-demo","title":"Tumblestone Demo","compatibility":99,"releases":[{"id":"010023300B0F0000","region":null}]},{"id":"1d91644f-d24f-434f-91f9-20af67ed991c","directory":"road-3-pack","title":"Road 3 Pack","compatibility":99,"releases":[{"id":"01009070133D0000","region":null}]},{"id":"1db92208-2f1a-40ec-93eb-b814a01f339e","directory":"os-omega","title":"OS Omega","compatibility":99,"releases":[{"id":"01005A8015436000","region":null}]},{"id":"1dc32f05-35cf-4c73-979c-8194995df63f","directory":"ion-fury","title":"Ion Fury","compatibility":99,"releases":[{"id":"010041C00D086000","region":null}]},{"id":"1dc803c7-67f7-41e0-8a0d-b4742b48ad4e","directory":"cupcake-match","title":"Cupcake Match","compatibility":99,"releases":[{"id":"0100EB501414A000","region":null}]},{"id":"1dcd2616-0b5d-4988-8f21-3145ba3fea63","directory":"when-the-past-was-around","title":"When the Past was Around","compatibility":0,"releases":[{"id":"01008C9012F4A000","region":null}]},{"id":"1dce20cc-d6fc-41db-b765-f7c6c3628ea5","directory":"pressure-overdrive","title":"Pressure Overdrive","compatibility":2,"releases":[{"id":"01003F300C6BC000","region":null}]},{"id":"1dd07a31-daea-41f2-bcd5-f2dd1cea9074","directory":"nova-111","title":"Nova-111","compatibility":99,"releases":[{"id":"0100B2E0160E6000","region":null}]},{"id":"1dd0f0a1-4dae-4fc5-ada9-6cb560d37fda","directory":"draculas-legacy","title":"Dracula's Legacy","compatibility":5,"releases":[{"id":"01001B80099F6000","region":null}]},{"id":"1dd5f709-22c5-4ffc-91dd-3374546b325d","directory":"pang-adventures","title":"Pang Adventures","compatibility":1,"releases":[{"id":"010087300B730000","region":null}]},{"id":"1de0e68d-a41e-4018-9f2a-6cd392a94059","directory":"galaxy-of-pen-paper-1-edition","title":"Galaxy of Pen & Paper +1 Edition","compatibility":99,"releases":[{"id":"0100CFD00BF3E000","region":null}]},{"id":"1de42e24-74bd-4b74-886a-b9c1c99a1071","directory":"aca-neogeo-soccer-brawl","title":"ACA NEOGEO SOCCER BRAWL","compatibility":99,"releases":[{"id":"0100DBF004FAA000","region":null}]},{"id":"1df1008a-1587-4cde-84f2-98d549d290ae","directory":"the-missing-jj-macfield-and-the-island-of-memories","title":"The MISSING: J.J. Macfield and the Island of Memories","compatibility":2,"releases":[{"id":"0100F1B00B456000","region":null}]},{"id":"1e0044f2-509d-475e-afa9-39a1ee48bab0","directory":"mochi-mochi-boy","title":"Mochi Mochi Boy","compatibility":99,"releases":[{"id":"01008C500E7D8000","region":null}]},{"id":"1e0de444-f4b8-4b47-922d-9abaa3ec9d3e","directory":"sega-ages-phantasy-star","title":"SEGA AGES Phantasy Star","compatibility":1,"releases":[{"id":"01005A300C9F6000","region":null}]},{"id":"1e23ee88-3e8e-4453-9c31-030beecda57f","directory":"subsurface-circular","title":"Subsurface Circular","compatibility":1,"releases":[{"id":"01002C80086E6000","region":null}]},{"id":"1e2bfa2d-7b9f-448f-8f68-df8349628413","directory":"game-builder-garage","title":"Game Builder Garageâ„¢","compatibility":2,"releases":[{"id":"0100FA5010788000","region":null}]},{"id":"1e2d3cbf-6632-4f29-aad4-235164403551","directory":"zengeon","title":"Zengeon","compatibility":2,"releases":[{"id":"0100057011E50000","region":null}]},{"id":"1e30fecb-c229-48f9-a54b-23941db78f8d","directory":"arcade-archives-crazy-climber2","title":"Arcade Archives CRAZY CLIMBER2","compatibility":1,"releases":[{"id":"010055B009814000","region":null}]},{"id":"1e34cd6a-8ccf-4455-9fd8-a15ad59f2ac9","directory":"arcade-archives-psycho-soldier","title":"Arcade Archives PSYCHO SOLDIER","compatibility":4,"releases":[{"id":"01000D200C7A4000","region":null}]},{"id":"1e38c6d2-f5f3-4979-97de-fce614ec4a6c","directory":"chroma-quaternion","title":"Chroma Quaternion","compatibility":99,"releases":[{"id":"01003F0014F32000","region":null}]},{"id":"1e395234-65e0-485b-9d64-16132d22e9e2","directory":"river-city-girls","title":"River City Girls","compatibility":1,"releases":[{"id":"01004E700DFE6000","region":null}]},{"id":"1e3c2b9a-21d0-46c7-bebf-6502a745dd78","directory":"the-outer-worlds","title":"The Outer Worlds","compatibility":3,"releases":[{"id":"0100626011656000","region":null}]},{"id":"1e4caeb0-dde0-4004-be20-9df029febaa6","directory":"zombie-driver-immortal-edition","title":"Zombie Driver Immortal Edition","compatibility":0,"releases":[{"id":"01006CF00DA8C000","region":null}]},{"id":"1e550c82-f91b-4799-8a2f-98a3965c3765","directory":"paint","title":"Paint","compatibility":99,"releases":[{"id":"0100946012446000","region":null}]},{"id":"1e667873-9e4c-4c24-adba-c756f6c9038e","directory":"pretty-girls-mahjong-solitaire","title":"Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008B7013F7C000","region":null}]},{"id":"1e6a542a-5f6d-4c65-bbb4-d486ec971d89","directory":"i-dream-of-you-and-ice-cream","title":"I dream of you and ice cream","compatibility":99,"releases":[{"id":"010071D0121B0000","region":null}]},{"id":"1e70e208-ba60-4bdd-8aeb-b07985676282","directory":"nba-2k18","title":"NBA 2K18","compatibility":5,"releases":[{"id":"0100760002048000","region":null}]},{"id":"1e75bd94-930c-43b5-8c76-9c740f6e2bf4","directory":"revenant-dogma","title":"Revenant Dogma","compatibility":99,"releases":[{"id":"0100BE400BEC8000","region":null}]},{"id":"1e8e5bb5-f93e-432a-801a-63cce5703e88","directory":"city-pipes","title":"City Pipes","compatibility":99,"releases":[{"id":"0100DE80166F6000","region":null}]},{"id":"1e8f2bf1-619f-4b5e-a49f-2f8aa1828b74","directory":"lost-grimoires-3-the-forgotten-well","title":"Lost Grimoires 3: The Forgotten Well","compatibility":99,"releases":[{"id":"0100BBB015694000","region":null}]},{"id":"1e8fce03-2328-4b1c-8f32-c4365a7c364f","directory":"princess-maker-gogo-princess","title":"Princess Maker Go!Go! Princess","compatibility":99,"releases":[{"id":"010018100F688000","region":null}]},{"id":"1eb66164-f8f6-404c-9c23-8d3cc390ddfc","directory":"tangledeep","title":"Tangledeep","compatibility":1,"releases":[{"id":"010048F007ADE000","region":null}]},{"id":"1ec0a469-ed00-474a-941e-768a0cc2d46e","directory":"disney-magical-world-2-enchanted-edition","title":"Disney Magical World 2: Enchanted Edition","compatibility":99,"releases":[{"id":"010029E01403A000","region":null}]},{"id":"1ecb849e-bab0-4e69-82f7-5a4be0556b74","directory":"boyfriend-dungeon","title":"Boyfriend Dungeon","compatibility":2,"releases":[{"id":"0100D2200BC82000","region":null}]},{"id":"1ede7b32-8104-4ffa-92f4-8e8e2dcc3b5e","directory":"dragon-marked-for-death-frontline-fighters","title":"Dragon Marked for Death: Frontline Fighters","compatibility":0,"releases":[{"id":"010089700150E000","region":null}]},{"id":"1ee1894e-ee4d-4501-b860-b410516227d1","directory":"mega-man-x-legacy-collection-2","title":"Mega Man X Legacy Collection 2","compatibility":1,"releases":[{"id":"01005250086C4000","region":null}]},{"id":"1ee66f3e-ec97-4953-b255-4ba2ced87737","directory":"ghost-blade-hd","title":"Ghost Blade HD","compatibility":99,"releases":[{"id":"010063200C588000","region":null}]},{"id":"1ef95ee4-8e8f-442e-9e07-93bf33346716","directory":"groove-coaster-wai-wai-party","title":"GROOVE COASTER WAI WAI PARTY!!!!","compatibility":0,"releases":[{"id":"0100EB500D92E000","region":null}]},{"id":"1f07335a-fdce-454c-adc5-219a3f422233","directory":"battle-chef-brigade-deluxe","title":"Battle Chef Brigade Deluxe","compatibility":1,"releases":[{"id":"0100CC2001C6C000","region":null}]},{"id":"1f082208-397f-4d1e-ae5f-d0c73f38522c","directory":"zombie-army-trilogy","title":"Zombie Army Trilogy","compatibility":1,"releases":[{"id":"0100C7300EEE4000","region":null}]},{"id":"1f0e83f8-5cc2-4251-8a89-6e1c6db5718e","directory":"super-kirby-clash","title":"Super Kirby Clash","compatibility":1,"releases":[{"id":"01003FB00C5A8000","region":null}]},{"id":"1f115fb6-4066-4495-b764-31bc9b930378","directory":"portal-knights-demo","title":"Portal Knights Demo","compatibility":99,"releases":[{"id":"010086100AA54000","region":null}]},{"id":"1f11a10e-7f4e-45e8-94db-d439b951d912","directory":"junkyard-builder","title":"Junkyard Builder","compatibility":99,"releases":[{"id":"01006700152AE000","region":null}]},{"id":"1f2022e5-46be-4233-9116-55dfb2d608a2","directory":"epic-dumpster-bear-2-he-who-bears-wins","title":"Epic Dumpster Bear 2: He Who Bears Wins","compatibility":99,"releases":[{"id":"0100271014B26000","region":null}]},{"id":"1f27a8f6-94a2-4213-84cb-c00e97b24146","directory":"claybook","title":"Claybook","compatibility":5,"releases":[{"id":"010009300AA6C000","region":null}]},{"id":"1f2e6f86-ce0f-429d-8c16-4f8f59341de0","directory":"the-wild-at-heart","title":"The Wild at Heart","compatibility":99,"releases":[{"id":"0100129014FA8000","region":null}]},{"id":"1f35ae36-1882-43cd-ba02-d004926d310e","directory":"table-top-racing-world-tour-nitro-edition","title":"Table Top Racing: World Tour - Nitro Edition","compatibility":3,"releases":[{"id":"010015B00BB00000","region":null}]},{"id":"1f36cc18-c8d0-48b7-9b33-130282f47e3d","directory":"justice-chronicles","title":"Justice Chronicles","compatibility":99,"releases":[{"id":"01000F4015BF6000","region":null}]},{"id":"1f3e2fac-9f00-449c-8217-a1fd68089f1d","directory":"shiftlings-enhanced-edition","title":"Shiftlings - Enhanced Edition","compatibility":0,"releases":[{"id":"01000750084B2000","region":null}]},{"id":"1f3f1303-c384-4713-9745-66ec468448ad","directory":"atelier-shallie-alchemists-of-the-dusk-sea-dx","title":"Atelier Shallie: Alchemists of the Dusk Sea DX","compatibility":99,"releases":[{"id":"010005C00EE90000","region":null}]},{"id":"1f4093da-43eb-424f-ada1-d1afae710413","directory":"kero-blaster","title":"Kero Blaster","compatibility":4,"releases":[{"id":"0100DA200A09A000","region":null}]},{"id":"1f4722e8-012f-4f08-9245-7cb3841ea5db","directory":"animus-harbinger","title":"ANIMUS: Harbinger","compatibility":0,"releases":[{"id":"0100E5A00FD38000","region":null}]},{"id":"1f4d56a2-30cd-443f-aa84-b7fdede4ed67","directory":"motogp19","title":"MotoGP19","compatibility":3,"releases":[{"id":"01004B800D0E8000","region":null}]},{"id":"1f552c09-0d17-433a-9836-c95bfbf51f20","directory":"safari-pinball","title":"Safari Pinball","compatibility":99,"releases":[{"id":"01005DE00F3BC000","region":null}]},{"id":"1f578feb-cc6a-4dac-a3e8-f2472a2a5fc5","directory":"rocket-rabbit-coin-race","title":"Rocket Rabbit - Coin Race","compatibility":99,"releases":[{"id":"010031C0110F6000","region":null}]},{"id":"1f5ce262-7d4a-4c95-9bfc-12cc8ea9ace9","directory":"spelunker-party-demo-version","title":"Spelunker Party! DEMO VERSION","compatibility":99,"releases":[{"id":"01000D7005E28000","region":null}]},{"id":"1f6773ef-2866-46a8-9e14-253e30dd8a7d","directory":"arcade-archives-task-force-harrier","title":"Arcade Archives TASK FORCE HARRIER","compatibility":99,"releases":[{"id":"01007EB014716000","region":null}]},{"id":"1f684c48-f43a-4552-a9c5-f0b362392705","directory":"squareboy-vs-bullies-arena-edition","title":"Squareboy vs Bullies: Arena Edition","compatibility":99,"releases":[{"id":"0100DE40068CA000","region":null}]},{"id":"1f8cddc1-ec72-4a34-bf3f-a41f85bc5b95","directory":"casino-roulette-royal","title":"Casino Roulette Royal","compatibility":99,"releases":[{"id":"01002EE015ED4000","region":null}]},{"id":"1f903d0c-65f3-4b58-b581-0c53d1264385","directory":"lair-of-the-clockwork-god","title":"Lair of the Clockwork God","compatibility":99,"releases":[{"id":"01008280119B2000","region":null}]},{"id":"1f9a73e4-7108-413a-b19d-f31b594e64bb","directory":"pixel-game-maker-series-dragon-peak","title":"Pixel Game Maker Series DRAGON PEAK","compatibility":99,"releases":[{"id":"01004040145CA000","region":null}]},{"id":"1fb8c7c5-ceb0-4f51-a0af-3cbde335b08b","directory":"steampunk-tower-2","title":"Steampunk Tower 2","compatibility":99,"releases":[{"id":"0100AA8012EF2000","region":null}]},{"id":"1fc1c0c3-0d94-4261-888d-4f676a0e03e5","directory":"arcade-archives-vigilante","title":"Arcade Archives VIGILANTE","compatibility":99,"releases":[{"id":"0100EA300EFF0000","region":null}]},{"id":"1fce57d7-90f1-42f2-87eb-ad14f13194aa","directory":"aca-neogeo-super-sidekicks-2","title":"ACA NEOGEO SUPER SIDEKICKS 2","compatibility":4,"releases":[{"id":"010055A00A300000","region":null}]},{"id":"1fcf6234-3ac5-41b6-9b68-2fc9ad0034aa","directory":"planetarian","title":"planetarian","compatibility":2,"releases":[{"id":"0100BD100C752000","region":null}]},{"id":"1fd088d8-7bd7-4831-8289-97f7a2466072","directory":"rocketsrocketsrockets","title":"ROCKETSROCKETSROCKETS","compatibility":99,"releases":[{"id":"010053400BFA6000","region":null}]},{"id":"1fd485b9-215c-462f-bfcb-45cd5bec3a95","directory":"funbox-party","title":"FunBox Party","compatibility":1,"releases":[{"id":"0100A8F00B3D0000","region":null}]},{"id":"1fe0a9a0-ecbc-40b4-bf37-a197b40d058a","directory":"deep-ones-demo","title":"Deep Ones Demo","compatibility":99,"releases":[{"id":"010071000AAFC000","region":null}]},{"id":"1fe5f60f-db40-4154-b6c1-d25f3d81569b","directory":"ninja-gaiden-master-collection","title":"NINJA GAIDEN: Master Collection","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"1fe804e6-ca03-4d5a-9849-df3680574082","directory":"capes-escape-game","title":"Cape's escape game","compatibility":99,"releases":[{"id":"0100C73013506000","region":null}]},{"id":"1feecf39-7dcf-403d-b3a0-643feb5380ad","directory":"rock-n-racing-bundle-off-road-rally","title":"Rock 'N Racing Bundle Off Road & Rally","compatibility":99,"releases":[{"id":"0100FDE013DE4000","region":null}]},{"id":"20116a7e-0380-45c4-8160-f99465e9a2c4","directory":"sky-children-of-the-light","title":"Sky: Children of the Light","compatibility":5,"releases":[{"id":"0100C52011460000","region":null}]},{"id":"2016c53d-59fe-4d46-9391-57b6c95bd0cb","directory":"the-lego-movie-2-videogame","title":"The LEGO Movie 2 Videogame","compatibility":2,"releases":[{"id":"0100A4400BE74000","region":null}]},{"id":"201f3f51-d912-4091-a3d0-b3e58168cc44","directory":"solitaire-tripeaks-flowers","title":"Solitaire TriPeaks Flowers","compatibility":99,"releases":[{"id":"0100AD3012234000","region":null}]},{"id":"20258df2-9766-49c1-a430-a10912f37f3e","directory":"little-nightmares-complete-edition","title":"Little Nightmares Complete Edition","compatibility":3,"releases":[{"id":"01002FC00412C000","region":null}]},{"id":"20382fd5-e22d-4163-9bcb-88b088e40da3","directory":"rift-keeper","title":"Rift Keeper","compatibility":99,"releases":[{"id":"0100AC600D898000","region":null}]},{"id":"20427ac3-1424-45cb-9b38-524eb879d587","directory":"mr-shifty","title":"Mr. Shifty","compatibility":99,"releases":[{"id":"010031F002B66000","region":null}]},{"id":"205d95b3-aa7c-4bb0-8d39-cf4ae0f39539","directory":"car-trader","title":"Car Trader","compatibility":99,"releases":[{"id":"01006E200E322000","region":null}]},{"id":"206b8848-33ee-48a0-a109-4ca33ed1f71d","directory":"gemini-arms","title":"GEMINI ARMS","compatibility":3,"releases":[{"id":"01004BF01267E000","region":null}]},{"id":"207471ef-d9ff-48c4-a0d3-bb23953f665f","directory":"the-end-is-nigh","title":"The End Is Nigh","compatibility":3,"releases":[{"id":"01004A9006B84000","region":null}]},{"id":"207fe52d-6855-4b14-afae-f7cc7e53b5d4","directory":"area-86","title":"Area 86","compatibility":1,"releases":[{"id":"01004DA012976000","region":null}]},{"id":"20875a64-7dcc-4a1e-ad71-a117e5ef7238","directory":"soul-knight","title":"Soul Knight","compatibility":1,"releases":[{"id":"0100A0800B83A000","region":null}]},{"id":"20881c63-972f-4cfb-80d6-80a775da2e4f","directory":"john-wick-hex","title":"John Wick Hex","compatibility":0,"releases":[{"id":"01007090104EC000","region":null}]},{"id":"208cb4e5-fa3a-465f-a503-6c33c4e84fa3","directory":"sega-ages-wonder-boy-monster-land","title":"SEGA AGES Wonder Boy: Monster Land","compatibility":0,"releases":[{"id":"01001E700AC60000","region":null}]},{"id":"20972b55-7da6-45f3-89f0-442b8946eadb","directory":"monster-train-first-class","title":"Monster Train First Class","compatibility":99,"releases":[{"id":"01006D9013894000","region":null}]},{"id":"20a59e40-0375-40fc-be00-3e62c693c2ca","directory":"i-am-the-hero","title":"I Am The Hero","compatibility":99,"releases":[{"id":"0100019006F4E000","region":null}]},{"id":"20ac99fa-9033-469d-b524-ca65a5371192","directory":"12-is-better-than-6","title":"12 is Better Than 6","compatibility":2,"releases":[{"id":"01007F600D1B8000","region":null}]},{"id":"20bb8183-b7e9-43a9-bec1-8dcc580a3cc9","directory":"bishoujo-battle-mahjong-solitaire","title":"Bishoujo Battle Mahjong Solitaire","compatibility":99,"releases":[{"id":"01008AE013F82000","region":null}]},{"id":"20cd1374-31f1-45f3-81be-2c46bf841bbd","directory":"skellboy-refractured","title":"Skellboy Refractured","compatibility":99,"releases":[{"id":"0100D7001453A000","region":null}]},{"id":"20d5a7b7-a72c-4504-b971-371fca167412","directory":"daemon-x-machina","title":"DAEMON X MACHINAâ„¢","compatibility":2,"releases":[{"id":"0100B6400CA56000","region":null}]},{"id":"20dff95b-4fa1-464a-a061-d0b38d935ad7","directory":"pixel-game-maker-series-the-witch-and-the-66-mushrooms","title":"Pixel Game Maker Series The Witch and The 66 Mushrooms","compatibility":99,"releases":[{"id":"01002C90133CA000","region":null}]},{"id":"20e3d5fc-72ff-4a19-ba80-6321a05a3165","directory":"frodoric-the-driver","title":"Frodoric The Driver","compatibility":99,"releases":[{"id":"0100716013B3C000","region":null}]},{"id":"20e9137a-82c4-4c95-b2c0-26aa17e13336","directory":"4x4-dirt-track","title":"4x4 Dirt Track","compatibility":0,"releases":[{"id":"01006890126E4000","region":null}]},{"id":"20ecf007-e540-432c-bd50-12288a726ad6","directory":"the-aquatic-adventure-of-the-last-human","title":"The Aquatic Adventure of the Last Human","compatibility":0,"releases":[{"id":"0100A6F00C34E000","region":null}]},{"id":"20f4c4af-3c1d-4ff1-a9bd-bdfdad8b99a5","directory":"poker-club","title":"Poker Club","compatibility":99,"releases":[{"id":"0100F16010A40000","region":null}]},{"id":"21013044-7fbf-494f-9384-aec7dc7f259a","directory":"grave-danger","title":"Grave Danger","compatibility":1,"releases":[{"id":"010074E0099FA000","region":null}]},{"id":"21030b15-bc98-4680-a754-9469d05796be","directory":"stickman-far-east-battle","title":"Stickman: Far East Battle","compatibility":99,"releases":[{"id":"0100C6F0163B0000","region":null}]},{"id":"21057225-0710-4b15-a9e8-a1b54506dc07","directory":"razion-ex","title":"Razion EX","compatibility":0,"releases":[{"id":"010032B013CE4000","region":null}]},{"id":"2119bf7e-de48-4e57-aeea-a072d1ebf3b0","directory":"estiman","title":"Estiman","compatibility":0,"releases":[{"id":"01008E500CF02000","region":null}]},{"id":"21231b5c-65e1-469d-9958-73406c400c13","directory":"radical-rabbit-stew","title":"Radical Rabbit Stew","compatibility":99,"releases":[{"id":"0100C8B00D2BE000","region":null}]},{"id":"2125e57f-b93b-40ae-b810-bc8fc3606c17","directory":"skulls-of-the-shogun-bone-a-fide-edition","title":"Skulls of the Shogun: Bone-A-Fide Edition","compatibility":99,"releases":[{"id":"0100D1100BF9C000","region":null}]},{"id":"212b8819-5458-49a3-94bb-6ce54131af65","directory":"caveblazers","title":"Caveblazers","compatibility":5,"releases":[{"id":"01001A100C0E8000","region":null}]},{"id":"2131b9b9-2898-4944-a9dc-64b7d13d52b7","directory":"my-lovely-daughter","title":"My Lovely Daughter","compatibility":99,"releases":[{"id":"010086B00C784000","region":null}]},{"id":"21430a69-56f5-4e52-a202-a14221d6e05f","directory":"metamorphosis","title":"Metamorphosis","compatibility":99,"releases":[{"id":"010055200E87E000","region":null}]},{"id":"2147ea00-2529-4561-83b6-513b23b49f6e","directory":"final-fantasy-xx-2-hd-remaster","title":"FINAL FANTASY X/X-2 HD Remaster","compatibility":1,"releases":[{"id":"0100BC300CB48000","region":null}]},{"id":"2149cdcc-49b3-4b74-bca3-e403f1046c68","directory":"realm-royale","title":"Realm Royale","compatibility":99,"releases":[{"id":"0100CC400DDE8000","region":null}]},{"id":"21599666-82bf-4518-beaa-6a2f592878b5","directory":"arcade-archives-super-punch-out","title":"Arcade Archives SUPER PUNCH-OUT!!","compatibility":0,"releases":[{"id":"01007E2011CE4000","region":null}]},{"id":"215a5c85-be4d-4646-9e7a-02960a0395d8","directory":"slayaway-camp-butchers-cut","title":"Slayaway Camp: Butcher's Cut","compatibility":0,"releases":[{"id":"0100501006494000","region":null}]},{"id":"21626c01-f7d5-4465-9681-b014c9729c14","directory":"spelunky","title":"Spelunky","compatibility":0,"releases":[{"id":"0100710013ABA000","region":null}]},{"id":"2175a0c6-24b6-4c6b-a320-9795c3bb41f2","directory":"the-trail-frontier-challenge","title":"The Trail: Frontier Challenge","compatibility":99,"releases":[{"id":"0100B0E0086F6000","region":null}]},{"id":"217f4ac9-a6e3-431a-ba97-11a6bca49ab9","directory":"hardcube","title":"HardCube","compatibility":99,"releases":[{"id":"01000C90117FA000","region":null}]},{"id":"21859f8d-4bf6-4957-8e2e-a887adf3d2b3","directory":"cave-story","title":"Cave Story+","compatibility":1,"releases":[{"id":"0100B7D0022EE000","region":null}]},{"id":"218e3d35-9319-4e66-aa14-a12eb2820078","directory":"grand-prix-rock-n-racing","title":"Grand Prix Rock 'N Racing","compatibility":99,"releases":[{"id":"0100D84005AF6000","region":null}]},{"id":"21953b79-3d68-48cf-906c-fa5124d6cfcb","directory":"octopath-traveler","title":"Octopath Traveler","compatibility":1,"releases":[{"id":"010057D006492000","region":null}]},{"id":"2198df3b-5d0b-4395-bfa0-56add2aa9099","directory":"scribblenauts-showdown","title":"Scribblenauts Showdown","compatibility":5,"releases":[{"id":"01001E40041BE000","region":null}]},{"id":"21aafce7-1080-4a35-afb7-355ee49893b7","directory":"kirakira-stars-idol-project-reika","title":"Kirakira stars idol project Reika","compatibility":99,"releases":[{"id":"010009E0154C0000","region":null}]},{"id":"21ad9527-423a-497b-9d0e-1c51c842ee87","directory":"word-mesh","title":"Word Mesh","compatibility":99,"releases":[{"id":"010042800E748000","region":null}]},{"id":"21afa80e-1e9c-45d3-a8ab-bb7c95958696","directory":"debtor","title":"Debtor","compatibility":99,"releases":[{"id":"0100D96011D0E000","region":null}]},{"id":"21b46363-8d89-4935-9ca0-1c982caa4ebd","directory":"noreload-heroes","title":"NoReload Heroes","compatibility":1,"releases":[{"id":"0100E9A00B0BC000","region":null}]},{"id":"21b96f74-c035-47fc-a4c4-3b485e68c843","directory":"landflix-odyssey","title":"Landflix Odyssey","compatibility":99,"releases":[{"id":"0100BE3013A38000","region":null}]},{"id":"21bc2d01-e013-4bbc-bb39-897f2685f21f","directory":"a-jugglers-tale","title":"A Juggler's Tale","compatibility":99,"releases":[{"id":"0100CFD01517A000","region":null}]},{"id":"21de6c2e-45c1-4dc4-ba47-1bc61af6b114","directory":"wenjia","title":"Wenjia","compatibility":0,"releases":[{"id":"010035600EC94000","region":null}]},{"id":"21e59cc0-b312-4b15-bb43-6c1f829a6945","directory":"arcade-archives-radical-radial","title":"Arcade Archives RADICAL RADIAL","compatibility":99,"releases":[{"id":"0100A01011B04000","region":null}]},{"id":"22046a28-1842-40f5-82b8-9d580d482991","directory":"canceled-super-puzzles-dream","title":"Canceled! Super Puzzles Dream","compatibility":99,"releases":[{"id":"010023E016F8E000","region":null}]},{"id":"22135b58-c614-4888-9e2e-b073a51ed893","directory":"rise-and-shine","title":"Rise and Shine","compatibility":3,"releases":[{"id":"010065B00B0EC000","region":null}]},{"id":"221afbe6-2dec-4cc0-906b-ba37047fb688","directory":"fobia","title":"Fobia","compatibility":99,"releases":[{"id":"010056000BA1C000","region":null}]},{"id":"222af30e-b532-478d-aebf-8be7cc072594","directory":"road-96","title":"Road 96","compatibility":1,"releases":[{"id":"010031B0145B4000","region":null}]},{"id":"2231e39e-911e-4a1c-898f-605b69f431dd","directory":"super-skelemania","title":"Super Skelemania","compatibility":99,"releases":[{"id":"010039700D200000","region":null}]},{"id":"2234a4c2-afda-4b86-af77-47ea1f4dbc30","directory":"dungeon-nightmares-1-2-collection","title":"Dungeon Nightmares 1+2 Collection","compatibility":99,"releases":[{"id":"01009020135FE000","region":null}]},{"id":"2255a9e1-e120-4101-ac68-c617b692ece5","directory":"the-fall-part-2-unbound","title":"The Fall Part 2: Unbound","compatibility":99,"releases":[{"id":"01003E5002320000","region":null}]},{"id":"22597902-9e9e-40ce-a7da-75ac7dd49cf5","directory":"20xx","title":"20XX","compatibility":3,"releases":[{"id":"0100749009844000","region":null}]},{"id":"226d3d5f-b5f1-4bad-b4c2-79ddd629f181","directory":"kakurasu-world","title":"Kakurasu World","compatibility":99,"releases":[{"id":"010053C012AE2000","region":null}]},{"id":"22852653-ecee-4b9b-819d-9906dfa6e650","directory":"zombie-raid","title":"Zombie Raid","compatibility":99,"releases":[{"id":"0100A0E0153D0000","region":null}]},{"id":"2286d67d-338d-4888-9193-fa4942b7a236","directory":"good-night-knight","title":"Good Night, Knight","compatibility":99,"releases":[{"id":"01003AD0123A2000","region":null}]},{"id":"22b3bf07-2e57-420f-8498-7a8a54cb225b","directory":"at-sundown-shots-in-the-dark","title":"At Sundown: Shots in the Dark","compatibility":99,"releases":[{"id":"010032A008754000","region":null}]},{"id":"22b57769-80c5-400f-9361-62d2a3087f80","directory":"aca-neogeo-mutation-nation","title":"ACA NEOGEO MUTATION NATION","compatibility":99,"releases":[{"id":"01007F4004FA4000","region":null}]},{"id":"22bb3ec3-0c40-4f74-9f02-7152c50c73eb","directory":"robonauts","title":"Robonauts","compatibility":4,"releases":[{"id":"0100618004096000","region":null}]},{"id":"22bf5101-3823-43ae-8542-d9820e9521e5","directory":"paper-wars-cannon-fodder-devastated","title":"Paper Wars: Cannon Fodder Devastated","compatibility":99,"releases":[{"id":"0100D1D007F4E000","region":null}]},{"id":"22c5850e-f2c3-4867-830c-06861061929f","directory":"dirt-trackin-sprint-cars","title":"Dirt Trackin Sprint Cars","compatibility":99,"releases":[{"id":"01004CB01378A000","region":null}]},{"id":"22c7c7a9-b996-4bb7-90e9-f27ff8156fae","directory":"arcade-archives-ninja-kazan","title":"Arcade Archives Ninja Kazan","compatibility":99,"releases":[{"id":"010054B013FB2000","region":null}]},{"id":"22cda249-4823-43d5-8ff3-55e881b5429d","directory":"travel-mosaics-5-waltzing-vienna","title":"Travel Mosaics 5: Waltzing Vienna","compatibility":99,"releases":[{"id":"01004C4010C00000","region":null}]},{"id":"22d3a6a8-de8e-4951-aee1-9cb0419c3120","directory":"stay-cool-kobayashi-san-a-river-city-ransom-story","title":"STAY COOL, KOBAYASHI-SAN!: A RIVER CITY RANSOM STORY","compatibility":2,"releases":[{"id":"0100B61009C60000","region":null}]},{"id":"22dba733-83ec-4ebb-89bd-3b5ddc06f702","directory":"q-yo-blaster","title":"Q-YO Blaster","compatibility":5,"releases":[{"id":"0100F1100E606000","region":null}]},{"id":"22e266eb-92d9-42bc-9ae3-ca7962106c16","directory":"horror-sports-pinball","title":"Horror & Sports Pinball","compatibility":99,"releases":[{"id":"0100A6B016838000","region":null}]},{"id":"22e5384f-c6c6-4742-a291-7cd6468a03cd","directory":"monster-rancher-1-2-dx","title":"Monster Rancher 1 & 2 DX","compatibility":99,"releases":[{"id":"0100195015AC6000","region":null}]},{"id":"22e8123c-547f-4326-9eaf-7b3fd03acea2","directory":"smoots-world-cup-tennis","title":"Smoots World Cup Tennis","compatibility":0,"releases":[{"id":"0100A1A011944000","region":null}]},{"id":"22ea4756-2509-494b-97a0-8faa2f0fab68","directory":"ys-origin","title":"Ys Origin","compatibility":2,"releases":[{"id":"0100F90010882000","region":null}]},{"id":"22edb79e-f733-4f12-91b7-7e19b2231373","directory":"mr-blaster","title":"Mr Blaster","compatibility":99,"releases":[{"id":"0100D3300F110000","region":null}]},{"id":"22f1a7a0-2c51-4854-aec3-3deff3c4a265","directory":"voxelgram","title":"Voxelgram","compatibility":99,"releases":[{"id":"0100082010A4E000","region":null}]},{"id":"22f210bc-7b6c-413f-9d34-fa16080a2454","directory":"the-world-next-door","title":"The World Next Door","compatibility":99,"releases":[{"id":"0100E6200D56E000","region":null}]},{"id":"22fc5500-274c-4000-b13e-231fc7496b37","directory":"replica","title":"REPLICA","compatibility":99,"releases":[{"id":"0100EC3012AAC000","region":null}]},{"id":"2301177c-07ef-4928-a52a-acdeeb636235","directory":"lieat","title":"LiEat","compatibility":99,"releases":[{"id":"01000810151FA000","region":null}]},{"id":"23019c5d-3e3d-49e2-9672-08074cd0e8c5","directory":"secrets-of-magic-2-witches-wizards","title":"Secrets of Magic 2 - Witches & Wizards","compatibility":99,"releases":[{"id":"01000C100CFD8000","region":null}]},{"id":"230c236b-2300-4cbd-8fe1-b6b55d448f6f","directory":"sword-art-online-fatal-bullet-complete-edition","title":"SWORD ART ONLINE: FATAL BULLET Complete Edition","compatibility":4,"releases":[{"id":"01005DF00DC26000","region":null}]},{"id":"2328fbd4-7ea7-4ad8-91fb-d9637e53eb57","directory":"zumba-burn-it-up","title":"Zumba Burn It Up!","compatibility":3,"releases":[{"id":"0100C1700CD94000","region":null}]},{"id":"232e64fd-0a6b-42c4-b6da-4e5d387a82c6","directory":"tools-up","title":"Tools Up!","compatibility":0,"releases":[{"id":"010093F00E818000","region":null}]},{"id":"23456eed-20e3-471e-ac2c-9d2e56be07fa","directory":"telling-lies","title":"Telling Lies","compatibility":99,"releases":[{"id":"010021100DF22000","region":null}]},{"id":"234a0b6c-9545-4df8-89b7-5c1374098a0e","directory":"pocket-circuit","title":"Pocket Circuit","compatibility":99,"releases":[{"id":"01002D4012BBC000","region":null}]},{"id":"235121eb-4d4c-4563-9a84-b331a664b7cb","directory":"salt-and-sanctuary","title":"Salt and Sanctuary","compatibility":2,"releases":[{"id":"0100D250083B4000","region":null}]},{"id":"23522ed0-3e25-4a26-aaba-9c1065891d5a","directory":"diablo-iii-eternal-collection","title":"Diablo III: Eternal Collection","compatibility":1,"releases":[{"id":"01001B300B9BE000","region":null}]},{"id":"2352eeb6-d666-49f8-8d03-bfe3fe85f392","directory":"castle-of-no-escape-2","title":"Castle of no Escape 2","compatibility":99,"releases":[{"id":"0100F5500FA0E000","region":null}]},{"id":"23577b90-9779-4bdd-813d-d9b455be6df4","directory":"bucket-knight","title":"Bucket Knight","compatibility":1,"releases":[{"id":"0100089010A92000","region":null}]},{"id":"2367e1e5-82a3-41b3-8d65-0e7d92565f13","directory":"nerdook-bundle-vol-1","title":"Nerdook Bundle Vol. 1","compatibility":1,"releases":[{"id":"01000B2011352000","region":null}]},{"id":"237c60fa-0edb-4550-9fb8-85b26afd0c66","directory":"contract-killers","title":"Contract Killers","compatibility":99,"releases":[{"id":"0100726013C06000","region":null}]},{"id":"238e9728-9459-46bf-b874-842ae19977d2","directory":"light-fall","title":"Light Fall","compatibility":99,"releases":[{"id":"010030A006F6E000","region":null}]},{"id":"2390c702-1839-486b-833f-0025ca64edb2","directory":"blaster-master-zero-3","title":"Blaster Master Zero 3","compatibility":1,"releases":[{"id":"01002030143D0000","region":null}]},{"id":"2398e965-01cd-43ea-8aca-647e2d45a25b","directory":"metroid-dread","title":"Metroidâ„¢ Dread","compatibility":1,"releases":[{"id":"010093801237C000","region":null}]},{"id":"239b4c1c-5b1b-4397-ad68-5d12c94970ff","directory":"plumber-puzzles","title":"Plumber Puzzles","compatibility":99,"releases":[{"id":"0100ABF016B50000","region":null}]},{"id":"23a9dbc1-8447-44af-bc30-c72856c6ad93","directory":"the-grisaia-trilogy","title":"THE GRISAIA TRILOGY","compatibility":2,"releases":[{"id":"01003B300E4AA000","region":null}]},{"id":"23c0c458-2a75-45e9-a8ee-a61707c9787d","directory":"vvvvvv","title":"VVVVVV","compatibility":0,"releases":[{"id":"0100B1E0022F8000","region":null}]},{"id":"23c99558-7d3a-418d-9bcc-eb36b5c51ea3","directory":"ironcast","title":"IRONCAST","compatibility":1,"releases":[{"id":"01004DB003E6A000","region":null}]},{"id":"23ca17e4-55ed-48fe-a6ab-1eb9af257d4d","directory":"dungreed","title":"Dungreed","compatibility":0,"releases":[{"id":"0100FAD00C2AA000","region":null}]},{"id":"23cbb844-b213-46c4-9a78-a5b30ebd638d","directory":"cosmic-express","title":"Cosmic Express","compatibility":99,"releases":[{"id":"0100334013308000","region":null}]},{"id":"23d1b984-3a37-44b7-9f2f-acc7a50d3ffe","directory":"guns-gore-and-cannoli-2","title":"Guns, Gore and Cannoli 2","compatibility":0,"releases":[{"id":"01006D4003BCE000","region":null}]},{"id":"23d85b67-7f6b-443e-8351-56d3c8c32445","directory":"guess-the-character","title":"Guess the Character","compatibility":99,"releases":[{"id":"010089900C9FA000","region":null}]},{"id":"23e42778-2af4-4d07-9856-acaf20d86cca","directory":"picture-painting-puzzle-1000","title":"Picture Painting Puzzle 1000!","compatibility":99,"releases":[{"id":"0100A1A00C5D8000","region":null}]},{"id":"23f76bae-06e4-4709-a210-62f68aead488","directory":"xenon-valkyrie-demo","title":"Xenon Valkyrie+ Demo","compatibility":99,"releases":[{"id":"01007A300C856000","region":null}]},{"id":"23f808d0-c857-4d86-9324-33cd73feba24","directory":"pokemon-brilliant-diamond","title":"Pokémonâ„¢ Brilliant Diamond","compatibility":2,"releases":[{"id":"0100000011D90000","region":null}]},{"id":"23f82ff7-422d-4047-b115-e52e4cd9d629","directory":"space-crew","title":"Space Crew","compatibility":99,"releases":[{"id":"01004550100CC000","region":null}]},{"id":"240674b2-77e0-42e9-92b0-aeb2b3faf09c","directory":"lines-xl","title":"Lines XL","compatibility":99,"releases":[{"id":"010032F01096C000","region":null}]},{"id":"241cdc10-ea0e-4472-9fdc-94c2543349b2","directory":"think-of-the-children","title":"Think of the Children","compatibility":1,"releases":[{"id":"0100F2300A5DA000","region":null}]},{"id":"241d5092-b083-4675-83a3-da801b95905a","directory":"there-is-no-game-wrong-dimension","title":"There Is No Game: Wrong Dimension","compatibility":0,"releases":[{"id":"0100009013566000","region":null}]},{"id":"243ff8e7-f082-49fa-9ace-7b4dacc487b1","directory":"deemo","title":"DEEMO","compatibility":1,"releases":[{"id":"01002CC0062B8000","region":null}]},{"id":"24443beb-3f53-4089-8681-f7abbd482638","directory":"earth-atlantis","title":"Earth Atlantis","compatibility":1,"releases":[{"id":"0100E07006C84000","region":null}]},{"id":"24516c21-a98f-442d-8ba2-6bfb878a2397","directory":"tricky-spider","title":"Tricky Spider","compatibility":99,"releases":[{"id":"010097000EDB4000","region":null}]},{"id":"24518ec9-b9c5-48f1-a2ba-bab59d6d2b44","directory":"dynos-ghosts","title":"Dynos & Ghosts","compatibility":99,"releases":[{"id":"01007C30140F4000","region":null}]},{"id":"2451a42f-57ce-42b8-aa73-d93b70d8c2f9","directory":"thimbleweed-park","title":"Thimbleweed Park","compatibility":4,"releases":[{"id":"01009BD003B36000","region":null}]},{"id":"245933b0-2802-4136-8c14-a108a9268064","directory":"premium-pool-arena","title":"Premium Pool Arena","compatibility":0,"releases":[{"id":"0100D98007784000","region":null}]},{"id":"246ea180-88a6-436a-8428-38d11a12f8b7","directory":"star-crossed-myth-the-department-of-wishes-","title":"Star-Crossed Myth - The Department of Wishes -","compatibility":4,"releases":[{"id":"01005EB00EA10000","region":null}]},{"id":"246f8f1e-932c-4712-94ff-b126d21f3043","directory":"aca-neogeo-spin-master","title":"ACA NEOGEO SPIN MASTER","compatibility":4,"releases":[{"id":"01007D1004DBA000","region":null}]},{"id":"2474ca57-195e-4e6b-af72-f89f26dbce7c","directory":"the-incredible-adventures-of-super-panda","title":"The Incredible Adventures of Super Panda","compatibility":99,"releases":[{"id":"0100D1500F6DC000","region":null}]},{"id":"247ae799-a7fa-4a08-bfb8-bab65a164209","directory":"crash-team-racing-nitro-fueled","title":"Crashâ„¢ Team Racing Nitro-Fueled","compatibility":1,"releases":[{"id":"0100F9F00C696000","region":null}]},{"id":"24838602-eaa0-464e-a519-82edcb61f8b0","directory":"okinawa-rush","title":"Okinawa Rush","compatibility":99,"releases":[{"id":"0100D7B013BA8000","region":null}]},{"id":"24856159-94a7-4427-85dd-8c65b153ae42","directory":"trenga-unlimited","title":"Trenga Unlimited","compatibility":99,"releases":[{"id":"0100A8E013A16000","region":null}]},{"id":"24a40a71-39be-47b7-9aa1-d37b78e03dd2","directory":"truberbrook","title":"Trüberbrook","compatibility":99,"releases":[{"id":"0100E6300D448000","region":null}]},{"id":"24a69d36-978a-479b-981d-f104f51fd60e","directory":"reverie-sweet-as-edition","title":"Reverie: Sweet As Edition","compatibility":99,"releases":[{"id":"01008FF00B8FA000","region":null}]},{"id":"24a89d69-4e13-4e46-9082-30e8ba0ad8e4","directory":"hammer-2-reloaded","title":"Hammer 2 Reloaded","compatibility":1,"releases":[{"id":"01008FB015E40000","region":null}]},{"id":"24b65360-13d5-408c-b59c-c7b639980c5c","directory":"hunt","title":"Hunt","compatibility":99,"releases":[{"id":"01000DE0125B8000","region":null}]},{"id":"24bdf7c3-b4dd-47e7-9b64-9c34d2667fe3","directory":"baseball-riot","title":"Baseball Riot","compatibility":4,"releases":[{"id":"01004860080A0000","region":null}]},{"id":"24c042dc-653a-4cc1-95f1-45ca373883c8","directory":"mighty-goose","title":"Mighty Goose","compatibility":1,"releases":[{"id":"0100AD701344C000","region":null}]},{"id":"24c60885-fc30-49a5-b274-08a5740d2a51","directory":"perchang","title":"Perchang","compatibility":99,"releases":[{"id":"010011700D1B2000","region":null}]},{"id":"24c68af7-de4e-4a94-9189-ed7028e936c5","directory":"pba-pro-bowling","title":"PBA Pro Bowling","compatibility":3,"releases":[{"id":"010085700ABC8000","region":null}]},{"id":"24da3cc6-6e24-470f-81e5-f80fff6d4299","directory":"911-operator","title":"911 Operator","compatibility":0,"releases":[{"id":"0100CF10099B2000","region":null}]},{"id":"24df0ef5-c19f-4985-97d7-23979a17568d","directory":"boomerang-x","title":"Boomerang X","compatibility":99,"releases":[{"id":"0100C09014530000","region":null}]},{"id":"24e1cf3a-ae7e-4477-828b-4a2fdd116785","directory":"fortnite","title":"Fortnite","compatibility":2,"releases":[{"id":"010025400AECE000","region":null}]},{"id":"24eacb5a-67d1-4d9e-a468-5b41d84ba4cc","directory":"air-strike-ww2-fighters-sky-combat","title":"Air Strike: WW2 Fighters Sky Combat","compatibility":0,"releases":[{"id":"0100E2F016680000","region":null}]},{"id":"24ed537b-65a6-4382-933a-fa88c6226505","directory":"the-eternal-castle-remastered]","title":"The Eternal Castle [REMASTERED]","compatibility":99,"releases":[{"id":"010061900F896000","region":null}]},{"id":"24f11789-c7c1-4150-9f32-2d43581269f2","directory":"atomicrops","title":"Atomicrops","compatibility":99,"releases":[{"id":"0100AD30095A4000","region":null}]},{"id":"2502f6a9-b5b3-4e48-a2cc-a84da27e5b11","directory":"nba-2k20","title":"NBA 2K20","compatibility":99,"releases":[{"id":"010026000E466000","region":null}]},{"id":"250b193f-ed39-4cf7-bcd4-9f44164b0910","directory":"golden-force","title":"Golden Force","compatibility":1,"releases":[{"id":"01007DE013A48000","region":null}]},{"id":"25106727-7c11-4242-8d9c-cfdce93e2bbb","directory":"lets-sing-2021","title":"Let's Sing 2021","compatibility":99,"releases":[{"id":"010061F0119FA000","region":null}]},{"id":"251209de-fe72-4234-8cd0-3203dbe4fa42","directory":"nicole","title":"Nicole","compatibility":99,"releases":[{"id":"0100A95012668000","region":null}]},{"id":"2515706e-c36c-4094-82ba-440e49a8f303","directory":"the-bug-butcher","title":"The Bug Butcher","compatibility":0,"releases":[{"id":"01008D700AB14000","region":null}]},{"id":"251cee89-edab-4796-9d06-3209a827e7c5","directory":"cross-the-moon","title":"Cross the Moon","compatibility":99,"releases":[{"id":"0100946014BBC000","region":null}]},{"id":"2521ed47-f1b0-4cda-8533-9b3a1b19e239","directory":"beefense-beemastered","title":"BeeFense BeeMastered","compatibility":99,"releases":[{"id":"010018F007786000","region":null}]},{"id":"2537bf82-30b8-4e90-9e80-dd5467a7f84f","directory":"super-battle-cards","title":"Super Battle Cards","compatibility":99,"releases":[{"id":"0100D1B0102B0000","region":null}]},{"id":"254d6953-8096-487f-93d9-005cc89e56f1","directory":"delicious-pretty-girls-mahjong-solitaire","title":"Delicious! Pretty Girls Mahjong Solitaire","compatibility":99,"releases":[{"id":"0100498013F7E000","region":null}]},{"id":"254edea8-76de-4295-a1b8-146439e022c2","directory":"her-majestys-ship","title":"Her Majesty's Ship","compatibility":99,"releases":[{"id":"0100531011EF4000","region":null}]},{"id":"2557ff56-1d8b-4b0e-bbf0-0b0523cb44e8","directory":"gunbrick-reloaded","title":"Gunbrick: Reloaded","compatibility":1,"releases":[{"id":"01008DF00B78E000","region":null}]},{"id":"255f0446-96c3-4c4b-9a50-6ba26a067b39","directory":"fishing-fighters","title":"Fishing Fighters","compatibility":99,"releases":[{"id":"0100F38014A3E000","region":null}]},{"id":"2566e0e9-6e7c-4600-8936-40ab67185eec","directory":"arcade-archives-kids-horehore-daisakusen","title":"Arcade Archives Kid's Horehore Daisakusen","compatibility":99,"releases":[{"id":"0100E7C001DE0000","region":null}]},{"id":"2570eaaa-7827-4b57-94c0-9a83e433ec4d","directory":"hell-is-other-demons","title":"Hell is Other Demons","compatibility":99,"releases":[{"id":"0100E4300C278000","region":null}]},{"id":"258b9af0-342e-4188-bcdc-e24e13070c41","directory":"valthirian-arc-hero-school-story-demo","title":"Valthirian Arc: Hero School Story Demo","compatibility":99,"releases":[{"id":"0100CEC00BF04000","region":null}]},{"id":"25949273-4413-4c5a-8023-1452a20afc48","directory":"the-lightbringer","title":"The Lightbringer","compatibility":0,"releases":[{"id":"0100491014980000","region":null}]},{"id":"25ad20e7-0e34-4c2c-bb17-189d4d63a75b","directory":"7th-sector","title":"7th Sector","compatibility":1,"releases":[{"id":"01004B200DF76000","region":null}]},{"id":"25b069c8-3a7f-40c8-8c4c-c0aef49027f0","directory":"little-bug","title":"Little Bug","compatibility":1,"releases":[{"id":"0100F8D016700000","region":null}]},{"id":"25be889e-3780-4a34-a547-abdf74cf8497","directory":"shift-quantum-demo","title":"Shift Quantum Demo","compatibility":99,"releases":[{"id":"0100CA000C682000","region":null}]},{"id":"25cfe7d4-1efc-45f7-ad65-eb19162b46d7","directory":"retro-game-pack","title":"Retro Game Pack","compatibility":99,"releases":[{"id":"010026D0122B8000","region":null}]},{"id":"25d9e72f-ec5c-462e-8ea6-ce49827333f4","directory":"state-of-anarchy-master-of-mayhem","title":"State of Anarchy: Master of Mayhem","compatibility":99,"releases":[{"id":"010000700A572000","region":null}]},{"id":"25debf59-5320-401c-95c3-fefa89349fea","directory":"true-fear-forsaken-souls-part-1-demo","title":"True Fear: Forsaken Souls - Part 1 Demo","compatibility":99,"releases":[{"id":"010020100B768000","region":null}]},{"id":"25e6efee-38ec-4fa2-8c32-dc0645891d69","directory":"bomb","title":"Bomb","compatibility":99,"releases":[{"id":"0100516011606000","region":null}]},{"id":"26079cf6-911a-47ff-9733-7b0b187bea27","directory":"arcade-archives-haunted-castle","title":"Arcade Archives HAUNTED CASTLE","compatibility":99,"releases":[{"id":"010093E01450A000","region":null}]},{"id":"26127716-4ad5-48e2-b217-204cbc0e208f","directory":"never-stop","title":"Never Stop","compatibility":5,"releases":[{"id":"010021D00ACA2000","region":null}]},{"id":"2618b207-6f6f-4bcf-966c-457d9fee70a1","directory":"narcos-rise-of-the-cartels","title":"Narcos: Rise of the Cartels","compatibility":99,"releases":[{"id":"010072B00BDDE000","region":null}]},{"id":"26197e54-da9a-461e-ba31-545f08ea27ae","directory":"oxenfree","title":"OXENFREE","compatibility":2,"releases":[{"id":"01008B8004E36000","region":null}]},{"id":"261ab5d4-dd4b-4ff3-8ba2-9c27919b8732","directory":"seabed","title":"SeaBed","compatibility":99,"releases":[{"id":"0100C2400D68C000","region":null}]},{"id":"261bdb11-cbfa-43df-a516-64f00eba821b","directory":"infinite-tanks-wwii","title":"Infinite Tanks WWII","compatibility":99,"releases":[{"id":"010057101473A000","region":null}]},{"id":"2629aacc-38a7-482b-bc86-397ed191c035","directory":"ultimate-ski-jumping-2020","title":"Ultimate Ski Jumping 2020","compatibility":99,"releases":[{"id":"01006B601117E000","region":null}]},{"id":"262a87e3-cac4-43da-ad76-8c0ddbefab8d","directory":"one-escape","title":"One Escape","compatibility":99,"releases":[{"id":"010024C013E58000","region":null}]},{"id":"262cf9d1-fb3b-48bf-b896-e16531f67fbb","directory":"make-war","title":"Make War","compatibility":99,"releases":[{"id":"0100B0B011748000","region":null}]},{"id":"262dc5bb-818d-4b5d-9ec5-4b83abcfcc89","directory":"connection-haunted-server-error","title":"/Connection Haunted <SERVER ERROR>","compatibility":99,"releases":[{"id":"0100A5D01174C000","region":null}]},{"id":"262de758-7345-4316-8771-23ced1bcae4e","directory":"combat-core","title":"Combat Core","compatibility":99,"releases":[{"id":"0100A040069DE000","region":null}]},{"id":"262e0821-02af-45c8-93c1-ecca506485d8","directory":"far-lone-sails","title":"FAR: Lone Sails","compatibility":0,"releases":[{"id":"010022700E7D6000","region":null}]},{"id":"2648b853-0203-4aa5-b24e-f27e86e59ef7","directory":"black-bird","title":"BLACK BIRD","compatibility":0,"releases":[{"id":"010022B00ACE6000","region":null}]},{"id":"265ecef2-e08d-4b25-8b6a-eb992527166b","directory":"the-journey-down-chapter-one","title":"The Journey Down: Chapter One","compatibility":99,"releases":[{"id":"010052C00B184000","region":null}]},{"id":"266eddfa-e1b3-425b-9c56-893a44b09174","directory":"nightshade","title":"Nightshadeï¼ç™¾èŠ±ç™¾ç‹¼","compatibility":2,"releases":[{"id":"010042300C4F6000","region":null}]},{"id":"2680263e-02ed-4487-84d3-253b96b6a65f","directory":"lost-castle","title":"Lost Castle","compatibility":0,"releases":[{"id":"0100581007068000","region":null}]},{"id":"2680607a-3659-4621-b617-e4df4966da96","directory":"arcade-archives-super-dodge-ball","title":"Arcade Archives Super Dodge Ball","compatibility":99,"releases":[{"id":"0100C6C009812000","region":null}]},{"id":"26849633-a46f-42cc-a9d8-84c67c0333ad","directory":"sky-gamblers-storm-raiders","title":"Sky Gamblers: Storm Raiders","compatibility":99,"releases":[{"id":"010093D00AC38000","region":null}]},{"id":"268f76e7-4d54-467f-9649-9b7b85e327b8","directory":"laraan","title":"Laraan","compatibility":99,"releases":[{"id":"0100AFE00E882000","region":null}]},{"id":"26a5e587-e712-4849-86b7-0a5ed195b582","directory":"pic-a-pix-deluxe-demo","title":"Pic-a-Pix Deluxe Demo","compatibility":99,"releases":[{"id":"01006E30099B8000","region":null}]},{"id":"26a84019-d132-4c6c-b377-928fc9fe5c7c","directory":"survival","title":"Survival","compatibility":99,"releases":[{"id":"0100DBB0136CE000","region":null}]},{"id":"26aa6a68-ca76-4e1e-923a-21ae86acb337","directory":"nickelodeon-kart-racers","title":"Nickelodeon Kart Racers","compatibility":0,"releases":[{"id":"0100D6200933C000","region":null}]},{"id":"26b92ab8-14ee-4b1f-b822-067e47754738","directory":"squabble","title":"Squabble","compatibility":99,"releases":[{"id":"010027E01435C000","region":null}]},{"id":"26ba904b-fc72-43a3-a123-3acc8b1e8854","directory":"knight-squad-2","title":"Knight Squad 2","compatibility":99,"releases":[{"id":"010024B00E1D6000","region":null}]},{"id":"26ba9c65-13b9-464b-b937-ffe43e23934a","directory":"mini-puzzle-balls","title":"Mini Puzzle Balls","compatibility":99,"releases":[{"id":"0100591010262000","region":null}]},{"id":"26e4371c-8ef2-435b-81b9-fc9914513285","directory":"slice-of-life","title":"Slice of Life","compatibility":99,"releases":[{"id":"010093A0117A0000","region":null}]},{"id":"26e5bf9a-87be-4558-b2e7-cb5b04d176ac","directory":"tetris-r-effect-connected","title":"Tetris® Effect: Connected","compatibility":2,"releases":[{"id":"0100DE501433A000","region":null}]},{"id":"26ea2bb8-b2c8-4201-bec7-bca6cdc2509d","directory":"flashback","title":"FLASHBACK","compatibility":1,"releases":[{"id":"01000A0004C50000","region":null}]},{"id":"26f2bbf5-6575-4c93-ae6a-b9f7bd896cd1","directory":"family-vacation-california","title":"Family Vacation: California","compatibility":99,"releases":[{"id":"010070A015100000","region":null}]},{"id":"26f88a47-d812-4669-a0ba-87a4464be5d4","directory":"touchdown-pinball","title":"Touchdown Pinball","compatibility":99,"releases":[{"id":"0100D04010E38000","region":null}]},{"id":"26fa5d12-391c-4cfa-917e-3127a522ba87","directory":"the-room","title":"The Room","compatibility":0,"releases":[{"id":"010079400BEE0000","region":null}]},{"id":"26fec3d3-07da-467c-807d-754cd48a0564","directory":"pocket-academy-demo","title":"Pocket Academy Demo","compatibility":99,"releases":[{"id":"010004D00D222000","region":null}]},{"id":"27063981-7c54-476f-b40c-a2e64bdc04b4","directory":"mekorama","title":"Mekorama","compatibility":4,"releases":[{"id":"0100B360068B2000","region":null}]},{"id":"2710af6d-9981-4786-9dd6-e7efdef080ec","directory":"hello-neighbor","title":"Hello Neighbor","compatibility":99,"releases":[{"id":"0100FAA00B168000","region":null}]},{"id":"2715224a-d26a-4de3-be6d-5fb6f4548121","directory":"aca-neogeo-alpha-mission-ii","title":"ACA NEOGEO ALPHA MISSION II","compatibility":99,"releases":[{"id":"0100A76002B46000","region":null}]},{"id":"2715dbc7-aa93-422d-814d-c8437c84fadb","directory":"knights-of-pen-and-paper-2-deluxiest-edition","title":"Knights of Pen & Paper 2 Deluxiest Edition","compatibility":3,"releases":[{"id":"010004400B22A000","region":null}]},{"id":"2722e23f-654e-4934-9a65-8fee06ff6a01","directory":"omotomo","title":"OmoTomO","compatibility":99,"releases":[{"id":"0100395010AD2000","region":null}]},{"id":"27298c36-6b52-4571-8bf6-e223048eeb88","directory":"resident-evil-4","title":"resident evil 4","compatibility":0,"releases":[{"id":"010099A00BC1E000","region":null}]},{"id":"2745a96a-3811-432d-bd95-2950c86cb072","directory":"shadows-of-adam","title":"Shadows of Adam","compatibility":99,"releases":[{"id":"0100AD700CBBE000","region":null}]},{"id":"2747c708-1c36-4cb9-856f-cfc01f946681","directory":"fallout-shelter","title":"Fallout Shelter","compatibility":2,"releases":[{"id":"010043500A17A000","region":null}]},{"id":"27569774-9c2c-4a07-98ac-b79c757a61c1","directory":"fateextella-link","title":"Fate/EXTELLA LINK","compatibility":4,"releases":[{"id":"01006E000C81C000","region":null}]},{"id":"2762e4cf-930a-4c94-b5c6-7d99caa47d5f","directory":"taiwan-monster-fruit-prologue","title":"Taiwan Monster Fruit : Prologue","compatibility":99,"releases":[{"id":"010028E013E0A000","region":null}]},{"id":"2769dcaa-bb34-490a-a10b-7e675382ed92","directory":"ooo-ascension","title":"oOo: Ascension","compatibility":99,"releases":[{"id":"010074000BE8E000","region":null}]},{"id":"276a7e80-33d1-49f0-b824-31bf163d712b","directory":"dry-drowning","title":"Dry Drowning","compatibility":99,"releases":[{"id":"01008ED00DABC000","region":null}]},{"id":"27858943-9d18-47d2-a238-50b15abb5c71","directory":"encodya","title":"Encodya","compatibility":99,"releases":[{"id":"0100D08014D88000","region":null}]},{"id":"278ab89b-8909-49c8-91e0-109341854849","directory":"arcade-archives-block-hole","title":"Arcade Archives BLOCK HOLE","compatibility":99,"releases":[{"id":"01009E7013B2C000","region":null}]},{"id":"278d00fd-578f-437e-92f1-2472a815377b","directory":"party-games-15-in-1","title":"Party Games: 15 in 1","compatibility":99,"releases":[{"id":"01009D901321A000","region":null}]},{"id":"2794ca70-e9f8-47c5-9c39-697b5d07fd0d","directory":"mighty-fight-federation","title":"Mighty Fight Federation","compatibility":99,"releases":[{"id":"0100C1E0135E0000","region":null}]},{"id":"27a06875-089e-400b-adc3-81a3a5ddd5b0","directory":"minute-of-islands","title":"Minute of Islands","compatibility":99,"releases":[{"id":"01004F500F9E4000","region":null}]},{"id":"27a134df-7243-4958-a192-323001acdf31","directory":"gone-home","title":"Gone Home","compatibility":2,"releases":[{"id":"0100EEC00AA6E000","region":null}]},{"id":"27ad3aa1-5d5b-4ae3-9e88-7c37e79c9156","directory":"dokuro","title":"Dokuro (ドクロ)","compatibility":2,"releases":[{"id":"01005EE00BC78000","region":null}]},{"id":"27b12f82-42a4-4999-9684-23926ba7fec9","directory":"snake-vs-snake","title":"Snake vs Snake","compatibility":4,"releases":[{"id":"0100FF700B96C000","region":null}]},{"id":"27b583df-6125-4ae3-a82b-374a7c0ba7b6","directory":"hot-shot-burn","title":"Hot Shot Burn","compatibility":99,"releases":[{"id":"0100DB80123D2000","region":null}]},{"id":"27b5ce95-7626-426d-872c-14cafdb8be87","directory":"twist-and-match","title":"Twist & Match","compatibility":99,"releases":[{"id":"0100EBE00DB2C000","region":null}]},{"id":"27b816a5-4c90-4980-8558-cd0c7f5bd009","directory":"my-little-fruit-juice-booth","title":"My Little Fruit Juice Booth","compatibility":99,"releases":[{"id":"0100B950153B2000","region":null}]},{"id":"27cb7e53-7e2c-4f66-9f5f-be3876170e5d","directory":"levelhead","title":"Levelhead","compatibility":99,"releases":[{"id":"01009A200BE42000","region":null}]},{"id":"27d5168b-e0c7-49e0-88f3-9c632880ad96","directory":"the-ramen-sensei","title":"The Ramen Sensei","compatibility":99,"releases":[{"id":"010020B00E89E000","region":null}]},{"id":"27d5cfdb-eca6-48b6-96ce-33ee307a27e7","directory":"the-park","title":"The Park","compatibility":99,"releases":[{"id":"01005C500D690000","region":null}]},{"id":"27f51d99-8642-407a-bb41-2f7924e0939a","directory":"community-inc","title":"Community Inc","compatibility":99,"releases":[{"id":"010059C00E900000","region":null}]},{"id":"27f581f2-dba3-41e9-a4d5-95609a18266c","directory":"hungry-baby-party-treats","title":"Hungry Baby: Party Treats","compatibility":99,"releases":[{"id":"01002A100E010000","region":null}]},{"id":"27fc53ea-2f66-4e8a-8112-7938007f41dd","directory":"halloween-forever","title":"Halloween Forever","compatibility":0,"releases":[{"id":"010057D013210000","region":null}]},{"id":"28114dea-3c42-4a10-8091-cc7e7dc30754","directory":"hell-sports","title":"Hell Sports","compatibility":0,"releases":[{"id":"010036A01342C000","region":null}]},{"id":"28148d4a-f1d1-4325-a50d-b2a4ca5a8d84","directory":"marvels-guardians-of-the-galaxy-cloud-version","title":"Marvel's Guardians of the Galaxy: Cloud Version","compatibility":99,"releases":[{"id":"0100C3F01567E000","region":null}]},{"id":"2814b905-7f36-45bc-b0e1-d75a32486fee","directory":"welcome-to-primrose-lake","title":"Welcome to Primrose Lake","compatibility":99,"releases":[{"id":"0100D7F010B94000","region":null}]},{"id":"2814f61c-3d78-4aa1-b9b1-8aeac1037016","directory":"very-very-valet","title":"Very Very Valet","compatibility":99,"releases":[{"id":"0100379013A62000","region":null}]},{"id":"282d7e28-a1bf-4909-ae56-9c3307aa2780","directory":"all-walls-must-fall","title":"All Walls Must Fall","compatibility":99,"releases":[{"id":"0100CBD012FB6000","region":null}]},{"id":"28331c17-fb9e-42a4-843d-617c6e3bc532","directory":"monster-bugs-eat-people","title":"Monster Bugs Eat People","compatibility":99,"releases":[{"id":"01005FC01000E000","region":null}]},{"id":"28412b0d-5b31-446f-aa5e-29a62435650b","directory":"moero-crystal-h","title":"Moero Crystal H","compatibility":5,"releases":[{"id":"01004EB0119AC000","region":null}]},{"id":"28508d8c-2aaa-4601-8efc-d367023c029c","directory":"monkey-king-master-of-the-clouds","title":"Monkey King: Master of the Clouds","compatibility":0,"releases":[{"id":"01004C500B8E0000","region":null}]},{"id":"2854ccc1-b80a-4502-8340-6e8f1159f1f8","directory":"batman-the-enemy-within","title":"Batman: The Enemy Within","compatibility":2,"releases":[{"id":"0100E6300AA3A000","region":null}]},{"id":"28566967-36cb-4640-a898-35a361850f51","directory":"taiko-no-tatsujin-rhythmic-adventure-pack","title":"Taiko no Tatsujin: Rhythmic Adventure Pack","compatibility":0,"releases":[{"id":"0100DD6012644000","region":null}]},{"id":"286fdfc0-ad6f-471c-8e9b-3762bb803531","directory":"earthfall-alien-horde","title":"Earthfall: Alien Horde","compatibility":99,"releases":[{"id":"0100DFC00E472000","region":null}]},{"id":"28825b3c-4e8b-46dd-a417-95a43e861a55","directory":"pandaball","title":"PandaBall","compatibility":99,"releases":[{"id":"010044A0134E8000","region":null}]},{"id":"288c324b-d13f-4429-a1e3-b066be756ef5","directory":"nordlicht","title":"Nordlicht","compatibility":0,"releases":[{"id":"0100A5601375C000","region":null}]},{"id":"288cc6a1-4b59-42ac-aad5-be93aff5e63b","directory":"the-mooseman","title":"The Mooseman","compatibility":99,"releases":[{"id":"010033300AC1A000","region":null}]},{"id":"2892dabe-3058-4213-918c-c0f982901afd","directory":"war-truck-simulator","title":"War Truck Simulator","compatibility":99,"releases":[{"id":"0100B6B013B8A000","region":null}]},{"id":"28a9659a-baf9-4c96-9295-101c4fec1540","directory":"despotism-3k","title":"Despotism 3k","compatibility":1,"releases":[{"id":"010082C011B24000","region":null}]},{"id":"28ac1f5b-ed5a-445b-99f7-6c3a2476b509","directory":"tinker-racers","title":"Tinker Racers","compatibility":0,"releases":[{"id":"0100F93012A36000","region":null}]},{"id":"28ad66bf-0931-4eb6-89d2-a9137254467c","directory":"down-to-hell","title":"Down to Hell","compatibility":99,"releases":[{"id":"0100B6600FE06000","region":null}]},{"id":"28b11ed4-e1de-4456-90f2-8530293fa798","directory":"embers-of-mirrim","title":"Embers of Mirrim","compatibility":1,"releases":[{"id":"0100322004844000","region":null}]},{"id":"28b1ba55-cf86-4670-9c4e-7148e823c381","directory":"kholat","title":"Kholat","compatibility":99,"releases":[{"id":"0100F680116A2000","region":null}]},{"id":"28cbdd1b-89ba-4e9b-bce7-04de52efb8dd","directory":"zarvot","title":"Zarvot","compatibility":99,"releases":[{"id":"0100E7900C4C0000","region":null}]},{"id":"28cdb5a8-e701-4673-aba5-0a94c2baa92b","directory":"sisters-royale-five-sisters-under-fire","title":"Sisters Royale: Five Sisters Under Fire","compatibility":1,"releases":[{"id":"0100B3900F02A000","region":null}]},{"id":"28efe0cb-199b-4132-bfaf-7f1821a2cf6a","directory":"phantom-trigger","title":"Phantom Trigger","compatibility":5,"releases":[{"id":"0100C31005A50000","region":null}]},{"id":"28f5a6ea-fca9-44c5-bb9d-8be6b0cf3c3f","directory":"five-nights-at-freddys-4","title":"Five Nights at Freddy's 4","compatibility":99,"releases":[{"id":"010083800E43E000","region":null}]},{"id":"29141afd-6353-428b-aed4-2472e92e6916","directory":"danger-gazers","title":"Danger Gazers","compatibility":3,"releases":[{"id":"0100B3901324A000","region":null}]},{"id":"291f5d68-e1c8-486b-9557-23ac9132dac2","directory":"aery-dreamscape","title":"Aery - Dreamscape","compatibility":99,"releases":[{"id":"0100C5A016C2E000","region":null}]},{"id":"29597c3b-7f4e-41d6-b048-820d40030793","directory":"orbals","title":"Orbals","compatibility":99,"releases":[{"id":"0100372013286000","region":null}]},{"id":"296085e7-34b2-4acb-ac37-99f7fbba578a","directory":"madoris-r","title":"MADORIS R","compatibility":99,"releases":[{"id":"0100A5A01119A000","region":null}]},{"id":"2961af0c-10be-46c3-8e05-d8b3a2d17fa1","directory":"jewel-fever-2-demo","title":"Jewel Fever 2 Demo","compatibility":99,"releases":[{"id":"010021400C6C4000","region":null}]},{"id":"29680773-1ab1-496e-a06d-1979f725babd","directory":"red-colony","title":"Red Colony","compatibility":99,"releases":[{"id":"0100ED90137C6000","region":null}]},{"id":"2975b278-0b2b-4a8c-816d-92277b3fc69c","directory":"worlds-of-magic-planar-conquest","title":"Worlds of Magic: Planar Conquest","compatibility":99,"releases":[{"id":"010000301025A000","region":null}]},{"id":"2976f228-38a7-4f2b-be5b-580ea1e97457","directory":"orbibot","title":"Orbibot","compatibility":0,"releases":[{"id":"010006A0158A8000","region":null}]},{"id":"297ed1c2-911b-4bb7-9d14-626143431603","directory":"automachef","title":"Automachef","compatibility":99,"releases":[{"id":"0100AA800DA42000","region":null}]},{"id":"298ad295-1c30-4143-bb8f-6d4896df8156","directory":"stilstand","title":"Stilstand","compatibility":99,"releases":[{"id":"0100442015FDA000","region":null}]},{"id":"29936ce7-d786-4207-b138-14b027cd3852","directory":"clash-force","title":"Clash Force","compatibility":99,"releases":[{"id":"01005ED0107F4000","region":null}]},{"id":"299653a2-9224-4fd1-868b-9a4f9d5d8d50","directory":"overwhelm","title":"OVERWHELM","compatibility":3,"releases":[{"id":"01005F000CC18000","region":null}]},{"id":"2999b067-96f9-44b8-a17f-e26c1864976f","directory":"ninjin-clash-of-carrots","title":"Ninjin: Clash of Carrots","compatibility":99,"releases":[{"id":"010003C00B868000","region":null}]},{"id":"29ad44d9-0372-4c19-855c-2594449f845c","directory":"travel-mosaics-3-tokyo-animated","title":"Travel Mosaics 3: Tokyo Animated","compatibility":99,"releases":[{"id":"0100102010BFC000","region":null}]},{"id":"29c16c60-63e7-487c-8139-76343086ff9e","directory":"grim-fandango-remastered","title":"Grim Fandango Remastered","compatibility":2,"releases":[{"id":"0100B7900B024000","region":null}]},{"id":"29e2b51f-693e-41ad-9b2b-ec51be9c7ba5","directory":"dawn-of-survivors","title":"Dawn of Survivors","compatibility":99,"releases":[{"id":"010009500C30C000","region":null}]},{"id":"29ea1d88-907d-4ab0-9fab-45ccbd18d64a","directory":"samurai-defender-ninja-warfare","title":"Samurai Defender: Ninja Warfare","compatibility":99,"releases":[{"id":"01002B400873C000","region":null}]},{"id":"29f82e00-a6bd-4dcf-9b4d-622ebe70a45d","directory":"disjunction","title":"Disjunction","compatibility":4,"releases":[{"id":"01000B70122A2000","region":null}]},{"id":"29fce534-5504-46f1-b18a-c33fca5bdc75","directory":"pic-a-pix-pieces","title":"Pic-a-Pix Pieces","compatibility":4,"releases":[{"id":"010065500C980000","region":null}]},{"id":"29ff7102-60c5-4e4f-82bd-d85d7fa75fd3","directory":"vegas-party","title":"Vegas Party","compatibility":99,"releases":[{"id":"01009CD003A0A000","region":null}]},{"id":"2a067c15-b84c-4520-9128-890b2d806df3","directory":"jewel-rotation","title":"Jewel Rotation","compatibility":99,"releases":[{"id":"010060200F954000","region":null}]},{"id":"2a0fab55-8ab3-47fe-81d6-3164b8b0e3f0","directory":"void-trrlm-void-terrarium","title":"void tRrLM(); //Void Terrarium","compatibility":1,"releases":[{"id":"0100FF7010E7E000","region":null}]},{"id":"2a18bdf0-dcf4-44db-a866-10ba8e3b6040","directory":"fire-tonight","title":"Fire Tonight","compatibility":99,"releases":[{"id":"0100810013704000","region":null}]},{"id":"2a270d9f-292f-4a5f-8062-6c3af5fcaada","directory":"tied-together-demo","title":"Tied Together Demo","compatibility":99,"releases":[{"id":"01001DB00CCA6000","region":null}]},{"id":"2a2c1ef6-cec0-4f68-85cf-029ed06dbe0b","directory":"writhe","title":"WRITHE","compatibility":99,"releases":[{"id":"0100567011972000","region":null}]},{"id":"2a3a13a2-c35c-476f-83dc-c6b6642cfa3b","directory":"fort-triumph","title":"Fort Triumph","compatibility":99,"releases":[{"id":"01008DE013C40000","region":null}]},{"id":"2a53acef-ef91-4f34-a1d7-f4d58a417571","directory":"the-stretchers","title":"The Stretchers","compatibility":1,"releases":[{"id":"0100AA400A238000","region":null}]},{"id":"2a548889-e3de-4df7-a7d2-591fec232c11","directory":"rock-n-racing-bundle-grand-prix-rally","title":"Rock 'N Racing Bundle Grand Prix & Rally","compatibility":2,"releases":[{"id":"01000CC012D74000","region":null}]},{"id":"2a5543d7-ada4-4e38-b787-561da8c6aeda","directory":"tricky-towers","title":"Tricky Towers","compatibility":1,"releases":[{"id":"010015F005C8E000","region":null}]},{"id":"2a55a15e-7c69-4c35-95ac-b9df2c5ae55f","directory":"tadpole-treble-encore","title":"Tadpole Treble Encore","compatibility":99,"releases":[{"id":"01004D400C870000","region":null}]},{"id":"2a689c18-22d5-419d-8ec3-69fb0283cec4","directory":"gunbarich-for-nintendo-switch","title":"GUNBARICH for Nintendo Switch","compatibility":1,"releases":[{"id":"01002B2004F76000","region":null}]},{"id":"2a69aa7f-abf4-43c8-a934-c55d9206527b","directory":"radio-commander","title":"Radio Commander","compatibility":99,"releases":[{"id":"0100BAD013B6E000","region":null}]},{"id":"2a70c104-f7b5-4be7-921e-2151f6744dfa","directory":"nyan-cat-lost-in-space","title":"Nyan Cat: Lost in Space","compatibility":99,"releases":[{"id":"010049F00EC30000","region":null}]},{"id":"2a7904bf-9b0c-47ba-9b95-f0692214849d","directory":"cooking-simulator-pizza","title":"Cooking Simulator - Pizza","compatibility":99,"releases":[{"id":"010033C014666000","region":null}]},{"id":"2a7a9dc8-53c8-4026-8ec2-7888fa8dcb8c","directory":"arcade-archives-typhoon-gal","title":"Arcade Archives TYPHOON GAL","compatibility":99,"releases":[{"id":"01006B80156D2000","region":null}]},{"id":"2a81a464-c86e-4211-b657-7c276083000f","directory":"puzzle-chess","title":"Puzzle & Chess","compatibility":99,"releases":[{"id":"0100287014E96000","region":null}]},{"id":"2a8afe20-6cea-46bd-b049-ff851898ee14","directory":"eat-your-letters","title":"Eat your letters","compatibility":99,"releases":[{"id":"0100BBA014FCC000","region":null}]},{"id":"2a8df75e-c542-4e55-8171-06dc7a291d8e","directory":"super-star-blast","title":"Super Star Blast","compatibility":99,"releases":[{"id":"01000E300E2D6000","region":null}]},{"id":"2a8f7b2c-14c7-4002-b564-f884456bf186","directory":"earthlock-demo","title":"EARTHLOCK Demo","compatibility":99,"releases":[{"id":"010067300AFFA000","region":null}]},{"id":"2a965068-ad2c-47ac-9a2e-0e04579d44b1","directory":"spacecolorsrunner","title":"SpaceColorsRunner","compatibility":99,"releases":[{"id":"0100E6700EF4C000","region":null}]},{"id":"2a9bf3c4-747d-4e5a-a509-9cdc003fc47f","directory":"i-am-ball","title":"I am Ball","compatibility":99,"releases":[{"id":"010070A01134A000","region":null}]},{"id":"2a9fa91f-8493-493c-8ab8-0f7e7a29b054","directory":"plunge","title":"Plunge","compatibility":99,"releases":[{"id":"0100F1800B3EC000","region":null}]},{"id":"2aa2fee2-a108-411d-80b7-c18170dcda1d","directory":"picross-s","title":"PICROSS S","compatibility":0,"releases":[{"id":"0100BA0003EEA000","region":null}]},{"id":"2aba7821-5614-415d-a829-4646d9d33d00","directory":"hix-puzzle-islands","title":"HIX: Puzzle Islands","compatibility":99,"releases":[{"id":"01002F70156FA000","region":null}]},{"id":"2abba450-bb63-4986-baef-5fe33dea43ab","directory":"bloodrayne-2-revamped","title":"BloodRayne 2: ReVamped","compatibility":0,"releases":[{"id":"0100BF50147C2000","region":null}]},{"id":"2ac25c48-6f54-4a56-97e2-ea9d5b3c7afd","directory":"gabbuchi","title":"Gabbuchi","compatibility":1,"releases":[{"id":"0100CCB00CBA8000","region":null}]},{"id":"2ad954cc-a4bd-4db9-9359-1e954a2732f2","directory":"hiragana-pixel-party","title":"Hiragana Pixel Party","compatibility":1,"releases":[{"id":"0100F3D008436000","region":null}]},{"id":"2ae69877-53a8-4e95-a062-1f9236b6d289","directory":"still-there","title":"Still There","compatibility":99,"releases":[{"id":"0100EF600F6C4000","region":null}]},{"id":"2aeacdd4-3bb3-416f-8c7a-3047a71c85e3","directory":"super-putty-squad","title":"Super Putty Squad","compatibility":5,"releases":[{"id":"0100331005E8E000","region":null}]},{"id":"2afb0488-46d2-4891-961e-fdf47764fd0d","directory":"rrootage-reloaded","title":"rRootage Reloaded","compatibility":0,"releases":[{"id":"01005CD015986000","region":null}]},{"id":"2b09f667-06f6-41bb-9222-b42e90d0b6e4","directory":"alpaca-ball-allstars","title":"Alpaca Ball: Allstars","compatibility":99,"releases":[{"id":"0100DE70131F4000","region":null}]},{"id":"2b0cfeed-7ebc-4065-a094-597bedd89eaf","directory":"secrets-of-magic-the-book-of-spells","title":"Secrets of Magic - The Book of Spells","compatibility":99,"releases":[{"id":"01003CB00CFD6000","region":null}]},{"id":"2b16a843-03b2-40f1-9023-87698ec8fb8f","directory":"uoris-dx","title":"UORiS DX","compatibility":99,"releases":[{"id":"0100F6300F94C000","region":null}]},{"id":"2b194c6d-a81d-43ec-8e8f-7634e6cd5faa","directory":"bezier-second-edition","title":"Bezier: Second Edition","compatibility":99,"releases":[{"id":"0100F1400FC9A000","region":null}]},{"id":"2b1dc18c-68cb-491e-964b-85c87c27d99f","directory":"minecraft-story-mode-season-two","title":"Minecraft: Story Mode - Season Two","compatibility":3,"releases":[{"id":"01003EF007ABA000","region":null}]},{"id":"2b24f456-7102-40db-bbe8-3a588c5bf315","directory":"arcade-archives-vs-castlevania","title":"Arcade Archives VS. CASTLEVANIA","compatibility":4,"releases":[{"id":"010029600EAE4000","region":null}]},{"id":"2b304feb-e4b8-43ae-b60e-a628550e6f47","directory":"firefighters-airport-heroes","title":"Firefighters - Airport Heroes","compatibility":99,"releases":[{"id":"010097500FBFA000","region":null}]},{"id":"2b3c1e1b-d779-47b4-b6b9-4f0f2f65bb84","directory":"ritual-crown-of-horns","title":"Ritual: Crown of Horns","compatibility":2,"releases":[{"id":"010042500FABA000","region":null}]},{"id":"2b3c5d30-9150-41c0-8c5f-82d7b60be2d4","directory":"sokobond","title":"Sokobond","compatibility":99,"releases":[{"id":"0100DF8013304000","region":null}]},{"id":"2b492945-407b-4f0e-9e29-8b54c071251e","directory":"raging-justice","title":"Raging Justice","compatibility":99,"releases":[{"id":"01003D00099EC000","region":null}]},{"id":"2b53a767-9d50-455a-833b-4681f188f239","directory":"gnomes-garden-2","title":"Gnomes Garden 2","compatibility":99,"releases":[{"id":"010008D00CCEC000","region":null}]},{"id":"2b5586c3-dd6f-489a-8cc2-2a8d06a19373","directory":"stellar-interface","title":"Stellar Interface","compatibility":99,"releases":[{"id":"01005A700C954000","region":null}]},{"id":"2b585edd-36b3-4055-ad61-b7b4296983d5","directory":"regina-mac","title":"Regina & Mac","compatibility":99,"releases":[{"id":"0100B56011B90000","region":null}]},{"id":"2b594bfb-9c3a-4220-8556-ed064d36fb03","directory":"angels-of-death","title":"Angels of Death","compatibility":1,"releases":[{"id":"0100AE000AEBC000","region":null}]},{"id":"2b64566e-8e40-40cd-8623-ab978b28528c","directory":"no-heroes-here","title":"No Heroes Here","compatibility":3,"releases":[{"id":"01009B400ACBA000","region":null}]},{"id":"2b655829-9398-4602-b04f-34e93f7a013e","directory":"street-outlaws-the-list","title":"Street Outlaws: The List","compatibility":99,"releases":[{"id":"010012400D202000","region":null}]},{"id":"2b80ad41-57f6-457b-974c-09ab898abbb9","directory":"freecell-solitaire-collection","title":"FreeCell Solitaire Collection","compatibility":99,"releases":[{"id":"0100E11014E68000","region":null}]},{"id":"2b815b5b-9998-4d31-9c31-797fd3ab856c","directory":"halloween-pinball","title":"Halloween Pinball","compatibility":99,"releases":[{"id":"0100E0D00C336000","region":null}]},{"id":"2b84296b-948d-4b10-ba6e-218d291f3f95","directory":"unlock-the-king","title":"Unlock The King","compatibility":99,"releases":[{"id":"0100AB2010B4C000","region":null}]},{"id":"2b8a3cd6-cd1d-4533-b41d-38fabe4aa304","directory":"my-universe-doctors-nurses","title":"My Universe - Doctors & Nurses","compatibility":99,"releases":[{"id":"01009CE015FD4000","region":null}]},{"id":"2ba1dd5a-6e24-46b1-818f-1d28bc9fbb62","directory":"darkest-dungeon","title":"Darkest Dungeon","compatibility":5,"releases":[{"id":"01008F1008DA6000","region":null}]},{"id":"2ba56d23-0c7a-4370-b3bb-4107c4c4b6ac","directory":"azurebreak-heroes","title":"Azurebreak Heroes","compatibility":99,"releases":[{"id":"010031D012BA4000","region":null}]},{"id":"2ba8eb51-9db9-446f-b291-338d2673f517","directory":"rekt-high-octane-stunts","title":"REKT! High Octane Stunts","compatibility":99,"releases":[{"id":"0100F1900B144000","region":null}]},{"id":"2ba99096-12b9-4471-9e78-5149d57f4712","directory":"salad-bar-tycoon","title":"Salad Bar Tycoon","compatibility":99,"releases":[{"id":"0100708012ECC000","region":null}]},{"id":"2baec860-a7d8-4013-b34c-5766b8a8d805","directory":"dual-brain-vol3-shapes","title":"Dual Brain Vol.3: Shapes","compatibility":1,"releases":[{"id":"0100C0F01078E000","region":null}]},{"id":"2bcce98f-5c40-4e9a-8a68-0a4329cc4cab","directory":"animal-pals-bubble-pop","title":"Animal Pals Bubble Pop","compatibility":99,"releases":[{"id":"010049501393A000","region":null}]},{"id":"2bd58ca4-cac9-4207-9721-57b9e4111c24","directory":"doom","title":"DOOM","compatibility":3,"releases":[{"id":"0100416004C00000","region":null}]},{"id":"2c049962-d0fa-4377-8a13-bb329d84d14d","directory":"undead-battle-royale","title":"Undead Battle Royale","compatibility":99,"releases":[{"id":"010033E014E3E000","region":null}]},{"id":"2c0fd009-5ee0-47ab-8fe7-fc44b042a837","directory":"cyanide-happiness-freakpocalypse","title":"Cyanide & Happiness - Freakpocalypse","compatibility":99,"releases":[{"id":"0100D0B01135C000","region":null}]},{"id":"2c14599d-7961-48b0-9880-a02e9486eb4a","directory":"creaks","title":"Creaks","compatibility":2,"releases":[{"id":"0100B0E010CF8000","region":null}]},{"id":"2c1d4f44-c17b-4ad8-8130-3e2a5e027bf3","directory":"gris","title":"GRIS","compatibility":0,"releases":[{"id":"0100E1700C31C000","region":null}]},{"id":"2c28f1f2-68a2-45a5-997b-68b6d7b5430e","directory":"mimpi-dreams","title":"Mimpi Dreams","compatibility":4,"releases":[{"id":"0100C41009E1A000","region":null}]},{"id":"2c57de46-5599-4899-852f-52bae94060d0","directory":"endocrisis","title":"Endocrisis","compatibility":99,"releases":[{"id":"0100A340154E6000","region":null}]},{"id":"2c668835-a72d-4cb0-9acb-a830ca3faf9e","directory":"asterix-and-obelix-xxl-2","title":"Asterix & Obelix XXL 2","compatibility":4,"releases":[{"id":"010050400BD38000","region":null}]},{"id":"2c6e66e5-eac6-4651-b00d-03105b70fdfd","directory":"blood-will-be-spilled","title":"Blood will be Spilled","compatibility":99,"releases":[{"id":"0100E060102AA000","region":null}]},{"id":"2c6fe20e-aa4e-4743-a4cf-cf9b38f0e285","directory":"more-dark","title":"More Dark","compatibility":99,"releases":[{"id":"01004230123E0000","region":null}]},{"id":"2c8d0849-4211-4cd3-b6e5-8fd5cb0ce2f2","directory":"laid-back-camp-virtual-fumoto-campsite","title":"Laid-Back Camp - Virtual - Fumoto Campsite","compatibility":0,"releases":[{"id":"0100030012E82000","region":null}]},{"id":"2c97f94b-9c6f-47b6-b3c2-3371f143f341","directory":"lost-lands-3-the-golden-curse","title":"Lost Lands 3: The Golden Curse","compatibility":99,"releases":[{"id":"0100156014C6A000","region":null}]},{"id":"2cb127eb-e996-43c0-af31-5153c3638b5a","directory":"hindsight-20-20-wrath-of-the-raakshasa","title":"Hindsight 20/20 - Wrath of the Raakshasa","compatibility":99,"releases":[{"id":"01005E3008452000","region":null}]},{"id":"2cbe4c69-0ba9-4a3a-ab9e-3d5e553a12a5","directory":"arcade-archives-wild-western","title":"Arcade Archives WILD WESTERN","compatibility":4,"releases":[{"id":"01001B000D8B6000","region":null}]},{"id":"2cc6c616-b346-4b1e-9c96-583a876c0643","directory":"the-sushi-spinnery","title":"The Sushi Spinnery","compatibility":99,"releases":[{"id":"010044200D2C4000","region":null}]},{"id":"2ccb3da9-5ac0-4a84-951e-63f52b208445","directory":"shift-happens-demo","title":"Shift Happens Demo","compatibility":99,"releases":[{"id":"010029E00B0D8000","region":null}]},{"id":"2cd09981-8d61-4193-97a4-b2c239bf4e05","directory":"nightmare-boy","title":"Nightmare Boy","compatibility":99,"releases":[{"id":"01005F4009112000","region":null}]},{"id":"2cdae8da-96a7-4233-932c-91c663d17d20","directory":"arcade-archives-shingen-samurai-fighter","title":"Arcade Archives SHINGEN SAMURAI-FIGHTER","compatibility":99,"releases":[{"id":"0100A9F014DB6000","region":null}]},{"id":"2cf744f1-784c-4cb1-9e9d-85ae51cd0d81","directory":"treadnauts","title":"Treadnauts","compatibility":99,"releases":[{"id":"01006EB004B0E000","region":null}]},{"id":"2d03e4ab-09db-4f60-82fd-e5026a02857b","directory":"robbie-swifthand-and-the-orb-of-mysteries","title":"Robbie Swifthand and the Orb of Mysteries","compatibility":2,"releases":[{"id":"010026500DAA8000","region":null}]},{"id":"2d20206e-85fa-436a-b7d0-83f1af57f3d6","directory":"monochrome-order","title":"Monochrome Order","compatibility":1,"releases":[{"id":"010075200F1CA000","region":null}]},{"id":"2d205f94-139d-4f51-ae83-2bcc89e20a82","directory":"paw-patrol-mighty-pups-save-adventure-bay","title":"PAW Patrol Mighty Pups Save Adventure Bay","compatibility":1,"releases":[{"id":"01001F201121E000","region":null}]},{"id":"2d2288a3-c9b7-4b6c-bf83-4074725ba702","directory":"aca-neogeo-real-bout-fatal-fury","title":"ACA NEOGEO REAL BOUT FATAL FURY","compatibility":2,"releases":[{"id":"010030F008730000","region":null}]},{"id":"2d311550-703e-4d03-bad2-cec598b5dbac","directory":"head-over-heels","title":"Head over Heels","compatibility":99,"releases":[{"id":"010048A0151CA000","region":null}]},{"id":"2d342f9b-dff4-42ab-8d05-394afe906c1f","directory":"vaporum","title":"Vaporum","compatibility":99,"releases":[{"id":"010030F00CA1E000","region":null}]},{"id":"2d356936-b25b-4d64-b271-b02a97276f2d","directory":"arcade-archives-circus-charlie","title":"Arcade Archives CIRCUS CHARLIE","compatibility":99,"releases":[{"id":"0100557012752000","region":null}]},{"id":"2d3a928c-b90c-437e-a181-fdedb3d3816d","directory":"the-almost-gone","title":"The Almost Gone","compatibility":1,"releases":[{"id":"010079A0112BE000","region":null}]},{"id":"2d4c03c3-d5db-4668-8268-4f1f417a9696","directory":"jdm-racing","title":"JDM Racing","compatibility":99,"releases":[{"id":"010002D00EDD0000","region":null}]},{"id":"2d5da000-8676-428d-88b5-ce3ff7c13fb5","directory":"professor-lupo-and-his-horrible-pets","title":"Professor Lupo and his Horrible Pets","compatibility":0,"releases":[{"id":"010018300C83A000","region":null}]},{"id":"2d5e8023-e179-48b4-b7c6-c99c5bab208b","directory":"remothered-broken-porcelain","title":"Remothered: Broken Porcelain","compatibility":3,"releases":[{"id":"0100FBD00F5F6000","region":null}]},{"id":"2d60e067-dc8a-48c3-a4f5-ba9825f67e95","directory":"please-the-gods","title":"Please The Gods","compatibility":99,"releases":[{"id":"0100E5500FE0A000","region":null}]},{"id":"2d62c5d1-e638-4fa4-9c25-08f64ea68219","directory":"the-church-in-the-darkness","title":"The Church in the Darkness","compatibility":99,"releases":[{"id":"010000B00D800000","region":null}]},{"id":"2d6fa37f-5e74-466e-ac68-219045ce79f9","directory":"just-glide","title":"Just Glide","compatibility":99,"releases":[{"id":"01002C301033E000","region":null}]},{"id":"2d7755c9-a089-4008-86a9-97208358d316","directory":"alchemists-castle","title":"Alchemist's Castle","compatibility":0,"releases":[{"id":"010001E00F75A000","region":null}]},{"id":"2d793e23-4f89-4ad1-b4b1-ec9b70938dca","directory":"realmyst-masterpiece-edition","title":"realMyst: Masterpiece Edition","compatibility":2,"releases":[{"id":"0100E64010BAA000","region":null}]},{"id":"2d7fb843-820d-4260-bd8c-ee1b9f37e854","directory":"bonfire-peaks","title":"Bonfire Peaks","compatibility":99,"releases":[{"id":"010057C01330A000","region":null}]},{"id":"2d8543f6-e27a-410a-85b0-16a0c89f7b32","directory":"aragami-shadow-edition","title":"Aragami: Shadow Edition","compatibility":99,"releases":[{"id":"010071800BA74000","region":null}]},{"id":"2d85d9be-78a5-4c4e-93aa-f94a2b6e8223","directory":"bloxiq","title":"bloxiq","compatibility":99,"releases":[{"id":"01002F300AC18000","region":null}]},{"id":"2d9675d1-1e34-4d4c-a458-aadbdb0935ea","directory":"bioshock-2-remastered","title":"BioShock 2 Remastered","compatibility":4,"releases":[{"id":"01002620102C6000","region":null}]},{"id":"2d9c1475-54aa-4b77-8759-22fd2e94eeb5","directory":"dark-arcana-the-carnival","title":"Dark Arcana: The Carnival","compatibility":99,"releases":[{"id":"01003D301357A000","region":null}]},{"id":"2da01d0f-bacd-4113-ba74-3c27727acb7e","directory":"aca-neogeo-samurai-shodown-iii","title":"ACA NEOGEO SAMURAI SHODOWN III","compatibility":99,"releases":[{"id":"0100804008794000","region":null}]},{"id":"2da41c46-2ca3-4f4d-a2c2-2917f12361e7","directory":"doubles-hard","title":"Doubles Hard","compatibility":99,"releases":[{"id":"0100024011858000","region":null}]},{"id":"2db69998-2c95-447f-bc0f-3c0ff616e902","directory":"caveman-chuck-prehistoric-adventure","title":"Caveman Chuck: Prehistoric Adventure","compatibility":99,"releases":[{"id":"010080C00AC3C000","region":null}]},{"id":"2dc32575-1ca5-4c8f-8cc5-74f8b4503429","directory":"save-koch","title":"Save Koch","compatibility":99,"releases":[{"id":"0100C8300FA90000","region":null}]},{"id":"2dd151e2-3031-48d8-8ae0-e72df746cfec","directory":"sunless-sea-zubmariner-edition","title":"Sunless Sea: Zubmariner Edition","compatibility":3,"releases":[{"id":"01005A700ECF8000","region":null}]},{"id":"2de4b2ff-9ecf-4501-b28b-d3d1c0b2b894","directory":"onigiri","title":"Onigiri","compatibility":99,"releases":[{"id":"0100BC200B99E000","region":null}]},{"id":"2de9ca7d-afe0-41aa-8159-6a26d9fa31f5","directory":"dark-thrones","title":"Dark Thrones","compatibility":1,"releases":[{"id":"01002D5014EB4000","region":null}]},{"id":"2deab351-bd80-4ef6-9c81-90fcc3e32400","directory":"light-tracer","title":"Light Tracer","compatibility":0,"releases":[{"id":"010087700D07C000","region":null}]},{"id":"2df885ac-a961-400c-bc99-23e09a5e0d23","directory":"truck-simulator","title":"Truck Simulator","compatibility":99,"releases":[{"id":"010066D013354000","region":null}]},{"id":"2e00eee8-1a21-4d26-8deb-a397073d902e","directory":"toree-2","title":"Toree 2","compatibility":99,"releases":[{"id":"0100C7301658C000","region":null}]},{"id":"2e0577a9-ab69-4364-b462-bf80afc9791d","directory":"aca-neogeo-world-heroes-2","title":"ACA NEOGEO WORLD HEROES 2","compatibility":99,"releases":[{"id":"01001BD00915A000","region":null}]},{"id":"2e224d9c-899f-40a3-8a1a-3f53d3e5ed3e","directory":"asdivine-menace","title":"Asdivine Menace","compatibility":1,"releases":[{"id":"0100FE000EC24000","region":null}]},{"id":"2e2610c1-fb3c-4e99-98f0-6de79bb8855e","directory":"transistor","title":"Transistor","compatibility":3,"releases":[{"id":"0100BE500BEA2000","region":null}]},{"id":"2e34b406-84cf-42b7-9265-01783497231a","directory":"red-rope-dont-fall-behind","title":"Red Rope: Don't Fall Behind +","compatibility":99,"releases":[{"id":"01002800110CA000","region":null}]},{"id":"2e42827f-837a-4944-914d-5a168cae0f9d","directory":"swap-this","title":"Swap This!","compatibility":1,"releases":[{"id":"010005500ADDC000","region":null}]},{"id":"2e42fd87-ae31-4832-a9d7-905a234ce9ae","directory":"duel-princess","title":"Duel Princess","compatibility":0,"releases":[{"id":"0100EDD016562000","region":null}]},{"id":"2e64dc24-624d-4622-b35b-8a658606a23b","directory":"dininho-space-adventure","title":"Dininho Space Adventure","compatibility":99,"releases":[{"id":"010027E0158A6000","region":null}]},{"id":"2e6ff344-f455-4fa7-96cf-11d5d9eaadcd","directory":"samurai-shodown-2","title":"SAMURAI SHODOWN!2","compatibility":0,"releases":[{"id":"010095300F778000","region":null}]},{"id":"2e751254-d567-4c85-92f1-250e102e54e9","directory":"mentori-puzzle","title":"Mentori Puzzle","compatibility":99,"releases":[{"id":"010080B00AF0E000","region":null}]},{"id":"2e891f14-70fa-48de-a1f1-1ed0c2ef5244","directory":"black-book","title":"Black Book","compatibility":99,"releases":[{"id":"0100DD1014AB8000","region":null}]},{"id":"2e9c54c3-5dcf-470b-a5c8-1adf17213268","directory":"smelter","title":"Smelter","compatibility":2,"releases":[{"id":"0100B45010E9C000","region":null}]},{"id":"2eadb046-8cc2-4837-a561-40049f22f6d7","directory":"arcade-archives-golf","title":"Arcade Archives GOLF","compatibility":99,"releases":[{"id":"01005BA00E6BE000","region":null}]},{"id":"2eb0cdad-043b-46d4-bece-9f78f2007ecc","directory":"maitetsupure-station","title":"Maitetsu:Pure Station","compatibility":99,"releases":[{"id":"0100D9900F220000","region":null}]},{"id":"2eb58c74-78a7-4f83-bbbe-3b32d1fb830a","directory":"dont-forget-me","title":"Don't Forget Me","compatibility":99,"releases":[{"id":"01006DF015F00000","region":null}]},{"id":"2ec5de8f-8d9c-4ea0-bba6-0a315dc69e9c","directory":"behold-the-kickmen","title":"Behold the Kickmen","compatibility":99,"releases":[{"id":"0100558010B26000","region":null}]},{"id":"2ecbbf44-dfc8-4347-825c-303d18dad4fc","directory":"slam-land","title":"Slam Land","compatibility":99,"releases":[{"id":"01004E400A48C000","region":null}]},{"id":"2ed15f64-0abd-4758-9b0a-912eb43cf853","directory":"jigsaw-fun-piece-it-together","title":"Jigsaw Fun: Piece It Together!","compatibility":99,"releases":[{"id":"01008F1012DF4000","region":null}]},{"id":"2ed69050-8b03-480c-b6e1-1c6af4599711","directory":"cytus-a","title":"Cytus α","compatibility":1,"releases":[{"id":"010063100B2C2000","region":null}]},{"id":"2f06f14e-df13-4397-940a-7098ce561dc4","directory":"we-the-revolution","title":"We. The Revolution","compatibility":99,"releases":[{"id":"010045C00E27C000","region":null}]},{"id":"2f092c64-0cfa-4d0e-82fd-49b38a2fac34","directory":"7-billion-humans","title":"7 Billion Humans","compatibility":1,"releases":[{"id":"0100DA900B67A000","region":null}]},{"id":"2f133c3a-697d-4ed2-9a62-6c8ccadc137e","directory":"valkyria-chronicles-4","title":"Valkyria Chronicles 4","compatibility":4,"releases":[{"id":"01005C600AC68000","region":null}]},{"id":"2f1d5455-2701-437b-9276-8f1213c3710d","directory":"baobabs-mausoleum-ep2-1313-barnabas-dead-end-drive","title":"Baobabs Mausoleum Ep.2: 1313 Barnabas Dead End Drive","compatibility":99,"releases":[{"id":"010079300E976000","region":null}]},{"id":"2f207759-4a12-447b-a7bd-aab223f3734b","directory":"speed-brawl","title":"Speed Brawl","compatibility":5,"releases":[{"id":"010040F00AA9A000","region":null}]},{"id":"2f39f7c1-9d07-42f0-8ef1-81c54fdff93d","directory":"yokus-island-express","title":"Yoku's Island Express","compatibility":4,"releases":[{"id":"010002D00632E000","region":null}]},{"id":"2f3f7b28-40dc-4245-9970-54cf35d467f5","directory":"the-jackbox-party-pack","title":"The Jackbox Party Pack","compatibility":99,"releases":[{"id":"0100AE5003EE6000","region":null}]},{"id":"2f47c60c-43e4-437a-9b49-7505724106bb","directory":"defenders-of-ekron-definitive-edition","title":"Defenders of Ekron: Definitive Edition","compatibility":99,"releases":[{"id":"01008BB00F824000","region":null}]},{"id":"2f559e7e-837f-4252-9571-99aa36675ce8","directory":"tux-and-fanny","title":"Tux and Fanny","compatibility":99,"releases":[{"id":"0100E3301426E000","region":null}]},{"id":"2f6128d9-502f-47d4-bf5a-638d7478c592","directory":"atelier-firis-the-alchemist-and-the-mysterious-journey-dx","title":"Atelier Firis: The Alchemist and the Mysterious Journey DX","compatibility":99,"releases":[{"id":"010023201421E000","region":null}]},{"id":"2f70a015-ed03-4d4c-9f9f-8f9e4735db10","directory":"lofi-ping-pong","title":"Lofi Ping Pong","compatibility":99,"releases":[{"id":"0100D2C013288000","region":null}]},{"id":"2f73dcf4-f022-4f5e-8bd3-1ff2594aefa0","directory":"akibas-trip-hellbound-debriefed","title":"AKIBA'S TRIP: Hellbound & Debriefed","compatibility":99,"releases":[{"id":"01009E8012976000","region":null}]},{"id":"2f8787a9-3732-41d1-ab2c-9a9013ea3b02","directory":"kotodama-the-7-mysteries-of-fujisawa","title":"Kotodama: The 7 Mysteries of Fujisawa","compatibility":0,"releases":[{"id":"010046600CCA4000","region":null}]},{"id":"2fa16b43-f78d-4077-b3f6-19162d7dc700","directory":"armello","title":"Armello","compatibility":1,"releases":[{"id":"010070A00A5F4000","region":null}]},{"id":"2fa346a7-ec9c-4c3b-8556-d9ff54ce08d2","directory":"mowin-and-throwin","title":"Mowin' & Throwin'","compatibility":99,"releases":[{"id":"01001C500D850000","region":null}]},{"id":"2fadd10c-399a-4d73-b0c8-49b21ef8b601","directory":"baldurs-gate-dark-alliance","title":"Baldur's Gate: Dark Alliance","compatibility":0,"releases":[{"id":"0100FD1014726000","region":null}]},{"id":"2faec41b-9a72-4a15-b58b-bcce4665abec","directory":"freddy-spaghetti-2","title":"Freddy Spaghetti 2","compatibility":99,"releases":[{"id":"0100329015900000","region":null}]},{"id":"2fb77223-9b73-4427-a2e9-487d987b692c","directory":"mexican-train-dominoes-gold","title":"Mexican Train Dominoes Gold","compatibility":99,"releases":[{"id":"01007320134EE000","region":null}]},{"id":"2fc91efa-0b6c-40ac-9ed0-2da2af13a05c","directory":"inked-a-tale-of-love","title":"Inked: A Tale of Love","compatibility":99,"releases":[{"id":"01008B801471C000","region":null}]},{"id":"2fe91d42-a9b4-4586-ab3a-628b6117d34f","directory":"everyday-todays-menu-for-emiya-family","title":"Everyday♪ Today's MENU for EMIYA Family","compatibility":1,"releases":[{"id":"010031B012254000","region":null}]},{"id":"2ff80137-7601-4fd4-b7fb-3f17591c5dfb","directory":"oddworld-munchs-oddysee","title":"Oddworld: Munch's Oddysee","compatibility":4,"releases":[{"id":"0100BB500EE3C000","region":null}]},{"id":"300ae4ff-2934-4866-92b3-84627024870f","directory":"grisaia-phantom-trigger-03","title":"GRISAIA PHANTOM TRIGGER 03","compatibility":3,"releases":[{"id":"01005250123B8000","region":null}]},{"id":"301ee9be-e52e-400b-aeec-bab95afb8232","directory":"project-starship-x","title":"Project Starship X","compatibility":1,"releases":[{"id":"0100EC5012BDE000","region":null}]},{"id":"30240933-1ef4-42a3-8275-278f5bab0eb4","directory":"my-hero-ones-justice-2","title":"MY HERO ONE'S JUSTICE 2","compatibility":2,"releases":[{"id":"01007E700DBF6000","region":null}]},{"id":"3024941e-4396-4584-90d7-e6a31870df10","directory":"olliolli-switch-stance","title":"OlliOlli: Switch Stance","compatibility":99,"releases":[{"id":"0100E0200B980000","region":null}]},{"id":"30260332-0135-4c51-a352-a1f2d395f392","directory":"embers-of-mirrim-demo","title":"Embers of Mirrim Demo","compatibility":99,"releases":[{"id":"01008AF0080B8000","region":null}]},{"id":"30303741-f964-4b81-84d1-d469dc105d25","directory":"max-the-curse-of-brotherhood-demo","title":"Max: The Curse of Brotherhood (Demo)","compatibility":99,"releases":[{"id":"0100A9A0088FE000","region":null}]},{"id":"30333a11-79fe-488d-844c-aaeea0167be6","directory":"arcade-archives-vs-wrecking-crew","title":"Arcade Archives VS. WRECKING CREW","compatibility":99,"releases":[{"id":"0100B490113C8000","region":null}]},{"id":"303d2984-6283-40c6-8d2c-049cdbc15336","directory":"delta-squad","title":"Delta Squad","compatibility":99,"releases":[{"id":"0100C5E00E4E0000","region":null}]},{"id":"3048c0d6-825e-4651-ab7b-3edc09a620ab","directory":"aviary-attorney-definitive-edition","title":"Aviary Attorney: Definitive Edition","compatibility":1,"releases":[{"id":"0100B280106A0000","region":null}]},{"id":"30530b59-047c-4c25-aa10-b15077432445","directory":"the-witcher-3-wild-hunt-complete-edition","title":"The Witcher 3: Wild Hunt — Complete Edition","compatibility":5,"releases":[{"id":"0100BFE00E9CA000","region":null}]},{"id":"3059c05a-cc3f-40ef-847c-4db825ee73f7","directory":"i-zombie","title":"I, Zombie","compatibility":99,"releases":[{"id":"0100429006A06000","region":null}]},{"id":"3071ae4e-8265-404e-aaef-9daff482afa5","directory":"the-men-of-yoshiwara-kikuya","title":"The Men of Yoshiwara: Kikuya","compatibility":99,"releases":[{"id":"0100E95006B30000","region":null}]},{"id":"30a37296-1e38-4038-8cb4-04ad8feae446","directory":"pooplers","title":"Pooplers","compatibility":99,"releases":[{"id":"01005C5011086000","region":null}]},{"id":"30a6d8eb-9b56-4f5a-b758-9c19195d01dd","directory":"escape-from-life-inc","title":"Escape from Life Inc","compatibility":99,"releases":[{"id":"010023E013244000","region":null}]},{"id":"30aac3b7-a998-4a88-b264-a0f0d43437bc","directory":"mutazione","title":"Mutazione","compatibility":99,"releases":[{"id":"0100D750132D8000","region":null}]},{"id":"30b4484f-d9a1-4326-a2e1-ff26d7875911","directory":"taxi-sim-2020","title":"Taxi Sim 2020","compatibility":99,"releases":[{"id":"0100CD4011A18000","region":null}]},{"id":"30b6c15a-cb3e-48ea-8e63-88e31ea8085c","directory":"farm-together","title":"Farm Together","compatibility":99,"releases":[{"id":"010086B00BB50000","region":null}]},{"id":"30beec3d-8258-4c01-8492-4cbed8af655a","directory":"ultracore","title":"Ultracore","compatibility":1,"releases":[{"id":"0100E5C00DC46000","region":null}]},{"id":"30d5b111-ef51-40df-a9bd-ae93e0179f4e","directory":"kuso","title":"kuso","compatibility":99,"releases":[{"id":"01007C000C314000","region":null}]},{"id":"30e6c464-488f-493c-a5c3-8bb38f265008","directory":"astebreed","title":"Astebreed","compatibility":99,"releases":[{"id":"010057A00C1F6000","region":null}]},{"id":"30ecfd04-c26a-4d7d-a4df-465a0d8d618b","directory":"eqi","title":"EQI","compatibility":99,"releases":[{"id":"01000FA0149B6000","region":null}]},{"id":"310377b8-239e-4166-b18b-f1edd0fd4479","directory":"afl-evolution-2","title":"AFL Evolution 2","compatibility":99,"releases":[{"id":"01001B400D334000","region":null}]},{"id":"311a9a38-e0d1-42a1-b905-d63469d03b61","directory":"jay-and-silent-bob-mall-brawl","title":"Jay and Silent Bob: Mall Brawl","compatibility":1,"releases":[{"id":"0100CD1010740000","region":null}]},{"id":"311e098c-6b32-47a7-be6e-459af132139b","directory":"wayout","title":"Wayout","compatibility":99,"releases":[{"id":"01008E300E400000","region":null}]},{"id":"31334fe8-aa20-47e1-b1ca-6349bcfe3ace","directory":"titan-chaser","title":"Titan Chaser","compatibility":1,"releases":[{"id":"0100B4601500E000","region":null}]},{"id":"31392f21-3cc3-423f-ac55-6195ae03bfa8","directory":"smash-club-streets-of-shmeenis","title":"Smash Club: Streets of Shmeenis","compatibility":99,"releases":[{"id":"0100D6F013856000","region":null}]},{"id":"3143cc2e-4152-465b-8cd0-3fff8dec24bf","directory":"cake-laboratory","title":"Cake Laboratory","compatibility":99,"releases":[{"id":"0100B8E00CBB0000","region":null}]},{"id":"314b1501-5b88-4279-a25c-863b7c0f3fdf","directory":"teddy-the-wanderer-mountain-hike","title":"Teddy The Wanderer: Mountain Hike","compatibility":99,"releases":[{"id":"010078300DA14000","region":null}]},{"id":"314b3628-16d9-413c-a43c-9a79135ac09e","directory":"arcade-archives-twinbee","title":"Arcade Archives TwinBee","compatibility":99,"releases":[{"id":"010050200FFD2000","region":null}]},{"id":"314b39c3-97bc-4a4e-96ea-36645b9b2ac4","directory":"skate-city","title":"Skate City","compatibility":0,"releases":[{"id":"0100134011E32000","region":null}]},{"id":"3151ec43-5278-436b-9258-eb6c84f83777","directory":"call-of-cthulhu","title":"Call of Cthulhu","compatibility":0,"releases":[{"id":"010046000EE40000","region":null}]},{"id":"316155f2-34f9-4455-8c8e-b6d96a10227d","directory":"defend-the-kingdom","title":"Defend the Kingdom","compatibility":99,"releases":[{"id":"0100BBE015384000","region":null}]},{"id":"31856a5e-9846-4b09-9ee4-f1f4fe323289","directory":"waifu-uncovered","title":"Waifu Uncovered","compatibility":2,"releases":[{"id":"0100B130119D0000","region":null}]},{"id":"3186e43b-70bc-422d-9e2c-e411b5898947","directory":"bit-dungeon-plus","title":"Bit Dungeon Plus","compatibility":99,"releases":[{"id":"0100C6E0047C8000","region":null}]},{"id":"318c3d82-af21-4762-8288-9567c6b6e02e","directory":"no-time-to-relax","title":"No Time to Relax","compatibility":99,"releases":[{"id":"0100DE600FDFE000","region":null}]},{"id":"31a5f266-e8ad-46c1-a2cf-af773b958ddb","directory":"gaps-by-powgi","title":"Gaps by POWGI","compatibility":99,"releases":[{"id":"0100C4E015078000","region":null}]},{"id":"31a80cb7-b6f3-4411-b739-a60efb056f50","directory":"indivisible","title":"Indivisible","compatibility":2,"releases":[{"id":"01001D3003FDE000","region":null}]},{"id":"31acc5fa-f768-4a04-9cc2-06b1aafa7c4e","directory":"picross-s6","title":"PICROSS S6","compatibility":0,"releases":[{"id":"010025901432A000","region":null}]},{"id":"31bba738-76f5-4685-98b6-5c0815670f9e","directory":"sticky-monsters","title":"Sticky Monsters","compatibility":99,"releases":[{"id":"0100AA4014136000","region":null}]},{"id":"31c03d2d-e36f-44c4-b33e-e1f2c33bb073","directory":"one-step-from-eden","title":"One Step From Eden","compatibility":2,"releases":[{"id":"010048800F41C000","region":null}]},{"id":"31d60154-2d11-4394-b89c-db32415a64e6","directory":"what-the-zombies","title":"What The Zombies?!","compatibility":99,"releases":[{"id":"0100341016214000","region":null}]},{"id":"31dfbaf1-3ff6-40f4-b98b-2ba1d2e92675","directory":"monster-hunter-generations-ultimate-demo","title":"MONSTER HUNTER GENERATIONS ULTIMATEâ„¢ Demo","compatibility":99,"releases":[{"id":"0100E6400B1EA000","region":null}]},{"id":"31e178d1-349b-4cb4-bf33-600bc93898eb","directory":"blindy","title":"Blindy","compatibility":99,"releases":[{"id":"01007BF00FCB0000","region":null}]},{"id":"31f158e0-c83b-4527-a7d8-11726a020bb4","directory":"katamari-damacy-reroll","title":"Katamari Damacy REROLL","compatibility":1,"releases":[{"id":"0100D7000C2C6000","region":null}]},{"id":"31fbcf1c-7110-47dd-8007-37632ee8a4e1","directory":"rogue-singularity","title":"Rogue Singularity","compatibility":99,"releases":[{"id":"010068400ABB6000","region":null}]},{"id":"31fec938-4702-4ad0-bcb7-b3f036ba56c7","directory":"super-daryl-deluxe","title":"Super Daryl Deluxe","compatibility":99,"releases":[{"id":"010078800869A000","region":null}]},{"id":"32035180-d8ef-4b2f-bec7-397d4d30f67b","directory":"jumanji-the-video-game","title":"JUMANJI: The Video Game","compatibility":3,"releases":[{"id":"0100B4D00C76E000","region":null}]},{"id":"321560be-10e6-409e-bb29-41ba851f5d69","directory":"aca-neogeo-ninja-commando","title":"ACA NEOGEO NINJA COMMANDO","compatibility":5,"releases":[{"id":"01007E800AFB6000","region":null}]},{"id":"32169608-10b0-4cd3-aca2-9f8135c95697","directory":"the-secret-order-shadow-breach","title":"The Secret Order: Shadow Breach","compatibility":99,"releases":[{"id":"010044F0114B8000","region":null}]},{"id":"321d5852-f688-4623-8981-847f6f274f0b","directory":"phogs","title":"PHOGS!","compatibility":99,"releases":[{"id":"0100DA400F624000","region":null}]},{"id":"322680d9-3c18-40b9-84ff-0b01dc67a5c7","directory":"jiffy","title":"Jiffy","compatibility":5,"releases":[{"id":"01008330134DA000","region":null}]},{"id":"322f2db0-4582-441a-b2ad-fa0878142b9b","directory":"dungeon-stars","title":"Dungeon Stars","compatibility":99,"releases":[{"id":"0100E79009A94000","region":null}]},{"id":"32341f83-0c02-40ec-8e14-6c15c2d09858","directory":"snk-vs-capcom-the-match-of-the-millennium","title":"SNK VS. CAPCOM: THE MATCH OF THE MILLENNIUM","compatibility":99,"releases":[{"id":"010027D0137E0000","region":null}]},{"id":"323cf813-833e-4ee5-89e4-f8e001080e70","directory":"sinucaattack","title":"#SinucaAttack","compatibility":99,"releases":[{"id":"0100E0001338C000","region":null}]},{"id":"3242b203-1fd2-4dad-a588-250ffb7347b9","directory":"lotus-reverie-first-nexus","title":"Lotus Reverie: First Nexus","compatibility":99,"releases":[{"id":"010049901561C000","region":null}]},{"id":"324cc92a-e452-4be6-8ab4-b46e8d91994e","directory":"reknum","title":"Reknum","compatibility":99,"releases":[{"id":"0100A1D00FE54000","region":null}]},{"id":"32537e9e-b5f1-47af-b507-8507caff8797","directory":"ruinverse","title":"Ruinverse","compatibility":99,"releases":[{"id":"0100361013ACC000","region":null}]},{"id":"3260f32e-f8ba-4475-bbb2-959162101e8e","directory":"empire-of-angels-iv","title":"Empire of Angels IV","compatibility":99,"releases":[{"id":"0100D1A01460A000","region":null}]},{"id":"3262f262-2f1f-4f4a-b16f-6d09000f00c7","directory":"sentry","title":"SENTRY","compatibility":99,"releases":[{"id":"0100A5D012DAC000","region":null}]},{"id":"326d9bf1-9fa3-4ea0-9544-ca0e776be161","directory":"vigil-the-longest-night","title":"Vigil: The Longest Night","compatibility":1,"releases":[{"id":"01002D100EF3A000","region":null}]},{"id":"327318d6-16c6-414d-ac3f-23557cbd0f6e","directory":"edgar-bokbok-in-boulzac","title":"Edgar - Bokbok in Boulzac","compatibility":0,"releases":[{"id":"01009E700F726000","region":null}]},{"id":"32890cf5-529a-42b6-ac61-2cf266971205","directory":"splitter-critters","title":"Splitter Critters","compatibility":99,"releases":[{"id":"0100C320083BE000","region":null}]},{"id":"328bae36-f019-4c1d-8465-026e2b09e2f2","directory":"henchman-story","title":"Henchman Story","compatibility":99,"releases":[{"id":"01003580162D8000","region":null}]},{"id":"328ee7ac-23b4-48e4-b868-a1cd95e1eb01","directory":"the-stillness-of-the-wind","title":"The Stillness of the Wind","compatibility":4,"releases":[{"id":"01009AB00BDFE000","region":null}]},{"id":"3296573f-6b47-415c-9a5c-c502c25965f1","directory":"final-fantasy-vii","title":"FINAL FANTASY VII","compatibility":4,"releases":[{"id":"0100A5B00BDC6000","region":null}]},{"id":"329e7a3b-3475-4fb8-94e2-46d487b67d53","directory":"overdriven-reloaded-special-edition","title":"Overdriven Reloaded: Special Edition","compatibility":99,"releases":[{"id":"010051A00ACAC000","region":null}]},{"id":"32a34d48-601b-4f0c-9886-e7ed7f2b5a9e","directory":"the-swindle","title":"The Swindle","compatibility":99,"releases":[{"id":"010040D00B7CE000","region":null}]},{"id":"32a7cba5-ec93-4aa2-b517-d9427ef0ffd8","directory":"jump-force-deluxe-edition","title":"JUMP FORCE - Deluxe Edition","compatibility":3,"releases":[{"id":"0100183010F12000","region":null}]},{"id":"32b149bf-fb15-40cc-a338-69157b190a14","directory":"monkey-wall","title":"Monkey Wall","compatibility":99,"releases":[{"id":"0100F9700C73E000","region":null}]},{"id":"32b9d88e-b5cf-440a-9236-73c7ef20fffd","directory":"shin-megami-tensei-v","title":"Shin Megami Tensei V","compatibility":2,"releases":[{"id":"010063B012DC6000","region":null}]},{"id":"32c2182b-2c12-4838-b178-81d79e9122c4","directory":"jigsaw-tetra","title":"Jigsaw Tetra","compatibility":99,"releases":[{"id":"010068401471A000","region":null}]},{"id":"32c995b4-5f1f-4208-906f-672078eea5b5","directory":"koloro","title":"Koloro","compatibility":99,"releases":[{"id":"01005D200C9AA000","region":null}]},{"id":"32cba5f7-399c-4223-824b-432e21362efc","directory":"relicta","title":"Relicta","compatibility":99,"releases":[{"id":"01002AD013C52000","region":null}]},{"id":"32ce4fd0-7a6c-43db-b1ac-6d8f7bce6686","directory":"bone-marrow","title":"Bone Marrow","compatibility":1,"releases":[{"id":"01009E8015704000","region":null}]},{"id":"32d5112a-6ac7-4466-97fa-4e9a58d64931","directory":"earthnight","title":"EarthNight","compatibility":1,"releases":[{"id":"0100A2E00BB0C000","region":null}]},{"id":"32d77d62-00bc-41f8-b504-7ccc7bf60960","directory":"chapeau","title":"Chapeau","compatibility":99,"releases":[{"id":"010004100FBB0000","region":null}]},{"id":"32dac534-588d-46c5-8024-db7e21a76280","directory":"aca-neogeo-neo-geo-cup-98-the-road-to-the-victory","title":"ACA NEOGEO NEO GEO CUP '98: THE ROAD TO THE VICTORY","compatibility":99,"releases":[{"id":"010061C00AFDA000","region":null}]},{"id":"32ec6569-3c64-46af-b380-b2c2a7383028","directory":"soul-searching","title":"Soul Searching","compatibility":99,"releases":[{"id":"0100F2100F0B2000","region":null}]},{"id":"32f16bb2-3025-4c32-8da2-a27204541f6f","directory":"ages-of-mages-the-last-keeper","title":"Ages of Mages: The last keeper","compatibility":1,"releases":[{"id":"0100E4700E040000","region":null}]},{"id":"33003dff-2ddf-48c2-b31b-aa7ab6f7714a","directory":"nevaeh","title":"Nevaeh","compatibility":99,"releases":[{"id":"0100C20012A54000","region":null}]},{"id":"330d6552-6dd4-498c-b533-c0429148daec","directory":"instant-tennis-demo","title":"INSTANT TENNIS DEMO","compatibility":99,"releases":[{"id":"0100ADA00BE3C000","region":null}]},{"id":"33148dcc-f9e4-429f-a36e-ac7e6c8b3a0e","directory":"spectrum","title":"Spectrum","compatibility":99,"releases":[{"id":"01008B000A5AE000","region":null}]},{"id":"331e1c13-5f70-41ce-99cc-9600d480439d","directory":"lost-sea","title":"Lost Sea","compatibility":99,"releases":[{"id":"010071B00964A000","region":null}]},{"id":"3325305f-1bb7-468f-b3ce-7f91178a8331","directory":"fight-of-gods","title":"Fight of Gods","compatibility":1,"releases":[{"id":"01002F600C684000","region":null}]},{"id":"33547cec-0302-4ea4-930d-41a0a10df857","directory":"citizens-unite-earth-x-space","title":"Citizens Unite!: Earth x Space","compatibility":99,"releases":[{"id":"0100D9C012900000","region":null}]},{"id":"3355041e-0acb-456f-ae9d-102d17053999","directory":"pictooi","title":"Pictooi","compatibility":99,"releases":[{"id":"0100C8B0153CE000","region":null}]},{"id":"336e417d-4d8f-476e-b130-9a1b257ab125","directory":"bitmaster","title":"Bitmaster","compatibility":99,"releases":[{"id":"010026E0141C8000","region":null}]},{"id":"3374b0ec-c3a9-44be-8d91-dc2ac50698a5","directory":"joker-poker-video-poker","title":"Joker Poker - Video Poker","compatibility":99,"releases":[{"id":"010055E012BAA000","region":null}]},{"id":"3377b51b-4240-4e1e-a88b-24266d41da3b","directory":"naught","title":"Naught","compatibility":99,"releases":[{"id":"0100103011894000","region":null}]},{"id":"338bf69e-4ad0-44a4-842e-2720f5b9a913","directory":"wanderjahr-tryagainorwalkaway","title":"Wanderjahr TryAgainOrWalkAway","compatibility":99,"releases":[{"id":"010078800825E000","region":null}]},{"id":"338e97b7-6bcb-4523-80d4-4d62c5ed73d8","directory":"aborigenus","title":"Aborigenus","compatibility":99,"releases":[{"id":"0100EFC010398000","region":null}]},{"id":"339790d8-1052-493c-8364-e182de090a73","directory":"eternal-hope","title":"Eternal Hope","compatibility":1,"releases":[{"id":"010000E015046000","region":null}]},{"id":"3399b29a-b07c-4602-8899-6989a8ab5b7b","directory":"atari-flashback-classics","title":"Atari Flashback Classics","compatibility":0,"releases":[{"id":"0100CF3007578000","region":null}]},{"id":"33a6967a-181f-4744-841d-1fad45d097cd","directory":"crush-your-enemies","title":"Crush Your Enemies!","compatibility":99,"releases":[{"id":"01005F900902A000","region":null}]},{"id":"33ac1f1b-b98e-49b5-a372-e5935a1df1e3","directory":"arcade-archives-vs-mah-jong","title":"Arcade Archives VS. MAH-JONG","compatibility":99,"releases":[{"id":"0100A10010C54000","region":null}]},{"id":"33ac41f8-1f62-472f-b886-e3b06f7246eb","directory":"futuregrind","title":"FutureGrind","compatibility":99,"releases":[{"id":"010005100AF90000","region":null}]},{"id":"33ad5955-ec2b-401e-b374-45b6135c6dec","directory":"spirit-of-the-north","title":"Spirit of the North","compatibility":3,"releases":[{"id":"01005E101122E000","region":null}]},{"id":"33b5cecb-a083-4c95-abd4-606c2b455d61","directory":"masquerada-songs-and-shadows","title":"Masquerada: Songs and Shadows","compatibility":99,"releases":[{"id":"0100113008262000","region":null}]},{"id":"33e3cdbc-83a8-4fe2-8771-698cdd9c98c9","directory":"crazy-bmx-world","title":"Crazy BMX World","compatibility":99,"releases":[{"id":"01005CC012BFE000","region":null}]},{"id":"33eb5083-af83-4383-aa67-48a0bab8f427","directory":"suicide-guy-sleepin-deeply","title":"Suicide Guy: Sleepin' Deeply","compatibility":99,"releases":[{"id":"0100DE000C2E4000","region":null}]},{"id":"33fab108-f3b2-45df-8540-a918dca65dd7","directory":"the-sinking-city","title":"The Sinking City","compatibility":3,"releases":[{"id":"010028D00BA1A000","region":null}]},{"id":"3404a157-c7d1-42bf-8427-b3756442ec63","directory":"bloodrayne-betrayal-fresh-bites","title":"BloodRayne Betrayal: Fresh Bites","compatibility":1,"releases":[{"id":"01009AB013EE2000","region":null}]},{"id":"3404f058-30fe-4fb3-b1fd-9c02f9b3bd9a","directory":"knockout-home-fitness","title":"Knockout Home Fitness","compatibility":0,"releases":[{"id":"0100A1B0149E4000","region":null}]},{"id":"341040f1-57ee-464a-9290-80d58c057bbb","directory":"aca-neogeo-burning-fight","title":"ACA NEOGEO BURNING FIGHT","compatibility":99,"releases":[{"id":"01002AA004DB4000","region":null}]},{"id":"343e3fde-af5c-4adb-a816-e3a57b5cc506","directory":"worse-than-death","title":"Worse Than Death","compatibility":99,"releases":[{"id":"010037500C4DE000","region":null}]},{"id":"343f8903-f291-48a1-ad8c-4768d08ebb3f","directory":"strikers1945-2-for-nintendo-switch","title":"STRIKERS1945  2 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100720008ED2000","region":null}]},{"id":"344e02f1-4a2d-4ad0-b9a5-d050da371788","directory":"the-alto-collection","title":"The Alto Collection","compatibility":0,"releases":[{"id":"01006B100E44C000","region":null}]},{"id":"3462227f-20ef-4845-b208-21d95db1dca5","directory":"earth-defense-force-world-brothers","title":"EARTH DEFENSE FORCE: WORLD BROTHERS","compatibility":2,"releases":[{"id":"01006D5014796000","region":null}]},{"id":"34648c72-7572-492e-944f-b89966cafea1","directory":"pixel-heroes-mega-byte-magic","title":"Pixel Heroes: Mega Byte & Magic","compatibility":5,"releases":[{"id":"0100B42012EA4000","region":null}]},{"id":"346f7792-05f4-4114-93fa-381c2afcd58f","directory":"solitaire-deluxe-bundle-3-in-1","title":"Solitaire Deluxe Bundle - 3 in 1","compatibility":99,"releases":[{"id":"01009100115C0000","region":null}]},{"id":"347bbed6-72c2-474c-a34c-fce2d3122a8b","directory":"perseverance","title":"Perseverance","compatibility":99,"releases":[{"id":"0100A0300FC3E000","region":null}]},{"id":"347e6b2d-ff62-4c31-aa80-77bd253a329f","directory":"brightstone-mysteries-paranormal-hotel","title":"Brightstone Mysteries: Paranormal Hotel","compatibility":99,"releases":[{"id":"01002E50129DA000","region":null}]},{"id":"348d4c5a-612d-4abf-bfde-be0f87bbe6f3","directory":"de-yabatanien","title":"De: Yabatanien","compatibility":99,"releases":[{"id":"01003F80133CC000","region":null}]},{"id":"34943eb0-57cc-478e-a76a-8af85c303fd4","directory":"zumba-aqua","title":"Zumba Aqua","compatibility":99,"releases":[{"id":"01009B10162F4000","region":null}]},{"id":"34a2c9ed-21df-4e19-8f1c-da3394961325","directory":"save-me-mr-tako-tasukete-tako-san","title":"Save me Mr Tako: Tasukete Tako-San","compatibility":99,"releases":[{"id":"0100A6A00A5D0000","region":null}]},{"id":"34bdb3f9-95b1-4c8c-94ff-db564e4da5c5","directory":"kentucky-route-zero-tv-edition","title":"Kentucky Route Zero: TV Edition","compatibility":1,"releases":[{"id":"0100327005C94000","region":null}]},{"id":"34c42a25-7000-4ca8-a084-5604037825ce","directory":"sludge-life","title":"Sludge Life","compatibility":99,"releases":[{"id":"0100F03010C72000","region":null}]},{"id":"34c8de49-78cc-4c2e-aafc-c31c2f91f24f","directory":"ping-pong-trick-shot-evolution","title":"Ping Pong Trick Shot EVOLUTION","compatibility":99,"releases":[{"id":"0100C9B00D422000","region":null}]},{"id":"34d0da99-06e6-4490-a15e-c2e29926fefb","directory":"johnny-turbos-arcade-wizard-fire","title":"Johnny Turbo's Arcade: Wizard Fire","compatibility":4,"releases":[{"id":"0100D230069CC000","region":null}]},{"id":"34e20bf6-37fc-452a-9703-777981553fde","directory":"disgaea-5-complete-demo","title":"Disgaea 5 Complete Demo","compatibility":3,"releases":[{"id":"0100E67003A86000","region":null}]},{"id":"34e235a8-3483-4ed0-9f43-bb4bd887d671","directory":"cybertaxi","title":"CyberTaxi","compatibility":99,"releases":[{"id":"0100490013FDA000","region":null}]},{"id":"34e94f46-6276-4c44-b5f4-2004ebb02127","directory":"12-labours-of-hercules","title":"12 Labours of Hercules","compatibility":4,"releases":[{"id":"010058900D4AE000","region":null}]},{"id":"34e9d2b9-6357-4b53-bbfb-c281ea68cadc","directory":"grand-prix-racing","title":"Grand Prix Racing","compatibility":99,"releases":[{"id":"01004110137A6000","region":null}]},{"id":"34f21787-de79-4423-93d7-a21dc561626e","directory":"catch-a-duck","title":"Catch a Duck","compatibility":99,"releases":[{"id":"01003BE00ECAE000","region":null}]},{"id":"34f6dfb5-6684-4fe3-9e19-de6c82431b9e","directory":"princess-maker-faery-tales-come-true-","title":"PRINCESS MAKER -FAERY TALES COME TRUE-","compatibility":99,"releases":[{"id":"010018700A5EC000","region":null}]},{"id":"3500e683-c9c8-41d5-aa9f-9f606d880011","directory":"edna-harvey-the-breakout-anniversary-edition","title":"Edna & Harvey: The Breakout – Anniversary Edition","compatibility":99,"releases":[{"id":"01004F000B716000","region":null}]},{"id":"35059c2b-fb02-489e-8a94-1b146f554d55","directory":"espacio-cosmic-light-seeker","title":"Espacio Cosmic Light-Seeker","compatibility":99,"releases":[{"id":"0100DBA012876000","region":null}]},{"id":"3507331a-7588-40ff-b234-3647e146c519","directory":"retro-classix-4in1-pack-sly-spy-shootout-wizard-fire-super-real-darwin","title":"Retro Classix 4in1 Pack: Sly Spy, Shootout, Wizard Fire & Super Real Darwin","compatibility":99,"releases":[{"id":"0100AE0012190000","region":null}]},{"id":"351e8ecd-2ad1-4e37-88fd-1f1f0713956f","directory":"our-battle-has-just-begun-episode-1","title":"Our Battle Has Just Begun! episode 1","compatibility":99,"releases":[{"id":"01000D9015324000","region":null}]},{"id":"3526bd46-1775-418d-8ee3-60ce88d55700","directory":"poker-hands","title":"Poker Hands","compatibility":99,"releases":[{"id":"010030A01243E000","region":null}]},{"id":"352bf68f-0c06-4139-a01d-a3624a2e206f","directory":"worldneverland-elnea-kingdom","title":"WorldNeverland - Elnea Kingdom","compatibility":1,"releases":[{"id":"01008E9007064000","region":null}]},{"id":"352e5368-cde5-424b-9034-0fbef56d5bda","directory":"demo-cinderella-an-interactive-fairytale","title":"Demo: Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010062200CF14000","region":null}]},{"id":"35333a5b-6eee-49e1-a2e9-9540cd0e80b4","directory":"maid-of-sker","title":"Maid of Sker","compatibility":99,"releases":[{"id":"01002E900CF38000","region":null}]},{"id":"35334966-6aa6-4f80-8281-3083e80a596f","directory":"rapala-fishing-pro-series","title":"Rapala Fishing Pro Series","compatibility":99,"releases":[{"id":"010042A00A9CC000","region":null}]},{"id":"3539e620-95aa-46c7-a368-3d83ba10a4a0","directory":"poker-champion-texas-holdem","title":"Poker Champion: Texas Hold'em","compatibility":99,"releases":[{"id":"01009090159FE000","region":null}]},{"id":"353c8805-d637-4906-8b5f-abee9fd76320","directory":"rustler","title":"Rustler","compatibility":99,"releases":[{"id":"010071E0145F8000","region":null}]},{"id":"3548fc9c-c684-4430-8599-18b62fe4bd49","directory":"typerider","title":"Type:Rider","compatibility":99,"releases":[{"id":"0100D5B00D6DA000","region":null}]},{"id":"35524be3-e9a3-489f-be6a-d08f41afc061","directory":"checkers-for-kids","title":"Checkers for Kids","compatibility":1,"releases":[{"id":"0100605015752000","region":null}]},{"id":"3558f359-fb89-457d-8194-7210deb0ec01","directory":"turrican-flashback","title":"Turrican Flashback","compatibility":0,"releases":[{"id":"010004B0130C8000","region":null}]},{"id":"3562988b-4756-4970-8ca3-389149380da7","directory":"regina-mac-world","title":"Regina & Mac World","compatibility":99,"releases":[{"id":"0100ED70147A2000","region":null}]},{"id":"357d9dbc-fcce-426a-a09a-6c48b335d7de","directory":"guts-and-glory","title":"Guts & Glory","compatibility":99,"releases":[{"id":"01005E5009EF2000","region":null}]},{"id":"357df1e1-6af3-4299-bb99-28f187633a37","directory":"knockout-city-cross-play-beta","title":"Knockout Cityâ„¢ Cross-Play Beta","compatibility":99,"releases":[{"id":"0100A3F013BDE000","region":null}]},{"id":"35876728-4fce-4318-bbc0-1c770d035d97","directory":"arcade-archives-soldam","title":"Arcade Archives SOLDAM","compatibility":99,"releases":[{"id":"0100E32015798000","region":null}]},{"id":"358c77bf-bb5b-4137-8666-7d9c110a81ab","directory":"planetary-defense-force","title":"Planetary Defense Force","compatibility":99,"releases":[{"id":"010005800F1BA000","region":null}]},{"id":"35a14aa2-5e96-488a-94de-c033ad884c71","directory":"la-noire","title":"L.A. Noire","compatibility":1,"releases":[{"id":"0100830004FB6000","region":null}]},{"id":"35b2b721-f9ee-43bd-9954-2637d1b175fa","directory":"toy-stunt-bike-tiptops-trials","title":"Toy Stunt Bike: Tiptop's Trials","compatibility":99,"releases":[{"id":"01009FF00A160000","region":null}]},{"id":"35c21c8b-c579-41a4-b07c-10e9ded817ba","directory":"silverstarchess","title":"SilverStarChess","compatibility":99,"releases":[{"id":"010016D00A964000","region":null}]},{"id":"35c88c60-5713-4624-b8a9-b53bc6d95b65","directory":"hayfever","title":"Hayfever","compatibility":99,"releases":[{"id":"0100EA900FB2C000","region":null}]},{"id":"35d2757a-152e-4b9a-8a4c-17f0a904ad21","directory":"concept-destruction","title":"Concept Destruction","compatibility":99,"releases":[{"id":"0100971011224000","region":null}]},{"id":"35d2acf0-31c3-4e2a-b8f3-709ce0d79ce3","directory":"battle-chasers-nightwar","title":"Battle Chasers: Nightwar","compatibility":1,"releases":[{"id":"0100551001D88000","region":null}]},{"id":"35dfedf9-5bb7-420b-96b9-1840c2457617","directory":"hexon","title":"HexON","compatibility":99,"releases":[{"id":"0100495011B6A000","region":null}]},{"id":"35e3494c-af30-488b-ae6e-52337e78d893","directory":"arcade-archives-terra-cresta","title":"Arcade Archives TERRA CRESTA","compatibility":99,"releases":[{"id":"0100422001DDA000","region":null}]},{"id":"35e99473-3abb-493c-b149-f2665300e36e","directory":"candleman","title":"Candleman","compatibility":0,"releases":[{"id":"010034400CB5E000","region":null}]},{"id":"35fc893e-bf02-4bbd-bc31-a7ffd56ef20d","directory":"sega-ages-space-harrier","title":"SEGA AGES Space Harrier","compatibility":1,"releases":[{"id":"0100C3E00B700000","region":null}]},{"id":"360a60f9-dd13-461d-9030-e0fb229a89b7","directory":"omega-strike","title":"Omega Strike","compatibility":5,"releases":[{"id":"0100F8C00C21C000","region":null}]},{"id":"3619b156-1d2c-485a-a6c8-e8bdbf8dbb19","directory":"pixeljunk-monsters-2-demo","title":"PixelJunkâ„¢ Monsters 2 Demo","compatibility":99,"releases":[{"id":"01004AF00A772000","region":null}]},{"id":"362a1b83-c759-4f33-a59d-a1b6bdfcd2bf","directory":"cuphead","title":"Cuphead","compatibility":0,"releases":[{"id":"0100A5C00D162000","region":null}]},{"id":"363c2fbc-8836-4b5b-b664-24c60ec543d4","directory":"outbreak","title":"Outbreak","compatibility":99,"releases":[{"id":"010047F013104000","region":null}]},{"id":"364327bf-cc1e-4410-a07f-bf8dea72868e","directory":"wizards-of-brandel","title":"Wizards of Brandel","compatibility":99,"releases":[{"id":"010081900F9E2000","region":null}]},{"id":"36583beb-cad5-4c9d-bf90-4783393c1631","directory":"ori-and-the-blind-forest-definitive-edition","title":"Ori and the Blind Forest: Definitive Edition","compatibility":1,"releases":[{"id":"010061D00DB74000","region":null}]},{"id":"3659e4ea-8a70-44c6-adca-05132d58006c","directory":"astro-bears-party","title":"Astro Bears Party","compatibility":1,"releases":[{"id":"0100E5F00643C000","region":null}]},{"id":"365ec92e-96cf-4eb9-9b2a-379dff43c1b3","directory":"metropolis-lux-obscura","title":"Metropolis: Lux Obscura","compatibility":1,"releases":[{"id":"01003F000973E000","region":null}]},{"id":"36883e9f-56cc-4218-8769-8493eb048dba","directory":"papas-quiz","title":"Papa's Quiz","compatibility":99,"releases":[{"id":"01004B0015044000","region":null}]},{"id":"368aa0bf-f7f0-4b7c-b437-c716f75ed67f","directory":"sparkle-4-tales","title":"Sparkle 4 Tales","compatibility":99,"releases":[{"id":"010030D00EA1C000","region":null}]},{"id":"36a8cb96-5cc2-4087-ab95-42ff64ea7c57","directory":"freedom-finger","title":"Freedom Finger","compatibility":1,"releases":[{"id":"010082B00EE50000","region":null}]},{"id":"36aa3f90-0186-4f5c-9e27-9c4308bab12d","directory":"my-hero-ones-justice","title":"MY HERO ONE'S JUSTICE","compatibility":0,"releases":[{"id":"010039000B68E000","region":null}]},{"id":"36ace7b8-15e5-4cd0-8227-01675074702d","directory":"hakoniwa-explorer-plus","title":"Hakoniwa Explorer Plus","compatibility":4,"releases":[{"id":"0100618010D76000","region":null}]},{"id":"36acefd9-d6ac-4e1c-9314-926be24abeaf","directory":"old-mans-journey","title":"Old Man's Journey","compatibility":1,"releases":[{"id":"0100CE2007A86000","region":null}]},{"id":"36b93a6d-8853-4a7b-a894-64b22d00545a","directory":"dungeon-defenders-awakened","title":"Dungeon Defenders: Awakened","compatibility":4,"releases":[{"id":"0100BF800DFAC000","region":null}]},{"id":"36bf1d26-3474-47a5-86e0-d9213ab39012","directory":"arkham-horror-mothers-embrace","title":"Arkham Horror: Mother's Embrace","compatibility":99,"releases":[{"id":"010069A010606000","region":null}]},{"id":"36cf4ad9-e8fe-4d7b-bf80-8074be1fe968","directory":"captain-backwater","title":"Captain Backwater","compatibility":99,"releases":[{"id":"0100465016540000","region":null}]},{"id":"36d6107f-8909-42b5-a561-8e4ef43fefdf","directory":"child-of-light-ultimate-edition","title":"Child of Light Ultimate Edition","compatibility":0,"releases":[{"id":"01007D000AD8A000","region":null}]},{"id":"36dd911f-b5ff-4929-875a-7322e33a3ca3","directory":"the-demon-crystal","title":"The Demon Crystal","compatibility":99,"releases":[{"id":"0100ACF00D32E000","region":null}]},{"id":"36dfbb36-2d2c-4f86-9573-f08dde172017","directory":"ring-of-pain","title":"Ring of Pain","compatibility":1,"releases":[{"id":"0100F090122D2000","region":null}]},{"id":"36e39cb7-40d7-43bf-af13-2eaed60ab496","directory":"koral","title":"KORAL","compatibility":4,"releases":[{"id":"010088500D5EE000","region":null}]},{"id":"36f7d5b3-b8b7-4e39-9236-9580e148a595","directory":"3d-advantime","title":"3D ADVANTIME","compatibility":99,"releases":[{"id":"010063101531C000","region":null}]},{"id":"37033189-16e2-4745-aa87-14fd8c0df362","directory":"my-maite","title":"My Maitê","compatibility":99,"releases":[{"id":"0100E21015588000","region":null}]},{"id":"37140bf1-7f60-475d-b498-54f5e0fa5578","directory":"task-force-delta-afghanistan","title":"Task Force Delta - Afghanistan","compatibility":99,"releases":[{"id":"0100D6C0137F6000","region":null}]},{"id":"37195122-8ae8-4520-a5fb-7b8effcaddfc","directory":"us-navy-sea-conflict","title":"US Navy Sea Conflict","compatibility":99,"releases":[{"id":"0100207015A36000","region":null}]},{"id":"371d9858-b3eb-4de3-b7c3-d058be6a5f66","directory":"arms-demo","title":"ARMS Demo","compatibility":5,"releases":[{"id":"0100A5400AC86000","region":null}]},{"id":"371fce9a-6a6d-4b4b-93d7-416b4b134863","directory":"red-white-yellow","title":"Red White Yellow","compatibility":99,"releases":[{"id":"01003B2015510000","region":null}]},{"id":"372fb43e-bb9b-4670-9a44-812b0adfb390","directory":"need-for-speed-hot-pursuit-remastered","title":"Need for Speedâ„¢ Hot Pursuit Remastered","compatibility":2,"releases":[{"id":"010029B0118E8000","region":null}]},{"id":"37363872-9351-46c9-93cd-cab41f596b1d","directory":"ultimate-runner","title":"Ultimate Runner","compatibility":99,"releases":[{"id":"010045200A1C2000","region":null}]},{"id":"3738b0d7-02a4-4d36-8391-b4c506ae437d","directory":"the-kids-we-were","title":"The Kids We Were","compatibility":99,"releases":[{"id":"010068301606C000","region":null}]},{"id":"3738c265-e012-4cd2-abed-4f1827497aff","directory":"football-manager-2019-touch","title":"Football Manager 2019 Touch","compatibility":99,"releases":[{"id":"010078500C21A000","region":null}]},{"id":"37493cfe-48bb-4e19-bc4f-fce3c2327799","directory":"speedway-bundle-stock-truck","title":"Speedway Bundle Stock & Truck","compatibility":99,"releases":[{"id":"01000D6013D36000","region":null}]},{"id":"374f4358-92ed-478c-8305-a0e71163052a","directory":"helheim-hassle","title":"Helheim Hassle","compatibility":4,"releases":[{"id":"0100B9C012B66000","region":null}]},{"id":"37548656-9ca4-403d-97b3-b5b66f8e2cbf","directory":"grim-legends-the-forsaken-bride","title":"Grim Legends: The Forsaken Bride","compatibility":99,"releases":[{"id":"010009F011F90000","region":null}]},{"id":"375616e1-8141-4cf0-b8ff-f24283cb4acf","directory":"doom-destiny-worlds","title":"Doom & Destiny Worlds","compatibility":0,"releases":[{"id":"01001B4011480000","region":null}]},{"id":"3756ff04-82ea-46f1-b8b9-2b90b6359a91","directory":"steam-tactics","title":"Steam Tactics","compatibility":99,"releases":[{"id":"0100AE100DAFA000","region":null}]},{"id":"3768b535-8bef-4de0-a978-f68e3ab5b430","directory":"homo-machina","title":"Homo Machina","compatibility":99,"releases":[{"id":"010011700D6E2000","region":null}]},{"id":"3773e865-27ac-44ee-9c85-886a3db33acf","directory":"game-dev-tycoon","title":"Game Dev Tycoon","compatibility":1,"releases":[{"id":"0100E95010F6A000","region":null}]},{"id":"379b93ea-5aa8-4b3f-86ea-3f46e8ea71ba","directory":"robbotto","title":"Robbotto","compatibility":99,"releases":[{"id":"01004F400B978000","region":null}]},{"id":"37b88d24-bcc7-41c2-a5c3-30600063b8c9","directory":"jet-kave-adventure","title":"Jet Kave Adventure","compatibility":1,"releases":[{"id":"0100E4900D266000","region":null}]},{"id":"37c054a9-e819-49b3-9e47-3f324dece542","directory":"fire-emblem-shadow-dragon-the-blade-of-light","title":"Fire Emblemâ„¢: Shadow Dragon & the Blade of Light","compatibility":2,"releases":[{"id":"0100A12011CC8000","region":null}]},{"id":"37c2d6b9-39d1-4930-a5c1-a4240852c403","directory":"space-elite-force-2","title":"Space Elite Force 2","compatibility":99,"releases":[{"id":"010084F0123AC000","region":null}]},{"id":"37db56a0-f900-4bc1-8911-e77c8668c8d2","directory":"mindcell","title":"Mindcell","compatibility":99,"releases":[{"id":"01005E6015A62000","region":null}]},{"id":"37dc5335-d5ad-43dc-b91e-f94a54f5a2f5","directory":"kitty-powers-matchmaker","title":"Kitty Powers' Matchmaker","compatibility":99,"releases":[{"id":"010079000F0D2000","region":null}]},{"id":"37dcb949-1949-4ad4-bb29-c4aa9c8bb5a9","directory":"infernal-radiation","title":"Infernal Radiation","compatibility":99,"releases":[{"id":"0100B5C014AC6000","region":null}]},{"id":"37ee7ee6-57b7-433a-8508-6c0bca2d6799","directory":"ambition-of-the-slimes","title":"Ambition of the Slimes","compatibility":3,"releases":[{"id":"0100A620083DA000","region":null}]},{"id":"37eed7d8-7286-43b2-910c-3cb3321470f5","directory":"invirium","title":"Invirium","compatibility":99,"releases":[{"id":"0100A960149DA000","region":null}]},{"id":"3808321e-540d-45c6-808a-4ba6e72bc40a","directory":"occultism-interrogation-the-ritual-of-little-nightmares","title":"Occultism Interrogation: The ritual of little nightmares","compatibility":99,"releases":[{"id":"0100183015008000","region":null}]},{"id":"380ef8f8-5cb9-4eef-bde2-a0d4f4028675","directory":"lego-r-builders-journey","title":"LEGO® Builder's Journey","compatibility":0,"releases":[{"id":"01005EE0140AE000","region":null}]},{"id":"381c1b57-cd78-4896-a930-ada78343cb30","directory":"arcade-archives-time-tunnel","title":"Arcade Archives TIME TUNNEL","compatibility":99,"releases":[{"id":"010084200DC72000","region":null}]},{"id":"381d1def-6932-4975-bb03-f897557efa19","directory":"working-zombies","title":"Working Zombies","compatibility":0,"releases":[{"id":"0100F38011FBC000","region":null}]},{"id":"381f9ef3-f0dd-4efb-b7e0-7855d94e1966","directory":"iota","title":"iota","compatibility":99,"releases":[{"id":"010086A013FD8000","region":null}]},{"id":"3820911d-7256-44a2-b687-49fbabc36949","directory":"the-binding-of-isaac-afterbirth","title":"The Binding of Isaac: Afterbirth+","compatibility":1,"releases":[{"id":"010021C000B6A000","region":null}]},{"id":"3833de3c-95f0-4f99-bd49-b6a5ab8fa331","directory":"foxyland-2","title":"FoxyLand 2","compatibility":0,"releases":[{"id":"01000AC010024000","region":null}]},{"id":"383f8ab9-a232-4eb6-b085-6bd07c4c9287","directory":"disco-dodgeball-remix","title":"Disco Dodgeball - REMIX","compatibility":1,"releases":[{"id":"0100C81004780000","region":null}]},{"id":"38482faa-f6b9-47b1-8c3e-cdef00e60e4e","directory":"submerged","title":"Submerged","compatibility":99,"releases":[{"id":"0100EDA00D866000","region":null}]},{"id":"384af1d9-c629-46e1-8bcd-522e8fd07dd3","directory":"high-noon-revolver","title":"High Noon Revolver","compatibility":99,"releases":[{"id":"01006FE00D2B0000","region":null}]},{"id":"3856b95e-253c-4494-bbcc-9663617323ec","directory":"bookbound-brigade","title":"Bookbound Brigade","compatibility":99,"releases":[{"id":"010054500F564000","region":null}]},{"id":"386ae55f-1e63-415f-83cb-74910c7165a4","directory":"monkey-barrels","title":"MONKEY BARRELS","compatibility":99,"releases":[{"id":"0100FBD00ED24000","region":null}]},{"id":"386dc250-4dde-4f7f-ae13-f5237b910210","directory":"nights-of-azure-2-bride-of-the-new-moon","title":"Nights of Azure 2: Bride of the New Moon","compatibility":4,"releases":[{"id":"0100628004BCE000","region":null}]},{"id":"387049d6-a7f5-418a-aa80-94a9f0092858","directory":"the-lions-song","title":"The Lion's Song","compatibility":3,"releases":[{"id":"0100735004898000","region":null}]},{"id":"3871c1ae-1f36-49c3-b629-9b0f4111f861","directory":"bombfest","title":"BOMBFEST","compatibility":99,"releases":[{"id":"010001600C962000","region":null}]},{"id":"3881f200-83ad-4c01-a4b6-68c9df69f019","directory":"heal-console-edition","title":"Heal: Console Edition","compatibility":99,"releases":[{"id":"01008C70147B0000","region":null}]},{"id":"388d4ce0-e29c-4d52-9306-f3b569e30c84","directory":"death-end-re-quest","title":"Death end re;Quest","compatibility":99,"releases":[{"id":"01004FD013DD8000","region":null}]},{"id":"38a0ad9b-de0e-4c54-b4b4-34a7d7d16a46","directory":"max-and-the-book-of-chaos","title":"Max and the book of chaos","compatibility":99,"releases":[{"id":"0100A8C011F26000","region":null}]},{"id":"38b28b47-e809-4975-87ea-39aa4948f20e","directory":"woven","title":"Woven","compatibility":0,"releases":[{"id":"01006F100EB16000","region":null}]},{"id":"38bf99c9-b20f-42b2-86d5-bad64166f789","directory":"retro-highway","title":"Retro Highway","compatibility":3,"releases":[{"id":"010004C015EFC000","region":null}]},{"id":"38c1eb73-6698-499a-a6b0-8486f00fc4b5","directory":"foxyland","title":"FoxyLand","compatibility":1,"releases":[{"id":"0100D2501001A000","region":null}]},{"id":"38c89153-7ff9-45a3-b3e6-a95a8c686eb0","directory":"the-world-ends-with-you-final-remix","title":"The World Ends with You: Final Remix","compatibility":0,"releases":[{"id":"0100C1500B82E000","region":null}]},{"id":"38ef9658-53a7-408d-a1a4-e3fdf95277af","directory":"sir-eatsalot","title":"Sir Eatsalot","compatibility":99,"releases":[{"id":"01003C700EB20000","region":null}]},{"id":"38f3d805-2aeb-4b9f-b057-f26f34fee670","directory":"stellatum","title":"STELLATUM","compatibility":99,"releases":[{"id":"0100BC800EDA2000","region":null}]},{"id":"391ffd72-0472-47bd-8dad-d0db649798d4","directory":"crawl","title":"Crawl","compatibility":0,"releases":[{"id":"0100BF7006BCA000","region":null}]},{"id":"39291eb6-4e3a-45d9-94ae-55d8445dde35","directory":"path-of-sin-greed","title":"Path of Sin: Greed","compatibility":99,"releases":[{"id":"01001E500EA16000","region":null}]},{"id":"392fa26e-3f0e-4c49-a32f-0cc46fa40084","directory":"city-driving-simulator-2","title":"City Driving Simulator 2","compatibility":0,"releases":[{"id":"0100FDA015C38000","region":null}]},{"id":"39416f88-96c4-48e1-8c28-19bb12cba9d4","directory":"dragon-quest-ii-luminaries-of-the-legendary-line","title":"DRAGON QUEST II: Luminaries of the Legendary Line","compatibility":1,"releases":[{"id":"010062200EFB4000","region":null}]},{"id":"3958c555-7c2a-4a7f-9d9d-3e6569247ea2","directory":"liberated","title":"Liberated","compatibility":2,"releases":[{"id":"0100C8000F146000","region":null}]},{"id":"3959486e-3634-4db6-b8e0-46b6f2e5836d","directory":"spiritfarer","title":"Spiritfarer","compatibility":2,"releases":[{"id":"0100BD400DC52000","region":null}]},{"id":"395b0bb0-adae-45a5-8735-d62b6fba44e5","directory":"shovel-knight-showdown","title":"Shovel Knight Showdown","compatibility":0,"releases":[{"id":"0100B380022AE000","region":null}]},{"id":"395edbd4-16a5-4654-923d-c350c29bd95b","directory":"mighty-aphid","title":"Mighty Aphid","compatibility":99,"releases":[{"id":"0100F41015614000","region":null}]},{"id":"3975c70c-dff9-49c8-8b4e-91582c0be8f2","directory":"huntdown","title":"Huntdown","compatibility":0,"releases":[{"id":"0100EBA004726000","region":null}]},{"id":"3985d075-450d-4f60-8404-345a453c0f95","directory":"darts","title":"Darts","compatibility":99,"releases":[{"id":"01005A6010A04000","region":null}]},{"id":"3996189f-83bc-43ec-8221-56dc1bf450c6","directory":"warframe","title":"Warframe","compatibility":99,"releases":[{"id":"0100FEE00A64E000","region":null}]},{"id":"39aa9fe9-3f01-4212-bde6-def5041bb06d","directory":"cities-skylines-nintendo-switch-edition","title":"Cities: Skylines - Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100D8800B87C000","region":null}]},{"id":"39aedd02-ee6f-4dcb-be81-f594e44a7339","directory":"arcade-archives-bells-and-whistles","title":"Arcade Archives Bells & Whistles","compatibility":99,"releases":[{"id":"01002F00100A2000","region":null}]},{"id":"39c22e44-ee76-4e43-9430-dbc7ca78c5cb","directory":"age-of-sokoban","title":"Age of Sokoban","compatibility":99,"releases":[{"id":"01003770152AA000","region":null}]},{"id":"39dae2e7-9489-4189-a23b-4e86cb3e29ed","directory":"kill-the-bad-guy","title":"Kill The Bad Guy","compatibility":99,"releases":[{"id":"010011B00910C000","region":null}]},{"id":"39ec97c1-167c-40e6-bed6-faccce183a15","directory":"olliolli-world","title":"OlliOlli World","compatibility":99,"releases":[{"id":"0100C5D01128E000","region":null}]},{"id":"39f5a5e3-3fde-40f8-a9d7-28a39cbbb455","directory":"cube-creator-x","title":"Cube Creator X","compatibility":99,"releases":[{"id":"010001600D1E8000","region":null}]},{"id":"3a0aac4f-fc29-4c18-bcdf-04efb3c3f37d","directory":"forma8","title":"forma.8","compatibility":1,"releases":[{"id":"01008EA00405C000","region":null}]},{"id":"3a11e078-36c6-484b-aa4e-686e2668e87d","directory":"dungholes","title":"Dungholes","compatibility":99,"releases":[{"id":"0100604014272000","region":null}]},{"id":"3a18d72a-dd55-447c-ac5c-bab8a8553d4c","directory":"terrorhythm-trrt","title":"TERRORHYTHM (TRRT)","compatibility":3,"releases":[{"id":"010043700EB68000","region":null}]},{"id":"3a1a712c-22c9-4290-a92d-ab8e350a34ef","directory":"rabisco","title":"Rabisco+","compatibility":99,"releases":[{"id":"0100146014DC6000","region":null}]},{"id":"3a26a354-b1d7-47ea-b628-c7ce35bac036","directory":"arcade-archives-thunder-cross-ii","title":"Arcade Archives THUNDER CROSS II","compatibility":99,"releases":[{"id":"0100F400144C6000","region":null}]},{"id":"3a28490b-07dd-4a4a-8076-b2565df6ea50","directory":"match-three-pirates-heir-to-davy-jones","title":"Match Three: Pirates! Heir to Davy Jones","compatibility":99,"releases":[{"id":"0100699012DF6000","region":null}]},{"id":"3a5a9af4-6857-47b0-85c2-ef27c2222997","directory":"super-destronaut-dx","title":"Super Destronaut DX","compatibility":99,"releases":[{"id":"010008800B18A000","region":null}]},{"id":"3a691065-bf20-4351-8976-7bea84945764","directory":"please-dont-touch-anything","title":"Please, Don't Touch Anything","compatibility":3,"releases":[{"id":"0100E2300C4C4000","region":null}]},{"id":"3a733f5a-04fe-4497-94b3-092a82caf71e","directory":"dungeon-village-demo","title":"Dungeon Village Demo","compatibility":99,"releases":[{"id":"010093700BCDC000","region":null}]},{"id":"3a77437e-5acf-45b7-950b-7c7597c0d7c0","directory":"odium-to-the-core","title":"Odium to the Core","compatibility":99,"releases":[{"id":"010029F00C876000","region":null}]},{"id":"3a80b8e3-b611-4aca-a70c-c0d32cbac20c","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx-digital-art-book","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX Digital Art Book","compatibility":99,"releases":[{"id":"010041C014222000","region":null}]},{"id":"3a96710d-2860-474d-b4a9-bd96aa99f559","directory":"japanese-mah-jongg","title":"Japanese Mah-jongg","compatibility":99,"releases":[{"id":"0100C8E0083C4000","region":null}]},{"id":"3a9a0a44-7b31-4af2-97a9-8dbd9a7c4949","directory":"a-summer-with-the-shiba-inu","title":"A Summer with the Shiba Inu","compatibility":99,"releases":[{"id":"01007DD011C4A000","region":null}]},{"id":"3a9d9732-30de-4582-b3b7-1c3a938f9aaf","directory":"stay","title":"STAY","compatibility":99,"releases":[{"id":"0100616009082000","region":null}]},{"id":"3a9ef63b-a842-4372-b49f-26127a5f8bce","directory":"tied-together","title":"Tied Together","compatibility":99,"releases":[{"id":"0100B6D00C2DE000","region":null}]},{"id":"3aa77e86-3ee4-4353-9c52-f6842c8629ee","directory":"classic-logical-bundle-4in1","title":"Classic Logical Bundle (4in1)","compatibility":99,"releases":[{"id":"01002F101353A000","region":null}]},{"id":"3aa805e6-ea42-4623-9061-af328aac7a72","directory":"dynasty-warriors-8-xtreme-legends-definitive-edition","title":"DYNASTY WARRIORS 8: Xtreme Legends Definitive Edition","compatibility":2,"releases":[{"id":"0100E9A00CB30000","region":null}]},{"id":"3aa9758d-ef55-49b0-8423-08af0b1ae08c","directory":"mias-picnic","title":"Mia's Picnic","compatibility":99,"releases":[{"id":"0100CBF013B94000","region":null}]},{"id":"3aacdcd5-0b94-431c-870c-78e690ef457c","directory":"shining-resonance-refrain","title":"Shining Resonance Refrain","compatibility":0,"releases":[{"id":"01009A5009A9E000","region":null}]},{"id":"3ab7bbf7-a925-425e-93aa-1ae5bd678a65","directory":"rogue-heroes-ruins-of-tasos","title":"Rogue Heroes: Ruins of Tasos","compatibility":99,"releases":[{"id":"01009FA010848000","region":null}]},{"id":"3abc563d-114c-44ab-a125-6a044904da3a","directory":"ea-sports-fifa-20-nintendo-switch-legacy-edition","title":"EA SPORTS FIFA 20 Nintendo Switch Legacy Edition","compatibility":5,"releases":[{"id":"01005DE00D05C000","region":null}]},{"id":"3abeb73a-ecff-4794-9d58-da00caa0fd94","directory":"super-meatball","title":"Super Meatball","compatibility":99,"releases":[{"id":"01008BE0136C2000","region":null}]},{"id":"3ac16f73-e4aa-45c1-b6fa-ae3f7e9aa80d","directory":"the-book-of-unwritten-tales-2","title":"The Book of Unwritten Tales 2","compatibility":99,"releases":[{"id":"010062500BFC0000","region":null}]},{"id":"3ac9a79a-c3a2-4cd4-a7ae-51c2e4232a49","directory":"mace-space-shooter","title":"M.A.C.E. Space Shooter","compatibility":3,"releases":[{"id":"0100F02005D1E000","region":null}]},{"id":"3acfafe7-ef4d-4d1d-b37e-a30aac9a219b","directory":"discolored","title":"Discolored","compatibility":99,"releases":[{"id":"01004CE012A18000","region":null}]},{"id":"3ad759fa-be84-41ab-bb30-7e3e49e412df","directory":"the-walking-dead-a-new-frontier","title":"The Walking Dead: A New Frontier","compatibility":4,"releases":[{"id":"010056E00B4F4000","region":null}]},{"id":"3ae0840f-c2b5-40d7-9430-98a99f34303c","directory":"word-puzzles-by-powgi","title":"Word Puzzles by POWGI","compatibility":99,"releases":[{"id":"01002BE00BA82000","region":null}]},{"id":"3ae60705-50dc-4b36-ac48-06af4c10b99a","directory":"cars-3-driven-to-win","title":"Cars 3: Driven to Win","compatibility":3,"releases":[{"id":"01008D1001512000","region":null}]},{"id":"3afc0cad-180e-4ee8-b935-4051d8ac2561","directory":"dex","title":"Dex","compatibility":1,"releases":[{"id":"01003F601025E000","region":null}]},{"id":"3b02c86b-57ad-4b64-9b68-ce2217934906","directory":"sweet-witches","title":"Sweet Witches","compatibility":0,"releases":[{"id":"0100D6D00EC2C000","region":null}]},{"id":"3b2bb85f-6a3f-44d7-a7b6-035adee36760","directory":"ship-sim-2020","title":"Ship Sim 2020","compatibility":99,"releases":[{"id":"0100016011A1A000","region":null}]},{"id":"3b39f624-d88e-495c-b8be-04f41a01a525","directory":"warp-frontier","title":"Warp Frontier","compatibility":0,"releases":[{"id":"01005C50152DC000","region":null}]},{"id":"3b4334f8-291f-4b63-a783-04466920f27f","directory":"gangsta-paradise","title":"Gangsta Paradise","compatibility":99,"releases":[{"id":"01001A50145E0000","region":null}]},{"id":"3b48c529-67dc-456a-98b9-4ba552f3edd0","directory":"escape-game-fort-boyard","title":"Escape Game Fort Boyard","compatibility":0,"releases":[{"id":"0100B0F011A84000","region":null}]},{"id":"3b525ae4-a3f0-4a45-a402-fa18d7dd1305","directory":"paratopic","title":"Paratopic","compatibility":99,"releases":[{"id":"01001F0012868000","region":null}]},{"id":"3b5982a5-6722-43e5-87cb-63e855e4c98e","directory":"skittles","title":"Skittles","compatibility":99,"releases":[{"id":"0100FC1015302000","region":null}]},{"id":"3b5aed28-1c47-4f87-9fb9-564efb2121a3","directory":"rotating-brave","title":"Rotating Brave","compatibility":99,"releases":[{"id":"01003A300B7A6000","region":null}]},{"id":"3b5c0bbd-4084-486a-b0de-c1b914732abb","directory":"overpass","title":"OVERPASS","compatibility":4,"releases":[{"id":"01008EA00E816000","region":null}]},{"id":"3b6253a9-ece8-4b66-bc12-d403d54df0fd","directory":"immortus-temporus","title":"Immortus Temporus","compatibility":99,"releases":[{"id":"0100211015A7E000","region":null}]},{"id":"3b702c1c-6a3a-4b53-b442-36e179dc9aa3","directory":"dongo-adventure","title":"Dongo Adventure","compatibility":99,"releases":[{"id":"010088B010DD2000","region":null}]},{"id":"3b7a7e3e-9bdd-4dfb-8fe3-e7bf6a35ccd3","directory":"death-coming","title":"Death Coming","compatibility":5,"releases":[{"id":"0100F3B00CF32000","region":null}]},{"id":"3b8c39f1-f00e-4836-bfa5-7a7a8c9d0b3c","directory":"caged-garden-cock-robin","title":"Caged Garden Cock Robin","compatibility":0,"releases":[{"id":"010092600E9A2000","region":null}]},{"id":"3ba52dd0-c8eb-4239-8f59-dd148b7e2527","directory":"rogue-bit","title":"Rogue Bit","compatibility":99,"releases":[{"id":"010052500D984000","region":null}]},{"id":"3bac4707-4238-42b3-8d2c-581db2453cff","directory":"aca-neogeo-the-king-of-fighters-2002","title":"ACA NEOGEO THE KING OF FIGHTERS 2002","compatibility":5,"releases":[{"id":"0100CFD00AFDE000","region":null}]},{"id":"3bbd9c00-bed7-4681-a685-d9e0c47c1817","directory":"dying-light-platinum-edition","title":"Dying Light: Platinum Edition","compatibility":4,"releases":[{"id":"01008C8012920000","region":null}]},{"id":"3bc21c1f-059c-4596-8ab1-a8980d9de9e1","directory":"astro-aqua-kitty","title":"ASTRO AQUA KITTY","compatibility":1,"releases":[{"id":"01007210128C0000","region":null}]},{"id":"3bc2b15b-0036-4f99-9658-7e64a71a2be1","directory":"greedroid","title":"Greedroid","compatibility":99,"releases":[{"id":"0100BD800DFA6000","region":null}]},{"id":"3bd42223-3640-462b-9d83-e087662998fe","directory":"beyond-enemy-lines-covert-operations","title":"Beyond Enemy Lines: Covert Operations","compatibility":99,"releases":[{"id":"010056500CAD8000","region":null}]},{"id":"3bd46875-5910-40d4-81eb-06bfc1f73f9e","directory":"sheltered","title":"Sheltered","compatibility":4,"releases":[{"id":"010036D00C362000","region":null}]},{"id":"3bd75a6b-87df-4acf-9142-b1cd50bdd6eb","directory":"squids-odyssey","title":"Squids Odyssey","compatibility":99,"releases":[{"id":"01008FF00A4B6000","region":null}]},{"id":"3bf3296c-030c-4c84-8fed-ccb62c76e87a","directory":"bunny-bounce","title":"Bunny Bounce","compatibility":99,"releases":[{"id":"01006AA0145C4000","region":null}]},{"id":"3bf3dd5a-0ca5-4218-83ca-a25b89ac1b12","directory":"widget-satchel","title":"Widget Satchel","compatibility":2,"releases":[{"id":"0100C7800CA06000","region":null}]},{"id":"3bf98440-1958-405c-bce0-e5ce0a982367","directory":"daggerhood","title":"Daggerhood","compatibility":4,"releases":[{"id":"0100A7F00C5FE000","region":null}]},{"id":"3bfe6eaf-e2a2-4cfd-b761-f38f11603f89","directory":"baldo-the-guardian-owls","title":"Baldo\nThe guardian owls","compatibility":0,"releases":[{"id":"0100A75005E92000","region":null}]},{"id":"3c0e9a01-ca10-49b5-9564-69a74d413884","directory":"robbotto-demo","title":"Robbotto Demo","compatibility":99,"releases":[{"id":"01009C400C5CA000","region":null}]},{"id":"3c1dae79-b6f1-4663-92a1-09356b627c94","directory":"squeakers","title":"Squeakers","compatibility":99,"releases":[{"id":"0100085012A0E000","region":null}]},{"id":"3c25b539-7a49-4e69-8046-a37773c3d6a9","directory":"crossbow-bloodnight","title":"CROSSBOW: Bloodnight","compatibility":1,"releases":[{"id":"0100D1D013536000","region":null}]},{"id":"3c2fafdd-2f7e-47b2-bf99-2518bff58f3f","directory":"world-tree-marche","title":"World Tree Marché","compatibility":99,"releases":[{"id":"0100D6A00BE66000","region":null}]},{"id":"3c3b099c-80e1-4383-b001-33f7cc886b22","directory":"merry-christmas-snowball-bubble","title":"Merry Christmas Snowball Bubble","compatibility":99,"releases":[{"id":"0100E4D0169E0000","region":null}]},{"id":"3c444f15-33b0-4ed5-ac0e-6ff353a619e9","directory":"nippon-marathon","title":"Nippon Marathon","compatibility":1,"releases":[{"id":"0100EF5008FC4000","region":null}]},{"id":"3c49dfb5-53d0-4964-b615-89e1fd97f923","directory":"dragon-snakes","title":"Dragon Snakes","compatibility":99,"releases":[{"id":"010083A00DEC8000","region":null}]},{"id":"3c5358b5-0626-4199-ae87-e76bf8cb1a1f","directory":"hyper-jam","title":"Hyper Jam","compatibility":3,"releases":[{"id":"0100B3300B4AA000","region":null}]},{"id":"3c673ee0-112e-42bc-b1ad-786251686eb1","directory":"monica-e-a-guarda-dos-coelhos","title":"Monica e a Guarda dos Coelhos","compatibility":3,"releases":[{"id":"0100C1400BD6A000","region":null}]},{"id":"3c6faf57-61c7-4121-a799-765559b8f1f7","directory":"jumping-stack-ball","title":"Jumping Stack Ball","compatibility":99,"releases":[{"id":"01008EF01426C000","region":null}]},{"id":"3c785436-b196-408b-87c3-e70e68cff8c8","directory":"pocket-stables","title":"Pocket Stables","compatibility":99,"releases":[{"id":"01008D400E1BA000","region":null}]},{"id":"3c94661a-2c86-48df-b083-024f8cac74d8","directory":"connection-rehaunted","title":"Connection reHaunted","compatibility":99,"releases":[{"id":"0100E84014C72000","region":null}]},{"id":"3c97de6a-862c-46a4-86c8-d2a58b22692b","directory":"tiki-brawl","title":"Tiki Brawl","compatibility":99,"releases":[{"id":"0100AEC012F16000","region":null}]},{"id":"3c9e76d2-d411-4808-a426-a738b2930b60","directory":"quad-fighter-k","title":"Quad Fighter K","compatibility":99,"releases":[{"id":"010067D00AC46000","region":null}]},{"id":"3ca3f698-23b3-4b69-89a8-cf1b179f53b9","directory":"coast-guard-beach-rescue-team","title":"Coast Guard: Beach Rescue Team","compatibility":99,"releases":[{"id":"01000EC01212E000","region":null}]},{"id":"3caa13fd-6e95-49f8-9076-fe09849d663f","directory":"star-ocean-first-departure-r","title":"STAR OCEAN First Departure R","compatibility":1,"releases":[{"id":"0100EBF00E702000","region":null}]},{"id":"3cad0c86-3f54-4503-9d0f-45fd0e2ca0d8","directory":"atomic-heist","title":"Atomic Heist","compatibility":99,"releases":[{"id":"01005FE00EC4E000","region":null}]},{"id":"3cbfd7de-79e7-45c6-b338-969b54a50594","directory":"sega-ages-puyo-puyo","title":"SEGA AGES Puyo Puyo","compatibility":2,"releases":[{"id":"01005F600CB0E000","region":null}]},{"id":"3cd1635c-3802-4e7a-872a-3c791ff20101","directory":"head-games","title":"Head Games","compatibility":99,"releases":[{"id":"0100CE001546E000","region":null}]},{"id":"3cd9eb98-d5ef-413c-80bd-00ca4dc58de7","directory":"hyperdrive-massacre","title":"Hyperdrive Massacre","compatibility":99,"releases":[{"id":"0100D4600E9B2000","region":null}]},{"id":"3ce4ffc2-59c2-4d27-bf43-f33cc07eae55","directory":"crypt-of-the-serpent-king","title":"Crypt of the Serpent King","compatibility":1,"releases":[{"id":"0100BA100E160000","region":null}]},{"id":"3cea0b7b-5d4f-4522-a64b-34e898c42969","directory":"super-meat-boy","title":"Super Meat Boy","compatibility":1,"releases":[{"id":"01004F8006A78000","region":null}]},{"id":"3cf06d1f-2461-4bea-a1d4-80303af36cd1","directory":"hero-pop","title":"Hero Pop","compatibility":99,"releases":[{"id":"010026F01162E000","region":null}]},{"id":"3cf58f47-e1af-4e68-a5c8-5a00a44367a0","directory":"magic-twins","title":"Magic Twins","compatibility":99,"releases":[{"id":"010036F014100000","region":null}]},{"id":"3cf6c26f-7cb1-456e-96d9-384761d2faee","directory":"arcade-archives-burger-time","title":"Arcade Archives Burger Time","compatibility":3,"releases":[{"id":"0100EBB012400000","region":null}]},{"id":"3cf93ff7-43ff-4929-9524-a1b8b45c885f","directory":"medulla","title":"Medulla","compatibility":99,"releases":[{"id":"01008A300F61E000","region":null}]},{"id":"3cfaecd3-8bb1-4583-ac34-2c49eb9cce16","directory":"hamsterdam","title":"Hamsterdam","compatibility":99,"releases":[{"id":"0100FA800DF86000","region":null}]},{"id":"3d232d04-1f63-4924-b285-d0ee6e95dcb5","directory":"kensh","title":"KenshÅ","compatibility":99,"releases":[{"id":"01000F000AAF0000","region":null}]},{"id":"3d3b1286-c51d-4c32-9816-315bc1de20f9","directory":"whiskey-mafia-franks-story","title":"Whiskey Mafia: Frank's Story","compatibility":99,"releases":[{"id":"0100B9A015AF6000","region":null}]},{"id":"3d4163d3-f838-45cc-81d9-5b1b8679844e","directory":"another-lost-phone-lauras-story","title":"Another Lost Phone: Laura's Story","compatibility":1,"releases":[{"id":"010008400A268000","region":null}]},{"id":"3d456046-8b7f-45b6-a13a-2ac8c87a1115","directory":"cadence-of-hyrule-crypt-of-the-necrodancer-featuring-the-legend-of-zelda","title":"Cadence of Hyrule – Crypt of the NecroDancer Featuring The Legend of Zelda","compatibility":0,"releases":[{"id":"01000B900D8B0000","region":null}]},{"id":"3d4ac65f-6ef9-49a6-84b5-26160302ace8","directory":"mad-rat-dead","title":"Mad Rat Dead","compatibility":1,"releases":[{"id":"0100E6701231C000","region":null}]},{"id":"3d5af242-bd82-4e08-a299-503c24102869","directory":"flaskoman","title":"Flaskoman","compatibility":99,"releases":[{"id":"010098E01645E000","region":null}]},{"id":"3d5c6dda-dc44-42a1-b2ff-de6feeb62592","directory":"yumenikki-dream-diary-","title":"YUMENIKKI -DREAM DIARY-","compatibility":3,"releases":[{"id":"0100D6B00CD88000","region":null}]},{"id":"3d5f91b1-9ee3-49cf-93b6-b96e945fbcf2","directory":"sky-gamblers-afterburner","title":"Sky Gamblers - Afterburner","compatibility":4,"releases":[{"id":"010003F00CC98000","region":null}]},{"id":"3d74f94a-fcef-4102-b76f-7ba4554116c2","directory":"sushi-time","title":"Sushi Time!","compatibility":99,"releases":[{"id":"010096300D9C0000","region":null}]},{"id":"3d7790e7-cc8f-4a28-93f5-02fd881ca8f5","directory":"zombiotik","title":"Zombiotik","compatibility":99,"releases":[{"id":"010045E01057E000","region":null}]},{"id":"3d77915f-c75a-4e46-84cb-44737e273ac3","directory":"screencheat-unplugged","title":"Screencheat: Unplugged","compatibility":99,"releases":[{"id":"01009BB00AD62000","region":null}]},{"id":"3d92595c-3044-467d-8e03-30678bfdf32b","directory":"arcade-archives-scramble","title":"Arcade Archives Scramble","compatibility":99,"releases":[{"id":"0100F9D00F176000","region":null}]},{"id":"3d962468-0605-4b5a-b687-ffad65333ac0","directory":"out-of-space-couch-edition","title":"Out of Space: Couch Edition","compatibility":99,"releases":[{"id":"0100C67011B14000","region":null}]},{"id":"3da721be-32f8-4469-9100-9e908b40bcc0","directory":"dungeon-of-the-endless","title":"Dungeon of the Endless","compatibility":1,"releases":[{"id":"010034300F0E2000","region":null}]},{"id":"3dae824b-c7a3-4ed1-af8d-59c177caec97","directory":"calculation-castle-grecos-ghostly-challenge-addition","title":"Calculation Castle : Greco's Ghostly Challenge \"Addition\"","compatibility":99,"releases":[{"id":"01004B500AB88000","region":null}]},{"id":"3db3aa1f-5fc3-4088-ae4e-6241f58802b7","directory":"otokomizu","title":"Otokomizu","compatibility":99,"releases":[{"id":"01006AA00EE44000","region":null}]},{"id":"3dbc85e1-2008-4d8b-93fe-39c7200cd129","directory":"sakura-succubus","title":"Sakura Succubus","compatibility":0,"releases":[{"id":"0100375012E50000","region":null}]},{"id":"3dd14364-6fc0-405b-a3c2-7f05e7ba3bc1","directory":"world-of-solitaire","title":"World Of Solitaire","compatibility":99,"releases":[{"id":"01009D50103E8000","region":null}]},{"id":"3de09d78-20b5-4404-b0f7-ccf34d22a5ab","directory":"aca-neogeo-the-last-blade","title":"ACA NEOGEO THE LAST BLADE","compatibility":4,"releases":[{"id":"0100A5A004FB2000","region":null}]},{"id":"3de70c9f-2c36-4e7e-aed5-d1a63c0b00af","directory":"professional-farmer-nintendo-switch-edition","title":"Professional Farmer: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"010077B00BDD8000","region":null}]},{"id":"3de7e3ea-c849-451e-bb3d-b41dee6122e0","directory":"balance-blox","title":"Balance Blox","compatibility":5,"releases":[{"id":"01000D700D2D6000","region":null}]},{"id":"3dea191e-669d-415c-9c84-548921fd0ecf","directory":"gyro-boss-dx","title":"Gyro Boss DX","compatibility":99,"releases":[{"id":"0100A8E00DB92000","region":null}]},{"id":"3df72b20-622e-4cdf-ac19-e90ec3a786a7","directory":"logic-puzzle-collection-sudoku-permudoku-nonodoku","title":"Logic Puzzle Collection: Sudoku - Permudoku - Nonodoku","compatibility":99,"releases":[{"id":"0100EEE012FE4000","region":null}]},{"id":"3df762e1-72ab-4212-a5ff-2bf09715897c","directory":"dont-sink","title":"Don't Sink","compatibility":99,"releases":[{"id":"0100C4D00B608000","region":null}]},{"id":"3e095e75-c70f-451e-a31a-8b508f4e212d","directory":"top-boat-racing-simulator-3d","title":"Top Boat: Racing Simulator 3D","compatibility":99,"releases":[{"id":"01001B9015E7A000","region":null}]},{"id":"3e098778-d647-4548-b02a-504552870184","directory":"star-wars-jedi-knight-ii-jedi-outcast","title":"STAR WARS Jedi Knight II: Jedi Outcast","compatibility":4,"releases":[{"id":"0100BB500EACA000","region":null}]},{"id":"3e0de233-2770-48c8-ba07-d3ab52846c1d","directory":"bash-the-bear","title":"Bash The Bear","compatibility":4,"releases":[{"id":"010023300CD52000","region":null}]},{"id":"3e16b16e-1336-40fc-94dc-6889bcf4126c","directory":"12-labours-of-hercules-iv-mother-nature","title":"12 Labours of Hercules IV: Mother Nature","compatibility":99,"releases":[{"id":"0100FD50148AA000","region":null}]},{"id":"3e19b5fa-f0f5-4589-b6ba-7bb81f538795","directory":"wheels-of-aurelia","title":"Wheels of Aurelia","compatibility":99,"releases":[{"id":"0100DFC00405E000","region":null}]},{"id":"3e25bcce-9ecf-42cd-a2e9-27cd7185ccc5","directory":"whispering-willows","title":"Whispering Willows","compatibility":1,"releases":[{"id":"010015A00AF1E000","region":null}]},{"id":"3e36dc2a-ebe9-412c-b9ff-e87a69f16ec6","directory":"zomb","title":"ZOMB","compatibility":99,"releases":[{"id":"0100E2B00E064000","region":null}]},{"id":"3e43759a-dc74-445e-b07a-32ff994e4cf2","directory":"dreaming-sarah","title":"Dreaming Sarah","compatibility":99,"releases":[{"id":"010048F012C24000","region":null}]},{"id":"3e46122a-323a-463c-bd06-6c535ec09c6c","directory":"gnomes-garden-new-home","title":"Gnomes Garden: New Home","compatibility":99,"releases":[{"id":"010085B00CCEE000","region":null}]},{"id":"3e47276b-8502-415a-9e57-c7a6b4a6fa5f","directory":"bards-gold-nintendo-switch-edition","title":"Bard's Gold - Nintendo Switch Edition","compatibility":5,"releases":[{"id":"0100DEB00D76E000","region":null}]},{"id":"3e4a1dc1-2215-4deb-b49e-89b9d1a2af34","directory":"hot-springs-story","title":"Hot Springs Story","compatibility":3,"releases":[{"id":"010090B00B1F0000","region":null}]},{"id":"3e51618f-c638-4252-82b1-053174e02c5e","directory":"repressed","title":"Repressed","compatibility":99,"releases":[{"id":"0100771011472000","region":null}]},{"id":"3e68b4fd-53db-4162-9210-f0a4283f3501","directory":"twist-bounce","title":"Twist&Bounce","compatibility":99,"releases":[{"id":"0100E18012A64000","region":null}]},{"id":"3e69c395-750d-4318-a708-ca093cba2d06","directory":"witch-hunter","title":"Witch Hunter","compatibility":99,"releases":[{"id":"0100E600151BC000","region":null}]},{"id":"3e6dd7e1-79f9-49e5-b25f-299c5836c5be","directory":"agony","title":"Agony","compatibility":3,"releases":[{"id":"010072600D21C000","region":null}]},{"id":"3e81a1ca-d054-4bb5-b1eb-c1d2e897eb1a","directory":"world-soccer-pinball","title":"World Soccer Pinball","compatibility":99,"releases":[{"id":"01001E300B038000","region":null}]},{"id":"3e85aee1-f560-469a-a7fa-005549f0e3da","directory":"yonder-the-cloud-catcher-chronicles","title":"Yonder: The Cloud Catcher Chronicles","compatibility":2,"releases":[{"id":"0100534009FF2000","region":null}]},{"id":"3e972a74-333f-4577-b520-672cc3b3c68a","directory":"strife-veteran-edition","title":"Strife: Veteran Edition","compatibility":4,"releases":[{"id":"0100BDE012928000","region":null}]},{"id":"3ea91cbd-d621-4bf3-a5ad-17a629a11d74","directory":"clumsy-rush","title":"Clumsy Rush","compatibility":99,"releases":[{"id":"010084201056A000","region":null}]},{"id":"3eb9f316-b195-4edb-9387-eb53dbed6c28","directory":"sky-rogue","title":"Sky Rogue","compatibility":99,"releases":[{"id":"0100C5700434C000","region":null}]},{"id":"3edcb8c3-3ece-4550-b839-4e46530171ae","directory":"bad-dream-coma","title":"Bad Dream: Coma","compatibility":99,"releases":[{"id":"01000CB00D094000","region":null}]},{"id":"3ee07ee3-7d29-4ba4-900b-02aaac245896","directory":"shinrai-broken-beyond-despair","title":"SHINRAI - Broken Beyond Despair","compatibility":99,"releases":[{"id":"0100F58016212000","region":null}]},{"id":"3ee3a360-f059-4c03-a43f-4724c64553dc","directory":"swimsanity","title":"Swimsanity!","compatibility":1,"releases":[{"id":"010049D00C8B0000","region":null}]},{"id":"3eeca59b-fe1a-4de7-834e-2342f030ad19","directory":"reventure","title":"Reventure","compatibility":99,"releases":[{"id":"0100E2E00EA42000","region":null}]},{"id":"3eed2a33-46c8-4fd7-b94f-c27fdc5afcd0","directory":"big-brain-academy-brain-vs-brain","title":"Big Brain Academyâ„¢: Brain vs. Brain","compatibility":3,"releases":[{"id":"0100620012D6E000","region":null}]},{"id":"3eefd188-1a22-4bd1-80e6-22e76c202563","directory":"symmetry","title":"SYMMETRY","compatibility":99,"releases":[{"id":"0100C1C00D01C000","region":null}]},{"id":"3ef38437-7a76-4ffb-90ed-f321577b611b","directory":"storm-in-a-teacup","title":"Storm In A Teacup","compatibility":99,"releases":[{"id":"0100B2300B932000","region":null}]},{"id":"3ef40d63-2b5a-45b8-8ccc-670eda961f70","directory":"make-a-killing","title":"Make a Killing","compatibility":99,"releases":[{"id":"010059F012984000","region":null}]},{"id":"3efa1d7e-d133-4315-8194-402b83c049bd","directory":"the-sisters-party-of-the-year","title":"The Sisters - Party of the Year","compatibility":99,"releases":[{"id":"0100F8F014080000","region":null}]},{"id":"3efa9838-838b-4e66-b88e-25f30f9ba069","directory":"amaneswitch","title":"雨音スイッム-AmaneSwitch-","compatibility":99,"releases":[{"id":"0100D12015CCA000","region":null}]},{"id":"3f085e2a-c210-4b28-bbba-149bd1661eaa","directory":"akash-path-of-the-five","title":"Akash: Path of the Five","compatibility":99,"releases":[{"id":"01009A800F0C8000","region":null}]},{"id":"3f0f3195-58d1-4fb3-8773-07c3850006f1","directory":"omg-zombies","title":"OMG Zombies!","compatibility":0,"releases":[{"id":"01006DB00D970000","region":null}]},{"id":"3f1208ce-8be1-4344-a081-c46acad6d2d4","directory":"missing-features-2d","title":"Missing Features: 2D","compatibility":2,"releases":[{"id":"0100E3601495C000","region":null}]},{"id":"3f129cf8-9e9e-4a61-a2c7-53890fa2a50c","directory":"drowning-demo","title":"Drowning (Demo)","compatibility":99,"releases":[{"id":"010049900D3C6000","region":null}]},{"id":"3f2e8f4d-f01d-45ee-93b0-b11fa7e89b55","directory":"henry-the-hamster-handler","title":"Henry The Hamster Handler","compatibility":0,"releases":[{"id":"010007E00A1A4000","region":null}]},{"id":"3f355aff-67c8-430d-9acf-9e39c7012912","directory":"castlevania-advance-collection","title":"Castlevania Advance Collection","compatibility":2,"releases":[{"id":"0100B33014710000","region":null}]},{"id":"3f391c1f-f3d0-4a93-9951-b793cd57c502","directory":"arcade-archives-frisky-tom","title":"Arcade Archives Frisky Tom","compatibility":99,"releases":[{"id":"0100B820144C2000","region":null}]},{"id":"3f4544c5-486e-402f-852d-cca71a220efa","directory":"windjammers","title":"Windjammers","compatibility":1,"releases":[{"id":"010048800B638000","region":null}]},{"id":"3f4f6bbb-a2fc-4ef4-9915-faa0bd733b31","directory":"karma-incarnation-1","title":"Karma. Incarnation 1","compatibility":99,"releases":[{"id":"0100FDD014EF0000","region":null}]},{"id":"3f5848f3-847d-45e9-97b3-de9b022b484d","directory":"super-beat-sports","title":"Super Beat Sports","compatibility":4,"releases":[{"id":"0100F7000464A000","region":null}]},{"id":"3f641703-0d90-4655-984a-d075d254056f","directory":"labyrinth-city-pierre-the-maze-detective","title":"Labyrinth City: Pierre the Maze Detective","compatibility":1,"releases":[{"id":"01000D50144D2000","region":null}]},{"id":"3f6b4e28-bb9f-4af5-870c-7f29fb83b686","directory":"thronebreaker-the-witcher-tales","title":"Thronebreaker: The Witcher Tales","compatibility":2,"releases":[{"id":"0100E910103B4000","region":null}]},{"id":"3f6f6be1-373e-4205-bf21-13e881583df9","directory":"war-solution-casual-math-game","title":"War Solution - Casual Math Game","compatibility":99,"releases":[{"id":"01001B0013A50000","region":null}]},{"id":"3f75b2a3-a53f-4266-a277-d328fdd8e21b","directory":"zero-strain","title":"Zero Strain","compatibility":1,"releases":[{"id":"01004B001058C000","region":null}]},{"id":"3f7ceea6-f2cf-466c-b88c-be83a538f81a","directory":"hammerwatch","title":"Hammerwatch","compatibility":4,"releases":[{"id":"01003B9007E86000","region":null}]},{"id":"3f7dc597-f2e5-4df0-9d01-3c2d0357cf3d","directory":"rollercoaster-tycoon-adventures","title":"RollerCoaster Tycoon Adventures","compatibility":1,"releases":[{"id":"0100E3900B598000","region":null}]},{"id":"3f8c83d1-dd8f-483a-a72b-b448eb3c2d1d","directory":"chameleon","title":"Chameleon","compatibility":99,"releases":[{"id":"0100DA900FCEA000","region":null}]},{"id":"3f926382-6c4f-4c5d-a598-744f8ae2bbdf","directory":"void-bastards","title":"Void Bastards","compatibility":1,"releases":[{"id":"0100D010113A8000","region":null}]},{"id":"3f968a2a-7a34-47c0-a6f9-91750c023e5c","directory":"caesar-empire-war","title":"CAESAR EMPIRE WAR","compatibility":99,"releases":[{"id":"0100B7E0153A2000","region":null}]},{"id":"3faa3f63-5488-42ef-a462-19d5d287c362","directory":"ultra-hyperball","title":"Ultra Hyperball","compatibility":99,"releases":[{"id":"01009C000415A000","region":null}]},{"id":"3fb592f0-a8af-4479-b48e-d7e8713406a8","directory":"hellmut-the-badass-from-hell","title":"Hellmut: The Badass from Hell","compatibility":99,"releases":[{"id":"0100A0300D1A0000","region":null}]},{"id":"3fbeb66d-ab1d-463c-904b-e4952f9feafc","directory":"asterix-obelix-xxl-3-the-crystal-menhir","title":"Asterix & Obelix XXL 3  - The Crystal Menhir","compatibility":3,"releases":[{"id":"010081500EA1E000","region":null}]},{"id":"3fc03bd7-d0ec-4344-a7f8-8d428ec615e6","directory":"one-piece-unlimited-world-red-deluxe-edition","title":"ONE PIECE: Unlimited World Red Deluxe Edition","compatibility":1,"releases":[{"id":"0100574002AF4000","region":null}]},{"id":"3fca3f67-751d-41ce-a94a-9d719498767e","directory":"kingdom-tales","title":"Kingdom Tales","compatibility":99,"releases":[{"id":"0100DBE013B78000","region":null}]},{"id":"3ffa3e6b-2881-4a0b-b07b-13071e342aca","directory":"super-disc-soccer","title":"Super Disc Soccer","compatibility":99,"releases":[{"id":"01002AB014B34000","region":null}]},{"id":"3fffab85-965f-49ef-8d98-702b3ee5ca02","directory":"the-silver-case-2425","title":"The Silver Case 2425","compatibility":2,"releases":[{"id":"0100F1701434E000","region":null}]},{"id":"400e00a7-3551-4964-9152-1b343975d41b","directory":"code-realize-~guardian-of-rebirth~","title":"Code: Realize ~Guardian of Rebirth~","compatibility":0,"releases":[{"id":"010021D00F404000","region":null}]},{"id":"4015b323-8bae-4e73-9a2c-a1cf049ceeca","directory":"dragon-audit","title":"Dragon Audit","compatibility":99,"releases":[{"id":"0100DBC00BD5A000","region":null}]},{"id":"401fca48-94bd-4d68-bd8e-9352fcfdf5bf","directory":"missile-command-recharged","title":"Missile Command: Recharged","compatibility":0,"releases":[{"id":"0100745011D28000","region":null}]},{"id":"40281524-9302-498e-b09e-05eced12b569","directory":"hollow","title":"Hollow","compatibility":99,"releases":[{"id":"0100F210061E8000","region":null}]},{"id":"403284be-f6b5-4cfa-bd19-f918d5dcf51d","directory":"conjurer-andys-repeatable-dungeon","title":"Conjurer Andy's Repeatable Dungeon","compatibility":99,"releases":[{"id":"0100C8500CBC4000","region":null}]},{"id":"4037bc6e-1381-470d-bd41-bf5a08d1b221","directory":"american-hero","title":"American Hero","compatibility":99,"releases":[{"id":"01004D6013EE4000","region":null}]},{"id":"40383df6-ad2b-465b-b63e-2cb21dc488ea","directory":"arcade-archives-hyper-sports","title":"Arcade Archives HYPER SPORTS","compatibility":99,"releases":[{"id":"010065C00F976000","region":null}]},{"id":"403ee0be-8245-459d-8c71-efbae4b87803","directory":"oddmar","title":"Oddmar","compatibility":0,"releases":[{"id":"01001F100FA04000","region":null}]},{"id":"4059e641-85df-4174-87a7-6e94d46b9aa4","directory":"wartile","title":"WARTILE","compatibility":99,"releases":[{"id":"0100CD900FB24000","region":null}]},{"id":"40664a1e-ddd9-4a8e-a80e-c3d7feb80403","directory":"kontrakt","title":"Kontrakt","compatibility":99,"releases":[{"id":"01008A6014E8E000","region":null}]},{"id":"40697286-0795-4763-bbbe-d51319dfd4fd","directory":"gato-roboto","title":"Gato Roboto","compatibility":5,"releases":[{"id":"010025500C098000","region":null}]},{"id":"40764927-354a-4471-9e01-d2e83f4067df","directory":"retro-classix-2in1-pack-bad-dudes-two-crude-dudes","title":"Retro Classix 2in1 pack: Bad Dudes & Two Crude Dudes","compatibility":99,"releases":[{"id":"0100772012186000","region":null}]},{"id":"4077bf7e-90b6-4d17-811b-4532f98ab403","directory":"lost-artifacts-time-machine","title":"Lost Artifacts: Time Machine","compatibility":99,"releases":[{"id":"010005400EC0C000","region":null}]},{"id":"408c60d3-e897-4ce7-bf6a-a09275ba14d9","directory":"puzzle-puppers-demo","title":"Puzzle Puppers Demo","compatibility":99,"releases":[{"id":"010021300ABDE000","region":null}]},{"id":"40bd02c3-235e-4834-a2d8-01a86cd38054","directory":"blizzard-r-arcade-collection","title":"Blizzard® Arcade Collection","compatibility":5,"releases":[{"id":"0100743013D56000","region":null}]},{"id":"40c4d81c-2e47-4164-9705-8617aaa5671f","directory":"ok-ko-lets-play-heroes","title":"OK K.O.! Let’s Play Heroes","compatibility":99,"releases":[{"id":"010030B00B2F6000","region":null}]},{"id":"40c7060c-fee5-4f07-b7a4-0575a16cf5fc","directory":"saints-row-iv-re-elected","title":"Saints Row IV: Re-Elected","compatibility":3,"releases":[{"id":"01008D100D43E000","region":null}]},{"id":"40ceca45-27ff-4b9a-8f71-ad2f7105d449","directory":"the-forgotten-city-cloud-version","title":"The Forgotten City - Cloud Version","compatibility":99,"releases":[{"id":"01009830159CA000","region":null}]},{"id":"40d39270-5e04-48d8-a0f2-68aac7405e3e","directory":"weakwood-throne","title":"WeakWood Throne","compatibility":99,"releases":[{"id":"0100011012A70000","region":null}]},{"id":"40d607ac-f0c6-44b1-84a4-e1f57ad794a3","directory":"the-gardens-between","title":"The Gardens Between","compatibility":2,"releases":[{"id":"0100B13007A6A000","region":null}]},{"id":"40d7aa7d-392d-43f6-a110-f99ece6c83d0","directory":"buissons","title":"Buissons","compatibility":99,"releases":[{"id":"010040F015A58000","region":null}]},{"id":"40da9f43-5421-4d78-b239-1bb24a6ff6d8","directory":"spooky-ghosts-dot-com","title":"Spooky Ghosts Dot Com","compatibility":99,"releases":[{"id":"0100C6100D75E000","region":null}]},{"id":"40dc0daa-9a6b-498c-96a7-52532a9397fe","directory":"kingdoms-of-amalur-re-reckoning","title":"Kingdoms of Amalur: Re-Reckoning","compatibility":2,"releases":[{"id":"0100EF50132BE000","region":null}]},{"id":"40dde633-5577-49f7-9cf0-a3f45d2bd720","directory":"loco-sports","title":"LocO-SportS","compatibility":99,"releases":[{"id":"0100BA000FC9C000","region":null}]},{"id":"40e68bb0-53e1-4934-91d9-9c43bbf49fcd","directory":"i-wanna-fly","title":"I wanna fly","compatibility":99,"releases":[{"id":"010025C00D8A2000","region":null}]},{"id":"40eba49c-c81f-4c4f-b953-8f0f4c3d2ded","directory":"indie-puzzle-bundle-vol-1","title":"Indie Puzzle Bundle Vol 1","compatibility":99,"releases":[{"id":"0100A2101107C000","region":null}]},{"id":"40efaa20-2c73-4035-9a07-6497572e4f07","directory":"arcade-archives-yie-ar-kung-fu","title":"Arcade Archives Yie Ar KUNG-FU","compatibility":99,"releases":[{"id":"01003FB00E954000","region":null}]},{"id":"40f56e13-674a-4270-85f3-b812c9293cd0","directory":"antonball-deluxe","title":"Antonball Deluxe","compatibility":99,"releases":[{"id":"01007330142E0000","region":null}]},{"id":"41073382-1387-4541-bdad-dd7211bed571","directory":"forager","title":"Forager","compatibility":5,"releases":[{"id":"01001D200BCC4000","region":null}]},{"id":"410a1745-51fc-4268-ac05-e8b2a2816f26","directory":"among-us","title":"Among Us","compatibility":4,"releases":[{"id":"0100B0C013912000","region":null}]},{"id":"41153b90-f364-44f7-83f1-ad546777226a","directory":"arcade-archives-guzzler","title":"Arcade Archives GUZZLER","compatibility":99,"releases":[{"id":"010025E01450E000","region":null}]},{"id":"41153ccb-3e3f-436a-9ab5-900194d0dd0c","directory":"gun-skaters","title":"Gun Skaters","compatibility":99,"releases":[{"id":"010055601349E000","region":null}]},{"id":"4132bd2a-3ad3-4349-b1e6-0277fc2715b3","directory":"blink-rogues","title":"Blink: Rogues","compatibility":99,"releases":[{"id":"0100FAC0148C2000","region":null}]},{"id":"41338c70-db0b-49ec-ae1b-bece1ec97292","directory":"dusty-raging-fist","title":"Dusty Raging Fist","compatibility":99,"releases":[{"id":"010097D00402C000","region":null}]},{"id":"413de0cd-90bd-4549-8a4c-b06c753f45aa","directory":"dirt-trackin-2","title":"Dirt Trackin 2","compatibility":99,"releases":[{"id":"0100695011280000","region":null}]},{"id":"4141b54e-c26c-46c6-8493-2c7a33663f12","directory":"lets-sing-2018","title":"Let's Sing 2018","compatibility":3,"releases":[{"id":"0100ECB00A0FC000","region":null}]},{"id":"41476934-8aa3-448b-b250-3801cfb3cf9b","directory":"azure-striker-gunvolt-striker-pack","title":"Azure Striker GUNVOLT: STRIKER PACK","compatibility":1,"releases":[{"id":"0100192003FA4000","region":null}]},{"id":"414d994e-926c-4832-a9e1-2d7fbabebba7","directory":"pool-billiard","title":"Pool BILLIARD","compatibility":99,"releases":[{"id":"0100F490066A6000","region":null}]},{"id":"41689744-625f-4c81-a705-060d1d861783","directory":"glass-masquerade-double-pack","title":"Glass Masquerade Double Pack","compatibility":99,"releases":[{"id":"01002FD01191A000","region":null}]},{"id":"416b3ebc-efeb-436c-b179-0ff94461af38","directory":"womenup-super-puzzles-dream","title":"#womenUp, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01003DB011AE8000","region":null}]},{"id":"416c3f31-308a-4d21-8f04-52315cf0bab1","directory":"ailment","title":"Ailment","compatibility":2,"releases":[{"id":"01006E8011C1E000","region":null}]},{"id":"419c8c02-5ac0-4bd0-9c75-b3378f49b568","directory":"sausage-sports-club","title":"Sausage Sports Club","compatibility":0,"releases":[{"id":"01006EE00380C000","region":null}]},{"id":"419d6ea0-8af3-4d91-ae55-52e5efabe126","directory":"ara-fell-enhanced-edition","title":"Ara Fell: Enhanced Edition","compatibility":0,"releases":[{"id":"010080B0115BA000","region":null}]},{"id":"41a6cee7-b8d6-4b69-b024-cc5a54481b19","directory":"sturmfront-the-mutant-war-ubel-edition","title":"SturmFront - The Mutant War: Ãœbel Edition","compatibility":0,"releases":[{"id":"010029701420A000","region":null}]},{"id":"41acef75-39a8-412a-88d7-c4e31389acfc","directory":"new-super-luckys-tale","title":"New Super Lucky's Tale","compatibility":1,"releases":[{"id":"010017700B6C2000","region":null}]},{"id":"41be1343-e2a9-4a64-9033-2b181b328d28","directory":"shark-copter-vs-zombie-dancers","title":"Shark Copter vs. Zombie Dancers","compatibility":99,"releases":[{"id":"01007D50136DE000","region":null}]},{"id":"41bf9b3f-6785-49db-998c-6f3761667e07","directory":"sophias-world","title":"Sophia's World","compatibility":99,"releases":[{"id":"0100952016222000","region":null}]},{"id":"41cb6f85-7e57-4b35-b8f1-ca76aa5e2cb6","directory":"under-depths-of-fear","title":"Under: Depths of Fear","compatibility":99,"releases":[{"id":"0100E4C013280000","region":null}]},{"id":"41d185f9-4472-4342-94cb-f59b5a1c5ff1","directory":"battle-hunters","title":"Battle Hunters","compatibility":99,"releases":[{"id":"0100A3B011EDE000","region":null}]},{"id":"41ddfeab-77db-4de9-92cc-21f72f8d368a","directory":"poker-texas-omaha-holdem","title":"Poker - Texas & Omaha Hold'em","compatibility":99,"releases":[{"id":"0100BF10168C8000","region":null}]},{"id":"41dfd715-461f-42c0-99c6-0eb41f6d1e06","directory":"potion-party","title":"Potion Party","compatibility":0,"releases":[{"id":"01000A4014596000","region":null}]},{"id":"41e74317-494a-4f1c-99d0-814d3e949175","directory":"colt-canyon","title":"Colt Canyon","compatibility":99,"releases":[{"id":"0100B9801210A000","region":null}]},{"id":"41f17264-3f9b-4465-8bfb-a43f57d4186f","directory":"midnight-deluxe-demo","title":"Midnight Deluxe Demo","compatibility":99,"releases":[{"id":"0100ACC00A56E000","region":null}]},{"id":"41fce889-170a-4e05-9685-c349adfe83f2","directory":"soldam-drop-connect-erase","title":"Soldam: Drop, Connect, Erase","compatibility":99,"releases":[{"id":"0100A290048B0000","region":null}]},{"id":"420117b5-3aa7-460e-b5fb-90e99e7c1efe","directory":"snipperclips-cut-it-out-together-demo","title":"Snipperclips – Cut it out, together! â„¢ Demo","compatibility":99,"releases":[{"id":"0100D87002EE0000","region":null}]},{"id":"420a9ec9-a29a-4d0b-a03b-aa1b5a9b6922","directory":"galaxy-champions-tv","title":"Galaxy Champions TV","compatibility":1,"releases":[{"id":"010023500EF76000","region":null}]},{"id":"42169e65-311d-4b3f-b65c-623db1822c1a","directory":"warface","title":"Warface","compatibility":99,"releases":[{"id":"0100D1E00E972000","region":null}]},{"id":"4219fd53-8a6f-4e96-830f-acc49b6d5722","directory":"arcade-archives-a-jax","title":"Arcade Archives A-JAX","compatibility":99,"releases":[{"id":"0100C240148E4000","region":null}]},{"id":"42278096-42e0-4636-81d5-6351607cd8b8","directory":"apex-legends","title":"Apex Legendsâ„¢","compatibility":99,"releases":[{"id":"0100D9500FC66000","region":null}]},{"id":"4233c036-603e-49e8-919d-558134a446b2","directory":"gems-of-magic-lost-family","title":"Gems of Magic: Lost Family","compatibility":99,"releases":[{"id":"0100383012DF2000","region":null}]},{"id":"42394bba-53cf-4d64-a1ba-8b613656d951","directory":"interrogation-you-will-be-deceived","title":"Interrogation: You will be deceived","compatibility":99,"releases":[{"id":"010041501005E000","region":null}]},{"id":"42409727-05a3-41cc-8826-ce4f1cf89d47","directory":"rev-up-rc-grand-prix","title":"Rev Up! RC Grand Prix","compatibility":0,"releases":[{"id":"0100CED014550000","region":null}]},{"id":"42453b0d-7d4c-4192-8e42-fa88547aecbb","directory":"served","title":"Served!","compatibility":99,"releases":[{"id":"0100B2C00E4DA000","region":null}]},{"id":"424f096a-abff-48bf-b96e-91cb30921a9a","directory":"war-torn-dreams","title":"War-Torn Dreams","compatibility":99,"releases":[{"id":"0100563011B4A000","region":null}]},{"id":"424f92bb-fca3-4347-9467-60eac35f9a3d","directory":"retro-classix-collection-1-data-east","title":"Retro Classix Collection #1: Data East","compatibility":99,"releases":[{"id":"010049E01218C000","region":null}]},{"id":"4252dc69-e388-4a9e-a75e-0f8443861627","directory":"witch-and-hero-2","title":"Witch & Hero 2","compatibility":0,"releases":[{"id":"0100F4F00FD4E000","region":null}]},{"id":"42666021-bbd4-46ac-afb9-0400809bdc90","directory":"queens-quest-2-stories-of-forgotten-past","title":"Queen's Quest 2: Stories of Forgotten Past","compatibility":99,"releases":[{"id":"01004C400CCCA000","region":null}]},{"id":"42724e27-0773-4fd0-829c-ec07981f064d","directory":"flipon","title":"Flipon","compatibility":99,"releases":[{"id":"01007800122C8000","region":null}]},{"id":"4272fbf0-0361-4dac-bafe-84147bd1edc0","directory":"mastho-is-together","title":"Mastho is Together","compatibility":0,"releases":[{"id":"01006F50152B8000","region":null}]},{"id":"427a15f9-eb07-4531-b4e0-3b303d5e0b85","directory":"aca-neogeo-samurai-shodown-v-special","title":"ACA NEOGEO SAMURAI SHODOWN V SPECIAL","compatibility":5,"releases":[{"id":"010049F00AFE8000","region":null}]},{"id":"427e92cf-b78e-4856-8d54-7699b6d0509f","directory":"johnny-turbos-arcade-nitro-ball","title":"Johnny Turbo's Arcade: Nitro Ball","compatibility":99,"releases":[{"id":"0100D07002CD6000","region":null}]},{"id":"42a12e5f-6a06-4792-bea1-b02a7da569e1","directory":"american-fugitive","title":"American Fugitive","compatibility":1,"releases":[{"id":"010002B00C534000","region":null}]},{"id":"42ac82db-7ab9-4d17-a876-414e17e23cd3","directory":"world-cruise-story","title":"World Cruise Story","compatibility":99,"releases":[{"id":"01001CC00D522000","region":null}]},{"id":"42bc0f13-5fc5-4dbb-8efe-3e28946a27ff","directory":"octahedron-transfixed-edition-demo","title":"Octahedron: Transfixed Edition Demo","compatibility":99,"releases":[{"id":"010092D00CC12000","region":null}]},{"id":"42ccae15-130a-4cd2-bb03-51fdb5d976b6","directory":"sega-ages-shinobi","title":"SEGA AGES Shinobi","compatibility":0,"releases":[{"id":"010076800E30E000","region":null}]},{"id":"42d92306-0c6f-4945-864d-60c2b374136e","directory":"bullet-trail","title":"Bullet Trail","compatibility":99,"releases":[{"id":"010057B013CA2000","region":null}]},{"id":"42facacc-8e06-40d6-b837-d812b77cac0d","directory":"my-little-fast-food-booth","title":"My little fast food booth","compatibility":99,"releases":[{"id":"0100A27014B36000","region":null}]},{"id":"43071d1a-a193-40e3-991e-04d420518239","directory":"barrier-x","title":"BARRIER X","compatibility":0,"releases":[{"id":"01007D100F1A6000","region":null}]},{"id":"431cd89f-1843-4f77-9f43-1a0f0c0dfd8b","directory":"tank-battle-retro","title":"Tank Battle Retro","compatibility":99,"releases":[{"id":"0100401014ED8000","region":null}]},{"id":"43226300-fe6a-46e1-a1e0-481b98917ec1","directory":"ivanych-vs-eared-beast","title":"Ivanych vs Eared Beast","compatibility":99,"releases":[{"id":"01002D400CCF4000","region":null}]},{"id":"4329b92e-66f4-4c7a-b312-fe95b48da20b","directory":"fuga-melodies-of-steel","title":"Fuga: Melodies of Steel","compatibility":99,"releases":[{"id":"01000130120EE000","region":null}]},{"id":"432a5781-39e5-4919-9dcb-5525f3dd0f1f","directory":"de-blob-2","title":"de Blob 2","compatibility":1,"releases":[{"id":"010034E00A114000","region":null}]},{"id":"4336e865-0068-416a-8f19-68a19c1ba32e","directory":"aca-neogeo-street-hoop","title":"ACA NEOGEO STREET HOOP","compatibility":99,"releases":[{"id":"0100CE1004FA6000","region":null}]},{"id":"43419ec0-5a8a-4bd4-b8b0-23049dfa15b6","directory":"aca-neogeo-ghost-pilots","title":"ACA NEOGEO GHOST PILOTS","compatibility":1,"releases":[{"id":"01005D700A2F8000","region":null}]},{"id":"434fda1e-d352-423c-be20-15baef828ae5","directory":"shape-suitable","title":"SHAPE SUITABLE","compatibility":99,"releases":[{"id":"0100737015768000","region":null}]},{"id":"43528d9a-7072-4ad6-ae90-1bcd66baac1d","directory":"cubikolor","title":"Cubikolor","compatibility":5,"releases":[{"id":"010096500B018000","region":null}]},{"id":"43561796-1cbd-4191-9dbb-6a83f8193422","directory":"battle-axe","title":"Battle Axe","compatibility":0,"releases":[{"id":"0100747011890000","region":null}]},{"id":"435b5b71-aa61-473f-b89c-953e503aeed9","directory":"travel-mosaics-2-roman-holiday","title":"Travel Mosaics 2: Roman Holiday","compatibility":99,"releases":[{"id":"0100A8D010BFA000","region":null}]},{"id":"4366133d-45dd-4285-acac-19af988f0589","directory":"refreshing-sideways-puzzle-ghost-hammer","title":"Refreshing Sideways Puzzle  Ghost Hammer","compatibility":99,"releases":[{"id":"01003AA00F5C4000","region":null}]},{"id":"436a0eb3-f4bc-44f0-b548-25b7fd62b812","directory":"bleed-complete-bundle","title":"Bleed Complete Bundle","compatibility":0,"releases":[{"id":"010006001107E000","region":null}]},{"id":"436f47cb-d4c4-41bd-adca-1948ccf8f0d1","directory":"arcade-archives-guerrilla-war","title":"Arcade Archives GUERRILLA WAR","compatibility":99,"releases":[{"id":"01003F4011D34000","region":null}]},{"id":"43729d38-ef7f-4e52-ac5d-9b3db02d2bea","directory":"picross-s5","title":"PICROSS S5","compatibility":1,"releases":[{"id":"0100AC30133EC000","region":null}]},{"id":"4374711a-0d14-4339-9bc9-46b0b20032a9","directory":"elli","title":"Elli","compatibility":1,"releases":[{"id":"010073C00BDB0000","region":null}]},{"id":"43871d22-cc1d-495c-a07a-b9d13d528d73","directory":"deer-drive-legends","title":"Deer Drive Legends","compatibility":3,"releases":[{"id":"0100C8900DC54000","region":null}]},{"id":"438a9e6e-498d-4bf5-8b1b-80e26f6ce940","directory":"the-smurfs-mission-vileaf","title":"The Smurfs - Mission Vileaf","compatibility":4,"releases":[{"id":"010040A01407E000","region":null}]},{"id":"43934c3d-391e-4afa-b73f-16784b4ec191","directory":"reminiscence-in-the-night","title":"Reminiscence in the Night","compatibility":99,"releases":[{"id":"0100B9A01631E000","region":null}]},{"id":"4393a498-f804-499c-b692-0f40ba7b348d","directory":"robotics-notes-elite","title":"ROBOTICS;NOTES ELITE","compatibility":99,"releases":[{"id":"01002A900EE8A000","region":null}]},{"id":"439f4a84-37d9-499e-a6d8-974fc0637184","directory":"scourgebringer","title":"ScourgeBringer","compatibility":4,"releases":[{"id":"01005F7011950000","region":null}]},{"id":"43a67184-1ac2-4b2b-909f-f5b4528a929c","directory":"monster-sanctuary","title":"Monster Sanctuary","compatibility":0,"releases":[{"id":"0100A0F00DA68000","region":null}]},{"id":"43afb751-2063-4635-96bc-d62b18e7636a","directory":"pokemon-mystery-dungeon-rescue-team-dx","title":"Pokémon Mystery Dungeon: Rescue Team DX","compatibility":1,"releases":[{"id":"01003D200BAA2000","region":null}]},{"id":"43b3be95-274f-4a50-bdeb-90501132eb3e","directory":"pong-quest","title":"PONG Quest","compatibility":99,"releases":[{"id":"010069900FD68000","region":null}]},{"id":"43b70ab2-d73a-4e36-b7ea-947708d15713","directory":"johnny-turbos-arcade-heavy-burger","title":"Johnny Turbo's Arcade: Heavy Burger","compatibility":99,"releases":[{"id":"010060400BA9A000","region":null}]},{"id":"43c19023-b8f1-48a7-b64f-414dd7ea25da","directory":"tears-of-avia","title":"Tears of Avia","compatibility":99,"releases":[{"id":"010076E0150CC000","region":null}]},{"id":"43c64ebc-6cb8-4a5f-b1d4-396eb03d9192","directory":"atelier-ayesha-the-alchemist-of-dusk-dx","title":"Atelier Ayesha: The Alchemist of Dusk DX","compatibility":1,"releases":[{"id":"0100D9D00EE8C000","region":null}]},{"id":"43c88a89-d8f2-4b69-a8e2-c183897004d8","directory":"nairi-tower-of-shirin","title":"NAIRI: Tower of Shirin","compatibility":99,"releases":[{"id":"0100A6F00AC70000","region":null}]},{"id":"43cf0473-34d8-446d-a386-0eb56e90da8e","directory":"relic-hunters-zero-remix","title":"Relic Hunters Zero: Remix","compatibility":99,"releases":[{"id":"0100534011012000","region":null}]},{"id":"43f6780a-a209-4f41-89cf-ff967c5cdafe","directory":"super-trench-attack","title":"SUPER TRENCH ATTACK","compatibility":99,"releases":[{"id":"010079100CD8A000","region":null}]},{"id":"440f1150-18e3-44b4-a3c1-fb4a208605e5","directory":"pocket-rumble","title":"Pocket Rumble","compatibility":2,"releases":[{"id":"01007C600294E000","region":null}]},{"id":"441903d5-e8f7-431f-b80e-4804bd9574e5","directory":"wave-break","title":"Wave Break","compatibility":99,"releases":[{"id":"01006D801367E000","region":null}]},{"id":"4424ccd4-171b-4a41-9415-96f53bf93013","directory":"acalesia","title":"Acalesia","compatibility":99,"releases":[{"id":"010092E014400000","region":null}]},{"id":"442a62d3-e8f6-4917-b4a9-29a2e42f253b","directory":"art-sqool","title":"Art Sqool","compatibility":99,"releases":[{"id":"01006AA013086000","region":null}]},{"id":"442ebcab-7fff-4185-8b0e-1c435aa15b0c","directory":"crash-drive-3","title":"Crash Drive 3","compatibility":99,"releases":[{"id":"0100E2A00FA2C000","region":null}]},{"id":"4438b9bc-b6a8-4257-b82f-dc25f5f692aa","directory":"the-executioner","title":"The Executioner","compatibility":1,"releases":[{"id":"0100C2E0129A6000","region":null}]},{"id":"443daf2c-775a-4148-8cdb-7d042132be10","directory":"3-out-of-10-season-one","title":"3 out of 10: Season One","compatibility":99,"releases":[{"id":"01001AD013B16000","region":null}]},{"id":"4449fecb-ea1a-4e63-8675-e551e9738e7d","directory":"asmr-journey-jigsaw-puzzle","title":"ASMR Journey - Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01001B801495A000","region":null}]},{"id":"444d40f5-ecda-4b73-85dd-ab8a34f267de","directory":"sumer","title":"Sumer","compatibility":99,"releases":[{"id":"01002DD004972000","region":null}]},{"id":"4458f2bd-d295-45a6-9066-2a0738877c8d","directory":"stardrone","title":"StarDrone","compatibility":99,"releases":[{"id":"01007D200C512000","region":null}]},{"id":"445a436d-67c5-473c-bf79-eddb5ff5f40f","directory":"bombing-busters","title":"Bombing Busters","compatibility":99,"releases":[{"id":"0100E7E00C4CA000","region":null}]},{"id":"445d4af6-e7c0-4901-8ef6-f058e0776373","directory":"ellipsis","title":"Ellipsis","compatibility":99,"releases":[{"id":"010058401223E000","region":null}]},{"id":"4462450c-d7af-4a8e-9f3c-8cbd2d277669","directory":"a-short-hike","title":"A Short Hike","compatibility":0,"releases":[{"id":"01004890117B2000","region":null}]},{"id":"446c608b-02ba-48a3-89a0-dd37c3be2b72","directory":"solitaire-klondike-minimal","title":"Solitaire Klondike Minimal","compatibility":99,"releases":[{"id":"01004AF012576000","region":null}]},{"id":"446fbe08-6b78-4b9c-907b-3f2cffb84c45","directory":"wizard-of-legend","title":"Wizard of Legend","compatibility":2,"releases":[{"id":"0100522007AAA000","region":null}]},{"id":"4476244e-ca8c-4d94-8ff5-d90720a7ba75","directory":"sphinx-and-the-cursed-mummy","title":"Sphinx and the Cursed Mummy","compatibility":5,"releases":[{"id":"0100BD500BA94000","region":null}]},{"id":"4484eac9-1fd7-4c2b-9c14-f7bef3aa05aa","directory":"disease-hidden-object-","title":"Disease -Hidden Object-","compatibility":3,"releases":[{"id":"01005E600AB64000","region":null}]},{"id":"449519fc-9eba-4e77-abd4-293b95d37f57","directory":"is-it-wrong-to-try-to-pick-up-girls-in-a-dungeon-familia-myth-infinite-combate","title":"Is It Wrong to Try to Pick Up Girls in a Dungeon? Familia Myth Infinite Combate","compatibility":1,"releases":[{"id":"010063E0104BE000","region":null}]},{"id":"44985db8-61b8-4a6c-9b10-a48c9c379330","directory":"superbeat-xonic","title":"SUPERBEAT: XONiC","compatibility":0,"releases":[{"id":"01007020044F0000","region":null}]},{"id":"44bfa7aa-3930-4b81-8a14-379d12fa232a","directory":"smilebasic-4","title":"SmileBASIC 4","compatibility":99,"releases":[{"id":"0100C9100B06A000","region":null}]},{"id":"44ccde1b-36c3-4960-931e-b543f39dd6dc","directory":"miitopia","title":"Miitopiaâ„¢","compatibility":3,"releases":[{"id":"01003DA010E8A000","region":null}]},{"id":"44cec55a-9b0c-451b-a957-a1fd7e89740f","directory":"get-me-outta-here","title":"Get Me Outta Here","compatibility":2,"releases":[{"id":"01006DC00FA0A000","region":null}]},{"id":"44d3a231-daa5-4879-9e03-997a24982486","directory":"doodle-god-evolution-demo","title":"Doodle God : Evolution Demo","compatibility":99,"releases":[{"id":"0100E2700D5B6000","region":null}]},{"id":"44d76032-8223-4655-8a06-484b3619fc47","directory":"sir-lovelot","title":"Sir Lovelot","compatibility":99,"releases":[{"id":"0100E9201410E000","region":null}]},{"id":"44d99777-833f-481c-9763-c6acecd731a7","directory":"negative-the-way-of-shinobi","title":"Negative: The Way of Shinobi","compatibility":99,"releases":[{"id":"01008390136FC000","region":null}]},{"id":"44e086be-6033-4a93-b700-83ece7415afc","directory":"war-dogs-reds-return","title":"War Dogs: Red's Return","compatibility":99,"releases":[{"id":"010056901285A000","region":null}]},{"id":"44f4611c-bd54-4f52-a610-ebe1e588e6a3","directory":"in-vert","title":"IN-VERT","compatibility":99,"releases":[{"id":"010003A00EA90000","region":null}]},{"id":"44f8daf5-4613-40dd-bdf6-7e1fb8c3c71b","directory":"color-zen","title":"Color Zen","compatibility":1,"releases":[{"id":"0100CA100C0BA000","region":null}]},{"id":"44fc8048-12ce-4f97-9a85-dd23339c8c96","directory":"hyrule-warriors-definitive-edition","title":"Hyrule Warriors: Definitive Edition","compatibility":2,"releases":[{"id":"0100AE00096EA000","region":null}]},{"id":"4505b005-6936-4bd5-a843-9f71f514baf5","directory":"magical-maze","title":"Magical Maze","compatibility":99,"releases":[{"id":"01004670143D8000","region":null}]},{"id":"450af1f7-3731-4a5d-889c-ec85f1e2285f","directory":"retro-arcade-shooter-attack-from-pluto","title":"Retro Arcade Shooter - Attack from Pluto","compatibility":1,"releases":[{"id":"010067D012972000","region":null}]},{"id":"451ca35f-4fdb-4430-bfa8-3b000ab8e15c","directory":"azuran-tales-trials","title":"Azuran Tales: TRIALS","compatibility":99,"releases":[{"id":"0100C7D00DE24000","region":null}]},{"id":"451f5a30-f1dd-4bad-b212-ac7519fd561f","directory":"ziksquare","title":"ZikSquare","compatibility":4,"releases":[{"id":"010086700EF16000","region":null}]},{"id":"452778b3-679f-4cea-811b-38cac3ee172b","directory":"moto-rush-gt","title":"Moto Rush GT","compatibility":99,"releases":[{"id":"01003F200D0F2000","region":null}]},{"id":"45304549-6fc2-429c-8050-63b18c56134e","directory":"momodora-reverie-under-the-moonlight","title":"Momodora: Reverie Under the Moonlight","compatibility":5,"releases":[{"id":"01004A400C320000","region":null}]},{"id":"45371859-b537-4453-88f2-cd7cd2b7e09b","directory":"the-casino-roulette-video-poker-slot-machines-craps-baccarat","title":"The Casino -Roulette, Video Poker, Slot Machines, Craps, Baccarat-","compatibility":99,"releases":[{"id":"01002490132F2000","region":null}]},{"id":"4538aea8-f9a9-4cef-a908-0bf7cf7a7974","directory":"death-end-re-quest-2","title":"Death end re;Quest 2","compatibility":99,"releases":[{"id":"0100EB701568A000","region":null}]},{"id":"45482077-b840-4383-a2bc-d56e815eefbd","directory":"iro-hero","title":"Iro Hero","compatibility":99,"releases":[{"id":"0100D1B00A5A2000","region":null}]},{"id":"4548fd48-4683-49d3-b29e-35b085c22c20","directory":"solitaire-card-games","title":"Solitaire Card Games","compatibility":99,"releases":[{"id":"01004DB014FCE000","region":null}]},{"id":"45497fb9-910a-4554-bbe4-272c3e5ec76b","directory":"nice-slice","title":"Nice Slice","compatibility":99,"releases":[{"id":"0100EDD00D530000","region":null}]},{"id":"455adce6-b758-4d6a-bee6-6a0af09f1e4f","directory":"puzzle-quest-the-legend-returns","title":"Puzzle Quest: The Legend Returns","compatibility":0,"releases":[{"id":"0100B2900DF20000","region":null}]},{"id":"455b7af2-007e-45dc-aabe-62c192973e1e","directory":"jump-king","title":"Jump King","compatibility":1,"releases":[{"id":"01003D601014A000","region":null}]},{"id":"456c6bd6-dc92-4421-82e9-cee478af83ea","directory":"jotun-valhalla-edition","title":"Jotun: Valhalla Edition","compatibility":1,"releases":[{"id":"0100340009736000","region":null}]},{"id":"456e0738-aba9-42ec-a60e-ec4c966804c4","directory":"golf-with-your-friends","title":"Golf With Your Friends","compatibility":1,"releases":[{"id":"01006FB00EBE0000","region":null}]},{"id":"4571c63a-fbb0-44db-934f-56424b3e4d6d","directory":"sol-divide-sword-of-darkness-for-nintendo-switch","title":"SOL DIVIDE -SWORD OF DARKNESS- for Nintendo Switch","compatibility":99,"releases":[{"id":"0100590009C38000","region":null}]},{"id":"4575d2b6-bb53-4745-b081-7d591cabc0ab","directory":"treasures-of-the-aegean","title":"Treasures of the Aegean","compatibility":1,"releases":[{"id":"0100769015806000","region":null}]},{"id":"4581a8fb-45f0-4b84-a417-2b1e4d4c857a","directory":"bloody-rally-show","title":"Bloody Rally Show","compatibility":99,"releases":[{"id":"010073F015150000","region":null}]},{"id":"458607f2-f8ca-4db3-aace-fec8cd21e502","directory":"star-wars-knights-of-the-old-republic","title":"STAR WARSâ„¢: Knights of the Old Republicâ„¢","compatibility":2,"releases":[{"id":"0100854015868000","region":null}]},{"id":"458778cf-548e-4499-9f6c-0da09347ae1a","directory":"ben-10-power-trip","title":"Ben 10: Power Trip!","compatibility":5,"releases":[{"id":"01009CD00E3AA000","region":null}]},{"id":"45888fcc-73ec-4361-90f9-08617462a252","directory":"poltergeist-crusader","title":"Poltergeist Crusader","compatibility":99,"releases":[{"id":"01006DA013562000","region":null}]},{"id":"458e7aa1-acab-4162-92bb-34a4f8df3f33","directory":"risk-r-global-domination-demo","title":"RISK® Global Domination - Demo","compatibility":99,"releases":[{"id":"010068200BF14000","region":null}]},{"id":"45991e27-5f7f-492e-aa34-809ac1acb249","directory":"battle-supremacy","title":"Battle Supremacy","compatibility":3,"releases":[{"id":"01003B300B568000","region":null}]},{"id":"45a23375-4609-480c-a8fe-de0e149d0483","directory":"work-trip","title":"Work Trip","compatibility":99,"releases":[{"id":"0100DA801614A000","region":null}]},{"id":"45c63b8e-ed9d-4004-8723-6a284f5e63f0","directory":"mana-spark","title":"Mana Spark","compatibility":99,"releases":[{"id":"01005A700CC3C000","region":null}]},{"id":"45e44a97-6a71-4993-b467-8f1a8281c0ee","directory":"cartoon-network-battle-crashers","title":"Cartoon Network: Battle Crashers","compatibility":3,"releases":[{"id":"010010B003A26000","region":null}]},{"id":"45f3d7b7-58ca-47b4-8733-2e8c4ba6a711","directory":"arcade-archives-darwin-4078","title":"Arcade Archives DARWIN 4078","compatibility":99,"releases":[{"id":"0100BBB014CC0000","region":null}]},{"id":"45fea49a-4351-421b-8853-ab87d6cec33e","directory":"race-track-driver","title":"Race Track Driver","compatibility":0,"releases":[{"id":"0100E33015A32000","region":null}]},{"id":"4601db33-8801-4df1-8fbe-c0970d3d9f59","directory":"beat-cop","title":"Beat Cop","compatibility":4,"releases":[{"id":"01009C300BB4C000","region":null}]},{"id":"4605bf08-08bf-449f-8f78-ab021781f070","directory":"little-kite","title":"Little Kite","compatibility":99,"releases":[{"id":"010034F013552000","region":null}]},{"id":"461bd541-e2bf-48c5-a34e-74e5dea56bdb","directory":"faeria","title":"Faeria","compatibility":99,"releases":[{"id":"010069100DB08000","region":null}]},{"id":"4620bc74-33a6-46ce-a5f5-9c1f24210616","directory":"pixel-puzzle-makeout-league","title":"Pixel Puzzle Makeout League","compatibility":2,"releases":[{"id":"010000E00E612000","region":null}]},{"id":"4635ae9b-90b9-41a0-aa8f-46ad84930442","directory":"liberated-enhanced-edition","title":"Liberated: Enhanced Edition","compatibility":2,"releases":[{"id":"01003A90133A6000","region":null}]},{"id":"464302f0-87c5-4b43-b68a-2b40cdbe6825","directory":"agent-a-a-puzzle-in-disguise","title":"Agent A: A puzzle in disguise","compatibility":0,"releases":[{"id":"010005400A45E000","region":null}]},{"id":"464373a0-c0a2-4d86-9575-0471a122db3c","directory":"chalk-dash-carnival","title":"Chalk Dash Carnival","compatibility":99,"releases":[{"id":"010000A00CA78000","region":null}]},{"id":"46509a0d-18c7-401a-b433-896ca807d963","directory":"pac-man-championship-edition-2-plus","title":"PAC-MAN CHAMPIONSHIP EDITION 2 PLUS","compatibility":2,"releases":[{"id":"010024C001224000","region":null}]},{"id":"46599e47-6c85-47ed-8b1a-3a5251007654","directory":"fire-water","title":"Fire & Water","compatibility":99,"releases":[{"id":"0100F4E013AAE000","region":null}]},{"id":"4662484b-4d8e-443b-9621-8e389ef16bb8","directory":"pure-electric-love-look-at-my-eyes-moe-yamauchi-","title":"Pure / Electric Love \"Look at my eyes!\" - Moe Yamauchi -","compatibility":5,"releases":[{"id":"010009000AC2A000","region":null}]},{"id":"46657fad-116d-4bd8-a152-26e8b7a8b9c8","directory":"motogp-20","title":"MotoGPâ„¢20","compatibility":3,"releases":[{"id":"01001FA00FBBC000","region":null}]},{"id":"468309c6-a980-4fb3-a799-ba96352940a5","directory":"cube-samurai-run-squared","title":"Cube Samurai: Run Squared","compatibility":99,"releases":[{"id":"010018E0159BA000","region":null}]},{"id":"46847e22-c23d-4ab8-89df-bacda722fc6d","directory":"extreme-race","title":"Extreme Race","compatibility":99,"releases":[{"id":"0100386016194000","region":null}]},{"id":"469ae9d8-a145-43b2-b0bb-441b98d55401","directory":"danganronpa-v3-killing-harmony-anniversary-edition","title":"Danganronpa V3: Killing Harmony Anniversary Edition","compatibility":99,"releases":[{"id":"010063F014176000","region":null}]},{"id":"46a424f3-2996-4872-ac04-92334e26fe62","directory":"instant-sports-winter-games","title":"Instant Sports Winter Games","compatibility":99,"releases":[{"id":"0100833014F3A000","region":null}]},{"id":"46a8e4f9-dd8b-4ce1-8830-96aeb1563e47","directory":"no-thing","title":"NO THING","compatibility":99,"releases":[{"id":"0100F7D00A1BC000","region":null}]},{"id":"46adfd96-ba00-4d14-b22c-7d620e0ca9a4","directory":"bloody-bunny-the-game","title":"Bloody Bunny, The Game","compatibility":99,"releases":[{"id":"0100E510143EC000","region":null}]},{"id":"46b4f09c-f4b3-400b-80c0-b9c0ae88f8a4","directory":"myths-of-orion-light-from-the-north","title":"Myths of Orion: Light from the North","compatibility":99,"releases":[{"id":"010065E011D5C000","region":null}]},{"id":"46b5b447-3187-4e21-87ef-c6e795cc9a39","directory":"desktop-bowling","title":"Desktop Bowling","compatibility":99,"releases":[{"id":"0100FF800EC2E000","region":null}]},{"id":"46cd55ad-5b8f-4221-8c6f-45b2219fea62","directory":"a-knights-quest","title":"A Knight's Quest","compatibility":2,"releases":[{"id":"01005EF00CFDA000","region":null}]},{"id":"46d88ccd-b56c-4ad9-aaf0-e2963bddfc37","directory":"magical-girls","title":"Magical Girls","compatibility":0,"releases":[{"id":"0100461013AAA000","region":null}]},{"id":"46df785c-8b8e-4f17-969d-455c624edc66","directory":"the-inner-world","title":"The Inner World","compatibility":0,"releases":[{"id":"0100B0B00B318000","region":null}]},{"id":"46f5c3f1-00e8-4040-86e1-5e74fc7e04fd","directory":"mail-mole","title":"Mail Mole","compatibility":99,"releases":[{"id":"01009940140D8000","region":null}]},{"id":"46f5e0cf-70f7-49e9-8943-df32b953f89a","directory":"clea","title":"Clea","compatibility":0,"releases":[{"id":"010058900F52E000","region":null}]},{"id":"46feff0f-8073-4cb6-bcfa-ce22fb3573df","directory":"demon-hunter-revelation","title":"Demon Hunter: Revelation","compatibility":2,"releases":[{"id":"0100BF7013AE2000","region":null}]},{"id":"4717c513-6645-4191-b02a-fa69e7e11768","directory":"aquatic-rampage","title":"Aquatic Rampage","compatibility":99,"releases":[{"id":"01002370153E0000","region":null}]},{"id":"4719c66b-e419-46b1-835e-b5e0a3201fe2","directory":"pokemon-unite","title":"Pokémon UNITE","compatibility":4,"releases":[{"id":"0100939011ED4000","region":null}]},{"id":"4732cb39-0b1e-40a1-8a88-acb44953be01","directory":"project-triangle-strategy-debut-demo","title":"Project TRIANGLE STRATEGYâ„¢ Debut Demo","compatibility":1,"releases":[{"id":"01002980140F6000","region":null}]},{"id":"4733b07f-a4c3-4531-8af2-628521d52df9","directory":"musynx","title":"MUSYNX","compatibility":1,"releases":[{"id":"01007B6006092000","region":null}]},{"id":"473af39c-1d8c-4e80-a00f-7d8b1bf6b610","directory":"terratech","title":"TerraTech","compatibility":99,"releases":[{"id":"010096400CBC6000","region":null}]},{"id":"4746ea2b-bc58-48d6-8fad-b1061827be1e","directory":"zoo-dentist","title":"Zoo Dentist","compatibility":99,"releases":[{"id":"0100CC80152C4000","region":null}]},{"id":"47480e8e-b779-488a-89d2-501a720da4b1","directory":"danganronpa-trigger-happy-havoc-anniversary-edition","title":"Danganronpa: Trigger Happy Havoc Anniversary Edition","compatibility":99,"releases":[{"id":"0100812014172000","region":null}]},{"id":"475b9397-7500-47be-87ad-58e9391271f9","directory":"monster-harvest","title":"Monster Harvest","compatibility":3,"releases":[{"id":"01004E001256A000","region":null}]},{"id":"4764790e-2b63-4220-acae-64996d725a07","directory":"kropki-8","title":"Kropki 8","compatibility":99,"releases":[{"id":"010070C011E2A000","region":null}]},{"id":"47712e97-ded3-4407-9d2a-8ea5834da22f","directory":"rune-factory-4-special","title":"Rune Factory 4 Special","compatibility":1,"releases":[{"id":"010051D00E3A4000","region":null}]},{"id":"477b9bd1-14a1-4da1-889b-40bb1df66763","directory":"dark-veer","title":"Dark Veer","compatibility":99,"releases":[{"id":"01007FB00FC5E000","region":null}]},{"id":"477cd89b-d34e-44d7-8f1e-7ec5f085b04c","directory":"pikuniku","title":"Pikuniku","compatibility":0,"releases":[{"id":"010097D006DEA000","region":null}]},{"id":"47830a59-e435-49af-b64c-0857c353e54d","directory":"into-a-dream","title":"Into A Dream","compatibility":99,"releases":[{"id":"0100E12013D74000","region":null}]},{"id":"4786c7ea-97e3-4c67-9c81-19b2606b8705","directory":"throne-quest-deluxe","title":"Throne Quest Deluxe","compatibility":0,"releases":[{"id":"010070800EC56000","region":null}]},{"id":"47a55b2c-09f5-446f-b21d-7e83669fb5c2","directory":"plastic-rebellion","title":"Plastic Rebellion","compatibility":99,"releases":[{"id":"0100C7D014BBA000","region":null}]},{"id":"47c45653-0bdb-47d0-81ff-99b1c731b19a","directory":"logscape-puzzle-game","title":"LogScape - Puzzle Game","compatibility":99,"releases":[{"id":"0100A03015C16000","region":null}]},{"id":"47f9cc77-4c42-4ccc-b9f2-6282d97f0a45","directory":"atelier-meruru-~the-apprentice-of-arland~-dx","title":"Atelier Meruru ~The Apprentice of Arland~ DX","compatibility":3,"releases":[{"id":"0100ADD00C6FA000","region":null}]},{"id":"4818680c-654f-4c78-ae33-71973e71e676","directory":"chained","title":"Chained","compatibility":99,"releases":[{"id":"01000B9011596000","region":null}]},{"id":"481a75b8-3030-4804-82f7-9d0933d0f383","directory":"mother-russia-bleeds","title":"Mother Russia Bleeds","compatibility":0,"releases":[{"id":"0100D9C00AA52000","region":null}]},{"id":"482f53fb-f46e-47e2-9d86-5e2996d2df33","directory":"crocs-world-3","title":"Croc's World 3","compatibility":1,"releases":[{"id":"010025200FC54000","region":null}]},{"id":"482ff01e-084e-40bb-97ed-e10a6e53f833","directory":"puzzle-herder","title":"Puzzle Herder","compatibility":99,"releases":[{"id":"010099100E03C000","region":null}]},{"id":"48331247-5269-4842-b159-67ac2c97cdf3","directory":"offroad-racing-buggy-x-atv-x-moto","title":"Offroad Racing - Buggy X ATV X Moto","compatibility":1,"releases":[{"id":"01003CD00E8BC000","region":null}]},{"id":"48346d23-a19f-407b-9af0-220084544710","directory":"ghost-elisa-cameron","title":"Ghost: Elisa Cameron","compatibility":99,"releases":[{"id":"0100E46014A32000","region":null}]},{"id":"48369355-bb83-4d6e-8743-59c38bc02542","directory":"trax-build-it-race-it","title":"Trax - Build it Race it","compatibility":99,"releases":[{"id":"01004C200ADA0000","region":null}]},{"id":"48370116-0b28-4b94-af3a-eb6e47537d28","directory":"jamestown","title":"Jamestown+","compatibility":2,"releases":[{"id":"010000100C4B8000","region":null}]},{"id":"4840a43c-e481-4cc5-a89e-ac48b9fedf14","directory":"taxi-driver-the-simulation","title":"Taxi Driver - The Simulation","compatibility":99,"releases":[{"id":"010073A010430000","region":null}]},{"id":"484ae2ef-89e1-4681-81e0-7ca436a6d859","directory":"dungeon-village","title":"Dungeon Village","compatibility":99,"releases":[{"id":"010016700BCD4000","region":null}]},{"id":"484fb5e3-9a08-4689-8435-c5419471d46f","directory":"devil-slayer-raksasi","title":"Devil Slayer Raksasi","compatibility":3,"releases":[{"id":"01003C900EFF6000","region":null}]},{"id":"4850ee78-b43a-4b65-8967-37b0b0535e34","directory":"this-strange-realm-of-mine","title":"This Strange Realm Of Mine","compatibility":99,"releases":[{"id":"0100C7C00F77C000","region":null}]},{"id":"485a1b57-24e6-4be1-9952-149dc4230e69","directory":"links-puzzle","title":"Links Puzzle","compatibility":99,"releases":[{"id":"010054F015D5C000","region":null}]},{"id":"485a7bbf-d362-4b51-b958-227610e94721","directory":"the-talos-principle-deluxe-edition","title":"The Talos Principle: Deluxe Edition","compatibility":4,"releases":[{"id":"010092A00D43C000","region":null}]},{"id":"4863bbc9-4311-4dc1-b961-e4c6c1975ef1","directory":"golazo","title":"Golazo!","compatibility":1,"releases":[{"id":"010013800F0A4000","region":null}]},{"id":"4869c967-031e-4544-8f1c-b4fe1f02b459","directory":"sweets-swap-classic","title":"Sweets Swap Classic","compatibility":99,"releases":[{"id":"01006DE016788000","region":null}]},{"id":"486f72a2-8bba-4138-9508-5f079ee0d334","directory":"unavowed","title":"Unavowed","compatibility":99,"releases":[{"id":"0100C18014DC0000","region":null}]},{"id":"487b7497-94a9-4ac7-bb24-01b0de85850c","directory":"food-truck-tycoon","title":"Food Truck Tycoon","compatibility":1,"releases":[{"id":"0100F3900D0F0000","region":null}]},{"id":"487cd274-bc95-4ca4-b4d9-ff7e752118b5","directory":"achtung-cthulhu-tactics","title":"Achtung! Cthulhu Tactics","compatibility":99,"releases":[{"id":"010079B00B3F4000","region":null}]},{"id":"48821cee-f50a-4f8b-a133-65daf6af90d3","directory":"demons-tier","title":"Demon's Tier+","compatibility":3,"releases":[{"id":"0100161011458000","region":null}]},{"id":"4889544a-a149-4d22-9d44-5daa1c854f9e","directory":"wonder-blade","title":"Wonder Blade","compatibility":99,"releases":[{"id":"010037A00F5E2000","region":null}]},{"id":"488c5e50-91a3-425b-910f-bd51543138a4","directory":"shiro","title":"Shiro","compatibility":99,"releases":[{"id":"0100244016BAE000","region":null}]},{"id":"48957471-aae1-46c2-909a-dc68a8deabbf","directory":"kitty-love-way-to-look-for-love-","title":"Kitty Love -Way to look for love-","compatibility":1,"releases":[{"id":"0100EAE00BE4A000","region":null}]},{"id":"489be885-0b37-431c-8cb1-9fd1a3eee228","directory":"brawl-chess","title":"Brawl Chess","compatibility":1,"releases":[{"id":"010068F00F444000","region":null}]},{"id":"48a7a027-9eca-4992-9136-43bf61e0462b","directory":"dark-witch-music-episode-rudymical-demo","title":"Dark Witch Music Episode: Rudymical Demo","compatibility":0,"releases":[{"id":"010047A008760000","region":null}]},{"id":"48b27fef-fee4-4bf1-bd68-5f1dba93cc37","directory":"zombieland-double-tap-road-trip","title":"Zombieland: Double Tap - Road Trip","compatibility":99,"releases":[{"id":"010004D00D32A000","region":null}]},{"id":"48b32db3-5a59-4aaa-ad0b-274468cecc4b","directory":"super-bomberman-r","title":"Super Bomberman R","compatibility":2,"releases":[{"id":"01007AD00013E000","region":null}]},{"id":"48c61045-6f9e-4fad-9e12-b94fa66aa084","directory":"spelunky-2","title":"Spelunky 2","compatibility":1,"releases":[{"id":"01007EC013ABC000","region":null}]},{"id":"48d015bb-4a94-4d13-8d0f-51a7ba59b389","directory":"castle-heroes","title":"Castle Heroes","compatibility":0,"releases":[{"id":"0100632014A12000","region":null}]},{"id":"48e9e213-fb46-4317-86a1-97c30f9553da","directory":"miracle-snack-shop","title":"Miracle Snack Shop","compatibility":1,"releases":[{"id":"0100B4C014466000","region":null}]},{"id":"48f09685-1ca8-42b9-ac18-e2a2026bf2e9","directory":"solseraph","title":"SolSeraph","compatibility":3,"releases":[{"id":"010077600BE3A000","region":null}]},{"id":"48ff5c8f-6dbb-4898-a6ce-50e3b2ad4464","directory":"jelly-champs","title":"Jelly Champs!","compatibility":99,"releases":[{"id":"010019D012018000","region":null}]},{"id":"490154a0-9610-402e-af54-098582090473","directory":"ary-and-the-secret-of-seasons","title":"Ary and the Secret of Seasons","compatibility":1,"releases":[{"id":"0100C2500CAB6000","region":null}]},{"id":"4913abbf-1e92-40c9-b823-2efe53e2b14e","directory":"deadlings","title":"Deadlings","compatibility":99,"releases":[{"id":"0100DDE00E81A000","region":null}]},{"id":"4929a773-da00-4949-afe8-b4e54e1630b8","directory":"peace-death-complete-edition","title":"Peace, Death! Complete Edition","compatibility":99,"releases":[{"id":"010069300C90A000","region":null}]},{"id":"4932c39b-45f6-4c57-a391-fb14a063f4a3","directory":"mmc-kenken-the-worlds-most-exciting-math-and-logic-puzzle","title":"MMC KENKEN - The World's Most Exciting Math and Logic Puzzle -","compatibility":99,"releases":[{"id":"0100136015456000","region":null}]},{"id":"49359c31-0001-4f70-8129-9f4a64d2d4db","directory":"last-stop","title":"Last Stop","compatibility":99,"releases":[{"id":"0100FBF014064000","region":null}]},{"id":"493a3532-f4cf-4437-9a37-b9843e3811d7","directory":"death-ray-manta-se","title":"Death Ray Manta SE","compatibility":1,"releases":[{"id":"0100F11012BC2000","region":null}]},{"id":"493e6ced-ba08-442a-8537-c24686982795","directory":"factotum-90","title":"Factotum 90","compatibility":2,"releases":[{"id":"0100BD6010638000","region":null}]},{"id":"4940e3c0-52d4-46d6-812a-8b64b8d0ce98","directory":"doug-hates-his-job","title":"Doug Hates His Job","compatibility":99,"releases":[{"id":"0100A14013B1E000","region":null}]},{"id":"49417f12-f786-45da-b1ab-09c07ac96b44","directory":"standby","title":"STANDBY","compatibility":0,"releases":[{"id":"0100FF500E668000","region":null}]},{"id":"494c30c4-e813-4e6a-8c4b-6f4ca2f0f11f","directory":"guards","title":"Guards","compatibility":99,"releases":[{"id":"010061401498C000","region":null}]},{"id":"494f0525-6d49-4458-b3bd-9e2cd2420ead","directory":"saboteur","title":"Saboteur!","compatibility":0,"releases":[{"id":"0100F6F00B9E8000","region":null}]},{"id":"494f2034-3d5e-4a7f-97f8-ff6af856b1db","directory":"12-labours-of-hercules-ii-the-cretan-bull","title":"12 Labours of Hercules II: The Cretan Bull","compatibility":3,"releases":[{"id":"0100B1A010014000","region":null}]},{"id":"4954521f-759c-4210-93bd-f4f4e5bfee06","directory":"warhammer-quest-2-the-end-times","title":"Warhammer Quest 2: The End Times","compatibility":0,"releases":[{"id":"01002FF00F460000","region":null}]},{"id":"495b0d1b-b343-4b32-9a65-4894891b6f84","directory":"scheming-through-the-zombie-apocalypse-the-beginning","title":"Scheming Through The Zombie Apocalypse: The Beginning","compatibility":99,"releases":[{"id":"0100AE300F5B4000","region":null}]},{"id":"495c5336-dc9f-46b8-bced-4ba6a0417982","directory":"we-are-doomed","title":"WE ARE DOOMED","compatibility":99,"releases":[{"id":"01000F101286A000","region":null}]},{"id":"49690765-86de-493a-ad02-9e39679ebcb1","directory":"haustoria","title":"Haustoria","compatibility":99,"releases":[{"id":"0100077016288000","region":null}]},{"id":"4974a2e7-6dee-4ca2-8ac8-fae2d5c6b37f","directory":"aca-neogeo-real-bout-fatal-fury-special","title":"ACA NEOGEO REAL BOUT FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010088500878C000","region":null}]},{"id":"497c7f99-b643-486a-986f-a1fad85f9dbb","directory":"black-future-88","title":"Black Future '88","compatibility":99,"releases":[{"id":"010049000B69E000","region":null}]},{"id":"498ea669-7199-4a92-bfd4-12afc83d3f9e","directory":"tennis-in-the-face","title":"Tennis in the Face","compatibility":4,"releases":[{"id":"01002970080AA000","region":null}]},{"id":"4990b351-ee3a-4b7b-b22d-1aa49338b30d","directory":"stay-safe","title":"Stay Safe","compatibility":99,"releases":[{"id":"0100FD40102A6000","region":null}]},{"id":"49955f50-308b-4ef8-8b41-a61b03ea33ef","directory":"genetic-disaster","title":"Genetic Disaster","compatibility":1,"releases":[{"id":"010014901144C000","region":null}]},{"id":"49971a07-dc64-4bbf-8dbb-9adf12488c14","directory":"puzzle-frenzy","title":"Puzzle Frenzy","compatibility":99,"releases":[{"id":"0100093016CEE000","region":null}]},{"id":"49b527ac-45c7-46ef-bb87-559ad3927629","directory":"when-ski-lifts-go-wrong","title":"When Ski Lifts Go Wrong","compatibility":99,"releases":[{"id":"01009AD00BFD0000","region":null}]},{"id":"49bb82c3-bc40-4bf8-a3bd-db2c54c7e600","directory":"lucid-cycle","title":"Lucid Cycle","compatibility":99,"releases":[{"id":"0100055015A82000","region":null}]},{"id":"49c098e1-a563-4e96-a536-dacf5c3a4d79","directory":"return-of-the-obra-dinn","title":"Return of the Obra Dinn","compatibility":1,"releases":[{"id":"010032E00E6E2000","region":null}]},{"id":"49c5ef87-66b4-4a28-9aaa-cac123d70ae4","directory":"terra-lander","title":"Terra Lander","compatibility":99,"releases":[{"id":"01002C80145EA000","region":null}]},{"id":"49d31917-7f55-4e19-9c10-0f20a5001856","directory":"our-two-bedroom-story","title":"Our Two Bedroom Story","compatibility":3,"releases":[{"id":"010097F010FE6000","region":null}]},{"id":"49d61968-d27a-4781-9643-3197356813a7","directory":"paperball-deluxe","title":"Paperball Deluxe","compatibility":99,"releases":[{"id":"0100A24012374000","region":null}]},{"id":"49daa5ca-9b34-4468-9a44-b96d1092b360","directory":"monster-energy-supercross-the-official-videogame","title":"Monster Energy Supercross - The Official Videogame","compatibility":4,"releases":[{"id":"0100742007266000","region":null}]},{"id":"49e4b4bb-251f-4992-8c79-45f4654abdea","directory":"capes-escape-game-4th-room","title":"Cape’s Escape Game 4th Room","compatibility":99,"releases":[{"id":"0100FD20162F0000","region":null}]},{"id":"49e88722-54ed-4147-85b5-c49c8e6a5001","directory":"hike","title":"Hike","compatibility":99,"releases":[{"id":"0100E9C014932000","region":null}]},{"id":"49eb8b17-5d64-4017-a46c-8918ce2c60fe","directory":"the-legend-of-the-blue-warrior","title":"The Legend Of The Blue Warrior","compatibility":99,"releases":[{"id":"0100C13012F8E000","region":null}]},{"id":"49ef1c8d-7ffd-42bf-babc-7f0379b0fe43","directory":"nba-2k21","title":"NBA 2K21","compatibility":5,"releases":[{"id":"0100E24011D1E000","region":null}]},{"id":"49f02b03-61e3-44bc-aa6a-b6514f4386d3","directory":"quadle","title":"Quadle","compatibility":99,"releases":[{"id":"010080B00D8D4000","region":null}]},{"id":"4a070317-2eea-43d8-a394-1af7b77708bf","directory":"baobabs-mausoleum-ep3-un-pato-en-muertoburgo","title":"Baobabs Mausoleum Ep.3: Un Pato en Muertoburgo","compatibility":99,"releases":[{"id":"01006D300FFA6000","region":null}]},{"id":"4a18a35a-8d58-4dc2-8935-9fe3b0ed7bb5","directory":"yestermorrow","title":"YesterMorrow","compatibility":2,"releases":[{"id":"010076B0101A0000","region":null}]},{"id":"4a21f603-7d3e-4c94-8868-a09506cc4a82","directory":"arcade-archives-swimmer","title":"Arcade Archives SWIMMER","compatibility":99,"releases":[{"id":"01001620143BC000","region":null}]},{"id":"4a2baa2d-027a-44c1-831b-8c085d4c2de2","directory":"spinnys-journey","title":"Spinny's Journey","compatibility":1,"releases":[{"id":"01001E40136FE000","region":null}]},{"id":"4a3909aa-f239-4b27-8945-6cb34054e59c","directory":"tested-on-humans-escape-room","title":"Tested on Humans: Escape Room","compatibility":99,"releases":[{"id":"01006F701507A000","region":null}]},{"id":"4a3b6d10-8e29-432c-8674-0f684263f382","directory":"world-of-tanks-blitz","title":"World of Tanks Blitz","compatibility":99,"releases":[{"id":"0100DA501160C000","region":null}]},{"id":"4a3e2505-707f-4d04-9638-4f1da5bcc9d3","directory":"zombie-night-terror","title":"Zombie Night Terror","compatibility":99,"releases":[{"id":"01004F900B838000","region":null}]},{"id":"4a47a83c-bbca-4e73-8474-1602dd9125a3","directory":"poisoft-thud-card","title":"Poisoft Thud Card","compatibility":99,"releases":[{"id":"0100DCE009732000","region":null}]},{"id":"4a4e59d7-7778-4849-9749-19cce45d9854","directory":"alien-escape","title":"Alien Escape","compatibility":0,"releases":[{"id":"0100C1500DBDE000","region":null}]},{"id":"4a504a95-3314-4aaa-95ed-ae5ccfc12e0f","directory":"unreal-life","title":"UNREAL LIFE","compatibility":99,"releases":[{"id":"0100A06011A48000","region":null}]},{"id":"4a5094c5-6d65-4bbf-9eda-ce7648368b74","directory":"animated-jigsaws-beautiful-japanese-scenery-demo","title":"Animated Jigsaws: Beautiful Japanese Scenery Demo","compatibility":99,"releases":[{"id":"0100A1900B5B8000","region":null}]},{"id":"4a63b57c-4048-499a-bf9e-589daae2faf2","directory":"promesa","title":"Promesa","compatibility":99,"releases":[{"id":"010052F0149C8000","region":null}]},{"id":"4a777875-920f-42ca-86cf-5bdb7557be84","directory":"famicom-detective-club-the-girl-who-stands-behind","title":"Famicom Detective Clubâ„¢: The Girl Who Stands Behind","compatibility":0,"releases":[{"id":"0100D670126F6000","region":null}]},{"id":"4a84757c-8a1e-4936-b515-8be852b55452","directory":"umurangi-generation-special-edition","title":"Umurangi Generation Special Edition","compatibility":99,"releases":[{"id":"0100CA3014ADE000","region":null}]},{"id":"4aa0f2bd-92cc-4752-a0a0-3c70fb226d88","directory":"beast-quest","title":"Beast Quest","compatibility":99,"releases":[{"id":"01001EB00E9FE000","region":null}]},{"id":"4ad2acb8-ee8d-453a-8e52-3a284dcf7ce0","directory":"firefighters-airport-fire-department","title":"Firefighters: Airport Fire Department","compatibility":3,"releases":[{"id":"0100BB1009E50000","region":null}]},{"id":"4ad3c8e0-7390-49c1-af77-8b970c707744","directory":"one-more-dungeon-demo","title":"One More Dungeon Demo","compatibility":99,"releases":[{"id":"01003AE00A872000","region":null}]},{"id":"4ad5583e-ca44-4287-9934-c2be7e8862b7","directory":"steinsgate-elite","title":"STEINS;GATE ELITE","compatibility":2,"releases":[{"id":"010042800B880000","region":null}]},{"id":"4adf0369-6aca-4044-a1c9-cff41ac7712b","directory":"katana-kata","title":"Katana Kata","compatibility":99,"releases":[{"id":"01002E1013C3E000","region":null}]},{"id":"4ae33f14-10bb-432d-9301-278501dd20f2","directory":"marvel-ultimate-alliance-3-the-black-order","title":"MARVEL ULTIMATE ALLIANCE 3: The Black Order","compatibility":2,"releases":[{"id":"010060700AC50000","region":null}]},{"id":"4af0ffe2-867c-4462-9e07-f5361adc7ff2","directory":"root","title":"Root","compatibility":99,"releases":[{"id":"01000AF01518A000","region":null}]},{"id":"4afd7898-1d4d-4dae-80c3-a141ae4a5e4b","directory":"plague-road","title":"Plague Road","compatibility":99,"releases":[{"id":"0100FF8005EB2000","region":null}]},{"id":"4b07b75f-3a15-4e64-bfaa-a00617418e40","directory":"remilore","title":"RemiLore","compatibility":1,"releases":[{"id":"010095900B436000","region":null}]},{"id":"4b1310a3-9d02-4075-a200-b03315ac5a0a","directory":"slime-san","title":"Slime-san","compatibility":99,"releases":[{"id":"0100112003B8A000","region":null}]},{"id":"4b1e033f-85ef-4ea3-a589-c24c36442d9e","directory":"family-mysteries-poisonous-promises","title":"Family Mysteries: Poisonous Promises","compatibility":1,"releases":[{"id":"0100034012606000","region":null}]},{"id":"4b27e5d2-1aca-4b28-aec2-1b56961158b4","directory":"aca-neogeo-the-king-of-fighters-98","title":"ACA NEOGEO THE KING OF FIGHTERS '98","compatibility":2,"releases":[{"id":"0100B42001DB4000","region":null}]},{"id":"4b2a4e3a-1236-4624-a62d-74df0d547fbe","directory":"aca-neogeo-king-of-the-monsters","title":"ACA NEOGEO KING OF THE MONSTERS","compatibility":99,"releases":[{"id":"0100B1300871A000","region":null}]},{"id":"4b303933-f24d-4cdf-90fb-bd424f31f9ea","directory":"mahjong-masters","title":"Mahjong Masters","compatibility":99,"releases":[{"id":"0100DD9015E44000","region":null}]},{"id":"4b5d88b0-34cf-4e6f-b433-2c07de8c2e50","directory":"adventures-of-bertram-fiddle-episode-2-a-bleaker-predicklement","title":"Adventures of Bertram Fiddle Episode 2: A Bleaker Predicklement","compatibility":99,"releases":[{"id":"010021F00C1C0000","region":null}]},{"id":"4b68bf70-7480-491d-86a1-c8eb4dce2f15","directory":"bouncy-bob-2","title":"Bouncy Bob 2","compatibility":99,"releases":[{"id":"010081100FE08000","region":null}]},{"id":"4b6aabbf-14c9-4699-ab1d-0d4dff79db48","directory":"garage","title":"Garage","compatibility":1,"releases":[{"id":"01000FA00A4E4000","region":null}]},{"id":"4b6b7c72-e01b-4b1b-9c00-849f3c88b27f","directory":"103","title":"103","compatibility":99,"releases":[{"id":"0100264012980000","region":null}]},{"id":"4b8034a7-a85f-4efa-a55c-e9c91b3edc38","directory":"deemo-reborn","title":"DEEMO -Reborn-","compatibility":99,"releases":[{"id":"01008B10132A2000","region":null}]},{"id":"4b8150e3-a969-4cb9-901f-c10c3a169d7f","directory":"dead-cells","title":"Dead Cells","compatibility":1,"releases":[{"id":"0100646009FBE000","region":null}]},{"id":"4b81587e-c09c-46d4-9c56-d72e0a2d38b9","directory":"spyhack","title":"SpyHack","compatibility":99,"releases":[{"id":"01005D701264A000","region":null}]},{"id":"4ba012c0-6d64-44cb-875f-d0212bf9ed77","directory":"chromagun","title":"ChromaGun","compatibility":0,"releases":[{"id":"010039A008E76000","region":null}]},{"id":"4bb1fb6d-fe23-43af-9ba6-21a190ab3cab","directory":"match-three-pirates-ii","title":"Match Three Pirates II","compatibility":99,"releases":[{"id":"010090C016EE4000","region":null}]},{"id":"4bbed6de-19a0-45ae-8009-76d0d3023851","directory":"arkan-the-dog-adventurer","title":"Arkan: The dog adventurer","compatibility":99,"releases":[{"id":"0100C4A014766000","region":null}]},{"id":"4bcec22b-b7da-47b5-a3ed-b1b781e7a209","directory":"instant-sports-paradise","title":"Instant Sports Paradise","compatibility":1,"releases":[{"id":"0100D4D014F38000","region":null}]},{"id":"4be8226e-a4f5-4802-aee4-22996fd9f5e4","directory":"build-a-bridge","title":"Build a Bridge!","compatibility":99,"releases":[{"id":"01004D200BB96000","region":null}]},{"id":"4bf29b1c-f8c1-4d7c-b6ff-dde6c9de7dc7","directory":"oceanhorn-monster-of-uncharted-seas","title":"Oceanhorn - Monster of Uncharted Seas","compatibility":0,"releases":[{"id":"01007D7001D0E000","region":null}]},{"id":"4bf7a444-316a-4880-b07b-44bbcbe4b9d3","directory":"real-farm-premium-edition","title":"Real Farm - Premium Edition","compatibility":99,"releases":[{"id":"01006C101226C000","region":null}]},{"id":"4bfe0669-e411-4797-9203-1102e128581e","directory":"superliminal","title":"Superliminal","compatibility":4,"releases":[{"id":"010075701153A000","region":null}]},{"id":"4c0e5f49-306a-44c5-b525-64d2d8afe30b","directory":"preventive-strike","title":"Preventive Strike","compatibility":99,"releases":[{"id":"010009300D278000","region":null}]},{"id":"4c159662-76b6-4d76-9477-cc9a70687ec7","directory":"romance-of-the-three-kingdoms-xiv-diplomacy-and-strategy-expansion-pack-bundle","title":"ROMANCE OF THE THREE KINGDOMS XIV: Diplomacy and Strategy Expansion Pack Bundle","compatibility":99,"releases":[{"id":"0100ED7012DB2000","region":null}]},{"id":"4c2eaf03-5c05-4f62-b9dd-2c17f7f3dc46","directory":"animated-jigsaws-beautiful-japanese-scenery","title":"Animated Jigsaws: Beautiful Japanese Scenery","compatibility":99,"releases":[{"id":"01003C200A232000","region":null}]},{"id":"4c518ccc-8844-42c3-964f-d7209812a1ad","directory":"the-witcher-3-wild-hunt","title":"The Witcher 3: Wild Hunt","compatibility":4,"releases":[{"id":"0100E67012924000","region":null}]},{"id":"4c532f62-6c51-4ea3-9bad-7bd67c41029b","directory":"virtual-battle","title":"Virtual Battle","compatibility":99,"releases":[{"id":"0100226013C14000","region":null}]},{"id":"4c53b1a1-3ce9-4d5b-9724-74752ab5eb2b","directory":"slots-of-poker-at-aces-casino","title":"Slots of Poker at Aces Casino","compatibility":99,"releases":[{"id":"0100023012640000","region":null}]},{"id":"4c59cf0d-4570-41d3-bebd-638296b7c44e","directory":"minecraft-nintendo-switch-edition","title":"Minecraft: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"01006BD001E06000","region":null}]},{"id":"4c666e56-c945-4078-a86c-95dfa32d129a","directory":"draw-a-stickman-epic-2","title":"Draw a Stickman: EPIC 2","compatibility":3,"releases":[{"id":"010030D004F34000","region":null}]},{"id":"4c7d0b30-26ad-4186-b677-b3314a7ab22d","directory":"balancelot","title":"Balancelot","compatibility":99,"releases":[{"id":"0100ECE0133AA000","region":null}]},{"id":"4c891790-ca49-4a33-aed7-cfc41a1607ad","directory":"harvest-moon-light-of-hope-special-edition","title":"Harvest Moon: Light of Hope Special Edition","compatibility":1,"releases":[{"id":"0100CF8003E70000","region":null}]},{"id":"4c8ebc5f-57e8-43a0-9ef7-9f7aa124c33c","directory":"tracks-toybox-edition","title":"Tracks - Toybox Edition","compatibility":3,"releases":[{"id":"0100192010F5A000","region":null}]},{"id":"4c974d42-c39d-482b-879f-f2063418e710","directory":"its-raining-fists-and-metal","title":"It's Raining Fists and Metal","compatibility":3,"releases":[{"id":"010022C00E8D8000","region":null}]},{"id":"4ca2e1be-37ad-4fa7-9225-43b60e611139","directory":"big-bash-boom","title":"Big Bash Boom","compatibility":1,"releases":[{"id":"010038D00B10A000","region":null}]},{"id":"4ca308c3-bcec-4e80-a351-6d707baca25e","directory":"dark-water-slime-invader","title":"Dark Water: Slime Invader","compatibility":99,"releases":[{"id":"0100C88014614000","region":null}]},{"id":"4ca51da4-6552-4278-8794-9f4c6efdabd1","directory":"angelo-and-deemon-one-hell-of-a-quest","title":"Angelo and Deemon: One Hell of a Quest","compatibility":99,"releases":[{"id":"0100D20015C06000","region":null}]},{"id":"4cc89c6f-32a3-48eb-8316-1556f9b42f9e","directory":"party-treats","title":"Party Treats","compatibility":99,"releases":[{"id":"010027D00F63C000","region":null}]},{"id":"4cc8ab8a-fd84-4913-bba7-c4bf962390dc","directory":"wild-guns-reloaded","title":"Wild Guns Reloaded","compatibility":1,"releases":[{"id":"0100CFC00A1D8000","region":null}]},{"id":"4cd00482-d506-41ee-9201-031aefea47d8","directory":"among-pipes","title":"Among Pipes","compatibility":0,"releases":[{"id":"0100AC4014872000","region":null}]},{"id":"4cd55601-b83e-4f71-951c-7c3f685ee19d","directory":"catlateral-damage-remeowstered","title":"Catlateral Damage: Remeowstered","compatibility":99,"releases":[{"id":"010077A00CB58000","region":null}]},{"id":"4cde7fbd-4270-493b-ae59-903907be6ef4","directory":"the-legend-of-tianding","title":"The Legend of Tianding","compatibility":99,"releases":[{"id":"0100AD90155FC000","region":null}]},{"id":"4ceccf7f-54fe-4171-8b63-d462523f5e61","directory":"stela","title":"Stela","compatibility":2,"releases":[{"id":"01002DE01043E000","region":null}]},{"id":"4d007190-aeac-4ed2-a115-21cc14a9093e","directory":"mystic-vale","title":"Mystic Vale","compatibility":99,"releases":[{"id":"010065500ED96000","region":null}]},{"id":"4d152905-a873-447d-8d2e-f0f856388f50","directory":"the-sexy-brutale","title":"The Sexy Brutale","compatibility":2,"releases":[{"id":"0100F89003BC8000","region":null}]},{"id":"4d2cc62e-137a-4fac-89f5-48240a187d36","directory":"lust-for-darkness","title":"Lust for Darkness","compatibility":0,"releases":[{"id":"0100F3100EB44000","region":null}]},{"id":"4d2e5753-c9b1-45e6-9fec-99e121c0fa1a","directory":"twister-road","title":"Twister Road","compatibility":99,"releases":[{"id":"010088F00F66C000","region":null}]},{"id":"4d2e9c9a-9c31-46a6-9416-3212897d8ff4","directory":"tengai-for-nintendo-switch","title":"TENGAI for Nintendo Switch","compatibility":99,"releases":[{"id":"0100B2600A398000","region":null}]},{"id":"4d451b33-ea4f-48a8-88d2-b94ccc315e56","directory":"infliction-extended-cut","title":"Infliction: Extended Cut","compatibility":99,"releases":[{"id":"01001CB00EFD6000","region":null}]},{"id":"4d52dd4f-ebb1-4181-9fe2-1ef05ea31585","directory":"the-last-days","title":"The Last Days","compatibility":99,"releases":[{"id":"0100487012CC6000","region":null}]},{"id":"4d5a9976-a361-48ec-82be-f5169815667a","directory":"valfaris-slain-double-pack","title":"Valfaris & Slain Double Pack","compatibility":2,"releases":[{"id":"0100CBF0115F2000","region":null}]},{"id":"4d631cdb-83d6-480e-b566-326d96034931","directory":"steamroll-rustless-edition","title":"Steamroll: Rustless Edition","compatibility":99,"releases":[{"id":"01001D6011D58000","region":null}]},{"id":"4d6366e4-9b26-456d-ba8a-5e64211d91ff","directory":"driving-world-aspen","title":"Driving World: Aspen","compatibility":0,"releases":[{"id":"0100D46014CCE000","region":null}]},{"id":"4d68f15e-ed9a-4ebe-8410-d00a01500597","directory":"little-dragons-cafe","title":"Little Dragons Café","compatibility":1,"releases":[{"id":"0100A3F009142000","region":null}]},{"id":"4d8791ec-75a3-4b8d-bf87-d5981c457137","directory":"evans-remains","title":"Evan's Remains","compatibility":99,"releases":[{"id":"01003F900E74E000","region":null}]},{"id":"4d8fd380-f48e-4dff-a806-86868e89c095","directory":"home-run-high","title":"Home Run High","compatibility":99,"releases":[{"id":"010013300F882000","region":null}]},{"id":"4d981c61-37a7-4ca9-a782-c2b54b7ae5cb","directory":"dayd-through-time","title":"DayD: Through Time","compatibility":2,"releases":[{"id":"010072600D8EC000","region":null}]},{"id":"4d9a0ec1-726a-4d11-b7c7-a05a4554ce89","directory":"habroxia-2","title":"Habroxia 2","compatibility":2,"releases":[{"id":"0100E3D013B28000","region":null}]},{"id":"4da8e468-d662-45f7-9e91-4939fb4beff2","directory":"through-the-darkest-of-times","title":"Through the Darkest of Times","compatibility":0,"releases":[{"id":"01007130114CC000","region":null}]},{"id":"4daa2887-ba05-4b96-980f-a344bf33ce04","directory":"mindseize","title":"MindSeize","compatibility":0,"releases":[{"id":"0100B05012FB2000","region":null}]},{"id":"4dc03dfd-6b53-4b32-b691-92df8a495d11","directory":"tennis-world-tour-2","title":"Tennis World Tour 2","compatibility":1,"releases":[{"id":"01002AF011D14000","region":null}]},{"id":"4dcb855c-bc79-4276-97df-5c6c5e3da8e2","directory":"dirt-bike-retro","title":"Dirt Bike Retro","compatibility":0,"releases":[{"id":"01006D60147E0000","region":null}]},{"id":"4dcba8c0-4815-485f-b1de-4388a218a9e6","directory":"forty-thieves-solitaire-collection","title":"Forty Thieves Solitaire Collection","compatibility":99,"releases":[{"id":"0100F3D01601C000","region":null}]},{"id":"4dd0e0a1-caf2-4a1a-8360-ab15b69a5fff","directory":"yet-another-zombie-defense-hd","title":"Yet Another Zombie Defense HD","compatibility":99,"releases":[{"id":"010085500B29A000","region":null}]},{"id":"4dd0ee2c-fb38-44db-bfb3-348a78e7eaa0","directory":"remnants-of-naezith","title":"Remnants of Naezith","compatibility":4,"releases":[{"id":"010043B00AAC0000","region":null}]},{"id":"4dd4d1fd-4415-4e6a-bc47-2a18af70e291","directory":"milkmaid-of-the-milky-way","title":"Milkmaid of the Milky Way","compatibility":99,"releases":[{"id":"010075000EE32000","region":null}]},{"id":"4de3932b-d194-46ea-8f6b-634598e885a6","directory":"mundaun","title":"Mundaun","compatibility":99,"releases":[{"id":"01002AB012858000","region":null}]},{"id":"4de9513b-3a1a-4253-85cf-7a2728e57bba","directory":"zombies-cool","title":"Zombie's Cool","compatibility":99,"releases":[{"id":"01001740116EC000","region":null}]},{"id":"4df2a221-2131-41ba-a8e3-560b44675eef","directory":"shiren-the-wanderer-the-tower-of-fortune-and-the-dice-of-fate","title":"Shiren the Wanderer: The Tower of Fortune and the Dice of Fate","compatibility":1,"releases":[{"id":"01007430122D0000","region":null}]},{"id":"4df8624b-6d01-48ae-b383-aa23f4a1ca6f","directory":"collar-x-malice","title":"Collar X Malice","compatibility":0,"releases":[{"id":"010083E00F40E000","region":null}]},{"id":"4e04ce58-71d8-4e54-b4da-cceefdd92ab9","directory":"chronos-before-the-ashes","title":"Chronos: Before the Ashes","compatibility":99,"releases":[{"id":"010006800E13A000","region":null}]},{"id":"4e07f5dc-0cbb-457e-b20c-0ace1a5e0474","directory":"neon-abyss","title":"Neon Abyss","compatibility":0,"releases":[{"id":"0100BAB01113A000","region":null}]},{"id":"4e0d8601-e4bf-4efe-ae3a-20a243f415a4","directory":"smugglecraft","title":"SmuggleCraft","compatibility":99,"releases":[{"id":"0100C4200B820000","region":null}]},{"id":"4e1f877e-3e10-480c-97ab-e0709a51c02d","directory":"yumeiri","title":"Yumeiri","compatibility":99,"releases":[{"id":"0100E44013632000","region":null}]},{"id":"4e2a727c-8910-44a1-9c88-a3e08520feaf","directory":"kaze-and-the-wild-masks","title":"Kaze and the Wild Masks","compatibility":2,"releases":[{"id":"010038B00F142000","region":null}]},{"id":"4e2d1d69-7eef-4846-944a-28d61fb4c4ff","directory":"xeodrifter","title":"Xeodrifter","compatibility":1,"releases":[{"id":"01005B5009364000","region":null}]},{"id":"4e49cc2f-db9f-4916-a337-51ba00078fa4","directory":"life-of-fly-2","title":"Life of Fly 2","compatibility":99,"releases":[{"id":"010069A01506E000","region":null}]},{"id":"4e54d65b-05f4-49b4-9478-6a153fe1c5f3","directory":"dungeon-of-crawl","title":"Dungeon of Crawl","compatibility":99,"releases":[{"id":"01004050148C4000","region":null}]},{"id":"4e582d55-adb5-44d7-8749-52a3ab994034","directory":"destruction","title":"Destruction","compatibility":99,"releases":[{"id":"01003A400BF8C000","region":null}]},{"id":"4e591835-2838-41eb-bfec-1d0dccfdb7fc","directory":"aca-neogeo-top-players-golf","title":"ACA NEOGEO TOP PLAYER’S GOLF","compatibility":99,"releases":[{"id":"0100B7400A304000","region":null}]},{"id":"4e64f8a7-f256-4eda-8e94-a310be21ff67","directory":"turok","title":"Turok","compatibility":3,"releases":[{"id":"010085500D5F6000","region":null}]},{"id":"4e757e3d-590c-410a-9440-8ec65b138cc8","directory":"farm-for-your-life","title":"Farm for your Life","compatibility":99,"releases":[{"id":"0100B87013EBE000","region":null}]},{"id":"4e83c80e-cabc-4335-ad8c-7947c2f73db0","directory":"infini","title":"Infini","compatibility":99,"releases":[{"id":"0100874012158000","region":null}]},{"id":"4e8b70de-8798-4cb3-ac72-1b3c63ff26c0","directory":"frontier-quest","title":"Frontier Quest","compatibility":99,"releases":[{"id":"0100A55014E2C000","region":null}]},{"id":"4eab83d4-b923-4c22-9e91-452ef062a7d3","directory":"1-2-switch","title":"1-2-Switch","compatibility":1,"releases":[{"id":"01000320000CC000","region":null}]},{"id":"4eb09ec9-0f25-43fc-9d3d-ea0079d62cb8","directory":"gensokyodefenders","title":"GensokyoDefenders","compatibility":3,"releases":[{"id":"010000300C79C000","region":null}]},{"id":"4ecbce6a-76a9-4536-b945-4aaa2bd0b3d3","directory":"bowling","title":"Bowling","compatibility":99,"releases":[{"id":"01008CE00FDCC000","region":null}]},{"id":"4ed1e2c8-dc8e-4a24-a56c-ed8d881aad06","directory":"faircrofts-antiques-the-heir-of-glen-kinnoch-collectors-edition","title":"Faircroft's Antiques: The Heir of Glen Kinnoch Collector's Edition","compatibility":99,"releases":[{"id":"010059701469E000","region":null}]},{"id":"4ed36528-7216-428a-93dc-091c2c1d148e","directory":"warhammer-quest","title":"Warhammer Quest","compatibility":0,"releases":[{"id":"01002B000C4AA000","region":null}]},{"id":"4eda0ac2-3e73-4b7b-bf26-17ce1aec4150","directory":"halloween-super-puzzles-dream","title":"#Halloween, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01000E50134A4000","region":null}]},{"id":"4ee927f4-c135-4eaa-b159-1ab4076cb761","directory":"fatal-frame-maiden-of-black-water","title":"FATAL FRAME: Maiden of Black Water","compatibility":1,"releases":[{"id":"0100BEB015604000","region":null}]},{"id":"4eebe5a8-a30a-4bfb-b4a2-c6fa5ace1e9c","directory":"the-mystery-of-the-hudson-case","title":"The Mystery of the Hudson Case","compatibility":99,"releases":[{"id":"01004C500AAF6000","region":null}]},{"id":"4eecb1e8-1ff4-4466-852b-76ef4dafec2a","directory":"sun-wukong-vs-robot","title":"Sun Wukong VS Robot","compatibility":99,"releases":[{"id":"0100400013E20000","region":null}]},{"id":"4eee911a-e2b8-4298-a3ed-1aa6192b62f8","directory":"candy-raid-the-factory","title":"Candy Raid: The Factory","compatibility":99,"releases":[{"id":"0100B040128E6000","region":null}]},{"id":"4ef4e8d9-44ce-48ee-ba9c-e3d96903ff68","directory":"a-fold-apart","title":"A Fold Apart","compatibility":0,"releases":[{"id":"01003A600D8FC000","region":null}]},{"id":"4ef9eb89-3a02-4a8a-a0ce-a8c1fcd4c352","directory":"pode","title":"Pode","compatibility":1,"releases":[{"id":"01009440095FE000","region":null}]},{"id":"4efc72b2-0698-411b-a441-035261389f78","directory":"shantae-half-genie-hero","title":"Shantae: Half-Genie Hero","compatibility":1,"releases":[{"id":"0100AE0003424000","region":null}]},{"id":"4f058405-0df9-4539-8a6c-db894034706f","directory":"best-sniper-legacy-dino-hunt-shooter-3d","title":"Best Sniper Legacy: Dino Hunt & Shooter 3D","compatibility":99,"releases":[{"id":"01006FA0150C6000","region":null}]},{"id":"4f09cf33-cf17-432f-ab86-e4baebd84fc9","directory":"banner-saga-3","title":"Banner Saga 3","compatibility":5,"releases":[{"id":"010071E00875A000","region":null}]},{"id":"4f0ffff6-90e1-4d4c-bd81-d8c4d6e1fd05","directory":"picross-s3","title":"PICROSS S3","compatibility":0,"releases":[{"id":"010079200D330000","region":null}]},{"id":"4f1a573b-7594-4493-956b-c9ed5e0f7a4a","directory":"crash-dummy","title":"Crash Dummy","compatibility":99,"releases":[{"id":"010046600BD0E000","region":null}]},{"id":"4f33a21c-9351-4805-a2c9-8d9e95c69ee1","directory":"toon-war","title":"Toon War","compatibility":99,"releases":[{"id":"01009EA00E2B8000","region":null}]},{"id":"4f3a6322-40d3-4267-b21d-97c6c2a3cc1a","directory":"puzzle-and-dragons-gold","title":"Puzzle & Dragons GOLD","compatibility":99,"releases":[{"id":"0100C5700ECE0000","region":null}]},{"id":"4f3a6d35-e339-45a3-9cfe-f15597665f9e","directory":"mushroom-wars-2","title":"Mushroom Wars 2","compatibility":4,"releases":[{"id":"0100700006EF6000","region":null}]},{"id":"4f50941e-7122-450f-b502-6dfc0077e6d2","directory":"space-ribbon","title":"Space Ribbon","compatibility":3,"releases":[{"id":"010010A009830000","region":null}]},{"id":"4f55d8eb-eb2d-4b26-b414-173ed3d463ec","directory":"witch-and-hero","title":"Witch & Hero","compatibility":99,"releases":[{"id":"010028700D1CA000","region":null}]},{"id":"4f5975ea-4ee3-43a8-85aa-43b0998e05ae","directory":"instant-sports-summer-games","title":"Instant Sports Summer Games","compatibility":2,"releases":[{"id":"010099A011A46000","region":null}]},{"id":"4f69bd5c-6e23-432b-b223-2db0bc83b1d2","directory":"beyond-a-steel-sky","title":"Beyond a Steel Sky","compatibility":1,"releases":[{"id":"010023C015242000","region":null}]},{"id":"4f748394-fa4f-42dc-bb15-26bd86ff2973","directory":"snk-heroines-tag-team-frenzy","title":"SNK HEROINES Tag Team Frenzy","compatibility":3,"releases":[{"id":"010027F00AD6C000","region":null}]},{"id":"4f8e181a-c427-4155-a399-29fafd9bae44","directory":"spacetime-odissey","title":"SPACETIME ODISSEY","compatibility":99,"releases":[{"id":"01001B0016C9A000","region":null}]},{"id":"4f9ad5da-396c-4ea7-8ff2-a37d6ecafbcd","directory":"aca-neogeo-sengoku-2","title":"ACA NEOGEO SENGOKU 2","compatibility":4,"releases":[{"id":"01009B300872A000","region":null}]},{"id":"4fa4f9a9-7458-4f56-ba7b-71392de46623","directory":"dungeon-and-gravestone","title":"Dungeon and Gravestone","compatibility":99,"releases":[{"id":"010028601190C000","region":null}]},{"id":"4fb61c22-d19b-4f77-9604-53bb7357da6d","directory":"gal-gun-returns","title":"Gal*Gun Returns","compatibility":0,"releases":[{"id":"0100AA50138B4000","region":null}]},{"id":"4fb63e06-c40c-4ac5-b325-160d0c1af7d5","directory":"final-fantasy-viii-remastered","title":"FINAL FANTASY VIII Remastered","compatibility":4,"releases":[{"id":"01008B900DC0A000","region":null}]},{"id":"4fbc292f-2624-41c5-b2ca-3320b50f9bdd","directory":"destiny-connect-tick-tock-travelers","title":"Destiny Connect: Tick-Tock Travelers","compatibility":3,"releases":[{"id":"010069500DD86000","region":null}]},{"id":"4fbcabb0-8e76-4925-8b22-60a5106f805e","directory":"fishing-star-world-tour","title":"Fishing Star World Tour","compatibility":1,"releases":[{"id":"0100DEB00ACE2000","region":null}]},{"id":"4fc4efdd-4bb1-4109-ba02-b661682042e6","directory":"gonner","title":"GoNNER","compatibility":99,"releases":[{"id":"01007C2002B3C000","region":null}]},{"id":"4fc53128-6fdd-4a48-84fb-c3e6f7505b38","directory":"witch-thief","title":"Witch Thief","compatibility":99,"releases":[{"id":"01002FC00C6D0000","region":null}]},{"id":"4fcd9008-5e6c-41dd-84fa-502b34c41208","directory":"arcade-archives-the-fairyland-story","title":"Arcade Archives The Fairyland Story","compatibility":99,"releases":[{"id":"01007F701323E000","region":null}]},{"id":"4fd14c97-b4ce-44b7-85a0-e845337cc8ef","directory":"game-tengoku-cruisinmix-special","title":"Game Tengoku CruisinMix Special","compatibility":2,"releases":[{"id":"01000E800F326000","region":null}]},{"id":"4fd1f65c-f426-4126-9c6e-5320c3315479","directory":"team-troopers","title":"Team Troopers","compatibility":99,"releases":[{"id":"01009E0014164000","region":null}]},{"id":"4fd3ad55-1504-41f3-bb12-1df8d8d504d8","directory":"santa-throw","title":"Santa Throw","compatibility":99,"releases":[{"id":"0100E890170E8000","region":null}]},{"id":"4fd8d8d0-2cd5-4eb9-80b6-7f096bfb8d69","directory":"alluris","title":"Alluris","compatibility":99,"releases":[{"id":"0100AC501122A000","region":null}]},{"id":"4feb9bc4-e78f-4839-98cb-d9e34386bca0","directory":"ultra-space-battle-brawl","title":"Ultra Space Battle Brawl","compatibility":99,"releases":[{"id":"0100E67008D84000","region":null}]},{"id":"4ff7106a-13db-40d9-9faf-37e4c0f8c61c","directory":"dragon-sinker","title":"Dragon Sinker","compatibility":1,"releases":[{"id":"0100356009860000","region":null}]},{"id":"50059fd8-c07d-4570-a25d-2b630762643b","directory":"knightin","title":"Knightin'+","compatibility":0,"releases":[{"id":"01005F8010D98000","region":null}]},{"id":"501fa399-64b0-4739-b3a5-b7a8ff927380","directory":"crash-bandicoot-n-sane-trilogy","title":"Crash Bandicoot N. Sane Trilogy","compatibility":1,"releases":[{"id":"0100D1B006744000","region":null}]},{"id":"502b6d9c-f000-4be0-b2b0-f72b5e800ee5","directory":"carx-drift-racing-online","title":"CarX Drift Racing Online","compatibility":99,"releases":[{"id":"01001A10134B8000","region":null}]},{"id":"502bcfa4-7020-4261-b5cc-7a883a5d3305","directory":"nekopara-vol3","title":"NEKOPARA Vol.3","compatibility":99,"releases":[{"id":"010045000E418000","region":null}]},{"id":"502ed52a-6086-472c-844a-7d103eacb063","directory":"the-walking-dead-the-final-season-season-pass","title":"The Walking Dead: The Final Season - Season Pass","compatibility":2,"releases":[{"id":"010060F00AA70000","region":null}]},{"id":"50312190-6ca4-48a6-975f-15eb025a3638","directory":"caveman-warriors","title":"Caveman Warriors","compatibility":0,"releases":[{"id":"01006DB004566000","region":null}]},{"id":"5033579f-7ce4-4934-8a29-6c7a2cad5636","directory":"pigeon-fight","title":"Pigeon Fight","compatibility":99,"releases":[{"id":"010006B013CA6000","region":null}]},{"id":"503a76bc-d597-4cac-9d7d-48d936dcd336","directory":"convoy-a-tactical-roguelike","title":"Convoy: A Tactical Roguelike","compatibility":0,"releases":[{"id":"010058800E90A000","region":null}]},{"id":"503e988c-741b-46ff-9d34-7a9c576bbc1b","directory":"dandy-ace","title":"Dandy Ace","compatibility":1,"releases":[{"id":"0100608014708000","region":null}]},{"id":"5055b1ee-d8df-4c0a-b0d1-75eeb111b285","directory":"the-bunker","title":"The Bunker","compatibility":4,"releases":[{"id":"01001B40086E2000","region":null}]},{"id":"50669b11-b939-499d-8070-b62587e686f0","directory":"teslagrad","title":"Teslagrad","compatibility":0,"releases":[{"id":"01005C8005F34000","region":null}]},{"id":"50670ab4-1a8c-4220-8261-e525a73be4be","directory":"be-a-walker","title":"BE-A Walker","compatibility":1,"releases":[{"id":"01003A1010E3C000","region":null}]},{"id":"506b5a0c-42ae-4a89-a73a-dd645c11996c","directory":"paint-your-pet","title":"Paint your Pet","compatibility":99,"releases":[{"id":"0100AB90129CA000","region":null}]},{"id":"506ea1a7-13fe-417d-83ad-0b7346ceb66a","directory":"exzeus-the-complete-collection","title":"ExZeus: The Complete Collection","compatibility":99,"releases":[{"id":"0100A7A0147BA000","region":null}]},{"id":"50897edc-61bd-4508-96be-b75ed0183fdb","directory":"pet-shop-snacks","title":"Pet Shop Snacks","compatibility":99,"releases":[{"id":"0100FCB00EEF2000","region":null}]},{"id":"508b1b84-a7bb-4c72-a447-26cddee74e3a","directory":"touhou-genso-wanderer-lotus-labyrinth-r","title":"Touhou Genso Wanderer -Lotus Labyrinth R-","compatibility":99,"releases":[{"id":"0100A7A015E4C000","region":null}]},{"id":"50a2045f-590f-4e70-9dba-6a4bff9b3356","directory":"the-magister","title":"The Magister","compatibility":99,"releases":[{"id":"01006E7013018000","region":null}]},{"id":"50a221bd-dc01-4d02-afb3-223da9afe9e1","directory":"reflection-of-mine","title":"Reflection of Mine","compatibility":99,"releases":[{"id":"010045D01273A000","region":null}]},{"id":"50a4b715-f2f7-4b93-850c-970a818bc153","directory":"aeternoblade-ii","title":"AeternoBlade II","compatibility":1,"releases":[{"id":"0100AE500E76A000","region":null}]},{"id":"50af6c76-97bd-4503-898f-a7f6411fd255","directory":"lanota","title":"Lanota","compatibility":99,"releases":[{"id":"0100E7200B272000","region":null}]},{"id":"50b5a2a3-3e59-4b37-a109-4f1f28056146","directory":"aca-neogeo-the-king-of-fighters-99","title":"ACA NEOGEO THE KING OF FIGHTERS '99","compatibility":4,"releases":[{"id":"0100583001DCA000","region":null}]},{"id":"50c0dffb-8801-4492-b105-8e9d488ed296","directory":"soulblight","title":"Soulblight","compatibility":99,"releases":[{"id":"0100928005094000","region":null}]},{"id":"5109f13c-725d-494e-b0fb-fe23789ee3a0","directory":"kyle-is-famous-complete-edition","title":"Kyle is Famous: Complete Edition","compatibility":99,"releases":[{"id":"0100090014ABE000","region":null}]},{"id":"5115e45d-d7b4-4a02-8eb8-4ccc1f99bf7c","directory":"reed-remastered","title":"Reed Remastered","compatibility":99,"releases":[{"id":"01005D50107F2000","region":null}]},{"id":"511760a2-a2ed-4821-96e3-f003f71ed399","directory":"lynn-the-girl-drawn-on-puzzles","title":"Lynn, The Girl Drawn On Puzzles","compatibility":99,"releases":[{"id":"0100C200163DE000","region":null}]},{"id":"511d441d-3b27-49f9-9a5b-acfd3d03db9a","directory":"double-dragon-4","title":"Double Dragon 4","compatibility":1,"releases":[{"id":"010001B005E5C000","region":null}]},{"id":"5122c0aa-a6cd-46b4-abd9-457b56f3ba43","directory":"big-dipper","title":"Big Dipper","compatibility":99,"releases":[{"id":"0100A42011B28000","region":null}]},{"id":"5134df76-7e6e-4559-afb1-49df1b072fc6","directory":"save-farty","title":"Save Farty","compatibility":99,"releases":[{"id":"01007FF01388E000","region":null}]},{"id":"5145a4c5-5641-4dd8-b76c-668d9b52e9ee","directory":"shaolin-vs-wutang","title":"Shaolin vs Wutang","compatibility":99,"releases":[{"id":"01003AB01062C000","region":null}]},{"id":"514e8e2c-59fb-474d-b2ab-d711591f0773","directory":"ubermosh-santicide","title":"UBERMOSH: SANTICIDE","compatibility":99,"releases":[{"id":"010040D01222C000","region":null}]},{"id":"515455c1-181a-4cb2-bc4a-d2f3f0f96a1d","directory":"arcade-archives-pop-flamer","title":"Arcade Archives POP FLAMER","compatibility":99,"releases":[{"id":"0100CC701508E000","region":null}]},{"id":"51559a3b-bd4f-47d4-8296-61e1046ad0b0","directory":"construction-simulator-2-us-console-edition","title":"Construction Simulator 2 US - Console Edition","compatibility":3,"releases":[{"id":"0100E5D00DE2C000","region":null}]},{"id":"51890479-444c-4816-a94d-a9e2d7b02603","directory":"cold-silence","title":"Cold Silence","compatibility":99,"releases":[{"id":"010035B01706E000","region":null}]},{"id":"518942ba-380e-4d0d-8dc3-75522fde38e2","directory":"infectra","title":"Infectra","compatibility":99,"releases":[{"id":"01004140132A8000","region":null}]},{"id":"51994f63-ee6c-46e4-84d1-4125196e6644","directory":"the-gardener-and-the-wild-vines","title":"The Gardener and the Wild Vines","compatibility":99,"releases":[{"id":"01006350148DA000","region":null}]},{"id":"519e884f-d55a-46e7-8ad5-5ed07944ded0","directory":"shovel-knight-king-of-cards","title":"Shovel Knight: King of Cards","compatibility":2,"releases":[{"id":"01008B20022AA000","region":null}]},{"id":"51a3a270-f973-46d6-becc-99c7729e62f1","directory":"contra-anniversary-collection","title":"Contra Anniversary Collection","compatibility":0,"releases":[{"id":"0100DCA00DA7E000","region":null}]},{"id":"51b328c2-3480-43aa-8718-d598dfaee343","directory":"puzzlement","title":"puzzlement","compatibility":99,"releases":[{"id":"010005D00FC06000","region":null}]},{"id":"51cfb425-7e9b-4ede-a553-833851c5879e","directory":"frosty-jump","title":"Frosty Jump","compatibility":99,"releases":[{"id":"0100A5D0100DE000","region":null}]},{"id":"51d05072-d106-4ab9-bfcc-529296a86b17","directory":"piano","title":"Piano","compatibility":99,"releases":[{"id":"010045B011E1E000","region":null}]},{"id":"51e44e8d-2d03-4199-bd02-19fea83ee823","directory":"battle-and-crash","title":"BATTLE & CRASH","compatibility":99,"releases":[{"id":"010044400E99C000","region":null}]},{"id":"51e74aa2-23d3-4d26-be6a-85b042bc1730","directory":"pokemon-shield","title":"Pokémon Shield","compatibility":1,"releases":[{"id":"01008DB008C2C000","region":null}]},{"id":"51fa6525-e1ab-4534-aabc-533a3369a8ec","directory":"invisigun-reloaded","title":"Invisigun Reloaded","compatibility":99,"releases":[{"id":"01005F400E644000","region":null}]},{"id":"5201964a-1dcd-465e-95cf-1796b242a1d4","directory":"what-the-dub","title":"What the Dub?!","compatibility":99,"releases":[{"id":"0100937014244000","region":null}]},{"id":"52102966-9f99-4a7a-ba55-bd90a3a20b1e","directory":"amoeba-battle-microscopic-rts-action","title":"Amoeba Battle - Microscopic RTS Action","compatibility":99,"releases":[{"id":"010041D00DEB2000","region":null}]},{"id":"5214addc-0e20-4122-b096-92da57628be6","directory":"eastward","title":"Eastward","compatibility":2,"releases":[{"id":"010071B00F63A000","region":null}]},{"id":"5216e4e2-be9b-4dff-a337-1814e4e8bd53","directory":"blood-and-guts-bundle","title":"Blood and Guts Bundle","compatibility":0,"releases":[{"id":"0100EE5011DB6000","region":null}]},{"id":"521dc13d-a74a-401d-9f30-18a2bf9298c2","directory":"clusterpuck-99","title":"ClusterPuck 99","compatibility":4,"releases":[{"id":"010085A00821A000","region":null}]},{"id":"521e0762-4843-4cb8-adce-82d8cb91b40d","directory":"aeternoblade","title":"AeternoBlade","compatibility":1,"releases":[{"id":"01006C40086EA000","region":null}]},{"id":"522857c9-9e4c-49eb-813c-5dc038a8644b","directory":"the-mummy-demastered","title":"The Mummy Demastered","compatibility":0,"releases":[{"id":"0100496004194000","region":null}]},{"id":"52320a48-8cfd-4059-896e-c4bc011e5622","directory":"ruin-raiders","title":"Ruin Raiders","compatibility":99,"releases":[{"id":"0100D7D0138A2000","region":null}]},{"id":"523498eb-d935-425a-92fd-f4e4924affad","directory":"anode","title":"Anode","compatibility":99,"releases":[{"id":"01009E600D78C000","region":null}]},{"id":"52368889-9244-4e88-b28b-57908b9a7c14","directory":"mushroom-quest","title":"Mushroom Quest","compatibility":99,"releases":[{"id":"010035901046C000","region":null}]},{"id":"523724c6-35a4-47f6-9bb9-1c5e60d4e125","directory":"slash-ninja","title":"Slash Ninja","compatibility":99,"releases":[{"id":"01008800130EA000","region":null}]},{"id":"52373db8-29df-48e2-80e4-95f2142b4014","directory":"wheres-samantha","title":"Where's Samantha?","compatibility":99,"releases":[{"id":"010047F014B82000","region":null}]},{"id":"5245a997-9e77-42d7-93d2-33270a62a9fa","directory":"life-of-fly","title":"Life of Fly","compatibility":99,"releases":[{"id":"0100B3A0137EA000","region":null}]},{"id":"52461ad8-3703-4b6c-bffa-5d48f9659a5a","directory":"ryans-rescue-squad","title":"Ryan's Rescue Squad","compatibility":99,"releases":[{"id":"0100D0E0139A0000","region":null}]},{"id":"52464fe5-74e7-4c28-a26c-24fee81ea428","directory":"vektor-wars","title":"Vektor Wars","compatibility":99,"releases":[{"id":"010098400E39E000","region":null}]},{"id":"524b10c4-1067-48c6-98f0-9c9bce8fafc3","directory":"mystery-mine","title":"Mystery Mine","compatibility":99,"releases":[{"id":"01002800117EE000","region":null}]},{"id":"526f9344-ce7b-42b3-9b1f-9f877b0b7112","directory":"graceful-explosion-machine","title":"Graceful Explosion Machine","compatibility":1,"releases":[{"id":"01004D10020F2000","region":null}]},{"id":"5276314d-52b6-4812-988d-a48209f2ed18","directory":"horror-bundle-vol-1","title":"Horror Bundle Vol. 1","compatibility":5,"releases":[{"id":"0100E3801140A000","region":null}]},{"id":"528a091b-1666-4f52-81e4-846dea77ead2","directory":"fragment-of-marine","title":"Fragment of Marine","compatibility":99,"releases":[{"id":"01001A300C802000","region":null}]},{"id":"5298c07e-4a2c-4bc0-9e8f-010f7f44ce49","directory":"crying-suns","title":"Crying Suns","compatibility":99,"releases":[{"id":"010074A00E872000","region":null}]},{"id":"529d1d3c-a99d-4438-9451-ef9d95439e12","directory":"rusty-gun","title":"Rusty Gun","compatibility":99,"releases":[{"id":"01000E4012A00000","region":null}]},{"id":"52a06bbb-2798-4c1d-9204-ab46b749f1ef","directory":"beach-volleyball-challenge","title":"Beach Volleyball Challenge","compatibility":99,"releases":[{"id":"01001200160DC000","region":null}]},{"id":"52cb6e02-940f-4711-891c-ca4f9f65d071","directory":"vroom-in-the-night-sky","title":"Vroom in the night sky","compatibility":99,"releases":[{"id":"01004E90028A2000","region":null}]},{"id":"52cc2e79-8a92-4ad9-b083-2414366d646b","directory":"muddledash","title":"Muddledash","compatibility":99,"releases":[{"id":"010087C009246000","region":null}]},{"id":"52d26f3d-b5b5-4812-8118-ecf9085077e7","directory":"hand-of-fate-2","title":"Hand of Fate 2","compatibility":1,"releases":[{"id":"01003620068EA000","region":null}]},{"id":"52da0162-feb7-460d-942a-167251059453","directory":"miner-warfare","title":"Miner Warfare","compatibility":99,"releases":[{"id":"010044900CCCC000","region":null}]},{"id":"52e8a855-68f7-4b54-95e8-c36d33dba361","directory":"has-been-heroes","title":"Has-Been Heroes","compatibility":1,"releases":[{"id":"0100E29001298000","region":null}]},{"id":"52e90120-ba9f-4e37-b508-2ad05a4f6647","directory":"tennis-club-story","title":"Tennis Club Story","compatibility":99,"releases":[{"id":"01006CB00EEEA000","region":null}]},{"id":"52edc479-35d0-4a60-9c3e-11da54da6015","directory":"ubermosh-black","title":"UBERMOSH:BLACK","compatibility":99,"releases":[{"id":"0100A5101210E000","region":null}]},{"id":"52f0ead1-4940-48aa-a92d-5dc6cef36442","directory":"squareboy-vs-bullies-arena-edition-demo","title":"Squareboy vs Bullies: Arena Edition Demo","compatibility":99,"releases":[{"id":"010039300A56C000","region":null}]},{"id":"530e41cc-1f3b-41ad-99cd-af53e668ae4f","directory":"riot-civil-unrest","title":"RIOT - Civil Unrest","compatibility":99,"releases":[{"id":"010088E00B816000","region":null}]},{"id":"53136ce0-84e7-4789-b4d5-4292a6a99402","directory":"ninja-gaiden-master-collection-deluxe-edition","title":"NINJA GAIDEN: Master Collection Deluxe Edition","compatibility":0,"releases":[{"id":"01002AF014F4C000","region":null}]},{"id":"532c81bd-d19e-4a80-a5a7-119569b462c3","directory":"deep-sky-derelicts-definitive-edition","title":"Deep Sky Derelicts: Definitive Edition","compatibility":0,"releases":[{"id":"0100C3E00D68E000","region":null}]},{"id":"534f370c-768d-480a-b566-6a5834226595","directory":"duke-of-defense","title":"Duke of Defense","compatibility":99,"releases":[{"id":"0100AE300CB00000","region":null}]},{"id":"53533ea2-93fc-47b0-855e-e62cfc5ddb5d","directory":"top-down-racer","title":"Top Down Racer","compatibility":99,"releases":[{"id":"010092C016480000","region":null}]},{"id":"5366247a-6f5c-413d-b2a6-26e694bd7f93","directory":"table-soccer-foosball","title":"Table Soccer Foosball","compatibility":99,"releases":[{"id":"0100F8A013D5E000","region":null}]},{"id":"5372c5b7-9c3f-4cb1-a752-072d2879aa22","directory":"vesta","title":"Vesta","compatibility":99,"releases":[{"id":"010057B00712C000","region":null}]},{"id":"53804b82-ce6d-4abc-9bc4-a35b9f2eee25","directory":"eclipse-edge-of-light","title":"Eclipse: Edge of Light","compatibility":99,"releases":[{"id":"01001F20100B8000","region":null}]},{"id":"53806384-97e7-4983-8c72-7cc050e2b05e","directory":"goblin-sword","title":"Goblin Sword","compatibility":2,"releases":[{"id":"010067C010F88000","region":null}]},{"id":"53961401-749c-4335-b065-c65e77a58f3c","directory":"galgun-2","title":"Gal*Gun 2","compatibility":4,"releases":[{"id":"010024700901A000","region":null}]},{"id":"53985a74-323a-406d-80a6-652cd1cb01bc","directory":"picross-s4","title":"PICROSS S4","compatibility":0,"releases":[{"id":"0100C250115DC000","region":null}]},{"id":"53a60a06-8831-4d58-99dd-429de6a61204","directory":"anthill","title":"Anthill","compatibility":1,"releases":[{"id":"010054C00D842000","region":null}]},{"id":"53bf54d1-c26b-408e-87d2-92757ef63f0e","directory":"soap-dodgem","title":"Soap Dodgem","compatibility":99,"releases":[{"id":"010025C007892000","region":null}]},{"id":"53c923d2-4af1-462d-8e67-9cca409e9901","directory":"rain-city","title":"Rain City","compatibility":99,"releases":[{"id":"01003C700D0DE000","region":null}]},{"id":"53d1f903-b46b-4507-a45c-084f0dfa7599","directory":"luciform","title":"Luciform","compatibility":99,"releases":[{"id":"010073201423E000","region":null}]},{"id":"53d39354-15ad-4f40-a70c-9e9a36244eca","directory":"construction-simulator-3-console-edition","title":"Construction Simulator 3 - Console Edition","compatibility":99,"releases":[{"id":"0100A5600FAC0000","region":null}]},{"id":"53dee15d-937d-41d8-aa44-4d47c7cc02dc","directory":"no-longer-home","title":"No Longer Home","compatibility":99,"releases":[{"id":"0100D99014262000","region":null}]},{"id":"53f06700-bab2-4b75-952c-eb1fa3533a89","directory":"new-super-mario-bros-u-deluxe","title":"New Super Mario Bros. U Deluxe","compatibility":2,"releases":[{"id":"0100EA80032EA000","region":null}]},{"id":"53faed5c-f365-4ac8-8855-cec724c4572d","directory":"caveman-warriors-demo","title":"Caveman Warriors Demo","compatibility":99,"releases":[{"id":"010078700B2CC000","region":null}]},{"id":"53fe4961-b18f-4d54-bd44-4689896d8e91","directory":"disney-tsum-tsum-festival","title":"Disney TSUM TSUM FESTIVAL","compatibility":99,"releases":[{"id":"010012800EBAE000","region":null}]},{"id":"5401e254-3776-4839-b9b8-70e6dc27ab79","directory":"killer-chambers","title":"Killer Chambers","compatibility":99,"releases":[{"id":"01005D10133B8000","region":null}]},{"id":"5406989a-4123-40c9-abc6-fcb4b60b69dc","directory":"manual-samuel","title":"Manual Samuel","compatibility":1,"releases":[{"id":"0100748009A28000","region":null}]},{"id":"54090a5d-d46f-4839-ac42-7d0391612def","directory":"neo-cab","title":"Neo Cab","compatibility":0,"releases":[{"id":"0100EBB00D2F4000","region":null}]},{"id":"54093919-00cc-4590-9d75-9bbedd80d51b","directory":"the-elder-scrolls-r-blades","title":"The Elder Scrolls®: Blades","compatibility":4,"releases":[{"id":"01003D700DD8A000","region":null}]},{"id":"540ec27f-5721-4efd-932f-d94b6dcee075","directory":"ghosts-n-goblins-resurrection","title":"Ghosts 'n Goblins Resurrection","compatibility":2,"releases":[{"id":"0100D6200F2BA000","region":null}]},{"id":"540f8a4a-b527-4da1-9c54-6df45ea9e4fd","directory":"space-marshals","title":"Space Marshals","compatibility":99,"releases":[{"id":"0100782013A04000","region":null}]},{"id":"5410dcce-bfe0-40e6-bbeb-bd1f61e1af17","directory":"word-sudoku-by-powgi-demo","title":"Word Sudoku by POWGI Demo","compatibility":99,"releases":[{"id":"0100FC900CAE4000","region":null}]},{"id":"541f7f48-874a-43e7-9fb4-ccb696ffe07b","directory":"the-path-of-motus","title":"The Path of Motus","compatibility":99,"releases":[{"id":"01001BB00C2EC000","region":null}]},{"id":"5420d867-883e-458d-a98e-76c2fb69e0d0","directory":"blobcat","title":"BlobCat","compatibility":0,"releases":[{"id":"0100F3500A20C000","region":null}]},{"id":"5422c0a0-38d1-453d-b0eb-ddc58fd11669","directory":"the-adventure-of-ravi-n-navi","title":"The Adventure of Ravi 'n' Navi","compatibility":99,"releases":[{"id":"0100D800159FA000","region":null}]},{"id":"5431a492-82e6-40a6-b52d-734b73ba1e66","directory":"nexoria-dungeon-rogue-heroes","title":"Nexoria: Dungeon Rogue Heroes","compatibility":99,"releases":[{"id":"0100B69012EC6000","region":null}]},{"id":"5434149e-6bae-4c7b-aba4-e9d50c920ff2","directory":"windbound","title":"Windbound","compatibility":3,"releases":[{"id":"010044000F7F2000","region":null}]},{"id":"5438e4e4-355a-4550-85a2-3410151165e6","directory":"milli-greg","title":"Milli & Greg","compatibility":99,"releases":[{"id":"01005FA015D68000","region":null}]},{"id":"543fe310-74ca-485b-8b64-079d7b627c11","directory":"scribblenauts-mega-pack","title":"Scribblenauts Mega Pack","compatibility":1,"releases":[{"id":"0100E7100B198000","region":null}]},{"id":"54637fd6-a19b-4bc4-9168-10a41bd0adfa","directory":"windmill-kings","title":"Windmill Kings","compatibility":99,"releases":[{"id":"010099600FC2A000","region":null}]},{"id":"54679173-db79-402b-845e-323b8ade9000","directory":"caretaker","title":"Caretaker","compatibility":99,"releases":[{"id":"0100DA70115E6000","region":null}]},{"id":"547447ca-5ff4-44f9-93ce-0ff63d5774b7","directory":"my-hidden-things","title":"My Hidden Things","compatibility":99,"releases":[{"id":"0100E4701373E000","region":null}]},{"id":"548d7378-5d83-48f0-bb99-dad860ed66b0","directory":"ydanji","title":"YÅdanji","compatibility":1,"releases":[{"id":"01006A600623E000","region":null}]},{"id":"5498169d-7a20-444e-a4df-24e4a7a70110","directory":"i-am-setsuna","title":"I Am Setsuna","compatibility":1,"releases":[{"id":"0100849000BDA000","region":null}]},{"id":"54b2e992-f78a-4cf0-a167-c49cee03e593","directory":"minecraft","title":"Minecraft","compatibility":4,"releases":[{"id":"0100D71004694000","region":null}]},{"id":"54bc7c25-0776-4e6a-8cca-750bbbc9895c","directory":"pixel-head-soccer","title":"Pixel Head Soccer","compatibility":99,"releases":[{"id":"0100D69015042000","region":null}]},{"id":"54bdaa88-228c-4a5d-8d88-961a830eac62","directory":"calculator","title":"Calculator","compatibility":0,"releases":[{"id":"010004701504A000","region":null}]},{"id":"54c53dd8-8777-4ec9-ae69-d23df98087b2","directory":"aeon-drive","title":"Aeon Drive","compatibility":99,"releases":[{"id":"010046701597E000","region":null}]},{"id":"54c9c16d-93ac-48f6-8621-c7dc649293d0","directory":"synthetik-ultimate","title":"SYNTHETIK: Ultimate","compatibility":5,"releases":[{"id":"01009BF00E7D2000","region":null}]},{"id":"54d81824-8149-4df2-8ca4-b89a5ece2c19","directory":"the-takeover","title":"The TakeOver","compatibility":0,"releases":[{"id":"0100CAE01021A000","region":null}]},{"id":"54d82c29-6794-4bc2-9f11-b71c340ae398","directory":"rage-in-peace","title":"Rage in Peace","compatibility":3,"releases":[{"id":"0100E1B00A46C000","region":null}]},{"id":"54d9247f-153e-433c-9a71-37f4c5078ebf","directory":"president-fnet","title":"President F.net","compatibility":99,"releases":[{"id":"01003B800B54C000","region":null}]},{"id":"54ded8bd-1db0-49f5-9a56-789896664594","directory":"tiny-barbarian-dx","title":"Tiny Barbarian DX","compatibility":0,"releases":[{"id":"0100D940022F6000","region":null}]},{"id":"54df7f01-fd6a-45e7-a61a-8c9aa1dc52a5","directory":"taimumari-complete-edition","title":"Taimumari: Complete Edition","compatibility":2,"releases":[{"id":"010040A00EA26000","region":null}]},{"id":"55001896-6be3-4618-a467-c1073db6ed43","directory":"32-secs","title":"32 Secs","compatibility":99,"releases":[{"id":"010065F01375E000","region":null}]},{"id":"550ecb52-27c2-4381-b996-3986863228dd","directory":"thumper","title":"Thumper","compatibility":4,"releases":[{"id":"01006F6002840000","region":null}]},{"id":"5515fb8d-a3c5-494d-a3d3-0206da8d3b5c","directory":"virtuous-western","title":"Virtuous Western","compatibility":99,"releases":[{"id":"0100D48016014000","region":null}]},{"id":"552061b9-8639-468a-bc1c-b04f413fbf2f","directory":"city-driving-simulator","title":"City Driving Simulator","compatibility":99,"releases":[{"id":"0100AC101212C000","region":null}]},{"id":"55717384-1464-4518-92cf-a2762226ec64","directory":"demetrios-the-big-cynical-adventure","title":"Demetrios - The BIG Cynical Adventure","compatibility":99,"releases":[{"id":"0100AB600ACB4000","region":null}]},{"id":"55726add-da87-431f-ba87-70adcaee5773","directory":"super-punch-patrol","title":"Super Punch Patrol","compatibility":3,"releases":[{"id":"01001F90122B2000","region":null}]},{"id":"557ad4ad-887c-4462-a5dd-a665cd40a8ce","directory":"subnautica-below-zero","title":"Subnautica: Below Zero","compatibility":1,"releases":[{"id":"010014C011146000","region":null}]},{"id":"557d60fb-b79f-44a1-9014-d74debed02a5","directory":"deponia","title":"Deponia","compatibility":4,"releases":[{"id":"010023600C704000","region":null}]},{"id":"5582ed4f-3e5b-43c2-b8d5-337fc45704f7","directory":"caveman-tales","title":"Caveman Tales","compatibility":99,"releases":[{"id":"0100EB70128E8000","region":null}]},{"id":"55963a63-5f61-43b8-a3be-60a46c22f86b","directory":"lapis-x-labyrinth","title":"Lapis x Labyrinth","compatibility":2,"releases":[{"id":"010059500D070000","region":null}]},{"id":"55b88cfe-6a00-40d4-9fc1-a2041b3fcdf6","directory":"truck-simulator-usa","title":"Truck Simulator USA","compatibility":3,"releases":[{"id":"01008DD00E66C000","region":null}]},{"id":"55ce1ead-14e4-4f0e-897a-bd251f25c7c9","directory":"flying-hero-x","title":"Flying Hero X","compatibility":2,"releases":[{"id":"0100419013A8A000","region":null}]},{"id":"55d1d8de-d61c-420a-80fa-273d924cf6d6","directory":"saga-scarlet-grace-ambitions","title":"SaGa SCARLET GRACE: AMBITIONS","compatibility":2,"releases":[{"id":"010003A00D0B4000","region":null}]},{"id":"55d249b3-cd52-4f4d-bfec-243c7ca21279","directory":"pako-caravan","title":"PAKO Caravan","compatibility":99,"releases":[{"id":"0100461013E50000","region":null}]},{"id":"55e357f5-c070-4625-8ab3-4fec58b811da","directory":"the-story-goes-on","title":"The Story Goes On","compatibility":99,"releases":[{"id":"01007FA00DA22000","region":null}]},{"id":"55e4b62b-2a00-45c4-ad09-ff04c9a98bf6","directory":"spaceex-commander","title":"SpaceEx Commander","compatibility":99,"releases":[{"id":"0100299013B72000","region":null}]},{"id":"55e6c9a6-ab1e-4238-94fc-61667b7c5b92","directory":"yumemidori-nostalgia","title":"Yumemidori Nostalgia","compatibility":99,"releases":[{"id":"010052F0134B6000","region":null}]},{"id":"55eb5bc3-e04c-4371-8fef-7b929c256a02","directory":"numbala","title":"Numbala","compatibility":99,"releases":[{"id":"010002700C34C000","region":null}]},{"id":"55f42300-d83b-4c4e-9445-a4d188d5710d","directory":"hungry-shark-world","title":"Hungry Shark World","compatibility":0,"releases":[{"id":"0100E1A00AF40000","region":null}]},{"id":"55f6c600-1b1c-498e-ba6e-c47ded089b44","directory":"aca-neogeo-aero-fighters-3","title":"ACA NEOGEO AERO FIGHTERS 3","compatibility":2,"releases":[{"id":"0100B91008780000","region":null}]},{"id":"55ffa248-1b95-49a5-b056-29c09464e1d5","directory":"circa-infinity","title":"Circa Infinity","compatibility":99,"releases":[{"id":"0100FF0015708000","region":null}]},{"id":"560c5b01-cc56-4a02-a3e4-c5fb6b1921f2","directory":"big-crown-showdown","title":"Big Crown: Showdown","compatibility":99,"releases":[{"id":"010088100C35E000","region":null}]},{"id":"56285de8-fe31-4e8b-be28-da8533fcb117","directory":"frutakia-2","title":"Frutakia 2","compatibility":99,"releases":[{"id":"010099700B760000","region":null}]},{"id":"562e711d-0245-4a6f-9791-4004852ade87","directory":"apparition","title":"Apparition","compatibility":99,"releases":[{"id":"01005F20116A0000","region":null}]},{"id":"562fc0d0-e72a-4425-9dff-d7fd9c90af6e","directory":"box-align","title":"Box Align","compatibility":0,"releases":[{"id":"010040800BA8A000","region":null}]},{"id":"56354915-ccf2-4dd4-ae38-4c36e1f30b75","directory":"super-mario-odyssey","title":"Super Mario Odyssey","compatibility":1,"releases":[{"id":"0100000000010000","region":null}]},{"id":"56396c59-65b2-43d6-b0a3-b67521086cab","directory":"the-lost-light-of-sisu","title":"The Lost Light of Sisu","compatibility":99,"releases":[{"id":"010052D00B754000","region":null}]},{"id":"5654ea41-bf0b-479a-8a93-bafd68c1c470","directory":"arcade-archives-sunsetriders","title":"Arcade Archives SUNSETRIDERS","compatibility":3,"releases":[{"id":"0100D90011534000","region":null}]},{"id":"5676ad93-cb7d-436f-b19c-624aa113dec0","directory":"gunpowder-on-the-teeth-arcade","title":"Gunpowder on The Teeth: Arcade","compatibility":99,"releases":[{"id":"010050E00EC8E000","region":null}]},{"id":"56777427-86e5-45f0-a0ae-34fad3a20243","directory":"pixel-game-maker-series-buraigun-galaxy-storm","title":"Pixel Game Maker Series BURAIGUN GALAXY STORM","compatibility":3,"releases":[{"id":"0100F9101573E000","region":null}]},{"id":"56823f13-dc22-4abf-9174-4aec078fb488","directory":"best-friend-forever","title":"Best Friend Forever","compatibility":99,"releases":[{"id":"010075100ED92000","region":null}]},{"id":"5695159e-bd43-46e6-a669-7ce511d63c99","directory":"bai-qu-hundreds-of-melodies","title":"Bai Qu: Hundreds of Melodies","compatibility":99,"releases":[{"id":"0100810015412000","region":null}]},{"id":"56965234-9ac1-4ad5-9740-daa3f26896de","directory":"arcade-archives-life-force","title":"Arcade Archives LIFE FORCE","compatibility":1,"releases":[{"id":"0100F380105A4000","region":null}]},{"id":"569cff83-73e8-48d2-9841-f6bbb5882159","directory":"scribbled","title":"scribbled","compatibility":99,"releases":[{"id":"0100C4A015516000","region":null}]},{"id":"569e024d-9028-4711-b741-a905f0690a10","directory":"giga-wrecker-alt","title":"GIGA WRECKER ALT.","compatibility":0,"releases":[{"id":"010045F00BFC2000","region":null}]},{"id":"56a4068d-1da8-43c7-96a4-7fc14eb591f8","directory":"cannon-brawl","title":"Cannon Brawl","compatibility":99,"releases":[{"id":"0100499013C4A000","region":null}]},{"id":"56a62523-17fb-478a-b600-699bc6326656","directory":"horatio-goes-snowboarding","title":"Horatio Goes Snowboarding","compatibility":99,"releases":[{"id":"01001E7016716000","region":null}]},{"id":"56aa5d52-bbd0-4ac8-a0f0-ca6365916c36","directory":"kitten-squad","title":"Kitten Squad","compatibility":4,"releases":[{"id":"01000C900A136000","region":null}]},{"id":"56ac85e1-5824-4909-901a-0cf97d23d1a1","directory":"destructivator-se","title":"Destructivator SE","compatibility":99,"releases":[{"id":"0100D74012E0A000","region":null}]},{"id":"56ae2a0f-101e-48b4-95dc-a52f57a4803a","directory":"chop","title":"CHOP","compatibility":1,"releases":[{"id":"0100AFD00F13C000","region":null}]},{"id":"56afaaf7-54a5-4a02-ba5f-be4194ce395e","directory":"one-way-ticket","title":"One-Way Ticket","compatibility":3,"releases":[{"id":"0100EEA00E3EA000","region":null}]},{"id":"56b5f99b-2ca5-4ff4-a856-9fe19f614306","directory":"aldred-knight","title":"Aldred Knight","compatibility":1,"releases":[{"id":"01000E000EEF8000","region":null}]},{"id":"56c408a0-2812-45b5-b5ad-c9d79f751847","directory":"the-solitaire-conspiracy","title":"The Solitaire Conspiracy","compatibility":99,"releases":[{"id":"0100749013DCE000","region":null}]},{"id":"56c66cbc-d5d3-40e7-8f2d-ee904e791d48","directory":"zoids-wild-blast-unleashed","title":"Zoids Wild Blast Unleashed","compatibility":1,"releases":[{"id":"010069C0123D8000","region":null}]},{"id":"56cb187d-52b7-4095-aec5-c7e0e883a1b3","directory":"dinosaur-jigsaw-puzzles-dino-puzzle-game-for-kids-toddlers","title":"Dinosaur Jigsaw Puzzles - Dino Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"010061D0167FA000","region":null}]},{"id":"56cb9ada-620f-44be-ab9b-835e7dd14d1b","directory":"anodyne","title":"Anodyne","compatibility":99,"releases":[{"id":"01007DD00ABB4000","region":null}]},{"id":"56cc7fe2-6e87-444a-af00-0bc6270a5d8b","directory":"endurance-space-action","title":"Endurance - space action","compatibility":1,"releases":[{"id":"010045C011DF6000","region":null}]},{"id":"56d5d778-d986-460b-8788-19b563c1dab2","directory":"loop-hero","title":"Loop Hero","compatibility":99,"releases":[{"id":"010004E01523C000","region":null}]},{"id":"56dc2fc1-b0c5-4351-97ff-e13bfc544cbf","directory":"ego-protocol-remastered","title":"Ego Protocol: Remastered","compatibility":99,"releases":[{"id":"0100CC0010A46000","region":null}]},{"id":"56dcf735-20bd-4914-acdd-852aec9823f7","directory":"crazy-mini-golf-arcade","title":"Crazy Mini Golf Arcade","compatibility":99,"releases":[{"id":"0100120008468000","region":null}]},{"id":"56e95e05-352c-4c3c-a995-d0b707f42537","directory":"mandalas","title":"Mandalas","compatibility":99,"releases":[{"id":"0100AD50164D0000","region":null}]},{"id":"56ea3035-49b0-4c4b-91f9-91bf59ea8fdc","directory":"rockn-racing-off-road-dx","title":"Rock'N Racing Off Road DX","compatibility":99,"releases":[{"id":"0100513005AF4000","region":null}]},{"id":"56eb9e81-893b-487f-a9bf-09f193163595","directory":"roah","title":"Roah","compatibility":99,"releases":[{"id":"01000440123A6000","region":null}]},{"id":"56f30f50-78e0-499d-ba4f-5caccee77e44","directory":"my-aunt-is-a-witch","title":"My Aunt is a Witch","compatibility":1,"releases":[{"id":"01002C6012334000","region":null}]},{"id":"56fcbe5e-6fe1-415d-8483-39812beb1a0a","directory":"golem-gates","title":"Golem Gates","compatibility":99,"releases":[{"id":"01003C000D84C000","region":null}]},{"id":"570254ac-9aca-421b-85bc-12f4c2c7f087","directory":"sheepo","title":"Sheepo","compatibility":99,"releases":[{"id":"010095C014068000","region":null}]},{"id":"5712304f-2d21-4431-b35a-3bb77f2f7da5","directory":"polygod","title":"Polygod","compatibility":99,"releases":[{"id":"010017600B180000","region":null}]},{"id":"57229483-d57c-49a1-8d42-c32936e8e4d8","directory":"fernz-gate","title":"Fernz Gate","compatibility":3,"releases":[{"id":"01006E800B7F2000","region":null}]},{"id":"5727f89e-c453-4357-936b-778993587fea","directory":"nine-parchments","title":"Nine Parchments","compatibility":3,"releases":[{"id":"0100D03003F0E000","region":null}]},{"id":"57311839-9df4-41ba-ba91-e2de14a2d27b","directory":"bonito-days","title":"Bonito Days","compatibility":99,"releases":[{"id":"0100ACD0154CC000","region":null}]},{"id":"5737a129-5067-45dc-b82f-15ded00feee1","directory":"rock-boshers-dx-directors-cut","title":"ROCK BOSHERS DX: Director's Cut","compatibility":99,"releases":[{"id":"0100CD100BEA4000","region":null}]},{"id":"57395944-bac4-4dcd-ab37-a7cb68a2121a","directory":"the-letter-a-horror-visual-novel","title":"The Letter: A Horror Visual Novel","compatibility":99,"releases":[{"id":"010054700D680000","region":null}]},{"id":"573ca7e0-6430-4b8a-aaaf-77f911cc7047","directory":"bakumatsu-renka-shinsengumi","title":"Bakumatsu Renka SHINSENGUMI","compatibility":99,"releases":[{"id":"01008260138C4000","region":null}]},{"id":"5747847a-06b8-4dec-b19b-b0d5be2b4c92","directory":"namco-museum-r-archives-vol-2","title":"NAMCO MUSEUM® ARCHIVES Vol 2","compatibility":0,"releases":[{"id":"0100BCE010E1A000","region":null}]},{"id":"575250e4-4682-48a7-8e95-c2000964ecee","directory":"smashroom","title":"Smashroom","compatibility":99,"releases":[{"id":"0100FF5015416000","region":null}]},{"id":"575ab844-01cc-4473-a18d-7814ec92a3d4","directory":"rift-racoon","title":"Rift Racoon","compatibility":99,"releases":[{"id":"01002A2013648000","region":null}]},{"id":"57612a98-836a-4f7f-aad5-361375b9d640","directory":"zaccaria-pinball","title":"Zaccaria Pinball","compatibility":5,"releases":[{"id":"010092400A678000","region":null}]},{"id":"57680887-6a10-49d0-963c-2808dbc6828f","directory":"crayon-shinchan-the-storm-called-flaming-kasukabe-runner","title":"CRAYON SHINCHAN The Storm Called FLAMING KASUKABE RUNNER!!","compatibility":0,"releases":[{"id":"0100D470106DC000","region":null}]},{"id":"576a5c76-c8d5-4da4-94e0-d8bd06604161","directory":"eternal-edge","title":"Eternal Edge","compatibility":4,"releases":[{"id":"010007100A16A000","region":null}]},{"id":"5778bd2c-2d72-4bc7-b222-7190fa92146f","directory":"agatha-knife","title":"Agatha Knife","compatibility":99,"releases":[{"id":"010093600A60C000","region":null}]},{"id":"57816bb7-2004-43f9-ad7e-94a26d1d9a13","directory":"jetsnguns","title":"Jets'n'Guns","compatibility":99,"releases":[{"id":"010026200FF36000","region":null}]},{"id":"5782483e-fb4f-41f0-a493-327056dc6f75","directory":"pretty-girls-mahjong-solitaire-blue","title":"Pretty Girls Mahjong Solitaire - Blue","compatibility":0,"releases":[{"id":"0100EBF014D42000","region":null}]},{"id":"57a8c56a-005e-4335-bd21-8b22a7662527","directory":"super-mario-party","title":"Super Mario Party","compatibility":2,"releases":[{"id":"010036B0034E4000","region":null}]},{"id":"57aa88ef-9940-4914-b3a8-8ee8ed650beb","directory":"plants-vs-zombies-battle-for-neighborville-complete-edition","title":"Plants vs. Zombies: Battle for Neighborvilleâ„¢ Complete Edition","compatibility":4,"releases":[{"id":"0100C56010FD8000","region":null}]},{"id":"57c544b3-8975-47a2-b4e2-886272f867ae","directory":"kamiko","title":"KAMIKO","compatibility":0,"releases":[{"id":"010085300314E000","region":null}]},{"id":"57c88b5e-bd63-4c39-95ae-d1322c88ff3b","directory":"super-soccer-blast","title":"Super Soccer Blast","compatibility":2,"releases":[{"id":"0100D61012270000","region":null}]},{"id":"57cc0bdc-aa9d-4459-b4ae-64e902ebd837","directory":"green-phoenix","title":"Green Phoenix","compatibility":99,"releases":[{"id":"0100E20014C46000","region":null}]},{"id":"57d8ce32-e678-431b-83bd-699142b912af","directory":"super-smash-bros-ultimate","title":"Super Smash Bros. Ultimate","compatibility":2,"releases":[{"id":"01006A800016E000","region":null}]},{"id":"57e7087a-99a7-4c3f-837e-92693d0962d4","directory":"gunslugs","title":"Gunslugs","compatibility":99,"releases":[{"id":"01008050130EE000","region":null}]},{"id":"57ebc871-7c7c-4929-bd56-1449f27c5095","directory":"aca-neogeo-crossed-swords","title":"ACA NEOGEO CROSSED SWORDS","compatibility":99,"releases":[{"id":"0100D2400AFB0000","region":null}]},{"id":"57f8f3fe-1caa-4eff-bef9-ce98f4779546","directory":"ski-jump-challenge","title":"Ski Jump Challenge","compatibility":99,"releases":[{"id":"0100D95014202000","region":null}]},{"id":"580f5109-c42f-49ce-88f2-c0e166e8de02","directory":"qb-planets","title":"QB Planets","compatibility":99,"releases":[{"id":"01009E8015FB6000","region":null}]},{"id":"5813cb58-cf43-413c-88c0-5f6a05c053bb","directory":"super-soccer-blast-america-vs-europe","title":"Super Soccer Blast: America VS Europe","compatibility":3,"releases":[{"id":"0100A0C0145F6000","region":null}]},{"id":"5813cd3b-e1fb-4238-b0e7-6fd01cddcca4","directory":"enter-the-gungeon","title":"Enter the Gungeon","compatibility":1,"releases":[{"id":"01009D60076F6000","region":null}]},{"id":"58142047-6f09-4161-ac94-66a38dac5c4e","directory":"kingdom-hearts-melody-of-memory","title":"KINGDOM HEARTS Melody of Memory","compatibility":3,"releases":[{"id":"01005D2011EA8000","region":null}]},{"id":"58155dae-9474-484f-9743-da2dec12cc69","directory":"sentinels-of-freedom","title":"Sentinels of Freedom","compatibility":0,"releases":[{"id":"01009E500D29C000","region":null}]},{"id":"5817b135-1b55-49c8-a3be-412d56963881","directory":"night-lights","title":"Night Lights","compatibility":99,"releases":[{"id":"0100BEF016476000","region":null}]},{"id":"5819cc3b-2d29-40d2-8e0c-22e96482f64d","directory":"kirby-fighters-2","title":"Kirby Fightersâ„¢ 2","compatibility":0,"releases":[{"id":"0100227010460000","region":null}]},{"id":"582428de-b2c1-4c64-b00e-059d18b4fe67","directory":"jigsaw-masterpieces","title":"Jigsaw Masterpieces","compatibility":99,"releases":[{"id":"0100BB800E0D2000","region":null}]},{"id":"582de476-1097-4113-841f-6a4df04678dc","directory":"garage-mechanic-simulator","title":"Garage Mechanic Simulator","compatibility":99,"releases":[{"id":"01001DC00E324000","region":null}]},{"id":"5845a0ee-77a1-4b50-b536-90dec63b210a","directory":"guess-the-word","title":"Guess the word","compatibility":99,"releases":[{"id":"01005DC00D80C000","region":null}]},{"id":"584e19a2-63e2-421d-bf99-bd6d87051db6","directory":"space-warrior","title":"Space Warrior","compatibility":99,"releases":[{"id":"010090F014CA4000","region":null}]},{"id":"5855aede-c758-4180-8120-6c6ec9471599","directory":"unspottable","title":"Unspottable","compatibility":0,"releases":[{"id":"0100B410138C0000","region":null}]},{"id":"585b133f-aaac-4b12-b2f9-9f01fd5526b8","directory":"spacecats-with-lasers","title":"Spacecats with Lasers","compatibility":99,"releases":[{"id":"0100D9B0041CE000","region":null}]},{"id":"585fcf06-c597-46a4-88f5-5fe134b7592e","directory":"finding-teddy-2-definitive-edition","title":"Finding Teddy 2 : Definitive Edition","compatibility":99,"releases":[{"id":"0100FF100FB68000","region":null}]},{"id":"58601196-ee61-4963-8963-e4438cc77b3d","directory":"tesla-force","title":"Tesla Force","compatibility":99,"releases":[{"id":"0100FFD00FDF8000","region":null}]},{"id":"5871dd51-387c-4702-ad59-f30c407c7770","directory":"arcade-archives-elevator-action","title":"Arcade Archives ELEVATOR ACTION","compatibility":5,"releases":[{"id":"0100BF8006EC6000","region":null}]},{"id":"588cbc23-e744-409a-bed3-2de49bd89e37","directory":"curling","title":"Curling","compatibility":99,"releases":[{"id":"010038E0137A8000","region":null}]},{"id":"588f23dd-dd4e-46e9-8b44-698c15d0e0b6","directory":"under-the-jolly-roger","title":"Under the Jolly Roger","compatibility":0,"releases":[{"id":"010031E00EA24000","region":null}]},{"id":"588f7ab4-ec40-4d1e-9c7d-078439e92c84","directory":"arcade-archives-raiden","title":"Arcade Archives RAIDEN","compatibility":1,"releases":[{"id":"010025E0131A6000","region":null}]},{"id":"589538d3-c092-4ae6-80df-bd6bddd8d19a","directory":"puddle-knights","title":"Puddle Knights","compatibility":99,"releases":[{"id":"0100FE10127F4000","region":null}]},{"id":"58c95052-47a5-425e-8399-a2a665369242","directory":"roommates","title":"Roommates","compatibility":99,"releases":[{"id":"0100B8C01252A000","region":null}]},{"id":"58d038b8-6ed7-4d37-b51a-a55d42a3e1d4","directory":"lets-go-nuts","title":"Let's Go Nuts","compatibility":99,"releases":[{"id":"010070600DFE4000","region":null}]},{"id":"58d42dd1-a5fe-4e64-9e19-a2b5e762db7a","directory":"charterstone-digital-edition","title":"Charterstone: Digital Edition","compatibility":99,"releases":[{"id":"01008F500E042000","region":null}]},{"id":"58efb4eb-07b1-4923-b086-7b958c938589","directory":"ultra-street-fighter-ii-the-final-challengers","title":"Ultra Street Fighter II: The Final Challengers","compatibility":0,"releases":[{"id":"01007330027EE000","region":null}]},{"id":"59013324-8278-44b8-a8f2-1a461768edbb","directory":"inversus-deluxe-demo","title":"INVERSUS Deluxe Demo","compatibility":99,"releases":[{"id":"010009100845A000","region":null}]},{"id":"590150c5-c731-49b1-b924-331838746a10","directory":"out-there-w-the-alliance","title":"Out There: Ω The Alliance","compatibility":99,"releases":[{"id":"010076C00B8F0000","region":null}]},{"id":"5903a86a-3e65-4beb-a804-8690ef93fbef","directory":"everdark-tower","title":"Everdark Tower","compatibility":1,"releases":[{"id":"010029500DFBA000","region":null}]},{"id":"590af3d7-8b78-4b79-a972-0d359dabbd8f","directory":"mononoke-slashdown","title":"Mononoke Slashdown","compatibility":4,"releases":[{"id":"0100F3A00FB78000","region":null}]},{"id":"5912ee62-b37c-432a-a5dc-1c67ce0f1e86","directory":"mekabolt","title":"Mekabolt","compatibility":99,"releases":[{"id":"0100F4F00F098000","region":null}]},{"id":"591960d0-dccb-4c64-8844-6a7d3e8198fa","directory":"five-nights-at-freddys-2","title":"Five Nights at Freddy's 2","compatibility":2,"releases":[{"id":"01004EB00E43A000","region":null}]},{"id":"591d1cf5-c96b-4cc2-ad76-98db07fdcd2d","directory":"road-redemption","title":"Road Redemption","compatibility":1,"releases":[{"id":"010053000B986000","region":null}]},{"id":"591e8572-1fde-4c40-9cb0-e246a0cdf51d","directory":"fe","title":"Fe","compatibility":1,"releases":[{"id":"0100D2600736A000","region":null}]},{"id":"592ddac8-1ba3-47b1-8cd6-c425e15c7ae3","directory":"subnautica","title":"Subnautica","compatibility":1,"releases":[{"id":"0100429011144000","region":null}]},{"id":"592e5d9b-8f8c-4852-94e7-bfd9faaf3103","directory":"xtreme-club-racing","title":"Xtreme Club Racing","compatibility":99,"releases":[{"id":"0100DAE00DE4E000","region":null}]},{"id":"592f7237-5ba3-41c0-97a8-7d4226bbc57d","directory":"brotherhood-united","title":"Brotherhood United","compatibility":99,"releases":[{"id":"0100BCD010E88000","region":null}]},{"id":"593e5c0e-6d88-4527-877b-c7fb47a7e42f","directory":"aca-neogeo-robo-army","title":"ACA NEOGEO ROBO ARMY","compatibility":1,"releases":[{"id":"01000C9004FA2000","region":null}]},{"id":"594ee02d-07b2-4f85-967a-8a8ae1124172","directory":"super-life-of-pixel","title":"Super Life of Pixel","compatibility":99,"releases":[{"id":"010042000CA02000","region":null}]},{"id":"5961cb2b-16a9-47bf-b3ae-e2e59067b714","directory":"i-and-me","title":"I and Me","compatibility":99,"releases":[{"id":"01005C40037C6000","region":null}]},{"id":"59622777-31c4-4d8a-82c1-ea4d1727152b","directory":"duke-nukem-3d-20th-anniversary-world-tour","title":"Duke Nukem 3D: 20th Anniversary World Tour","compatibility":4,"releases":[{"id":"01007EF00CB88000","region":null}]},{"id":"59648252-0a05-4a9b-8b1d-7880160ac4cd","directory":"rimelands-hammer-of-thor","title":"Rimelands: Hammer of Thor","compatibility":99,"releases":[{"id":"01006AC00EE6E000","region":null}]},{"id":"597cabd3-9823-4a6c-b0f4-c711addd2bbf","directory":"cryogear","title":"Cryogear","compatibility":99,"releases":[{"id":"0100AC100CCF6000","region":null}]},{"id":"597d0999-bbea-4696-b88a-4c568c29c0f7","directory":"human-resource-machine","title":"Human Resource Machine","compatibility":1,"releases":[{"id":"0100701001D92000","region":null}]},{"id":"59b03c99-04c1-4975-b201-bd3703f892cc","directory":"robotics-notes-dash","title":"ROBOTICS;NOTES DaSH","compatibility":99,"releases":[{"id":"010039A0117C0000","region":null}]},{"id":"59c2e6b6-8547-4933-b6e6-dfd964ec662d","directory":"sonic-forces","title":"SONIC FORCES","compatibility":2,"releases":[{"id":"01001270012B6000","region":null}]},{"id":"59c745a7-2ce9-4481-93c6-1dd484d950af","directory":"sgc-short-games-collection-1","title":"SGC - Short Games Collection #1","compatibility":99,"releases":[{"id":"01007BB015210000","region":null}]},{"id":"59cac437-4c21-4198-8a51-dd9f5612472e","directory":"hextones","title":"Hextones","compatibility":99,"releases":[{"id":"01005A0015670000","region":null}]},{"id":"59db8036-ef97-43a6-928d-5553b032c229","directory":"top-speed-drag-fast-racing","title":"Top Speed: Drag & Fast Racing","compatibility":99,"releases":[{"id":"010082600F1AC000","region":null}]},{"id":"5a0109a3-75b0-4f34-81be-3dbcf9da36d5","directory":"flying-soldiers","title":"Flying Soldiers","compatibility":99,"releases":[{"id":"010080701194E000","region":null}]},{"id":"5a2bb522-18fa-40d6-9c3e-83168c6ae893","directory":"jungle-z","title":"Jungle Z","compatibility":99,"releases":[{"id":"010080E00D3DE000","region":null}]},{"id":"5a3ca5ac-542c-4c8a-98fd-e1823828d0dc","directory":"abyss","title":"Abyss","compatibility":99,"releases":[{"id":"0100E7400C7C4000","region":null}]},{"id":"5a3e5aef-2c52-4f9b-aea8-1442fc7c3b3e","directory":"percys-predicament-deluxe","title":"Percy's Predicament Deluxe","compatibility":99,"releases":[{"id":"01005CE00617E000","region":null}]},{"id":"5a580f03-c64d-4b7c-bbb9-106d0fdda41f","directory":"pocket-races","title":"Pocket Races","compatibility":0,"releases":[{"id":"0100A250144E0000","region":null}]},{"id":"5a5fde1e-9599-47bd-bc04-dfe6db200f95","directory":"blood-breed","title":"Blood Breed","compatibility":99,"releases":[{"id":"01006A0010D6A000","region":null}]},{"id":"5a6e7b46-fa8f-4f4c-8e4a-d31a1760b036","directory":"pinocchio-super-puzzles-dream","title":"#pinocchio, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01004D30157D2000","region":null}]},{"id":"5a6fe736-5b7e-40d7-b1b0-95236d8b53bb","directory":"truck-mechanic-simulator","title":"Truck Mechanic Simulator","compatibility":99,"releases":[{"id":"01003A00122E2000","region":null}]},{"id":"5a7cdb08-bb31-484a-8f95-0750b9deceac","directory":"little-mouses-encyclopedia","title":"Little Mouse's Encyclopedia","compatibility":0,"releases":[{"id":"0100FE0014200000","region":null}]},{"id":"5a8f4624-4baf-4b18-9ad2-f802415abf2c","directory":"werewolf-pinball","title":"Werewolf Pinball","compatibility":99,"releases":[{"id":"0100A0E00B7A4000","region":null}]},{"id":"5a9e99e8-3922-43bb-8675-87d55eb85b48","directory":"n-verlore-verstand","title":"'n Verlore Verstand","compatibility":0,"releases":[{"id":"010098800C4B0000","region":null}]},{"id":"5aa9023a-1b3e-4666-95e2-05865ee44514","directory":"phantom-breaker-battle-grounds-overdrive","title":"Phantom Breaker: Battle Grounds Overdrive","compatibility":2,"releases":[{"id":"0100063005C86000","region":null}]},{"id":"5aacc0aa-243d-457b-b429-013e38fb7ee6","directory":"restless-hero","title":"Restless Hero","compatibility":99,"releases":[{"id":"0100A00012652000","region":null}]},{"id":"5aae09b1-4b4e-42d7-83a0-3d53de919479","directory":"redneck-skeet-shooting","title":"Redneck Skeet Shooting","compatibility":99,"releases":[{"id":"0100BDE00E4C0000","region":null}]},{"id":"5ab3a00e-e930-4cdd-944d-e2db0db14f79","directory":"aca-neogeo-strikers-1945-plus","title":"ACA NEOGEO STRIKERS 1945 PLUS","compatibility":4,"releases":[{"id":"010061600BF7E000","region":null}]},{"id":"5abe24c8-1cc8-4d1c-92ff-9f63fa860746","directory":"tt-isle-of-man","title":"TT Isle of Man","compatibility":2,"releases":[{"id":"010099900CAB2000","region":null}]},{"id":"5abeced1-ea96-42f3-9683-d6cd35f090f9","directory":"kunai","title":"KUNAI","compatibility":0,"releases":[{"id":"010035A00DF62000","region":null}]},{"id":"5ad05de4-12c4-477e-a1d2-c5625758aa32","directory":"otttd-over-the-top-tower-defense","title":"OTTTD: Over The Top Tower Defense","compatibility":99,"releases":[{"id":"01000320060AC000","region":null}]},{"id":"5ad975e0-894e-46d6-8d55-119a0967e0cc","directory":"super-chicken-catchers","title":"Super Chicken Catchers","compatibility":99,"releases":[{"id":"010059500EAFE000","region":null}]},{"id":"5ae13a9c-e925-4255-b6aa-857c554cb864","directory":"family-feud-r","title":"Family Feud®","compatibility":1,"releases":[{"id":"010060200FC44000","region":null}]},{"id":"5ae61b4e-5400-4830-b194-66f025218534","directory":"chromagun-demo","title":"ChromaGun Demo","compatibility":99,"releases":[{"id":"0100EA500902E000","region":null}]},{"id":"5aece8f7-fde6-4659-9106-c05a0908e104","directory":"6180-the-moon","title":"6180 the moon","compatibility":1,"releases":[{"id":"0100ECF008474000","region":null}]},{"id":"5aef53d1-3d6d-4f9e-8b38-dfb086455676","directory":"valkyria-chronicles","title":"Valkyria Chronicles","compatibility":99,"releases":[{"id":"0100CAF00B744000","region":null}]},{"id":"5b05c5e3-a9cc-4e0f-8898-c709df0c1eaf","directory":"cat-quest","title":"Cat Quest","compatibility":0,"releases":[{"id":"0100A2F006FBE000","region":null}]},{"id":"5b185e2e-45ee-4efb-b605-b0c3a5671030","directory":"fairy-fencer-f-advent-dark-force","title":"Fairy Fencer F: Advent Dark Force","compatibility":99,"releases":[{"id":"010002300C632000","region":null}]},{"id":"5b1943fc-8fde-4f77-823d-9c0568198706","directory":"under-leaves","title":"Under Leaves","compatibility":0,"releases":[{"id":"01008F3013E4E000","region":null}]},{"id":"5b1a313c-68c5-469c-9ab7-3c1559fd5682","directory":"the-procession-to-calvary","title":"The Procession To Calvary","compatibility":99,"releases":[{"id":"0100767012DB8000","region":null}]},{"id":"5b1d594a-3375-4a0e-9ebc-7f36526d34f0","directory":"doomsday-vault","title":"Doomsday Vault","compatibility":99,"releases":[{"id":"0100B6C0124FE000","region":null}]},{"id":"5b1e19ce-afbb-4719-90a8-c02d5157a4e0","directory":"ninnindays2","title":"NinNinDays2","compatibility":99,"releases":[{"id":"0100DEF016364000","region":null}]},{"id":"5b327ebb-95b0-4e8e-8e26-af64c33b4c1f","directory":"mickey-storm-and-the-cursed-mask","title":"Mickey Storm and the Cursed Mask","compatibility":1,"releases":[{"id":"010061D0139D0000","region":null}]},{"id":"5b329e16-e7d3-4e9f-a816-72e4e5d29f0a","directory":"fill-a-pix-phils-epic-adventure-demo","title":"Fill-a-Pix: Phil's Epic Adventure Demo","compatibility":99,"releases":[{"id":"01002FC00B694000","region":null}]},{"id":"5b33ffc2-817f-4251-826f-815a5106e7e0","directory":"weapon-of-choice-dx","title":"Weapon of Choice DX","compatibility":99,"releases":[{"id":"01001FB012114000","region":null}]},{"id":"5b3bcc8d-ab73-46e5-9662-0c15af481ffc","directory":"shakes-on-a-plane","title":"Shakes on a Plane","compatibility":99,"releases":[{"id":"01008DA012EC0000","region":null}]},{"id":"5b3c45dc-307c-4af5-ba9f-afdce1392bb4","directory":"zeroptian-invasion","title":"Zeroptian Invasion","compatibility":99,"releases":[{"id":"010090100D3D6000","region":null}]},{"id":"5b569314-9647-47e4-bf35-372ab841bf5b","directory":"brick-breaker","title":"Brick Breaker","compatibility":0,"releases":[{"id":"010026800BB06000","region":null}]},{"id":"5b5cae9e-81f6-49b6-a7b1-2e3eff4787d4","directory":"dust-an-elysian-tail","title":"Dust: An Elysian Tail","compatibility":2,"releases":[{"id":"0100B6E00A420000","region":null}]},{"id":"5b5e5139-b86c-41d6-a1e9-e5ad3896e861","directory":"cupid-parasite","title":"Cupid Parasite","compatibility":3,"releases":[{"id":"0100E010152CA000","region":null}]},{"id":"5b657b84-cf90-44cf-b516-73baf283292f","directory":"adventures-of-chris","title":"Adventures of Chris","compatibility":0,"releases":[{"id":"010072601233C000","region":null}]},{"id":"5b9a4ea5-fc57-415e-96e9-fb3a889f68ee","directory":"siebenstreichs-nerdventure","title":"Siebenstreich's Nerdventure","compatibility":99,"releases":[{"id":"01006F3015228000","region":null}]},{"id":"5b9c0caf-9fb1-4a1b-82f3-1e350bc05c8b","directory":"reed-2","title":"Reed 2","compatibility":99,"releases":[{"id":"01003EF0118D2000","region":null}]},{"id":"5ba0b456-37e8-443a-a0ed-c30c18cf2571","directory":"knight-swap-2","title":"Knight Swap 2","compatibility":99,"releases":[{"id":"0100D84011926000","region":null}]},{"id":"5ba6a4b8-2a44-48b1-ac2a-1bb8810423d1","directory":"need-a-packet","title":"Need a packet?","compatibility":99,"releases":[{"id":"0100BBC00E4F8000","region":null}]},{"id":"5bb3562e-12fe-41a0-94f7-a489f0628396","directory":"legendary-eleven","title":"Legendary Eleven","compatibility":99,"releases":[{"id":"0100A73006E74000","region":null}]},{"id":"5bc6d3c7-1dd2-4712-a76e-59fe574bd53f","directory":"circle-of-sumo","title":"Circle of Sumo","compatibility":0,"releases":[{"id":"010039700BA7E000","region":null}]},{"id":"5bc912c7-5684-440f-a7cb-5ec5557d2b42","directory":"many-faces","title":"Many Faces","compatibility":99,"releases":[{"id":"01009D4011BFC000","region":null}]},{"id":"5bd480a5-b817-4810-9306-de4ad4eabc8a","directory":"slots-of-the-season","title":"Slots of the Season","compatibility":99,"releases":[{"id":"01005FC0133D2000","region":null}]},{"id":"5bd62b81-8c9f-4b75-841d-6f8618f42e35","directory":"quantum-replica","title":"Quantum Replica","compatibility":99,"releases":[{"id":"010045101288A000","region":null}]},{"id":"5bdacb4c-c495-451c-8a52-78e4f92630ec","directory":"bioshock-remastered","title":"BioShock Remastered","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"5be18d66-2ef3-42e1-bc96-8e138b34b2ed","directory":"clubhouse-games-51-worldwide-classics","title":"Clubhouse Gamesâ„¢: 51 Worldwide Classics","compatibility":0,"releases":[{"id":"010047700D540000","region":null}]},{"id":"5be2611b-95ef-44e9-aaac-4e64122eae7b","directory":"genesis-noir","title":"Genesis Noir","compatibility":3,"releases":[{"id":"01009C701165E000","region":null}]},{"id":"5be2a489-132a-4907-be50-a183fb808b53","directory":"aliens-drive-me-crazy","title":"Aliens Drive Me Crazy","compatibility":99,"releases":[{"id":"01001030160F4000","region":null}]},{"id":"5bee1e96-a37c-442b-8863-efc206d88232","directory":"escape-2088","title":"Escape 2088","compatibility":99,"releases":[{"id":"01001F2013DF2000","region":null}]},{"id":"5bf67a56-81ac-485f-9419-f96e5585b0b8","directory":"lode-runner-legacy-demo-version","title":"Lode Runner Legacy Demo Version","compatibility":99,"releases":[{"id":"010086500AC4A000","region":null}]},{"id":"5bfa3eeb-4f9e-4f17-847b-1a36089f6c1c","directory":"the-padre","title":"The Padre","compatibility":99,"releases":[{"id":"0100EB000C818000","region":null}]},{"id":"5c019507-bee7-4f92-89db-71bc786e0381","directory":"lost-artifacts-golden-island","title":"Lost Artifacts: Golden Island","compatibility":99,"releases":[{"id":"01005B600E396000","region":null}]},{"id":"5c0c7a3a-627a-403e-a132-2a6b92f7dd13","directory":"kingdom-two-crowns","title":"Kingdom Two Crowns","compatibility":1,"releases":[{"id":"01005EF003FF2000","region":null}]},{"id":"5c0fd2b7-4ff6-43a6-8710-260c0b380527","directory":"the-flame-in-the-flood-complete-edition","title":"The Flame In The Flood: Complete Edition","compatibility":1,"releases":[{"id":"0100C38004DCC000","region":null}]},{"id":"5c20152c-27b9-409a-a0df-b4a5eb0088b6","directory":"metaverse-keeper","title":"Metaverse Keeper","compatibility":3,"releases":[{"id":"0100AFF00F938000","region":null}]},{"id":"5c214cae-e9b4-4e54-a12e-e5af0e95e3f1","directory":"bullet-battle-evolution","title":"Bullet Battle: Evolution","compatibility":99,"releases":[{"id":"010029400DE76000","region":null}]},{"id":"5c4cda37-6004-4f4e-bf13-4ce571042ebc","directory":"coffin-dodgers","title":"Coffin Dodgers","compatibility":3,"releases":[{"id":"0100178009648000","region":null}]},{"id":"5c544f10-d0a4-4e4b-98b4-3e65d23c452d","directory":"happy-hoarder","title":"Happy Hoarder","compatibility":99,"releases":[{"id":"010057A01457E000","region":null}]},{"id":"5c57500b-8cbf-4753-9cca-5fd0f3aa84ab","directory":"arcade-archives-the-tin-star","title":"Arcade Archives THE TIN STAR","compatibility":99,"releases":[{"id":"010000700F292000","region":null}]},{"id":"5c6094ba-739a-4c83-94d1-e0e4751057dc","directory":"crosskrush","title":"CrossKrush","compatibility":99,"releases":[{"id":"0100472013142000","region":null}]},{"id":"5c63940a-30ed-4cfc-af71-4bf002de137d","directory":"neurovoider","title":"NeuroVoider","compatibility":99,"releases":[{"id":"0100BA0004F38000","region":null}]},{"id":"5c6c0432-2d17-4695-9e37-76d09e22dc40","directory":"super-mario-maker-2","title":"Super Mario Maker 2","compatibility":0,"releases":[{"id":"01009B90006DC000","region":null}]},{"id":"5c894f3c-1ed2-4704-8243-284d6ea739e4","directory":"missile-dancer","title":"Missile Dancer","compatibility":0,"releases":[{"id":"0100CFA0138C8000","region":null}]},{"id":"5c8ce8a3-2b48-4565-b63f-0827913101f3","directory":"driving-world-italian-job","title":"Driving World: Italian Job","compatibility":99,"releases":[{"id":"01003FA0164E0000","region":null}]},{"id":"5c90aa90-1d8d-483e-9d88-9d548d017910","directory":"wacky-run","title":"Wacky Run","compatibility":99,"releases":[{"id":"0100DCD013CDA000","region":null}]},{"id":"5c90ab7f-196a-4fb6-bc3a-e9a811bb0a22","directory":"legends-of-ethernal","title":"Legends of Ethernal","compatibility":3,"releases":[{"id":"01008EE012CD4000","region":null}]},{"id":"5c987a8e-9c1e-4ff4-a255-257e0416cb49","directory":"aca-neogeo-nam-1975","title":"ACA NEOGEO NAM-1975","compatibility":99,"releases":[{"id":"0100A8C001DCE000","region":null}]},{"id":"5c9bb915-dee8-4532-93a6-37453b532527","directory":"absolute-drift","title":"Absolute Drift","compatibility":2,"releases":[{"id":"0100A5B010A66000","region":null}]},{"id":"5caea039-423a-4af1-83e1-b28426e2a893","directory":"double-cross","title":"Double Cross","compatibility":99,"releases":[{"id":"0100F7300BD8E000","region":null}]},{"id":"5cb87fab-27a7-404b-b60f-fd01ca3a87de","directory":"burst-shooter","title":"Burst Shooter","compatibility":99,"releases":[{"id":"0100870012912000","region":null}]},{"id":"5cbf45e8-cea1-42ba-aa33-08e714915836","directory":"lonely-mountains-downhill","title":"Lonely Mountains: Downhill","compatibility":5,"releases":[{"id":"0100A0C00E0DE000","region":null}]},{"id":"5cbfc3b2-7ad3-4fbf-8489-533ce2b1667e","directory":"word-sudoku-by-powgi","title":"Word Sudoku by POWGI","compatibility":99,"releases":[{"id":"01002AA00C708000","region":null}]},{"id":"5cc0f7b3-b03f-4501-9240-03060e728e02","directory":"cards-of-the-dead","title":"Cards of the Dead","compatibility":99,"releases":[{"id":"010074E015E2A000","region":null}]},{"id":"5cc2c1c3-f019-45c8-b865-44d7effdf24e","directory":"the-infectious-madness-of-doctor-dekker","title":"The Infectious Madness of Doctor Dekker","compatibility":99,"releases":[{"id":"01008940086E0000","region":null}]},{"id":"5cd3825d-f30a-44a9-9154-507ed11eb5b6","directory":"heartandslash","title":"Heart&Slash","compatibility":99,"releases":[{"id":"0100D12008EE4000","region":null}]},{"id":"5ce3262e-2b26-444f-ae75-6d533be7c191","directory":"slime-rancher-plortable-edition","title":"Slime Rancher: Plortable Edition","compatibility":1,"releases":[{"id":"0100B9C0148D0000","region":null}]},{"id":"5cec25e3-b756-4692-9b61-1b59adf350f8","directory":"unruly-heroes","title":"Unruly Heroes","compatibility":0,"releases":[{"id":"010001300CC4A000","region":null}]},{"id":"5cee3938-1cf1-4e7e-bd16-b45951390e7a","directory":"jydge","title":"JYDGE","compatibility":4,"releases":[{"id":"010035A0044E8000","region":null}]},{"id":"5cef6bc6-ea8b-403b-82f0-ac9ec1e7a22d","directory":"love-esquire","title":"Love Esquire","compatibility":1,"releases":[{"id":"0100D600129A4000","region":null}]},{"id":"5cf92786-09df-487f-819f-8bf714c846aa","directory":"arcade-archives-ikari-warriors","title":"Arcade Archives IKARI WARRIORS","compatibility":4,"releases":[{"id":"010049400C7A8000","region":null}]},{"id":"5cff1413-f85e-4e78-a738-4b4085a77f07","directory":"gynoug","title":"Gynoug","compatibility":99,"releases":[{"id":"0100B150163A4000","region":null}]},{"id":"5cffdc59-756b-4b3e-992c-9de9a9da5aec","directory":"push-the-crate","title":"Push the Crate","compatibility":99,"releases":[{"id":"010016400F07E000","region":null}]},{"id":"5d031cf3-2bba-4907-9368-e71892ae5803","directory":"fast-rmx","title":"FAST RMX","compatibility":3,"releases":[{"id":"01009510001CA000","region":null}]},{"id":"5d03604a-0879-4825-8c74-aa29bcf97ea0","directory":"smash-rush","title":"Smash Rush","compatibility":4,"releases":[{"id":"010084000FA78000","region":null}]},{"id":"5d182291-99c2-4d81-a0fe-3dea8d17740c","directory":"solas-128","title":"SOLAS 128","compatibility":99,"releases":[{"id":"0100488011B16000","region":null}]},{"id":"5d313f44-b4cd-4316-af1e-7bde4378669f","directory":"arcade-archives-saboten-bombers","title":"Arcade Archives SABOTEN BOMBERS","compatibility":99,"releases":[{"id":"01007C80144D6000","region":null}]},{"id":"5d316834-92f4-4fdd-b9b5-461f94f040f5","directory":"ark-survival-evolved","title":"ARK: Survival Evolved","compatibility":4,"releases":[{"id":"0100D4A00B284000","region":null}]},{"id":"5d3af4b5-8ec5-43bb-b683-7b936a05e5dd","directory":"yuri","title":"Yuri","compatibility":99,"releases":[{"id":"0100FC900963E000","region":null}]},{"id":"5d4cba47-fb46-45d1-bd42-a9d6e5ea9966","directory":"battle-group-2","title":"Battle Group 2","compatibility":99,"releases":[{"id":"0100FE000BA42000","region":null}]},{"id":"5d53cbf2-fbba-4a47-901f-d417ab1ec88a","directory":"beholder-2","title":"Beholder 2","compatibility":0,"releases":[{"id":"01000DF00EBBA000","region":null}]},{"id":"5d6b0880-4aef-4f93-9fd4-202895a58571","directory":"classic-checkers","title":"Classic Checkers","compatibility":99,"releases":[{"id":"0100D89014A0E000","region":null}]},{"id":"5d77c02e-edf5-46a0-bc3b-425c2902a766","directory":"pool-panic","title":"Pool Panic","compatibility":99,"releases":[{"id":"0100D6D00A490000","region":null}]},{"id":"5d7fd1c1-a1f7-446d-8c81-1fa515b9389b","directory":"80-days","title":"80 DAYS","compatibility":99,"releases":[{"id":"0100B0700E944000","region":null}]},{"id":"5d817318-8e13-421b-bc92-2883aefe68e5","directory":"little-inferno","title":"Little Inferno","compatibility":0,"releases":[{"id":"0100B18001D8E000","region":null}]},{"id":"5d8963ab-4ee9-4d9d-9a50-67fe787f0498","directory":"sparkle-unleashed","title":"Sparkle Unleashed","compatibility":99,"releases":[{"id":"01000DC007E90000","region":null}]},{"id":"5d8d6098-d496-43f9-8d82-3a8c5b8cb53e","directory":"across-the-grooves","title":"Across the Grooves","compatibility":99,"releases":[{"id":"010043C010AEA000","region":null}]},{"id":"5da3baa7-c868-41c5-886c-44628e3cfefa","directory":"whiskey-mafia-leos-family","title":"Whiskey Mafia: Leo's Family","compatibility":99,"releases":[{"id":"0100A12016BAC000","region":null}]},{"id":"5da5fb9c-6813-4b8c-b459-f6d44d0acb8c","directory":"gravity-rider-zero","title":"Gravity Rider Zero","compatibility":99,"releases":[{"id":"01002C2011828000","region":null}]},{"id":"5dbe9bac-d0f2-45da-a6b4-ea2bf58509e0","directory":"the-casebook-of-arkady-smith","title":"The Casebook of Arkady Smith","compatibility":99,"releases":[{"id":"01008AB00FBA6000","region":null}]},{"id":"5dc2958a-3310-4118-9ded-024391770f1c","directory":"escape-from-a-deserted-island-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape From a Deserted Island\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"01000830155A2000","region":null}]},{"id":"5dd24bb2-77b2-42e9-9c86-8617ae3a8cb1","directory":"mazm-the-phantom-of-the-opera","title":"MazM: The Phantom of the Opera","compatibility":99,"releases":[{"id":"0100060013786000","region":null}]},{"id":"5dd9221a-1fc0-43b4-b29e-87c0583bb906","directory":"just-dance-r-2022","title":"Just Dance® 2022","compatibility":2,"releases":[{"id":"0100EA6014BB8000","region":null}]},{"id":"5de1b9df-2b1e-4b06-b79a-4a2df33351b1","directory":"heroine-anthem-zero-episode-1","title":"HEROINE ANTHEM ZERO episode 1","compatibility":0,"releases":[{"id":"01001B70080F0000","region":null}]},{"id":"5de4b1c6-0397-4872-979e-92e51bbef766","directory":"inops","title":"Inops","compatibility":99,"releases":[{"id":"0100DD200B59E000","region":null}]},{"id":"5de5549a-ecbf-4a88-b48d-81a6634ae4f9","directory":"crash-bandicoot-4-its-about-time","title":"Crash Bandicootâ„¢ 4: It’s About Time","compatibility":2,"releases":[{"id":"010073401175E000","region":null}]},{"id":"5e1466d1-ca5c-46ca-9b6a-1d8a85d65110","directory":"pawarumi","title":"Pawarumi","compatibility":99,"releases":[{"id":"0100A56006CEE000","region":null}]},{"id":"5e290adb-2e88-4d84-be0c-21bf09d079fd","directory":"super-tennis","title":"Super Tennis","compatibility":0,"releases":[{"id":"01002950102CE000","region":null}]},{"id":"5e3194b3-aea4-4faf-af1d-d99e6808c7dc","directory":"arcade-archives-mrgoemon","title":"Arcade Archives Mr.GOEMON","compatibility":99,"releases":[{"id":"0100D7000F17A000","region":null}]},{"id":"5e363b09-7d60-4e26-ba88-35bd2dea0586","directory":"iridium","title":"Iridium","compatibility":5,"releases":[{"id":"010095C016C14000","region":null}]},{"id":"5e448f34-54c6-403a-8240-18dc5538a364","directory":"arcade-archives-atomic-robo-kid","title":"Arcade Archives Atomic Robo-Kid","compatibility":99,"releases":[{"id":"0100426001DE4000","region":null}]},{"id":"5e4b75ae-70e5-4dd3-b760-737b366e6c4b","directory":"peasant-knight","title":"Peasant Knight","compatibility":1,"releases":[{"id":"010028A0048A6000","region":null}]},{"id":"5e4efb76-a71a-4f0b-acf9-9f4da7e4dbb7","directory":"outpost-delta","title":"Outpost Delta","compatibility":99,"releases":[{"id":"0100CCF00F5BC000","region":null}]},{"id":"5e5622f5-8003-4ef4-8492-4ea15a862fe4","directory":"in-my-shadow","title":"In My Shadow","compatibility":99,"releases":[{"id":"010022A01537A000","region":null}]},{"id":"5e5f3e40-67c4-4136-8ea8-d221d30531e2","directory":"deeeer-simulator-your-average-everyday-deer-game","title":"DEEEER Simulator: Your Average Everyday Deer Game","compatibility":2,"releases":[{"id":"0100190014D72000","region":null}]},{"id":"5e665be3-da54-46f0-af8c-784a7a568b9e","directory":"the-mystery-of-woolley-mountain","title":"The Mystery of Woolley Mountain","compatibility":99,"releases":[{"id":"0100C5200D178000","region":null}]},{"id":"5e6e7b20-71a2-4ec0-9c78-1ac726588e07","directory":"olympic-boxing","title":"Olympic Boxing","compatibility":99,"releases":[{"id":"0100EF70137A4000","region":null}]},{"id":"5e7a701a-3542-4c04-8636-0bd125b4266e","directory":"arcade-archives-victory-road","title":"Arcade Archives VICTORY ROAD","compatibility":99,"releases":[{"id":"010007100C7B6000","region":null}]},{"id":"5e7fdde7-3fe7-4e83-82ff-389bfbcf3cb6","directory":"cyberhive","title":"CyberHive","compatibility":99,"releases":[{"id":"0100EB9014722000","region":null}]},{"id":"5e80e524-8ddd-4346-8b0d-3518fca0b548","directory":"super-rock-blasters","title":"Super Rock Blasters!","compatibility":99,"releases":[{"id":"01009E4006CC8000","region":null}]},{"id":"5e824d72-610b-4a2b-9b09-242bf84d8a60","directory":"the-path-of-motus-demo","title":"The Path of Motus Demo","compatibility":99,"releases":[{"id":"010062600D236000","region":null}]},{"id":"5e829452-5dc7-45c4-a75e-392c9569c8ba","directory":"enchanted-in-the-moonlight-miyabi-kyoga-and-samon-","title":"Enchanted in the Moonlight - Miyabi, Kyoga & Samon -","compatibility":99,"releases":[{"id":"0100C2000E08C000","region":null}]},{"id":"5e98ba77-6995-454e-918b-25347a7c6539","directory":"road-to-guangdong","title":"Road To Guangdong","compatibility":99,"releases":[{"id":"0100735010F58000","region":null}]},{"id":"5ec70cb3-81fe-4813-b6b4-879b4b9be457","directory":"arcade-archives-xx-mission","title":"Arcade Archives XX MISSION","compatibility":99,"releases":[{"id":"01008F3010752000","region":null}]},{"id":"5edfcacf-540a-46e4-bf42-6ba8121fd575","directory":"basketball-pinball","title":"Basketball Pinball","compatibility":99,"releases":[{"id":"0100BC5014FD0000","region":null}]},{"id":"5eebf069-42c8-4057-b770-718095d5c461","directory":"the-bradwell-conspiracy","title":"The Bradwell Conspiracy","compatibility":99,"releases":[{"id":"010097C00DF08000","region":null}]},{"id":"5eef099c-4585-4801-9f55-16f5c9d7be2c","directory":"out-of-the-box","title":"Out of The Box","compatibility":99,"releases":[{"id":"01005A700A166000","region":null}]},{"id":"5eef488c-0fd7-496f-b52c-4d5b09092d07","directory":"wingspan","title":"WINGSPAN","compatibility":99,"releases":[{"id":"0100E05011350000","region":null}]},{"id":"5efdf1dc-3e63-4df5-874e-a0e9fdccc954","directory":"morphies-law","title":"Morphies Law","compatibility":4,"releases":[{"id":"01005DA003E6E000","region":null}]},{"id":"5f0640df-f698-46b7-a908-cd41264b07c1","directory":"quest-of-dungeons","title":"Quest of Dungeons","compatibility":2,"releases":[{"id":"01001DE005012000","region":null}]},{"id":"5f231908-2157-424d-9a17-1296708709e3","directory":"fly-punch-boom","title":"Fly Punch Boom!","compatibility":99,"releases":[{"id":"0100FC300F4A4000","region":null}]},{"id":"5f506087-d872-45d3-9731-7acf3236c885","directory":"deru-the-art-of-cooperation","title":"Deru - The Art of Cooperation","compatibility":99,"releases":[{"id":"0100ED700469A000","region":null}]},{"id":"5f59a211-5bae-4e53-8f97-4676be5c967a","directory":"pew-paw","title":"Pew Paw","compatibility":1,"releases":[{"id":"010045A01221E000","region":null}]},{"id":"5f61639c-99ed-4837-8854-1d06a77897f4","directory":"straimium-immortaly","title":"Straimium Immortaly","compatibility":99,"releases":[{"id":"0100DA000D71A000","region":null}]},{"id":"5f63a56b-4cd5-4f66-9d5f-1fc807be63b3","directory":"escape-first","title":"Escape First","compatibility":4,"releases":[{"id":"01000E8010A98000","region":null}]},{"id":"5f65a088-13c4-463c-906f-0938b2c951fc","directory":"fill-a-pix-phils-epic-adventure","title":"Fill-a-Pix: Phil's Epic Adventure","compatibility":1,"releases":[{"id":"010095600AA36000","region":null}]},{"id":"5f68e6e0-28a6-48fc-b910-0812ca9eca3b","directory":"bloodrayne-revamped","title":"BloodRayne: ReVamped","compatibility":99,"releases":[{"id":"0100A420147C0000","region":null}]},{"id":"5f70272a-a2dc-4fce-9880-72a8e109cc2a","directory":"brothers-a-tale-of-two-sons","title":"Brothers: A Tale of Two Sons","compatibility":4,"releases":[{"id":"01000D500D08A000","region":null}]},{"id":"5f915f14-7789-477b-ae62-a83df54c764c","directory":"defoliation","title":"Defoliation","compatibility":99,"releases":[{"id":"010044300A65E000","region":null}]},{"id":"5f93e947-4680-4385-a033-9ae84b717b90","directory":"bloodshore","title":"Bloodshore","compatibility":99,"releases":[{"id":"01009F8015E94000","region":null}]},{"id":"5f9a8e1b-d975-4372-9ad4-d21ca988f442","directory":"moorhuhn-wanted","title":"Moorhuhn Wanted","compatibility":99,"releases":[{"id":"0100ED100B634000","region":null}]},{"id":"5fa09c2b-2e3f-4ef8-8972-de94f972d464","directory":"blazblue-cross-tag-battle-special-trial","title":"BLAZBLUE CROSS TAG BATTLE SPECIAL TRIAL","compatibility":4,"releases":[{"id":"0100C6E00AF2C000","region":null}]},{"id":"5fae852e-0a38-49ad-9305-dc6e7db07eb0","directory":"blade-ii-the-return-of-evil","title":"Blade II - The Return Of Evil","compatibility":3,"releases":[{"id":"01009CC00E224000","region":null}]},{"id":"5fb1f88c-54de-4588-8c8c-9912d45b4551","directory":"merrily-perilly","title":"Merrily Perilly","compatibility":99,"releases":[{"id":"01009DF014F44000","region":null}]},{"id":"5fb285a8-5397-4d68-ab38-bcd274bfaa53","directory":"the-big-journey","title":"The Big Journey","compatibility":1,"releases":[{"id":"010089600E66A000","region":null}]},{"id":"5fb8b5ef-0204-48df-a6a7-111236d856e0","directory":"crypt-of-the-necrodancer-nintendo-switch-edition","title":"Crypt of the NecroDancer: Nintendo Switch Edition","compatibility":0,"releases":[{"id":"0100CEA007D08000","region":null}]},{"id":"5fcf4642-0ec8-4f99-b089-c5af257d6cf2","directory":"one-eyed-kutkh","title":"One Eyed Kutkh","compatibility":99,"releases":[{"id":"0100E000092B2000","region":null}]},{"id":"5fd51f16-bdbd-41fa-8f09-e531f089c916","directory":"orbt-xl","title":"Orbt XL","compatibility":99,"releases":[{"id":"010025F011DB4000","region":null}]},{"id":"5fd66a64-b756-4388-bcd7-1fbffd36e67d","directory":"jigsaw-fun-amazing-animals","title":"Jigsaw Fun: Amazing Animals","compatibility":99,"releases":[{"id":"0100FE1015DC0000","region":null}]},{"id":"5fd6e96f-3986-48de-865a-ac62ec240f83","directory":"banners-of-ruin","title":"Banners of Ruin","compatibility":99,"releases":[{"id":"0100BEB014D94000","region":null}]},{"id":"5fd719ea-145b-448b-88fc-5f862911a716","directory":"sparkle-2","title":"Sparkle 2","compatibility":1,"releases":[{"id":"010028D0045CE000","region":null}]},{"id":"5fed29a2-d941-4381-a93a-e6866be1ed5d","directory":"raji-an-ancient-epic","title":"Raji: An Ancient Epic","compatibility":2,"releases":[{"id":"010010B00DDA2000","region":null}]},{"id":"5ff74f49-5097-41c9-954a-78b1517c1974","directory":"mousebot-escape-from-catlab","title":"MouseBot: Escape from CatLab","compatibility":99,"releases":[{"id":"010022301531E000","region":null}]},{"id":"5ffc4ddc-71c9-4f88-84d8-721735a570e7","directory":"3d-billiards-pool-and-snooker","title":"3D Billiards - Pool & Snooker","compatibility":99,"releases":[{"id":"010055D00BDD0000","region":null}]},{"id":"5ffeac48-44cc-471d-8929-a079ec1df66b","directory":"spirit-hunter-ng","title":"Spirit Hunter: NG","compatibility":99,"releases":[{"id":"0100FAE00E19A000","region":null}]},{"id":"5fffbfe0-e28f-4b24-982e-d56faddf5601","directory":"monster-jam-steel-titans-2","title":"Monster Jam Steel Titans 2","compatibility":99,"releases":[{"id":"010051B0131F0000","region":null}]},{"id":"600461ce-0ff8-42cd-a0d7-34d0ec8dd59a","directory":"turmoil","title":"Turmoil","compatibility":99,"releases":[{"id":"010089200F0E4000","region":null}]},{"id":"6006f88c-20ac-4473-8236-e5d6eaa4dcf0","directory":"actual-sunlight","title":"Actual Sunlight","compatibility":99,"releases":[{"id":"0100CD40104DE000","region":null}]},{"id":"60079b4d-752b-4267-a484-8ac4683a8518","directory":"pinball-big-splash","title":"Pinball Big Splash","compatibility":99,"releases":[{"id":"0100BB50144EA000","region":null}]},{"id":"600aa450-8027-4f58-ba79-d740894b8f3f","directory":"aircraft-evolution","title":"Aircraft Evolution","compatibility":99,"releases":[{"id":"0100E95011FDC000","region":null}]},{"id":"600fa70f-f1c5-47a8-aba0-18f7fc5955fb","directory":"be-a-poker-champion-texas-holdem","title":"Be a Poker Champion! Texas Hold'em","compatibility":99,"releases":[{"id":"0100E50013EFE000","region":null}]},{"id":"6012725e-68ac-4d6d-bfb2-5522f4301a34","directory":"inspector-waffles","title":"Inspector Waffles","compatibility":99,"releases":[{"id":"01004E4014F06000","region":null}]},{"id":"60317e6f-adc1-4ef7-b0ff-5787a8a472ae","directory":"boomerang-fu","title":"Boomerang Fu","compatibility":0,"releases":[{"id":"010081A00EE62000","region":null}]},{"id":"603b245e-be32-4049-86cf-cd996b270e1b","directory":"grecos-hall-of-kanji-learn-japaneseless-beginner-greater","title":"Greco’s Hall of Kanji Learn Japanese< Beginner >","compatibility":3,"releases":[{"id":"0100B6700DEC2000","region":null}]},{"id":"6042738c-54e0-40af-83b0-e22af3e3f97a","directory":"the-low-road","title":"The Low Road","compatibility":99,"releases":[{"id":"0100BAB00A116000","region":null}]},{"id":"6044763c-7f25-4720-9584-a44577a56e16","directory":"super-hiking-league-dx","title":"Super Hiking League DX","compatibility":99,"releases":[{"id":"0100EA4012072000","region":null}]},{"id":"6046575c-7e0f-40fa-842a-52ef96828d96","directory":"dumpy-bumpy","title":"Dumpy & Bumpy","compatibility":99,"releases":[{"id":"0100930016422000","region":null}]},{"id":"604910fc-4ccf-488c-a774-694e75caf9a2","directory":"puzzle-box-maker","title":"Puzzle Box Maker","compatibility":99,"releases":[{"id":"0100476004A9E000","region":null}]},{"id":"604a134c-9ac4-4f03-92e1-7fe9cf48df31","directory":"stikbold-a-dodgeball-adventure-deluxe-demo","title":"Stikbold! A Dodgeball Adventure DELUXE Demo","compatibility":99,"releases":[{"id":"0100454008DA8000","region":null}]},{"id":"605255f3-79ab-4da2-9583-3677c312dfa3","directory":"osyaberi-puzzle-chigatan-spot-the-differences-with-everyone","title":"Osyaberi! Puzzle Chigatan ~Spot the Differences with Everyone~","compatibility":99,"releases":[{"id":"0100429013B88000","region":null}]},{"id":"6055d1dd-f903-40dc-9919-241b67e340b4","directory":"the-long-journey-home","title":"The Long Journey Home","compatibility":99,"releases":[{"id":"0100E0E00C518000","region":null}]},{"id":"60575cf1-0c5d-48c9-ad55-33f5db38bd02","directory":"doom-ii-classic","title":"DOOM II (Classic)","compatibility":1,"releases":[{"id":"0100D4F00DD02000","region":null}]},{"id":"605ddd8c-c5e7-405f-bd92-4eebfda8955b","directory":"saturday-morning-rpg","title":"Saturday Morning RPG","compatibility":1,"releases":[{"id":"0100F0000869C000","region":null}]},{"id":"607d8f66-e251-4552-b4b3-5c0f20f421fe","directory":"hunting-simulator","title":"Hunting Simulator","compatibility":99,"releases":[{"id":"0100C460040EA000","region":null}]},{"id":"607e7818-f82e-4508-92c1-818c55294372","directory":"destinys-princess-a-war-story-a-love-story","title":"Destiny's Princess: A War Story, A Love Story","compatibility":99,"releases":[{"id":"0100B7F00B4E6000","region":null}]},{"id":"608c8250-8094-4e56-bf48-538865d76a78","directory":"barrage-fantasia","title":"Barrage Fantasia","compatibility":99,"releases":[{"id":"0100F2A013752000","region":null}]},{"id":"60a33116-1cf9-4f19-86bd-59e952ffd63c","directory":"super-mario-3d-all-stars","title":"Super Marioâ„¢ 3D All-Stars","compatibility":4,"releases":[{"id":"010049900F546000","region":null}]},{"id":"60b8a132-9241-408c-b72a-cb7996c950d6","directory":"katana-kami-a-way-of-the-samurai-story","title":"KATANA KAMI: A Way of the Samurai Story","compatibility":3,"releases":[{"id":"0100F9800EDFA000","region":null}]},{"id":"60be7251-b40f-4c8d-8aff-0830158aa7cb","directory":"plague-inc-evolved","title":"Plague Inc: Evolved","compatibility":0,"releases":[{"id":"01000CE00CBB8000","region":null}]},{"id":"60cccea7-66e5-4aaa-ae68-fc369b1e42e6","directory":"seers-isle","title":"Seers Isle","compatibility":99,"releases":[{"id":"0100394010844000","region":null}]},{"id":"60cfea0a-6cb9-4990-b942-8e7dbaad5921","directory":"one-night-stand","title":"One Night Stand","compatibility":99,"releases":[{"id":"0100F1300EC60000","region":null}]},{"id":"60d18655-6507-4b8c-a2d7-1eaf5f391a99","directory":"sega-ages-gain-ground","title":"SEGA AGES Gain Ground","compatibility":0,"releases":[{"id":"01001E600AF08000","region":null}]},{"id":"60db6da8-4d77-4fb1-be63-5c27d0bcbb08","directory":"illusion-of-lphalcia","title":"Illusion of L'Phalcia","compatibility":99,"releases":[{"id":"01000B700EC22000","region":null}]},{"id":"60dd6e7b-0d88-44a8-885d-d1cf7c9c7471","directory":"beautiful-desolation","title":"BEAUTIFUL DESOLATION","compatibility":2,"releases":[{"id":"01006B0014590000","region":null}]},{"id":"60e5d67f-229d-4428-b50d-38e4cbc10c7c","directory":"descenders","title":"Descenders","compatibility":2,"releases":[{"id":"0100D4600D0E4000","region":null}]},{"id":"60ee4f80-7ed1-4cfd-a053-efc558550f4f","directory":"raiders-of-the-lost-island","title":"Raiders Of The Lost Island","compatibility":99,"releases":[{"id":"0100966013BB2000","region":null}]},{"id":"60f1b861-eccf-4752-a916-40d56a4f6ca5","directory":"ultra-off-road-2019-alaska","title":"Ultra Off-Road 2019: Alaska","compatibility":99,"releases":[{"id":"010077500FA64000","region":null}]},{"id":"60faae36-0e37-4997-ab64-16bedc1530fb","directory":"soulslayer","title":"Soulslayer","compatibility":99,"releases":[{"id":"010088E00EBB6000","region":null}]},{"id":"61059ef6-9bf8-4c00-bb35-b4bb330bce3b","directory":"chicken-assassin-reloaded","title":"Chicken Assassin: Reloaded","compatibility":99,"releases":[{"id":"0100E3C00A118000","region":null}]},{"id":"610b27a8-c4f5-4f55-92cd-f15ed69467ca","directory":"car-demolition-clicker","title":"Car Demolition Clicker","compatibility":1,"releases":[{"id":"0100D8B013D02000","region":null}]},{"id":"610e6591-f0e7-452a-9573-25ffbc0f6c8a","directory":"dunk-lords","title":"Dunk Lords","compatibility":99,"releases":[{"id":"0100EC30140B6000","region":null}]},{"id":"610ef000-52e1-4e74-ab43-70c7f327d1b0","directory":"elevatorto-the-moon-turbo-champions-edition","title":"Elevator...to the Moon! Turbo Champion's Edition","compatibility":99,"releases":[{"id":"010024C00D734000","region":null}]},{"id":"6117036d-d0c1-4715-ad90-448ee57b7f1d","directory":"pure-chase-80s","title":"Pure Chase 80's","compatibility":1,"releases":[{"id":"01003A2016DC6000","region":null}]},{"id":"61365081-585f-4d53-a01b-f23ee3c575f3","directory":"extreme-poker","title":"EXTREME POKER","compatibility":1,"releases":[{"id":"010031A00BC9E000","region":null}]},{"id":"616ca5a6-3dd2-46f4-93b8-6c42d1884b3e","directory":"dreaming-canvas","title":"Dreaming Canvas","compatibility":99,"releases":[{"id":"010058B00F3C0000","region":null}]},{"id":"616e2ef2-10c4-4902-baaf-d79c79df9673","directory":"pocket-mini-golf","title":"Pocket Mini Golf","compatibility":1,"releases":[{"id":"010000C010E76000","region":null}]},{"id":"61934a85-7ed4-4c4d-832d-7fd0113891ab","directory":"my-child-lebensborn","title":"My Child Lebensborn","compatibility":99,"releases":[{"id":"010035D0131B2000","region":null}]},{"id":"619a2b58-9672-44e3-a12e-377717c95f68","directory":"super-metboy","title":"SUPER METBOY!","compatibility":99,"releases":[{"id":"0100F79012AAA000","region":null}]},{"id":"61a9aac4-4bd1-4bec-a29e-d66a90fdf125","directory":"a-year-of-springs","title":"A YEAR OF SPRINGS","compatibility":99,"releases":[{"id":"0100FE6016424000","region":null}]},{"id":"61b059f8-8870-4d0f-b3ab-203772f0ded7","directory":"unpacking","title":"Unpacking","compatibility":0,"releases":[{"id":"0100701015846000","region":null}]},{"id":"61ceda70-fb19-44b2-86a4-758ec5ca6d4c","directory":"creepy-tale-2","title":"Creepy Tale 2","compatibility":99,"releases":[{"id":"0100B4C0161BE000","region":null}]},{"id":"61eeb419-3ecb-444f-ab4b-db73981fce2b","directory":"aca-neogeo-ninja-combat","title":"ACA NEOGEO NINJA COMBAT","compatibility":2,"releases":[{"id":"010052A00A306000","region":null}]},{"id":"61f0c625-2a8d-4c4e-a59a-525e51d348d9","directory":"gutwhale","title":"Gutwhale","compatibility":99,"releases":[{"id":"0100953014DCA000","region":null}]},{"id":"61f23721-3af8-4566-b8cb-d5923d853160","directory":"dont-touch-this-button","title":"Don't Touch this Button!","compatibility":99,"releases":[{"id":"01009B401613C000","region":null}]},{"id":"61f422f8-c847-4e4e-b15d-5fc1bac98f5e","directory":"the-office-quest","title":"The Office Quest","compatibility":99,"releases":[{"id":"0100A2A00B08C000","region":null}]},{"id":"61f7994a-fd08-4bc2-aad8-c52704ef4c51","directory":"semispheres","title":"Semispheres","compatibility":1,"releases":[{"id":"01009840046BC000","region":null}]},{"id":"61fb9a3f-baac-4b85-89d4-99266bfd958a","directory":"nyakamon-adventures","title":"Nyakamon Adventures","compatibility":99,"releases":[{"id":"0100FA2014C78000","region":null}]},{"id":"62018567-7be3-4b7e-bb6e-70ca23ff1d95","directory":"silk","title":"Silk","compatibility":99,"releases":[{"id":"010045500DFE2000","region":null}]},{"id":"6204f801-defe-46c9-a58d-3428d1574413","directory":"top-run","title":"Top Run","compatibility":99,"releases":[{"id":"010092D00FF66000","region":null}]},{"id":"62056acd-78a3-4b8b-913d-9856a07101d6","directory":"project-winter","title":"Project Winter","compatibility":99,"releases":[{"id":"01002AB012C0C000","region":null}]},{"id":"62099338-29c4-4a73-92e8-7f4d9f7fe45e","directory":"a-monsters-expedition","title":"A Monster's Expedition","compatibility":0,"releases":[{"id":"0100C01013302000","region":null}]},{"id":"620c7943-e437-4e4e-a49c-4bccc0b33b6a","directory":"bravely-default-ii-demo","title":"Bravely Defaultâ„¢ II Demo","compatibility":4,"releases":[{"id":"0100B6801137E000","region":null}]},{"id":"622b291b-d745-4de3-b8f1-2bbfdeda5735","directory":"pixeljunk-monsters-2","title":"PixelJunk Monsters 2","compatibility":1,"releases":[{"id":"0100E4D00A690000","region":null}]},{"id":"622d4ec0-bafd-4c84-879b-e7e92ebb689e","directory":"sega-ages-thunder-force-ac","title":"SEGA AGES Thunder Force AC","compatibility":1,"releases":[{"id":"0100D0800C612000","region":null}]},{"id":"622f4703-e100-454f-924a-7bdc61f7c652","directory":"paranautical-activity","title":"Paranautical Activity","compatibility":99,"releases":[{"id":"010063400B2EC000","region":null}]},{"id":"623109fc-5016-403f-b66d-df0a1ef5dc30","directory":"grim-legends-3-the-dark-city","title":"Grim Legends 3: The Dark City","compatibility":99,"releases":[{"id":"01004F9012D84000","region":null}]},{"id":"623a8f61-6d70-4094-8caf-4c472b291c6a","directory":"hyper-sentinel-demo","title":"Hyper Sentinel Demo","compatibility":99,"releases":[{"id":"0100C2500B718000","region":null}]},{"id":"62573552-c523-4f81-b8e0-186bae43e734","directory":"gnome-more-war","title":"Gnome More War","compatibility":99,"releases":[{"id":"0100EB8011B0C000","region":null}]},{"id":"62584b57-089f-4b33-b848-5acf2459298d","directory":"gearclub-unlimited-2","title":"Gear.Club Unlimited 2","compatibility":0,"releases":[{"id":"010072900AFF0000","region":null}]},{"id":"625f92cb-4f13-4d8b-99a2-f07cd12461c4","directory":"super-inefficient-golf","title":"Super Inefficient Golf","compatibility":99,"releases":[{"id":"010056800B534000","region":null}]},{"id":"62680a03-b5c5-40b5-ae17-9b71d1f55bb5","directory":"laytons-mystery-journey-katrielle-and-the-millionaires-conspiracy-deluxe-edition","title":"LAYTON’S MYSTERY JOURNEY: Katrielle and the Millionaires’ Conspiracy - Deluxe Edition","compatibility":3,"releases":[{"id":"0100FB700D224000","region":null}]},{"id":"62747f1f-8992-4551-b116-939f0d934253","directory":"football-run","title":"Football Run","compatibility":99,"releases":[{"id":"010072701635E000","region":null}]},{"id":"62748442-3640-4771-8ded-0f4ef48bebee","directory":"fitness-boxing-2-rhythm-exercise","title":"Fitness Boxing 2: Rhythm & Exercise","compatibility":0,"releases":[{"id":"0100073011382000","region":null}]},{"id":"628874bc-fe11-4ad7-9804-5673e6ee7310","directory":"masky","title":"Masky","compatibility":99,"releases":[{"id":"010048000F946000","region":null}]},{"id":"628bc512-e0e7-4cac-bec4-e6f3b066f2a0","directory":"the-jackbox-party-pack-7","title":"The Jackbox Party Pack 7","compatibility":99,"releases":[{"id":"01007F30113A6000","region":null}]},{"id":"628c3e70-f1db-433c-86d0-6aa71bd59818","directory":"tower-inferno","title":"Tower Inferno","compatibility":99,"releases":[{"id":"010012500FD08000","region":null}]},{"id":"6291a400-5c27-44e0-93a4-28a1728d5308","directory":"gemini","title":"Gemini","compatibility":99,"releases":[{"id":"0100D71013AF4000","region":null}]},{"id":"62a10373-60f3-4b9d-b618-08b7943b39c0","directory":"quest-for-the-golden-duck","title":"Quest for the Golden Duck","compatibility":99,"releases":[{"id":"0100D9200D51E000","region":null}]},{"id":"62b83522-3da1-497b-9b60-cc491298fdf0","directory":"raspberry-mash","title":"RASPBERRY MASH","compatibility":99,"releases":[{"id":"0100298013CC0000","region":null}]},{"id":"62c2f4d1-795f-4085-8423-cb0c2cf02cfd","directory":"omno","title":"OMNO","compatibility":99,"releases":[{"id":"01006400167CA000","region":null}]},{"id":"62d9bbdd-6c93-43e1-bf1c-0db8cd96ae79","directory":"cooking-festival","title":"Cooking Festival","compatibility":2,"releases":[{"id":"01006920137D2000","region":null}]},{"id":"62e1da4b-1c80-4756-92bb-8acdbbd0a428","directory":"merchants-of-kaidan","title":"Merchants of Kaidan","compatibility":99,"releases":[{"id":"0100E5000D3CA000","region":null}]},{"id":"62ed44d3-03f5-46cd-8a92-33038a82805e","directory":"deemo","title":"Deemo","compatibility":99,"releases":[{"id":"0100DD100AE8C000","region":null}]},{"id":"62f0f060-843b-43d5-9cb7-2c56cb0af4fe","directory":"kyub","title":"KYUB","compatibility":99,"releases":[{"id":"010063D005B32000","region":null}]},{"id":"62f5b814-9f03-49eb-a106-fa36cfa014db","directory":"super-bomberman-r-online","title":"SUPER BOMBERMAN R ONLINE","compatibility":5,"releases":[{"id":"01007380121FE000","region":null}]},{"id":"62f5f336-3d17-4ec3-8ea7-7a90905699eb","directory":"the-forbidden-arts","title":"The Forbidden Arts","compatibility":0,"releases":[{"id":"010007700D4AC000","region":null}]},{"id":"6305608e-ac08-46be-9714-ff19613ea6fa","directory":"superbrothers-sword-and-sworcery-ep","title":"Superbrothers: Sword & Sworcery EP","compatibility":3,"releases":[{"id":"0100AA400C396000","region":null}]},{"id":"6315ac24-f6ae-438b-98d2-a71eedb8b872","directory":"112-operator","title":"112 Operator","compatibility":99,"releases":[{"id":"0100D82015774000","region":null}]},{"id":"631f70be-2b6c-44fc-ab5d-40f05f69f234","directory":"clannad-side-stories","title":"CLANNAD Side Stories","compatibility":3,"releases":[{"id":"01007B501372C000","region":null}]},{"id":"63262aea-fac4-4f45-a3fa-9f802095a1c4","directory":"secret-files-3","title":"Secret Files 3","compatibility":99,"releases":[{"id":"010028F010644000","region":null}]},{"id":"633dbeb8-6fc8-4191-9c2c-e6d6b7b0e512","directory":"puyo-puyo-tetris-demo","title":"Puyo Puyo Tetris Demo","compatibility":99,"releases":[{"id":"01000DC003740000","region":null}]},{"id":"63461d39-24c9-4f0d-8617-918d812071e4","directory":"aca-neogeo-fatal-fury-special","title":"ACA NEOGEO FATAL FURY SPECIAL","compatibility":2,"releases":[{"id":"010019A0038FA000","region":null}]},{"id":"63476f90-13b2-4537-93f9-4bc86bed20a2","directory":"cube-raiders","title":"Cube Raiders","compatibility":99,"releases":[{"id":"0100FAC00E978000","region":null}]},{"id":"6348023e-2ba4-4a1b-ac8e-ea0539a04bc9","directory":"aperion-cyberstorm-demo]","title":"Aperion Cyberstorm [DEMO]","compatibility":99,"releases":[{"id":"01008CA00D71C000","region":null}]},{"id":"63484572-29a2-43fe-9c1e-f420bd520ed1","directory":"the-choice-of-life-middle-ages","title":"The Choice of Life: Middle Ages","compatibility":99,"releases":[{"id":"0100982013C80000","region":null}]},{"id":"6351de91-bee1-4b65-b4b4-7747dbd30fdf","directory":"arcade-archives-vs-balloon-fight","title":"Arcade Archives VS. BALLOON FIGHT","compatibility":99,"releases":[{"id":"010061400F7E4000","region":null}]},{"id":"6361167f-a02f-4dda-86e6-61bf3b32a0b6","directory":"strike-force-kitty","title":"Strike Force Kitty","compatibility":99,"releases":[{"id":"010038A00E6C6000","region":null}]},{"id":"63685aa4-fc82-41f9-aebe-572aebe5e8e0","directory":"aca-neogeo-ninja-masters","title":"ACA NEOGEO NINJA MASTER'S","compatibility":5,"releases":[{"id":"0100C6300AFE0000","region":null}]},{"id":"636b04a6-d828-43bf-a556-9682f46f29c0","directory":"city-match-a-block-pop-puzzle-game","title":"City Match - A Block Pop Puzzle Game","compatibility":99,"releases":[{"id":"0100E06015B60000","region":null}]},{"id":"63745ee3-c2f5-416f-9f35-082d800e71d5","directory":"west-of-loathing","title":"West of Loathing","compatibility":2,"releases":[{"id":"010031B00A4E8000","region":null}]},{"id":"637997af-fc86-463d-ad1f-63b8287cf6cb","directory":"blazing-chrome","title":"Blazing Chrome","compatibility":3,"releases":[{"id":"0100C2700C252000","region":null}]},{"id":"637a07b5-c27c-4044-a8fd-face1695dea7","directory":"mars-or-die","title":"Mars or Die!","compatibility":4,"releases":[{"id":"010048200B606000","region":null}]},{"id":"6386d106-9114-4abf-99a8-17f067b1fe91","directory":"truck-and-logistics-simulator","title":"Truck and Logistics Simulator","compatibility":99,"releases":[{"id":"0100F2100AA5C000","region":null}]},{"id":"63976010-dc86-48f8-9040-1524a26a64b7","directory":"lets-sing-2020","title":"Let's Sing 2020","compatibility":99,"releases":[{"id":"010065F00DF4A000","region":null}]},{"id":"63cba8f6-9d9b-42ed-983e-0eee4c89dc5b","directory":"2048-battles","title":"2048 Battles","compatibility":1,"releases":[{"id":"010096500EA94000","region":null}]},{"id":"63cfc745-de88-4672-9341-4101bfd6a290","directory":"fairy-knights","title":"Fairy Knights","compatibility":99,"releases":[{"id":"010015A0110AC000","region":null}]},{"id":"63d62eba-6912-48aa-8ddb-7be1e1ebad87","directory":"banana-treasures-island","title":"Banana Treasures Island","compatibility":99,"releases":[{"id":"010064F01354A000","region":null}]},{"id":"63e66df0-c287-4a47-b365-9b1007332a9c","directory":"tank-de-la-muerta","title":"Tank De La Muerta","compatibility":99,"releases":[{"id":"0100E6A016142000","region":null}]},{"id":"63edc567-cd5f-4dc1-9a40-16d598cb122e","directory":"aca-neogeo-puzzle-bobble-2","title":"ACA NEOGEO PUZZLE BOBBLE 2","compatibility":5,"releases":[{"id":"0100BC700C7AE000","region":null}]},{"id":"63f69589-ed71-4f36-a285-0f1e4b1ddeed","directory":"apocryph-an-old-school-shooter","title":"Apocryph: an old-school shooter","compatibility":5,"releases":[{"id":"010045D009EFC000","region":null}]},{"id":"63ffca93-ad3e-4e8a-9309-e6d438f84af7","directory":"1001-ultimate-mahjong-2","title":"1001 Ultimate Mahjong  2","compatibility":4,"releases":[{"id":"010063E00BBDC000","region":null}]},{"id":"640105fc-3d5e-4e07-9aed-b08afa37979f","directory":"astrowings-space-war","title":"AstroWings: Space War","compatibility":99,"releases":[{"id":"0100DF401249C000","region":null}]},{"id":"640652d0-08cc-400b-953f-99dfb16546de","directory":"code-realize-future-blessings","title":"Code: Realize ~Future Blessings~","compatibility":0,"releases":[{"id":"010002400F408000","region":null}]},{"id":"640a7ab8-b88f-4173-8040-9ad72a4b8cd5","directory":"julies-sweets","title":"Julie's Sweets","compatibility":1,"releases":[{"id":"010011400AF8E000","region":null}]},{"id":"641f51d6-c267-470c-9aa2-f378104602a0","directory":"moonshades-a-classic-dungeon-crawler-rpg","title":"Moonshades: a classic dungeon crawler RPG","compatibility":99,"releases":[{"id":"01008180157AC000","region":null}]},{"id":"6427167a-6469-47cc-af0f-9fda64ee08f2","directory":"kid-tripp","title":"Kid Tripp","compatibility":0,"releases":[{"id":"0100C0A004C2C000","region":null}]},{"id":"64394780-0b16-4a9a-af46-a7af836b7e0a","directory":"island-maze","title":"Island Maze","compatibility":99,"releases":[{"id":"0100F0E00F5EA000","region":null}]},{"id":"645202fc-f6fe-4e65-8cfc-7aa037d43864","directory":"sagrada","title":"Sagrada","compatibility":99,"releases":[{"id":"010096D0116DE000","region":null}]},{"id":"64619699-7cc3-4a11-8a36-264037753dfa","directory":"corridor-z","title":"Corridor Z","compatibility":2,"releases":[{"id":"010096100E230000","region":null}]},{"id":"648c16da-cdda-4277-9e9a-1e059345d174","directory":"warp-shift","title":"Warp Shift","compatibility":0,"releases":[{"id":"0100DB300A026000","region":null}]},{"id":"64915498-df1a-4da5-9b23-ae3994e2ded1","directory":"junk-planet","title":"JUNK PLANET","compatibility":99,"releases":[{"id":"010069800D2B4000","region":null}]},{"id":"6494cd7f-9f61-47b3-861f-07bc1c9b2a79","directory":"mythic-ocean","title":"Mythic Ocean","compatibility":99,"releases":[{"id":"0100F4F014108000","region":null}]},{"id":"649deb7d-5c03-47ee-a2aa-4b985221fbf0","directory":"hotel-sowls","title":"Hotel Sowls","compatibility":1,"releases":[{"id":"0100B7E01234E000","region":null}]},{"id":"64b2c2fe-fb41-4f39-9f1d-9a0ca449c2d9","directory":"epitaph","title":"Epitaph","compatibility":99,"releases":[{"id":"0100646012282000","region":null}]},{"id":"64c9129d-cf05-466d-bd21-65ba0aeda16e","directory":"final-fantasy-xii-the-zodiac-age","title":"FINAL FANTASY XII THE ZODIAC AGE","compatibility":3,"releases":[{"id":"0100EB100AB42000","region":null}]},{"id":"64d670b2-e988-498f-85dd-0ba7d80d2fa1","directory":"wordherd","title":"WordHerd","compatibility":99,"releases":[{"id":"0100D74010F44000","region":null}]},{"id":"64e7b2bb-be08-45e5-960b-f4c904f4c393","directory":"fantasy-cards","title":"Fantasy Cards","compatibility":99,"releases":[{"id":"01006DA015878000","region":null}]},{"id":"64e9b49f-6a5d-4a2c-bdf6-ac1f66c1abd1","directory":"cyber-complex","title":"Cyber Complex","compatibility":99,"releases":[{"id":"0100D6B010DC0000","region":null}]},{"id":"64eb5f41-0317-4a60-9f40-56f5ca8d3cbf","directory":"retro-classix-2-in-1-pack-express-raider-shootout","title":"Retro Classix 2-in-1 Pack: Express Raider & Shootout","compatibility":99,"releases":[{"id":"0100C0D012188000","region":null}]},{"id":"64fb1be9-183a-45e0-8118-adc74711d652","directory":"burn-supertrucks","title":"Burn! SuperTrucks","compatibility":99,"releases":[{"id":"0100B5A013822000","region":null}]},{"id":"64ffba37-df73-4e26-a7ed-3c69b96406ba","directory":"goosebumps-dead-of-night","title":"Goosebumps Dead of Night","compatibility":99,"releases":[{"id":"010014C0100C6000","region":null}]},{"id":"65026439-a81b-4f1d-af4e-b210cef27816","directory":"isoland-2-ashes-of-time","title":"Isoland 2 - Ashes of Time","compatibility":99,"releases":[{"id":"0100F5600D194000","region":null}]},{"id":"65035d4e-eeb0-401c-ae56-54144636711c","directory":"trials-rising-open-beta","title":"Trials Rising Open Beta","compatibility":99,"releases":[{"id":"0100D9200D090000","region":null}]},{"id":"6514d879-463c-48ad-902a-ddaa0073e9b7","directory":"cat-quest-ii","title":"Cat Quest II","compatibility":0,"releases":[{"id":"01008BE00E968000","region":null}]},{"id":"652ac89d-9e3d-4a92-b379-32fa44e35065","directory":"human-rocket-person","title":"Human Rocket Person","compatibility":99,"releases":[{"id":"0100B0800DBAC000","region":null}]},{"id":"652ec456-5cb1-4585-9764-f186a2b6ba26","directory":"bit-trip-flux","title":"BIT.TRIP FLUX","compatibility":99,"releases":[{"id":"0100293012D40000","region":null}]},{"id":"65308d2d-8366-44ed-91c9-2fcffb071a7e","directory":"zen-chess-collection","title":"Zen Chess Collection","compatibility":99,"releases":[{"id":"01005F200F7C2000","region":null}]},{"id":"6530cb93-a86d-4f40-87a6-3fa4bbb99cdd","directory":"arcade-archives-libble-rabble","title":"Arcade Archives LIBBLE RABBLE","compatibility":99,"releases":[{"id":"0100CB7015AC4000","region":null}]},{"id":"653caadb-9209-47f9-b51c-6cc67f43eb1c","directory":"poly-puzzle","title":"Poly Puzzle","compatibility":99,"releases":[{"id":"01001F70112BA000","region":null}]},{"id":"6545a98b-a9c2-4a3d-a086-909ad5ab4b7a","directory":"roulette-at-aces-casino","title":"Roulette at Aces Casino","compatibility":99,"releases":[{"id":"01005D3012322000","region":null}]},{"id":"654bff82-0888-438c-875d-7cb0d6a310aa","directory":"ai-the-somnium-files","title":"AI: THE SOMNIUM FILES","compatibility":2,"releases":[{"id":"010089B00D09C000","region":null}]},{"id":"654ee652-94bb-4dcf-aeed-56d8aaad87fe","directory":"energy-cycle","title":"Energy Cycle","compatibility":1,"releases":[{"id":"0100BFE00865E000","region":null}]},{"id":"6555b236-0c64-49b2-a604-cb44a53e73e8","directory":"chess-ultra","title":"Chess Ultra","compatibility":5,"releases":[{"id":"0100A5900472E000","region":null}]},{"id":"6555efde-7231-4d08-9cac-68527a42078c","directory":"pretty-girls-mahjong-solitaire-green","title":"Pretty Girls Mahjong Solitaire - Green","compatibility":99,"releases":[{"id":"0100B55014D44000","region":null}]},{"id":"6559ce75-ac48-4c9d-b9c7-854ee23e7a13","directory":"nonograms-prophecy","title":"Nonograms Prophecy","compatibility":99,"releases":[{"id":"0100FF500E738000","region":null}]},{"id":"656e8982-e1dd-40e4-a04c-02be0dedcac5","directory":"my-exotic-farm-2018","title":"My Exotic Farm 2018","compatibility":99,"releases":[{"id":"0100E8600C866000","region":null}]},{"id":"656ea9d4-7939-4a3d-b438-d985e32c517f","directory":"yes-your-grace","title":"Yes, Your Grace","compatibility":99,"releases":[{"id":"01006040110AE000","region":null}]},{"id":"657131a6-edf2-4eb1-9059-621825bc141d","directory":"of-tanks-and-demons-iii","title":"Of Tanks and Demons III","compatibility":1,"releases":[{"id":"01007C30129FE000","region":null}]},{"id":"658206b6-01c8-49a5-aa21-a555b850f9ff","directory":"arcade-archives-xevious","title":"Arcade Archives XEVIOUS","compatibility":99,"releases":[{"id":"010082C015ABC000","region":null}]},{"id":"6582e78a-6ac0-4a82-b5c0-b91a48a619f8","directory":"arcade-archives-mirai-ninja","title":"Arcade Archives MIRAI NINJA","compatibility":99,"releases":[{"id":"01000D50169C4000","region":null}]},{"id":"65859d92-644b-4605-91a7-7460c6c44ebe","directory":"a-normal-lost-phone","title":"A Normal Lost Phone","compatibility":3,"releases":[{"id":"0100978009B98000","region":null}]},{"id":"65860786-4e5a-40ec-b936-de97f56e8f43","directory":"yellow-fins","title":"Yellow Fins","compatibility":99,"releases":[{"id":"010021700F6A4000","region":null}]},{"id":"658b2387-750c-479a-869d-968cb26b3bbc","directory":"wreckin-ball-adventure","title":"Wreckin' Ball Adventure","compatibility":99,"releases":[{"id":"0100C5D00EDB8000","region":null}]},{"id":"659618e8-0dc6-4c85-9bed-a748dd67b345","directory":"aca-neogeo-fatal-fury-3","title":"ACA NEOGEO FATAL FURY 3","compatibility":4,"releases":[{"id":"01000D1008714000","region":null}]},{"id":"659ae932-7ada-4f06-a34a-25561d101f39","directory":"cosmic-top-secret","title":"Cosmic Top Secret","compatibility":99,"releases":[{"id":"0100ACB014104000","region":null}]},{"id":"659ede42-c323-494e-93fc-e6412b14f3e8","directory":"linn-path-of-orchards","title":"Linn: Path of Orchards","compatibility":99,"releases":[{"id":"0100394012038000","region":null}]},{"id":"65a2f5b1-da58-4291-842c-fe0a3664606a","directory":"freddy-spaghetti","title":"Freddy Spaghetti","compatibility":1,"releases":[{"id":"010033B0134A2000","region":null}]},{"id":"65a3acbc-96ca-488f-8c7b-031004901c2d","directory":"the-wanderer-frankensteins-creature","title":"The Wanderer: Frankenstein's Creature","compatibility":99,"releases":[{"id":"010095F010568000","region":null}]},{"id":"65a4d24f-3b2a-4ae8-ace8-de28b3299d5f","directory":"the-house-in-fata-morgana-dreams-of-the-revenants-edition","title":"The House in Fata Morgana: Dreams of the Revenants Edition","compatibility":1,"releases":[{"id":"010016101100A000","region":null}]},{"id":"65add294-808c-40f1-a7db-32e83332fbed","directory":"blossom-tales-the-sleeping-king","title":"Blossom Tales: The Sleeping King","compatibility":4,"releases":[{"id":"0100C1000706C000","region":null}]},{"id":"65b70655-f9fd-4147-abc2-1515e1ac3cc5","directory":"getamped-mobile","title":"GetAmped Mobile","compatibility":99,"releases":[{"id":"0100AA4008210000","region":null}]},{"id":"65c81db5-c188-48bc-8d27-c8b75c1df1d4","directory":"super-rocket-shootout","title":"Super Rocket Shootout","compatibility":99,"releases":[{"id":"0100095009236000","region":null}]},{"id":"65d937dc-4156-4f8f-bb13-190ef0747cf2","directory":"tales-from-the-dragon-mountain-the-strix","title":"Tales from the Dragon Mountain: The Strix","compatibility":99,"releases":[{"id":"01009860125C0000","region":null}]},{"id":"65dc38c7-f11c-4bc7-9a49-bfa311ecc002","directory":"haunted-poppys-nightmare","title":"Haunted: Poppy's Nightmare","compatibility":99,"releases":[{"id":"0100B0E00F074000","region":null}]},{"id":"65efd420-40b6-4b45-9e0b-54c5b7cc9329","directory":"truck-driver","title":"Truck Driver","compatibility":99,"releases":[{"id":"0100CB50107BA000","region":null}]},{"id":"65f1517a-1f6b-4f74-8830-8370de75cb76","directory":"fifa-22-nintendo-switch-legacy-edition","title":"FIFA 22 Nintendo Switchâ„¢ Legacy Edition","compatibility":2,"releases":[{"id":"0100216014472000","region":null}]},{"id":"65fd372e-c201-483f-b8e7-86b3fbda2810","directory":"dadish","title":"Dadish","compatibility":3,"releases":[{"id":"0100B8B013310000","region":null}]},{"id":"66142747-35bf-4c20-b4cd-ff20692e3086","directory":"desktop-rugby","title":"Desktop Rugby","compatibility":99,"releases":[{"id":"0100FAC00F716000","region":null}]},{"id":"661f7afa-5938-49c0-9594-5dfde6a1a76a","directory":"woodsalt","title":"Woodsalt","compatibility":99,"releases":[{"id":"0100288012966000","region":null}]},{"id":"661ff712-c89a-41cd-932e-8a51c4310471","directory":"the-unexpected-quest","title":"The Unexpected Quest","compatibility":99,"releases":[{"id":"010043C012DB4000","region":null}]},{"id":"66236f9b-aab5-4f7b-8ba0-4c0e95da663c","directory":"story-of-seasons-pioneers-of-olive-town","title":"STORY OF SEASONS: Pioneers of Olive Town","compatibility":1,"releases":[{"id":"010082E012A84000","region":null}]},{"id":"662e65a6-287d-4402-8dd2-b3d925776bf2","directory":"rollin-eggz","title":"Rollin' Eggz","compatibility":99,"releases":[{"id":"01004FD00D7C8000","region":null}]},{"id":"66310b10-42bc-473c-9b4c-9cd3bb3fb712","directory":"snowboarding-the-next-phase","title":"Snowboarding The Next Phase","compatibility":1,"releases":[{"id":"0100BE200C34A000","region":null}]},{"id":"66377d34-c391-4c7a-93bb-c6e3233afd3f","directory":"quiplash-2-interlashional-the-say-anything-party-game","title":"Quiplash 2 InterLASHional: The Say Anything Party Game!","compatibility":99,"releases":[{"id":"0100AF100EE76000","region":null}]},{"id":"66384604-1f41-4772-b808-fbc0656eabf1","directory":"ginger-beyond-the-crystal","title":"Ginger: Beyond the Crystal","compatibility":2,"releases":[{"id":"0100C50007070000","region":null}]},{"id":"663dfd98-324f-4c4d-bac4-464840c903e5","directory":"awe","title":"Awe","compatibility":99,"releases":[{"id":"0100E1800CD2A000","region":null}]},{"id":"66484227-bc25-4903-b1c1-57b41412f89f","directory":"dragon-quest","title":"DRAGON QUEST","compatibility":0,"releases":[{"id":"0100EFC00EFB2000","region":null}]},{"id":"6648fd3e-b7d6-42ca-af3b-aa58dec40391","directory":"aca-neogeo-baseball-stars-professional","title":"ACA NEOGEO BASEBALL STARS PROFESSIONAL","compatibility":99,"releases":[{"id":"01003FE00A2F6000","region":null}]},{"id":"664eca90-5689-43f6-9d57-cd22fd4b66dd","directory":"induction","title":"Induction","compatibility":99,"releases":[{"id":"01007AE014E66000","region":null}]},{"id":"6660f8c5-6831-4e03-93ef-dd4f87e7550a","directory":"fallen-legion-rise-to-glory","title":"Fallen Legion: Rise to Glory","compatibility":2,"releases":[{"id":"0100A260094EE000","region":null}]},{"id":"66687304-b9fd-46da-a39f-0e2631905c47","directory":"hotel-transylvania-3-monsters-overboard","title":"Hotel Transylvania 3 Monsters Overboard","compatibility":0,"releases":[{"id":"0100017007980000","region":null}]},{"id":"6669b44a-79e7-4456-af45-d4eb9f55a563","directory":"zombie-scrapper","title":"Zombie Scrapper","compatibility":99,"releases":[{"id":"010015000DB1A000","region":null}]},{"id":"666d3358-c445-41db-9371-514cb9b9d952","directory":"him-her","title":"Him & Her","compatibility":99,"releases":[{"id":"010039601162A000","region":null}]},{"id":"66708ecf-d9c8-42c2-b3ea-f479eda40ffc","directory":"wandersong","title":"Wandersong","compatibility":99,"releases":[{"id":"0100F8A00853C000","region":null}]},{"id":"668731a8-8788-4312-b815-6abd38d6a22b","directory":"darksiders-ii-deathinitive-edition","title":"Darksiders II Deathinitive Edition","compatibility":3,"releases":[{"id":"010071800BA98000","region":null}]},{"id":"668d1379-33e6-4c4a-a427-ab3240fb386c","directory":"arcade-archives-crazy-climber","title":"Arcade Archives CRAZY CLIMBER","compatibility":1,"releases":[{"id":"0100BB1001DD6000","region":null}]},{"id":"669b682d-bf34-4c60-9b30-73e7b07c46ba","directory":"curious-expedition-2","title":"Curious Expedition 2","compatibility":99,"releases":[{"id":"010033500E0DC000","region":null}]},{"id":"66a84f46-6802-4e2e-b71e-338821cfab57","directory":"l-o-l-surprise-movie-night","title":"L.O.L. Surprise! Movie Night","compatibility":99,"releases":[{"id":"0100D16014DD4000","region":null}]},{"id":"66ad7636-3b53-44bc-a4f2-1ffef951d414","directory":"ancient-rush-2","title":"Ancient Rush 2","compatibility":99,"releases":[{"id":"010021700BC56000","region":null}]},{"id":"66c44bf2-6fbd-4c0c-a752-72d175f3187f","directory":"takotan","title":"Takotan","compatibility":99,"releases":[{"id":"0100761012B0C000","region":null}]},{"id":"66c6c68c-8b19-4a5b-80c6-c8642f43a10f","directory":"pine","title":"Pine","compatibility":3,"releases":[{"id":"01002BA00D662000","region":null}]},{"id":"66d09f9c-2958-44fe-a75c-925c8d2ee8df","directory":"dead-or-school","title":"DEAD OR SCHOOL","compatibility":99,"releases":[{"id":"0100A5000F7AA000","region":null}]},{"id":"66e52566-196f-4618-8c6d-634518c9e339","directory":"crowdy-farm-rush","title":"Crowdy Farm Rush","compatibility":99,"releases":[{"id":"0100578012A02000","region":null}]},{"id":"66eb649b-f371-4314-8d73-334e7aca1c15","directory":"fantasy-friends","title":"Fantasy Friends","compatibility":99,"releases":[{"id":"010017C012726000","region":null}]},{"id":"66f6d35f-c363-4e24-bafa-0b035e6eb984","directory":"magic-nations","title":"Magic Nations","compatibility":99,"releases":[{"id":"0100F6600AC00000","region":null}]},{"id":"66f7b869-cd5c-4661-8079-8369b7a1b5cb","directory":"omen-exitio-plague","title":"Omen Exitio: Plague","compatibility":99,"releases":[{"id":"01001D500EB90000","region":null}]},{"id":"66fdce60-1b1a-4235-b800-41e4de5b7113","directory":"west-of-dead","title":"West of Dead","compatibility":0,"releases":[{"id":"0100C2C00D74E000","region":null}]},{"id":"6701956c-4b0e-4930-abef-f16f028fb2d0","directory":"robophobik","title":"RoboPhobik","compatibility":99,"releases":[{"id":"0100187011F8E000","region":null}]},{"id":"6702a419-416b-443b-91a6-3fb8f5fde94b","directory":"super-puzzle-pack","title":"Super Puzzle Pack","compatibility":99,"releases":[{"id":"01003AB011FD8000","region":null}]},{"id":"67077cc3-3ba0-4a56-a0e1-3bb802457503","directory":"mom-hid-my-game","title":"Mom Hid My Game!","compatibility":99,"releases":[{"id":"0100702005E18000","region":null}]},{"id":"670806f7-6708-4467-beec-e22c39d29dcb","directory":"arcade-archives-kid-niki-radical-ninja","title":"Arcade Archives Kid Niki Radical Ninja","compatibility":99,"releases":[{"id":"010010B008A36000","region":null}]},{"id":"67316dfc-92df-4453-9921-65dcb3cf8920","directory":"damsel","title":"Damsel","compatibility":2,"releases":[{"id":"0100BD2009A1C000","region":null}]},{"id":"6737582a-8a20-4b7a-b3e6-e1ac9b0d2331","directory":"mario-kart-8-deluxe","title":"Mario Kart 8 Deluxe","compatibility":2,"releases":[{"id":"0100152000022000","region":null}]},{"id":"673a0e03-5395-4357-a00e-fdca1316c899","directory":"football-manager-2020-touch","title":"Football Manager 2020 Touch","compatibility":5,"releases":[{"id":"0100DA500EFB0000","region":null}]},{"id":"673bfd2c-79f2-4c34-aab1-f4b38d2c6835","directory":"memories-of-east-coast","title":"Memories of East Coast","compatibility":99,"releases":[{"id":"0100CF201641C000","region":null}]},{"id":"6742196b-ad34-4698-a381-07cd72863299","directory":"the-journey-down-chapter-two","title":"The Journey Down: Chapter Two","compatibility":99,"releases":[{"id":"01009AB00B186000","region":null}]},{"id":"6743d148-26d0-4292-afa1-84348f21a3f9","directory":"tennis","title":"Tennis","compatibility":99,"releases":[{"id":"0100D7A005DFC000","region":null}]},{"id":"674e93ce-2863-4b2c-bad6-7a8e378d2889","directory":"they-breathe","title":"They Breathe","compatibility":99,"releases":[{"id":"010088801230E000","region":null}]},{"id":"67540743-fc1c-4350-920d-24b5de8e4cfc","directory":"mighty-switch-force-collection","title":"Mighty Switch Force! Collection","compatibility":0,"releases":[{"id":"010060D00AE36000","region":null}]},{"id":"6755303d-b286-423f-abd0-dbdf04c1b928","directory":"tank-battle-heroes","title":"Tank Battle Heroes","compatibility":99,"releases":[{"id":"0100EBF0129E4000","region":null}]},{"id":"67561a26-1064-4bdf-9cda-66334ca50fd9","directory":"blind-men","title":"Blind Men","compatibility":99,"releases":[{"id":"010089D011310000","region":null}]},{"id":"6759f6ea-fae0-4eda-adf5-69958378719d","directory":"panorama-cotton","title":"Panorama Cotton","compatibility":2,"releases":[{"id":"0100BAB01692A000","region":null}]},{"id":"675c8ec0-a438-4bd0-a881-975be0ef993f","directory":"cybarian-the-time-traveling-warrior","title":"Cybarian: The Time Traveling Warrior","compatibility":99,"releases":[{"id":"010045300E52A000","region":null}]},{"id":"67623535-b7a2-47e3-909f-20120f069a3d","directory":"moorhuhn-jump-and-run-traps-and-treasures","title":"Moorhuhn Jump and Run 'Traps and Treasures'","compatibility":99,"releases":[{"id":"0100E3D014ABC000","region":null}]},{"id":"67668459-038a-4216-bb69-7a65b6bffba0","directory":"trailblazers","title":"Trailblazers","compatibility":0,"releases":[{"id":"0100BCA00843A000","region":null}]},{"id":"676c32c1-f3ae-4bfe-bbe5-7d471d172835","directory":"sega-genesis-classics","title":"SEGA Genesis Classics","compatibility":0,"releases":[{"id":"0100A6300B250000","region":null}]},{"id":"678f5379-4635-4161-a9e5-516f7e18b250","directory":"fisti-fluffs","title":"Fisti-Fluffs","compatibility":99,"releases":[{"id":"0100B82012E86000","region":null}]},{"id":"6790df08-5d90-400c-b82f-a9bb85d0daee","directory":"aca-neogeo-pulstar","title":"ACA NEOGEO PULSTAR","compatibility":99,"releases":[{"id":"01008EA008712000","region":null}]},{"id":"679bab52-e7eb-4bce-ac52-f35a557bf90f","directory":"dont-starve-nintendo-switch-edition","title":"Don't Starve: Nintendo Switch Edition","compatibility":1,"releases":[{"id":"0100751007ADA000","region":null}]},{"id":"679d8702-3305-4c22-833d-a1e60b88694f","directory":"mad-bullets","title":"Mad Bullets","compatibility":99,"releases":[{"id":"01008F000E908000","region":null}]},{"id":"67a5f4a7-a09f-478e-9b48-57630d39d047","directory":"if-my-heart-had-wings","title":"If My Heart Had Wings","compatibility":99,"releases":[{"id":"01001AC00ED72000","region":null}]},{"id":"67af7cb5-9577-409b-a0db-5b8889834de9","directory":"dual-brain-vol1-calculation","title":"Dual Brain Vol.1: Calculation","compatibility":1,"releases":[{"id":"0100E6900F2A8000","region":null}]},{"id":"67b32723-aaea-48a1-bc45-e71c9ba7606c","directory":"james-pond-codename-robocod","title":"James Pond Codename Robocod","compatibility":3,"releases":[{"id":"0100CD5008D9E000","region":null}]},{"id":"67b3d143-eab8-4f06-881e-08ab110b77a5","directory":"lifeless-planet-premiere-edition","title":"Lifeless Planet: Premiere Edition","compatibility":0,"releases":[{"id":"01005B6008132000","region":null}]},{"id":"67bfcadd-aee9-4368-b869-214324218aa6","directory":"vambrace-cold-soul","title":"Vambrace: Cold Soul","compatibility":99,"releases":[{"id":"01000E000DD40000","region":null}]},{"id":"67bfe41e-46fc-4310-b2d4-09bd11550e0b","directory":"mario-party-superstars","title":"Mario Partyâ„¢ Superstars","compatibility":2,"releases":[{"id":"01006FE013472000","region":null}]},{"id":"67c47ceb-5189-42b6-9409-689d90d99e60","directory":"toroom","title":"Toroom","compatibility":99,"releases":[{"id":"01003C9015BD6000","region":null}]},{"id":"67d44bac-e5db-4876-bd9c-8d7966761181","directory":"dark-quest-2","title":"Dark Quest 2","compatibility":0,"releases":[{"id":"0100BFF00D5AE000","region":null}]},{"id":"67d9e4e9-aa67-4765-98f5-59fa1f2f01e6","directory":"gravity-light","title":"Gravity Light","compatibility":99,"releases":[{"id":"010097F01653E000","region":null}]},{"id":"67ddfeea-5708-4fb9-a2f7-66c548cd0540","directory":"grandpa-and-the-zombies","title":"Grandpa and the Zombies","compatibility":99,"releases":[{"id":"010038500BCD6000","region":null}]},{"id":"67e92944-c536-46e5-84cf-34f1e1d7ceca","directory":"my-riding-stables-2-a-new-adventure","title":"My Riding Stables 2: A New Adventure","compatibility":99,"releases":[{"id":"010042A00FBF0000","region":null}]},{"id":"67f0fced-db0f-427c-be57-61e8bcbd264c","directory":"thief-town","title":"Thief Town","compatibility":99,"releases":[{"id":"0100EE401046E000","region":null}]},{"id":"67f3319a-cb20-4de4-89c5-ca3a9bc5ee6a","directory":"animaludo","title":"AnimaLudo","compatibility":99,"releases":[{"id":"01009660154D0000","region":null}]},{"id":"67f36324-c214-471d-b4ed-27f0c6bd465a","directory":"travel-mosaics-7-fantastic-berlin","title":"Travel Mosaics 7: Fantastic Berlin","compatibility":99,"releases":[{"id":"01000BD0119DE000","region":null}]},{"id":"67f92476-1866-464e-811d-75c4b7fa07e6","directory":"pure-electric-love-everyone-else-ema-sakura-","title":"Pure / Electric Love \"Everyone else!\" - Ema Sakura -","compatibility":3,"releases":[{"id":"010050300AC28000","region":null}]},{"id":"67fa4e81-9454-4c82-a879-f824714e31f1","directory":"beattalk","title":"BeatTalk","compatibility":99,"releases":[{"id":"01004A6014788000","region":null}]},{"id":"67fb249b-d5f4-4e84-b50c-da1010f8117e","directory":"stranded-sails-explorers-of-the-cursed-islands","title":"Stranded Sails - Explorers of the Cursed Islands","compatibility":2,"releases":[{"id":"010078D00E8F4000","region":null}]},{"id":"681b3a8b-327b-497a-a00e-67146ed3db3d","directory":"residual","title":"Residual","compatibility":99,"releases":[{"id":"0100D880159D2000","region":null}]},{"id":"681c6780-b86f-4e6a-a48b-1be56ac5b00f","directory":"quarantine-circular","title":"Quarantine Circular","compatibility":99,"releases":[{"id":"0100F1400BA88000","region":null}]},{"id":"68292727-366c-4f56-a3b9-ed6ab7cbdd8b","directory":"grand-slam-tennis","title":"Grand Slam Tennis","compatibility":99,"releases":[{"id":"0100BB701534C000","region":null}]},{"id":"682c7372-a747-4a9e-8eaa-1a207e770f7f","directory":"infinitecorp-cyberpunk-card-game","title":"InfiniteCorp: Cyberpunk Card Game","compatibility":99,"releases":[{"id":"0100A4F015E78000","region":null}]},{"id":"684aa4cd-0aee-4b12-8eb3-ad271f5b9275","directory":"the-true","title":"The True","compatibility":99,"releases":[{"id":"0100C19013ECC000","region":null}]},{"id":"684d5dc2-5205-4bcb-8d6f-fbf0610e8a2d","directory":"the-seven-chambers","title":"The Seven Chambers","compatibility":99,"releases":[{"id":"0100721014E52000","region":null}]},{"id":"684e379a-4c15-4923-af12-af5fdcbd59b7","directory":"tt-isle-of-man-ride-on-the-edge-2","title":"TT Isle of Man Ride on the Edge 2","compatibility":4,"releases":[{"id":"010000400F582000","region":null}]},{"id":"685720d7-59e9-4cf4-bc3e-5a8709ecce6a","directory":"boost-beast","title":"BOOST BEAST","compatibility":3,"releases":[{"id":"0100766003E5C000","region":null}]},{"id":"685b4052-6da4-4d5f-aa95-45a2e0f7b5ae","directory":"damascus-gear-operation-tokyo","title":"Damascus Gear Operation Tokyo","compatibility":99,"releases":[{"id":"01006AA0084FE000","region":null}]},{"id":"685fb2c2-d16b-482a-996e-b3d1c7fcd091","directory":"darksiders-warmastered-edition","title":"Darksiders Warmastered Edition","compatibility":1,"releases":[{"id":"0100E1400BA96000","region":null}]},{"id":"68668016-97ea-4d58-80e7-6c62ee8b41ec","directory":"travel-mosaics-8-breathtaking-seoul","title":"Travel Mosaics 8: Breathtaking Seoul","compatibility":0,"releases":[{"id":"0100AE30119E0000","region":null}]},{"id":"687cf1f7-1ca5-4deb-b552-eeec68b80a1d","directory":"g-i-joe-operation-blackout","title":"G.I. Joe: Operation Blackout","compatibility":99,"releases":[{"id":"0100EB10108EA000","region":null}]},{"id":"688aa34b-8ed5-4a56-b74f-c8b2637e850c","directory":"mugsters","title":"Mugsters","compatibility":99,"releases":[{"id":"010073E008E6E000","region":null}]},{"id":"689281ce-5052-470a-99c3-6bef4b310c98","directory":"animal-rivals-nintendo-switch-edition","title":"Animal Rivals: Nintendo Switch Edition","compatibility":3,"releases":[{"id":"010065B009B3A000","region":null}]},{"id":"6893509d-292c-415e-9c8a-d260f3f15e3c","directory":"fantasy-tavern-sextet-vol-2-adventurers-days","title":"Fantasy Tavern Sextet -Vol.2 Adventurer's Days-","compatibility":4,"releases":[{"id":"01005C10136CA000","region":null}]},{"id":"689da056-22cb-44ee-a830-439ada527ba7","directory":"monster-hunter-generations-ultimate","title":"Monster Hunter Generations Ultimate","compatibility":1,"releases":[{"id":"0100770008DD8000","region":null}]},{"id":"68bdcde1-8b46-421e-951f-89cd18a67225","directory":"nongunz-doppelganger-edition","title":"Nongunz: Doppelganger Edition","compatibility":99,"releases":[{"id":"0100542012884000","region":null}]},{"id":"68c0d1a5-cb0b-4f3c-ab46-00e90e773d95","directory":"paper-dolls-original","title":"Paper Dolls Original","compatibility":3,"releases":[{"id":"010004500DE50000","region":null}]},{"id":"68ca0026-7fc5-481c-b5d7-724ea9c3be4b","directory":"archlion-saga","title":"Archlion Saga","compatibility":1,"releases":[{"id":"0100B3500DFB8000","region":null}]},{"id":"68f06377-6720-4793-a16f-ae83541bc74a","directory":"blue-rider","title":"Blue Rider","compatibility":99,"releases":[{"id":"01006A600B5E6000","region":null}]},{"id":"68f0daeb-d1a2-4100-8454-02edcb12d3ca","directory":"sega-ages-alex-kidd-in-miracle-world","title":"SEGA AGES Alex Kidd in Miracle World","compatibility":0,"releases":[{"id":"0100A8900AF04000","region":null}]},{"id":"692a0d80-be16-4865-9274-f6eedbb58104","directory":"astroneer","title":"ASTRONEER","compatibility":99,"releases":[{"id":"0100E63013E60000","region":null}]},{"id":"692a93a9-97e2-4f38-b824-07d3ecee76e5","directory":"escape-doodland","title":"Escape Doodland","compatibility":99,"releases":[{"id":"010036600C7BE000","region":null}]},{"id":"69329625-91e1-45ac-b663-bb57bd5cc252","directory":"glitchangels","title":"Glitchangels","compatibility":99,"releases":[{"id":"0100CDA014AF6000","region":null}]},{"id":"69337b3a-e535-4e30-b604-6e65d949e549","directory":"a-boy-and-his-blob","title":"A Boy and His Blob","compatibility":0,"releases":[{"id":"01008AF0160C4000","region":null}]},{"id":"694922ff-a137-411c-b469-be7ec7ac928c","directory":"project-knight","title":"PROJECT : KNIGHT","compatibility":99,"releases":[{"id":"0100BE60149F2000","region":null}]},{"id":"694ad68e-9a4e-45f1-8f9a-68be3edf4aee","directory":"nekopara-vol-4","title":"NEKOPARA Vol.4","compatibility":99,"releases":[{"id":"010049F013656000","region":null}]},{"id":"6951297b-80c2-4662-9064-1161c2ba47a5","directory":"kingdom-tales-2","title":"Kingdom Tales 2","compatibility":99,"releases":[{"id":"0100AE7013B90000","region":null}]},{"id":"6958ed3a-a47f-47c3-91a3-771eda2c66de","directory":"pixel-game-maker-series-cham-the-cat-adventure","title":"Pixel Game Maker Series CHAM THE CAT ADVENTURE","compatibility":99,"releases":[{"id":"01005A40168A2000","region":null}]},{"id":"695d8a4b-f3b2-4746-ae10-e15dcda2df7b","directory":"super-saurio-fly","title":"Super Saurio Fly","compatibility":99,"releases":[{"id":"01004CF00A60E000","region":null}]},{"id":"695eab81-8f43-4da2-95d6-7505f1fcf686","directory":"space-otter-charlie","title":"Space Otter Charlie","compatibility":99,"releases":[{"id":"0100DCF0120D2000","region":null}]},{"id":"695f425c-0855-4e31-8869-de75a3d5ecf0","directory":"kaptain-brawe-a-brawe-new-world","title":"Kaptain Brawe: A Brawe New World","compatibility":2,"releases":[{"id":"0100B53013236000","region":null}]},{"id":"6965e716-e7c4-46e0-afd9-adb6ca3b2149","directory":"knock-knock","title":"Knock-Knock","compatibility":99,"releases":[{"id":"010001A00A1F6000","region":null}]},{"id":"6968c778-ea67-4b60-b0db-4723a3e74d7a","directory":"dragon-quest-iii-the-seeds-of-salvation","title":"DRAGON QUEST III: The Seeds of Salvation","compatibility":4,"releases":[{"id":"010015600EFB6000","region":null}]},{"id":"696b0887-fc8c-49e7-82ed-53e756831d19","directory":"bibi-and-tina-adventures-with-horses","title":"Bibi & Tina – Adventures with Horses","compatibility":99,"releases":[{"id":"0100BF400AF38000","region":null}]},{"id":"696b3cb7-5952-44cb-8be7-cf85c155ea26","directory":"nuts","title":"NUTS","compatibility":99,"releases":[{"id":"01000A00135DC000","region":null}]},{"id":"697309bf-9e16-4a06-ba02-79045c106e83","directory":"asterix-obelix-slap-them-all","title":"Asterix & Obelix: Slap them All!","compatibility":1,"releases":[{"id":"01002B401285E000","region":null}]},{"id":"69752083-2f13-41b9-b522-6b1ba14d8b2c","directory":"99vidas-definitive-edition","title":"99Vidas - Definitive Edition","compatibility":99,"releases":[{"id":"0100B2C00682E000","region":null}]},{"id":"6984ea21-9094-4317-952e-b181ed65bc97","directory":"mega-party-a-tootuff-adventure","title":"MEGA PARTY - a tootuff adventure","compatibility":99,"releases":[{"id":"010033A011614000","region":null}]},{"id":"69857e44-d501-4e83-8d8a-560e788c24b4","directory":"koi-dx","title":"Koi DX","compatibility":0,"releases":[{"id":"01001E500401C000","region":null}]},{"id":"69916e13-a342-4f04-8d66-6bae8f67cf4d","directory":"crashbots","title":"Crashbots","compatibility":99,"releases":[{"id":"0100BF200CD74000","region":null}]},{"id":"699633b8-a713-4277-9f26-46f81c7badd8","directory":"energy-cycle-edge-demo","title":"Energy Cycle Edge (Demo)","compatibility":2,"releases":[{"id":"0100A9900C380000","region":null}]},{"id":"69a87da2-62e6-448f-870b-2ce8b11d897f","directory":"doom-and-destiny","title":"Doom & Destiny","compatibility":0,"releases":[{"id":"010019F00CF92000","region":null}]},{"id":"69b686cc-7024-43a1-9460-162052334879","directory":"super-dodge-ball","title":"Super Dodge Ball","compatibility":99,"releases":[{"id":"010096300E48A000","region":null}]},{"id":"69cb8a10-7927-447c-8249-65855b7d6867","directory":"furwind","title":"Furwind","compatibility":0,"releases":[{"id":"0100A6B00D4EC000","region":null}]},{"id":"69d84967-530d-432b-bc21-744f0fb9fcc6","directory":"star-wars-republic-commando","title":"STAR WARSâ„¢ Republic Commandoâ„¢","compatibility":5,"releases":[{"id":"0100FA10115F8000","region":null}]},{"id":"69e0a12f-a025-41d9-8888-701a41967d7b","directory":"tharsis","title":"Tharsis","compatibility":0,"releases":[{"id":"010034D010E78000","region":null}]},{"id":"69e8f66a-08c1-4fa7-828c-fae6f44c9544","directory":"lydia","title":"Lydia","compatibility":99,"releases":[{"id":"01009800100B4000","region":null}]},{"id":"69ed4d68-a0aa-42da-b218-75adf2972d80","directory":"sparklite","title":"Sparklite","compatibility":2,"releases":[{"id":"01007ED00C032000","region":null}]},{"id":"69f44e25-55fb-45fc-a819-379f79b0de6f","directory":"bunny-adventure","title":"Bunny Adventure","compatibility":99,"releases":[{"id":"01004A201292C000","region":null}]},{"id":"6a038133-9fde-42b2-8cac-1689f599f830","directory":"aca-neogeo-metal-slug-4","title":"ACA NEOGEO METAL SLUG 4","compatibility":2,"releases":[{"id":"01009CE00AFAE000","region":null}]},{"id":"6a10308f-23a6-4074-a31c-4af20b68b930","directory":"one-hand-clapping","title":"One Hand Clapping","compatibility":99,"releases":[{"id":"0100FDD01209A000","region":null}]},{"id":"6a519673-4ec5-48b5-b19c-d126cce53672","directory":"art-of-balance-demo","title":"Art of Balance DEMO","compatibility":99,"releases":[{"id":"010062F00CAE2000","region":null}]},{"id":"6a689077-967d-443f-8940-51f5ab1a3293","directory":"metallic-child","title":"METALLIC CHILD","compatibility":2,"releases":[{"id":"01009DE014D6E000","region":null}]},{"id":"6a6ccc27-0c12-4a56-ab59-81ddf79cd62b","directory":"fifa-21-nintendo-switch-legacy-edition","title":"FIFA 21 Nintendo Switchâ„¢ Legacy Edition","compatibility":2,"releases":[{"id":"01000A001171A000","region":null}]},{"id":"6a6eef6f-dd26-4fc2-8e44-1746a99786fe","directory":"override-2-super-mech-league","title":"Override 2: Super Mech League","compatibility":99,"releases":[{"id":"0100647012F62000","region":null}]},{"id":"6a70b484-3766-48d1-a883-e60934aaa542","directory":"shiny-ski-resort","title":"Shiny Ski Resort","compatibility":99,"releases":[{"id":"010082400ED18000","region":null}]},{"id":"6a7ae334-4245-43ae-98fb-c46d99b2c97e","directory":"horror-pinball-bundle","title":"Horror Pinball Bundle","compatibility":2,"releases":[{"id":"0100E4200FA82000","region":null}]},{"id":"6a82c4d9-c5f2-4cc1-9522-1e8746fff3f3","directory":"retro-tanks","title":"Retro Tanks","compatibility":99,"releases":[{"id":"01002F6011D12000","region":null}]},{"id":"6a93e78b-c282-4c86-a882-8cae1931fd04","directory":"skelly-selest-straimium-immortaly-double-pack","title":"Skelly Selest &  Straimium Immortaly Double Pack","compatibility":99,"releases":[{"id":"010028001179C000","region":null}]},{"id":"6a98650a-c651-46db-b261-7a2dbada88c0","directory":"stone","title":"STONE","compatibility":99,"releases":[{"id":"010070D00F640000","region":null}]},{"id":"6a9d5eea-bbbb-4511-a33b-3a81b60898ca","directory":"chinese-parents","title":"Chinese Parents","compatibility":99,"releases":[{"id":"010046F012A04000","region":null}]},{"id":"6aa50a32-33be-421f-9a6b-11fc993159b9","directory":"island-farmer","title":"Island Farmer","compatibility":99,"releases":[{"id":"0100FA60160DE000","region":null}]},{"id":"6aa80d9c-41f8-4c96-8d56-53d111f76269","directory":"howling-village-echoes","title":"Howling Village: Echoes","compatibility":99,"releases":[{"id":"01000E40163F2000","region":null}]},{"id":"6ab9a661-7542-412c-bcb2-71b75aefc2fb","directory":"sheep-in-hell","title":"Sheep in Hell","compatibility":99,"releases":[{"id":"01005B800EA5A000","region":null}]},{"id":"6abe4e5e-4b2a-4d36-b610-00db60cd6ec5","directory":"zombo-buster-advance","title":"Zombo Buster Advance","compatibility":99,"releases":[{"id":"0100BC5014D68000","region":null}]},{"id":"6ac4f560-3a79-40c0-b3f8-59386faed73c","directory":"kuukiyomi-2-consider-it-more-new-era","title":"KUUKIYOMI 2: Consider It More! - New Era","compatibility":99,"releases":[{"id":"010037500F282000","region":null}]},{"id":"6ad0926c-f434-4c81-a1cb-e14a8fd6279c","directory":"razed","title":"RAZED","compatibility":99,"releases":[{"id":"0100CB5009A2C000","region":null}]},{"id":"6ad18cc3-ddc9-4238-8d7f-dd925e6119de","directory":"behind-the-screen","title":"Behind The Screen","compatibility":1,"releases":[{"id":"010053200B0E0000","region":null}]},{"id":"6add1724-8592-4c77-9189-86f8da518fb1","directory":"teddy-gangs","title":"Teddy Gangs","compatibility":99,"releases":[{"id":"0100FAE00F728000","region":null}]},{"id":"6ae417f7-1342-4a89-926e-887893e2c4a2","directory":"monster-boy-and-the-cursed-kingdom","title":"Monster Boy and the Cursed Kingdom","compatibility":1,"releases":[{"id":"01006F7001D10000","region":null}]},{"id":"6ae5d08a-9d02-4c6a-b09b-50fa4de84cb6","directory":"ploid","title":"PLOID","compatibility":99,"releases":[{"id":"010081B013B58000","region":null}]},{"id":"6aec5de5-6d79-4b29-b18d-377f0e52750f","directory":"dandara","title":"Dandara","compatibility":1,"releases":[{"id":"0100BFC002B4E000","region":null}]},{"id":"6aedf0eb-0ed6-41e9-94f0-477430e847e5","directory":"puzzle-pipes","title":"Puzzle Pipes","compatibility":99,"releases":[{"id":"0100A010153CC000","region":null}]},{"id":"6af3e732-fb19-49d5-8be7-9691e02cd036","directory":"my-coloring-book","title":"My Coloring Book","compatibility":0,"releases":[{"id":"0100E76013F1C000","region":null}]},{"id":"6af77040-0675-4019-822c-d75ca70dcbe2","directory":"foregone","title":"Foregone","compatibility":3,"releases":[{"id":"010044B00E70A000","region":null}]},{"id":"6afc79f8-75e4-418a-99ec-6283d936b2ca","directory":"home-sheep-home-farmageddon-party-edition","title":"Home Sheep Home: Farmageddon Party Edition","compatibility":99,"releases":[{"id":"010076000F6B8000","region":null}]},{"id":"6b04570b-6bfd-4128-b85f-4f224a32a4c5","directory":"indie-darling-bundle-vol-2","title":"Indie Darling Bundle Vol 2","compatibility":99,"releases":[{"id":"01006DD011074000","region":null}]},{"id":"6b1414e6-cdb9-444a-a28d-e4de3c97047e","directory":"aqua-moto-racing-utopia","title":"Aqua Moto Racing Utopia","compatibility":1,"releases":[{"id":"0100D0D00516A000","region":null}]},{"id":"6b32af42-8ba6-45ac-b447-ca0eb4871d8f","directory":"mercury-race","title":"Mercury Race","compatibility":99,"releases":[{"id":"0100C9A00B60A000","region":null}]},{"id":"6b3f7a1c-99d5-447d-a465-1842fbde2f9a","directory":"the-otterman-empire","title":"The Otterman Empire","compatibility":3,"releases":[{"id":"01004A700DBD6000","region":null},{"id":"0100B0101265C000","region":null}]},{"id":"6b4603eb-77f4-4b7b-9a99-7eb3315bb520","directory":"abarenbo-tengu-zombie-nation","title":"Abarenbo Tengu & Zombie Nation","compatibility":99,"releases":[{"id":"010040E012A5A000","region":null}]},{"id":"6b467099-9c89-45e4-bc85-81c659e8e201","directory":"summer-sweetheart","title":"Summer Sweetheart","compatibility":1,"releases":[{"id":"01004E500DB9E000","region":null}]},{"id":"6b4878a0-39b6-472e-ac27-24a465ce4787","directory":"cat","title":".cat","compatibility":99,"releases":[{"id":"010079D013E18000","region":null}]},{"id":"6b53ea95-60eb-42a7-81c2-246848d3e9ec","directory":"woodle-tree-adventures-demo","title":"Woodle Tree Adventures Demo","compatibility":99,"releases":[{"id":"010008300D1E0000","region":null}]},{"id":"6b59478f-a656-45d0-af8e-b59cac222da8","directory":"mxgp3-the-official-motocross-videogame","title":"MXGP3 - The Official Motocross Videogame","compatibility":3,"releases":[{"id":"0100D940063A0000","region":null}]},{"id":"6b5ac046-9bf2-47ee-bb5e-e5bf8c6d47bd","directory":"train-station-renovation","title":"Train Station Renovation","compatibility":99,"releases":[{"id":"0100C670149D4000","region":null}]},{"id":"6b5d4b9d-0d25-4b86-a507-633d1f687618","directory":"gunbird-for-nintendo-switch","title":"GUNBIRD for Nintendo Switch","compatibility":4,"releases":[{"id":"01003C6008940000","region":null}]},{"id":"6b697610-e073-4003-9e93-f5778336f93d","directory":"strange-field-football","title":"Strange Field Football","compatibility":99,"releases":[{"id":"01000A6013F86000","region":null}]},{"id":"6b6c1e61-2b21-4661-959f-10bb8c0869cd","directory":"dragon-blaze-for-nintendo-switch","title":"Dragon Blaze for Nintendo Switch","compatibility":2,"releases":[{"id":"010099B00A2DC000","region":null}]},{"id":"6b77bb2f-75a8-40fd-a826-edbc8d2a24a7","directory":"game-dev-story","title":"Game Dev Story","compatibility":4,"releases":[{"id":"0100AF700BCD2000","region":null}]},{"id":"6b7a17c7-4eab-46bb-b77c-ba8e3f178f36","directory":"dragonfangz-the-rose-and-dungeon-of-time","title":"DragonFangZ - The Rose & Dungeon of Time","compatibility":2,"releases":[{"id":"0100DA0006F50000","region":null}]},{"id":"6b7cc99e-9dc6-43ea-856b-e193ab405a93","directory":"earthlock","title":"EARTHLOCK","compatibility":2,"releases":[{"id":"01006E50042EA000","region":null}]},{"id":"6b81e174-4a91-4afd-8a89-955c88a2c597","directory":"riddled-corpses-ex","title":"Riddled Corpses EX","compatibility":0,"releases":[{"id":"01002C700C326000","region":null}]},{"id":"6b8a07b6-199c-4e82-acf6-8a7d646f5463","directory":"tesla-vs-lovecraft","title":"Tesla vs Lovecraft","compatibility":99,"releases":[{"id":"0100FBC007EAE000","region":null}]},{"id":"6bae551f-13d4-4cb2-812e-de04e7835b02","directory":"the-alliance-alive-hd-remastered","title":"The Alliance Alive HD Remastered","compatibility":1,"releases":[{"id":"01003CF00DCFA000","region":null}]},{"id":"6bb47d82-239f-4026-88d9-a28108a99a69","directory":"drums","title":"Drums","compatibility":1,"releases":[{"id":"0100652012F58000","region":null}]},{"id":"6bc00557-a0ba-4b20-8a1b-02861acf3bcc","directory":"puzzles-for-toddlers-kids-animals-cars-and-more","title":"Puzzles for Toddlers & Kids: Animals, Cars and more","compatibility":5,"releases":[{"id":"010071E011308000","region":null}]},{"id":"6bc151c6-1bfd-466b-b799-c318f9fe86ea","directory":"super-space-snake","title":"Super Space Snake","compatibility":99,"releases":[{"id":"01004DE01162C000","region":null}]},{"id":"6bc95279-b2b9-4f8b-a0b1-70d17e6ce0bc","directory":"strike-suit-zero-directors-cut","title":"Strike Suit Zero: Director's Cut","compatibility":99,"releases":[{"id":"010072500D52E000","region":null}]},{"id":"6bcf074b-8368-4792-903e-7a72f08f2f65","directory":"dungeonoid","title":"Dungeonoid","compatibility":99,"releases":[{"id":"01002130136C0000","region":null}]},{"id":"6bdbb458-f615-49d3-9c20-d123184652d9","directory":"conarium","title":"Conarium","compatibility":1,"releases":[{"id":"010015801308E000","region":null}]},{"id":"6beb8961-5d60-48d1-9daf-cb1262a7cb19","directory":"wuppo-definitive-edition","title":"Wuppo: Definitive Edition","compatibility":5,"releases":[{"id":"01003F800E87C000","region":null}]},{"id":"6befcd10-bb3d-4da3-8d32-529e36465597","directory":"aca-neogeo-the-king-of-fighters-97","title":"ACA NEOGEO THE KING OF FIGHTERS '97","compatibility":2,"releases":[{"id":"0100170008728000","region":null}]},{"id":"6bf60ca8-e5fb-43ce-a135-9cdad7d97f4d","directory":"shadowverse-champions-battle","title":"Shadowverse: Champion's Battle","compatibility":99,"releases":[{"id":"01005880134C2000","region":null}]},{"id":"6bf72de9-7daa-4e2b-be1c-4e4e1d89f31d","directory":"quell","title":"Quell","compatibility":99,"releases":[{"id":"0100492012378000","region":null}]},{"id":"6bf8116b-d08a-4cb8-8f3d-4170e6c119f6","directory":"axe-champ","title":"Axe Champ!","compatibility":99,"releases":[{"id":"01009E7015954000","region":null}]},{"id":"6c00db3a-78ab-44da-9258-70204bfae694","directory":"afterparty","title":"Afterparty","compatibility":3,"releases":[{"id":"0100DB100BBCE000","region":null}]},{"id":"6c149c88-6605-4e51-bcc5-890cbcdf3168","directory":"world-conqueror-x","title":"World Conqueror X","compatibility":99,"releases":[{"id":"01009D500A194000","region":null}]},{"id":"6c27da92-dc64-4301-abaa-19758a99732e","directory":"wordsweeper-by-powgi","title":"Wordsweeper by POWGI","compatibility":99,"releases":[{"id":"01008A500ED8E000","region":null}]},{"id":"6c423419-d841-441e-bbc8-ffe84cea142f","directory":"petoons-party","title":"Petoons Party","compatibility":2,"releases":[{"id":"010044400EEAE000","region":null}]},{"id":"6c59e28b-4b5c-4db3-8e45-ac5be51ca03d","directory":"survive-mrcube","title":"Survive! MR.CUBE","compatibility":99,"releases":[{"id":"010029A00AEB0000","region":null}]},{"id":"6c60bade-15fd-4231-9123-3c89e0800581","directory":"bounce-mania","title":"Bounce Mania","compatibility":99,"releases":[{"id":"01003FD014FB0000","region":null}]},{"id":"6c6d08f4-fef1-478e-8173-63074bfa451c","directory":"mario-rabbids-kingdom-battle","title":"Mario + Rabbids Kingdom Battle","compatibility":2,"releases":[{"id":"010067300059A000","region":null}]},{"id":"6c78a63a-9f48-4d22-92c2-ce68bcf910be","directory":"arcade-archives-nova2001","title":"Arcade Archives NOVA2001","compatibility":99,"releases":[{"id":"0100A5E009822000","region":null}]},{"id":"6c78e6ae-b9d6-432f-b71f-330ada6f6919","directory":"mushroom-heroes","title":"Mushroom Heroes","compatibility":99,"releases":[{"id":"01005BD0112B8000","region":null}]},{"id":"6c78f522-8ed0-4914-a4f8-f0b1fddfb5df","directory":"captain-starone","title":"Captain StarONE","compatibility":99,"releases":[{"id":"0100BF000CB3C000","region":null}]},{"id":"6c802aa1-7078-4c45-a750-7d76dbc2c7d1","directory":"catch-em-goldfish-scooping","title":"Catch 'Em! Goldfish Scooping","compatibility":99,"releases":[{"id":"0100E7F00BA5A000","region":null}]},{"id":"6c82d2c7-9fd5-4a3c-acc2-5dd746968493","directory":"emoji-music","title":"emoji MUSIC","compatibility":99,"releases":[{"id":"01005AC016C0C000","region":null}]},{"id":"6c88f7d7-4abf-488f-897c-b77279de9e8b","directory":"johnny-turbos-arcade-joe-and-mac-returns","title":"Johnny Turbo's Arcade: Joe and Mac Returns","compatibility":99,"releases":[{"id":"01003D7002CC0000","region":null}]},{"id":"6c8b0b12-6de4-41ac-930b-db5e60c06d20","directory":"puzzle-puppers","title":"Puzzle Puppers","compatibility":99,"releases":[{"id":"01003590089EA000","region":null}]},{"id":"6c8fcd94-f323-4d83-ba1c-d185c6833f1c","directory":"othercide","title":"Othercide","compatibility":99,"releases":[{"id":"0100E5900F49A000","region":null}]},{"id":"6c99312a-1a37-4db8-994d-40d4d98d8930","directory":"calculation-castle-grecos-ghostly-challenge-subtraction","title":"Calculation Castle : Greco's Ghostly Challenge \"Subtraction \"","compatibility":99,"releases":[{"id":"0100A6500B176000","region":null}]},{"id":"6ca2df1f-be97-405d-850c-20a988d7b6d2","directory":"spy-chameleon","title":"Spy Chameleon","compatibility":99,"releases":[{"id":"0100662008632000","region":null}]},{"id":"6ca62f11-16d5-47ea-94e3-7c4c8907c350","directory":"aca-neogeo-ragnagard","title":"ACA NEOGEO RAGNAGARD","compatibility":5,"releases":[{"id":"010006300AFCE000","region":null}]},{"id":"6cb33b8d-d0ea-4d27-8d3c-4c2b7610d527","directory":"puzzle-9","title":"Puzzle 9","compatibility":99,"releases":[{"id":"01007E201634C000","region":null}]},{"id":"6cb41d03-66eb-45ba-9f5d-db2ac1901cd4","directory":"toejam-and-earl-back-in-the-groove","title":"ToeJam & Earl: Back in the Groove!","compatibility":2,"releases":[{"id":"0100B5200BB7C000","region":null}]},{"id":"6cb93c0c-eb2d-49d1-9d95-2303f0af9537","directory":"medieval-tower-defense","title":"Medieval Tower Defense","compatibility":99,"releases":[{"id":"01008890162A8000","region":null}]},{"id":"6cba75b7-e292-432b-997a-76610a19e778","directory":"multilevel-parking-driver","title":"Multilevel Parking Driver","compatibility":99,"releases":[{"id":"0100B74015434000","region":null}]},{"id":"6cc4fc75-2c0d-4b1e-b1f5-5f5501e0563f","directory":"battle-planet-judgement-day","title":"Battle Planet - Judgement Day","compatibility":99,"releases":[{"id":"0100D2800EB40000","region":null}]},{"id":"6cd69ed7-fc3f-42f7-8617-8ec47dbcbf08","directory":"big-buck-hunter-arcade","title":"Big Buck Hunter Arcade","compatibility":2,"releases":[{"id":"010062B00A874000","region":null}]},{"id":"6cd8951d-b897-4c41-8565-a4c38d5e8aea","directory":"blaster-master-zero","title":"Blaster Master Zero","compatibility":0,"releases":[{"id":"0100225000FEE000","region":null}]},{"id":"6ce0080d-f925-44b1-872a-a60850a05d87","directory":"zombievital-dg","title":"ZombieVital DG","compatibility":99,"releases":[{"id":"010048F014748000","region":null}]},{"id":"6ce2f536-f131-4678-be27-1827c82288d3","directory":"aca-neogeo-magical-drop-iii","title":"ACA NEOGEO MAGICAL DROP III","compatibility":99,"releases":[{"id":"01008ED008776000","region":null}]},{"id":"6ce6ef38-907a-41d0-a0b6-1749c3c5dd3e","directory":"forgotton-anne","title":"Forgotton Anne","compatibility":1,"releases":[{"id":"010059E00B93C000","region":null}]},{"id":"6ce8088e-0d78-4165-a12a-1a2623256d48","directory":"burnout-paradise-remastered","title":"Burnoutâ„¢ Paradise Remastered","compatibility":3,"releases":[{"id":"0100DBF01000A000","region":null}]},{"id":"6ce8cc8d-e5d8-4c5b-b409-3799c87b300e","directory":"stern-pinball-arcade","title":"Stern Pinball Arcade","compatibility":5,"releases":[{"id":"0100AE0006474000","region":null}]},{"id":"6cf68278-3381-4553-b531-4e60c4b6e7f8","directory":"puzzle-wall","title":"Puzzle Wall","compatibility":99,"releases":[{"id":"01002C900BF74000","region":null}]},{"id":"6d03f2e2-a610-4aff-8b10-59207313bb8b","directory":"grand-prix-story","title":"Grand Prix Story","compatibility":1,"releases":[{"id":"0100BE600D07A000","region":null}]},{"id":"6d24e957-17ae-4ac5-8835-098e1c824be2","directory":"my-girlfriend-is-a-mermaid","title":"My Girlfriend is a Mermaid!?","compatibility":99,"releases":[{"id":"01000D700BE88000","region":null}]},{"id":"6d260671-e075-45ae-855e-128d5e74c1e4","directory":"dead-in-vinland-true-viking-edition","title":"Dead in Vinland - True Viking edition","compatibility":99,"releases":[{"id":"010005400E394000","region":null}]},{"id":"6d27f273-25b4-43e9-90eb-cc99de2cb873","directory":"trine-4-the-nightmare-prince","title":"Trine 4: The Nightmare Prince","compatibility":5,"releases":[{"id":"010055E00CA68000","region":null}]},{"id":"6d2ad664-0aa0-479a-a408-9c21add25ab3","directory":"swarmriders","title":"SWARMRIDERS","compatibility":99,"releases":[{"id":"0100E7001210C000","region":null}]},{"id":"6d34035e-0332-4dc8-98eb-268224b4c0f2","directory":"luna-the-shadow-dust","title":"LUNA The Shadow Dust","compatibility":1,"releases":[{"id":"0100B950129DC000","region":null}]},{"id":"6d3b4b59-0ec1-44fa-8b48-98e757cdd291","directory":"murder-mystery-machine","title":"Murder Mystery Machine","compatibility":0,"releases":[{"id":"01006C4014720000","region":null}]},{"id":"6d44ca13-7118-48a2-9042-ebbd6cc43dfd","directory":"labyrinth-of-the-witch","title":"Labyrinth of the Witch","compatibility":1,"releases":[{"id":"010022D0089AE000","region":null}]},{"id":"6d46d9f1-16ff-40fd-9bc7-17ed6e409d79","directory":"the-station","title":"The Station","compatibility":0,"releases":[{"id":"010007F00AF56000","region":null}]},{"id":"6d49c737-8965-411e-8886-1403b323a92d","directory":"the-hong-kong-massacre","title":"The Hong Kong Massacre","compatibility":99,"releases":[{"id":"01001950137D8000","region":null}]},{"id":"6d4d32cb-a579-4644-a2ee-36344ffd018e","directory":"aca-neogeo-aggressors-of-dark-kombat","title":"ACA NEOGEO AGGRESSORS OF DARK KOMBAT","compatibility":4,"releases":[{"id":"0100B4800AFBA000","region":null}]},{"id":"6d4fcaa2-e182-444d-bca7-1438c7e7cc73","directory":"knockout-city","title":"Knockout Cityâ„¢","compatibility":5,"releases":[{"id":"01009EF00DDB4000","region":null}]},{"id":"6d59d933-2220-4875-8ec5-b66ac2642020","directory":"hyperlight-ultimate","title":"Hyperlight Ultimate","compatibility":99,"releases":[{"id":"0100F4C00D958000","region":null}]},{"id":"6d62ab9d-ba30-41b1-b019-eb4e148ca717","directory":"nelly-cootalot-the-fowl-fleet","title":"Nelly Cootalot: The Fowl Fleet","compatibility":99,"releases":[{"id":"01005F000B784000","region":null}]},{"id":"6d701f4e-727c-4d9c-8755-d0c913468daa","directory":"reknum-cheri-dreamland","title":"Reknum Cheri Dreamland","compatibility":99,"releases":[{"id":"01005320144BC000","region":null}]},{"id":"6d7ca98d-abdc-44d6-bcbb-5d8db73a4dce","directory":"speedway-heroes","title":"Speedway Heroes","compatibility":1,"releases":[{"id":"01006CC015D12000","region":null}]},{"id":"6d90e561-bd30-412e-8365-f94797adf643","directory":"layers-of-fear-2","title":"Layers of Fear 2","compatibility":99,"releases":[{"id":"01001730144DA000","region":null}]},{"id":"6d933545-52c2-4bb7-affb-6c7baeef91c4","directory":"mazm-jekyll-and-hyde","title":"MazM: Jekyll and Hyde","compatibility":0,"releases":[{"id":"0100BF001091E000","region":null}]},{"id":"6da2370e-f19c-4795-bce6-f5a9bcd511ae","directory":"kadobat-wars","title":"KADOBAT WARS","compatibility":99,"releases":[{"id":"01000A800ADEE000","region":null}]},{"id":"6da2b68d-741d-494d-bb5e-e0c8099de1a7","directory":"explosive-jake","title":"Explosive Jake","compatibility":99,"releases":[{"id":"01009B7010B42000","region":null}]},{"id":"6da4df37-ba7b-47b2-a66f-d966d7b54185","directory":"okunoka-madness","title":"OkunoKA Madness","compatibility":99,"releases":[{"id":"0100907011392000","region":null}]},{"id":"6da7c406-253a-4246-9ebf-0b6c99d79826","directory":"stencil-art","title":"Stencil Art","compatibility":99,"releases":[{"id":"01008DB013114000","region":null}]},{"id":"6db167bc-9f06-4f6c-8977-a0971454920e","directory":"dungeon-limbus","title":"Dungeon Limbus","compatibility":99,"releases":[{"id":"0100CAB012FCC000","region":null}]},{"id":"6dbfe5f3-f1c6-440a-8212-6263934e103c","directory":"my-little-dog-adventure","title":"My Little Dog Adventure","compatibility":99,"releases":[{"id":"0100872012B34000","region":null}]},{"id":"6dc6cfd2-ec4e-47f1-906b-0f2eb9337281","directory":"rogue-robots","title":"Rogue Robots","compatibility":1,"releases":[{"id":"0100F3B010F56000","region":null}]},{"id":"6dc7c6da-ec24-48c1-bf8b-405b067e37b9","directory":"aca-neogeo-sengoku-3","title":"ACA NEOGEO SENGOKU 3","compatibility":4,"releases":[{"id":"01008D000877C000","region":null}]},{"id":"6dd9736b-ce0b-43b9-a7b3-8095c8e30d2d","directory":"oneiros","title":"Oneiros","compatibility":99,"releases":[{"id":"0100463013246000","region":null}]},{"id":"6dfd08b2-7acd-421e-95dd-eb0ec46c3101","directory":"aca-neogeo-puzzled","title":"ACA NEOGEO PUZZLED","compatibility":1,"releases":[{"id":"0100A290038F8000","region":null}]},{"id":"6e02672f-25b5-4952-bc54-963a24cb4e08","directory":"redeemer-enhanced-edition","title":"Redeemer: Enhanced Edition","compatibility":4,"releases":[{"id":"01000D100DCF8000","region":null}]},{"id":"6e03b5e0-6a65-4d85-98fd-3323506c547e","directory":"ori-and-the-will-of-the-wisps","title":"Ori and the Will of the Wisps","compatibility":1,"releases":[{"id":"01008DD013200000","region":null}]},{"id":"6e0d0b40-319b-41dc-ad5c-1a920c25c2b5","directory":"boxboy-boxgirl-demo","title":"BOXBOY! + BOXGIRL!â„¢ Demo","compatibility":99,"releases":[{"id":"0100B7200E02E000","region":null}]},{"id":"6e2777e2-f6ec-4a37-900f-428108143296","directory":"batu-ta-batu","title":"Batu Ta Batu","compatibility":99,"releases":[{"id":"0100E2F011DE8000","region":null}]},{"id":"6e2f638f-1c39-4ea5-a696-3727e5be9d11","directory":"chicken-range","title":"Chicken Range","compatibility":2,"releases":[{"id":"0100F6C00A016000","region":null}]},{"id":"6e33831f-c307-4227-82e5-e4dc4869f272","directory":"esport-manager","title":"ESport Manager","compatibility":99,"releases":[{"id":"010029C00D768000","region":null}]},{"id":"6e350026-2f10-40ba-a00d-03a06bade192","directory":"klang-2","title":"Klang 2","compatibility":99,"releases":[{"id":"010074D0111C4000","region":null}]},{"id":"6e351211-c229-498c-89a0-e71b639099e9","directory":"synergia","title":"Synergia","compatibility":99,"releases":[{"id":"01009E700F448000","region":null}]},{"id":"6e4be8cf-595b-4f3e-9e8a-07f5d383f089","directory":"blazblue-cross-tag-battle","title":"BLAZBLUE CROSS TAG BATTLE","compatibility":0,"releases":[{"id":"0100B61008208000","region":null}]},{"id":"6e64c242-ac65-4927-8485-53fe4cc5b189","directory":"future-aero-racing-s-ultra","title":"Future Aero Racing S Ultra","compatibility":99,"releases":[{"id":"0100A98010E40000","region":null}]},{"id":"6e67c301-eaca-4818-9560-ed5e93613ee5","directory":"barry-bradfords-putt-panic-party","title":"Barry Bradford's Putt Panic Party","compatibility":99,"releases":[{"id":"0100FB000EB96000","region":null}]},{"id":"6e6b81cd-4abf-4973-af22-52e0782ecec3","directory":"air-conflicts-pacific-carriers","title":"Air Conflicts: Pacific Carriers","compatibility":4,"releases":[{"id":"0100C7600C7D6000","region":null}]},{"id":"6e7f6b86-9f7f-41ce-b8dd-9db77d890fdc","directory":"the-secret-order-return-to-the-buried-kingdom","title":"The Secret Order: Return to the Buried Kingdom","compatibility":99,"releases":[{"id":"0100971012B4E000","region":null}]},{"id":"6e92fa90-fcff-44dd-864e-aa0c8ac2cf95","directory":"jcb-pioneer-mars","title":"JCB Pioneer: Mars","compatibility":99,"releases":[{"id":"0100841008BDE000","region":null}]},{"id":"6e93e94c-901f-4275-9b81-e4fee3d5011b","directory":"the-turing-test","title":"The Turing Test","compatibility":4,"releases":[{"id":"0100EA100F516000","region":null}]},{"id":"6ea6b6f5-f923-4f56-91bd-98cd4d8fe9af","directory":"arms","title":"ARMS","compatibility":0,"releases":[{"id":"01009B500007C000","region":null}]},{"id":"6eaacc43-bbbe-44e4-87ed-380a05d0754a","directory":"deathstate-abyssal-edition","title":"Deathstate : Abyssal Edition","compatibility":99,"releases":[{"id":"0100F9C0078CC000","region":null}]},{"id":"6eb451fb-49b9-4795-963b-10566edb2040","directory":"crashn-the-boys-street-challenge","title":"Crash'n the Boys Street Challenge","compatibility":99,"releases":[{"id":"01008B000E494000","region":null}]},{"id":"6eb7072a-7775-4a74-b26f-b5b806c7e9b7","directory":"aca-neogeo-magical-drop-ii","title":"ACA NEOGEO MAGICAL DROP II","compatibility":4,"releases":[{"id":"0100A050038F2000","region":null}]},{"id":"6eb728b8-e52e-4b42-9b6d-2ca298ada573","directory":"lost-in-random","title":"Lost in Randomâ„¢","compatibility":99,"releases":[{"id":"01005FE01291A000","region":null}]},{"id":"6ec77cb0-2e32-4160-8d73-0d96f9fa0147","directory":"forever-forest","title":"Forever Forest","compatibility":99,"releases":[{"id":"01007CD00BCE2000","region":null}]},{"id":"6edc6792-9ce2-4dc5-ae77-10615af90d9b","directory":"lost-orbit-terminal-velocity","title":"LOST ORBIT: Terminal Velocity","compatibility":99,"releases":[{"id":"010054600AC74000","region":null}]},{"id":"6edd29b7-35cc-40ff-8522-517af556f8ba","directory":"yaga","title":"Yaga","compatibility":99,"releases":[{"id":"01006FB00DB02000","region":null}]},{"id":"6ee29fb9-2190-4b61-bdfe-a8bae122b999","directory":"zombie-blast-crew","title":"Zombie Blast Crew","compatibility":99,"releases":[{"id":"0100B610138F8000","region":null}]},{"id":"6eec85b2-9b14-46af-9210-70e7574da146","directory":"youtubers-life-2","title":"Youtubers Life 2","compatibility":99,"releases":[{"id":"01004DE013EDE000","region":null}]},{"id":"6eeec8be-e9c8-4f49-bdd9-50e90e63c02d","directory":"crocs-world-run","title":"Croc's World Run","compatibility":99,"releases":[{"id":"0100EC400D712000","region":null}]},{"id":"6ef212e9-9dbc-4d07-a463-9a8b570ef927","directory":"tachyon-project","title":"Tachyon Project","compatibility":99,"releases":[{"id":"010087E006E6E000","region":null}]},{"id":"6efe4d0b-c853-4e7d-98b9-8c849f87346e","directory":"boom-ball-boost-edition","title":"Boom Ball: Boost Edition","compatibility":99,"releases":[{"id":"01009FA00A570000","region":null}]},{"id":"6f190c5e-31a4-4e63-bdca-9a0e593a7275","directory":"animal-crossing-new-horizons","title":"Animal Crossing: New Horizons","compatibility":1,"releases":[{"id":"01006F8002326000","region":null}]},{"id":"6f1c9f70-67e1-4299-9fcb-b4701d0b0588","directory":"monster-blast","title":"Monster Blast","compatibility":5,"releases":[{"id":"0100E2D0128E6000","region":null}]},{"id":"6f2038a1-4a27-47b9-a07d-1d30971db6a2","directory":"akuarium","title":"Akuarium","compatibility":99,"releases":[{"id":"0100D4C00EE0C000","region":null}]},{"id":"6f2b6099-5e64-4c0e-8624-2b7b02d4faa3","directory":"cybxus-hearts","title":"Cybxus Hearts","compatibility":1,"releases":[{"id":"01006B9013672000","region":null}]},{"id":"6f34345a-a6a2-425d-a72b-32f039a475c9","directory":"octogeddon","title":"Octogeddon","compatibility":99,"releases":[{"id":"0100E6E00AF44000","region":null}]},{"id":"6f3aabe7-8b59-4171-9d46-74f9b6de976a","directory":"mages-of-mystralia","title":"Mages of Mystralia","compatibility":99,"releases":[{"id":"0100549008C9C000","region":null}]},{"id":"6f3bed75-3ced-4c8a-9e2d-5fa49dc609e7","directory":"to-the-moon","title":"To the Moon","compatibility":2,"releases":[{"id":"010036700F83E000","region":null}]},{"id":"6f430252-6acd-469a-a075-9e4efbc3c38b","directory":"earth-marines","title":"Earth Marines","compatibility":99,"releases":[{"id":"0100AB4015D1A000","region":null}]},{"id":"6f5589c2-6221-4134-acb7-7826f0107aa7","directory":"aca-neogeo-baseball-stars-2","title":"ACA NEOGEO BASEBALL STARS 2","compatibility":99,"releases":[{"id":"0100B0B00A8C2000","region":null}]},{"id":"6f5bd7b3-6dec-48dc-9f9e-7277c0fd1961","directory":"candy-2048-challenge","title":"Candy 2048 Challenge","compatibility":99,"releases":[{"id":"0100D6B012DE8000","region":null}]},{"id":"6f5becf2-2558-404b-b2e4-b193814121f6","directory":"the-enigma-machine","title":"The Enigma Machine","compatibility":99,"releases":[{"id":"0100D06016B7E000","region":null}]},{"id":"6f6165f3-a856-4f82-8de6-9fa98d3d403a","directory":"perfect-angle","title":"Perfect Angle","compatibility":99,"releases":[{"id":"010089F00A3B4000","region":null}]},{"id":"6f65bc93-e216-4067-b952-379ff59cfe92","directory":"eagletalon-vs-horde-of-the-flies","title":"EAGLETALON vs. HORDE OF THE FLIES","compatibility":99,"releases":[{"id":"0100D45010F16000","region":null}]},{"id":"6f6c225f-556e-4b2f-a691-ac17693a72fd","directory":"connect-bricks","title":"Connect Bricks","compatibility":99,"releases":[{"id":"0100A32014912000","region":null}]},{"id":"6f733465-a060-48f3-96d2-7021263b21b0","directory":"zombie-watch","title":"Zombie Watch","compatibility":99,"releases":[{"id":"0100C88016CF6000","region":null}]},{"id":"6f7559d2-b3df-4cb3-8e48-185b4c20553e","directory":"distrust","title":"Distrust","compatibility":99,"releases":[{"id":"01002F300D9CE000","region":null}]},{"id":"6f83b026-f443-416b-98df-612903c60c96","directory":"eat-beat-deadspike-san-demo","title":"EAT BEAT DEADSPIKE-san Demo","compatibility":99,"releases":[{"id":"0100BEA0096CE000","region":null}]},{"id":"6f8ae4cf-7318-48e8-bdd3-1dad1854e87a","directory":"aca-neogeo-blazing-star","title":"ACA NEOGEO BLAZING STAR","compatibility":1,"releases":[{"id":"0100DFC003398000","region":null}]},{"id":"6f8fe791-207a-441d-a2cc-6c8102b789c0","directory":"mace-tower-defense","title":"M.A.C.E. Tower Defense","compatibility":4,"releases":[{"id":"010032800F038000","region":null}]},{"id":"6f9a12d4-0d48-4fb7-ac2f-c46ef027d0ad","directory":"destropolis","title":"Destropolis","compatibility":99,"releases":[{"id":"010017D0130C4000","region":null}]},{"id":"6f9b7e8a-4872-47ec-825e-f0263fd27805","directory":"la-mulana","title":"LA-MULANA","compatibility":5,"releases":[{"id":"010026000F662000","region":null}]},{"id":"6fa2ff13-0961-4a29-b537-df1d11c94819","directory":"firefighters-the-simulation","title":"Firefighters – The Simulation","compatibility":4,"releases":[{"id":"0100434003C58000","region":null}]},{"id":"6fa990e8-e1f4-4078-a042-acfb2aa8b358","directory":"your-toy","title":"Your Toy","compatibility":0,"releases":[{"id":"010071800B4B2000","region":null}]},{"id":"6fa99ea4-7f58-4c7b-82e7-3e3449a242f9","directory":"198x","title":"198X","compatibility":0,"releases":[{"id":"01007BB00FC8A000","region":null}]},{"id":"6fbd215c-ef76-4c99-af1f-c64342d7fc3c","directory":"sir-tincan-adventures-in-the-castle","title":"Sir Tincan - Adventures in the Castle","compatibility":99,"releases":[{"id":"0100A78011974000","region":null}]},{"id":"6fc13882-3472-4001-aa48-44ccf3f00204","directory":"creepy-balls","title":"Creepy Balls","compatibility":99,"releases":[{"id":"0100EA0016F1C000","region":null}]},{"id":"6fcf8029-d333-4567-aa03-f79fe914f6c6","directory":"earth-wars","title":"EARTH WARS","compatibility":1,"releases":[{"id":"01009B7006C88000","region":null}]},{"id":"6fe21370-f04b-435a-ae04-4599f5e50738","directory":"toolboy","title":"Toolboy","compatibility":99,"releases":[{"id":"0100B55012216000","region":null}]},{"id":"6fecab9b-80bb-495a-ac00-81a648c586fb","directory":"snooker-19","title":"Snooker 19","compatibility":4,"releases":[{"id":"01008DA00CBBA000","region":null}]},{"id":"6ff089b3-2c0e-40d6-91ec-482da2f16fc5","directory":"animal-bomber","title":"Animal Bomber","compatibility":4,"releases":[{"id":"01000030146BE000","region":null}]},{"id":"6ff16485-6a02-4c13-b73e-15a0c24a7f36","directory":"labyrinth-legend","title":"Labyrinth Legend","compatibility":99,"releases":[{"id":"0100A4001573C000","region":null}]},{"id":"6ff292df-24fe-4b25-812a-27b91e9a6d2b","directory":"minesweeper-genius","title":"Minesweeper Genius","compatibility":99,"releases":[{"id":"010000500B9F4000","region":null}]},{"id":"6ff3c46e-4482-4d0a-8adc-0f032166bc4a","directory":"desktop-basketball","title":"Desktop Basketball","compatibility":99,"releases":[{"id":"010019601144E000","region":null}]},{"id":"6ff8807f-9a2c-45d2-a1de-e287e106fe88","directory":"bus-fix-2019","title":"Bus Fix 2019","compatibility":99,"releases":[{"id":"0100F8300E864000","region":null}]},{"id":"6ffb12d6-8b4e-48a9-8194-f1fe6c9ee7b4","directory":"risk-system","title":"Risk System","compatibility":99,"releases":[{"id":"01007D90101F8000","region":null}]},{"id":"6fff9111-7b1e-4681-984b-ff5cda9f3537","directory":"demon-hunter-riddles-of-light","title":"Demon Hunter: Riddles of Light","compatibility":99,"releases":[{"id":"01002C5015EFE000","region":null}]},{"id":"7006d101-20c8-4d1f-8004-ac8936ad214a","directory":"glittering-sword","title":"Glittering Sword","compatibility":5,"releases":[{"id":"0100230013D0C000","region":null}]},{"id":"7007baec-bebc-4aed-b4f9-6d8798537c60","directory":"damaged-in-transit","title":"Damaged In Transit","compatibility":99,"releases":[{"id":"010059400E2FC000","region":null}]},{"id":"700ce8af-c941-4948-a17a-79ca03a14fbe","directory":"gods-remastered","title":"GODS Remastered","compatibility":1,"releases":[{"id":"0100BAA00AE16000","region":null}]},{"id":"701e5564-ccc2-420a-8bae-06c107388e28","directory":"blade-strangers","title":"Blade Strangers","compatibility":3,"releases":[{"id":"01005950022EC000","region":null}]},{"id":"70224e70-4d81-4fd9-8dc2-3c8629f4c01d","directory":"ohsir-the-insult-simulator","title":"Oh...Sir! The Insult Simulator","compatibility":99,"releases":[{"id":"0100782005A44000","region":null}]},{"id":"7023b0b2-b7ff-40fb-a312-f4c866768588","directory":"mad-tower-tycoon","title":"Mad Tower Tycoon","compatibility":99,"releases":[{"id":"0100C5F012A3C000","region":null}]},{"id":"702ad4ae-13b8-4e85-bc8d-f65cda2b065b","directory":"solitaire","title":"Solitaire","compatibility":99,"releases":[{"id":"0100A2E00B8EC000","region":null}]},{"id":"70347577-17b5-4d88-9798-c487b6aa7d48","directory":"halloween-jigsaw-puzzles-puzzle-game-for-kids-toddlers","title":"Halloween Jigsaw Puzzles - Puzzle Game for Kids & Toddlers","compatibility":99,"releases":[{"id":"01004C70167C8000","region":null}]},{"id":"703b20ff-7fcc-4ba9-8f9e-cf7b83acf9d1","directory":"torquel-physics-modified-edition-","title":"TorqueL -Physics Modified Edition-","compatibility":99,"releases":[{"id":"0100D0B0093D8000","region":null}]},{"id":"703ee114-36a5-41df-8bdf-f5a15696f76f","directory":"redout","title":"Redout","compatibility":0,"releases":[{"id":"0100DA20021D0000","region":null}]},{"id":"703f65f3-38e3-4224-9346-75ab2dff80f6","directory":"monster-loves-you","title":"Monster Loves You","compatibility":99,"releases":[{"id":"0100B7700BB7A000","region":null}]},{"id":"703ff038-ba87-48fb-986e-fa49fd2b65cb","directory":"chess","title":"Chess","compatibility":0,"releases":[{"id":"010088801200A000","region":null}]},{"id":"705c4c8d-f2fb-4cc5-a87b-44c60c6ebef8","directory":"marooners","title":"Marooners","compatibility":99,"releases":[{"id":"010044600FDF0000","region":null}]},{"id":"70635b97-151e-408c-b768-a3d7bd20385f","directory":"bug-academy","title":"Bug Academy","compatibility":99,"releases":[{"id":"01005CD011474000","region":null}]},{"id":"70642d4e-f357-49f9-a584-3c4c8835b428","directory":"spinch","title":"Spinch","compatibility":99,"releases":[{"id":"010076D0122A8000","region":null}]},{"id":"708aa1a3-c610-4049-92f2-b575b05dde4f","directory":"juicy-realm","title":"Juicy Realm","compatibility":99,"releases":[{"id":"0100C7600F654000","region":null}]},{"id":"708eca76-7bd9-48b6-b6a4-b1bc1f0c3204","directory":"bot-vinnik-chess","title":"BOT.vinnik Chess","compatibility":99,"releases":[{"id":"010018A01514E000","region":null}]},{"id":"709c3ffd-7d5f-48fe-9edb-78fd39d2ddeb","directory":"iconoclasts","title":"Iconoclasts","compatibility":1,"releases":[{"id":"0100BC60099FE000","region":null}]},{"id":"70a98fe8-7b4a-48a5-81d3-48366769f9c2","directory":"shadow-gangs","title":"Shadow Gangs","compatibility":4,"releases":[{"id":"0100BE501382A000","region":null}]},{"id":"70af6b2d-fe30-4086-be41-3e49e858eee7","directory":"halloween-snowball-bubble","title":"Halloween Snowball Bubble","compatibility":99,"releases":[{"id":"01007B6016018000","region":null}]},{"id":"70b453b5-33e9-4905-b943-878622b8c126","directory":"darkestville-castle","title":"Darkestville Castle","compatibility":99,"releases":[{"id":"0100184011918000","region":null}]},{"id":"70b5de1d-3c90-4b6b-bf9e-9b4d4dc650ed","directory":"aca-neogeo-waku-waku-7","title":"ACA NEOGEO WAKU WAKU 7","compatibility":4,"releases":[{"id":"0100CEF001DC0000","region":null}]},{"id":"70ba7a66-1827-4aa0-914a-0638f7da9103","directory":"legend-of-keepers-career-of-a-dungeon-manager","title":"Legend of Keepers: Career of a Dungeon Manager","compatibility":99,"releases":[{"id":"0100C67015076000","region":null}]},{"id":"70c9b9a6-6e19-421f-aef9-e80df58992dd","directory":"xenoblade-chronicles-definitive-edition","title":"Xenoblade Chroniclesâ„¢ Definitive Edition","compatibility":1,"releases":[{"id":"0100FF500E34A000","region":null}]},{"id":"70c9ff67-4432-4ac0-8566-2a3a1aaf4b90","directory":"9th-dawn-iii","title":"9th Dawn III","compatibility":0,"releases":[{"id":"0100DB00117BA000","region":null}]},{"id":"70d20390-c0f9-40b3-bd0f-7e427439719c","directory":"overlanders","title":"Overlanders","compatibility":3,"releases":[{"id":"0100D7F00EC64000","region":null}]},{"id":"70e094b8-71da-4905-a75e-79e98f56571e","directory":"piofiore-fated-memories","title":"Piofiore: Fated Memories","compatibility":0,"releases":[{"id":"01009240117A2000","region":null}]},{"id":"70eb9161-e6d7-4ea9-ab45-99c56223c7b2","directory":"alwas-awakening","title":"Alwa's Awakening","compatibility":0,"releases":[{"id":"01004C200B0B4000","region":null}]},{"id":"70f826d2-8739-4ffa-9c0a-1f801cd8a71f","directory":"quell-memento","title":"Quell Memento","compatibility":99,"releases":[{"id":"0100D1201183A000","region":null}]},{"id":"70fa2068-8a74-4841-b057-fe06480ccbad","directory":"baldurs-gate-and-baldurs-gate-ii-enhanced-editions","title":"Baldur's Gate and Baldur's Gate II: Enhanced Editions","compatibility":3,"releases":[{"id":"010010A00DA48000","region":null}]},{"id":"70fa39c5-b1c3-4a7f-875d-1ba019312465","directory":"curious-expedition","title":"Curious Expedition","compatibility":0,"releases":[{"id":"010079500E0DA000","region":null}]},{"id":"70fb815b-4052-4f36-9cff-b844d082cefe","directory":"orbitblazers","title":"Orbitblazers","compatibility":0,"releases":[{"id":"010061100FA8E000","region":null}]},{"id":"71156b37-b4ee-48d2-b464-5721b79d4914","directory":"timberman-vs-demo","title":"Timberman VS Demo","compatibility":99,"releases":[{"id":"010038400CADC000","region":null}]},{"id":"71172686-7fdb-4b2c-b76d-e3c75d5dd8f9","directory":"hocus-2","title":"hocus 2","compatibility":99,"releases":[{"id":"010068400EDF6000","region":null}]},{"id":"7131918d-3c04-44d7-bee4-8750f10f001e","directory":"aces-of-the-luftwaffe-squadron","title":"Aces of the Luftwaffe - Squadron","compatibility":1,"releases":[{"id":"0100B28003440000","region":null}]},{"id":"7131946c-014c-4d56-96e8-0a374a403bf4","directory":"clea-2","title":"Clea 2","compatibility":0,"releases":[{"id":"010045E0142A4000","region":null}]},{"id":"71399b17-d4ab-40e4-8689-f6873adb32ad","directory":"later-daters","title":"Later Daters","compatibility":99,"releases":[{"id":"01004EB00DACE000","region":null}]},{"id":"713b5660-6fb5-444e-a5bd-61e20053bb7e","directory":"adventure-llama","title":"Adventure Llama","compatibility":99,"releases":[{"id":"010014B0130F2000","region":null}]},{"id":"7143e845-d091-494f-9a88-fa814adf1e8e","directory":"singled-out","title":"Singled Out","compatibility":0,"releases":[{"id":"0100F10012002000","region":null}]},{"id":"716ab6d6-c9b4-4238-ba1e-e5e7861d502c","directory":"wintermoor-tactics-club","title":"Wintermoor Tactics Club","compatibility":99,"releases":[{"id":"0100C2000F468000","region":null}]},{"id":"717f967c-f1a5-49db-8d1a-72dddc30c703","directory":"shopping-mall-parking-lot","title":"Shopping Mall Parking Lot","compatibility":99,"releases":[{"id":"01008030155B4000","region":null}]},{"id":"7186282a-3109-4a11-99fc-cb8c2e676f99","directory":"chaos-on-deponia","title":"Chaos on Deponia","compatibility":3,"releases":[{"id":"01002C900C9AC000","region":null}]},{"id":"718da66c-88ce-48f3-9a6e-2d9c7d87c11c","directory":"detective-driver-miami-files","title":"Detective Driver: Miami Files","compatibility":99,"releases":[{"id":"01007CB0128B2000","region":null}]},{"id":"71a6a771-64ce-4d10-8cf0-0e7c03637b3f","directory":"super-pixel-racers","title":"Super Pixel Racers","compatibility":1,"releases":[{"id":"0100F5100E9DE000","region":null}]},{"id":"71ad58cb-ecd6-4b13-8d3a-da1f38002694","directory":"hextech-mayhem-a-league-of-legends-story","title":"Hextech Mayhem: A League of Legends Storyâ„¢","compatibility":99,"releases":[{"id":"01007A9015620000","region":null}]},{"id":"71bc3bfe-e29f-4528-8f8f-a0a6549c2cb1","directory":"clustertruck","title":"Clustertruck","compatibility":2,"releases":[{"id":"010096900A4D2000","region":null}]},{"id":"71bfecf6-144b-458a-a06f-d66b0073c961","directory":"lego-the-incredibles","title":"LEGO The Incredibles","compatibility":3,"releases":[{"id":"0100A01006E00000","region":null}]},{"id":"71c3ce5a-bf94-428b-9f22-03d5b94b4b06","directory":"trybit-logic","title":"TRYBIT LOGIC","compatibility":99,"releases":[{"id":"0100DFA00C6A6000","region":null}]},{"id":"71c46ca5-1f6e-4809-b315-0bf775c3540f","directory":"color-jumper","title":"Color Jumper","compatibility":99,"releases":[{"id":"01003BC00FBAA000","region":null}]},{"id":"71d0afb9-c594-4ffe-85ff-3885f544ee5e","directory":"egg-up","title":"Egg Up","compatibility":99,"releases":[{"id":"010046401595E000","region":null}]},{"id":"71f930b2-40f6-4932-b55c-2b85209553ad","directory":"one-dog-story","title":"One Dog Story","compatibility":1,"releases":[{"id":"01009C301061A000","region":null}]},{"id":"720c7dff-b4c5-456c-8ea3-7685b8737836","directory":"final-light-the-prison","title":"Final Light, The Prison","compatibility":99,"releases":[{"id":"01001BA00AE4E000","region":null}]},{"id":"721c78ff-e021-4a14-b2e8-7fde6672cb69","directory":"drift-zone-arcade","title":"Drift Zone Arcade","compatibility":99,"releases":[{"id":"0100C2200E0F2000","region":null}]},{"id":"722c041e-18f7-46a6-94bc-c34e87dfbf33","directory":"green-hell","title":"Green Hell","compatibility":99,"releases":[{"id":"0100453012FEA000","region":null}]},{"id":"72391b2d-9c88-4a59-a983-ac161cdd3b8e","directory":"battlezone-gold-edition","title":"Battlezone Gold Edition","compatibility":1,"releases":[{"id":"01006D800A988000","region":null}]},{"id":"7246dcea-f4bc-45c9-a50c-d961a5549642","directory":"super-sports-blast","title":"Super Sports Blast","compatibility":99,"releases":[{"id":"0100829013996000","region":null}]},{"id":"7251f728-059f-45db-a3a5-2fee498c3328","directory":"mary-skelter-2","title":"Mary Skelter 2","compatibility":1,"releases":[{"id":"01003DE00C95E000","region":null}]},{"id":"725567c4-7327-4857-98b2-9a6de7268ec3","directory":"slinki","title":"Slinki","compatibility":99,"releases":[{"id":"0100A4A0129BC000","region":null}]},{"id":"725cdf8f-655e-45b6-ac95-f1e6c55da279","directory":"mystik-belle-enchanted-edition","title":"Mystik Belle Enchanted Edition","compatibility":99,"releases":[{"id":"0100FFB015C6E000","region":null}]},{"id":"7260f944-3db0-439d-af8b-4d41a6f44ca4","directory":"immortal-redneck","title":"Immortal Redneck","compatibility":99,"releases":[{"id":"01000F400435A000","region":null}]},{"id":"72737cbf-156f-4890-9e1e-424401010985","directory":"sudoku-universe","title":"Sudoku Universe","compatibility":99,"releases":[{"id":"010093000CB62000","region":null}]},{"id":"7273c7e5-a325-477d-9232-b03526d5fcb4","directory":"blastful","title":"Blastful","compatibility":99,"releases":[{"id":"0100FFD0142D4000","region":null}]},{"id":"72749247-6f6c-4fec-87a5-8ce1dbb2c05c","directory":"hexagroove-tactical-dj","title":"Hexagroove: Tactical DJ","compatibility":99,"releases":[{"id":"010015500E9C0000","region":null}]},{"id":"7276ca87-87ff-4ee6-8533-f5e84febc9df","directory":"aca-neogeo-king-of-the-monsters-2","title":"ACA NEOGEO KING OF THE MONSTERS 2","compatibility":99,"releases":[{"id":"010029D00AFD0000","region":null}]},{"id":"7277111d-fafa-4ec7-aa1f-ce4b65c63fde","directory":"scrap","title":"Scrap","compatibility":99,"releases":[{"id":"0100BB200E9BA000","region":null}]},{"id":"727877b9-a38a-44f6-9a13-fbe75813467c","directory":"leisure-suit-larry-wet-dreams-dry-twice","title":"Leisure Suit Larry - Wet Dreams Dry Twice","compatibility":99,"releases":[{"id":"010031A0135CA000","region":null}]},{"id":"727fa0d1-eae4-4395-b2df-ddd80b67b4ff","directory":"tony-hawks-pro-skater-1-2","title":"Tony Hawk'sâ„¢ Pro Skaterâ„¢ 1 + 2","compatibility":1,"releases":[{"id":"0100CC00102B4000","region":null}]},{"id":"72920cf4-6e8d-4b1e-9e8e-2b16412f977f","directory":"sublevel-zero-redux","title":"Sublevel Zero Redux","compatibility":99,"releases":[{"id":"0100E6400BCE8000","region":null}]},{"id":"729306f6-1c43-4455-b8ec-cf7c9d4b5e0d","directory":"arcade-archives-super-cobra","title":"Arcade Archives SUPER COBRA","compatibility":99,"releases":[{"id":"0100929013172000","region":null}]},{"id":"729416c8-1b04-4562-a29c-c0b9b6c1973d","directory":"mountain-rescue-simulator","title":"Mountain Rescue Simulator","compatibility":99,"releases":[{"id":"01009DB00D6E0000","region":null}]},{"id":"72a90cd4-0e1c-4c4b-91f9-2f9dc0820bf9","directory":"retrovamp","title":"Retrovamp","compatibility":99,"releases":[{"id":"01000F10123E2000","region":null}]},{"id":"72a9fe91-6479-49ce-96bc-f0daab90943a","directory":"gates-of-hell","title":"Gates Of Hell","compatibility":99,"releases":[{"id":"0100EA001069E000","region":null}]},{"id":"72ad8ded-448e-4ca1-9396-c439752099e3","directory":"dragon-question","title":"Dragon Question","compatibility":99,"releases":[{"id":"010098E0148D6000","region":null}]},{"id":"72b1b493-e157-4874-b58e-f0e469e157f3","directory":"fred3ric","title":"Fred3ric","compatibility":99,"releases":[{"id":"0100AC40108D8000","region":null}]},{"id":"72c5c41f-c7ec-4f25-a372-c5004d62c663","directory":"alien-cruise","title":"Alien Cruise","compatibility":99,"releases":[{"id":"0100A2E00D0E0000","region":null}]},{"id":"72cf715d-27b6-47eb-8dfb-db6db940b70d","directory":"melty-blood-type-lumina-deluxe-edition","title":"MELTY BLOOD: TYPE LUMINA - Deluxe Edition","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"72d305b0-85ec-45d0-ab91-82d084ebb81a","directory":"shu","title":"Shu","compatibility":1,"releases":[{"id":"01001DE0076A4000","region":null}]},{"id":"72e995ae-f1dd-46cb-80b5-9ad683ec1825","directory":"azkend-2-the-world-beneath","title":"Azkend 2: The World Beneath","compatibility":4,"releases":[{"id":"0100EB800868C000","region":null}]},{"id":"72f32d02-3709-4612-8083-d4e39fe0674e","directory":"guitar","title":"Guitar","compatibility":1,"releases":[{"id":"0100A2D00EFBE000","region":null}]},{"id":"72fa9b4c-29b1-454e-a9ca-e29e13605f4e","directory":"vampire-the-masquerade-coteries-of-new-york","title":"Vampire: The Masquerade - Coteries of New York","compatibility":99,"releases":[{"id":"010020C00FFB6000","region":null}]},{"id":"73010328-f9dd-424b-b281-2d58b8344aef","directory":"pokemon-cafe-mix","title":"Pokémon Café Mix","compatibility":3,"releases":[{"id":"010072400E04A000","region":null}]},{"id":"7302a1c3-23d3-4a29-8845-d842958b6bd1","directory":"luxar","title":"Luxar","compatibility":99,"releases":[{"id":"0100EC2011A80000","region":null}]},{"id":"73069258-2d70-4cc6-b6d3-838bbe0e99f5","directory":"bibi-blocksberg-big-broom-race-3","title":"Bibi Blocksberg – Big Broom Race 3","compatibility":99,"releases":[{"id":"01005FF00AF36000","region":null}]},{"id":"730caa81-5c1b-4fbc-aa83-ae8085d23863","directory":"gunman-clive-hd-collection","title":"Gunman Clive HD Collection","compatibility":2,"releases":[{"id":"010061000D318000","region":null}]},{"id":"73200036-b9fb-4533-9204-38fe95d14a42","directory":"overland","title":"Overland","compatibility":99,"releases":[{"id":"01000D200C180000","region":null}]},{"id":"732b640c-e529-473a-ac25-308194a5b578","directory":"shantae-half-genie-hero-ultimate-edition","title":"Shantae: Half- Genie Hero Ultimate Edition","compatibility":1,"releases":[{"id":"01006A200936C000","region":null}]},{"id":"7348c891-e19e-42d0-acfd-6ef1c261ed51","directory":"brigandine-the-legend-of-runersia","title":"BRIGANDINE The Legend of Runersia","compatibility":1,"releases":[{"id":"010011000EA7A000","region":null}]},{"id":"7357c282-dbef-413e-929e-64afda2ac984","directory":"jigsaw-solace","title":"JigSaw Solace","compatibility":99,"releases":[{"id":"01009AF0101CC000","region":null}]},{"id":"736ca318-2d17-44fd-b481-502a1e6cd849","directory":"the-original-mobile-games","title":"The Original Mobile Games","compatibility":99,"releases":[{"id":"010085E00C886000","region":null}]},{"id":"73769c70-22b1-4cd4-a98a-88e66c7b3a46","directory":"highschool-romance","title":"Highschool Romance","compatibility":99,"releases":[{"id":"0100944015F78000","region":null}]},{"id":"7379cabc-b4fb-43ba-93cb-db6f2e360665","directory":"pankapu","title":"Pankapu","compatibility":1,"releases":[{"id":"0100635006C32000","region":null}]},{"id":"7381311c-b57c-4a36-b8ae-ab51f31ea72e","directory":"xmas-super-puzzles-dream","title":"#Xmas, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100D79013828000","region":null}]},{"id":"7386167e-a488-4c07-8c8b-be873114f725","directory":"asdivine-saga","title":"Asdivine Saga","compatibility":99,"releases":[{"id":"0100B7F015BF2000","region":null}]},{"id":"73887c90-61fb-4259-b370-faf91a0fe8e4","directory":"birthday-of-midnight","title":"Birthday of Midnight","compatibility":99,"releases":[{"id":"01009B0012888000","region":null}]},{"id":"7389350d-9afc-4de0-b400-2941ebf2ee4d","directory":"asdivine-dios","title":"Asdivine Dios","compatibility":5,"releases":[{"id":"010054B00D4A2000","region":null}]},{"id":"73898488-0e04-4647-bc91-9c13ecdc1d38","directory":"galactic-trooper-armada","title":"Galactic Trooper Armada","compatibility":99,"releases":[{"id":"01005F3013E16000","region":null}]},{"id":"7392cfe9-a732-4fdb-bd4e-987ca4d1eb6a","directory":"vertical-strike-endless-challenge","title":"VERTICAL STRIKE ENDLESS CHALLENGE","compatibility":99,"releases":[{"id":"0100CA6009888000","region":null}]},{"id":"739bc33a-8fbc-48ce-a897-6c05706a6e37","directory":"korg-gadget-for-nintendo-switch","title":"KORG Gadget for Nintendo Switch","compatibility":4,"releases":[{"id":"0100EC8004762000","region":null}]},{"id":"739f80aa-7fda-4ee2-a3df-47bff3e2decc","directory":"infestor","title":"Infestor","compatibility":99,"releases":[{"id":"010018A012822000","region":null}]},{"id":"73a84984-4416-4290-9895-efa0b84f7b4b","directory":"bakugan-champions-of-vestroia","title":"Bakugan: Champions of Vestroia","compatibility":1,"releases":[{"id":"0100730011BDC000","region":null}]},{"id":"73dc59f9-fc9e-479d-b056-8dfd5dce126a","directory":"digerati-presents-make-it-quick-bundle-vol-1","title":"Digerati Presents: Make It Quick Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100ABD012EF8000","region":null}]},{"id":"73e343f5-8f9e-4d6e-a29c-dccfdfeba503","directory":"flatland-vol-2","title":"FLATLAND Vol. 2","compatibility":99,"releases":[{"id":"01005F50155BE000","region":null}]},{"id":"73ebb799-c7e6-4ee8-a009-88d87585031f","directory":"tennis-open-2020","title":"Tennis Open 2020","compatibility":99,"releases":[{"id":"0100459011750000","region":null}]},{"id":"73f04c30-8424-4665-b06b-1808adf764a7","directory":"vostok-inc","title":"Vostok Inc.","compatibility":99,"releases":[{"id":"01004D8007368000","region":null}]},{"id":"73f2bf11-8fdc-4d81-8b53-38cac6563540","directory":"rip-them-off","title":"Rip Them Off","compatibility":99,"releases":[{"id":"01004BF013BA0000","region":null}]},{"id":"73f5db74-b5d1-4913-93ab-58b4b9198819","directory":"ember","title":"Ember","compatibility":99,"releases":[{"id":"010041A00FEC6000","region":null}]},{"id":"740d88f3-1181-4429-958d-d03ebdd2cc6d","directory":"arcane-arts-academy","title":"Arcane Arts Academy","compatibility":99,"releases":[{"id":"0100D50014AC4000","region":null}]},{"id":"7413f695-7eb0-46cd-94e7-50f024f835ad","directory":"lone-mclonegan-a-western-adventure","title":"Lone McLonegan : A Western Adventure","compatibility":99,"releases":[{"id":"0100939015968000","region":null}]},{"id":"7423b750-a4af-4e2d-bd70-d4ba1838075a","directory":"invisiballs","title":"Invisiballs","compatibility":99,"releases":[{"id":"0100E03009DB8000","region":null}]},{"id":"742a3fc4-8014-405e-8eb4-fe60d83e7348","directory":"life-is-strange-true-colors","title":"Life is Strange: True Colorsâ„¢","compatibility":3,"releases":[{"id":"0100500012AB4000","region":null}]},{"id":"7439163d-cf3d-41b4-8b25-3fd99721bad0","directory":"angerforce-reloaded-for-nintendo-switch","title":"AngerForce: Reloaded for Nintendo Switch","compatibility":2,"releases":[{"id":"010001E00A5F6000","region":null}]},{"id":"744a4f76-164e-41b1-9467-73e488c4afe4","directory":"fractured-minds","title":"Fractured Minds","compatibility":99,"releases":[{"id":"01004200099F2000","region":null}]},{"id":"744aa82b-c217-4e07-b832-b98a82ec1580","directory":"hunter-shooting-camp","title":"Hunter Shooting Camp","compatibility":99,"releases":[{"id":"0100A2A01586C000","region":null}]},{"id":"744ed22c-52b2-406c-ae16-5d414277f277","directory":"scrap-garden","title":"Scrap Garden","compatibility":99,"releases":[{"id":"01003DF01568C000","region":null}]},{"id":"745f4d59-d1a3-49e1-bdc8-df2902519d92","directory":"disgaea-6-defiance-of-destiny","title":"Disgaea 6: Defiance of Destiny","compatibility":1,"releases":[{"id":"0100ABC013136000","region":null}]},{"id":"7473dd3b-e875-42a1-8cb9-7f04ae487135","directory":"pixel-game-maker-series-block-slime-cave","title":"Pixel Game Maker Series BLOCK SLIME CAVE","compatibility":99,"releases":[{"id":"0100CCA015740000","region":null}]},{"id":"74874e29-f28c-4450-bd8f-67cff475b03e","directory":"super-dragon-ball-heroes-world-mission-launch-edition","title":"SUPER DRAGON BALL HEROES WORLD MISSION - Launch Edition","compatibility":2,"releases":[{"id":"0100E5E00C464000","region":null}]},{"id":"748dc47d-b385-4a27-8f2e-2dbeb45d3e3c","directory":"ben-10","title":"Ben 10","compatibility":3,"releases":[{"id":"01006E1004404000","region":null}]},{"id":"74943d84-e44a-44d2-bdc9-4055b527a98d","directory":"totally-reliable-delivery-service","title":"Totally Reliable Delivery Service","compatibility":2,"releases":[{"id":"0100512010728000","region":null}]},{"id":"74b1bd91-0975-4b90-8571-ed385205eebe","directory":"lost-lands-ice-spell","title":"Lost Lands: Ice Spell","compatibility":99,"releases":[{"id":"01000030151B0000","region":null}]},{"id":"74dd7f60-2294-456d-8a3c-2a301c6ace2d","directory":"1-sudokus","title":"#1 Sudokus","compatibility":99,"releases":[{"id":"0100CDD016BB0000","region":null}]},{"id":"74dec9aa-5833-48b3-aec6-40cacaefffab","directory":"streets-of-rogue","title":"Streets of Rogue","compatibility":0,"releases":[{"id":"01008CD00C222000","region":null}]},{"id":"74ed300f-e911-42d6-9bb4-d7b96edac4c3","directory":"stick-fight-the-game","title":"Stick Fight: The Game","compatibility":99,"releases":[{"id":"0100622009FB0000","region":null}]},{"id":"74edd582-105f-4276-a24f-a7a26cee6b9d","directory":"sinner-sacrifice-for-redemption","title":"SINNER: Sacrifice for Redemption","compatibility":99,"releases":[{"id":"0100B16009C10000","region":null}]},{"id":"74f63fe8-dc49-4148-8f3f-39e01a837c6a","directory":"barbarous-tavern-of-emyr","title":"Barbarous: Tavern of Emyr","compatibility":3,"releases":[{"id":"01003350102E2000","region":null}]},{"id":"74f9d0be-7e99-494d-a877-bc5b5d84bf47","directory":"johnny-turbos-arcade-super-real-darwin","title":"Johnny Turbo's Arcade: Super Real Darwin","compatibility":99,"releases":[{"id":"0100039002CCC000","region":null}]},{"id":"75142432-cbca-4900-8a50-3128e1f4f380","directory":"minoria","title":"Minoria","compatibility":2,"releases":[{"id":"0100FAE010864000","region":null}]},{"id":"752456af-4e23-4730-9960-b58c1e1d1573","directory":"sling-ming","title":"Sling Ming","compatibility":99,"releases":[{"id":"01000F1008C92000","region":null}]},{"id":"752df41f-4c9b-43d5-b536-ad5dd7e51a37","directory":"demons-crystals","title":"Demon's Crystals","compatibility":99,"releases":[{"id":"0100A2B00BD88000","region":null}]},{"id":"7532088c-8fef-4ca9-ae10-a501483cfc27","directory":"rwby-grimm-eclipse-definitive-edition","title":"RWBY: Grimm Eclipse - Definitive Edition","compatibility":2,"releases":[{"id":"0100E21013908000","region":null}]},{"id":"7534c23f-9f37-4909-901b-82676f6fb2f3","directory":"ghost-sweeper","title":"Ghost Sweeper","compatibility":99,"releases":[{"id":"01004B301108C000","region":null}]},{"id":"753bf546-bb22-4174-a56a-df7573426efe","directory":"planescape-torment-and-icewind-dale-enhanced-editions","title":"Planescape: Torment and Icewind Dale: Enhanced Editions","compatibility":4,"releases":[{"id":"010030B00C316000","region":null}]},{"id":"753e39b1-2895-459b-a9d0-c05662ca2f1b","directory":"stardust-galaxy-warriors-stellar-climax","title":"Stardust Galaxy Warriors: Stellar Climax","compatibility":0,"releases":[{"id":"01001B600BC32000","region":null}]},{"id":"7558134f-3f38-4f92-8fa3-5d9140e1ca47","directory":"ziggy-the-chaser","title":"Ziggy the Chaser","compatibility":99,"releases":[{"id":"0100D7B013DD0000","region":null}]},{"id":"7558cdee-eff9-4222-aff1-55cad928a9f5","directory":"metal-slug-1st-2nd-mission-double-pack","title":"\"METAL SLUG 1st & 2nd MISSION\" Double Pack","compatibility":1,"releases":[{"id":"0100F2B012E62000","region":null}]},{"id":"7559c776-15a9-4713-9c8b-a7e8ef45c40d","directory":"dead-z-meat","title":"Dead Z Meat","compatibility":99,"releases":[{"id":"0100A24011F52000","region":null}]},{"id":"755f4749-1280-4858-98f4-b5ff3078f743","directory":"spirit-arena","title":"Spirit Arena","compatibility":99,"releases":[{"id":"010001B01398C000","region":null}]},{"id":"7569633a-bc6f-485e-8354-066f46b42d2d","directory":"foreclosed","title":"FORECLOSED","compatibility":0,"releases":[{"id":"0100AE001256E000","region":null}]},{"id":"756b2b3c-5e86-4e9c-b79f-bc993fdbbfca","directory":"the-long-reach","title":"The Long Reach","compatibility":4,"releases":[{"id":"010052B003A38000","region":null}]},{"id":"75801358-1334-4b88-b185-b514ed924734","directory":"reason-casual-puzzle","title":"Reason - Casual Puzzle","compatibility":99,"releases":[{"id":"01003AD011E36000","region":null}]},{"id":"759ce230-d96b-4b79-bf6f-9cebd0dd4a43","directory":"bob-help-them","title":"Bob Help Them","compatibility":99,"releases":[{"id":"010081E013F1E000","region":null}]},{"id":"759ef931-54e9-48b2-acb4-1a18c770e061","directory":"unblock-brick","title":"Unblock Brick","compatibility":99,"releases":[{"id":"0100BAD01452C000","region":null}]},{"id":"759f1734-93c1-4193-aebf-3c84ffcd6736","directory":"dogurai","title":"Dogurai","compatibility":0,"releases":[{"id":"010077B0100DA000","region":null}]},{"id":"75a04e0a-ade1-459d-a755-81aa6bb39005","directory":"strike-daz-cans","title":"Strike Daz Cans","compatibility":99,"releases":[{"id":"0100A4B015380000","region":null}]},{"id":"75b841a1-ca83-4d28-a9ec-aa6e053aa4f9","directory":"dirt-bike-insanity","title":"Dirt Bike Insanity","compatibility":99,"releases":[{"id":"0100A8A013DA4000","region":null}]},{"id":"75b8f699-3d33-4fdb-8983-ed92e4cfbae3","directory":"dangerous-relationship","title":"Dangerous Relationship","compatibility":99,"releases":[{"id":"01008680118BA000","region":null}]},{"id":"75bd253c-c94d-4f73-b68d-05139e69bc13","directory":"instant-sports-tennis","title":"INSTANT SPORTS TENNIS","compatibility":99,"releases":[{"id":"010031B0145B8000","region":null}]},{"id":"75bd92b3-3816-460a-a492-8a346f66820b","directory":"resident-evil-6","title":"Resident Evil 6","compatibility":0,"releases":[{"id":"01002A000CD48000","region":null}]},{"id":"75bf33ab-afb1-4499-84f8-7e4f816cba8c","directory":"autobahn-polizei-simulator-2-nintendo-switch-edition","title":"Autobahn Polizei Simulator 2 - Nintendo Switchâ„¢ Edition","compatibility":99,"releases":[{"id":"0100913015928000","region":null}]},{"id":"75cda4dc-e3ad-492d-a308-9ae3b15f7953","directory":"cant-drive-this","title":"Can't Drive This","compatibility":1,"releases":[{"id":"0100593008BDC000","region":null}]},{"id":"75da3ba1-2a31-4edb-9942-96834c94df6e","directory":"conglomerate-451-overloaded","title":"Conglomerate 451: Overloaded","compatibility":99,"releases":[{"id":"01008DE0121F4000","region":null}]},{"id":"75dcfc0e-043d-484c-9a66-17983a74095e","directory":"swords-souls-neverseen","title":"Swords & Souls: Neverseen","compatibility":99,"releases":[{"id":"01006B0014CAA000","region":null}]},{"id":"76092898-2eb3-4274-bd9c-35aac4cd5154","directory":"my-friend-peppa-pig","title":"My Friend Peppa Pig","compatibility":1,"releases":[{"id":"01008C9014694000","region":null}]},{"id":"760e2db6-c6a7-4476-9ff6-d2f742dd5b04","directory":"cubicity","title":"Cubicity","compatibility":3,"releases":[{"id":"010040D011D04000","region":null}]},{"id":"7612c37d-7359-4396-aa28-ab190ed1eaa1","directory":"fight","title":"Fight","compatibility":99,"releases":[{"id":"0100995013404000","region":null}]},{"id":"761c6381-c513-4f51-94c3-30e479203806","directory":"sea-king-hunter","title":"Sea King Hunter","compatibility":1,"releases":[{"id":"0100B0C00EBB2000","region":null}]},{"id":"762014e4-38da-485c-b58f-7e3128a8bacf","directory":"inkypen","title":"InkyPen","compatibility":99,"releases":[{"id":"01003A200BD8A000","region":null}]},{"id":"76209785-8504-49fc-9513-f68169ab461d","directory":"toki","title":"Toki","compatibility":1,"releases":[{"id":"0100F3400A432000","region":null}]},{"id":"76257989-c8b7-429c-bb9d-5528e6330ebe","directory":"space-moth-lunar-edition","title":"Space Moth Lunar Edition","compatibility":1,"releases":[{"id":"01005B6015B9E000","region":null}]},{"id":"762bff2b-b6b2-41c0-a317-6e293495b25d","directory":"shovel-knight-shovel-of-hope","title":"Shovel Knight: Shovel of Hope","compatibility":0,"releases":[{"id":"01002D2011850000","region":null}]},{"id":"76384cec-eb70-4209-9c14-a3fe8a6d5982","directory":"godly-corp","title":"Godly Corp","compatibility":1,"releases":[{"id":"010014900D744000","region":null}]},{"id":"76390df2-a963-4b91-a58e-862bb64a4453","directory":"olympia-soiree","title":"Olympia Soirée","compatibility":0,"releases":[{"id":"0100A910143B2000","region":null}]},{"id":"763f1616-a3b6-445d-8ef0-274f68bfe49a","directory":"gotcha-racing-2nd","title":"Gotcha Racing 2nd","compatibility":99,"releases":[{"id":"0100E8D007E16000","region":null}]},{"id":"76417c73-8eb3-4c6d-bac9-e78534ac8d0c","directory":"sega-ages-herzog-zwei","title":"SEGA AGES Herzog Zwei","compatibility":0,"releases":[{"id":"010029900E314000","region":null}]},{"id":"7648c956-fa19-446b-9110-8e5dfba765c3","directory":"hampuzz","title":"Hampuzz","compatibility":99,"releases":[{"id":"0100D85016326000","region":null}]},{"id":"764e2202-0410-4276-9a35-f868ad141920","directory":"puyo-puyo-champions","title":"Puyo Puyo Champions","compatibility":0,"releases":[{"id":"0100AAE00CAB4000","region":null}]},{"id":"765e1ce1-9cd1-45de-a01f-4f9b5f30a15f","directory":"marble-it-up","title":"Marble It Up!","compatibility":2,"releases":[{"id":"0100B5B00693E000","region":null}]},{"id":"76681c81-06e3-477b-a11d-996711fe228d","directory":"oceanhorn-monster-of-uncharted-seas-demo","title":"Oceanhorn - Monster of Uncharted Seas Demo","compatibility":99,"releases":[{"id":"010090B005150000","region":null}]},{"id":"7670f760-7061-4ff6-81e0-5dd3e21372cd","directory":"the-touryst","title":"The Touryst","compatibility":4,"releases":[{"id":"0100C3300D8C4000","region":null}]},{"id":"76740756-f256-4108-ac3e-45ca087adc9c","directory":"lost-lands-mistakes-of-the-past","title":"Lost Lands: Mistakes of the Past","compatibility":99,"releases":[{"id":"01002EE0151C0000","region":null}]},{"id":"7676fcfc-de5f-432d-aab5-06e2a7adb750","directory":"city-of-brass","title":"City of Brass","compatibility":1,"releases":[{"id":"01009BC00B872000","region":null}]},{"id":"767e0369-1265-4b6d-bce7-42e34958fb36","directory":"1979-revolution-black-friday","title":"1979 Revolution: Black Friday","compatibility":1,"releases":[{"id":"0100D1000B18C000","region":null}]},{"id":"768e1e75-dd26-48cd-8639-839371b6b695","directory":"death-squared","title":"Death Squared","compatibility":1,"releases":[{"id":"010085900337E000","region":null}]},{"id":"769b4832-3088-4630-9098-f1c0d7e5c524","directory":"ikenfell","title":"Ikenfell","compatibility":99,"releases":[{"id":"010040900AF46000","region":null}]},{"id":"769cc6f8-fafb-404f-ac74-b8439a362fe8","directory":"mist-hunter","title":"Mist Hunter","compatibility":99,"releases":[{"id":"010059200CC40000","region":null}]},{"id":"769f428f-c1db-43b3-8cca-8cabae016447","directory":"dungeontop","title":"DungeonTop","compatibility":99,"releases":[{"id":"01004A0013790000","region":null}]},{"id":"76a5b0ce-c628-4911-a118-8d9d06537a94","directory":"murder-house","title":"Murder House","compatibility":99,"releases":[{"id":"010032C015DA0000","region":null}]},{"id":"76b0c1c1-a7ca-4f91-aa77-673bd1ecd0cd","directory":"a-sound-plan","title":"A Sound Plan","compatibility":99,"releases":[{"id":"0100F0901006C000","region":null}]},{"id":"76b643b0-4f6c-4d2e-9305-3d1b082f525f","directory":"shadow-corridor","title":"Shadow Corridor","compatibility":99,"releases":[{"id":"010015C015712000","region":null}]},{"id":"76bd4938-9cb2-41ce-8ae8-d7cfa3cbcc25","directory":"tokyo-dark-remembrance","title":"Tokyo Dark – Remembrance –","compatibility":4,"releases":[{"id":"01003E500F962000","region":null}]},{"id":"76c421dc-02a1-4ec8-b154-79ef917b9e70","directory":"toy-stunt-bike-tiptops-trials-demo","title":"Toy Stunt Bike: Tiptop's Trials (Demo)","compatibility":99,"releases":[{"id":"010072800B1FC000","region":null}]},{"id":"7717b340-8ed0-4134-9e04-b451b7990678","directory":"crimzon-clover-world-explosion","title":"Crimzon Clover - World EXplosion","compatibility":0,"releases":[{"id":"01006B800DE26000","region":null}]},{"id":"77244957-f72b-481d-9e71-bf39cccf0dea","directory":"dodonpachi-resurrection","title":"DoDonPachi Resurrection","compatibility":1,"releases":[{"id":"01005A001489A000","region":null}]},{"id":"7730c9bd-1b1e-4fc1-a5a6-4e8513574242","directory":"circuit-dude","title":"Circuit Dude","compatibility":99,"releases":[{"id":"0100BE7010610000","region":null}]},{"id":"7732c621-2a22-4691-9517-3cf8b67a6655","directory":"monster-jam-steel-titans","title":"Monster Jam Steel Titans","compatibility":99,"releases":[{"id":"010095C00F354000","region":null}]},{"id":"77411f44-ab66-4eb8-aecf-56b8a4509c29","directory":"pop-the-bubbles","title":"Pop the Bubbles","compatibility":99,"releases":[{"id":"0100068011DB0000","region":null}]},{"id":"774875ce-2ec3-4fcd-8a09-964c9f22147f","directory":"wish-travel-super-puzzles-dream","title":"#Wish travel, Super Puzzles Dream","compatibility":99,"releases":[{"id":"01007A20150A0000","region":null}]},{"id":"775a45a7-199b-4168-8de2-f57352e1358c","directory":"total-arcade-racing","title":"Total Arcade Racing","compatibility":1,"releases":[{"id":"0100A64010D48000","region":null}]},{"id":"776ecff7-d178-4253-ba95-7941fe1b911b","directory":"lust-for-darkness-dawn-edition","title":"Lust for Darkness: Dawn Edition","compatibility":99,"releases":[{"id":"0100F0B00F68E000","region":null}]},{"id":"7787fe67-634f-4d04-aadc-5319b9a704fe","directory":"night-in-the-woods","title":"Night in the Woods","compatibility":1,"releases":[{"id":"0100921006A04000","region":null}]},{"id":"7794b06c-8591-4359-a5e7-5a8a361bbda2","directory":"iris-school-of-wizardry-vinculum-hearts-","title":"Iris School of Wizardry -Vinculum Hearts-","compatibility":2,"releases":[{"id":"0100AD300B786000","region":null}]},{"id":"779f6883-9021-4c1e-b944-98926ed11124","directory":"steredenn-binary-stars","title":"Steredenn: Binary Stars","compatibility":0,"releases":[{"id":"0100775004794000","region":null}]},{"id":"77a55641-4fc8-4a78-b4df-732d31c6bbb8","directory":"new-york-mysteries-secrets-of-the-mafia","title":"New York Mysteries: Secrets of the Mafia","compatibility":99,"releases":[{"id":"01001250157C2000","region":null}]},{"id":"77ab0417-54c9-4838-a542-98dd7527f4c4","directory":"colsword","title":"Colsword","compatibility":99,"releases":[{"id":"0100D730161DA000","region":null}]},{"id":"77b1715d-0404-4589-b4a7-33f7d55f72c3","directory":"mega-man-x-legacy-collection","title":"Mega Man X Legacy Collection","compatibility":2,"releases":[{"id":"01005C60086BE000","region":null}]},{"id":"77b341b8-999d-4012-a49c-5ca62d14debf","directory":"junk-jack","title":"Junk Jack","compatibility":99,"releases":[{"id":"010043901005A000","region":null}]},{"id":"77b92a0d-df96-4736-a2ff-1ea0583f12d8","directory":"rush-rally-3","title":"Rush Rally 3","compatibility":3,"releases":[{"id":"010020900E7A8000","region":null}]},{"id":"77b98eb0-21ab-42f4-858f-05b76a620c49","directory":"let-it-roll-slide-puzzle","title":"Let it roll slide puzzle","compatibility":99,"releases":[{"id":"0100421014FBE000","region":null}]},{"id":"77ce575a-4220-4bef-8c4f-5d115db7e332","directory":"arcade-archives-alpine-ski","title":"Arcade Archives ALPINE SKI","compatibility":4,"releases":[{"id":"010083800DC70000","region":null}]},{"id":"77d41423-3200-46aa-9c1d-561d0782e436","directory":"rez-plz","title":"REZ PLZ","compatibility":2,"releases":[{"id":"010071D00F156000","region":null}]},{"id":"77de47d9-7e86-47c6-bb8d-dda64fc951ae","directory":"sheep-patrol","title":"Sheep Patrol","compatibility":99,"releases":[{"id":"0100A7D010524000","region":null}]},{"id":"77df7f5a-627a-4581-912c-d3af715cf615","directory":"feathery-ears","title":"Feathery Ears","compatibility":2,"releases":[{"id":"01006C3011C56000","region":null}]},{"id":"77e513b9-623d-48bf-b881-7e84fd03e74f","directory":"mega-mall-story-2","title":"Mega Mall Story 2","compatibility":99,"releases":[{"id":"010030200EC42000","region":null}]},{"id":"7808823b-b8d5-4e89-8d24-4ff2e0f9e682","directory":"active-neurons-3-wonders-of-the-world","title":"Active Neurons 3 - Wonders Of The World","compatibility":99,"releases":[{"id":"0100EE1013E12000","region":null}]},{"id":"780ff123-c929-486d-86dd-22f6d766ca39","directory":"boreal-blade","title":"Boreal Blade","compatibility":99,"releases":[{"id":"01008E500AFF6000","region":null}]},{"id":"7819e854-2280-47e5-bf25-620907789edd","directory":"water-balloon-mania","title":"Water Balloon Mania","compatibility":99,"releases":[{"id":"0100B79011F06000","region":null}]},{"id":"78249993-6324-43df-a6bd-a0b516905adb","directory":"farming-simulator-20","title":"Farming Simulator 20","compatibility":1,"releases":[{"id":"0100EB600E914000","region":null}]},{"id":"7826735e-c7ad-4401-aa29-a768a9ceef5c","directory":"evolution-board-game","title":"Evolution Board Game","compatibility":4,"releases":[{"id":"01006A800FA22000","region":null}]},{"id":"78293f3d-0f3b-4842-bc81-f452ef66a8f5","directory":"rocket-wars","title":"Rocket Wars","compatibility":99,"releases":[{"id":"0100E88009A34000","region":null}]},{"id":"7829c948-e841-4290-a9bc-d6702079f554","directory":"leisure-suit-larry-wet-dreams-dont-dry","title":"Leisure Suit Larry - Wet Dreams Don't Dry","compatibility":0,"releases":[{"id":"0100A8E00CAA0000","region":null}]},{"id":"782c75b9-2d3c-4c02-b59b-3423cc765718","directory":"atelier-ryza-ever-darkness-and-the-secret-hideout","title":"Atelier Ryza: Ever Darkness & the Secret Hideout","compatibility":2,"releases":[{"id":"0100D1900EC80000","region":null}]},{"id":"78311ddd-51d1-440d-a471-8626d18aa61d","directory":"foodtruck-arena","title":"Foodtruck Arena","compatibility":99,"releases":[{"id":"010043E01476A000","region":null}]},{"id":"7836a044-af78-4ec8-a2af-6f00823ed351","directory":"football-drama","title":"Football Drama","compatibility":99,"releases":[{"id":"01003C101481E000","region":null}]},{"id":"78378c79-8a15-49aa-9cab-c7ec02aff40c","directory":"endless-fables-shadow-within","title":"Endless Fables: Shadow Within","compatibility":99,"releases":[{"id":"0100117015AE4000","region":null}]},{"id":"783af029-e5e9-415f-97c1-f4ff06aa07b9","directory":"adrenaline-rush-miami-drive","title":"Adrenaline Rush - Miami Drive","compatibility":99,"releases":[{"id":"010029700EB76000","region":null}]},{"id":"7841e683-3274-4a36-b329-3bb0381317aa","directory":"jigsaw-masterpieces-ex-kawaii-cute-goddesses","title":"Jigsaw Masterpieces EX - Kawaii Cute Goddesses -","compatibility":99,"releases":[{"id":"0100FEF015F74000","region":null}]},{"id":"786ef356-e8e0-4603-98ef-cd5aa397d282","directory":"night-call","title":"Night Call","compatibility":99,"releases":[{"id":"0100F3A0095A6000","region":null}]},{"id":"787fe3e4-0526-4926-9723-335b00ed08ce","directory":"retro-classix-2-in-1-pack-gate-of-doom-wizard-fire","title":"Retro Classix 2-in-1 Pack: Gate of Doom & Wizard Fire","compatibility":99,"releases":[{"id":"0100F38012182000","region":null}]},{"id":"788342f2-d87d-4530-bc5b-c70264f5f5ae","directory":"voxel-shot-for-nintendo-switch","title":"Voxel Shot for Nintendo Switch","compatibility":99,"releases":[{"id":"01003A300B5F8000","region":null}]},{"id":"788bf697-b983-469e-ad2a-5fa3434540fd","directory":"zumatch","title":"Zumatch","compatibility":99,"releases":[{"id":"0100203014E78000","region":null}]},{"id":"78933525-ef96-459e-8280-639420c18945","directory":"rbi-baseball-17","title":"R.B.I. Baseball 17","compatibility":4,"releases":[{"id":"0100B5A004302000","region":null}]},{"id":"789d8716-683f-4169-b063-230a93ccfda9","directory":"air-missions-hind","title":"Air Missions: HIND","compatibility":0,"releases":[{"id":"0100C9E00F54C000","region":null}]},{"id":"78a648f1-f582-4465-afed-7d10cdb86747","directory":"circa-infinity-ultimate-edition","title":"Circa Infinity Ultimate Edition","compatibility":99,"releases":[{"id":"010005F016964000","region":null}]},{"id":"78aaa857-86e6-4709-bcb5-13196581136f","directory":"rift-adventure","title":"Rift Adventure","compatibility":99,"releases":[{"id":"0100F5501483C000","region":null}]},{"id":"78abe25e-0444-4e7b-982a-7e67ba818176","directory":"fat-city","title":"Fat City","compatibility":99,"releases":[{"id":"01001CC00CB54000","region":null}]},{"id":"78af8ecd-ea97-4454-9356-ba804dffc99a","directory":"valthirian-arc-hero-school-story","title":"Valthirian Arc: Hero School Story","compatibility":1,"releases":[{"id":"010042100BAA6000","region":null}]},{"id":"78b19138-1520-45e6-a50d-90cb17ff6a17","directory":"zombie-gold-rush","title":"ZOMBIE GOLD RUSH","compatibility":1,"releases":[{"id":"0100CFE003A64000","region":null}]},{"id":"78b297e2-2932-4c17-b77a-a01e42e566fd","directory":"deaths-door","title":"Death's Door","compatibility":0,"releases":[{"id":"0100B31015AF8000","region":null}]},{"id":"78b3c439-001f-474b-8c3a-0b97d6ef42c1","directory":"sudoky","title":"Sudoky","compatibility":99,"releases":[{"id":"0100A68011B0A000","region":null}]},{"id":"78c54dc6-c35d-40c9-84e3-5716c4f3226b","directory":"epic-astro-story","title":"Epic Astro Story","compatibility":0,"releases":[{"id":"0100AE300D496000","region":null}]},{"id":"78c9b2a6-68c6-4c2c-9955-6f7da018be0a","directory":"cloudbase-prime","title":"Cloudbase Prime","compatibility":99,"releases":[{"id":"010023800FE12000","region":null}]},{"id":"78d1856c-c97f-4e90-920a-8c25c92ee031","directory":"biolab-wars","title":"Biolab Wars","compatibility":99,"releases":[{"id":"0100AEC010052000","region":null}]},{"id":"78d514f4-3387-47f8-b537-3afc2af49d05","directory":"itta","title":"ITTA","compatibility":5,"releases":[{"id":"010068700C70A000","region":null}]},{"id":"78d51611-b18f-4528-9c00-b44ca2b5f7db","directory":"aery-a-journey-beyond-time","title":"Aery – A Journey Beyond Time","compatibility":0,"releases":[{"id":"0100DF8014056000","region":null}]},{"id":"78dc17cb-baf1-47c5-96fb-fd51793143bf","directory":"oniken-unstoppable-edition","title":"Oniken: Unstoppable Edition","compatibility":99,"releases":[{"id":"010037900C814000","region":null}]},{"id":"78dff127-ce20-490f-ba9d-9e8daa165226","directory":"damascus-gear-operation-osaka","title":"Damascus Gear Operation Osaka","compatibility":99,"releases":[{"id":"0100A8000E228000","region":null}]},{"id":"78e57fd6-39fa-4b67-a630-4f55a0366b4f","directory":"racing-xtreme-2","title":"Racing Xtreme 2","compatibility":99,"releases":[{"id":"0100F580157FE000","region":null}]},{"id":"78ebbe30-6574-42a7-8ec4-256980ce8fc7","directory":"3d-arcade-fishing","title":"3D Arcade Fishing","compatibility":99,"releases":[{"id":"010010C013F2A000","region":null}]},{"id":"78f57de2-322a-4110-a100-788907a30e65","directory":"fatal-fury-first-contact","title":"FATAL FURY FIRST CONTACT","compatibility":99,"releases":[{"id":"010059B012E60000","region":null}]},{"id":"78fa7ff2-6238-4e06-8a00-58e67f69c711","directory":"warriors-orochi-4","title":"WARRIORS OROCHI 4","compatibility":99,"releases":[{"id":"010016A00AEC0000","region":null}]},{"id":"79054240-8f3b-45e1-96fa-6825a220496d","directory":"knights-and-bikes","title":"Knights and Bikes","compatibility":99,"releases":[{"id":"0100B7000D89E000","region":null}]},{"id":"790d8a32-7ba7-4d5c-bde9-c63db89a0582","directory":"mad-age-and-this-guy","title":"Mad Age & This Guy","compatibility":99,"releases":[{"id":"01008E300C88A000","region":null}]},{"id":"790e92b9-1527-41ee-9d76-1feb3b496041","directory":"extreme-trucks-simulator","title":"Extreme Trucks Simulator","compatibility":99,"releases":[{"id":"010097800F1B4000","region":null}]},{"id":"791484bd-54fe-4706-8711-1f5291712e1e","directory":"ninja-village","title":"Ninja Village","compatibility":0,"releases":[{"id":"010090600CB98000","region":null}]},{"id":"7916799f-1d67-4842-8084-eb53f5a68f33","directory":"lambs-on-the-road-the-beginning","title":"Lambs on the road : The Beginning","compatibility":99,"releases":[{"id":"01005160151EE000","region":null}]},{"id":"7921cdd9-c99d-42e8-8b08-8a9ae3f1f8a5","directory":"perception","title":"Perception","compatibility":99,"releases":[{"id":"0100563005B70000","region":null}]},{"id":"792345c3-e580-44a6-b5f5-9c14a8e549e5","directory":"plantera-deluxe-demo","title":"Plantera Deluxe Demo","compatibility":99,"releases":[{"id":"010003D00867A000","region":null}]},{"id":"792f6d86-2800-4571-95b5-6a14cf844982","directory":"dragon-quest-r-xi-s-echoes-of-an-elusive-age-definitive-edition","title":"DRAGON QUEST® XI S: Echoes of an Elusive Age – Definitive Edition","compatibility":2,"releases":[{"id":"01006C300E9F0000","region":null}]},{"id":"7933be16-45ba-4690-8bf9-3ec47ea2fb4e","directory":"g-mode-archives29-zanac","title":"G-MODE Archives29 ZANAC","compatibility":99,"releases":[{"id":"0100FD7013470000","region":null}]},{"id":"7939d5d7-31be-490c-8ae2-1560c76b524f","directory":"ohsir-the-hollywood-roast","title":"Oh...Sir! The Hollywood Roast","compatibility":99,"releases":[{"id":"0100F45006A00000","region":null}]},{"id":"794544d0-d89b-48bd-b1b9-207fb64c1f11","directory":"the-card-poker-texas-hold-em-blackjack-and-page-one","title":"THE Card: Poker, Texas hold 'em, Blackjack and Page One","compatibility":3,"releases":[{"id":"0100EB600AB5E000","region":null}]},{"id":"794f5cb2-3088-4240-ba71-7c654364032b","directory":"wulverblade","title":"Wulverblade","compatibility":99,"releases":[{"id":"010033700418A000","region":null}]},{"id":"79527c87-23b9-4a52-a19c-22e97474e478","directory":"cinders","title":"Cinders","compatibility":99,"releases":[{"id":"01009AC00D5F4000","region":null}]},{"id":"79687c95-1ead-44e2-b3d1-4aaad514fd28","directory":"dc-universe-online","title":"DC Universe Online","compatibility":99,"releases":[{"id":"01005B000D786000","region":null}]},{"id":"7972c10c-efd1-4f70-b2c3-8315fe7a9a24","directory":"baila-latino","title":"Baila Latino","compatibility":99,"releases":[{"id":"010076B011EC8000","region":null}]},{"id":"7974dc1b-e068-4a30-a7ed-5293c46a6756","directory":"adventure-pinball-bundle","title":"Adventure Pinball Bundle","compatibility":99,"releases":[{"id":"0100C990102A0000","region":null}]},{"id":"7974e4d3-9d78-4947-b634-eb6544f76a39","directory":"capes-escape-game-2nd-room","title":"Cape's Escape Game 2nd room","compatibility":99,"releases":[{"id":"0100F04013F5E000","region":null}]},{"id":"7990e99b-df10-4fe2-9f92-cf9d2b159c16","directory":"gaokaolove100days","title":"Gaokao.Love.100Days","compatibility":0,"releases":[{"id":"010091400B596000","region":null}]},{"id":"7991aec3-4b61-42c6-b067-3eeb542da244","directory":"overcooked-2","title":"Overcooked! 2","compatibility":0,"releases":[{"id":"01006FD0080B2000","region":null}]},{"id":"79a6ad7c-a5fc-42b4-9c6a-cf310214bb99","directory":"aca-neogeo-world-heroes","title":"ACA NEOGEO WORLD HEROES","compatibility":99,"releases":[{"id":"01002DD004FAC000","region":null}]},{"id":"79b1907a-bbae-45eb-9768-4374438194aa","directory":"the-pew-pew-bundle-vol-1","title":"The Pew Pew Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100EE50122BC000","region":null}]},{"id":"79bbf3e3-8fe3-437b-9973-94073ab18100","directory":"pukan-bye-bye","title":"Pukan, Bye-Bye!","compatibility":99,"releases":[{"id":"010061601676A000","region":null}]},{"id":"79c52382-f4c4-4113-91e9-9374e23d6a2e","directory":"aca-neogeo-money-puzzle-exchanger","title":"ACA NEOGEO Money Puzzle Exchanger","compatibility":4,"releases":[{"id":"010038F00AFA0000","region":null}]},{"id":"79d30161-fbac-4d25-bdc6-ddb82aa19dbc","directory":"stranger-things-3-the-game","title":"Stranger Things 3: The Game","compatibility":0,"releases":[{"id":"0100DD600DD48000","region":null}]},{"id":"79d6d383-a128-46d8-a262-b63a43bcfb2c","directory":"nuclien","title":"Nuclien","compatibility":99,"releases":[{"id":"01005140089F6000","region":null}]},{"id":"79dc4834-dcbf-4bea-acb4-a360696e0cc2","directory":"black-jack","title":"Black Jack","compatibility":99,"releases":[{"id":"010045C011DE6000","region":null}]},{"id":"79e85666-26ce-4a61-ac6f-bc8c4c3ea917","directory":"all-star-fruit-racing","title":"All-Star Fruit Racing","compatibility":3,"releases":[{"id":"0100C1F00A9B8000","region":null}]},{"id":"79f95c8a-304f-4081-8856-36a32d84b75b","directory":"venture-towns-demo","title":"Venture Towns Demo","compatibility":99,"releases":[{"id":"010083D00D170000","region":null}]},{"id":"79fe62d0-6b5b-4769-ab73-6e4b5d0e40ea","directory":"the-escapists-2","title":"The Escapists 2","compatibility":2,"releases":[{"id":"0100CA100489C000","region":null}]},{"id":"7a03c48c-7ed7-4c16-85bc-271911d658b6","directory":"sega-genesis-nintendo-switch-online","title":"SEGA Genesisâ„¢ – Nintendo Switch Online","compatibility":2,"releases":[{"id":"0100B3C014BDA000","region":null}]},{"id":"7a066f1f-0ca8-4b87-95f8-e0a32f47a9b8","directory":"kosmonavtes-escape-reality","title":"Kosmonavtes: Escape Reality","compatibility":99,"releases":[{"id":"0100C890159AA000","region":null}]},{"id":"7a0b06fd-d7f6-4063-9d27-9dc66bddd103","directory":"royal-tower-defense","title":"Royal Tower Defense","compatibility":99,"releases":[{"id":"0100132013678000","region":null}]},{"id":"7a1d6eb9-8b7a-430e-8e70-e337edc1bb07","directory":"railway-empire-nintendo-switch-edition","title":"Railway Empire - Nintendo Switchâ„¢ Edition","compatibility":99,"releases":[{"id":"01002EE00DC02000","region":null}]},{"id":"7a22c5ea-a1cb-45ad-9bf5-63ef5c326a05","directory":"family-tree","title":"Family Tree","compatibility":99,"releases":[{"id":"01007BA00F0E6000","region":null}]},{"id":"7a2539ff-09ff-4726-abd8-50cee2df0364","directory":"weaving-tides","title":"Weaving Tides","compatibility":99,"releases":[{"id":"0100823012CA0000","region":null}]},{"id":"7a3627bd-106f-46ee-9097-fe8fc0f3dc50","directory":"him-her-3","title":"HIM & HER 3","compatibility":99,"releases":[{"id":"010000E0161BC000","region":null}]},{"id":"7a39cd2c-cc4c-4f39-9e84-e2d10c710520","directory":"longstory-a-dating-game-for-the-real-world","title":"LongStory: A dating game for the real world","compatibility":99,"releases":[{"id":"0100A4300B4FC000","region":null}]},{"id":"7a3bc69d-a4f2-44cb-b7ab-bab586195c99","directory":"mujo","title":"MUJO","compatibility":0,"releases":[{"id":"0100A8400471A000","region":null}]},{"id":"7a3e0e39-725d-455a-a65b-2c6462c65a8e","directory":"lets-sing-queen","title":"Let's Sing Queen","compatibility":0,"releases":[{"id":"01003CE011A86000","region":null}]},{"id":"7a461dd5-6477-4010-95fe-32e64e4f8a5c","directory":"winds-of-change","title":"Winds Of Change","compatibility":99,"releases":[{"id":"01001D2013756000","region":null}]},{"id":"7a53fbc5-9f43-4b4e-af26-1f328157c247","directory":"emergency-driver-simulator","title":"Emergency Driver Simulator","compatibility":99,"releases":[{"id":"0100382016A0E000","region":null}]},{"id":"7a56e78b-271e-49ca-8017-e978c662357e","directory":"dreamball","title":"DreamBall","compatibility":5,"releases":[{"id":"010034D00F330000","region":null}]},{"id":"7a5db389-7a6b-472b-952a-7db286fff362","directory":"sudoku-relax","title":"Sudoku Relax","compatibility":99,"releases":[{"id":"010027B00DDF4000","region":null}]},{"id":"7a6659d4-bdba-4f3a-9ff8-c22a63ef514a","directory":"unforeseen-incidents","title":"Unforeseen Incidents","compatibility":99,"releases":[{"id":"010052800DB46000","region":null}]},{"id":"7a79e5fb-0436-42df-afcd-1f295f6bf6c4","directory":"dungeon-encounters","title":"DUNGEON ENCOUNTERS","compatibility":99,"releases":[{"id":"0100328013BCA000","region":null}]},{"id":"7a8322a2-e338-4d1f-a281-abdc53b35722","directory":"arcade-archives-kangaroo","title":"Arcade Archives Kangaroo","compatibility":99,"releases":[{"id":"0100141011CF2000","region":null}]},{"id":"7a986ec7-12da-422a-b390-628087857ba2","directory":"dragon-ball-xenoverse-2-lite-version","title":"DRAGON BALL XENOVERSE 2 Lite Version","compatibility":99,"releases":[{"id":"0100B9F00B58E000","region":null}]},{"id":"7a98ae90-3381-4b4a-b600-5e0e4e06a06a","directory":"valiant-hearts-the-great-war","title":"Valiant Hearts: The Great War","compatibility":0,"releases":[{"id":"010099700B01A000","region":null}]},{"id":"7aaacb97-3772-46d1-a66f-5501a954d1e7","directory":"kolumno","title":"Kolumno","compatibility":99,"releases":[{"id":"01002EF013734000","region":null}]},{"id":"7aabcfd4-955c-41f0-8e47-f865e2f75dab","directory":"construction-site-driver","title":"Construction Site Driver","compatibility":99,"releases":[{"id":"010000E016DDE000","region":null}]},{"id":"7aac18eb-9bb9-4d13-833b-6b0c02c1f756","directory":"spacejacked","title":"Spacejacked","compatibility":99,"releases":[{"id":"010084500EA2E000","region":null}]},{"id":"7ab2d687-3f85-42b2-8d6d-68eec39e7209","directory":"ladders-by-powgi","title":"Ladders by POWGI","compatibility":99,"releases":[{"id":"0100E26014312000","region":null}]},{"id":"7ab994b8-e28c-4495-a546-48b4e80f3f18","directory":"fairy-tale-puzzlesmagic-objects","title":"Fairy Tale Puzzles~Magic Objects~","compatibility":0,"releases":[{"id":"010072E00B36A000","region":null}]},{"id":"7abc85e5-05d2-4f41-9fa8-94b4ed129eee","directory":"bear-with-me-the-lost-robots","title":"Bear With Me: The Lost Robots","compatibility":0,"releases":[{"id":"010020700DE04000","region":null}]},{"id":"7ac8a1df-ab8b-4ea0-afd4-89105428e53e","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"0100B7500F756000","region":null}]},{"id":"7add49f4-a227-4d18-9cac-2f95ff604780","directory":"arcade-archives-dragon-buster","title":"Arcade Archives DRAGON BUSTER","compatibility":99,"releases":[{"id":"0100130015E0E000","region":null}]},{"id":"7ae74068-df81-4ed6-b9bb-791a96fad7d1","directory":"bulb-boy","title":"Bulb Boy","compatibility":99,"releases":[{"id":"01006F900473A000","region":null}]},{"id":"7aeb9dec-2ea4-4e67-b6df-b24182716135","directory":"lfo-lost-future-omega-","title":"L.F.O. -Lost Future Omega-","compatibility":1,"releases":[{"id":"0100732009CAE000","region":null}]},{"id":"7aece9e7-9c60-4e20-bc8e-d5dcdda2c770","directory":"stray-cat-doors2","title":"Stray Cat Doors2","compatibility":1,"releases":[{"id":"010035D014B96000","region":null}]},{"id":"7af61d88-5fb0-4bb9-b3d0-5547625ce48f","directory":"it-came-from-space-and-ate-our-brains","title":"It came from space and ate our brains","compatibility":99,"releases":[{"id":"01002E501015A000","region":null}]},{"id":"7b0b3cbb-c6f5-4f77-8a52-e97b597f5a6f","directory":"ubermosh-omega","title":"UBERMOSH:OMEGA","compatibility":99,"releases":[{"id":"0100DBA0109C2000","region":null}]},{"id":"7b0b9425-032d-4894-aeda-18b023db5277","directory":"sniper-elite-3-ultimate-edition","title":"Sniper Elite 3 Ultimate Edition","compatibility":2,"releases":[{"id":"010075A00BA14000","region":null}]},{"id":"7b0cd6ac-56e3-469f-9ef8-ddc4f703a9e1","directory":"mad-father","title":"Mad Father","compatibility":3,"releases":[{"id":"01005E7013476000","region":null}]},{"id":"7b1eaae6-efdb-4161-8343-8a4d5043dc9a","directory":"cattails","title":"Cattails","compatibility":0,"releases":[{"id":"010004400B28A000","region":null}]},{"id":"7b29514b-ac90-4c97-bf6f-05725aa37905","directory":"brawlhalla","title":"Brawlhalla","compatibility":4,"releases":[{"id":"0100C6800B934000","region":null}]},{"id":"7b2a397f-c023-4cd4-880d-a8c1b73953f8","directory":"word-wheel-by-powgi","title":"Word Wheel by POWGI","compatibility":99,"releases":[{"id":"01002A600E346000","region":null}]},{"id":"7b374e5d-eee1-4321-923b-dcf06ef6dc9c","directory":"rainbow-billy-the-curse-of-the-leviathan","title":"Rainbow Billy: The Curse of the Leviathan","compatibility":99,"releases":[{"id":"0100235014746000","region":null}]},{"id":"7b3feb41-8cc8-411a-a1a9-7a89247b145f","directory":"wolfenstein-youngblood","title":"Wolfenstein: Youngblood","compatibility":4,"releases":[{"id":"01003BD00CAAE000","region":null}]},{"id":"7b4186f8-b94e-4dcc-87ac-c157c2d370be","directory":"her-love-in-the-force","title":"Her Love in the Force","compatibility":99,"releases":[{"id":"0100A9001317E000","region":null}]},{"id":"7b4992d4-c556-482d-888d-84310d9ec377","directory":"king-of-seas","title":"King of Seas","compatibility":99,"releases":[{"id":"0100C17010BF2000","region":null}]},{"id":"7b58e725-4a0a-4ed6-a306-2b65da41f811","directory":"assault-chainguns-km","title":"Assault ChaingunS KM","compatibility":99,"releases":[{"id":"0100BF8012A30000","region":null}]},{"id":"7b646591-5c6b-4029-8a3b-20f2a550a167","directory":"pantsu-hunter-back-to-the-90s","title":"Pantsu Hunter: Back to the 90s","compatibility":2,"releases":[{"id":"010006E00DFAE000","region":null}]},{"id":"7b77adfd-de92-4364-a41e-2cbedc45c619","directory":"table-tennis","title":"Table Tennis","compatibility":99,"releases":[{"id":"0100CB00125B6000","region":null}]},{"id":"7b7f40fa-d014-4b0e-9cd7-ac4b9238fd60","directory":"romancing-saga-2","title":"Romancing SaGa 2","compatibility":1,"releases":[{"id":"01001F600829A000","region":null}]},{"id":"7b7f9a91-0069-418e-96b4-abda2ae03297","directory":"world-quiz","title":"World Quiz","compatibility":99,"releases":[{"id":"0100099016862000","region":null}]},{"id":"7b849bb6-603e-40f8-b5b3-fa17a808a518","directory":"gunslugs-2","title":"Gunslugs 2","compatibility":99,"releases":[{"id":"010062A013914000","region":null}]},{"id":"7b9bdec0-e037-4614-980c-529d53ee3e18","directory":"mars-horizon","title":"Mars Horizon","compatibility":1,"releases":[{"id":"010044701191E000","region":null}]},{"id":"7ba0b379-5de7-4ff5-baaa-8fe8842f84ae","directory":"falcon-age","title":"Falcon Age","compatibility":99,"releases":[{"id":"0100C3F011B58000","region":null}]},{"id":"7bba659c-bc5b-4fc3-85a0-496a82bafdfa","directory":"cuccchi","title":"Cuccchi","compatibility":99,"releases":[{"id":"0100F5F015AE0000","region":null}]},{"id":"7bbda616-f194-419a-8bcf-6f8e81b410d1","directory":"superola-and-the-lost-burgers","title":"Superola and the Lost Burgers","compatibility":99,"releases":[{"id":"010033C009E46000","region":null}]},{"id":"7bc3f7e6-b7af-4841-9b06-6c885bf6c458","directory":"just-dance-2020","title":"Just Dance 2020","compatibility":0,"releases":[{"id":"0100DDB00DB38000","region":null}]},{"id":"7bcc572d-05d6-4bff-8cf8-8863cd1d7c63","directory":"electro-ride-the-neon-racing","title":"Electro Ride: The Neon Racing","compatibility":99,"releases":[{"id":"0100C6301324C000","region":null}]},{"id":"7bceeab2-e6ad-45b7-8a3d-d9c0ad3e3d0a","directory":"crawlco-block-knockers","title":"Crawlco Block Knockers","compatibility":99,"releases":[{"id":"0100148012F7A000","region":null}]},{"id":"7bcff2f0-d162-45a1-93d3-95909fdae1a7","directory":"the-lost-cube","title":"The Lost Cube","compatibility":99,"releases":[{"id":"01000F2013CF8000","region":null}]},{"id":"7bd1980e-fcdf-4a76-81e8-62165e1fa4dd","directory":"pretty-girls-panic-plus","title":"Pretty Girls Panic! PLUS","compatibility":99,"releases":[{"id":"01001E3014D46000","region":null}]},{"id":"7bd3a460-b545-4821-8483-b1b9c292bb66","directory":"thy-sword","title":"Thy Sword","compatibility":1,"releases":[{"id":"01000AC011588000","region":null}]},{"id":"7bd84f9a-99a1-4111-9ed5-68c89ac204a6","directory":"bit-trip-void","title":"BIT.TRIP VOID","compatibility":99,"releases":[{"id":"01000AD012D3A000","region":null}]},{"id":"7c003c6c-c604-47b4-b21b-e384d926e500","directory":"axiom-verge-2","title":"Axiom Verge 2","compatibility":1,"releases":[{"id":"01002FC010240000","region":null}]},{"id":"7c06cd3a-2437-4b57-ae6a-aa92e88d426d","directory":"puzzle-car","title":"Puzzle Car","compatibility":99,"releases":[{"id":"01004AF01590C000","region":null}]},{"id":"7c212262-014c-4af3-a1f6-acc61c24b10f","directory":"in-rays-of-the-light","title":"In rays of the Light","compatibility":99,"releases":[{"id":"0100A760129A0000","region":null}]},{"id":"7c22e0fb-5aaf-42d3-ab43-b3b1330085d0","directory":"reel-fishing-road-trip-adventure","title":"Reel Fishing: Road Trip Adventure","compatibility":99,"releases":[{"id":"010007C00E558000","region":null}]},{"id":"7c2af0a6-926c-4d73-b628-8835cfa0f6f1","directory":"super-one-more-jump-demo","title":"Super One More Jump Demo","compatibility":99,"releases":[{"id":"010088F00AD80000","region":null}]},{"id":"7c418840-86e5-4b23-9f6f-1acaa513f216","directory":"bot-vice","title":"Bot Vice","compatibility":4,"releases":[{"id":"010065C00CD98000","region":null}]},{"id":"7c47580e-e8ec-49dc-8305-bb2e8b5463cf","directory":"titan-quest","title":"Titan Quest","compatibility":2,"releases":[{"id":"0100605008268000","region":null}]},{"id":"7c4b6b7f-9888-40ad-bc60-fc46cd655543","directory":"free-throw-basketball","title":"Free Throw Basketball","compatibility":99,"releases":[{"id":"0100865014246000","region":null}]},{"id":"7c4cb465-e05e-46f1-8ec2-e454ad9678aa","directory":"ghost-sync","title":"Ghost Sync","compatibility":99,"releases":[{"id":"0100F41015BF4000","region":null}]},{"id":"7c4fc628-d321-44c3-8c6d-3a64189a7726","directory":"naruto-shippuden-ultimate-ninja-storm-trilogy","title":"NARUTO SHIPPUDEN: Ultimate Ninja Storm Trilogy","compatibility":2,"releases":[{"id":"0100EC800800C000","region":null}]},{"id":"7c54382a-a14f-4867-810f-410483a54991","directory":"undermine","title":"UnderMine","compatibility":2,"releases":[{"id":"01000B3012F3A000","region":null}]},{"id":"7c5c8795-c337-407a-877d-528877328673","directory":"return-of-the-heir","title":"Return of the Heir","compatibility":99,"releases":[{"id":"01009AA014736000","region":null}]},{"id":"7c68c27e-b4c7-4e36-a665-b7dff85ea7e9","directory":"megadimension-neptunia-vii","title":"Megadimension Neptunia VII","compatibility":3,"releases":[{"id":"010006F011220000","region":null}]},{"id":"7c719b65-24d7-4a59-ad93-fd8073b652dd","directory":"ravensword-shadowlands","title":"Ravensword: Shadowlands","compatibility":99,"releases":[{"id":"0100957013E26000","region":null}]},{"id":"7c7299fe-1076-434a-a715-f9c5b9b230a4","directory":"onirike","title":"Onirike","compatibility":99,"releases":[{"id":"0100F150141DC000","region":null}]},{"id":"7c8cc74d-78fb-44cd-9df5-abbffea696c3","directory":"world-of-goo","title":"World of Goo","compatibility":0,"releases":[{"id":"010009E001D90000","region":null}]},{"id":"7c9e1018-5f6d-4d63-8fac-effa2c803713","directory":"galak-z-variant-s","title":"GALAK-Z: Variant S","compatibility":4,"releases":[{"id":"0100C9800A454000","region":null}]},{"id":"7ca5daac-71f2-449e-bcb8-6585ec6a3acb","directory":"tales-from-the-borderlands","title":"Tales from the Borderlands","compatibility":99,"releases":[{"id":"0100F0C011A68000","region":null}]},{"id":"7cab2c93-8bfe-431e-bdfd-7569e7b2b8ed","directory":"feral-fury","title":"Feral Fury","compatibility":2,"releases":[{"id":"010097E00ADC2000","region":null}]},{"id":"7cb0a6af-ab0d-4720-b2aa-3a64a24face1","directory":"mosaic","title":"Mosaic","compatibility":0,"releases":[{"id":"010032800D740000","region":null}]},{"id":"7cb3e542-b2ce-43ed-9728-65382a36d4d0","directory":"gunkid-99","title":"GUNKID 99","compatibility":99,"releases":[{"id":"0100B79014D66000","region":null}]},{"id":"7cb5c946-e745-4c38-9f80-b0858da98804","directory":"family-tennis-sp","title":"Family Tennis SP","compatibility":3,"releases":[{"id":"010049A00F5AC000","region":null}]},{"id":"7cc4d6ca-b39b-47ed-a55f-56a5936432b2","directory":"epistory-typing-chronicles","title":"Epistory - Typing Chronicles","compatibility":99,"releases":[{"id":"0100DA50128BE000","region":null}]},{"id":"7cc83c93-1458-40dc-a477-ad490976d3cd","directory":"ghost-files-memory-of-a-crime","title":"Ghost Files: Memory of a Crime","compatibility":3,"releases":[{"id":"0100046011AE6000","region":null}]},{"id":"7cceceee-fdcc-49ae-be1c-9d526e9af6b9","directory":"toki-tori-2-demo","title":"Toki Tori 2+ Demo","compatibility":99,"releases":[{"id":"010087E00B0E6000","region":null}]},{"id":"7ce569f9-0b1d-4d14-b776-6d42150ba382","directory":"clue-the-classic-mystery-game","title":"Clue: The Classic Mystery Game","compatibility":0,"releases":[{"id":"010029400CA20000","region":null}]},{"id":"7ced507e-c293-412d-baea-442fd8c01c87","directory":"inksplosion","title":"InkSplosion","compatibility":99,"releases":[{"id":"010039E00A15E000","region":null}]},{"id":"7cfde255-5b32-4522-a9a7-504dcc5b3de6","directory":"royal-adviser","title":"Royal Adviser","compatibility":99,"releases":[{"id":"0100ADF00C630000","region":null}]},{"id":"7d088358-9ae7-48f3-837f-254d4f1e82f7","directory":"sin-slayers","title":"Sin Slayers","compatibility":0,"releases":[{"id":"01006FE010438000","region":null}]},{"id":"7d0c2879-3978-4b60-bada-4974533dac0e","directory":"cannon-army","title":"CANNON ARMY","compatibility":99,"releases":[{"id":"01006400155DC000","region":null}]},{"id":"7d0f285b-c540-46a1-89a4-54995a2174dc","directory":"gakuen-club","title":"Gakuen Club","compatibility":99,"releases":[{"id":"010052900B8EE000","region":null}]},{"id":"7d13ca64-ddce-4fb6-bb5e-37ee72cdc40e","directory":"trancelation","title":"Trancelation","compatibility":99,"releases":[{"id":"0100DBF0110EE000","region":null}]},{"id":"7d2d44b0-4bfa-4e0d-85e9-3568d925ed14","directory":"ultra-hat-dimension","title":"Ultra Hat Dimension","compatibility":99,"releases":[{"id":"01002D4012222000","region":null}]},{"id":"7d345d2d-7cc5-407a-be74-cb3f75c2275d","directory":"western-1849-reloaded","title":"Western 1849 Reloaded","compatibility":99,"releases":[{"id":"010085F00B93A000","region":null}]},{"id":"7d5189f4-02c8-42d0-ab5b-ab26fd1bee01","directory":"waking-violet","title":"Waking Violet","compatibility":99,"releases":[{"id":"0100C160071B8000","region":null}]},{"id":"7d5b6912-96fe-4006-a388-0152c274611d","directory":"famicom-detective-club-the-missing-heir","title":"Famicom Detective Clubâ„¢: The Missing Heir","compatibility":0,"releases":[{"id":"010033F0126F4000","region":null}]},{"id":"7d665eb7-e934-4ad8-9739-04e0266e03b4","directory":"epic-loon","title":"Epic Loon","compatibility":5,"releases":[{"id":"0100262009626000","region":null}]},{"id":"7d685512-0ce6-49f5-a7b1-c5dbb0d18cf2","directory":"kirakira-stars-idol-project-memories","title":"Kirakira stars idol project Memories","compatibility":99,"releases":[{"id":"01005BD015A3C000","region":null}]},{"id":"7d6aa409-8c60-49a4-baf7-57c8d05e1af4","directory":"rico-london","title":"RICO: London","compatibility":99,"releases":[{"id":"0100DD80146F0000","region":null}]},{"id":"7d72f140-8d96-4be7-9afc-4cea04cd4f87","directory":"bright-paw","title":"Bright Paw","compatibility":1,"releases":[{"id":"0100E0E0121D6000","region":null}]},{"id":"7d7f9f9e-1aa6-48b0-bf65-a77f77c2057b","directory":"where-the-bees-make-honey","title":"Where the Bees Make Honey","compatibility":99,"releases":[{"id":"01000C000C966000","region":null}]},{"id":"7d7fa6b9-4e32-4a33-a90c-727064eb94a6","directory":"ash-of-gods-redemption","title":"Ash of Gods: Redemption","compatibility":99,"releases":[{"id":"0100E4C00DE30000","region":null}]},{"id":"7d86c677-165a-4be4-960a-cb64ff497ebd","directory":"story-of-seasons-friends-of-mineral-town","title":"STORY OF SEASONS: Friends of Mineral Town","compatibility":1,"releases":[{"id":"0100ED400EEC2000","region":null}]},{"id":"7d9ef1ee-12a3-4671-9d3f-b56778e54b72","directory":"dungeon-escape","title":"Dungeon Escape","compatibility":99,"releases":[{"id":"01000BC0140C6000","region":null}]},{"id":"7db2f2da-022a-46af-9336-05742fe61d83","directory":"streets-of-red-devils-dare-deluxe","title":"Streets of Red - Devil's Dare Deluxe","compatibility":0,"releases":[{"id":"0100C1700A9F0000","region":null}]},{"id":"7db49f1f-8743-49dc-bbbd-9794c66a8f2f","directory":"castle-pals","title":"Castle Pals","compatibility":99,"releases":[{"id":"0100DA2011F18000","region":null}]},{"id":"7dbe4991-ed81-4ecf-af67-eb96a20d1d0d","directory":"skelittle-a-giant-party","title":"Skelittle: A Giant Party!","compatibility":99,"releases":[{"id":"01008E700F952000","region":null}]},{"id":"7dc5743c-b185-4aae-adc9-f919b55e0579","directory":"arcade-archives-ninja-gaiden","title":"Arcade Archives NINJA GAIDEN","compatibility":4,"releases":[{"id":"01003EF00D3B4000","region":null}]},{"id":"7dd4053c-0e8e-43fd-8c08-fe021c0d777b","directory":"vostok-inc-demo","title":"Vostok Inc. Demo","compatibility":99,"releases":[{"id":"010044200A112000","region":null}]},{"id":"7dd83b96-a3ed-4ce5-9210-6d50223043fb","directory":"sakura-in-gameland","title":"Sakura In Gameland","compatibility":99,"releases":[{"id":"01002D20129EC000","region":null}]},{"id":"7debf5b9-33fa-4f0d-8c27-36ccae2a865f","directory":"battlesloths","title":"BATTLESLOTHS","compatibility":99,"releases":[{"id":"010044E00D97C000","region":null}]},{"id":"7df1590e-a384-4a58-a807-053d9e43e1da","directory":"daylife-in-japan-pixel-art-jigsaw-puzzle","title":"Daylife in Japan - Pixel Art Jigsaw Puzzle","compatibility":99,"releases":[{"id":"010086A013904000","region":null}]},{"id":"7df5f68f-bfe6-484a-94df-f3f4ac9f3a09","directory":"60-seconds","title":"60 Seconds!","compatibility":3,"releases":[{"id":"0100969005E98000","region":null}]},{"id":"7df8b6b5-f6f4-4b92-a943-dcace0c9af53","directory":"arcade-archives-lightning-fighters","title":"Arcade Archives LIGHTNING FIGHTERS","compatibility":1,"releases":[{"id":"0100043011CEC000","region":null}]},{"id":"7dfd8e27-836b-405b-ac35-591eb28000b6","directory":"moai-vi-unexpected-guests","title":"Moai VI: Unexpected Guests","compatibility":99,"releases":[{"id":"010020400BDD2000","region":null}]},{"id":"7e10f785-0ba0-41d4-aa39-8c07255317c2","directory":"anime-studio-story","title":"Anime Studio Story","compatibility":99,"releases":[{"id":"010062500EB84000","region":null}]},{"id":"7e167dd4-0777-4856-9a94-6bbfdae9b6a6","directory":"the-prince-of-landis","title":"The Prince of Landis","compatibility":99,"releases":[{"id":"010058C015B82000","region":null}]},{"id":"7e1c0abb-2aa9-4706-af42-3b7a75d03145","directory":"red-wings-aces-of-the-sky","title":"Red Wings: Aces of the Sky","compatibility":1,"releases":[{"id":"0100D8A00E880000","region":null}]},{"id":"7e20b883-226f-4566-af97-197ded7f07ec","directory":"season-match-3-curse-of-the-witch-crow","title":"Season Match 3: Curse of the Witch Crow","compatibility":99,"releases":[{"id":"0100C8E00BDCE000","region":null}]},{"id":"7e2b3d64-eb38-4581-bc77-be8f14033fe2","directory":"son-of-a-witch","title":"Son of a Witch","compatibility":99,"releases":[{"id":"0100AD000B9AC000","region":null}]},{"id":"7e2ccd7c-6d0a-491b-b823-d159cee604c9","directory":"chasm","title":"Chasm","compatibility":0,"releases":[{"id":"0100DE200C350000","region":null}]},{"id":"7e338255-8be7-4215-9c75-7f816927bc54","directory":"jet-set-knights","title":"Jet Set Knights","compatibility":0,"releases":[{"id":"01005C1012C22000","region":null}]},{"id":"7e37d6f6-5e73-434b-97f5-a25bcec5de82","directory":"johnny-turbos-arcade-bad-dudes","title":"Johnny Turbo's Arcade: Bad Dudes","compatibility":5,"releases":[{"id":"01006E4003832000","region":null}]},{"id":"7e4160b3-5036-433b-9f8a-3a8ad697181c","directory":"forest-guardian","title":"Forest Guardian","compatibility":99,"releases":[{"id":"0100E9B01243C000","region":null}]},{"id":"7e4523d3-59cb-4632-9cd4-71ac674fe3c7","directory":"collection-of-mana","title":"Collection of Mana","compatibility":1,"releases":[{"id":"01002A600D7FC000","region":null}]},{"id":"7e474a55-1c18-43b5-8a99-d1817b3bb44b","directory":"duped","title":"Duped","compatibility":99,"releases":[{"id":"01008AE00E95C000","region":null}]},{"id":"7e5193ea-34ec-4ed3-aa0c-0b1f21a6e1ec","directory":"eldest-souls","title":"Eldest Souls","compatibility":2,"releases":[{"id":"010093C00F30A000","region":null}]},{"id":"7e5a6768-bce0-4ea8-9a4c-c9c110fd78a5","directory":"sonic-colors-ultimate","title":"Sonic Colors: Ultimate","compatibility":1,"releases":[{"id":"010040E0116B8000","region":null}]},{"id":"7e5babe1-bc2f-456b-807f-77e73dec762a","directory":"trailer-trashers","title":"Trailer Trashers","compatibility":99,"releases":[{"id":"0100EB701117A000","region":null}]},{"id":"7e5ed3cb-2207-4f96-8221-b42519fdbe67","directory":"squeakers-ii","title":"Squeakers II","compatibility":99,"releases":[{"id":"0100BD80153BC000","region":null}]},{"id":"7e60059d-eaf6-4172-bb9d-584c17d54734","directory":"arcade-archives-burnin-rubber","title":"Arcade Archives BURNIN' RUBBER","compatibility":0,"releases":[{"id":"01003B4012478000","region":null}]},{"id":"7e653402-b065-4e9c-95e3-181276e6d735","directory":"lets-play-oink-games","title":"Let’s Play! Oink Games","compatibility":99,"releases":[{"id":"01001A8015506000","region":null}]},{"id":"7e79633e-d726-4788-831e-253424eafc59","directory":"super-crate-box","title":"Super Crate Box","compatibility":0,"releases":[{"id":"0100B2D00C63A000","region":null}]},{"id":"7e7caf45-d127-4cbe-98c0-637c970ccbb5","directory":"arcade-archives-route-16","title":"Arcade Archives ROUTE 16","compatibility":99,"releases":[{"id":"010060000BF7C000","region":null}]},{"id":"7e864b90-a58c-4fe0-b48f-814409d55131","directory":"arcade-archives-ben-bero-beh","title":"Arcade Archives BEN BERO BEH","compatibility":99,"releases":[{"id":"01004D0012D28000","region":null}]},{"id":"7e9cf58b-5649-4b64-a5b9-b3890be5b3f8","directory":"football-manager-2021-touch","title":"Football Manager 2021 Touch","compatibility":5,"releases":[{"id":"01007CF013152000","region":null}]},{"id":"7eae988b-9ee9-4c82-9021-7f1cedb742dc","directory":"mega-man-legacy-collection","title":"Mega Man Legacy Collection","compatibility":2,"releases":[{"id":"01002D4007AE0000","region":null}]},{"id":"7eb071d1-f760-4e13-80d6-786c74fdc0f7","directory":"pokemon-quest","title":"Pokémon Quest","compatibility":1,"releases":[{"id":"01005D100807A000","region":null}]},{"id":"7ebc9f3d-e64e-4086-b66e-4f94bd053cae","directory":"pixel-game-maker-series-biggerman-io","title":"Pixel Game Maker Series Biggerman.io","compatibility":99,"releases":[{"id":"0100AD9016C6C000","region":null}]},{"id":"7ec587d0-6a79-475a-927d-7de2ae8adb65","directory":"tamashii","title":"Tamashii","compatibility":99,"releases":[{"id":"010012800EE3E000","region":null}]},{"id":"7ed6a71a-34d2-4940-b17f-a3695086af77","directory":"sparkle-3-genesis","title":"Sparkle 3 Genesis","compatibility":99,"releases":[{"id":"01005E200A3AC000","region":null}]},{"id":"7edffeb1-c595-43b0-9701-8abf82b1fbf6","directory":"undertale","title":"Undertale","compatibility":1,"releases":[{"id":"010080B00AD66000","region":null}]},{"id":"7ee00a32-f7f9-48d0-b9f8-3390a6df1a3f","directory":"a-dark-room","title":"A Dark Room","compatibility":99,"releases":[{"id":"010021D00D53E000","region":null}]},{"id":"7efc10cd-5948-48db-9a41-e94e68da84d4","directory":"north","title":"NORTH","compatibility":99,"releases":[{"id":"01004840086FE000","region":null}]},{"id":"7f06e839-7cd8-4625-a703-ecc4f656d00a","directory":"summer-in-mara","title":"Summer in Mara","compatibility":1,"releases":[{"id":"0100A130109B2000","region":null}]},{"id":"7f61e657-0704-4700-b19d-1c7c70c0034c","directory":"dead-ground","title":"Dead Ground","compatibility":99,"releases":[{"id":"010075C013AA0000","region":null}]},{"id":"7f6281b5-ec35-4522-bca9-c59d249b465c","directory":"6souls","title":"6Souls","compatibility":99,"releases":[{"id":"0100421016BF2000","region":null}]},{"id":"7f6650e1-b271-4f04-ab9a-39bb121f996d","directory":"o-o","title":"O---O","compatibility":99,"releases":[{"id":"01002E6014FC4000","region":null}]},{"id":"7f678dbd-70c3-424c-90ee-afa68eb62cfc","directory":"apocalipsis-wormwood-edition","title":"Apocalipsis Wormwood Edition","compatibility":1,"releases":[{"id":"01008FC00C5BC000","region":null}]},{"id":"7f6fd53a-a1bb-4851-b38b-3c2100a01c1c","directory":"strange-brigade","title":"Strange Brigade","compatibility":4,"releases":[{"id":"01001DC012E7E000","region":null}]},{"id":"7f7a7505-d5a7-41a7-b4c2-f079309dccd1","directory":"march-to-a-million","title":"March to a Million","compatibility":99,"releases":[{"id":"010097500E552000","region":null}]},{"id":"7f806ffd-8a0b-4b83-a5be-67aaf082f107","directory":"what-the-box","title":"What the Box?","compatibility":99,"releases":[{"id":"010066F00DD50000","region":null}]},{"id":"7f8ca5b1-4bfd-47ab-be31-e6ef40ed59cf","directory":"innerspace","title":"InnerSpace","compatibility":0,"releases":[{"id":"0100F200049C8000","region":null}]},{"id":"7f97e748-0eb3-4f2a-a208-138f5d397afb","directory":"arcade-archives-ninja-kid-ii","title":"Arcade Archives Ninja-Kid II","compatibility":4,"releases":[{"id":"0100D3F009810000","region":null}]},{"id":"7f992364-9576-4902-b054-eeee29cbae00","directory":"ultimate-custom-night","title":"Ultimate Custom Night","compatibility":99,"releases":[{"id":"010033500E444000","region":null}]},{"id":"7fa3b028-8212-4c15-aaa0-0767ac4dcad8","directory":"hot-gimmick-cosplay-jong-for-nintendo-switch","title":"Hot Gimmick Cosplay-jong for Nintendo Switch","compatibility":99,"releases":[{"id":"010025A00AACE000","region":null}]},{"id":"7faf0569-72f5-4909-b3d4-bd574060d1c8","directory":"ninja-buddy-epic-quest","title":"Ninja Buddy Epic Quest","compatibility":99,"releases":[{"id":"0100573013D46000","region":null}]},{"id":"7fc9e74f-94df-472a-a33d-52b368f24883","directory":"tales-of-the-tiny-planet","title":"Tales of the Tiny Planet","compatibility":1,"releases":[{"id":"0100408007078000","region":null}]},{"id":"7fcc120b-ef19-4ec0-96d1-0b5c5c60eee4","directory":"ghost-of-a-tale","title":"Ghost of a Tale","compatibility":3,"releases":[{"id":"0100D140112BC000","region":null}]},{"id":"7fd3d3e1-dfd2-4f0e-9cf0-c3424d681a2e","directory":"avenger-bird","title":"Avenger Bird","compatibility":99,"releases":[{"id":"010016300D172000","region":null}]},{"id":"7fdecffb-a163-4bd7-8026-62f854d707fc","directory":"geminose-animal-popstars","title":"Geminose Animal Popstars","compatibility":99,"releases":[{"id":"0100DBC013492000","region":null}]},{"id":"7fe6ef8f-4dcb-4021-8553-3a2775f3688d","directory":"warplanes-ww1-sky-aces","title":"Warplanes: WW1 Sky Aces","compatibility":99,"releases":[{"id":"01005E201301A000","region":null}]},{"id":"7ff4bfe4-94b8-4a0b-a811-545e11c6dd4f","directory":"earthworms-demo","title":"Earthworms Demo","compatibility":99,"releases":[{"id":"0100E3500BD84000","region":null}]},{"id":"8010d5cc-6505-4a47-9f59-6f4c2679c62c","directory":"milanoir","title":"Milanoir","compatibility":3,"releases":[{"id":"0100CFF0048D2000","region":null}]},{"id":"8019aa5b-b85a-43c5-9352-cbdddf281d2d","directory":"danger-scavenger","title":"Danger Scavenger","compatibility":99,"releases":[{"id":"0100EFA013E7C000","region":null}]},{"id":"801b6009-d079-41ed-9da8-d1029843484a","directory":"skyland-rush-air-raid-attack","title":"Skyland Rush - Air Raid Attack","compatibility":99,"releases":[{"id":"0100CAC011F46000","region":null}]},{"id":"801cd70a-f406-465c-b331-d5b616050dae","directory":"desktop-soccer-trial-edition","title":"Desktop Soccer Trial Edition","compatibility":99,"releases":[{"id":"010047300CB92000","region":null}]},{"id":"80393f41-219f-4ca5-8a29-39f551f71519","directory":"outlast-bundle-of-terror","title":"Outlast: Bundle of Terror","compatibility":1,"releases":[{"id":"01008D4007A1E000","region":null}]},{"id":"803cc555-aa83-4331-9121-54f1bbc2bbcf","directory":"super-wiloo-demake","title":"Super Wiloo Demake","compatibility":99,"releases":[{"id":"010076300EE80000","region":null}]},{"id":"803d72e1-c6e4-4dc7-ac68-b0182c48fe8f","directory":"johnny-turbos-arcade-two-crude-dudes","title":"Johnny Turbo's Arcade: Two Crude Dudes","compatibility":4,"releases":[{"id":"010080D002CC6000","region":null}]},{"id":"803e401e-2611-476e-a449-92190b107737","directory":"wild-horror-pinball","title":"Wild & Horror Pinball","compatibility":99,"releases":[{"id":"0100D0A0164C6000","region":null}]},{"id":"8041204d-4f52-4081-8571-fc644a701460","directory":"jigsaw-finale","title":"Jigsaw Finale","compatibility":99,"releases":[{"id":"01007B201621A000","region":null}]},{"id":"804481dd-6a32-4775-b80e-a3f8290cd245","directory":"silver-chains","title":"Silver Chains","compatibility":1,"releases":[{"id":"0100074010E74000","region":null}]},{"id":"806224c3-bed3-4084-8602-efeac41f493e","directory":"city-bus-driving-simulator","title":"City Bus Driving Simulator","compatibility":99,"releases":[{"id":"01005E501284E000","region":null}]},{"id":"806c712b-cf74-4185-80fa-65c56bd3f50d","directory":"one-last-memory","title":"One Last Memory","compatibility":99,"releases":[{"id":"0100C19015F0C000","region":null}]},{"id":"8079e5ad-1c6d-4c80-97e0-c5cc04074b1e","directory":"isolomus","title":"Isolomus","compatibility":99,"releases":[{"id":"010001F0145A8000","region":null}]},{"id":"807b7f06-ca22-4ba0-afdb-1bfc44ec9fd1","directory":"hexologic","title":"Hexologic","compatibility":99,"releases":[{"id":"010016300A95A000","region":null}]},{"id":"807c53b4-968a-4888-bffc-064be78aaa4b","directory":"boot-hill-bounties","title":"Boot Hill Bounties","compatibility":99,"releases":[{"id":"0100D5900B4CA000","region":null}]},{"id":"807fe4d3-e4e0-4f52-9008-2327b6ccb083","directory":"atelier-sophie-the-alchemist-of-the-mysterious-book-dx","title":"Atelier Sophie: The Alchemist of the Mysterious Book DX","compatibility":2,"releases":[{"id":"0100D8701421C000","region":null}]},{"id":"80808b12-ce36-46ff-a4d0-97191e820fcf","directory":"mutant-year-zero-road-to-eden-deluxe-edition","title":"Mutant Year Zero: Road to Eden - Deluxe Edition","compatibility":99,"releases":[{"id":"0100E6B00DEA4000","region":null}]},{"id":"80910432-d4da-4869-9a12-acc8c400e85e","directory":"my-universe-fashion-boutique","title":"My Universe - Fashion Boutique","compatibility":99,"releases":[{"id":"0100F71011A0A000","region":null}]},{"id":"80ab008f-3327-4bc0-a376-0fd30337ac4b","directory":"farmer-sim-2020","title":"Farmer Sim 2020","compatibility":3,"releases":[{"id":"01001BB00F20E000","region":null}]},{"id":"80bf96df-f2fc-471e-b487-c32999a8b8b2","directory":"i-am-dead","title":"I Am Dead","compatibility":99,"releases":[{"id":"0100E6501145E000","region":null}]},{"id":"80c61888-d1a4-4861-849b-9a4647af210e","directory":"pillar","title":"Pillar","compatibility":99,"releases":[{"id":"010098500D532000","region":null}]},{"id":"80d3b4f8-5a4f-49a6-8906-4863162fb2bb","directory":"find-10-differences","title":"Find 10 Differences","compatibility":99,"releases":[{"id":"010046801537E000","region":null}]},{"id":"80d5c6c6-5fbc-4041-8146-8b2d56036dcc","directory":"the-first-tree","title":"The First Tree","compatibility":0,"releases":[{"id":"010098800A1E4000","region":null}]},{"id":"80e307cc-0d46-413f-a331-2d726de900c4","directory":"30-in-1-game-collection","title":"30-in-1 Game Collection","compatibility":99,"releases":[{"id":"010056D00E234000","region":null}]},{"id":"80e9da6c-1ec9-4aae-8e07-0e02ac0505b8","directory":"wilmots-warehouse","title":"Wilmot's Warehouse","compatibility":99,"releases":[{"id":"010071F00D65A000","region":null}]},{"id":"80eea466-cfd5-445d-b9ee-dd2cc21a06c0","directory":"monster-truck-xt-airport-derby","title":"Monster Truck XT Airport Derby","compatibility":0,"releases":[{"id":"01000460144B4000","region":null}]},{"id":"80ff340b-7988-414f-9708-22d4ee5ab123","directory":"sushi-reversi","title":"SUSHI REVERSI","compatibility":99,"releases":[{"id":"01005AB01119C000","region":null}]},{"id":"810b8530-916d-4452-8623-9ebc5aa8d6d4","directory":"dininho-adventures","title":"Dininho Adventures","compatibility":2,"releases":[{"id":"01002E4011924000","region":null}]},{"id":"81277741-1405-49a3-a544-085948b1c868","directory":"townscaper","title":"Townscaper","compatibility":99,"releases":[{"id":"01001260143FC000","region":null}]},{"id":"812a7c12-9679-4651-8a14-8274f1efe8a3","directory":"ty-the-tasmanian-tiger-hd","title":"TY the Tasmanian Tiger HD","compatibility":3,"releases":[{"id":"010038400C2FE000","region":null}]},{"id":"8136c93a-e17b-4899-9e39-2ad2aa9e4c66","directory":"romeow-in-the-cracked-world","title":"Romeow: in the cracked world","compatibility":99,"releases":[{"id":"0100DE9016798000","region":null}]},{"id":"8137e65f-985d-4e57-addf-f4a6978361bb","directory":"hunters-legacy-purrfect-edition","title":"Hunter's Legacy: Purrfect Edition","compatibility":99,"releases":[{"id":"010068000CAC0000","region":null}]},{"id":"81435995-203f-4231-bb46-383fce97590f","directory":"aca-neogeo-galaxy-fight-universal-warriors","title":"ACA NEOGEO GALAXY FIGHT: UNIVERSAL WARRIORS","compatibility":2,"releases":[{"id":"01002580038DE000","region":null}]},{"id":"8146d74d-300b-4beb-a4c5-9b3bf322efd5","directory":"cinderella-an-interactive-fairytale","title":"Cinderella - An Interactive Fairytale","compatibility":99,"releases":[{"id":"010002200CECA000","region":null}]},{"id":"814aa3ea-620f-4d98-8ed0-356af6774973","directory":"the-adventures-of-elena-temple","title":"The Adventures of Elena Temple","compatibility":99,"releases":[{"id":"010035C00A4BC000","region":null}]},{"id":"814d5be5-d1f2-4a61-9909-7077e00a1a7f","directory":"car-trader-simulator","title":"Car Trader Simulator","compatibility":99,"releases":[{"id":"0100E5E010EA6000","region":null}]},{"id":"8151b3d7-d332-4774-b4ee-51aa65133488","directory":"skelattack","title":"Skelattack","compatibility":1,"releases":[{"id":"01001A900F862000","region":null}]},{"id":"815204ec-8395-4ca0-b8e0-0277b47818d1","directory":"professional-construction-the-simulation","title":"Professional Construction – The Simulation","compatibility":99,"releases":[{"id":"0100A9800A1B6000","region":null}]},{"id":"8154c209-7fc3-49e0-97c8-f5bdb42142be","directory":"tales-of-djungarian-hamster","title":"Tales of Djungarian Hamster","compatibility":99,"releases":[{"id":"0100D6F012AE6000","region":null}]},{"id":"81554e8d-e085-46b1-b4d3-f44a6a7754ed","directory":"shining-resonance-refrain-demo","title":"Shining Resonance Refrain Demo","compatibility":99,"releases":[{"id":"01006EE00AE38000","region":null}]},{"id":"815857a9-41db-4d5e-86a6-1b7a10580e70","directory":"arcade-archives-space-cruiser","title":"Arcade Archives SPACE CRUISER","compatibility":99,"releases":[{"id":"0100B43015796000","region":null}]},{"id":"8160310e-562f-4f46-a000-dc7d273f221a","directory":"vectronom","title":"Vectronom","compatibility":99,"releases":[{"id":"010084000DAF6000","region":null}]},{"id":"8168aece-e52b-4370-90cd-c364af53269b","directory":"lost-lands-dark-overlord-free-to-play","title":"Lost Lands: Dark Overlord (free to play)","compatibility":99,"releases":[{"id":"0100A3B0107AE000","region":null}]},{"id":"8183851a-7add-4b2d-912f-ff9e6c4434ad","directory":"splashy-cube","title":"Splashy Cube","compatibility":99,"releases":[{"id":"01000650134FE000","region":null}]},{"id":"818a8d2f-c6fc-44ad-b80f-2f6ee789f32e","directory":"immortal-realms-vampire-wars","title":"Immortal Realms: Vampire Wars","compatibility":99,"releases":[{"id":"010079501025C000","region":null}]},{"id":"81a456d3-355f-4997-8c53-832037d5bf24","directory":"ghostbusters-the-video-game-remastered","title":"Ghostbusters: The Video Game Remastered","compatibility":3,"releases":[{"id":"0100EAE00D9EC000","region":null}]},{"id":"81b44865-a038-4205-afb7-27e18390a549","directory":"zombie-hill-race","title":"Zombie Hill Race","compatibility":0,"releases":[{"id":"01001010134EA000","region":null}]},{"id":"81b8a386-9ab2-4781-a56c-8739a6a70805","directory":"impossible-mission","title":"Impossible Mission","compatibility":5,"releases":[{"id":"0100345009240000","region":null}]},{"id":"81c2b67a-df44-48c4-9fe2-dceca7999493","directory":"myastere-ruins-of-deazniff","title":"Myastere -Ruins of Deazniff-","compatibility":5,"releases":[{"id":"01003E3013BE4000","region":null}]},{"id":"81cd6357-aff5-4f69-a78b-6e703fef41a3","directory":"the-last-dead-end","title":"The Last Dead End","compatibility":99,"releases":[{"id":"0100AAD011592000","region":null}]},{"id":"81e356a5-aa8b-4cfc-93d5-73ad902285b8","directory":"aaa-clock","title":"AAA Clock","compatibility":99,"releases":[{"id":"0100179015DE0000","region":null}]},{"id":"81e5c9e9-856a-4133-a930-9fa8cc29018a","directory":"ramageddon","title":"Ramageddon","compatibility":99,"releases":[{"id":"0100D7801281A000","region":null}]},{"id":"81f85c11-b7b5-4a53-9172-82fd2d868c33","directory":"flying-girl-striker","title":"FLYING GIRL STRIKER","compatibility":99,"releases":[{"id":"0100CCA00EDCE000","region":null}]},{"id":"81fb495f-e8cb-4b7f-abba-71f0df61f3a0","directory":"jewel-fever-2","title":"Jewel Fever 2","compatibility":99,"releases":[{"id":"0100A4900B2DE000","region":null}]},{"id":"8209e9a5-8b7a-476c-abf2-2ed8a2c6c639","directory":"fighting-fantasy-legends","title":"Fighting Fantasy Legends","compatibility":99,"releases":[{"id":"01003C5015608000","region":null}]},{"id":"8210137f-7f9d-4894-a663-faf08973f201","directory":"pineview-drive","title":"Pineview Drive","compatibility":99,"releases":[{"id":"010000F013E10000","region":null}]},{"id":"82125e34-ebd4-4853-8d27-b49bf8b60298","directory":"staxel","title":"Staxel","compatibility":99,"releases":[{"id":"0100FEF00BE9C000","region":null}]},{"id":"82225d5a-5112-44a2-ad30-7e5321a46758","directory":"country-tales","title":"Country Tales","compatibility":99,"releases":[{"id":"0100C1E012A42000","region":null}]},{"id":"82349dec-4045-483f-9d9d-0e0eea9d8acf","directory":"aca-neogeo-power-spikes-ii","title":"ACA NEOGEO POWER SPIKES II","compatibility":3,"releases":[{"id":"01000F3008718000","region":null}]},{"id":"824e13bb-831a-4c80-95d6-390b1e1cc5e4","directory":"voez","title":"VOEZ","compatibility":0,"releases":[{"id":"0100A7F002830000","region":null}]},{"id":"824f3a32-cb40-4da9-9620-98827bd08bd1","directory":"raiden-v-directors-cut","title":"Raiden V: Director's Cut","compatibility":4,"releases":[{"id":"01002B000D97E000","region":null}]},{"id":"82608e63-69a5-4e43-a9cf-c000f8a0125b","directory":"the-journey-down-chapter-three","title":"The Journey Down: Chapter Three","compatibility":99,"releases":[{"id":"01006BC00B188000","region":null}]},{"id":"82618761-07d9-4f84-84e5-5a27e3ccb1c3","directory":"mainframe-defenders","title":"Mainframe Defenders","compatibility":99,"releases":[{"id":"0100B2801518E000","region":null}]},{"id":"82619092-90b9-481d-a247-d54eb0f95a67","directory":"void","title":"V.O.I.D.","compatibility":99,"releases":[{"id":"010040000D08E000","region":null}]},{"id":"8267c6d7-ff9d-4846-b3a6-c9b8cf5bfeed","directory":"old-school-rpg-bundle","title":"Old School RPG Bundle","compatibility":99,"releases":[{"id":"010053200F49E000","region":null}]},{"id":"82687868-0a4a-4ae2-93c2-03479664a200","directory":"airfield-mania","title":"Airfield Mania","compatibility":99,"releases":[{"id":"01009DF00DB42000","region":null}]},{"id":"8268fe5f-1551-474e-a2d7-f0a38808fe9b","directory":"mighty-gunvolt-burst-demo","title":"MIGHTY GUNVOLT BURST Demo","compatibility":4,"releases":[{"id":"010045B00849C000","region":null}]},{"id":"826d9568-2837-4e67-8419-7962dda73552","directory":"the-adventures-of-elena-temple-definitive-edition","title":"The Adventures of Elena Temple: Definitive Edition","compatibility":99,"releases":[{"id":"0100F5D01034E000","region":null}]},{"id":"82703798-50b2-4b0f-9cc4-abdd2b2fae0d","directory":"bayala-the-game","title":"bayala - the game","compatibility":99,"releases":[{"id":"0100194010422000","region":null}]},{"id":"827b3b8d-42f1-4a4c-b74e-363b98ff1167","directory":"ultimate-racing-2d","title":"Ultimate Racing 2D","compatibility":0,"releases":[{"id":"01009D000FAE0000","region":null}]},{"id":"8280218e-668c-456c-80b7-526d74f52410","directory":"wheel-of-fortune","title":"Wheel of Fortune","compatibility":2,"releases":[{"id":"010033600ADE6000","region":null}]},{"id":"8283c607-9b19-42ff-aecf-713d2ec9dc33","directory":"observer","title":"Observer","compatibility":1,"releases":[{"id":"01002A000C478000","region":null}]},{"id":"8298ab2f-ebfb-4422-9701-3e1d8e00da6c","directory":"winkings","title":"WinKings","compatibility":99,"releases":[{"id":"010046F00F5E4000","region":null}]},{"id":"829d239a-abbd-44d7-8d44-311e6a567415","directory":"steinsgate-my-darlings-embrace","title":"STEINS;GATE: My Darling's Embrace","compatibility":99,"releases":[{"id":"0100CB400E9BC000","region":null}]},{"id":"82aaed85-a436-4fac-9eb9-3deccf0d8d5b","directory":"enigmatis-2-the-mists-of-ravenwood","title":"Enigmatis 2: The Mists of Ravenwood","compatibility":5,"releases":[{"id":"0100C6200A0AA000","region":null}]},{"id":"82b09097-8cd2-44b3-95b2-6c7ca9877fee","directory":"arcade-archives-pirate-pete","title":"Arcade Archives PIRATE PETE","compatibility":99,"releases":[{"id":"0100FAC011CEE000","region":null}]},{"id":"82b17c91-63cf-4724-8c54-49170e033579","directory":"monument","title":"Monument","compatibility":99,"releases":[{"id":"010091C013F6E000","region":null}]},{"id":"82c37a13-f76b-48a5-85ca-0a1980cc79c9","directory":"keep-talking-and-nobody-explodes","title":"Keep Talking and Nobody Explodes","compatibility":99,"releases":[{"id":"01008D400A584000","region":null}]},{"id":"82d1cf54-8b47-47f5-984c-770b313c4872","directory":"the-addams-family-mansion-mayhem","title":"The Addams Family: Mansion Mayhem","compatibility":1,"releases":[{"id":"01007B701315E000","region":null}]},{"id":"82d27cca-cb2e-44c9-b7c3-f4d89681b61b","directory":"ministry-of-broadcast","title":"Ministry of Broadcast","compatibility":99,"releases":[{"id":"010069200EB80000","region":null}]},{"id":"82db4e64-5c02-441d-9a2d-671ba7ba73be","directory":"rise-of-the-slime","title":"Rise of the Slime","compatibility":99,"releases":[{"id":"01000CA013AF2000","region":null}]},{"id":"82dfc0a0-8226-4c59-9b7e-9d555e0873bb","directory":"volta-x","title":"Volta-X","compatibility":99,"releases":[{"id":"0100A7900E79C000","region":null}]},{"id":"82e8408a-8cd0-46ea-bf02-8009dd9bb103","directory":"stikbold-a-dodgeball-adventure-deluxe","title":"Stikbold! A Dodgeball Adventure DELUXE","compatibility":99,"releases":[{"id":"0100E24006FA8000","region":null}]},{"id":"82ea772c-67d8-4080-acae-57b2ec919316","directory":"slabwell-the-quest-for-kaktuns-alpaca","title":"SlabWell: The Quest For Kaktun's Alpaca","compatibility":99,"releases":[{"id":"01003AD00DEAE000","region":null}]},{"id":"82f14198-45ea-4d4d-a6d0-aee5df38faef","directory":"nullum","title":"Nullum","compatibility":99,"releases":[{"id":"0100EE5013198000","region":null}]},{"id":"82f98319-586e-43d3-a4e5-ef87e2e03382","directory":"downwell","title":"Downwell","compatibility":5,"releases":[{"id":"010093D00C726000","region":null}]},{"id":"82f99bfb-462d-43b7-b36a-fd12c5cf93a8","directory":"batbarian-testament-of-the-primordials","title":"Batbarian: Testament of the Primordials","compatibility":1,"releases":[{"id":"01005F3012748000","region":null}]},{"id":"830a7778-4bd8-41c5-b7c3-d98f6625cd18","directory":"scarlett-mysteries-cursed-child","title":"Scarlett Mysteries: Cursed Child","compatibility":99,"releases":[{"id":"01006A800FD60000","region":null}]},{"id":"831a58ce-10b0-4391-a1b7-e8f73e87f155","directory":"crayola-scoot","title":"Crayola Scoot","compatibility":2,"releases":[{"id":"0100C66007E96000","region":null}]},{"id":"831af724-fc38-4afd-a23c-ed56f55cbdf9","directory":"arcade-archives-legend-of-makai","title":"Arcade Archives LEGEND OF MAKAI","compatibility":99,"releases":[{"id":"01007DB013B06000","region":null}]},{"id":"8321e063-2ca6-44b7-a6e1-ab5db7f4613f","directory":"sparkle-2-evo","title":"Sparkle 2 EVO","compatibility":99,"releases":[{"id":"010079F00671C000","region":null}]},{"id":"832a5531-43af-4714-be47-e192855f8fb8","directory":"arcade-space-shooter-2-in-1","title":"Arcade Space Shooter 2 in 1","compatibility":99,"releases":[{"id":"0100717014938000","region":null}]},{"id":"832be336-92ba-46a2-80ac-0f56f516903b","directory":"9-ball-pocket","title":"9-Ball Pocket","compatibility":99,"releases":[{"id":"0100D63016060000","region":null}]},{"id":"832d2fcb-f62e-4236-8a19-d45ae9d9773a","directory":"lawnmower-game-racing","title":"Lawnmower Game: Racing","compatibility":99,"releases":[{"id":"0100065013F20000","region":null}]},{"id":"83380732-03b1-4f67-9946-c145c1842348","directory":"ethan-meteor-hunter","title":"Ethan: Meteor Hunter","compatibility":99,"releases":[{"id":"0100CDE00C87C000","region":null}]},{"id":"8344e3ae-8cdd-48ae-8e08-75b9ae7e7aef","directory":"neon-hell","title":"Neon Hell","compatibility":99,"releases":[{"id":"01009B90169D8000","region":null}]},{"id":"83588d34-ac66-4675-8018-502315a3a00c","directory":"spider-solitaire","title":"Spider Solitaire","compatibility":99,"releases":[{"id":"010092A0102AE000","region":null}]},{"id":"837564bc-3246-41a2-908d-5e8952a61e00","directory":"secret-files-2-puritas-cordis","title":"Secret Files 2: Puritas Cordis","compatibility":99,"releases":[{"id":"010079100D950000","region":null}]},{"id":"83766ac8-8652-4c6f-8769-412aea2027c9","directory":"summer-sports-games","title":"Summer Sports Games","compatibility":0,"releases":[{"id":"010083600D930000","region":null}]},{"id":"83818685-e693-4f8b-914a-061fc7a44c16","directory":"crysis-remastered","title":"Crysis Remastered","compatibility":2,"releases":[{"id":"0100E66010ADE000","region":null}]},{"id":"83884900-4a12-4bd1-9155-9624b0f91c7f","directory":"worbital","title":"Worbital","compatibility":99,"releases":[{"id":"010097A0071A8000","region":null}]},{"id":"838c1d06-4b10-4428-af60-e9bef4b21302","directory":"just-shapes-and-beats","title":"Just Shapes & Beats","compatibility":3,"releases":[{"id":"0100830008426000","region":null}]},{"id":"83914aa8-113d-4178-b4cc-636be0c7e9de","directory":"10-second-run-returns-demo","title":"10 Second Run RETURNS Demo","compatibility":3,"releases":[{"id":"0100DC000A472000","region":null}]},{"id":"83977584-09a5-4730-8ff5-b7b20ab78f01","directory":"silver-falls-episode-prelude","title":"Silver Falls Episode Prelude","compatibility":99,"releases":[{"id":"010038B0147E2000","region":null}]},{"id":"8398cd6c-ab74-40d2-9b37-fe4e62031e0e","directory":"spice-and-wolf-vr","title":"Spice and Wolf VR","compatibility":0,"releases":[{"id":"0100C9B00EAEE000","region":null}]},{"id":"83ab0d35-bea9-4364-9a70-c3bc91acbe03","directory":"nerved","title":"Nerved","compatibility":99,"releases":[{"id":"01008B0010160000","region":null}]},{"id":"83b607a7-6db9-4ffc-921e-b6075612109c","directory":"sweet-bakery-tycoon","title":"Sweet Bakery Tycoon","compatibility":99,"releases":[{"id":"010072401447A000","region":null}]},{"id":"83ba7be9-2f2c-42e3-ba56-f1ff6a0e0943","directory":"aca-neogeo-zed-blade","title":"ACA NEOGEO ZED BLADE","compatibility":4,"releases":[{"id":"01005AF004DBC000","region":null}]},{"id":"83c3dd31-1a8a-4469-873d-e6f1c7e93b7b","directory":"postal-redux","title":"Postal REDUX","compatibility":99,"releases":[{"id":"0100C31011C24000","region":null}]},{"id":"83c4cfe4-4793-4049-8860-e97edd2c715e","directory":"the-bridge-demo","title":"The Bridge Demo","compatibility":99,"releases":[{"id":"0100E3500B00E000","region":null}]},{"id":"83cee6f0-c2e7-4680-a620-26a3fd8b2826","directory":"mystic-fate","title":"Mystic Fate","compatibility":99,"releases":[{"id":"010059701386C000","region":null}]},{"id":"83df5578-cd06-4ecb-b6b7-7d9aadc06204","directory":"awesome-pea-demo","title":"Awesome Pea (Demo)","compatibility":99,"releases":[{"id":"010023800D3F2000","region":null}]},{"id":"83e0433d-833d-4680-a4e7-dfe81ce479f3","directory":"aca-neogeo-blues-journey","title":"ACA NEOGEO BLUE'S JOURNEY","compatibility":1,"releases":[{"id":"0100379003900000","region":null}]},{"id":"83e9f8d8-9a25-4591-b1f9-77b1732ee53d","directory":"roundguard","title":"Roundguard","compatibility":99,"releases":[{"id":"010074300F7F6000","region":null}]},{"id":"83eec6a0-73b0-4ef9-945e-01f35d067db5","directory":"escape-game-aloha","title":"Escape Game : Aloha","compatibility":99,"releases":[{"id":"010079100A2F4000","region":null}]},{"id":"83f3403f-f4e3-4bce-9db3-c06472800543","directory":"dead-end-job","title":"Dead End Job","compatibility":99,"releases":[{"id":"01004C500BD40000","region":null}]},{"id":"84104c4b-a53e-4bce-8671-022ea96b6e10","directory":"assault-on-metaltron","title":"Assault On Metaltron","compatibility":99,"releases":[{"id":"0100F0A00C2F2000","region":null}]},{"id":"843225fb-96e4-471a-9cc4-b88c93f30833","directory":"ninjala","title":"Ninjala","compatibility":4,"releases":[{"id":"0100CCD0073EA000","region":null}]},{"id":"843d7b9d-ca76-490d-ad51-89cfc210b4c9","directory":"poison-control","title":"Poison Control","compatibility":1,"releases":[{"id":"0100EB6012FD2000","region":null}]},{"id":"844616dd-1c04-48bf-a472-d45faf2a6dda","directory":"hero-u-rogue-to-redemption","title":"Hero-U: Rogue to Redemption","compatibility":99,"releases":[{"id":"010077D01094C000","region":null}]},{"id":"8449f377-5d3c-41ad-9e01-f0623468fc64","directory":"root-letter-last-answer","title":"Root Letter: Last Answer","compatibility":3,"releases":[{"id":"010030A00DA3A000","region":null}]},{"id":"844a109e-c8ba-4ef0-81e8-d258b1b21ba5","directory":"hello-kitty-kruisers-with-sanrio-friends","title":"Hello Kitty Kruisers With Sanrio Friends","compatibility":1,"releases":[{"id":"010087D0084A8000","region":null}]},{"id":"844af9c6-a1d2-4d37-badc-6ca352273ef0","directory":"arcade-archives-donkey-kong","title":"Arcade Archives DONKEY KONG","compatibility":1,"releases":[{"id":"0100E9E00B052000","region":null}]},{"id":"8450ab3b-34e8-40ac-81ea-50e90771cb49","directory":"rxn-raijin-","title":"RXN -Raijin-","compatibility":1,"releases":[{"id":"010012C0060F0000","region":null}]},{"id":"8458a748-9bf0-4ba5-85f9-7b089bea3b2e","directory":"captain-sabertooth-and-the-magic-diamond","title":"Captain Sabertooth and the Magic Diamond","compatibility":3,"releases":[{"id":"0100F0C011A0C000","region":null}]},{"id":"8461201b-48a5-4d1b-9058-d91572acbca3","directory":"headliner-novinews","title":"Headliner: NoviNews","compatibility":99,"releases":[{"id":"0100EFE00E1DC000","region":null}]},{"id":"8462dbcf-117b-4531-a628-f195a8e5d7a7","directory":"monster-prom-xxl","title":"Monster Prom: XXL","compatibility":99,"releases":[{"id":"0100C9600D028000","region":null}]},{"id":"84695a43-aaa0-4769-a7d6-4fbb6a98846e","directory":"goonya-fighter","title":"Goonya Fighter","compatibility":99,"releases":[{"id":"010098000D646000","region":null}]},{"id":"846a4ba3-4b32-42f5-b933-a3b97c2e1832","directory":"arcade-archives-urban-champion","title":"Arcade Archives URBAN CHAMPION","compatibility":4,"releases":[{"id":"010042200BE0C000","region":null}]},{"id":"8478e318-7d20-4edd-9ecc-f791906c80c8","directory":"timingooo","title":"TIMINGooo!","compatibility":99,"releases":[{"id":"010074B0168F2000","region":null}]},{"id":"848b241a-0356-4f39-9036-4187ef94e78d","directory":"full-metal-furies","title":"Full Metal Furies","compatibility":4,"releases":[{"id":"010079300AD54000","region":null}]},{"id":"848ce2b3-702f-496a-ba38-87031581934b","directory":"self","title":"SELF","compatibility":99,"releases":[{"id":"0100D7300E966000","region":null}]},{"id":"84a8b645-f11f-4972-b675-efdda0a3851b","directory":"umihara-kawase-bazooka","title":"Umihara Kawase BaZooKa!","compatibility":99,"releases":[{"id":"0100842011BD6000","region":null}]},{"id":"84ab7630-1507-4322-b369-cdd53b40cbbe","directory":"super-dungeon-tactics","title":"Super Dungeon Tactics","compatibility":99,"releases":[{"id":"010023100B19A000","region":null}]},{"id":"84aca464-bb94-436c-89d7-845747b355e6","directory":"mind-scanners","title":"Mind Scanners","compatibility":99,"releases":[{"id":"0100D8C01535C000","region":null}]},{"id":"84b10de3-73f7-4df5-bbb5-36af63ff8424","directory":"pixel-game-maker-series-isekai-quartet-adventure-action-game","title":"Pixel Game Maker Series ISEKAI QUARTET Adventure:Action Game","compatibility":99,"releases":[{"id":"0100F71014BFE000","region":null}]},{"id":"84b2140b-14fe-46e2-b063-c49b36f3963b","directory":"grand-brix-shooter","title":"Grand Brix Shooter","compatibility":3,"releases":[{"id":"010038D00EC88000","region":null}]},{"id":"84bb1cb0-2bc3-4ccc-b5d2-8890021620a2","directory":"diamond-girl-an-earnest-education-in-love","title":"Diamond Girl ★An Earnest Education in Love★","compatibility":2,"releases":[{"id":"0100B9B011DA4000","region":null}]},{"id":"84c4503c-88dd-45ca-abba-8c36c2518e29","directory":"la-mulana-2","title":"LA-MULANA 2","compatibility":2,"releases":[{"id":"010038000F644000","region":null}]},{"id":"84cbd2a9-9f8f-4336-80f9-c8ad1ffb4828","directory":"aca-neogeo-world-heroes-perfect","title":"ACA NEOGEO WORLD HEROES PERFECT","compatibility":4,"releases":[{"id":"01009D4001DC4000","region":null}]},{"id":"84cbf8de-9d1c-48ac-a479-12a2c9d8108f","directory":"disney-classic-games-aladdin-and-the-lion-king","title":"Disney Classic Games: Aladdin and The Lion King","compatibility":2,"releases":[{"id":"0100A2F00EEFC000","region":null}]},{"id":"84cda573-fc55-43a2-8778-bcd20709eaf3","directory":"spellbreak","title":"Spellbreak","compatibility":99,"releases":[{"id":"010076C01015C000","region":null}]},{"id":"84d1b8d4-8bfc-4336-9667-a14a9d5a185a","directory":"droneridge","title":"DroneRidge","compatibility":99,"releases":[{"id":"010009201121C000","region":null}]},{"id":"84d5c2d0-4a4c-4eb7-84b5-4ce6c0cecf32","directory":"oniken-unstoppable-edition-and-odallus-the-dark-call-bundle","title":"Oniken: Unstoppable Edition & Odallus: The Dark Call Bundle","compatibility":3,"releases":[{"id":"0100E1800E202000","region":null}]},{"id":"84dc076c-05ab-4e75-a4cf-d6b6a944a85c","directory":"monster-viator","title":"Monster Viator","compatibility":99,"releases":[{"id":"01001620105FE000","region":null}]},{"id":"84de46de-53ff-4316-8b32-987aba820681","directory":"blow-up-monsters","title":"Blow Up Monsters","compatibility":99,"releases":[{"id":"01005840143D2000","region":null}]},{"id":"84e85787-a7b6-42f3-be90-2ac721149d68","directory":"the-wonderful-101-remastered","title":"The Wonderful 101: Remastered","compatibility":0,"releases":[{"id":"0100B1300FF08000","region":null}]},{"id":"84f5420c-6cba-4717-91a9-14c04e8a9af6","directory":"everything","title":"Everything","compatibility":99,"releases":[{"id":"010031F00B246000","region":null}]},{"id":"8501bb39-59ff-4d1a-bdc0-6f0a7f1f231b","directory":"sega-ages-columns-ii-a-voyage-through-time","title":"SEGA AGES Columns II: A Voyage Through Time","compatibility":1,"releases":[{"id":"0100A0600C610000","region":null}]},{"id":"850d6e1e-b91b-46ab-918e-75ed12b6391b","directory":"the-golf","title":"The Golf","compatibility":0,"releases":[{"id":"010014A00AC5A000","region":null}]},{"id":"851e4bbf-d0d0-4a0a-8f4e-8c2b87158817","directory":"connect-color-dots-fun-water-flow-pipe-line-art-puzzle-game","title":"Connect Color Dots: Fun Water Flow Pipe Line Art Puzzle Game","compatibility":99,"releases":[{"id":"0100410014916000","region":null}]},{"id":"852708e7-a139-4b01-8363-ef9b565600db","directory":"galactic-defence-squadron","title":"Galactic Defence Squadron","compatibility":99,"releases":[{"id":"0100E2800BBC2000","region":null}]},{"id":"8535df2f-9001-4e59-851c-8f6d658637fb","directory":"black-legend","title":"Black Legend","compatibility":99,"releases":[{"id":"0100C3200E7E6000","region":null}]},{"id":"853a6fff-8a6c-4e2d-b2ab-d5f7859d3ce9","directory":"breakfast-bar-tycoon","title":"Breakfast Bar Tycoon","compatibility":99,"releases":[{"id":"01003320103F0000","region":null}]},{"id":"8545e39e-515f-4b66-ba9f-7f1cc53d5ef0","directory":"between-time-escape-room","title":"Between Time: Escape Room","compatibility":99,"releases":[{"id":"010048B016406000","region":null}]},{"id":"855cdc43-568a-4699-b52f-7a4f8d104dfe","directory":"aground","title":"Aground","compatibility":99,"releases":[{"id":"01007C300E74C000","region":null}]},{"id":"856fe114-8787-4283-944c-1926a91aed47","directory":"cricktogame-nintendo-switch-edition","title":"CricktoGame: Nintendo Switch Edition","compatibility":99,"releases":[{"id":"0100320009D06000","region":null}]},{"id":"85868732-d3ac-412c-bd81-6194929c9142","directory":"bocce","title":"Bocce","compatibility":99,"releases":[{"id":"01008B001551E000","region":null}]},{"id":"8587dadd-bb74-4433-acf3-b12221100ef3","directory":"time-tenshi","title":"Time Tenshi","compatibility":1,"releases":[{"id":"0100D24012A04000","region":null}]},{"id":"85918a5f-1bb7-4aea-814d-707ef289b01b","directory":"tropico-6-nintendo-switch-edition","title":"Tropico 6 - Nintendo Switchâ„¢ Edition","compatibility":2,"releases":[{"id":"0100FBE0113CC000","region":null}]},{"id":"85a8d7a1-0a6e-474d-a27b-adf6c0a8a8fe","directory":"red-ball-escape","title":"Red Ball Escape","compatibility":99,"releases":[{"id":"0100B44015420000","region":null}]},{"id":"85a9febe-880b-410a-ab76-5684c6f757ab","directory":"maneater","title":"Maneater","compatibility":3,"releases":[{"id":"010093D00CB22000","region":null}]},{"id":"85b4d2da-52a8-4032-80fe-76ebbd09ebc8","directory":"newt-one","title":"Newt One","compatibility":99,"releases":[{"id":"0100B9500E886000","region":null}]},{"id":"85d20f35-45d1-4eff-98b1-bdcf50e33053","directory":"arcade-archives-road-fighter","title":"Arcade Archives ROAD FIGHTER","compatibility":4,"releases":[{"id":"0100FBA00E35C000","region":null}]},{"id":"85d8c403-79fb-41c9-8c7a-b53c26f37119","directory":"dustoff-z","title":"Dustoff Z","compatibility":99,"releases":[{"id":"0100D7E012F2E000","region":null}]},{"id":"85d8e543-9562-4444-b9a5-cecac897ef6e","directory":"jeopardy","title":"Jeopardy!","compatibility":0,"releases":[{"id":"01006E400AE2A000","region":null}]},{"id":"85e49b3c-5906-42d7-9bc1-b2a4dea78a9f","directory":"circuits","title":"Circuits","compatibility":99,"releases":[{"id":"01008FA00D686000","region":null}]},{"id":"85ee74a1-162d-4e0b-815a-22d1b98d674d","directory":"codebreaker-puzzle-1000-eng-jan","title":"Codebreaker Puzzle 1000! ENG & JAN","compatibility":99,"releases":[{"id":"010011D0142B0000","region":null}]},{"id":"85fc54e0-da31-425d-a632-0ba08b7c9c5e","directory":"aria-chronicle","title":"ARIA CHRONICLE","compatibility":99,"releases":[{"id":"0100691013C46000","region":null}]},{"id":"8600083c-6796-4e15-b004-7c50a2e11590","directory":"no-more-heroes-2-desperate-struggle","title":"No More Heroes 2: Desperate Struggle","compatibility":1,"releases":[{"id":"010071400F204000","region":null}]},{"id":"8600b75e-9307-4c5e-bc0a-2956a73b9dab","directory":"blacksmith-of-the-sand-kingdom","title":"Blacksmith of the Sand Kingdom","compatibility":99,"releases":[{"id":"010068E013450000","region":null}]},{"id":"860decff-d589-4f67-a2d5-a8e006d19b15","directory":"lovers-in-a-dangerous-spacetime","title":"Lovers in a Dangerous Spacetime","compatibility":1,"releases":[{"id":"0100230005A52000","region":null}]},{"id":"864e2fda-afda-418b-8a28-8758b4c735a3","directory":"bow-to-blood-last-captain-standing","title":"Bow to Blood: Last Captain Standing","compatibility":99,"releases":[{"id":"0100B4700C57E000","region":null}]},{"id":"8650a463-d0a7-4998-bfb0-a0620b02285e","directory":"super-sportmatchen","title":"Super Sportmatchen","compatibility":3,"releases":[{"id":"0100A9300A4AE000","region":null}]},{"id":"8669aef8-ad34-4000-bebe-a2f52f55b508","directory":"bravematch","title":"BraveMatch","compatibility":99,"releases":[{"id":"010081501371E000","region":null}]},{"id":"866ee195-3a0f-4b07-92e8-906a801a9dab","directory":"jack-axe","title":"Jack Axe","compatibility":99,"releases":[{"id":"0100EF500EF42000","region":null}]},{"id":"8672c60e-eac6-49c3-b857-a6a40b377d37","directory":"gems-of-magic-fathers-day","title":"Gems of Magic: Father's Day","compatibility":1,"releases":[{"id":"01009AA014EE4000","region":null}]},{"id":"867e7d19-47f2-42b9-aab4-04f2767ad33e","directory":"arcade-archives-terra-force","title":"Arcade Archives TERRA FORCE","compatibility":99,"releases":[{"id":"0100348001DE6000","region":null}]},{"id":"86846760-30bb-48fd-bf6d-624c600c20d8","directory":"arcade-archives-cosmo-police-galivan","title":"Arcade Archives Cosmo Police Galivan","compatibility":99,"releases":[{"id":"010071C00982C000","region":null}]},{"id":"86862d25-3081-4938-983f-34f0fa7c798f","directory":"sega-ages-fantasy-zone","title":"SEGA AGES Fantasy Zone","compatibility":1,"releases":[{"id":"010072100E312000","region":null}]},{"id":"8693e688-150c-495a-8d40-f57571034d89","directory":"killer-queen-black","title":"Killer Queen Black","compatibility":5,"releases":[{"id":"0100F2900B3E2000","region":null}]},{"id":"86b301f5-5a40-436a-bd2e-0a86aff65f5a","directory":"bioshock-infinite-the-complete-edition","title":"BioShock Infinite: The Complete Edition","compatibility":3,"releases":[{"id":"0100D560102C8000","region":null}]},{"id":"86b77f0e-73f3-44bd-aef3-7ddf864a66bf","directory":"monster-puzzle","title":"Monster Puzzle","compatibility":99,"releases":[{"id":"01004DE00DD44000","region":null}]},{"id":"86c8eb74-af74-4c9b-9ddc-da518cd4789f","directory":"retro-city-rampage-dx","title":"Retro City Rampage DX","compatibility":0,"releases":[{"id":"0100F17004156000","region":null}]},{"id":"86cbea62-80e3-4f7b-8d7e-95ac1c29620a","directory":"arcade-classics-anniversary-collection","title":"Arcade Classics Anniversary Collection","compatibility":0,"releases":[{"id":"010050000D6C4000","region":null}]},{"id":"86d32307-2a0f-48c1-8e8f-faee9db7eb47","directory":"deathtrap-dungeon-trilogy","title":"Deathtrap Dungeon Trilogy","compatibility":5,"releases":[{"id":"010061500F462000","region":null}]},{"id":"86dd9157-9b6d-4497-8175-d66888953c09","directory":"date-night-bowling","title":"Date Night Bowling","compatibility":0,"releases":[{"id":"0100713011E92000","region":null}]},{"id":"86e8a82e-1897-4206-9e01-7032ef9fc939","directory":"arcade-spirits","title":"Arcade Spirits","compatibility":99,"releases":[{"id":"010077000F620000","region":null}]},{"id":"86ed348e-99ba-426e-a560-70ed6f27c583","directory":"robozarro","title":"Robozarro","compatibility":99,"releases":[{"id":"010044A010BB8000","region":null}]},{"id":"86ef0b82-1ddd-495f-b375-99796a324cc1","directory":"arcade-archives-double-dragon-ii-the-revenge","title":"Arcade Archives DOUBLE DRAGON II The Revenge","compatibility":5,"releases":[{"id":"01009E3001DDE000","region":null}]},{"id":"86f25dac-5b2a-422b-97a8-5e6b520e2e21","directory":"gal-metal","title":"Gal Metal","compatibility":4,"releases":[{"id":"010048600B14E000","region":null}]},{"id":"86f36f06-9497-415e-8af7-57de36b506db","directory":"gleylancer","title":"Gleylancer","compatibility":1,"releases":[{"id":"010027C016254000","region":null}]},{"id":"86f3afc2-19c0-48d7-9477-8a5d3aecc7cd","directory":"wanderjahr-tryagainorwalkaway-demo","title":"Wanderjahr TryAgainOrWalkAway Demo","compatibility":99,"releases":[{"id":"01004E300899E000","region":null}]},{"id":"87002986-bebd-4860-98f3-e4ee985d9503","directory":"drone-fight","title":"Drone Fight","compatibility":5,"releases":[{"id":"010058C00A916000","region":null}]},{"id":"87056452-4787-4102-9af5-e04e678fed5f","directory":"stories-untold","title":"Stories Untold","compatibility":99,"releases":[{"id":"010074400F6A8000","region":null}]},{"id":"87219e67-336e-4924-8a26-98a50ad8ea08","directory":"noble-armada-lost-worlds","title":"NOBLE ARMADA: LOST WORLDS","compatibility":99,"releases":[{"id":"010068000D9F2000","region":null}]},{"id":"873c3e9b-814c-4d45-a137-27c8aa5f328b","directory":"the-innsmouth-case","title":"The Innsmouth Case","compatibility":4,"releases":[{"id":"0100E680138CA000","region":null}]},{"id":"8743aa8b-ace7-431b-9b3a-1b470080b109","directory":"not-tonight-take-back-control-edition","title":"Not Tonight: Take Back Control Edition","compatibility":2,"releases":[{"id":"0100DAF00D0E2000","region":null}]},{"id":"8752df05-3929-4401-9993-5b34f7ca43ed","directory":"abyss-of-the-sacrifice","title":"密室ã®ã‚µã‚¯ãƒªãƒ•ã‚¡ã‚¤ã‚¹ï¼ABYSS OF THE SACRIFICE","compatibility":1,"releases":[{"id":"010047F012BE2000","region":null}]},{"id":"875eb566-50c2-4b2f-ac2e-775b6cc3d303","directory":"super-fowlst-2","title":"Super Fowlst 2","compatibility":99,"releases":[{"id":"0100DD7014AA0000","region":null}]},{"id":"8764f8ac-c7e0-47a5-a88f-174feaad60e2","directory":"car-wash-cars-trucks-garage-game-for-toddlers-kids","title":"Car Wash – Cars & Trucks Garage Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010032C014CCA000","region":null}]},{"id":"8766d2d9-20c5-4e47-88cf-fedc595e668f","directory":"asdivine-hearts-ii","title":"Asdivine Hearts II","compatibility":1,"releases":[{"id":"01007D300CD8C000","region":null}]},{"id":"877bb525-20c5-47bc-b35f-c15af5a3bada","directory":"volgarr-the-viking","title":"Volgarr the Viking","compatibility":0,"releases":[{"id":"0100B1A0066DC000","region":null}]},{"id":"877dc19e-238c-4f9f-93ff-b5c159ee7730","directory":"1993-shenandoah","title":"1993 Shenandoah","compatibility":99,"releases":[{"id":"010075601150A000","region":null}]},{"id":"87903a63-1841-40bf-aeb5-db6f2849e3e2","directory":"switch-n-shoot","title":"Switch 'N' Shoot","compatibility":2,"releases":[{"id":"0100ABE00CE7C000","region":null}]},{"id":"87943fdb-ba9a-468b-a9ed-e682db764594","directory":"door-kickers","title":"Door Kickers","compatibility":3,"releases":[{"id":"0100B0601205E000","region":null}]},{"id":"8797bfe3-4ba9-430b-a61e-4824a447e23f","directory":"diablo-r-ii-resurrected","title":"Diablo® II: Resurrectedâ„¢","compatibility":4,"releases":[{"id":"0100726014352000","region":null}]},{"id":"87b488c2-91dd-40c7-8c85-c1a22dfefa27","directory":"arcade-archives-gradius-iii","title":"Arcade Archives GRADIUS III","compatibility":99,"releases":[{"id":"01006230131A4000","region":null}]},{"id":"87bb9007-6644-4394-8ecd-8e8d2d878a64","directory":"hyrule-warriors-age-of-calamity","title":"Hyrule Warriors: Age of Calamity","compatibility":2,"releases":[{"id":"01002B00111A2000","region":null}]},{"id":"87bbd418-1966-4fc3-a826-77f195c9f21a","directory":"connect-it","title":"Connect It!","compatibility":99,"releases":[{"id":"010049B014CD0000","region":null}]},{"id":"87bc96bc-a3c4-4977-962f-182f778ea25c","directory":"banner-saga-1","title":"Banner Saga 1","compatibility":5,"releases":[{"id":"0100465008756000","region":null}]},{"id":"87d6780a-82cc-46e9-94ba-2fcaa218b46f","directory":"candy-jump-featuring-frosty","title":"Candy Jump featuring Frosty","compatibility":99,"releases":[{"id":"0100E57013B2E000","region":null}]},{"id":"87d9553c-9c6b-4d09-8e33-82f0cd9f601f","directory":"keen-one-girl-army","title":"Keen: One Girl Army","compatibility":99,"releases":[{"id":"0100D7C01115E000","region":null}]},{"id":"87da6bf3-fd2a-4f86-a156-aad8bec3fa21","directory":"the-four-kings-casino-and-slots","title":"The Four Kings Casino and Slots","compatibility":99,"releases":[{"id":"010034100D096000","region":null}]},{"id":"87e00bc3-1c15-4422-98ee-3d93a476a73e","directory":"trials-rising-standard-edition","title":"Trials Rising Standard Edition","compatibility":4,"releases":[{"id":"01003E800A102000","region":null}]},{"id":"87fce9db-a8b0-441c-a8a7-a0dce24b7dcb","directory":"leopoldo-manquiseil","title":"Leopoldo Manquiseil","compatibility":99,"releases":[{"id":"010094300C888000","region":null}]},{"id":"880825e3-ed9b-4076-ae3f-3849d74efaab","directory":"hexa-maze","title":"Hexa Maze","compatibility":99,"releases":[{"id":"010066900BDE6000","region":null}]},{"id":"88120cdc-ffc7-49d5-910a-2c1ac19d2c2f","directory":"joe-jump-impossible-quest","title":"Joe Jump Impossible Quest","compatibility":99,"releases":[{"id":"0100EA500D996000","region":null}]},{"id":"8816193c-3203-4c78-a0c2-8afbd5a1427e","directory":"event-horizon","title":"Event Horizon","compatibility":99,"releases":[{"id":"0100AC100DC48000","region":null}]},{"id":"882762b4-b551-49b2-a2dd-f6ebb8123b1c","directory":"arcade-archives-contra","title":"Arcade Archives CONTRA","compatibility":1,"releases":[{"id":"01007F4012B84000","region":null}]},{"id":"88286691-6804-4264-975e-749cd4d70a73","directory":"deleveled","title":"Deleveled","compatibility":99,"releases":[{"id":"010092E00E7F4000","region":null}]},{"id":"882f60b7-f2b4-4c05-80e9-bd34ad5943d6","directory":"the-knight-of-queen","title":"THE KNIGHT OF QUEEN","compatibility":99,"releases":[{"id":"0100D73012850000","region":null}]},{"id":"88387298-d494-458c-8237-5cf0b894ae8d","directory":"tcheco-in-the-castle-of-lucio","title":"Tcheco in the Castle of Lucio","compatibility":1,"releases":[{"id":"0100F43011E5A000","region":null}]},{"id":"883a5702-b72e-4c42-99eb-1fb5f788589e","directory":"mark-of-the-ninja-remastered","title":"Mark of the Ninja: Remastered","compatibility":3,"releases":[{"id":"01009A700A538000","region":null}]},{"id":"8846593b-8678-407f-a51b-3e12eed583d0","directory":"balloon-girl","title":"Balloon Girl","compatibility":99,"releases":[{"id":"0100A7A012C06000","region":null}]},{"id":"884a72b9-1e3c-4edd-b125-3f5cb268f61a","directory":"ninjala-exclusive-ninja-club","title":"Ninjala Exclusive Ninja Club","compatibility":99,"releases":[{"id":"010033A0118DC000","region":null}]},{"id":"884a937c-d7ea-4b1f-994f-664acbf5cf4b","directory":"air-stunt-racing","title":"Air Stunt Racing","compatibility":99,"releases":[{"id":"01002CD016A7C000","region":null}]},{"id":"884c6a49-1db2-4066-b122-829dd5a2e5aa","directory":"brain-meltdown-into-despair","title":"Brain Meltdown - Into Despair","compatibility":99,"releases":[{"id":"010001A015AB2000","region":null}]},{"id":"885293a6-6a08-466f-bdba-d2c8421be1d0","directory":"frederic-2-evil-strikes-back","title":"Frederic 2: Evil Strikes Back","compatibility":1,"releases":[{"id":"01000490067AE000","region":null}]},{"id":"8853f133-f11c-4d13-aee0-4845259321f3","directory":"arcade-archives-water-ski","title":"Arcade Archives WATER SKI","compatibility":4,"releases":[{"id":"0100CA200DC6E000","region":null}]},{"id":"88567dab-9174-45b0-91f6-00f3d2ba3b83","directory":"later-alligator","title":"Later Alligator","compatibility":99,"releases":[{"id":"0100E8F012DE4000","region":null}]},{"id":"8858e7b3-efea-4708-8896-01d4b337f54a","directory":"snake-it-til-you-make-it","title":"Snake It 'Til You Make It","compatibility":99,"releases":[{"id":"01003CF01063C000","region":null}]},{"id":"8862e154-6d59-41e2-a4ef-07145807dee6","directory":"air-bounce-the-jump-n-run-challenge","title":"Air Bounce - The Jump 'n' Run Challenge","compatibility":99,"releases":[{"id":"010066D013A8C000","region":null}]},{"id":"886b2a03-8071-4402-a5e1-4eb07c16ccd9","directory":"crsed-f-o-a-d","title":"CRSED: F.O.A.D.","compatibility":5,"releases":[{"id":"0100E2300FB84000","region":null}]},{"id":"887f52eb-819f-4fc8-b435-b22fd5fd8e92","directory":"shanky-the-vegans-nightmare","title":"Shanky: The Vegan`s Nightmare","compatibility":99,"releases":[{"id":"010006C00CC10000","region":null}]},{"id":"8887a716-0b18-4457-b9b5-c2d90bc43b97","directory":"cycle-28","title":"Cycle 28","compatibility":99,"releases":[{"id":"010021800B6C0000","region":null}]},{"id":"8890ff91-a7cd-44b8-b2a1-6a264c5c482b","directory":"jisei-the-first-case-hd","title":"Jisei: The First Case HD","compatibility":99,"releases":[{"id":"010038D011F08000","region":null}]},{"id":"889ff57c-f4bb-4594-9043-2ef60cc771b6","directory":"her-majestys-spiffing","title":"Her Majesty's SPIFFING","compatibility":0,"releases":[{"id":"0100946008DAE000","region":null}]},{"id":"88ab39b7-3baf-4c76-ab4b-36078a0aac51","directory":"star-renegades","title":"Star Renegades","compatibility":99,"releases":[{"id":"010060D00F658000","region":null}]},{"id":"88b89440-8435-4f99-ba7e-438e247bc806","directory":"down-in-bermuda","title":"Down in Bermuda","compatibility":99,"releases":[{"id":"0100D7100FDDE000","region":null}]},{"id":"88d6a806-bec3-4f94-8197-359997a4e68f","directory":"aca-neogeo-league-bowling","title":"ACA NEOGEO LEAGUE BOWLING","compatibility":2,"releases":[{"id":"0100A2900AFA4000","region":null}]},{"id":"88f9a6a8-0b82-40b6-ad52-7d05aca34e09","directory":"highway-haste","title":"Highway Haste","compatibility":1,"releases":[{"id":"0100CD2014058000","region":null}]},{"id":"8903cf5c-02ee-47bf-b382-b713e8c92af0","directory":"persian-nights-2-the-moonlight-veil","title":"Persian Nights 2: The Moonlight Veil","compatibility":99,"releases":[{"id":"0100A0401346A000","region":null}]},{"id":"89189a8b-c8fb-4a3f-b12f-b95c16abf8dc","directory":"shady-part-of-me","title":"Shady Part of Me","compatibility":99,"releases":[{"id":"0100820013612000","region":null}]},{"id":"8919b93a-4a63-42a0-be9d-4ef4e9e139fd","directory":"samurai-shodown-neogeo-collection","title":"SAMURAI SHODOWN NEOGEO COLLECTION","compatibility":99,"releases":[{"id":"0100F6800F48E000","region":null}]},{"id":"891d009b-e27b-4531-b68f-b93da45c447d","directory":"inferno-climber-reborn","title":"INFERNO CLIMBER: REBORN","compatibility":99,"releases":[{"id":"010086300A558000","region":null}]},{"id":"891f1728-611d-4870-aca8-b159c5cffffc","directory":"doom-3","title":"DOOM 3","compatibility":4,"releases":[{"id":"010029D00E740000","region":null}]},{"id":"892e4f40-e4f3-444c-a37c-2b95b4f418bb","directory":"doom-1993","title":"DOOM (1993)","compatibility":3,"releases":[{"id":"010018900DD00000","region":null}]},{"id":"893440f1-4e31-44fa-989f-132b556b19f6","directory":"lumines-remastered","title":"LUMINES REMASTERED","compatibility":1,"releases":[{"id":"0100A4200A284000","region":null}]},{"id":"89408f0d-16d7-478b-82a1-c430b0a19c78","directory":"math-classroom-challenge","title":"Math Classroom Challenge","compatibility":99,"releases":[{"id":"010066E015998000","region":null}]},{"id":"8942cf1c-a61d-444d-8cd8-85c6b4fe6bf4","directory":"syberia-3","title":"Syberia 3","compatibility":0,"releases":[{"id":"0100CBE004E6C000","region":null}]},{"id":"89660c6a-e172-49d0-89f3-a51cc14fc663","directory":"fly-together","title":"Fly TOGETHER!","compatibility":99,"releases":[{"id":"0100B6D00DA1C000","region":null}]},{"id":"8983f323-1ffd-4e62-ab45-ad1027aac162","directory":"pretty-girls-panic","title":"Pretty Girls Panic!","compatibility":99,"releases":[{"id":"0100653013F7A000","region":null}]},{"id":"89929093-204f-4359-ac25-5350d4670d13","directory":"torquel-physics-modified-edition-demo","title":"TorqueL -Physics Modified Edition- Demo","compatibility":99,"releases":[{"id":"010076A009426000","region":null}]},{"id":"89ae49db-5431-4b05-9f30-ba4e19642998","directory":"sudoku-relax-5-full-bloom","title":"Sudoku Relax 5 Full Bloom","compatibility":99,"releases":[{"id":"01004DB0126AC000","region":null}]},{"id":"89b43cfc-3514-4dd0-9c8f-893efce5b890","directory":"newtons-cradle-puzzle-game","title":"Newton's Cradle Puzzle Game","compatibility":99,"releases":[{"id":"0100C0B012666000","region":null}]},{"id":"89b5b71d-12b5-4bf1-990e-b8e1ff0d3d21","directory":"12-orbits","title":"12 orbits","compatibility":3,"releases":[{"id":"0100A840047C2000","region":null}]},{"id":"89c2905a-87de-4d63-9d2d-de2aa07a7231","directory":"alchemic-jousts","title":"Alchemic Jousts","compatibility":99,"releases":[{"id":"0100F5400AB6C000","region":null}]},{"id":"89c9a7a1-bdf0-421a-8cbe-30fc758d6d30","directory":"no-straight-roads","title":"No Straight Roads","compatibility":3,"releases":[{"id":"01009F3011004000","region":null}]},{"id":"89ce4a2e-41a1-48cd-b63f-3698c25e4364","directory":"nature-matters","title":"Nature Matters","compatibility":0,"releases":[{"id":"01002820142C6000","region":null}]},{"id":"89cf67c3-fb9e-4623-870a-98ec3573d3b3","directory":"aca-neogeo-karnovs-revenge","title":"ACA NEOGEO KARNOV'S REVENGE","compatibility":2,"releases":[{"id":"010014E004FA8000","region":null}]},{"id":"89d1cfc6-de5c-4e09-acc1-106058f7032f","directory":"dreamwalker-never-fall-asleep","title":"Dreamwalker: Never Fall Asleep","compatibility":99,"releases":[{"id":"0100068010226000","region":null}]},{"id":"89d1e0e8-2efd-4816-97d5-73a64d891c39","directory":"glyph","title":"Glyph","compatibility":99,"releases":[{"id":"0100EB501130E000","region":null}]},{"id":"89dca81e-28e3-4290-9465-0869a10043f9","directory":"slayin-2","title":"Slayin 2","compatibility":3,"releases":[{"id":"01004E900EDDA000","region":null}]},{"id":"89e020ec-eb68-48e0-9feb-9fe094484ec8","directory":"panda-jump","title":"Panda Jump","compatibility":99,"releases":[{"id":"0100C47012D86000","region":null}]},{"id":"89e55765-4978-4d2b-8bf3-ba8284a66d4b","directory":"super-monkey-ball-banana-blitz-hd","title":"Super Monkey Ball: Banana Blitz HD","compatibility":0,"releases":[{"id":"0100B2A00E1E0000","region":null}]},{"id":"89f92b51-3ef4-4a17-b13d-c2df481ba3fe","directory":"violett-demo","title":"Violett Demo","compatibility":99,"releases":[{"id":"01003B2009D18000","region":null}]},{"id":"8a00e549-e980-48ba-91a8-ba85558cd660","directory":"shinya-ichizoku-the-battle-for-hokkaidos-delicious-foods","title":"Shinya Ichizoku The Battle for Hokkaido's Delicious Foods","compatibility":99,"releases":[{"id":"0100BA6015E82000","region":null}]},{"id":"8a08357c-2f63-4a40-9e26-86968520c972","directory":"rock-of-ages-3-make-break","title":"Rock of Ages 3: Make & Break","compatibility":99,"releases":[{"id":"0100A1B00DB36000","region":null}]},{"id":"8a08ce6a-03bf-48cf-afed-f50a7973b698","directory":"binarystar-infinity","title":"Binarystar Infinity","compatibility":99,"releases":[{"id":"0100CFB013AE4000","region":null}]},{"id":"8a14ab9c-b05b-4406-a94a-ac6222f7d2b3","directory":"neverending-nightmares","title":"Neverending Nightmares","compatibility":4,"releases":[{"id":"0100F79012600000","region":null}]},{"id":"8a1c4fc9-0b5d-4a74-8ac2-b6f4739f364a","directory":"angels-punishment","title":"Angel's Punishment","compatibility":1,"releases":[{"id":"010062B015D28000","region":null}]},{"id":"8a22897e-fb54-4531-8a81-932ae24d9be6","directory":"arcaea","title":"Arcaea","compatibility":2,"releases":[{"id":"0100E680149DC000","region":null}]},{"id":"8a2528aa-d5ef-471e-a8c2-af3a8a5f53e1","directory":"sports-party","title":"Sports Party","compatibility":5,"releases":[{"id":"0100DE9005170000","region":null}]},{"id":"8a26cae4-0753-462d-a105-34fbb6f56f4e","directory":"wide-ocean-big-jacket","title":"Wide Ocean Big Jacket","compatibility":99,"releases":[{"id":"0100A9C010246000","region":null}]},{"id":"8a2ce300-efcf-45ee-a504-9ee035b3d0e1","directory":"pokemon-lets-go-pikachu","title":"Pokémon: Let’s Go, Pikachu!","compatibility":1,"releases":[{"id":"010003F003A34000","region":null}]},{"id":"8a3a1b42-44c9-4bc9-9508-da8a59fe22ca","directory":"zero-gunner-2-for-nintendo-switch","title":"ZERO GUNNER 2- for Nintendo Switch","compatibility":1,"releases":[{"id":"0100A6A00894C000","region":null}]},{"id":"8a3d5b1a-e1ba-40ae-b819-45e86f925b46","directory":"air-hockey","title":"Air Hockey","compatibility":1,"releases":[{"id":"010005A00A4F4000","region":null}]},{"id":"8a3f64a8-bbec-4603-96a0-10a13349311d","directory":"skyland-heart-of-the-mountain","title":"Skyland: Heart of the Mountain","compatibility":99,"releases":[{"id":"01007860144F4000","region":null}]},{"id":"8a4ead8c-2de8-4154-8e92-db52677b3650","directory":"extreme-car-driver","title":"Extreme Car Driver","compatibility":0,"releases":[{"id":"0100615015E4A000","region":null}]},{"id":"8a601ae1-821c-4259-b66b-1954daf937e5","directory":"breathedge","title":"Breathedge","compatibility":99,"releases":[{"id":"01000AA013A5E000","region":null}]},{"id":"8a609710-43b3-432e-ac04-c7b863e151dd","directory":"ballzout","title":"BallzOut","compatibility":99,"releases":[{"id":"01004820120C0000","region":null}]},{"id":"8a69cf77-434a-4cc9-a822-fa6a2e77f464","directory":"gnomes-garden-lost-king","title":"Gnomes Garden: Lost King","compatibility":99,"releases":[{"id":"010036C00D0D6000","region":null}]},{"id":"8a6ef618-4e58-40ec-aea8-af08a3ad739c","directory":"pizza-parking","title":"Pizza Parking","compatibility":99,"releases":[{"id":"01006C700D2CE000","region":null}]},{"id":"8a74367f-6143-48df-a2e5-476a92fdedce","directory":"the-house-of-da-vinci","title":"The House of Da Vinci","compatibility":2,"releases":[{"id":"01004AD00E094000","region":null}]},{"id":"8a809606-9cc9-439b-823a-8f41935a2020","directory":"felix-the-toy","title":"Felix The Toy","compatibility":99,"releases":[{"id":"010020B014D8E000","region":null}]},{"id":"8a98e294-1221-4b04-b428-aa8798a5610d","directory":"gardeners-path","title":"Gardener's Path","compatibility":99,"releases":[{"id":"010019F016BFC000","region":null}]},{"id":"8a9ca65b-b855-4603-a5e3-06133ff481fd","directory":"exception","title":"Exception","compatibility":99,"releases":[{"id":"0100F2D00C7DE000","region":null}]},{"id":"8ab54287-3e50-4390-85b4-031259f1034e","directory":"death-come-true","title":"Death Come True","compatibility":2,"releases":[{"id":"010012B011AB2000","region":null}]},{"id":"8abcd565-03bf-4710-9346-5fc318b56117","directory":"astria-ascending","title":"Astria Ascending","compatibility":2,"releases":[{"id":"01003070146FE000","region":null}]},{"id":"8acb5205-864c-487c-9a4c-176026b8010e","directory":"pixel-game-maker-series-steos-sorrow-song-of-bounty-hunter","title":"Pixel Game Maker Series STEOS -Sorrow song of Bounty hunter-","compatibility":99,"releases":[{"id":"0100247013722000","region":null}]},{"id":"8acd61ab-c8de-4624-aa71-165b2ad2586a","directory":"lost-kings-lullaby","title":"Lost King's Lullaby","compatibility":99,"releases":[{"id":"01002C400ADC0000","region":null}]},{"id":"8ad5a264-86f6-4d27-a2c5-ac70d96c162a","directory":"dreamworks-spirit-luckys-big-adventure","title":"DreamWorks Spirit Lucky’s Big Adventure","compatibility":99,"releases":[{"id":"0100236011B4C000","region":null}]},{"id":"8adec3aa-bc6f-4568-bf94-bdd41a3b42a7","directory":"annas-quest","title":"Anna's Quest","compatibility":99,"releases":[{"id":"0100A9801134C000","region":null}]},{"id":"8af328cc-9aed-437c-bc50-c23151929201","directory":"lego-worlds","title":"LEGO Worlds","compatibility":0,"releases":[{"id":"0100838002AEA000","region":null}]},{"id":"8af43721-9df2-41bb-b18e-5412a3a9f924","directory":"mega-man-11","title":"Mega Man 11","compatibility":0,"releases":[{"id":"0100B0C0086B0000","region":null}]},{"id":"8af52b6f-86fe-4c26-9782-ec4136499635","directory":"dungeons-hell","title":"Dungeon's Hell","compatibility":1,"releases":[{"id":"0100474015BCE000","region":null}]},{"id":"8afabe60-75a1-4b3e-b953-66e10bdbd168","directory":"marchen-forest","title":"Märchen Forest","compatibility":99,"releases":[{"id":"01001B2012D5E000","region":null}]},{"id":"8afc2cae-51d9-4076-9292-f1310612b960","directory":"unknown-fate","title":"Unknown Fate","compatibility":99,"releases":[{"id":"010045200D3A4000","region":null}]},{"id":"8b025fd6-55c4-4593-b036-d704e2eb30a6","directory":"cotton-100","title":"Cotton 100%","compatibility":1,"releases":[{"id":"0100D5A01692C000","region":null}]},{"id":"8b0bb610-ee80-4805-b45e-b72b77032873","directory":"midnight-deluxe","title":"Midnight Deluxe","compatibility":0,"releases":[{"id":"01000FB008900000","region":null}]},{"id":"8b139d57-d7ed-4577-a05a-ac6aa0a52165","directory":"rbi-baseball-19","title":"R.B.I. Baseball 19","compatibility":4,"releases":[{"id":"0100FCB00BF40000","region":null}]},{"id":"8b234089-b05c-45f8-924a-6696c4a043d1","directory":"unstrong-space-calamity","title":"Unstrong: Space Calamity","compatibility":99,"releases":[{"id":"0100D36016AE4000","region":null}]},{"id":"8b39309c-39ed-43be-8722-fb0a83e117e9","directory":"tap-tap-legions","title":"Tap Tap Legions","compatibility":99,"releases":[{"id":"0100EBA01399E000","region":null}]},{"id":"8b3e397a-0b75-4f25-a604-0203258aeaaa","directory":"tales-of-vesperia-definitive-edition","title":"Tales of Vesperia: Definitive Edition","compatibility":1,"releases":[{"id":"01002C0008E52000","region":null}]},{"id":"8b4787b6-14d5-45f1-b494-5d6297fe1f66","directory":"rolling-sky","title":"Rolling Sky","compatibility":99,"releases":[{"id":"0100BAA00D60A000","region":null}]},{"id":"8b4fb4e8-2ca8-416a-aaf1-73e59f7ab130","directory":"chess-gambit","title":"Chess Gambit","compatibility":99,"releases":[{"id":"0100FE1015F16000","region":null}]},{"id":"8b5d55ef-0e59-400e-b2d8-54d85a8104d2","directory":"doodle-god-crime-city","title":"Doodle God: Crime City","compatibility":2,"releases":[{"id":"01007E700D5B4000","region":null}]},{"id":"8b662f40-21cf-4f49-8524-f2ce35d788db","directory":"just-die-already","title":"Just Die Already","compatibility":99,"releases":[{"id":"0100AC600CF0A000","region":null}]},{"id":"8b8ecf4d-4224-43c6-a640-ebac714bfd2f","directory":"piczle-lines-dx-bundle","title":"Piczle Lines DX Bundle","compatibility":99,"releases":[{"id":"01006960121A8000","region":null}]},{"id":"8b989545-2d77-4760-a19b-97173a2b2b63","directory":"the-legend-of-ninja","title":"The Legend of Ninja","compatibility":99,"releases":[{"id":"0100C5A01327E000","region":null}]},{"id":"8b993524-13b0-477c-87d5-afc1bbe2fd00","directory":"gem-smashers","title":"Gem Smashers","compatibility":5,"releases":[{"id":"01001A4008192000","region":null}]},{"id":"8b999ded-4de2-4ceb-9c58-1d3e241e1084","directory":"gnomes-garden-3-the-thief-of-castles","title":"Gnomes Garden 3: The thief of castles","compatibility":99,"releases":[{"id":"010017C00BE12000","region":null}]},{"id":"8ba23714-ef70-427c-a514-3ebc98dbd352","directory":"alphadia-genesis","title":"Alphadia Genesis","compatibility":0,"releases":[{"id":"0100C7801232C000","region":null}]},{"id":"8bcb2e7c-4122-4a6f-b08c-a6176e466d6b","directory":"pub-encounter","title":"Pub Encounter","compatibility":99,"releases":[{"id":"0100CAB00B4E4000","region":null}]},{"id":"8bf4c3a3-e8a9-4b78-8bba-0ba1eae0e78b","directory":"prepare-the-first-rpg-village-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Prepare the First RPG Village\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100AA30161C6000","region":null}]},{"id":"8bf6fe32-26b4-4197-a554-da68bd4f5d65","directory":"kingdom-rush-origins","title":"Kingdom Rush Origins","compatibility":2,"releases":[{"id":"0100ABE0121F8000","region":null}]},{"id":"8bfff1a5-f60c-494f-bbdc-b8815c143628","directory":"drum-box","title":"Drum Box","compatibility":99,"releases":[{"id":"01009BE015A20000","region":null}]},{"id":"8c07891d-faf6-4fb8-906b-e2927e4dc578","directory":"moon-raider","title":"Moon Raider","compatibility":99,"releases":[{"id":"01000C301457C000","region":null}]},{"id":"8c19c17c-07dc-435f-b755-3817fff8cc8d","directory":"aspire-inas-tale","title":"Aspire: Ina's Tale","compatibility":99,"releases":[{"id":"0100AC5016808000","region":null}]},{"id":"8c247ca5-3960-4301-8d4c-b6eb264ec624","directory":"ys-viii-lacrimosa-of-dana","title":"Ys VIII: Lacrimosa of DANA","compatibility":1,"releases":[{"id":"01007F200B0C0000","region":null}]},{"id":"8c26465c-4989-405e-b16b-636514543ef0","directory":"johnny-turbos-arcade-super-burger-time","title":"Johnny Turbo's Arcade: Super Burger Time","compatibility":99,"releases":[{"id":"01000E400222A000","region":null}]},{"id":"8c279f7f-8b60-4613-be41-c13d570a8fa1","directory":"chocobos-mystery-dungeon-every-buddy","title":"Chocobo's Mystery Dungeon EVERY BUDDY!","compatibility":2,"releases":[{"id":"0100BF600BF26000","region":null}]},{"id":"8c2ba144-a0e9-48df-b938-391e409f0e05","directory":"instant-sports","title":"Instant Sports","compatibility":99,"releases":[{"id":"010099700D750000","region":null}]},{"id":"8c33ef9e-2e80-4b43-9737-a6b9c793294e","directory":"aeternoblade-demo","title":"AeternoBlade Demo","compatibility":99,"releases":[{"id":"0100B1C00949A000","region":null}]},{"id":"8c37ada9-3897-4aaa-a6bc-d44ca475cdef","directory":"tower-of-time","title":"Tower Of Time","compatibility":99,"releases":[{"id":"010094600DC86000","region":null}]},{"id":"8c3ad559-326b-4809-8b87-2f6e2039ec55","directory":"arcadia-fallen","title":"Arcadia Fallen","compatibility":99,"releases":[{"id":"0100BC8016306000","region":null}]},{"id":"8c3c5097-4f8d-4140-959d-299cca7a1ce3","directory":"immortals-fenyx-rising","title":"Immortals Fenyx Risingâ„¢","compatibility":4,"releases":[{"id":"01004A600EC0A000","region":null}]},{"id":"8c3f31a6-becb-41ed-89c2-bafb474930c2","directory":"archvale","title":"Archvale","compatibility":99,"releases":[{"id":"0100A4D0146B2000","region":null}]},{"id":"8c4615b0-0fac-46ed-ba5e-ebfb63cca6df","directory":"terra-bomber","title":"Terra Bomber","compatibility":99,"releases":[{"id":"01003990145EE000","region":null}]},{"id":"8c65faf2-8658-4fb7-a816-5370578359ff","directory":"duck-souls","title":"Duck Souls+","compatibility":99,"releases":[{"id":"0100E9B010028000","region":null}]},{"id":"8c67caa0-8575-479e-8847-3a6f5c963cee","directory":"flat-heroes","title":"Flat Heroes","compatibility":0,"releases":[{"id":"0100C53004C52000","region":null}]},{"id":"8c73cbaf-5cfe-465d-be28-4b7d10c4614b","directory":"retro-machina","title":"Retro Machina","compatibility":99,"releases":[{"id":"01000ED014A2C000","region":null}]},{"id":"8c78fe76-6038-45ac-897c-e7a221cd75b6","directory":"senran-kagura-reflexions","title":"SENRAN KAGURA Reflexions","compatibility":1,"releases":[{"id":"0100E0C00ADAC000","region":null}]},{"id":"8c81e26f-6748-40bd-b870-f4626fda447c","directory":"bats-bloodsucker-anti-terror-squad","title":"BATS: Bloodsucker Anti-Terror Squad","compatibility":99,"releases":[{"id":"0100F97015D46000","region":null}]},{"id":"8c885821-584b-4c02-8065-cd2d3e9d5193","directory":"the-skylia-prophecy","title":"The Skylia Prophecy","compatibility":99,"releases":[{"id":"01007D50140E4000","region":null}]},{"id":"8c888bd8-51a7-4419-8a1d-f0cd68b06950","directory":"justin-danger","title":"Justin Danger","compatibility":99,"releases":[{"id":"010045D0142C8000","region":null}]},{"id":"8c95dd59-b865-42c9-b8d1-83a8486bf36b","directory":"number-place-10000","title":"Number Place 10000","compatibility":99,"releases":[{"id":"010020500C8C8000","region":null}]},{"id":"8cac8bc2-4c58-4269-9b68-c32581386ac4","directory":"war-tech-fighters","title":"War Tech Fighters","compatibility":99,"releases":[{"id":"010049500DE56000","region":null}]},{"id":"8cadfa0b-8732-47ce-91fc-8ea4991ad42b","directory":"colorgrid","title":"Colorgrid","compatibility":99,"releases":[{"id":"010039B011312000","region":null}]},{"id":"8cbac864-c886-4645-9a45-1661bd541cc0","directory":"garden-story","title":"Garden Story","compatibility":3,"releases":[{"id":"0100B4D012490000","region":null}]},{"id":"8cc2b8c5-f310-41ae-bf5e-c1a3e8eb6f01","directory":"ikaruga","title":"Ikaruga","compatibility":3,"releases":[{"id":"01009F20086A0000","region":null}]},{"id":"8cc5e474-3bcd-455c-89f8-e9c30085d328","directory":"platago-super-platform-game-maker","title":"PlataGO! Super Platform Game Maker","compatibility":5,"releases":[{"id":"010044E008FC6000","region":null}]},{"id":"8cd27cbc-2baf-43f3-8a46-5e40b4c8f8aa","directory":"digerati-best-sellers","title":"Digerati Best Sellers","compatibility":99,"releases":[{"id":"01001C5012F52000","region":null}]},{"id":"8cdee0a2-6064-4843-9afb-e57b306d9441","directory":"lord-of-the-click-ii","title":"Lord of the Click II","compatibility":99,"releases":[{"id":"0100F54015F86000","region":null}]},{"id":"8ce0b09a-3b6b-4498-9ce2-f1d2e42d9427","directory":"donut-match","title":"Donut Match","compatibility":99,"releases":[{"id":"01000A5015EA4000","region":null}]},{"id":"8ce95e55-78f4-4fd9-8951-f925c3c80144","directory":"the-town-of-light-deluxe-edition","title":"The Town of Light: Deluxe Edition","compatibility":99,"releases":[{"id":"010058000A576000","region":null}]},{"id":"8ceb0664-3507-4b4b-afc3-89fd88f2287c","directory":"rack-n-ruin","title":"Rack N Ruin","compatibility":1,"releases":[{"id":"0100B8100C54A000","region":null}]},{"id":"8cf465c8-5082-4c10-90ac-f4ac8f55ee5f","directory":"arcade-archives-sea-fighter-poseidon","title":"Arcade Archives SEA FIGHTER POSEIDON","compatibility":99,"releases":[{"id":"01006BA015070000","region":null}]},{"id":"8d081d15-b96a-4156-a649-67c099fd3357","directory":"lotus-bloom","title":"Lotus Bloom","compatibility":99,"releases":[{"id":"0100A55015B98000","region":null}]},{"id":"8d172360-69f6-4b02-bfe0-f7d6c0865e58","directory":"forest-home","title":"Forest Home","compatibility":99,"releases":[{"id":"010094F00E0EE000","region":null}]},{"id":"8d216c0f-7b89-4fc0-970e-76754751d857","directory":"fantasy-checkers","title":"Fantasy Checkers","compatibility":0,"releases":[{"id":"0100C3E014F40000","region":null}]},{"id":"8d4c90cb-b828-4371-af57-a58ede9e218e","directory":"pocket-warriors","title":"Pocket Warriors","compatibility":99,"releases":[{"id":"01009B4013C00000","region":null}]},{"id":"8d4f7d4b-5b20-4447-8443-735aa81ea7cc","directory":"jurassic-world-evolution-complete-edition","title":"Jurassic World Evolution: Complete Edition","compatibility":2,"releases":[{"id":"010050A011344000","region":null}]},{"id":"8d5e505d-8ced-41e6-ae71-7510bb422bbd","directory":"r-type-dimensions-ex-demo-version","title":"R-Type Dimensions EX Demo Version","compatibility":99,"releases":[{"id":"0100A4100DDC2000","region":null}]},{"id":"8d672c12-1e0e-46f7-a8c8-13c36b65b2db","directory":"stunt-kite-party","title":"Stunt Kite Party","compatibility":99,"releases":[{"id":"0100AF000B4AE000","region":null}]},{"id":"8d747a52-dc6c-4b3e-991c-f39b76da7a07","directory":"neverout","title":"Neverout","compatibility":99,"releases":[{"id":"010043800AD94000","region":null}]},{"id":"8d7674ac-b942-466c-93dd-d9e703416611","directory":"woodle-tree-adventures","title":"Woodle Tree Adventures","compatibility":1,"releases":[{"id":"0100956007854000","region":null}]},{"id":"8d831cd4-71d5-4e73-a3d7-7105c1710b05","directory":"exodemon","title":"Exodemon","compatibility":99,"releases":[{"id":"0100A82013976000","region":null}]},{"id":"8d85b497-8bcf-4089-a824-8f49030a89c6","directory":"game-dev-story-demo","title":"Game Dev Story Demo","compatibility":99,"releases":[{"id":"010022000BCDA000","region":null}]},{"id":"8d884d3f-f55d-46cf-8856-39198dc2c902","directory":"urban-street-fighting","title":"Urban Street Fighting","compatibility":99,"releases":[{"id":"010054F014016000","region":null}]},{"id":"8d8df59a-111d-4bce-9568-13e82da6850d","directory":"awesome-pea-2","title":"Awesome Pea 2","compatibility":3,"releases":[{"id":"0100B7D01147E000","region":null}]},{"id":"8d971070-7184-4512-bf1b-ba0ac1ab7195","directory":"rive-ultimate-edition","title":"RIVE: Ultimate Edition","compatibility":99,"releases":[{"id":"010069C00401A000","region":null}]},{"id":"8dac02f4-893a-43a8-8758-3b96604049f8","directory":"lode-runner-legacy","title":"Lode Runner Legacy","compatibility":3,"releases":[{"id":"010016C009374000","region":null}]},{"id":"8daf0a85-6e11-4223-9589-8bd3aad5d8b1","directory":"1917-the-alien-invasion-dx","title":"1917 - The Alien Invasion DX","compatibility":0,"releases":[{"id":"01005CA0099AA000","region":null}]},{"id":"8dbb64f6-a187-4d3d-b433-f9dce9f994fc","directory":"house-cleaning-survival","title":"House Cleaning Survival","compatibility":99,"releases":[{"id":"0100EFE01452A000","region":null}]},{"id":"8dcc986d-f188-41f7-8c37-9f9df608371f","directory":"black-paradox","title":"Black Paradox","compatibility":99,"releases":[{"id":"010071900D95A000","region":null}]},{"id":"8dce7074-665a-4751-a9f6-3e0a804bb7e7","directory":"ball-lab","title":"Ball laB","compatibility":99,"releases":[{"id":"0100C8B01546C000","region":null}]},{"id":"8de9aa77-7b73-4ce2-bc3b-a7f1906d1bf0","directory":"wwe-2k-battlegrounds","title":"WWE 2K Battlegrounds","compatibility":4,"releases":[{"id":"010081700EDF4000","region":null}]},{"id":"8e1f823a-2c56-4b4f-a11d-82d89e9738d2","directory":"atom-rpg","title":"ATOM RPG","compatibility":2,"releases":[{"id":"0100B9400FA38000","region":null}]},{"id":"8e2f06ec-2aa0-4a52-9dcd-b5744fbb33ae","directory":"starblox-inc","title":"StarBlox Inc.","compatibility":99,"releases":[{"id":"010006F00EE72000","region":null}]},{"id":"8e3e7f2c-17da-4781-8174-20eb3ebc9b4f","directory":"unit-4","title":"Unit 4","compatibility":99,"releases":[{"id":"0100B1400D92A000","region":null}]},{"id":"8e46b376-77ba-4cc8-83e5-fab85c472c3e","directory":"rubix-roller","title":"Rubix Roller","compatibility":99,"releases":[{"id":"010080E01515A000","region":null}]},{"id":"8e5ac266-2c66-4491-aa1f-720bcc4be738","directory":"radon-blast","title":"Radon Blast","compatibility":99,"releases":[{"id":"0100323014580000","region":null}]},{"id":"8e784ab5-b2e2-41a3-ba1d-eb4996681d90","directory":"air-conflicts-secret-wars","title":"Air Conflicts: Secret Wars","compatibility":3,"releases":[{"id":"0100B2B00C7D4000","region":null}]},{"id":"8e833e2f-7b39-49d0-90d1-855316983370","directory":"league-of-champions-soccer","title":"League Of Champions Soccer","compatibility":99,"releases":[{"id":"01006040153A0000","region":null}]},{"id":"8e89a004-a257-4418-9555-b7f1c21487ed","directory":"warhammer-40000-space-wolf","title":"WARHAMMER 40,000: SPACE WOLF","compatibility":99,"releases":[{"id":"0100E5600D7B2000","region":null}]},{"id":"8e90938d-e5bc-4587-aa92-fcab6efd596c","directory":"dollhouse","title":"Dollhouse","compatibility":99,"releases":[{"id":"010065D014E0A000","region":null}]},{"id":"8eab0bfe-2bb5-47a4-a61a-ab556fb7c978","directory":"just-dance-2017","title":"Just Dance 2017","compatibility":0,"releases":[{"id":"0100BCE000598000","region":null}]},{"id":"8ec187f4-7d99-4629-a062-37c46cbad86a","directory":"isoland","title":"Isoland","compatibility":99,"releases":[{"id":"010065200D192000","region":null}]},{"id":"8ec9657c-1880-4b48-97be-e621cc3a48e7","directory":"johnny-turbos-arcade-joe-and-mac-caveman-ninja","title":"Johnny Turbo's Arcade Joe and Mac Caveman Ninja","compatibility":4,"releases":[{"id":"0100355002CBE000","region":null}]},{"id":"8ecdb45c-cdcf-4468-85e4-0d2aaaa38cbe","directory":"preston-sterling-and-the-legend-of-excalibur","title":"Preston Sterling and the Legend of Excalibur","compatibility":99,"releases":[{"id":"010052601473C000","region":null}]},{"id":"8ee06cb1-3fb5-4e00-bc0e-250a7e974d37","directory":"dune-sea","title":"Dune Sea","compatibility":99,"releases":[{"id":"0100D4B010DCA000","region":null}]},{"id":"8ee6f66c-7cb0-4e94-87ae-9499f3af6dbd","directory":"jurassic-pinball","title":"Jurassic Pinball","compatibility":99,"releases":[{"id":"0100CE100A826000","region":null}]},{"id":"8ee9aa03-4d93-4df4-9af6-96bfc7c3139a","directory":"bubble","title":"Bubble","compatibility":99,"releases":[{"id":"01004A4011CB4000","region":null}]},{"id":"8ef5a535-573c-49cb-aced-6b41803186a0","directory":"hatsune-miku-project-diva-mega-mix","title":"Hatsune Miku: Project DIVA Mega Mix","compatibility":0,"releases":[{"id":"01001CC00FA1A000","region":null}]},{"id":"8f008fab-df17-4457-8c87-19e30acc4d6f","directory":"stones-of-the-revenant","title":"Stones of the Revenant","compatibility":0,"releases":[{"id":"0100AFC00F7B6000","region":null}]},{"id":"8f09e9ce-55e2-496b-b781-e75465a10c4f","directory":"mech-rage","title":"Mech Rage","compatibility":99,"releases":[{"id":"0100EC000CE24000","region":null}]},{"id":"8f0c5c13-62f7-4952-8c11-d319b8a83038","directory":"kill-it-with-fire","title":"Kill It With Fire","compatibility":99,"releases":[{"id":"0100152012BB0000","region":null}]},{"id":"8f172b43-e826-40eb-8990-1a3f8e1e684f","directory":"traffix","title":"Traffix","compatibility":99,"releases":[{"id":"01002B700F88A000","region":null}]},{"id":"8f3bd36d-9747-4eed-bbd5-fc60f2528725","directory":"gnosia","title":"Gnosia","compatibility":1,"releases":[{"id":"01008EF013A7C000","region":null}]},{"id":"8f468c01-197f-4244-98db-6ba259aac7ac","directory":"choices-that-matter-and-the-sun-went-out","title":"Choices That Matter: And The Sun Went Out","compatibility":99,"releases":[{"id":"01000BA0132EA000","region":null}]},{"id":"8f4eca0a-663b-40ab-94c6-1a0c11648c6b","directory":"alveole","title":"Alveole","compatibility":99,"releases":[{"id":"01008320152D0000","region":null}]},{"id":"8f4eedf6-ef92-48e1-a6af-6dd885af07d8","directory":"guilt-battle-arena","title":"GUILT BATTLE ARENA","compatibility":1,"releases":[{"id":"010060E009062000","region":null}]},{"id":"8f579c29-1b5f-40a6-8246-b712f6f3a991","directory":"gensou-skydrift","title":"GENSOU Skydrift","compatibility":0,"releases":[{"id":"0100E9E00DBF4000","region":null}]},{"id":"8f5e9b83-054d-4ada-b050-76330f514c30","directory":"green-video-game","title":"GREEN VIDEO GAME","compatibility":1,"releases":[{"id":"0100DFE00F002000","region":null}]},{"id":"8f669828-d50b-4aa2-b7e5-bf75849447b9","directory":"sigi-a-fart-for-melusina","title":"Sigi - A Fart for Melusina","compatibility":99,"releases":[{"id":"01007FC00B674000","region":null}]},{"id":"8f67a4fa-31ea-418e-9c08-4a82a68957f8","directory":"doughlings-invasion","title":"Doughlings: Invasion","compatibility":99,"releases":[{"id":"0100FFA00C9F4000","region":null}]},{"id":"8f7998d9-f629-46a4-aaad-080ce1cd4ba6","directory":"crazy-oce","title":"Crazy Oce","compatibility":99,"releases":[{"id":"0100ADF01388C000","region":null}]},{"id":"8f79d057-8adb-4dea-a4c9-d3c396271e7c","directory":"transformers-battlegrounds","title":"TRANSFORMERS: BATTLEGROUNDS","compatibility":2,"releases":[{"id":"01005E500E528000","region":null}]},{"id":"8f7f2e4c-27ff-4c76-9cf9-8028866564d3","directory":"pick-me-up-rescue-rangers","title":"PICK ME UP! - Rescue Rangers -","compatibility":99,"releases":[{"id":"01006050129D2000","region":null}]},{"id":"8f951d33-50fc-4dce-a220-18e21be68bc1","directory":"stacks-on-stacks-on-stacks","title":"Stacks On Stacks (On Stacks)","compatibility":99,"releases":[{"id":"0100888013B14000","region":null}]},{"id":"8fa3ab67-5b07-4312-a36e-d48f89f4c093","directory":"arcade-archives-tnk-iii","title":"Arcade Archives T.N.K III","compatibility":99,"releases":[{"id":"0100C7800C7A0000","region":null}]},{"id":"8fa99e8d-8df3-43aa-ba63-4255b6e85917","directory":"curse-of-the-dead-gods","title":"Curse of the Dead Gods","compatibility":3,"releases":[{"id":"0100D4A0118EA000","region":null}]},{"id":"8fac6a13-e310-4ad9-922e-aef5b48ed522","directory":"another-sight","title":"Another Sight","compatibility":3,"releases":[{"id":"01001A900D312000","region":null}]},{"id":"8fb14ddb-d61d-4588-8e34-5e5fcc1af7c8","directory":"corpse-party","title":"Corpse Party","compatibility":1,"releases":[{"id":"0100F7E01343E000","region":null}]},{"id":"8fc1fb6f-67dc-4e9d-b9db-87ea9b420bc3","directory":"fire-emblem-warriors","title":"Fire Emblem Warriors","compatibility":3,"releases":[{"id":"0100F15003E64000","region":null}]},{"id":"8fd67ee0-ba54-4387-9867-24bf9f98d6d2","directory":"1-crosswords-bundle","title":"#1 Crosswords Bundle","compatibility":99,"releases":[{"id":"01008F50155A6000","region":null}]},{"id":"8ff4615e-d64d-48ed-8a23-1c1dff9c08fa","directory":"rawr-off","title":"Rawr-Off","compatibility":99,"releases":[{"id":"010003F00C5C0000","region":null}]},{"id":"9001d0c4-0e7d-4d4a-b9be-d8f34a0939f0","directory":"sen-seven-eight-nine","title":"SEN: Seven Eight Nine","compatibility":99,"releases":[{"id":"01000E800F7F0000","region":null}]},{"id":"900d0354-770d-435e-b2d6-d46744bf9d81","directory":"the-jackbox-party-pack-6","title":"The Jackbox Party Pack 6","compatibility":99,"releases":[{"id":"01005A400DB52000","region":null}]},{"id":"90126d7e-d454-440c-80ce-d1f68fab3be9","directory":"biker-garage-mechanic-simulator","title":"Biker Garage: Mechanic Simulator","compatibility":99,"releases":[{"id":"01009E1016B10000","region":null}]},{"id":"90217aa0-8d8a-4bea-8ca1-9b1c2d8b5ed0","directory":"severed","title":"Severed","compatibility":2,"releases":[{"id":"0100157004512000","region":null}]},{"id":"902501e2-e9ea-450a-a696-9ec141f697dc","directory":"zombies-ate-my-neighbors-and-ghoul-patrol","title":"Zombies Ate My Neighbors and Ghoul Patrol","compatibility":0,"releases":[{"id":"0100A34012CCA000","region":null}]},{"id":"902cd4f4-aee0-47cd-ad20-98cfea274899","directory":"i-f-o","title":"I.F.O","compatibility":99,"releases":[{"id":"0100225015482000","region":null}]},{"id":"902efdce-6484-4907-8e6b-47adf51c019e","directory":"international-basketball","title":"International Basketball","compatibility":99,"releases":[{"id":"0100B1F013F2E000","region":null}]},{"id":"903b2f7f-9826-4b8b-9f4b-699841c3e5c9","directory":"hotshot-racing","title":"Hotshot Racing","compatibility":1,"releases":[{"id":"0100BDE008218000","region":null}]},{"id":"903de3f1-a6fb-422b-87d9-806336e4594d","directory":"pac-man-99","title":"PAC-MAN™ 99","compatibility":1,"releases":[{"id":"0100AD9012510000","region":null}]},{"id":"904107dc-ed86-4b57-9805-665c11d1b658","directory":"the-suicide-of-rachel-foster","title":"The Suicide of Rachel Foster","compatibility":3,"releases":[{"id":"0100779015CDC000","region":null}]},{"id":"904624f8-0db8-47d1-864b-c865e1f3acf5","directory":"without-escape","title":"Without Escape","compatibility":99,"releases":[{"id":"0100E8400FDCA000","region":null}]},{"id":"90498537-5b09-4204-8af7-11dc3f9ebf7f","directory":"fin-and-the-ancient-mystery","title":"Fin and the Ancient Mystery","compatibility":0,"releases":[{"id":"0100C8200E942000","region":null}]},{"id":"904a0339-d5d0-46fd-8140-45cd09a70fcb","directory":"dungeons-and-aliens","title":"Dungeons & Aliens","compatibility":99,"releases":[{"id":"010032800D46C000","region":null}]},{"id":"9052f19c-cad7-4756-8eee-2ec5b0f4e7be","directory":"gigantic-army","title":"GIGANTIC ARMY","compatibility":3,"releases":[{"id":"010067A00D35E000","region":null}]},{"id":"90652bf7-c7b2-46dd-8bae-eb0b0e610405","directory":"arcade-archives-vs-tennis","title":"Arcade Archives VS. TENNIS","compatibility":99,"releases":[{"id":"01009A6013AE0000","region":null}]},{"id":"9076bc4e-763b-4e22-b182-a41bbda9d083","directory":"fimbul","title":"Fimbul","compatibility":99,"releases":[{"id":"0100C3A00BB76000","region":null}]},{"id":"907be691-74da-4e31-869d-27bbce132688","directory":"steel-assault","title":"Steel Assault","compatibility":2,"releases":[{"id":"01001C6014772000","region":null}]},{"id":"907e99c8-4808-4a7f-a19f-95d83830f68c","directory":"paper-train","title":"Paper Train","compatibility":99,"releases":[{"id":"010022C00F20A000","region":null}]},{"id":"9089cb98-6e54-4856-a093-da48b1125b08","directory":"big-rumble-boxing-creed-champions","title":"Big Rumble Boxing: Creed Champions","compatibility":1,"releases":[{"id":"0100CCC0153F6000","region":null}]},{"id":"908d8826-3eaf-4c30-96d5-a77015a69c39","directory":"labyrinth-of-refrain-coven-of-dusk","title":"Labyrinth of Refrain: Coven of Dusk","compatibility":0,"releases":[{"id":"010058500B3E0000","region":null}]},{"id":"90b16bcc-debb-419f-bc34-212caa14b086","directory":"baby-puzzle-first-learning-shapes-for-toddlers","title":"Baby Puzzle - First Learning Shapes for Toddlers","compatibility":99,"releases":[{"id":"0100B3E013E56000","region":null}]},{"id":"90bec178-90ac-4955-92b0-e53a6affb92b","directory":"spice-and-wolf-vr2","title":"Spice and Wolf VR2","compatibility":99,"releases":[{"id":"0100DBD0128FE000","region":null}]},{"id":"90cb7cb7-f2c0-4aa3-ad4c-78380344cf31","directory":"darksiders-iii","title":"Darksiders III","compatibility":3,"releases":[{"id":"0100F8F014190000","region":null}]},{"id":"90d45c47-cc5c-4422-8a3b-a63bdc926262","directory":"venture-kid","title":"Venture Kid","compatibility":1,"releases":[{"id":"010095B00DBC8000","region":null}]},{"id":"90dbe6ba-b49f-4505-b7ad-a28db1748cbf","directory":"one-finger-death-punch-2","title":"One Finger Death Punch 2","compatibility":99,"releases":[{"id":"01000B500EB22000","region":null}]},{"id":"90f6f233-8fad-458d-9332-8c6a5626488a","directory":"inside","title":"INSIDE","compatibility":1,"releases":[{"id":"0100D2D009028000","region":null}]},{"id":"90f98c34-5873-48d3-a61b-d8a19c3f57aa","directory":"dating-life-miley-x-emily","title":"Dating Life: Miley X Emily","compatibility":99,"releases":[{"id":"0100BB5015AA8000","region":null}]},{"id":"91045c47-80d6-40f4-bd31-1276e1ecf314","directory":"double-dragon","title":"DOUBLE DRAGON","compatibility":1,"releases":[{"id":"010067C00E496000","region":null}]},{"id":"91098fbe-e0fa-4c8c-9ae3-65de99c83480","directory":"sudoku-master","title":"Sudoku Master","compatibility":99,"releases":[{"id":"01004DE014AEE000","region":null}]},{"id":"910ec3eb-751f-471e-a213-0521d7dd1772","directory":"they-bleed-pixels","title":"They Bleed Pixels","compatibility":99,"releases":[{"id":"01001C2010D08000","region":null}]},{"id":"91121b24-3a6e-45d6-a26d-5337ddff2612","directory":"bomber-crew","title":"Bomber Crew","compatibility":4,"releases":[{"id":"01007900080B6000","region":null}]},{"id":"91231882-e1e2-4cd7-b883-548285db5d8f","directory":"morphite","title":"Morphite","compatibility":99,"releases":[{"id":"0100776003F0C000","region":null}]},{"id":"9124b01f-fc4e-458b-8d57-9fdf56edb9ab","directory":"normans-great-illusion","title":"Norman's Great Illusion","compatibility":99,"releases":[{"id":"010016E011EFA000","region":null}]},{"id":"912b58b4-3ddd-42c6-bfbc-2fa33022a088","directory":"contra-rogue-corps","title":"CONTRA: ROGUE CORPS","compatibility":1,"releases":[{"id":"0100F2600D710000","region":null}]},{"id":"912dd349-171b-4c40-8d24-58b4672597ba","directory":"switchy-road","title":"Switchy Road","compatibility":99,"releases":[{"id":"010059400E0BA000","region":null}]},{"id":"91305b89-09eb-4e8a-abdf-cffd5e4a2b92","directory":"xenoraptor","title":"XenoRaptor","compatibility":99,"releases":[{"id":"010079100EB48000","region":null}]},{"id":"913741a1-4a54-44f0-b5ed-9b34c4b7221d","directory":"pillars-of-eternity-complete-edition","title":"Pillars of Eternity: Complete Edition","compatibility":3,"releases":[{"id":"0100D6200E130000","region":null}]},{"id":"914194b7-6c42-4043-8f09-b930b461eb3d","directory":"brainz","title":"BrainZ","compatibility":99,"releases":[{"id":"01004A800F0CA000","region":null}]},{"id":"914c8530-2cde-40ce-a1a2-fca1028feeec","directory":"a-tale-of-synapse-the-chaos-theories","title":"A Tale of Synapse: The Chaos Theories","compatibility":99,"releases":[{"id":"01000BC013B0A000","region":null}]},{"id":"916ba995-825b-4890-9ee2-04c9af3eb116","directory":"wrc-8-fia-world-rally-championship","title":"WRC 8 FIA World Rally Championship","compatibility":5,"releases":[{"id":"010087800DCEA000","region":null}]},{"id":"9171a844-82ce-4d46-8054-2b022489763a","directory":"eliza","title":"Eliza","compatibility":99,"releases":[{"id":"0100D1700E832000","region":null}]},{"id":"9173c1a0-b9d1-4828-bea3-33418c783006","directory":"griftlands","title":"Griftlands","compatibility":99,"releases":[{"id":"0100E49013514000","region":null}]},{"id":"917a0c04-067b-4e08-86c7-c259ef4779b0","directory":"sumatra-fate-of-yandi","title":"Sumatra: Fate of Yandi","compatibility":0,"releases":[{"id":"010026A013DD6000","region":null}]},{"id":"917c5a3a-11bf-4881-9ecd-5d01ac946d9c","directory":"the-tiny-bang-story","title":"The Tiny Bang Story","compatibility":99,"releases":[{"id":"01009B300D76A000","region":null}]},{"id":"918807a6-5b29-4f9b-9108-fca8150a7eef","directory":"ruiner","title":"RUINER","compatibility":1,"releases":[{"id":"01006EC00F2CC000","region":null}]},{"id":"918b93f4-92b6-46f6-91ca-60d8e91c1a00","directory":"super-treasure-arena","title":"Super Treasure Arena","compatibility":99,"releases":[{"id":"010024A005A2A000","region":null}]},{"id":"91960037-41b9-4c38-82ca-7feb2fb6bcfe","directory":"copperbell","title":"CopperBell","compatibility":99,"releases":[{"id":"0100C5A0115C4000","region":null}]},{"id":"91980373-7b2e-4336-8f47-6f588bbd2118","directory":"capcom-arcade-stadium","title":"Capcom Arcade Stadium","compatibility":3,"releases":[{"id":"01001E0013208000","region":null}]},{"id":"91a43e92-07dc-4e05-a981-280719dd7a3a","directory":"morphite-demo","title":"Morphite Demo","compatibility":99,"releases":[{"id":"0100E1500B5EE000","region":null}]},{"id":"91b005bb-d10f-4064-8a0f-babcd289db10","directory":"goken","title":"GOKEN","compatibility":1,"releases":[{"id":"0100126006EF0000","region":null}]},{"id":"91bdb1d8-034c-4a95-ab70-77cb60bdbc7f","directory":"ni-no-kuni-ii-revenant-kingdom-princes-edition","title":"Ni no Kuniâ„¢ II: Revenant Kingdom PRINCE'S EDITION","compatibility":1,"releases":[{"id":"0100BE7013E06000","region":null}]},{"id":"91c61b1f-ca5e-4f90-9fb2-7358db3cd856","directory":"flip-over-frog","title":"FLIP OVER FROG","compatibility":99,"releases":[{"id":"0100AFC00B120000","region":null}]},{"id":"91ca3454-8b06-4c2c-aa9c-b6175c09d10d","directory":"fuze4-nintendo-switch","title":"FUZE4 Nintendo Switch","compatibility":5,"releases":[{"id":"0100EAD007E98000","region":null}]},{"id":"91d0f429-c36b-4577-8e5e-e7971cd9d96c","directory":"pinkman","title":"Pinkman+","compatibility":99,"releases":[{"id":"0100BD8013992000","region":null}]},{"id":"91deab0a-ded9-49e7-97a4-2ad921841728","directory":"saga-frontier-remastered","title":"SaGa Frontier Remastered","compatibility":1,"releases":[{"id":"0100A51013530000","region":null}]},{"id":"91e8ae57-78a3-4291-9090-056db5edac07","directory":"owlboy","title":"Owlboy","compatibility":1,"releases":[{"id":"0100BC2004FF4000","region":null}]},{"id":"91f51d45-473f-425f-bd3e-a5188d3e67f7","directory":"space-scavenger","title":"Space Scavenger","compatibility":99,"releases":[{"id":"0100B37011E2C000","region":null}]},{"id":"91f7ed6f-1129-4019-9475-f0f676b7ad9f","directory":"the-plane-effect","title":"The Plane Effect","compatibility":99,"releases":[{"id":"0100F4C013866000","region":null}]},{"id":"91fe0bb1-d56a-4136-91cd-9532b2862c42","directory":"gods-will-fall","title":"Gods Will Fall","compatibility":3,"releases":[{"id":"0100CFA0111C8000","region":null}]},{"id":"922da700-2eaf-4679-a63e-696e5b47139e","directory":"rime","title":"RiME","compatibility":3,"releases":[{"id":"0100A62002042000","region":null}]},{"id":"9230b1d9-082a-46b1-8211-88ac46ef0e2a","directory":"seven-knights-time-wanderer","title":"Seven Knights -Time Wanderer-","compatibility":4,"releases":[{"id":"010018400C24E000","region":null}]},{"id":"9238e5db-f81a-4935-a699-6dfc552e5a9b","directory":"animus","title":"ANIMUS","compatibility":0,"releases":[{"id":"010097600C322000","region":null}]},{"id":"92421a02-e962-4bee-b5d7-c5b352de95f2","directory":"arcade-archives-moon-patrol","title":"Arcade Archives MOON PATROL","compatibility":1,"releases":[{"id":"01003000097FE000","region":null}]},{"id":"9246e08c-ca47-4dc6-8e4e-cd6c90e456ed","directory":"melty-blood-type-lumina","title":"MELTY BLOOD: TYPE LUMINA","compatibility":1,"releases":[{"id":"01001E30126A0000","region":null}]},{"id":"925c58f6-8515-4eac-924e-9828c93a5d06","directory":"crash-autodrive","title":"CRASH: Autodrive","compatibility":99,"releases":[{"id":"01005AE0125F0000","region":null}]},{"id":"925e3fa4-6c3e-4229-ba47-0b5c40615d9e","directory":"redout-space-assault","title":"Redout: Space Assault","compatibility":99,"releases":[{"id":"0100326010B98000","region":null}]},{"id":"926629ef-5ce5-43f8-b462-02dd1db98b3f","directory":"tacticool-champs","title":"Tacticool Champs","compatibility":99,"releases":[{"id":"010044A00CEB4000","region":null}]},{"id":"926e7162-33f1-4438-a0a7-6e1c62dfc711","directory":"what-comes-after","title":"What Comes After","compatibility":99,"releases":[{"id":"0100013013F30000","region":null}]},{"id":"928f37e1-fa13-4e4d-8c0a-e1cead26d639","directory":"feather","title":"Feather","compatibility":3,"releases":[{"id":"0100E4300CB3E000","region":null}]},{"id":"929c7474-8098-42ea-8dff-3f8cce8a4d35","directory":"car-quest","title":"Car Quest","compatibility":0,"releases":[{"id":"01007BD00AE70000","region":null}]},{"id":"92aac202-bfc9-424e-a244-01dde5cdf315","directory":"garfield-kart-furious-racing","title":"Garfield Kart Furious Racing","compatibility":2,"releases":[{"id":"010061E00E8BE000","region":null}]},{"id":"92bc8a02-cb6e-4e70-b3d0-184b3c1eadf8","directory":"catty-batty-the-spirit-guide","title":"Catty & Batty: The Spirit Guide","compatibility":99,"releases":[{"id":"0100AEF014C82000","region":null}]},{"id":"92bde1d0-207b-45ff-8168-ded79b7e016c","directory":"pixark","title":"PixARK","compatibility":99,"releases":[{"id":"0100CC700B2B4000","region":null}]},{"id":"92c5bfd8-2ee6-449b-8858-00d2231d46a4","directory":"world-soccer","title":"World Soccer","compatibility":99,"releases":[{"id":"010083B00B97A000","region":null}]},{"id":"92d66290-6d90-4475-ae3a-a148aa0b8dd2","directory":"moorhuhn-kart-2","title":"Moorhuhn Kart 2","compatibility":99,"releases":[{"id":"010045C00F274000","region":null}]},{"id":"92e843ea-413c-4219-bd5f-7eab1a932488","directory":"hed-the-pig","title":"Hed the Pig","compatibility":1,"releases":[{"id":"0100690013826000","region":null}]},{"id":"92eccc9a-59a2-4eb6-b316-693432cc23e1","directory":"iris-and-the-giant","title":"Iris and the Giant","compatibility":99,"releases":[{"id":"01008780123A0000","region":null}]},{"id":"92ece80b-59f6-4f24-a07a-aafa69170906","directory":"aeon-must-die","title":"Aeon Must Die!","compatibility":0,"releases":[{"id":"01000B600F918000","region":null}]},{"id":"92fad2dc-59d8-466f-9eb3-977371f5711f","directory":"magnus-failure","title":"Magnus Failure","compatibility":99,"releases":[{"id":"0100F490159A2000","region":null}]},{"id":"92fdc7d4-07e2-4f19-931e-e25be59691c5","directory":"gems-of-war","title":"Gems of War","compatibility":4,"releases":[{"id":"0100BD800986E000","region":null}]},{"id":"92ff9311-7da9-4d39-9c9e-7a4ab8a41639","directory":"arcade-archives-naughty-boy","title":"Arcade Archives NAUGHTY BOY","compatibility":99,"releases":[{"id":"0100419010C60000","region":null}]},{"id":"930651df-8b48-42bf-a2de-ebdae094a1b5","directory":"the-spectrum-retreat","title":"The Spectrum Retreat","compatibility":99,"releases":[{"id":"010041C00A68C000","region":null}]},{"id":"930edcbd-dc79-4c28-9e86-8ad79601558b","directory":"vasterclaws-3-dragon-slayer-of-the-god-world","title":"VasterClaws 3:Dragon slayer of the God world","compatibility":99,"releases":[{"id":"0100082014D86000","region":null}]},{"id":"93150f44-82be-410f-8ea2-4bbbe122453f","directory":"mecha-storm","title":"Mecha Storm","compatibility":99,"releases":[{"id":"01001FA009A1E000","region":null}]},{"id":"93190e97-13c7-48c1-8af7-6bee24532787","directory":"bafl-brakes-are-for-losers","title":"BAFL - Brakes Are For Losers","compatibility":1,"releases":[{"id":"01004C70086EC000","region":null}]},{"id":"931ec0a8-e99c-44f7-a294-aa543736746b","directory":"syrup-and-the-ultimate-sweet","title":"Syrup and The Ultimate Sweet","compatibility":99,"releases":[{"id":"01001FF0104D8000","region":null}]},{"id":"93206a95-d0c6-468b-9e32-4e6946c506d2","directory":"chameleon-run-deluxe-edition","title":"Chameleon Run Deluxe Edition","compatibility":1,"releases":[{"id":"010024F008742000","region":null}]},{"id":"932ab717-0ac9-4f85-a69b-729c44cd4756","directory":"bee-simulator","title":"Bee Simulator","compatibility":2,"releases":[{"id":"01009E700DB2E000","region":null}]},{"id":"9334858d-59c0-4423-b3a0-182468733a64","directory":"arcade-archives-the-legend-of-kage","title":"Arcade Archives THE LEGEND OF KAGE","compatibility":99,"releases":[{"id":"0100353009836000","region":null}]},{"id":"9350021d-96a0-447a-ab22-7bcc456f9cb7","directory":"football-heroes-turbo","title":"Football Heroes Turbo","compatibility":99,"releases":[{"id":"0100D9B00B666000","region":null}]},{"id":"93510eb1-c769-493b-aa61-20dac3ea766d","directory":"super-destronaut-dx-2","title":"Super Destronaut DX-2","compatibility":99,"releases":[{"id":"0100DCF015512000","region":null}]},{"id":"93548908-6e55-41bd-9e08-5a2bbc3177c4","directory":"dark-souls-remastered","title":"DARK SOULS: REMASTERED","compatibility":2,"releases":[{"id":"01004AB00A260000","region":null}]},{"id":"93682fd1-8c8a-4584-a311-96cc7790d1a3","directory":"great-conqueror-rome","title":"Great Conqueror: Rome","compatibility":99,"releases":[{"id":"01005670128FC000","region":null}]},{"id":"93685567-627e-4a47-8ff3-12b7525932d3","directory":"valfaris","title":"Valfaris","compatibility":2,"releases":[{"id":"010089700F30C000","region":null}]},{"id":"937f3faa-2bcc-4506-aa3c-e629a40e509d","directory":"planet-alpha","title":"PLANET ALPHA","compatibility":3,"releases":[{"id":"010003C0099EE000","region":null}]},{"id":"93812f0d-3c1f-4d5a-877e-b4b65563a5ab","directory":"comic-coloring-book-complete-edition","title":"Comic Coloring Book - Complete Edition","compatibility":99,"releases":[{"id":"0100CEF015DEE000","region":null}]},{"id":"938f372f-b147-438c-aafb-e4917789c9dd","directory":"fifty-words-by-powgi","title":"Fifty Words by POWGI","compatibility":99,"releases":[{"id":"010094D00F17C000","region":null}]},{"id":"93a8a545-0530-4c5c-a80e-b636c0b0c9af","directory":"one-line-coloring","title":"One Line Coloring","compatibility":99,"releases":[{"id":"01009170129FA000","region":null}]},{"id":"93a8a67a-fdd5-428a-91ea-354eb6e6e9f2","directory":"paradox-soul","title":"Paradox Soul","compatibility":99,"releases":[{"id":"010065100E7DA000","region":null}]},{"id":"93abc975-8c8e-40f4-a91a-4fada98f3cbc","directory":"aca-neogeo-samurai-shodown","title":"ACA NEOGEO SAMURAI SHODOWN","compatibility":99,"releases":[{"id":"01005C9002B42000","region":null}]},{"id":"93ac86da-5d50-4dbb-b941-9795e6ee529a","directory":"crossing-souls","title":"Crossing Souls","compatibility":1,"releases":[{"id":"0100B1E00AA56000","region":null}]},{"id":"93cb8e39-5679-4af7-ac74-3c539ea7d973","directory":"five-nights-at-freddys-3","title":"Five Nights at Freddy's 3","compatibility":99,"releases":[{"id":"010056100E43C000","region":null}]},{"id":"93cc3b54-39bb-4aa5-af11-fa5fef84242b","directory":"battlloon","title":"BATTLLOON","compatibility":99,"releases":[{"id":"010048300D5C2000","region":null}]},{"id":"93d1bad5-3aa5-4e0c-be15-9f09d35e8939","directory":"voxel-galaxy","title":"Voxel Galaxy","compatibility":99,"releases":[{"id":"0100B1E0100A4000","region":null}]},{"id":"93e029a8-cb8a-47a8-a54b-7b0f0ab6072a","directory":"hermitage-strange-case-files","title":"Hermitage: Strange Case Files","compatibility":99,"releases":[{"id":"01008D10115C2000","region":null}]},{"id":"93e44828-892a-4f1b-b40d-3bda1e09fc2c","directory":"risk-global-domination","title":"RISK Global Domination","compatibility":5,"releases":[{"id":"0100E8300A67A000","region":null}]},{"id":"93fab154-777a-4236-b27d-c51d1d1a9114","directory":"dimension-drive","title":"Dimension Drive","compatibility":1,"releases":[{"id":"0100401003A0C000","region":null}]},{"id":"94033437-ee4b-4230-97af-e3af1fa68e13","directory":"doctor-who-the-edge-of-reality","title":"Doctor Who: The Edge of Reality","compatibility":99,"releases":[{"id":"010066C01366E000","region":null}]},{"id":"94082dc8-e037-462e-94bc-e9c81d942c74","directory":"eyes-the-horror-game","title":"Eyes: The Horror Game","compatibility":99,"releases":[{"id":"0100EFE00A3C2000","region":null}]},{"id":"9416a0e8-25e8-4ba9-b1d1-fef2c99837f8","directory":"witcheye","title":"Witcheye","compatibility":99,"releases":[{"id":"0100BD4011FFE000","region":null}]},{"id":"9422081c-9c41-4908-b120-54f881d784c3","directory":"world-war-z","title":"World War Z","compatibility":4,"releases":[{"id":"010099F013898000","region":null}]},{"id":"9425e16e-eee6-46cd-971e-decca85aed5e","directory":"professor-lupo-ocean","title":"Professor Lupo: Ocean","compatibility":0,"releases":[{"id":"0100D1F0132F6000","region":null}]},{"id":"94284d97-ac9a-4a49-a793-b6cb6e5cb9d9","directory":"iron-crypticle","title":"Iron Crypticle","compatibility":99,"releases":[{"id":"01005EC00BEEC000","region":null}]},{"id":"942afcbf-b2e1-45ee-a247-50bbd8a53b65","directory":"hentai-vs-evil","title":"Hentai vs. Evil","compatibility":99,"releases":[{"id":"0100267013F04000","region":null}]},{"id":"94330f14-4578-4348-aee8-ee6504b5014e","directory":"a-plague-tale-innocence-cloud-version","title":"A Plague Tale: Innocence - Cloud Version","compatibility":99,"releases":[{"id":"01003CE015180000","region":null}]},{"id":"943e324b-d434-4a09-87bf-f27b0ebea976","directory":"vasilis","title":"Vasilis","compatibility":99,"releases":[{"id":"0100AD300E4FA000","region":null}]},{"id":"9443945c-327f-4233-bb7f-e61fd92df7ad","directory":"skatemasta-tcheco","title":"Skatemasta Tcheco","compatibility":99,"releases":[{"id":"01001F101289A000","region":null}]},{"id":"94455c2b-d02b-441d-9dac-3d54b48cf361","directory":"ultimate-bumper-cars-dodgems","title":"Ultimate Bumper Cars: Dodgems","compatibility":1,"releases":[{"id":"01006640142DE000","region":null}]},{"id":"9457a71a-b704-441b-b8f8-e24fac59f064","directory":"mini-car-racing-2","title":"Mini Car Racing 2","compatibility":99,"releases":[{"id":"0100779015FFE000","region":null}]},{"id":"945b2df8-5cf9-45f3-b167-74dd8f47be41","directory":"tetra-for-nintendo-switch-international-edition","title":"TETRA for Nintendo Switchâ„¢ International Edition","compatibility":99,"releases":[{"id":"0100671016432000","region":null}]},{"id":"945b32c5-1b8b-4f1d-9f71-60bf4d8fefb5","directory":"slain-back-from-hell","title":"Slain: Back From Hell","compatibility":2,"releases":[{"id":"0100224004004000","region":null}]},{"id":"9460ea30-1074-4cfc-99d7-c24c9eac70bf","directory":"six-sides-of-the-world","title":"Six Sides of the World","compatibility":99,"releases":[{"id":"0100F8000B37E000","region":null}]},{"id":"94634f05-d8be-4e9c-ab8f-2b2f0dbbbfd5","directory":"car-mechanic-manager","title":"Car Mechanic Manager","compatibility":99,"releases":[{"id":"010048800D95C000","region":null}]},{"id":"9463ca44-abf7-4b8f-92ac-773b16ac6ad0","directory":"warshmallows","title":"Warshmallows","compatibility":99,"releases":[{"id":"01009AC016040000","region":null}]},{"id":"94833ad1-443e-435b-afca-9a4e62c566be","directory":"active-neurons-puzzle-game","title":"Active Neurons - Puzzle game","compatibility":99,"releases":[{"id":"010039A010DA0000","region":null}]},{"id":"94846217-1559-40db-8266-01062fd76b44","directory":"xeno-crisis","title":"Xeno Crisis","compatibility":0,"releases":[{"id":"010013F009B88000","region":null}]},{"id":"9487ff7e-07eb-4901-954f-4247d70fc32f","directory":"cyber-protocol","title":"Cyber Protocol","compatibility":2,"releases":[{"id":"0100C1300DE74000","region":null}]},{"id":"948c1a4b-8df4-487d-be03-c42f9abf4e62","directory":"pocket-arcade-story","title":"Pocket Arcade Story","compatibility":99,"releases":[{"id":"010011B00E6B2000","region":null}]},{"id":"948ff28d-3e3e-405f-84b8-b4a9f50f6fee","directory":"pinball-fx3","title":"Pinball FX3","compatibility":1,"releases":[{"id":"0100DB7003828000","region":null}]},{"id":"949092a4-69ce-4813-9eaa-b2b54d8ac69d","directory":"akinofa","title":"Akinofa","compatibility":99,"releases":[{"id":"010039201520E000","region":null}]},{"id":"9491414d-dabe-4118-a405-be86fffb8eb9","directory":"gearshifters","title":"Gearshifters","compatibility":99,"releases":[{"id":"0100DB8010DBE000","region":null}]},{"id":"94917151-ce03-457f-8d3d-25b3eff26569","directory":"ghost-10","title":"Ghost 1.0","compatibility":2,"releases":[{"id":"0100EEB005ACC000","region":null}]},{"id":"9498d4f2-fb86-403c-bd59-d029a6f2c150","directory":"lightseekers","title":"Lightseekers","compatibility":99,"releases":[{"id":"01009EA00C792000","region":null}]},{"id":"949c10a9-882e-4067-a6bd-449d89aca1d5","directory":"epic-clicker-journey","title":"Epic Clicker Journey","compatibility":99,"releases":[{"id":"0100CA200EE70000","region":null}]},{"id":"949c253c-239d-45c9-8aa6-71cad84866de","directory":"unworthy","title":"Unworthy","compatibility":99,"releases":[{"id":"01004AB00B4F8000","region":null}]},{"id":"94a27c39-921e-433d-84dd-72006cccc63f","directory":"nihilumbra","title":"Nihilumbra","compatibility":2,"releases":[{"id":"0100AA0008736000","region":null}]},{"id":"94a34c23-51d1-449d-b53a-492e29edbfed","directory":"touhou-hyouibana-antinomy-of-common-flowers","title":"Touhou Hyouibana ~ Antinomy of Common Flowers.","compatibility":99,"releases":[{"id":"0100ECF012414000","region":null}]},{"id":"94a7923c-d4f1-462c-a257-dc4ec2214eb2","directory":"kemono-heroes","title":"Kemono Heroes","compatibility":0,"releases":[{"id":"0100B61010272000","region":null}]},{"id":"94c273be-c4e3-49bd-bb53-2d3a19ccc7f0","directory":"heroki","title":"Heroki","compatibility":1,"releases":[{"id":"010057300B0DC000","region":null}]},{"id":"94c57dd1-5137-42c4-aa1d-5d0bf73c5bc1","directory":"hollow-knight","title":"Hollow Knight","compatibility":0,"releases":[{"id":"0100633007D48000","region":null}]},{"id":"94db200e-e8f3-400a-9e26-6a4fdb3e7016","directory":"dyna-bomb","title":"Dyna Bomb","compatibility":3,"releases":[{"id":"01007DD00DFDE000","region":null}]},{"id":"94e2aada-3dd6-46ce-85dd-a2af04418947","directory":"slay-the-spire","title":"Slay the Spire","compatibility":3,"releases":[{"id":"010026300BA4A000","region":null}]},{"id":"94f19881-b23a-41d1-99eb-f0f1d3cfb951","directory":"conduct-together","title":"Conduct TOGETHER!","compatibility":1,"releases":[{"id":"010043700C9B0000","region":null}]},{"id":"950871f5-90ae-4864-9527-3c29b51c8864","directory":"handpan","title":"Handpan","compatibility":99,"releases":[{"id":"010086D01674E000","region":null}]},{"id":"9516bf3d-4a56-4812-a59f-028b29d6e384","directory":"aegis-defenders","title":"Aegis Defenders","compatibility":1,"releases":[{"id":"01008E6006502000","region":null}]},{"id":"9537a845-d7d1-4b1a-b558-d1b68d6759fa","directory":"turtlepop-journey-to-freedom","title":"TurtlePop: Journey to Freedom","compatibility":2,"releases":[{"id":"0100B1F0090F2000","region":null}]},{"id":"95576ae2-a958-48a5-abcd-78b77ac14b65","directory":"ice-station-z","title":"Ice Station Z","compatibility":99,"releases":[{"id":"0100954014718000","region":null}]},{"id":"9575451f-7ab8-40c9-a303-0394da68eda8","directory":"aca-neogeo-prehistoric-isle-2","title":"ACA NEOGEO PREHISTORIC ISLE 2","compatibility":99,"releases":[{"id":"0100A7800AFAA000","region":null}]},{"id":"958d48ab-d008-4a90-ba37-01aef0068490","directory":"shark-pinball","title":"Shark Pinball","compatibility":99,"releases":[{"id":"01002F701576A000","region":null}]},{"id":"95902038-6d92-4f12-96a2-29fd6c352e3b","directory":"my-universe-my-baby","title":"My Universe - My Baby","compatibility":99,"releases":[{"id":"0100E20011A06000","region":null}]},{"id":"959de09a-3be2-4db6-bd0e-a2b1900e423e","directory":"miles-and-kilo","title":"Miles & Kilo","compatibility":99,"releases":[{"id":"01004B7009F00000","region":null}]},{"id":"959e3516-9c94-40e8-8bb6-f226f5c1e4df","directory":"strawberry-vinegar","title":"Strawberry Vinegar","compatibility":1,"releases":[{"id":"0100D7E011C64000","region":null}]},{"id":"959eac5c-36ad-4040-96e9-20b2bc2b1812","directory":"colloc","title":"Colloc","compatibility":99,"releases":[{"id":"01007880115E8000","region":null}]},{"id":"95ac0796-2fcb-449c-9f82-ca45ac708a9f","directory":"chill-panda","title":"Chill Panda","compatibility":99,"releases":[{"id":"0100AEF011DF4000","region":null}]},{"id":"95acea0d-456e-4e23-9dc2-292dd347ea0e","directory":"swamp-defense-2","title":"Swamp Defense 2","compatibility":99,"releases":[{"id":"010025000CBEA000","region":null}]},{"id":"95b482b8-9e5b-491f-8bd2-9e73cd62aa60","directory":"wonder-boy-the-dragons-trap","title":"Wonder Boy: The Dragon's Trap","compatibility":0,"releases":[{"id":"0100A6300150C000","region":null}]},{"id":"95c62973-cb16-4997-96f3-1628ab8a7892","directory":"masagoro","title":"MASAGORO","compatibility":99,"releases":[{"id":"0100FEC014F9E000","region":null}]},{"id":"95cbb73f-d0d8-4600-bccc-4483e4e0d687","directory":"arcade-archives-mat-mania-exciting-hour","title":"Arcade Archives MAT MANIA EXCITING HOUR","compatibility":99,"releases":[{"id":"0100C5B009804000","region":null}]},{"id":"95d2afb7-de83-401c-ab93-c1f04320b8ec","directory":"pixel-game-maker-series-remote-bomber","title":"Pixel Game Maker Series Remote Bomber","compatibility":99,"releases":[{"id":"010025501424C000","region":null}]},{"id":"95d4fe11-48e7-4fd8-a14d-2f5364203339","directory":"yuoni-rises","title":"夕鬼 零 Yuoni: Rises","compatibility":99,"releases":[{"id":"01002EE00F48C000","region":null}]},{"id":"95e46f8f-e1f2-4088-aefe-78e4a3e3b766","directory":"sushi-striker-the-way-of-sushido-eshop-demo","title":"Sushi Striker: The Way of Sushido eShop Demo","compatibility":99,"releases":[{"id":"0100FA500B128000","region":null}]},{"id":"95e66041-d6f2-4351-9e1b-4147b960b75a","directory":"nintendo-entertainment-system-nintendo-switch-online","title":"Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"0100D870045B6000","region":null}]},{"id":"960421b4-8f70-4f3c-802f-c5d9f7dba1a2","directory":"gerrrms","title":"GERRRMS","compatibility":99,"releases":[{"id":"010058F010296000","region":null}]},{"id":"9628cb84-5720-4738-a34f-ebbbc8fb6097","directory":"logic-puzzle-1000","title":"〇× LOGIC PUZZLE 1000 !","compatibility":99,"releases":[{"id":"010091700F76E000","region":null}]},{"id":"964313a1-670c-400a-aa46-ffb87d5279ef","directory":"armed-emeth","title":"Armed Emeth","compatibility":99,"releases":[{"id":"0100BC90155D6000","region":null}]},{"id":"964b3a07-1151-4d96-a9d3-fa23191103e1","directory":"death-tales","title":"Death Tales","compatibility":99,"releases":[{"id":"0100A51013550000","region":null}]},{"id":"964f56be-9aa4-45cc-b428-a0e0ef2c54a3","directory":"the-marauder-chronicles-curse-over-valdria","title":"The Marauder Chronicles: Curse Over Valdria","compatibility":99,"releases":[{"id":"01002620160BC000","region":null}]},{"id":"9660f49b-f0d6-4c38-ac69-bad6da26079b","directory":"sables-grimoire","title":"Sable's Grimoire","compatibility":99,"releases":[{"id":"010086F012E52000","region":null}]},{"id":"967bda2a-91d9-43e8-8425-89c0625aa7e0","directory":"dreamworks-dragons-dawn-of-new-riders","title":"DreamWorks Dragons Dawn of New Riders","compatibility":4,"releases":[{"id":"0100ED200B6FC000","region":null}]},{"id":"967c0cb7-b45c-4342-81fe-ca59763a854b","directory":"brave-dungeon-dark-witch-storycombat","title":"Brave Dungeon + Dark Witch Story:COMBAT","compatibility":2,"releases":[{"id":"01000F5003068000","region":null}]},{"id":"96898fc3-53cc-4c66-8fee-abda7804948a","directory":"mirror","title":"Mirror","compatibility":1,"releases":[{"id":"010080F00F490000","region":null}]},{"id":"968a8444-58f3-4335-98d9-4d09649d27fa","directory":"cooking-simulator","title":"Cooking Simulator","compatibility":99,"releases":[{"id":"01001E400FD58000","region":null}]},{"id":"968d1f3e-b526-4b76-8218-d105660c6ee2","directory":"psikyo-shooting-stars-bravo","title":"Psikyo Shooting Stars Bravo","compatibility":4,"releases":[{"id":"0100D7400F2E4000","region":null}]},{"id":"96917456-1c7b-4d22-b7b1-904577c596b7","directory":"rascal-fight","title":"Rascal Fight","compatibility":99,"releases":[{"id":"0100E73010754000","region":null}]},{"id":"969d1b5a-eb5c-48c2-b381-9c58e16fc199","directory":"timespinner","title":"Timespinner","compatibility":2,"releases":[{"id":"0100DD300CF3A000","region":null}]},{"id":"96ad1115-5c40-49fc-a1f5-32e1d03cb5be","directory":"gibbous-a-cthulhu-adventure","title":"Gibbous - A Cthulhu Adventure","compatibility":3,"releases":[{"id":"0100D95012C0A000","region":null}]},{"id":"96af36ff-297d-42dc-823f-83dc5bfd453f","directory":"johnny-turbos-arcade-break-thru","title":"Johnny Turbo's Arcade: Break Thru","compatibility":99,"releases":[{"id":"010066D002CC8000","region":null}]},{"id":"96b7630c-10d0-4b57-9fe2-d36583b5b5bd","directory":"arcade-archives-p-47","title":"Arcade Archives P-47","compatibility":99,"releases":[{"id":"010067A011FF0000","region":null}]},{"id":"96d2c8ce-7073-42b6-9f8c-fe8a610753d1","directory":"captain-cat","title":"Captain Cat","compatibility":99,"releases":[{"id":"0100D1F00D688000","region":null}]},{"id":"96fb75c6-e008-4810-a25a-baeac4274f0e","directory":"pipe-fitter","title":"Pipe Fitter","compatibility":99,"releases":[{"id":"0100571016352000","region":null}]},{"id":"9705592c-cf51-49d3-ad63-50f3a56abbf8","directory":"eternal-radiance","title":"Eternal Radiance","compatibility":99,"releases":[{"id":"0100F0C014A16000","region":null}]},{"id":"9708b699-e61d-4caa-b63f-9e758ec2b61e","directory":"my-forged-wedding","title":"My Forged Wedding","compatibility":3,"releases":[{"id":"0100D37011F42000","region":null}]},{"id":"971b228d-4f90-46c2-aa30-edfc0e10d194","directory":"windscape","title":"Windscape","compatibility":99,"releases":[{"id":"010059900BA3C000","region":null}]},{"id":"972b0afe-f4d0-4520-9935-ae386c180775","directory":"kubinashi-recollection","title":"Kubinashi Recollection","compatibility":99,"releases":[{"id":"01001A1015B68000","region":null}]},{"id":"9734f8b3-eda8-43e0-a4c5-6c3a880bb8a8","directory":"heart-of-the-woods","title":"Heart of the Woods","compatibility":99,"releases":[{"id":"010031300F666000","region":null}]},{"id":"9742ad27-a933-4347-b0bd-7c1a77114cd9","directory":"pop-blocks","title":"Pop Blocks","compatibility":99,"releases":[{"id":"0100739015DCC000","region":null}]},{"id":"97439c47-3166-4a79-8bfd-f6068a4072e6","directory":"hue","title":"Hue","compatibility":99,"releases":[{"id":"01005A700C9BA000","region":null}]},{"id":"9744120f-848d-4718-8742-f1f37e38d1f9","directory":"family-vacation-2-road-trip","title":"Family Vacation 2: Road Trip","compatibility":99,"releases":[{"id":"0100972015102000","region":null}]},{"id":"97460bc4-66c5-4de7-bfbb-c23476907628","directory":"ender-lilies-quietus-of-the-knights","title":"ENDER LILIES: Quietus of the Knights","compatibility":1,"releases":[{"id":"0100CCF012E9A000","region":null}]},{"id":"974d9e04-4444-41c9-aa9e-3ff8ecd1a334","directory":"bubble-shooter-dx","title":"Bubble Shooter DX","compatibility":99,"releases":[{"id":"010053B00D26E000","region":null}]},{"id":"97514c58-b0ff-4a4d-9426-2beb08f00acf","directory":"fairy-tail","title":"FAIRY TAIL","compatibility":1,"releases":[{"id":"0100CF900FA3E000","region":null}]},{"id":"975b8b22-6c24-4358-92f9-087cfc210931","directory":"retimed-demo","title":"Retimed Demo","compatibility":99,"releases":[{"id":"0100A8200D0EE000","region":null}]},{"id":"975c8545-425a-4b40-9d20-b389c2bdf24e","directory":"element","title":"Element","compatibility":3,"releases":[{"id":"0100A6700AF10000","region":null}]},{"id":"975e6ac1-21d4-4dee-ac1c-4efe736cbf98","directory":"i-ai","title":"I, AI","compatibility":99,"releases":[{"id":"01009CE01261C000","region":null}]},{"id":"9768e0c9-33c4-41a6-b57b-ce2395e49b28","directory":"good-pizza-great-pizza","title":"Good Pizza, Great Pizza","compatibility":1,"releases":[{"id":"0100F610122F6000","region":null}]},{"id":"976f37ed-eca7-4049-89cf-9478c2e1ad04","directory":"battleship","title":"BATTLESHIP","compatibility":99,"releases":[{"id":"0100F0400C878000","region":null}]},{"id":"9778aa2e-c185-49a2-8aa4-59d19e743112","directory":"disaster-report-4-summer-memories","title":"Disaster Report 4: Summer Memories","compatibility":4,"releases":[{"id":"010020700E2A2000","region":null}]},{"id":"977b58db-7f13-4e66-bdb6-942e1acd67d8","directory":"chroma-squad","title":"Chroma Squad","compatibility":99,"releases":[{"id":"010012E00EA66000","region":null}]},{"id":"977d8140-1172-434e-8c4f-510861780e34","directory":"darius-cozmic-collection-console","title":"Darius Cozmic Collection Console","compatibility":0,"releases":[{"id":"01000330105BE000","region":null}]},{"id":"978509c1-b386-421d-ac84-ab0ec3534e16","directory":"eight-dragons","title":"Eight Dragons","compatibility":99,"releases":[{"id":"01003AD013BD2000","region":null}]},{"id":"979ae6b6-484b-4d79-bba5-6ed0516f6a09","directory":"ni-no-kuni-wrath-of-the-white-witch","title":"Ni no Kuni: Wrath of the White Witch","compatibility":1,"releases":[{"id":"0100E5600D446000","region":null}]},{"id":"979fa651-1413-4221-aa12-20c1a94d6ce8","directory":"mary-kay-andrews-the-fixer-upper","title":"Mary Kay Andrews: The Fixer Upper","compatibility":99,"releases":[{"id":"0100232015D6E000","region":null}]},{"id":"97a6a34f-def2-4e4d-881d-6c8055ed699a","directory":"jim-is-moving-out","title":"Jim is Moving Out!","compatibility":99,"releases":[{"id":"01001F5006DF6000","region":null}]},{"id":"97a932e0-4bd9-448d-9fe2-08b5b2dc20b1","directory":"old-school-musical","title":"Old School Musical","compatibility":99,"releases":[{"id":"0100C3D00923A000","region":null}]},{"id":"97b71d31-1655-480a-a43d-c758cd5faba9","directory":"fitness-boxing","title":"Fitness Boxing","compatibility":0,"releases":[{"id":"0100E7300AAD4000","region":null}]},{"id":"97b8037b-383b-4eb6-8d88-8d77bff2bd23","directory":"grid-mania","title":"Grid Mania","compatibility":1,"releases":[{"id":"010031200981C000","region":null}]},{"id":"97c66a86-32ee-4652-af7f-04290673cb51","directory":"mars-power-industries","title":"Mars Power Industries","compatibility":99,"releases":[{"id":"01003B900ED8C000","region":null}]},{"id":"97d866e6-cd9f-4339-8922-3c946cfc73c0","directory":"bomb-chicken","title":"Bomb Chicken","compatibility":0,"releases":[{"id":"01008AF00A532000","region":null}]},{"id":"97d88a35-65a1-4d61-890d-2a0a036cdaf7","directory":"thomas-was-alone","title":"Thomas Was Alone","compatibility":99,"releases":[{"id":"010019D0126E2000","region":null}]},{"id":"97e8ec9d-7723-444c-9d96-da49ddd698ee","directory":"animated-jigsaws-wild-animals","title":"Animated Jigsaws: Wild Animals","compatibility":99,"releases":[{"id":"01004A200C236000","region":null}]},{"id":"97f66dc9-aa12-4fa3-8204-c566cc268587","directory":"deaths-hangover","title":"Death's Hangover","compatibility":5,"releases":[{"id":"0100492011A8A000","region":null}]},{"id":"97f8c6da-3a72-494e-983d-799c2dc9c5ea","directory":"get-a-grip-chip","title":"Get-A-Grip Chip","compatibility":99,"releases":[{"id":"01003AA01373C000","region":null}]},{"id":"981caa8c-c99d-4e83-aacc-f671e8cc74bb","directory":"drunk-fu-wasted-masters","title":"Drunk-Fu: Wasted Masters","compatibility":99,"releases":[{"id":"0100F2400CF00000","region":null}]},{"id":"98231b5e-bb20-4678-a3f8-9434af45331d","directory":"twin-robots-ultimate-edition","title":"Twin Robots: Ultimate Edition","compatibility":99,"releases":[{"id":"0100047009742000","region":null}]},{"id":"9839f061-4b81-4e1b-8e7e-4d68e56512cb","directory":"holy-potatoes-were-in-space","title":"Holy Potatoes! We're In Space?!","compatibility":5,"releases":[{"id":"010096B009E12000","region":null}]},{"id":"9840c366-a7b7-4e0d-a9d7-ade0058a199b","directory":"0x0-minimalist","title":"0x0 Minimalist","compatibility":99,"releases":[{"id":"01001E3013FC4000","region":null}]},{"id":"98418511-0da2-4d68-a960-7c45fd7d8ba8","directory":"steamworld-quest-hand-of-gilgamech","title":"SteamWorld Quest: Hand of Gilgamech","compatibility":3,"releases":[{"id":"0100F6D00D83E000","region":null}]},{"id":"98422872-ad78-4185-96a9-0901e4ac2bb0","directory":"shantae-and-the-seven-sirens","title":"Shantae and the Seven Sirens","compatibility":0,"releases":[{"id":"0100EB901040A000","region":null}]},{"id":"984e8e0d-4571-4a07-bc0b-7f8514e28510","directory":"islanders","title":"ISLANDERS","compatibility":99,"releases":[{"id":"0100522014E10000","region":null}]},{"id":"9850f969-8b53-4678-a98c-f0698055b5b1","directory":"big-pharma","title":"Big Pharma","compatibility":99,"releases":[{"id":"010077E00F30E000","region":null}]},{"id":"986382e2-2f62-4fcc-b85f-9f1e63f15d42","directory":"ploid-saga","title":"PLOID SAGA","compatibility":99,"releases":[{"id":"0100E5B011F48000","region":null}]},{"id":"986ca139-9a3a-4c0c-bab5-333de2c72e2a","directory":"holedown","title":"holedown","compatibility":99,"releases":[{"id":"01003CE00EAF0000","region":null}]},{"id":"9878d205-d4e9-4bb9-987a-4d86b3ba1c09","directory":"swapperoo","title":"Swapperoo","compatibility":99,"releases":[{"id":"0100B110113FA000","region":null}]},{"id":"9879605e-1878-49e8-bf6f-40da14d11b6d","directory":"voxel-sword","title":"Voxel Sword","compatibility":99,"releases":[{"id":"0100BFB00D1F4000","region":null}]},{"id":"987ffda6-11a2-4451-9d2d-1fae42a7c79e","directory":"bouncing-hero","title":"Bouncing Hero","compatibility":99,"releases":[{"id":"010010D010632000","region":null}]},{"id":"988131c4-7d47-408d-b09d-972d1bca7007","directory":"aluna-sentinel-of-the-shards","title":"Aluna: Sentinel of the Shards","compatibility":4,"releases":[{"id":"010045201487C000","region":null}]},{"id":"988d5756-b5c1-4f41-b097-3085de144e7c","directory":"war-of-stealth-assassin","title":"War Of Stealth - assassin","compatibility":99,"releases":[{"id":"01004FA01391A000","region":null}]},{"id":"9894432d-f9a8-4b9b-9af3-dffdabba8667","directory":"tarot-readings-premium","title":"Tarot Readings Premium","compatibility":99,"releases":[{"id":"010029100B75C000","region":null}]},{"id":"989b01b7-a266-45d5-9008-fa52673bc244","directory":"run-the-fan","title":"Run the Fan","compatibility":0,"releases":[{"id":"010074F00DE4A000","region":null}]},{"id":"989f950d-1eca-4376-ae21-3bc23536a538","directory":"slice-dice-and-rice","title":"Slice, Dice & Rice","compatibility":1,"releases":[{"id":"0100F4500AA4E000","region":null}]},{"id":"98af54ee-f935-4633-b41b-bd2d1dbb6323","directory":"yiik-a-postmodern-rpg","title":"YIIK: A Postmodern RPG","compatibility":2,"releases":[{"id":"0100634008266000","region":null}]},{"id":"98b24315-4182-4801-aefc-18f0f45749c3","directory":"johnny-turbos-arcade-gate-of-doom","title":"Johnny Turbo's Arcade: Gate Of Doom","compatibility":2,"releases":[{"id":"010069B002CDE000","region":null}]},{"id":"98bb0182-5d54-437a-85bc-f6a3b4735abd","directory":"tardy","title":"Tardy","compatibility":99,"releases":[{"id":"01008B200D748000","region":null}]},{"id":"98c72921-ab7b-40b2-a0a1-94b6b884a5a7","directory":"never-stop-sneakin","title":"Never Stop Sneakin'","compatibility":1,"releases":[{"id":"0100A70006B8A000","region":null}]},{"id":"98d60610-cf65-4bcd-8a9b-6bcab97db8f4","directory":"where-are-my-friends","title":"Where Are My Friends?","compatibility":99,"releases":[{"id":"0100FDB0092B4000","region":null}]},{"id":"98d86bca-088d-4aaa-9cfe-0f4739366a83","directory":"punch-club","title":"Punch Club","compatibility":2,"releases":[{"id":"0100A6000ACEA000","region":null}]},{"id":"98e101c9-17d2-4e1c-ba56-c8c3868a3892","directory":"nine-witches-family-disruption","title":"Nine Witches: Family Disruption","compatibility":0,"releases":[{"id":"01006790101A2000","region":null}]},{"id":"98f9a637-368e-407b-932e-36404a7a1a50","directory":"tiny-world-racing","title":"Tiny World Racing","compatibility":99,"releases":[{"id":"0100F3D013568000","region":null}]},{"id":"98fd0359-9d7f-4885-bd74-4a2413bbe49f","directory":"pitfall-planet","title":"Pitfall Planet","compatibility":2,"releases":[{"id":"0100AFC00A680000","region":null}]},{"id":"991327eb-9e09-4c0a-81a5-7655266ea2a9","directory":"evil-inside","title":"Evil Inside","compatibility":99,"releases":[{"id":"01002E800D44E000","region":null}]},{"id":"9919ac5d-91aa-4557-8ac5-08abb77d6fec","directory":"warlocks-2-god-slayers","title":"Warlocks 2: God Slayers","compatibility":99,"releases":[{"id":"0100E0400E320000","region":null}]},{"id":"99251eb2-ebd4-43ec-9f65-89260529f743","directory":"aca-neogeo-the-king-of-fighters-2001","title":"ACA NEOGEO THE KING OF FIGHTERS 2001","compatibility":5,"releases":[{"id":"010048200AFC2000","region":null}]},{"id":"99297283-4d6a-4d3f-a581-fb3fd1a06a80","directory":"neonwall","title":"Neonwall","compatibility":99,"releases":[{"id":"0100743008694000","region":null}]},{"id":"99384d0b-d8e0-45ff-a44e-2185241d825a","directory":"lunas-fishing-garden","title":"Luna's Fishing Garden","compatibility":0,"releases":[{"id":"0100374015A2C000","region":null}]},{"id":"993a34ce-2660-49e4-9f35-da21e017c70f","directory":"south-park-the-fractured-but-whole-standard-edition","title":"South Park: The Fractured but Whole - Standard Edition","compatibility":5,"releases":[{"id":"01008F2005154000","region":null}]},{"id":"995c75b7-406c-4f1a-b010-a9c485e65894","directory":"station-manager","title":"Station Manager","compatibility":0,"releases":[{"id":"010087000FD2A000","region":null}]},{"id":"996c41b3-0bfb-42f9-abeb-ab74a0b55d09","directory":"pixel-action-heroes","title":"Pixel Action Heroes","compatibility":99,"releases":[{"id":"0100F5B007638000","region":null}]},{"id":"99982b4a-0ee8-489b-b0a5-76529657df29","directory":"shadow-bug","title":"Shadow Bug","compatibility":0,"releases":[{"id":"01007D9007792000","region":null}]},{"id":"999c63bc-fbde-4828-be7d-c71f94fb04f6","directory":"farmers-dynasty","title":"Farmer's Dynasty","compatibility":99,"releases":[{"id":"010055600516C000","region":null}]},{"id":"99b16737-6a39-4b5a-9c71-f171875a4be2","directory":"my-little-ramenbar","title":"My Little Ramenbar","compatibility":99,"releases":[{"id":"01001A4015F3A000","region":null}]},{"id":"99b66a37-8923-4b49-b6fb-468f79089f81","directory":"infinite-golf-2","title":"Infinite Golf 2","compatibility":99,"releases":[{"id":"0100AB801507C000","region":null}]},{"id":"99ba9711-81ba-467a-b7c8-1e70d9a0aee4","directory":"heroes-of-loot","title":"Heroes of Loot","compatibility":3,"releases":[{"id":"010091E01330C000","region":null}]},{"id":"99c338e8-6bcd-490c-9ffe-57982eab7ffe","directory":"crazy-zen-mini-golf","title":"Crazy Zen Mini Golf","compatibility":1,"releases":[{"id":"0100F9900D8C8000","region":null}]},{"id":"99dc85fc-b7ed-4235-896b-861eaf81976c","directory":"sushi-striker-the-way-of-sushido","title":"Sushi Striker: The Way of Sushido","compatibility":1,"releases":[{"id":"0100DDD0085A4000","region":null}]},{"id":"99ddde39-4a11-4e04-a1a8-6ad5e6a5c7be","directory":"shmup-collection","title":"Shmup Collection","compatibility":3,"releases":[{"id":"01000A601139E000","region":null}]},{"id":"99e302f2-2e38-4eb7-ac62-97e7803d6228","directory":"devious-dungeon-collection","title":"Devious Dungeon Collection","compatibility":99,"releases":[{"id":"010040F011DE4000","region":null}]},{"id":"99eb0522-1872-4eb9-a18b-a2ed0a8fbd91","directory":"twin-breaker-a-sacred-symbols-adventure","title":"Twin Breaker: A Sacred Symbols Adventure","compatibility":99,"releases":[{"id":"0100C68012128000","region":null}]},{"id":"9a13c374-d8ec-44a9-9ea7-1f5592c8e9ef","directory":"adventure-field-4","title":"Adventure Field 4","compatibility":99,"releases":[{"id":"0100E140149F0000","region":null}]},{"id":"9a158abb-7235-4f91-8484-8d4a54276465","directory":"nira","title":"Nira","compatibility":99,"releases":[{"id":"01001A6013E8A000","region":null}]},{"id":"9a281ac5-8c41-4758-b839-d74c57af47d4","directory":"rbi-baseball-20","title":"R.B.I. Baseball 20","compatibility":1,"releases":[{"id":"010061400E7D4000","region":null}]},{"id":"9a3297ba-c575-4e59-9ad4-7586357beaf9","directory":"enchanting-mahjong-match","title":"Enchanting Mahjong Match","compatibility":1,"releases":[{"id":"01007A4008486000","region":null}]},{"id":"9a4a7112-d553-431e-b69d-23f5394f5ccb","directory":"crazy-gravity","title":"Crazy Gravity","compatibility":99,"releases":[{"id":"01007CC015A7A000","region":null}]},{"id":"9a521185-b7ab-4137-99cd-2a27bd2c48b2","directory":"arcade-archives-athena","title":"Arcade Archives ATHENA","compatibility":5,"releases":[{"id":"0100BEC00C7A2000","region":null}]},{"id":"9a531632-a64e-43e7-a685-341b4600e2a8","directory":"silent-world","title":"Silent World","compatibility":99,"releases":[{"id":"0100A32010618000","region":null}]},{"id":"9a552409-7efd-415f-b053-4ea1109b3d83","directory":"jumping-joe-and-friends","title":"Jumping Joe & Friends","compatibility":0,"releases":[{"id":"0100D87009954000","region":null}]},{"id":"9a58b646-2b55-4c13-9585-0d1feaaf4de8","directory":"solo-islands-of-the-heart","title":"Solo: Islands of the Heart","compatibility":99,"releases":[{"id":"010008600D1AC000","region":null}]},{"id":"9a68faa7-1b8b-40e8-bfc1-646e709e4073","directory":"vandals","title":"Vandals","compatibility":99,"releases":[{"id":"01007C500D650000","region":null}]},{"id":"9a6b122a-cb63-40a3-b426-4d396761e029","directory":"speed-dating-for-ghosts","title":"Speed Dating for Ghosts","compatibility":99,"releases":[{"id":"0100E22010D06000","region":null}]},{"id":"9a765a44-ed96-44eb-9b3c-71924c394a66","directory":"bubble-bubble-ocean","title":"Bubble Bubble Ocean","compatibility":99,"releases":[{"id":"01006B5013EF2000","region":null}]},{"id":"9a812505-4fe6-4f18-8810-55eab8472339","directory":"indiecalypse","title":"Indiecalypse","compatibility":99,"releases":[{"id":"010002A00CD68000","region":null}]},{"id":"9a87136a-6e4f-49fd-af41-d37d0fc4cc83","directory":"space-blast-zom-a-matching-game","title":"Space Blast Zom A Matching Game","compatibility":99,"releases":[{"id":"0100C65013DA0000","region":null}]},{"id":"9a98f236-86c3-458c-bc93-5dfe2764c93e","directory":"top-gun-air-combat","title":"Top Gun Air Combat","compatibility":99,"releases":[{"id":"0100B190137F2000","region":null}]},{"id":"9a9b1a8b-ee94-4b31-9860-66603d2250ec","directory":"manticore-galaxy-on-fire","title":"Manticore - Galaxy on Fire","compatibility":5,"releases":[{"id":"0100C9A00952A000","region":null}]},{"id":"9aa13636-c2d2-48c9-b9c1-4213d94d822d","directory":"american-ninja-warrior-challenge","title":"American Ninja Warrior: Challenge","compatibility":0,"releases":[{"id":"010089D00A3FA000","region":null}]},{"id":"9ac58ef0-8309-496b-a318-b604c9203367","directory":"travis-strikes-again-no-more-heroes","title":"Travis Strikes Again: No More Heroes","compatibility":0,"releases":[{"id":"010011600C946000","region":null}]},{"id":"9ac6fd2c-e531-40e3-a8fa-2646c67337cb","directory":"slot","title":"Slot","compatibility":0,"releases":[{"id":"01007DD011608000","region":null}]},{"id":"9acf29ff-cad6-45d4-9783-739973c17b74","directory":"qv","title":"QV","compatibility":99,"releases":[{"id":"010015D0127D6000","region":null}]},{"id":"9ad5b99b-7483-43ef-bb68-e96c46c0a2e2","directory":"broken-sword-5-the-serpents-curse","title":"Broken Sword 5 - the Serpent's Curse","compatibility":4,"releases":[{"id":"01001E60085E6000","region":null}]},{"id":"9adb76b7-f384-492a-9a60-e0a760efb49f","directory":"the-snake-king","title":"The Snake King","compatibility":99,"releases":[{"id":"0100205011C54000","region":null}]},{"id":"9adf512f-7be6-4714-b0bd-884e9a7f8ceb","directory":"elemental-knights-r","title":"Elemental Knights R","compatibility":4,"releases":[{"id":"01005FA009370000","region":null}]},{"id":"9ae179c9-8095-4f37-86ff-2b0dfd62386c","directory":"viviette","title":"Viviette","compatibility":1,"releases":[{"id":"010037900CB1C000","region":null}]},{"id":"9ae27836-7e1e-4f66-87fd-58c18b0efd84","directory":"arcade-archives-phozon","title":"Arcade Archives PHOZON","compatibility":99,"releases":[{"id":"010016E015D26000","region":null}]},{"id":"9ae3173c-f0a2-4f0c-a730-043f50064c73","directory":"roarr-jurassic-edition","title":"Roarr! Jurassic Edition","compatibility":99,"releases":[{"id":"010068200C5BE000","region":null}]},{"id":"9af8db5a-313e-4425-95c0-95db13340ac8","directory":"luckslinger","title":"Luckslinger","compatibility":99,"releases":[{"id":"0100EAB00B196000","region":null}]},{"id":"9b006db4-725f-4d92-9a06-bef9cc7e1be2","directory":"astro-rangers","title":"Astro Rangers","compatibility":99,"releases":[{"id":"01007B4016D58000","region":null}]},{"id":"9b010ce7-b748-4bc1-a889-9285e343014b","directory":"combat-core-demo","title":"Combat Core (Demo)","compatibility":99,"releases":[{"id":"01009BC00C0A0000","region":null}]},{"id":"9b05587e-68fb-4957-ad28-bf759646bc4c","directory":"cecconoid","title":"Cecconoid","compatibility":99,"releases":[{"id":"01007A1012852000","region":null}]},{"id":"9b0c4d80-f527-4012-b672-8c2e5d645619","directory":"graceful-explosion-machine-demo","title":"Graceful Explosion Machine Demo","compatibility":99,"releases":[{"id":"0100F1000CF16000","region":null}]},{"id":"9b12338f-2139-434d-84e0-bd67028c3f7b","directory":"assault-gunners-hd-edition","title":"ASSAULT GUNNERS HD EDITION","compatibility":0,"releases":[{"id":"01009A400A97C000","region":null}]},{"id":"9b12b7c8-6671-4845-b0b1-58d63cc6c0ee","directory":"grisaia-phantom-trigger-01-to-05","title":"GRISAIA PHANTOM TRIGGER 01 to 05","compatibility":2,"releases":[{"id":"01004AB0133E8000","region":null}]},{"id":"9b32a114-ab7b-4d6a-9a03-7a5c98ce0b82","directory":"the-bullet-time-of-revenge","title":"The Bullet: Time of Revenge","compatibility":99,"releases":[{"id":"01003720118E0000","region":null}]},{"id":"9b571cd1-eea3-4d11-b189-14fb73f39a74","directory":"armed-7-dx","title":"Armed 7 DX","compatibility":99,"releases":[{"id":"0100C5B0113A0000","region":null}]},{"id":"9b6b9cff-dfc0-4a41-9339-f8593470e4a5","directory":"infinite-adventures-r","title":"Infinite Adventures®","compatibility":99,"releases":[{"id":"01008C1011F2E000","region":null}]},{"id":"9b734c87-cd9d-4224-ad74-0194fac19b4e","directory":"paw-patrol-the-movie-adventure-city-calls","title":"PAW Patrol The Movie: Adventure City Calls","compatibility":1,"releases":[{"id":"0100FFE013628000","region":null}]},{"id":"9b8705db-ba25-43bd-805c-ca3350b44870","directory":"grass-cutter-mutated-lawns","title":"Grass Cutter - Mutated Lawns","compatibility":99,"releases":[{"id":"010028200E132000","region":null}]},{"id":"9b8bb282-1a4a-40b2-9246-7ec8f410526a","directory":"the-dark-crystal-age-of-resistance-tactics","title":"The Dark Crystal: Age of Resistance Tactics","compatibility":99,"releases":[{"id":"010051800E922000","region":null}]},{"id":"9b8ef9c4-eeb1-4df9-b01f-e6c6883be0f3","directory":"arcade-archives-sky-skipper","title":"Arcade Archives Sky Skipper","compatibility":4,"releases":[{"id":"010008F00B054000","region":null}]},{"id":"9b9a9ddb-88ba-4304-a95c-4538c9dbf164","directory":"growtopia","title":"Growtopia","compatibility":99,"releases":[{"id":"010065F00BE6C000","region":null}]},{"id":"9b9ed157-ce30-4fdf-90be-9e29c524e54a","directory":"atv-drift-and-tricks","title":"ATV Drift & Tricks","compatibility":3,"releases":[{"id":"01000F600B01E000","region":null}]},{"id":"9ba1f4dd-2634-4048-aea1-3f7cd0f7485f","directory":"defend-your-castle","title":"Defend Your Castle","compatibility":2,"releases":[{"id":"01006E600D9C2000","region":null}]},{"id":"9ba3b900-54e8-49e9-92a5-5ed63d78e504","directory":"masters-of-anima","title":"Masters of Anima","compatibility":3,"releases":[{"id":"0100CC7009196000","region":null}]},{"id":"9bad4425-6f68-40a9-a738-87b0c1b18fb3","directory":"oninaki","title":"ONINAKI","compatibility":1,"releases":[{"id":"01001AF00CE54000","region":null}]},{"id":"9bbe537c-5a2c-4e2d-a656-37a715d4eea9","directory":"puss","title":"PUSS!","compatibility":1,"releases":[{"id":"010069401270E000","region":null}]},{"id":"9bc07bd7-deb0-484c-8856-c3a213c013c8","directory":"unlock-the-king-2","title":"Unlock the King 2","compatibility":99,"releases":[{"id":"0100A3E011CB0000","region":null}]},{"id":"9bc40694-eec7-4142-88ea-4b595901249b","directory":"monopoly-for-nintendo-switch","title":"MONOPOLY for Nintendo Switch","compatibility":1,"releases":[{"id":"01007430037F6000","region":null}]},{"id":"9bce7c5b-0e8a-4fc9-89ac-415f8b57abb5","directory":"crocs-world-run-demo","title":"Croc's World Run Demo","compatibility":99,"releases":[{"id":"01009A500D8CC000","region":null}]},{"id":"9bcffe9f-4950-4847-800d-fca3e69203b7","directory":"undead-beyond","title":"Undead & Beyond","compatibility":1,"releases":[{"id":"010076F011F54000","region":null}]},{"id":"9bdc8670-392f-4222-86e1-094130443cf8","directory":"hang-the-kings","title":"Hang The Kings","compatibility":99,"releases":[{"id":"0100973011358000","region":null}]},{"id":"9bf8fbe5-130e-4f09-aaf5-5d938ec8ffcb","directory":"steamworld-dig-2","title":"SteamWorld Dig 2","compatibility":1,"releases":[{"id":"0100CA9002322000","region":null}]},{"id":"9c026dc4-58c7-4989-bbd4-820365fde1ef","directory":"farmquest","title":"Farmquest","compatibility":99,"releases":[{"id":"01008FC016886000","region":null}]},{"id":"9c02c471-cb72-4e05-810d-10cd5822d24a","directory":"utopia-9-a-volatile-vacation","title":"UTOPIA 9 - A Volatile Vacation","compatibility":99,"releases":[{"id":"010029B00CC3E000","region":null}]},{"id":"9c2531d8-fa29-431e-87bf-0cbc8cee4ae7","directory":"snowrunner","title":"SnowRunner","compatibility":2,"releases":[{"id":"0100FBD013AB6000","region":null}]},{"id":"9c2b02fb-131a-4604-b92d-115e1df68301","directory":"nexomon","title":"Nexomon","compatibility":99,"releases":[{"id":"01000BE0156B2000","region":null}]},{"id":"9c30b2c9-76d7-42af-a5c7-9d9779914eee","directory":"micro-pico-racers","title":"Micro Pico Racers","compatibility":0,"releases":[{"id":"0100E5E012744000","region":null}]},{"id":"9c3af3e3-152c-440e-ba10-1b5f846b26cb","directory":"party-trivia","title":"Party Trivia","compatibility":99,"releases":[{"id":"0100DBD00ABF4000","region":null}]},{"id":"9c4d866f-ea51-42ba-b113-df509efd90d8","directory":"enigmatis-the-ghosts-of-maple-creek","title":"Enigmatis: The Ghosts of Maple Creek","compatibility":99,"releases":[{"id":"0100BB20152BA000","region":null}]},{"id":"9c51213a-1793-4c4d-a599-7f069ab017a0","directory":"horse-club-adventures","title":"Horse Club Adventures","compatibility":99,"releases":[{"id":"0100A6B012932000","region":null}]},{"id":"9c55cc8f-ebcb-4fd5-aa83-f7542b3b6f9f","directory":"mario-golf-super-rush","title":"Mario Golfâ„¢: Super Rush","compatibility":2,"releases":[{"id":"0100C9C00E25C000","region":null}]},{"id":"9c58730d-a79a-4882-890b-a83f9378be48","directory":"my-singing-monsters-playground","title":"My Singing Monsters Playground","compatibility":99,"releases":[{"id":"0100A23015182000","region":null}]},{"id":"9c64c1b2-ae31-4c8b-8d5f-27338f49e2e6","directory":"bridge-constructor-portal","title":"Bridge Constructor Portal","compatibility":0,"releases":[{"id":"010016E004796000","region":null}]},{"id":"9c73e313-eefd-4559-9153-ded6a5ceb5d3","directory":"destroy-all-humans","title":"Destroy All Humans!","compatibility":99,"releases":[{"id":"01009E701356A000","region":null}]},{"id":"9ca38fd0-c2fd-4edd-8010-a69947f25c88","directory":"thea-2-the-shattering","title":"Thea 2: The Shattering","compatibility":99,"releases":[{"id":"0100612015862000","region":null}]},{"id":"9caa8e7f-253a-4236-8786-4d2f4447daca","directory":"zombie-panic-in-wonderland-dx","title":"Zombie Panic in Wonderland DX","compatibility":2,"releases":[{"id":"0100A8600D566000","region":null}]},{"id":"9cb21241-80f2-4e9a-a3b4-abcba61e636a","directory":"notes","title":"Notes","compatibility":99,"releases":[{"id":"01009A90155BC000","region":null}]},{"id":"9cc58289-ec31-4ff3-8af3-70af1b152833","directory":"proficient-paddles-deluxe","title":"Proficient Paddles Deluxe","compatibility":99,"releases":[{"id":"0100E8B00CBD6000","region":null}]},{"id":"9cdfae4f-ccf6-4acd-92af-81acc6caedcd","directory":"kona","title":"Kona","compatibility":1,"releases":[{"id":"0100464009294000","region":null}]},{"id":"9ce50f0e-4086-45b0-88b2-47db1b263fe2","directory":"double-switch-25th-anniversary-edition","title":"Double Switch - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100FC000EE10000","region":null}]},{"id":"9cf0bb32-b7e7-4a5f-ba2d-26bd690a856d","directory":"never-breakup","title":"Never Breakup","compatibility":99,"releases":[{"id":"010039801093A000","region":null}]},{"id":"9cf9d0fa-49b1-4a70-8800-de60ed7f8c1e","directory":"devil-engine","title":"Devil Engine","compatibility":2,"releases":[{"id":"010031B00CF66000","region":null}]},{"id":"9d07673a-cd1d-4dfe-8959-e1328dac672a","directory":"feudal-alloy","title":"Feudal Alloy","compatibility":99,"releases":[{"id":"0100AA3009738000","region":null}]},{"id":"9d07834d-3939-40d2-bebc-5f490004d6c1","directory":"pretty-girls-klondike-solitaire","title":"Pretty Girls Klondike Solitaire","compatibility":99,"releases":[{"id":"01004F90149D2000","region":null}]},{"id":"9d12f383-96b8-4821-9a5a-5f0ea71ab119","directory":"super-space-serpent-secondary-edition","title":"Super Space Serpent Secondary Edition","compatibility":99,"releases":[{"id":"0100BD50129C4000","region":null}]},{"id":"9d19a3d0-d699-447b-8561-034c80156201","directory":"a-case-of-distrust","title":"A Case of Distrust","compatibility":99,"releases":[{"id":"0100CDB00BC94000","region":null}]},{"id":"9d1f0528-607f-4e7a-9dac-7f0ce148c689","directory":"maddening-euphoria","title":"Maddening Euphoria","compatibility":99,"releases":[{"id":"01003DF00E328000","region":null}]},{"id":"9d342a94-a0a7-437b-be47-cdfa3adf8fc3","directory":"derpy-conga","title":"Derpy Conga","compatibility":99,"releases":[{"id":"01002430155DA000","region":null}]},{"id":"9d368981-9f1d-4070-8d8c-7a7d63007bda","directory":"travel-mosaics-a-paris-tour","title":"Travel Mosaics: A Paris Tour","compatibility":99,"releases":[{"id":"01007DB00A226000","region":null}]},{"id":"9d3bfbc3-fca2-47d7-b68a-b1ac360a2bae","directory":"nightmares-from-the-deep-2-the-sirens-call","title":"Nightmares from the Deep 2: The Siren`s Call","compatibility":99,"releases":[{"id":"01006E700B702000","region":null}]},{"id":"9d48b55e-7c7b-420b-af89-71ec894f643c","directory":"glam","title":"Glam","compatibility":99,"releases":[{"id":"0100F0E013F16000","region":null}]},{"id":"9d4a244a-79d2-4363-8a64-11c13a34827b","directory":"acorn-tactics","title":"ACORN Tactics","compatibility":1,"releases":[{"id":"0100DBC0081A4000","region":null}]},{"id":"9d5eb22c-dba1-4d0f-8d09-fdda78d24eef","directory":"off-and-on-again","title":"Off And On Again","compatibility":99,"releases":[{"id":"01006F5013202000","region":null}]},{"id":"9d72ffb7-9871-4486-8a0f-194583eac624","directory":"aeolis-tournament","title":"Aeolis Tournament","compatibility":99,"releases":[{"id":"010001C011354000","region":null}]},{"id":"9d863e19-d1ed-46ac-a3ef-9a9d6a8de161","directory":"signs-of-the-sojourner","title":"Signs of the Sojourner","compatibility":99,"releases":[{"id":"0100E03012B3C000","region":null}]},{"id":"9d870153-2adb-437c-969b-05e438855cf8","directory":"beyond-enemy-lines-remastered-edition","title":"Beyond Enemy Lines - Remastered Edition","compatibility":99,"releases":[{"id":"0100AE7010434000","region":null}]},{"id":"9d89a55c-c83f-48e0-8aec-f15e44bba43d","directory":"shantae-and-the-pirates-curse","title":"Shantae and the Pirate's Curse","compatibility":1,"releases":[{"id":"0100EFD00A4FA000","region":null}]},{"id":"9d9881ca-44d4-4268-b3fc-0ff7b87b8329","directory":"soccer-slammers","title":"Soccer Slammers","compatibility":99,"releases":[{"id":"010011A00A9A8000","region":null}]},{"id":"9d9bbb6d-edaf-482c-a3ee-acdbcbe91186","directory":"code-shifter","title":"CODE SHIFTER","compatibility":99,"releases":[{"id":"010086100CDCA000","region":null}]},{"id":"9d9f8fd4-c465-45d0-ba05-86e184b3f96a","directory":"road-fury","title":"Road Fury","compatibility":99,"releases":[{"id":"010062C014050000","region":null}]},{"id":"9dac47c8-3377-4207-b841-4ecd56117889","directory":"path-of-giants","title":"Path of Giants","compatibility":99,"releases":[{"id":"0100CAD011462000","region":null}]},{"id":"9db13963-d8e1-4dd5-8d43-e7e519de970b","directory":"break-dot","title":"BREAK DOT","compatibility":99,"releases":[{"id":"010086E01037C000","region":null}]},{"id":"9db5e47a-5b8c-4473-84f0-2d25cd6195ef","directory":"sega-ages-ichidant-r","title":"SEGA AGES Ichidant-R","compatibility":99,"releases":[{"id":"010025200E30C000","region":null}]},{"id":"9db9136d-53b0-403e-9a52-cae409893722","directory":"fury-unleashed","title":"Fury Unleashed","compatibility":1,"releases":[{"id":"0100ECE00C0C4000","region":null}]},{"id":"9dbf54e9-7328-43fc-9df0-e78995e187e4","directory":"ape-out","title":"Ape Out","compatibility":3,"releases":[{"id":"01005B100C268000","region":null}]},{"id":"9dd00039-f8e5-43c0-9bbb-75c2c4d2c840","directory":"the-longing","title":"The Longing","compatibility":2,"releases":[{"id":"0100F3D0122C2000","region":null}]},{"id":"9dd17ebf-68dc-4e23-b1e3-56404cd5ffb0","directory":"blaster-master-zero-2","title":"Blaster Master Zero 2","compatibility":0,"releases":[{"id":"01005AA00D676000","region":null}]},{"id":"9de75681-fc27-40e1-8274-430fcc4a26af","directory":"aca-neogeo-real-bout-fatal-fury-2","title":"ACA NEOGEO REAL BOUT FATAL FURY 2","compatibility":4,"releases":[{"id":"0100CF3008798000","region":null}]},{"id":"9de872ad-d12e-4581-a36d-7dfd8c1dc53a","directory":"crazy-trucks","title":"Crazy Trucks","compatibility":1,"releases":[{"id":"0100079016724000","region":null}]},{"id":"9dee4524-6a71-476b-b166-92a94b0dde2d","directory":"limbo","title":"LIMBO","compatibility":2,"releases":[{"id":"01009C8009026000","region":null}]},{"id":"9dee7e7e-c67b-4a9f-81c4-0be116bf630e","directory":"evertried","title":"Evertried","compatibility":99,"releases":[{"id":"0100193013AD0000","region":null}]},{"id":"9e02111a-b34c-4194-8f77-074b210effb7","directory":"invisible-inc-nintendo-switch-edition","title":"Invisible, Inc. Nintendo Switch Edition","compatibility":4,"releases":[{"id":"010031B00C48C000","region":null}]},{"id":"9e0a0328-3dc7-46c6-a5af-072c7e6f048d","directory":"menseki-area-maze-puzzles","title":"Menseki: Area Maze puzzles","compatibility":99,"releases":[{"id":"01005BF0169D0000","region":null}]},{"id":"9e108bc0-82a0-4487-9167-182a3f7d4838","directory":"puzzletronics","title":"Puzzletronics","compatibility":99,"releases":[{"id":"01004B4014D90000","region":null}]},{"id":"9e14dbb7-2252-47de-a10c-7460a6c0ca67","directory":"olympic-games-tokyo-2020-the-official-video-game","title":"Olympic Games Tokyo 2020 – The Official Video Gameâ„¢","compatibility":99,"releases":[{"id":"0100A8B00E14A000","region":null}]},{"id":"9e2a3dcf-0fa1-44b4-8a24-17514e822f4a","directory":"ao-tennis-2","title":"AO Tennis 2","compatibility":4,"releases":[{"id":"010047000E9AA000","region":null}]},{"id":"9e2e621f-0ae2-4f23-a959-3d74dec08e0d","directory":"ninja-shodown","title":"Ninja Shodown","compatibility":99,"releases":[{"id":"010088E003A76000","region":null}]},{"id":"9e377bc0-ac97-42d0-b318-e4da6dd718dd","directory":"aca-neogeo-last-resort","title":"ACA NEOGEO LAST RESORT","compatibility":99,"releases":[{"id":"01000D10038E6000","region":null}]},{"id":"9e3a19cd-c521-4cb5-a9a4-1036fb8df3d5","directory":"blackmoor-2","title":"Blackmoor 2","compatibility":1,"releases":[{"id":"0100A0A00E660000","region":null}]},{"id":"9e43993f-97d6-4e68-800a-ad687375ac91","directory":"ziggurat","title":"Ziggurat","compatibility":99,"releases":[{"id":"0100CD500E706000","region":null}]},{"id":"9e43bb75-76b0-4617-b601-46e4cbf947ab","directory":"niche-a-genetics-survival-game","title":"Niche - a genetics survival game","compatibility":99,"releases":[{"id":"01000EC010BF4000","region":null}]},{"id":"9e53d0a5-67fa-42e5-bac8-3a68462b77ce","directory":"safety-first","title":"Safety First!","compatibility":99,"releases":[{"id":"0100A5200C2E0000","region":null}]},{"id":"9e69082a-83c4-42e7-a816-d0084286d214","directory":"ai","title":"世界ã®ä¸­å¿ƒã§ã€AIã¯æˆ¦ã†","compatibility":99,"releases":[{"id":"0100F73013B54000","region":null}]},{"id":"9e76b9d0-e5e8-4d32-9f37-0b14a5f733a3","directory":"bud-spencer-and-terence-hill-slaps-and-beans","title":"Bud Spencer & Terence Hill - Slaps And Beans","compatibility":3,"releases":[{"id":"01000D200AC0C000","region":null}]},{"id":"9e7d7a81-47a3-4637-9998-aaf4e243f5c0","directory":"deadly-fighter-2","title":"Deadly Fighter 2","compatibility":99,"releases":[{"id":"01007E400ECC6000","region":null}]},{"id":"9e8797fa-2af5-4368-b5cd-ba8e17073d4a","directory":"guns-of-mercy-rangers-edition","title":"Guns of Mercy - Rangers Edition","compatibility":99,"releases":[{"id":"010088700C5F8000","region":null}]},{"id":"9e891ee1-3929-4116-bce7-87a04ac1725a","directory":"enigmatis-3-the-shadow-of-karkhala","title":"Enigmatis 3: The Shadow of Karkhala","compatibility":99,"releases":[{"id":"01004A1015408000","region":null}]},{"id":"9e8f7b79-47b1-4ad0-983b-f5a4b277a8d9","directory":"music-racer","title":"Music Racer","compatibility":99,"releases":[{"id":"010046400F310000","region":null}]},{"id":"9eb7e351-3384-4c9a-92ba-7d50f157e4a1","directory":"act-it-out-xl-a-game-of-charades","title":"ACT IT OUT XL! A Game of Charades","compatibility":99,"releases":[{"id":"0100E6600B6EA000","region":null}]},{"id":"9ebe08f4-52e4-48c4-8981-09014ab332cd","directory":"prime-world-defenders","title":"Prime World: Defenders","compatibility":99,"releases":[{"id":"0100DE500CAA2000","region":null}]},{"id":"9ec35797-0167-4afd-95d7-02c83df13e47","directory":"pizza-bar-tycoon","title":"Pizza Bar Tycoon","compatibility":99,"releases":[{"id":"0100DEC00F7EC000","region":null}]},{"id":"9ec40f16-305f-4bbe-94be-8359781d59d0","directory":"charge-kid","title":"Charge Kid","compatibility":99,"releases":[{"id":"0100F52013A66000","region":null}]},{"id":"9ec51f4e-d34c-4ddc-9d80-98f7b9836f03","directory":"animal-up","title":"Animal Up!","compatibility":99,"releases":[{"id":"0100A16010966000","region":null}]},{"id":"9ed2578c-75b5-4c61-8d94-66fa87569f41","directory":"the-deer-god","title":"The Deer God","compatibility":99,"releases":[{"id":"01000B6007A3C000","region":null}]},{"id":"9ed74d0d-1a4b-45cd-8866-5a1b41545790","directory":"neversong","title":"Neversong","compatibility":0,"releases":[{"id":"0100E940044F2000","region":null}]},{"id":"9ee12c0b-058e-4341-92b7-0fdeb6d54c6b","directory":"supraland","title":"Supraland","compatibility":3,"releases":[{"id":"0100A6E01201C000","region":null}]},{"id":"9ee545d0-c7c3-4fd6-a7dc-d9b2865e8d77","directory":"dungeon-and-puzzles","title":"Dungeon and Puzzles","compatibility":99,"releases":[{"id":"01009B4013B5E000","region":null}]},{"id":"9ef55638-dae4-4ea8-be21-f7ed853d04d8","directory":"professional-farmer-american-dream","title":"Professional Farmer: American Dream","compatibility":99,"releases":[{"id":"010082900D6DC000","region":null}]},{"id":"9ef7a9e5-b446-47e2-a897-d918b050d728","directory":"enter-digiton-heart-of-corruption","title":"Enter Digiton: Heart of Corruption","compatibility":99,"releases":[{"id":"0100623013642000","region":null}]},{"id":"9ef972da-a138-454a-a8b6-d6f2df827fa4","directory":"cosmic-star-heroine","title":"Cosmic Star Heroine","compatibility":1,"releases":[{"id":"010067C00A776000","region":null}]},{"id":"9efaae9a-ece0-4804-8223-115bd991579e","directory":"asemblance","title":"Asemblance","compatibility":99,"releases":[{"id":"0100D5800DECA000","region":null}]},{"id":"9f0fa31e-c851-43a2-9494-47dce2f4dc26","directory":"die-with-glory","title":"Die With Glory","compatibility":99,"releases":[{"id":"0100BCC014414000","region":null}]},{"id":"9f170931-2be6-4bf6-a0ff-c7d50e521390","directory":"monster-boy-and-the-cursed-kingdom-demo","title":"Monster Boy and the Cursed Kingdom Demo","compatibility":99,"releases":[{"id":"01000C600D7CE000","region":null}]},{"id":"9f21c68b-8eaf-4c1a-a338-9bb9d5149052","directory":"get-over-here","title":"Get Over Here","compatibility":1,"releases":[{"id":"0100B5B00E77C000","region":null}]},{"id":"9f422d7b-951b-49d6-81bb-b6826929ba38","directory":"kitty-maestro","title":"Kitty Maestro","compatibility":99,"releases":[{"id":"0100C8300FA30000","region":null}]},{"id":"9f5cb530-387a-4f4e-bbb0-e14ea71833a6","directory":"arcade-archives-sasuke-vs-commander","title":"Arcade Archives SASUKE VS COMMANDER","compatibility":99,"releases":[{"id":"0100AA600C8D6000","region":null}]},{"id":"9f7acdf3-7466-4bcc-874c-7992cd32e45f","directory":"danger-mouse-the-danger-games","title":"Danger Mouse: The Danger Games","compatibility":99,"releases":[{"id":"01003ED0099B0000","region":null}]},{"id":"9f99ac44-0455-454d-b658-9b5c63f17359","directory":"ant-gravity-tinys-adventure","title":"Ant-Gravity: Tiny's Adventure","compatibility":99,"releases":[{"id":"0100DC00115FA000","region":null}]},{"id":"9fa6b758-b145-4983-805d-bde4923a48ff","directory":"faircrofts-antiques-treasures-of-treffenburg-collectors-edition","title":"Faircroft's Antiques: Treasures of Treffenburg Collector's Edition","compatibility":99,"releases":[{"id":"010083C01469C000","region":null}]},{"id":"9fc2bb8c-9b7f-4fef-93de-71cec9dd4a09","directory":"memory-lane","title":"Memory Lane","compatibility":4,"releases":[{"id":"010062F011E7C000","region":null}]},{"id":"9fcc1dac-20d2-45ff-8f8a-37bfad1f334c","directory":"ninja-village-demo","title":"Ninja Village Demo","compatibility":99,"releases":[{"id":"0100F3400D228000","region":null}]},{"id":"9fec84ec-aa15-4928-b67c-8c0a76a9c503","directory":"espgaluda-ii","title":"Espgaluda II","compatibility":1,"releases":[{"id":"0100911014898000","region":null}]},{"id":"9feedc14-d8f2-4c3c-947a-68dc663d120b","directory":"dgeneration-hd","title":"D/Generation HD","compatibility":1,"releases":[{"id":"0100EEC00A262000","region":null}]},{"id":"9ff8c365-78ad-4a13-8533-415ef7352664","directory":"super-kickers-league","title":"Super Kickers League","compatibility":1,"releases":[{"id":"0100196009998000","region":null}]},{"id":"9ffa6301-f861-4c8c-b1d1-525259083264","directory":"hook","title":"Hook","compatibility":99,"releases":[{"id":"0100DFF00DA4E000","region":null}]},{"id":"9fff4943-1955-425e-99e8-64fb7230f636","directory":"star-wars-jedi-knight-jedi-academy","title":"STAR WARSâ„¢ Jedi Knight: Jedi Academy","compatibility":4,"releases":[{"id":"01008CA00FAE8000","region":null}]},{"id":"a002be67-0615-4808-8a7c-822fe9bb0a6b","directory":"space-war-arena","title":"Space War Arena","compatibility":99,"releases":[{"id":"010067600AD78000","region":null}]},{"id":"a0043ee3-359d-4e3c-9673-bc6e1f85e179","directory":"graviter","title":"Graviter","compatibility":99,"releases":[{"id":"0100892013A80000","region":null}]},{"id":"a0067f9b-a06d-407d-973c-d72c8b9fbc4a","directory":"grab-lab","title":"Grab Lab","compatibility":99,"releases":[{"id":"0100A6C00CF70000","region":null}]},{"id":"a0071dde-25fe-4dd6-880a-da5d183a70e7","directory":"almost-there-the-platformer","title":"Almost There: The Platformer","compatibility":99,"releases":[{"id":"01009C400C88C000","region":null}]},{"id":"a00c237d-fbcc-4c84-9cb7-d355c828fcad","directory":"santas-xmas-adventure","title":"Santa's Xmas Adventure","compatibility":99,"releases":[{"id":"0100618013560000","region":null}]},{"id":"a0295548-bd7f-4678-b35b-11754b51618c","directory":"chicken-rider","title":"Chicken Rider","compatibility":99,"releases":[{"id":"01002E500E3EE000","region":null}]},{"id":"a0296e81-ebad-401a-9988-ab5734ee9577","directory":"akihabara-feel-the-rhythm-remixed","title":"Akihabara - Feel the Rhythm Remixed","compatibility":99,"releases":[{"id":"010053100B0EA000","region":null}]},{"id":"a035fd00-56f0-4269-98e5-7f9269d969ab","directory":"quest-hunter","title":"Quest Hunter","compatibility":1,"releases":[{"id":"010095500D9F4000","region":null}]},{"id":"a039c167-db9f-4c0c-ba96-b9cc8fb634d3","directory":"nefarious","title":"Nefarious","compatibility":99,"releases":[{"id":"010023500B0BA000","region":null}]},{"id":"a03bf6b8-b66f-49b6-bcfc-1266bb4b604b","directory":"ghosts-and-apples","title":"Ghosts and Apples","compatibility":99,"releases":[{"id":"01009CE01657E000","region":null}]},{"id":"a04bd120-1ae2-4596-a747-994ba917b818","directory":"the-legend-of-zelda-skyward-sword-hd","title":"The Legend of Zeldaâ„¢: Skyward Sword HD","compatibility":1,"releases":[{"id":"01002DA013484000","region":null}]},{"id":"a04ef474-2663-413c-ba9d-9cd5df3eeef2","directory":"have-a-blast","title":"Have a Blast","compatibility":99,"releases":[{"id":"01007E9015750000","region":null}]},{"id":"a05136be-4827-4eda-b326-4a03bd38ace4","directory":"empire-invasion","title":"Empire Invasion","compatibility":0,"releases":[{"id":"01009860147E4000","region":null}]},{"id":"a0555f11-9957-4d9d-9b1a-2baa83402d17","directory":"mastercube","title":"Mastercube","compatibility":99,"releases":[{"id":"01000ED0124F2000","region":null}]},{"id":"a057d910-b396-4128-8b69-650c52b98f48","directory":"paradise-killer","title":"Paradise Killer","compatibility":3,"releases":[{"id":"01007FB010DC8000","region":null}]},{"id":"a05da63b-0ed5-4d95-bbbf-3b8470572245","directory":"a-good-snowman-is-hard-to-build","title":"A Good Snowman is Hard to Build","compatibility":99,"releases":[{"id":"0100423013306000","region":null}]},{"id":"a060108f-7387-4933-9a38-6e2fbc85c75c","directory":"football-manager-2022-touch","title":"Football Manager 2022 Touch","compatibility":5,"releases":[{"id":"0100AD60152C2000","region":null}]},{"id":"a06b10ed-a84b-4c3f-84cd-ff682e46d921","directory":"the-adventures-of-spunk-dodgers-and-splat","title":"The Adventures of Spunk Dodgers and Splat","compatibility":99,"releases":[{"id":"0100BFD015F88000","region":null}]},{"id":"a07ff85f-83a9-4889-b22a-cc7ef7a14ee9","directory":"devil-may-cry","title":"Devil May Cry","compatibility":1,"releases":[{"id":"0100E8000D5B8000","region":null}]},{"id":"a08cc6bd-244a-456e-b3db-7d749e8853a6","directory":"mayhem-brawler","title":"Mayhem Brawler","compatibility":1,"releases":[{"id":"01002C70149B4000","region":null}]},{"id":"a08dc3d0-5a55-4074-837b-e8716a2196dd","directory":"piczle-puzzle-watch-collection","title":"Piczle Puzzle & Watch Collection","compatibility":99,"releases":[{"id":"01001A30155B6000","region":null}]},{"id":"a0901335-059f-4aa2-a219-f078cf1a0b0e","directory":"fox-n-forests","title":"FOX n FORESTS","compatibility":1,"releases":[{"id":"01008A100A028000","region":null}]},{"id":"a0bcfcd9-84db-47b2-a85c-40ffa45282a7","directory":"trine-enchanted-edition","title":"Trine Enchanted Edition","compatibility":2,"releases":[{"id":"0100D9000A930000","region":null}]},{"id":"a0bfc206-a80e-41c5-ab71-70602e11445d","directory":"ancient-stories-gods-of-egypt","title":"Ancient Stories: Gods of Egypt","compatibility":99,"releases":[{"id":"010073201632C000","region":null}]},{"id":"a0cfdbda-34ce-48e2-a160-bc3344696968","directory":"real-boxing-2","title":"Real Boxing 2","compatibility":99,"releases":[{"id":"0100F7101205A000","region":null}]},{"id":"a0d3e37c-4ead-448f-b906-124b9c9e8678","directory":"chicory-a-colorful-tale","title":"Chicory: A Colorful Tale","compatibility":99,"releases":[{"id":"0100DEC01622A000","region":null}]},{"id":"a0e6fa4b-cae3-4c64-9c97-d0710a3bec94","directory":"kentucky-robo-chicken","title":"Kentucky Robo Chicken","compatibility":99,"releases":[{"id":"0100A8200B15C000","region":null}]},{"id":"a0e79e86-3fb8-44b6-b067-76d721ac3a3d","directory":"deployment","title":"Deployment","compatibility":99,"releases":[{"id":"01000BF00B6BC000","region":null}]},{"id":"a0ed7269-7e79-4d3f-8f8b-136f4d791975","directory":"afterpulse","title":"Afterpulse","compatibility":99,"releases":[{"id":"01004D501213C000","region":null}]},{"id":"a0f68ad2-7657-4893-9aaa-4f154652bb31","directory":"slender-the-arrival","title":"Slender: The Arrival","compatibility":99,"releases":[{"id":"0100FDC00D0C0000","region":null}]},{"id":"a104fb68-1692-4f67-982f-ebab4c957681","directory":"black-widow-recharged","title":"Black Widow: Recharged","compatibility":99,"releases":[{"id":"01008B6016322000","region":null}]},{"id":"a11505b1-8bb9-4bac-8a4f-004a97f38044","directory":"boulder-dash-r-deluxe","title":"Boulder Dash® Deluxe","compatibility":1,"releases":[{"id":"01000670156B4000","region":null}]},{"id":"a1190511-7f69-4976-8d82-9472ff36f5da","directory":"brutal-rage","title":"BRUTAL RAGE","compatibility":99,"releases":[{"id":"01006490135B0000","region":null}]},{"id":"a12214b4-eabf-41d2-b4e2-2e3b5fd0eaee","directory":"drift-legends","title":"Drift Legends","compatibility":2,"releases":[{"id":"010018E00BA22000","region":null}]},{"id":"a12413bb-d275-4916-b4a9-45dc61c540b3","directory":"the-pyraplex","title":"The Pyraplex","compatibility":99,"releases":[{"id":"0100BBD00D9D6000","region":null}]},{"id":"a1244193-8e98-49a0-985e-0380775095e4","directory":"overcooked-special-edition","title":"Overcooked Special Edition","compatibility":2,"releases":[{"id":"01009B900401E000","region":null}]},{"id":"a12802e9-3f07-4633-a9e0-43ae8db1ce7f","directory":"battle-of-kings","title":"Battle of Kings","compatibility":0,"releases":[{"id":"010035E00C1AE000","region":null}]},{"id":"a1297a9a-09dd-4512-ac71-7925d6fc2c33","directory":"jumphead-battle4fun","title":"JumpHead: Battle4Fun!","compatibility":99,"releases":[{"id":"0100DE800B1F2000","region":null}]},{"id":"a143cfaa-5589-4a3f-a259-1556032dac95","directory":"space-blaze","title":"Space Blaze","compatibility":2,"releases":[{"id":"0100B9F00C162000","region":null}]},{"id":"a145cf82-177d-4183-b507-b9274bc73cfc","directory":"uno-r","title":"UNO®","compatibility":0,"releases":[{"id":"0100B6E012EBE000","region":null}]},{"id":"a163827a-9add-47cf-9ead-011aedbe59a4","directory":"blacksad-under-the-skin","title":"Blacksad: Under the Skin","compatibility":99,"releases":[{"id":"010032000EA2C000","region":null}]},{"id":"a165dde4-19b0-4149-b3b0-042707a75680","directory":"pinball-lockdown","title":"Pinball Lockdown","compatibility":99,"releases":[{"id":"0100EA8011DF2000","region":null}]},{"id":"a16f7be5-2a20-4f0c-bb8a-96214c24c8bd","directory":"raiden-iv-x-mikado-remix","title":"Raiden IV x MIKADO remix","compatibility":5,"releases":[{"id":"0100ECA01410C000","region":null}]},{"id":"a18a1942-7194-4d45-9fa5-e32a3aa9d06b","directory":"tomb-sweeper","title":"Tomb Sweeper","compatibility":99,"releases":[{"id":"01007EE015B38000","region":null}]},{"id":"a196e516-b44c-412e-87f0-3e63b9a953bb","directory":"super-volley-blast","title":"Super Volley Blast","compatibility":99,"releases":[{"id":"010035B00B3F0000","region":null}]},{"id":"a199303c-e018-4856-b22b-42cd048470d7","directory":"four-kings-video-poker","title":"Four Kings: Video Poker","compatibility":99,"releases":[{"id":"010093301236A000","region":null}]},{"id":"a1b80154-a7ee-46a6-a641-c8f4abf44757","directory":"death-mark","title":"Death Mark","compatibility":3,"releases":[{"id":"0100D1B00B6FA000","region":null}]},{"id":"a1bb375c-3e68-4568-80b6-f6b697ae4af6","directory":"real-heroes-firefighter","title":"Real Heroes: Firefighter","compatibility":99,"releases":[{"id":"010048600CC16000","region":null}]},{"id":"a1bbba40-4063-47e6-b764-cc773d20a2db","directory":"swim-out","title":"Swim Out","compatibility":99,"releases":[{"id":"0100F92005D54000","region":null}]},{"id":"a1be04b2-7a6b-453c-9f83-b0feeeb7f673","directory":"beach-buggy-racing-2-island-adventure","title":"Beach Buggy Racing 2: Island Adventure","compatibility":0,"releases":[{"id":"0100C43012344000","region":null}]},{"id":"a1c10da7-c2ad-4531-b2a0-afeb62b145a2","directory":"little-racer","title":"Little Racer","compatibility":99,"releases":[{"id":"0100E6D00E81C000","region":null}]},{"id":"a1c59d97-91e5-4762-9f4a-5b512005a287","directory":"touhou-genso-wanderer-reloaded","title":"Touhou Genso Wanderer Reloaded","compatibility":2,"releases":[{"id":"01004E900B082000","region":null}]},{"id":"a1ca2d11-190b-4fd6-8691-f1576c414537","directory":"super-star-path","title":"Super Star Path","compatibility":99,"releases":[{"id":"01009FF00CB1A000","region":null}]},{"id":"a1d76db5-af4d-4c55-ac41-3029a7848ccf","directory":"funimation","title":"Funimation","compatibility":99,"releases":[{"id":"01008E10130F8000","region":null}]},{"id":"a1da765d-39f1-48ba-b6a1-c5445cc14b7f","directory":"detention","title":"Detention","compatibility":3,"releases":[{"id":"0100730007A9C000","region":null}]},{"id":"a1e6afcd-b519-4f7a-84c0-da5edde3bafa","directory":"energy-balance","title":"Energy Balance","compatibility":2,"releases":[{"id":"0100C920092B0000","region":null}]},{"id":"a1ef37d9-544e-44a3-8812-0058c57aea29","directory":"castlevania-anniversary-collection","title":"Castlevania Anniversary Collection","compatibility":0,"releases":[{"id":"01001A800D6BC000","region":null}]},{"id":"a1f2388c-70f7-42ad-bb8d-368ea39fbd5c","directory":"taiko-no-tatsujin-drum-n-fun","title":"Taiko no Tatsujin: Drum 'n' Fun!","compatibility":1,"releases":[{"id":"01002C000B552000","region":null}]},{"id":"a1f4b7d4-47bb-4533-bbf7-866f753e8f48","directory":"monster-dynamite","title":"Monster Dynamite","compatibility":99,"releases":[{"id":"010036C00BDE4000","region":null}]},{"id":"a1fe2332-317d-4cdc-a476-63246ba71da4","directory":"art-of-balance","title":"Art of Balance","compatibility":3,"releases":[{"id":"01008EC006BE2000","region":null}]},{"id":"a2022729-eeca-4e26-86f9-0101bd6c42d4","directory":"trove","title":"Trove","compatibility":99,"releases":[{"id":"0100CB400BC68000","region":null}]},{"id":"a20862bf-1c31-49ac-9810-242b135a1e6a","directory":"bladed-fury","title":"Bladed Fury","compatibility":1,"releases":[{"id":"0100DF0011A6A000","region":null}]},{"id":"a20f8c44-6837-4324-a7a8-af3caf654f55","directory":"super-nintendo-entertainment-system-nintendo-switch-online","title":"Super Nintendo Entertainment System - Nintendo Switch Online","compatibility":0,"releases":[{"id":"01008D300C50C000","region":null}]},{"id":"a2125279-363d-4ae8-ba65-1c7589c6d249","directory":"scott-pilgrim-vs-the-world-the-game-complete-edition","title":"Scott Pilgrim vs. The Worldâ„¢: The Game – Complete Edition","compatibility":1,"releases":[{"id":"0100394011C30000","region":null}]},{"id":"a216a52d-3ee9-426a-b1c9-6058d6c4f401","directory":"kingdom-new-lands","title":"Kingdom: New Lands","compatibility":99,"releases":[{"id":"0100BD9004AB6000","region":null}]},{"id":"a225a4a2-7272-4a7a-8fbe-4d8fb9017c93","directory":"luke-and-rebecca","title":"Luke & Rebecca","compatibility":4,"releases":[{"id":"0100A5A00B34E000","region":null}]},{"id":"a22b0ff3-6c07-4055-b7c1-79e6f6dc4f3e","directory":"finalsword-definitiveedition","title":"FINALSWORD DefinitiveEdition","compatibility":0,"releases":[{"id":"0100F62013DAE000","region":null}]},{"id":"a2315d34-d176-49c0-a01b-d7219104f9c3","directory":"fitness-boxing-eshop-demo","title":"Fitness Boxing eShop Demo","compatibility":99,"releases":[{"id":"0100ED800CBFC000","region":null}]},{"id":"a236a853-19fd-4267-b96e-2b3c5f78f415","directory":"snow-moto-racing-freedom","title":"Snow Moto Racing Freedom","compatibility":3,"releases":[{"id":"010045300516E000","region":null}]},{"id":"a237dd99-2c2e-4f49-af96-d41532b0578a","directory":"nba-2k22","title":"NBA 2K22","compatibility":5,"releases":[{"id":"0100B94014F8E000","region":null}]},{"id":"a23b2f5a-5261-4ba2-9cf7-016674feb8cf","directory":"atomine","title":"ATOMINE","compatibility":99,"releases":[{"id":"0100FB500631E000","region":null}]},{"id":"a2482b92-bfeb-4fd7-9898-8077e0ca472a","directory":"calico","title":"Calico","compatibility":3,"releases":[{"id":"010013A00E750000","region":null}]},{"id":"a24b2f33-b3a9-4d33-bf97-672ae2fcfd5b","directory":"mecho-tales","title":"Mecho Tales","compatibility":2,"releases":[{"id":"0100C4F005EB4000","region":null}]},{"id":"a261c3c2-db90-4320-9443-bb3903f1cd6b","directory":"the-magnificent-trufflepigs","title":"The Magnificent Trufflepigs","compatibility":99,"releases":[{"id":"0100F3F015016000","region":null}]},{"id":"a271e095-f5b6-4bc7-a1bf-273df22ee178","directory":"astrology-and-horoscopes-premium","title":"Astrology and Horoscopes Premium","compatibility":99,"releases":[{"id":"010034800B75E000","region":null}]},{"id":"a2774236-5b6c-4334-a416-05ddd73439a7","directory":"tetsumo-party","title":"Tetsumo Party","compatibility":99,"releases":[{"id":"0100EC000D39A000","region":null}]},{"id":"a279de78-b4eb-4a70-8285-e4c135171d28","directory":"guacamelee-super-turbo-championship-edition","title":"Guacamelee! Super Turbo Championship Edition","compatibility":0,"releases":[{"id":"0100BAE00B470000","region":null}]},{"id":"a2853c57-70a7-42fc-bb3e-8aecd190e15f","directory":"kid-tripp-demo","title":"Kid Tripp Demo","compatibility":99,"releases":[{"id":"010093E00ACB0000","region":null}]},{"id":"a28a8ab7-1eac-4112-9e4d-9a6d060d8fa2","directory":"train-station-simulator","title":"Train Station Simulator","compatibility":99,"releases":[{"id":"010086000EBDE000","region":null}]},{"id":"a29d8af5-f07e-4bf4-a4e6-03de341a3965","directory":"unravel-two","title":"Unravel Two","compatibility":4,"releases":[{"id":"0100E5D00CC0C000","region":null}]},{"id":"a29dead0-adac-441d-855f-8dde759d0329","directory":"checkers-master","title":"Checkers Master","compatibility":99,"releases":[{"id":"010067E014C38000","region":null}]},{"id":"a2a6e3ec-c989-421a-91b2-e9121cd894af","directory":"snakeybus","title":"Snakeybus","compatibility":99,"releases":[{"id":"0100F9C00F32E000","region":null}]},{"id":"a2a928ca-a2cd-441f-9aaa-e83393f93ac2","directory":"borderlands-the-handsome-collection","title":"Borderlands: The Handsome Collection","compatibility":4,"releases":[{"id":"010096F00FF22000","region":null}]},{"id":"a2ab0a40-b639-46fb-9f31-0a01589cee72","directory":"yu-no-a-girl-who-chants-love-at-the-bound-of-this-world","title":"YU-NO: A girl who chants love at the bound of this world.","compatibility":0,"releases":[{"id":"010037D00DBDC000","region":null}]},{"id":"a2c8c652-9001-4afc-9bd2-f73fd654d618","directory":"aery-broken-memories","title":"Aery - Broken Memories","compatibility":1,"releases":[{"id":"0100087012810000","region":null}]},{"id":"a2cfd07f-7e92-4f75-91b2-c6c14d017c04","directory":"neverlast","title":"Neverlast","compatibility":99,"releases":[{"id":"0100A9600EDF8000","region":null}]},{"id":"a2d3e260-49bf-483d-9007-c6b5cf5f5a9c","directory":"hard-west","title":"Hard West","compatibility":2,"releases":[{"id":"0100ECE00D13E000","region":null}]},{"id":"a2d62a71-0f50-4214-8776-37a6e4bf9b6c","directory":"apsulov-end-of-gods","title":"Apsulov: End of Gods","compatibility":3,"releases":[{"id":"01008560110C6000","region":null}]},{"id":"a2de25a8-c12f-4dd2-b5f6-bd8f76bf4eaf","directory":"supersonic-tank-cats","title":"Supersonic Tank Cats","compatibility":99,"releases":[{"id":"0100DB00156B0000","region":null}]},{"id":"a2ea9a92-9218-4bf3-a4b8-94c127e70db9","directory":"suicide-guy","title":"Suicide Guy","compatibility":99,"releases":[{"id":"01005CD00A2A2000","region":null}]},{"id":"a2ef2580-6f8d-47c7-b47a-1f438a46fe73","directory":"mega-mall-story","title":"Mega Mall Story","compatibility":99,"releases":[{"id":"0100BBC00CB9A000","region":null}]},{"id":"a2f1d9ae-eeb2-446a-8a49-0013f62ecc38","directory":"driving-world-nordic-challenge","title":"Driving World: Nordic Challenge","compatibility":0,"releases":[{"id":"010047C014B44000","region":null}]},{"id":"a2fd1a67-29b9-410b-9215-83a43964435a","directory":"the-elder-scrolls-v-skyrim","title":"The Elder Scrolls V: Skyrim","compatibility":4,"releases":[{"id":"01000A10041EA000","region":null}]},{"id":"a309726a-6ffe-4e13-8d60-8aeb9c904df4","directory":"arcade-archives-ikari-iii-the-rescue","title":"Arcade Archives IKARI III -THE RESCUE-","compatibility":99,"releases":[{"id":"01004B1010E58000","region":null}]},{"id":"a31567f7-782c-466a-a9ef-c02c9c61431f","directory":"magicat","title":"MagiCat","compatibility":0,"releases":[{"id":"01008E500BF62000","region":null}]},{"id":"a316fe5d-568c-47c5-b7e7-ab55e49489bf","directory":"elden-path-of-the-forgotten","title":"Elden: Path of the Forgotten","compatibility":2,"releases":[{"id":"0100B5B00EF38000","region":null}]},{"id":"a31d1081-7a22-49fb-9320-cdaca86032dd","directory":"broforce","title":"Broforce","compatibility":1,"releases":[{"id":"010060A00B53C000","region":null}]},{"id":"a32f06fa-a815-486d-adb7-dbcec181493f","directory":"nickelodeon-kart-racers-2-grand-prix","title":"Nickelodeon Kart Racers 2: Grand Prix","compatibility":2,"releases":[{"id":"0100EBC00FE14000","region":null}]},{"id":"a334245d-3abb-4ba7-8c95-0f9439382b71","directory":"the-adventures-of-bertram-fiddle-episode-1-a-dreadly-business","title":"The Adventures of Bertram Fiddle: Episode 1: A Dreadly Business","compatibility":1,"releases":[{"id":"01003B400A00A000","region":null}]},{"id":"a334c40e-c74e-4339-9cd8-d8c5294c58f0","directory":"one-strike","title":"One Strike","compatibility":4,"releases":[{"id":"01003A800B102000","region":null}]},{"id":"a33b2be6-3b33-4c88-9e41-df6b71dd7627","directory":"octocopter-double-or-squids","title":"Octocopter: Double or Squids","compatibility":99,"releases":[{"id":"010096B00A08E000","region":null}]},{"id":"a33d2577-fd12-4479-a3d6-b6c9ebe1fc4f","directory":"bloodstained-curse-of-the-moon","title":"Bloodstained: Curse of the Moon","compatibility":1,"releases":[{"id":"01004B800AF5A000","region":null}]},{"id":"a342c9eb-a32a-4b30-8a03-3872c69fa978","directory":"vertical-drop-heroes-hd","title":"Vertical Drop Heroes HD","compatibility":99,"releases":[{"id":"01009F100B0B8000","region":null}]},{"id":"a3437219-6b6f-413b-84a2-ede4cde8b4d9","directory":"booble-hentai","title":"Booble Hentai","compatibility":99,"releases":[{"id":"010003C0161CE000","region":null}]},{"id":"a34d6d1b-6adc-493d-810f-660c32f7810c","directory":"silence","title":"Silence","compatibility":3,"releases":[{"id":"0100F1400B0D6000","region":null}]},{"id":"a352e6d5-2edc-45f4-8162-9bfacfec5647","directory":"cosmonauta","title":"Cosmonauta","compatibility":99,"releases":[{"id":"01009DE010948000","region":null}]},{"id":"a359aba0-538d-4f8c-a4b0-03167eaeeb0f","directory":"lines-infinite","title":"Lines Infinite","compatibility":99,"releases":[{"id":"0100A9000F17E000","region":null}]},{"id":"a364469c-7d4e-4605-bf07-8b35fc0a21d4","directory":"the-falconeer-warrior-edition","title":"The Falconeer: Warrior Edition","compatibility":0,"releases":[{"id":"0100BA5013E52000","region":null}]},{"id":"a366f423-b6fe-4a3e-9eb2-35b1a983a250","directory":"legends-of-talia-arcadia","title":"Legends of Talia: Arcadia","compatibility":99,"releases":[{"id":"0100013012E4E000","region":null}]},{"id":"a36e2ee9-24d2-4000-8a56-f19de6a1ef25","directory":"kosmonavtes-academy-escape","title":"Kosmonavtes: Academy Escape","compatibility":99,"releases":[{"id":"0100D65016AE0000","region":null}]},{"id":"a379e88c-56b7-42f9-9e8b-67d4efb313c5","directory":"monument-builders-rushmore","title":"Monument Builders Rushmore","compatibility":99,"releases":[{"id":"01002C600C412000","region":null}]},{"id":"a383f281-aa82-4599-9762-66bfc04868d6","directory":"ping-redux","title":"PING REDUX","compatibility":99,"releases":[{"id":"0100A05013B5A000","region":null}]},{"id":"a3b21fd2-fc09-41b6-b746-8858fe50877a","directory":"the-man-with-the-ivory-cane","title":"The Man With The Ivory Cane","compatibility":99,"releases":[{"id":"01003E8010E3A000","region":null}]},{"id":"a3c4300d-10d7-46e6-acd4-007ec36ba5ad","directory":"divine-ascent","title":"Divine Ascent","compatibility":99,"releases":[{"id":"0100C0100C7EA000","region":null}]},{"id":"a3d44120-5445-452d-b999-01982700e352","directory":"the-long-dark","title":"The Long Dark","compatibility":0,"releases":[{"id":"01007A700A87C000","region":null}]},{"id":"a3dc2832-e796-4b56-95fd-572b8caac2cc","directory":"eight-minute-empire-complete-edition","title":"Eight-Minute Empire: Complete Edition","compatibility":99,"releases":[{"id":"0100E6100E3A0000","region":null}]},{"id":"a3ee168d-880a-4ee7-b489-607766e05364","directory":"breathing-fear","title":"Breathing Fear","compatibility":99,"releases":[{"id":"01003D50100F4000","region":null}]},{"id":"a3eeace7-2d19-420f-8970-2f6920695ef3","directory":"kingdom-rush-frontiers","title":"Kingdom Rush Frontiers","compatibility":99,"releases":[{"id":"010046200FC62000","region":null}]},{"id":"a3f8e9da-40a0-41b1-8c1c-ef0155984063","directory":"pocket-academy","title":"Pocket Academy","compatibility":99,"releases":[{"id":"01009C100CE6A000","region":null}]},{"id":"a43574ca-2107-4204-b5ba-0480d71a0f43","directory":"drag-racing-rivals","title":"Drag Racing Rivals","compatibility":99,"releases":[{"id":"0100388012922000","region":null}]},{"id":"a442a91f-ee2f-4d71-bd22-ef4eeeb01399","directory":"terraria","title":"Terraria","compatibility":2,"releases":[{"id":"0100E46006708000","region":null}]},{"id":"a446864e-428e-427c-af86-c39d2cb1eeb7","directory":"harvest-life","title":"Harvest Life","compatibility":3,"releases":[{"id":"0100D0500AD30000","region":null}]},{"id":"a44e8c29-74b5-4b01-b49d-eed1fc389f7e","directory":"gunvolt-chronicles-luminous-avenger-ix","title":"Gunvolt Chronicles: Luminous Avenger iX","compatibility":0,"releases":[{"id":"01008C800E654000","region":null}]},{"id":"a45c1c9b-dc73-4381-bf59-02bfb10e86c7","directory":"drunken-fist","title":"Drunken Fist","compatibility":99,"releases":[{"id":"0100BDB012F78000","region":null}]},{"id":"a46f379e-bddb-4e29-9139-893394f4748b","directory":"ciel-fledge-a-daughter-raising-simulator","title":"Ciel Fledge: A Daughter Raising Simulator","compatibility":99,"releases":[{"id":"010061E00E05E000","region":null}]},{"id":"a48fe53c-7f07-4390-8137-8bc9b13dd0e0","directory":"emily-archer-and-the-curse-of-tutankhamun","title":"Emily Archer and the Curse of Tutankhamun","compatibility":1,"releases":[{"id":"0100ADF014C2A000","region":null}]},{"id":"a494746e-01c6-444e-8ffc-72bba0ec39b0","directory":"discovery","title":"Discovery","compatibility":99,"releases":[{"id":"01008CD00901C000","region":null}]},{"id":"a49959d7-be9f-4baa-b3ff-8c744ad4a21d","directory":"super-mega-baseball-3","title":"Super Mega Baseball 3","compatibility":99,"releases":[{"id":"010067300E024000","region":null}]},{"id":"a4a42abc-288a-484d-87be-2ac37c1cfbce","directory":"inbento","title":"inbento","compatibility":99,"releases":[{"id":"01003EB010008000","region":null}]},{"id":"a4b125c7-2840-4206-8dbd-473c73616449","directory":"tales-of-the-orient-the-rising-sun","title":"Tales of the Orient - The Rising Sun","compatibility":99,"releases":[{"id":"01004DC00CFD2000","region":null}]},{"id":"a4b4e390-ab2e-4d83-9eec-67b6fc1e9854","directory":"beekyr-reloaded","title":"Beekyr Reloaded","compatibility":99,"releases":[{"id":"0100F8900ADC8000","region":null}]},{"id":"a4c062a8-749d-4dac-bf97-4e940452f40c","directory":"kwaidan-azuma-manor-story","title":"Kwaidan ~Azuma manor story~","compatibility":99,"releases":[{"id":"0100894011F62000","region":null}]},{"id":"a4c17b57-5eb8-466b-b9f1-1f6162459e73","directory":"spencer","title":"Spencer","compatibility":99,"releases":[{"id":"0100BA300C39A000","region":null}]},{"id":"a4ccb4fb-ad3b-4441-9a82-452aa05c1989","directory":"olympic-table-tennis","title":"Olympic Table Tennis","compatibility":99,"releases":[{"id":"0100E7E013DEA000","region":null}]},{"id":"a4dd823a-366a-45a1-b717-61ae99640489","directory":"pixel-gladiator","title":"Pixel Gladiator","compatibility":99,"releases":[{"id":"010060A00F5E8000","region":null}]},{"id":"a4e8c32d-1d35-4524-b94a-e923ae763ad9","directory":"poker-pretty-girls-battle-fantasy-world-edition","title":"Poker Pretty Girls Battle: Fantasy World Edition","compatibility":99,"releases":[{"id":"01005DD0149D0000","region":null}]},{"id":"a4f28435-5df5-4934-8f4e-057b07108564","directory":"shin-megami-tensei-iii-nocturne-hd-remaster","title":"Shin Megami Tensei III Nocturne HD Remaster","compatibility":3,"releases":[{"id":"01003B0012DC2000","region":null}]},{"id":"a4f816b2-9c58-4c54-9422-5af221a2abd2","directory":"league-of-evil","title":"League of Evil","compatibility":1,"releases":[{"id":"01009C100390E000","region":null}]},{"id":"a5002806-f32f-4a08-84be-36487cafd721","directory":"worlds-end-club","title":"World's End Club","compatibility":1,"releases":[{"id":"01005A2014362000","region":null}]},{"id":"a5042512-0b61-4bf7-be37-0d782be3a4e8","directory":"path-to-mnemosyne","title":"Path to Mnemosyne","compatibility":99,"releases":[{"id":"010031600ACF4000","region":null}]},{"id":"a51e4c58-49d4-4dce-ba9e-14a902d32f6f","directory":"visit-once","title":"Visit Once","compatibility":99,"releases":[{"id":"0100D78013A60000","region":null}]},{"id":"a52d9256-0741-4ffe-a653-efd742bc731f","directory":"instant-tennis","title":"INSTANT TENNIS","compatibility":99,"releases":[{"id":"0100F4500A47E000","region":null}]},{"id":"a52f6c71-d0c0-4245-a7fc-f4a67446578f","directory":"omega-labyrinth-life","title":"Omega Labyrinth Life","compatibility":1,"releases":[{"id":"010079200E85C000","region":null}]},{"id":"a53b4a8a-c6a1-4329-95a0-2bac45705f4b","directory":"super-glitch-dash","title":"Super Glitch Dash","compatibility":99,"releases":[{"id":"0100CC2014240000","region":null}]},{"id":"a53ebb9b-c94c-4119-a7d3-5715ed456224","directory":"gordian-rooms-a-curious-heritage","title":"Gordian Rooms: A curious heritage","compatibility":99,"releases":[{"id":"01007C1013676000","region":null}]},{"id":"a55b710c-6ff6-4374-a9d4-0888c9e26740","directory":"left-right-the-mansion","title":"Left-Right : The Mansion","compatibility":99,"releases":[{"id":"01002E900CD6E000","region":null}]},{"id":"a571afa8-69c2-4a8f-b375-aa0ebb23b430","directory":"pokken-tournament-dx","title":"Pokkén Tournament DX","compatibility":2,"releases":[{"id":"0100B3F000BE2000","region":null}]},{"id":"a5743146-3b57-4179-983c-300ffc92f521","directory":"fishing-barents-sea-complete-edition","title":"Fishing: Barents Sea Complete Edition","compatibility":3,"releases":[{"id":"0100CB500CE76000","region":null}]},{"id":"a5778f67-1f3a-448d-b255-2ecd93144596","directory":"one-way-heroics-plus","title":"One Way Heroics Plus","compatibility":99,"releases":[{"id":"0100AD9011056000","region":null}]},{"id":"a57b5768-110e-46ca-ab3c-8dd702430134","directory":"fate-of-the-pharaoh","title":"Fate Of The Pharaoh","compatibility":5,"releases":[{"id":"0100C75013BD8000","region":null}]},{"id":"a58e892f-e566-4a83-b330-a31cc5e8c2db","directory":"mini-motor-racing-x","title":"Mini Motor Racing X","compatibility":0,"releases":[{"id":"01003560119A6000","region":null}]},{"id":"a5969713-49e6-472f-a0f6-b8892d7fcaf7","directory":"sega-ages-g-loc-air-battle","title":"SEGA AGES G-LOC AIR BATTLE","compatibility":1,"releases":[{"id":"010096D00E310000","region":null}]},{"id":"a59d6714-3900-4207-b175-75db4fe7ab22","directory":"gas-guzzlers-extreme","title":"Gas Guzzlers Extreme","compatibility":99,"releases":[{"id":"0100366013DA8000","region":null}]},{"id":"a5a453d0-9d35-4065-b5d2-d34d50e6bde7","directory":"a-night-at-the-races","title":"A Night at the Races","compatibility":99,"releases":[{"id":"010067A014106000","region":null}]},{"id":"a5a74019-e759-4aca-8265-92b117566e61","directory":"roguecube","title":"RogueCube","compatibility":99,"releases":[{"id":"0100C7300C0EC000","region":null}]},{"id":"a5a973ac-fd3d-4c8a-99f8-420f84a9ff1e","directory":"escaping-a-kids-room-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escaping a  Kid's Room~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"0100168014B20000","region":null}]},{"id":"a5b338c0-30e4-48e5-a8f0-9856e33e4210","directory":"taiko-no-tatsujin-rhythmic-adventure-1","title":"Taiko no Tatsujin: Rhythmic Adventure 1","compatibility":0,"releases":[{"id":"01001BE0133F6000","region":null}]},{"id":"a5d17ab0-42cf-4da8-8987-61501619b992","directory":"crash-drive-2","title":"Crash Drive 2","compatibility":99,"releases":[{"id":"010007900FCE2000","region":null}]},{"id":"a5e734a9-3fc5-4121-8b8c-cac9c819405d","directory":"mom-hid-my-game-2","title":"Mom Hid My Game! 2","compatibility":99,"releases":[{"id":"01000C701456A000","region":null}]},{"id":"a60b5fa2-5b78-41a0-bda0-4fc366d7a077","directory":"prehistoric-dude","title":"Prehistoric Dude","compatibility":99,"releases":[{"id":"010054F01266C000","region":null}]},{"id":"a619c735-a761-44b2-965b-2f16c456ed55","directory":"fledgling-heroes","title":"Fledgling Heroes","compatibility":99,"releases":[{"id":"010087E00D5F2000","region":null}]},{"id":"a6267ea9-edef-4443-ab3e-fbe084c87c5a","directory":"explosive-dinosaurs","title":"Explosive Dinosaurs","compatibility":99,"releases":[{"id":"0100A7701298C000","region":null}]},{"id":"a62fc206-b5ac-4009-8d50-b8a82167b025","directory":"brick-bat-crazy","title":"Brick Bat Crazy","compatibility":99,"releases":[{"id":"0100FB30148EE000","region":null}]},{"id":"a639281d-9826-4f27-8d63-1633060b0c50","directory":"battle-supremacy-evolution","title":"Battle Supremacy - Evolution","compatibility":99,"releases":[{"id":"010099B00E898000","region":null}]},{"id":"a639c9d9-a994-4136-8f29-034ac056cf53","directory":"arcade-archives-ikki","title":"Arcade Archives Ikki","compatibility":99,"releases":[{"id":"01000DB00980A000","region":null}]},{"id":"a64777c2-f8b2-42bd-b8de-44ede2a4343c","directory":"lazy-galaxy-rebel-story","title":"Lazy Galaxy: Rebel Story","compatibility":99,"releases":[{"id":"010049200B536000","region":null}]},{"id":"a649f52e-843d-4082-bf56-23868f560397","directory":"dying-reborn-nintendo-switch-edition","title":"DYING: Reborn - Nintendo Switch Edition","compatibility":99,"releases":[{"id":"01008EA00C27E000","region":null}]},{"id":"a655e2c3-4656-43b1-888f-2df2adc461a4","directory":"a-street-cats-tale","title":"A Street Cat's Tale","compatibility":99,"releases":[{"id":"0100759010EC8000","region":null}]},{"id":"a6629fbd-0db7-4999-9bff-70e9d26cb78e","directory":"mummy-pinball","title":"Mummy Pinball","compatibility":99,"releases":[{"id":"010038B00B9AE000","region":null}]},{"id":"a677edff-af19-43d0-a508-2759188799d1","directory":"dotori","title":"DOTORI","compatibility":99,"releases":[{"id":"0100DBD013C92000","region":null}]},{"id":"a6796aa6-5350-48a5-902e-31e14c7ab084","directory":"geki-yaba-runner-anniversary-edition","title":"Geki Yaba Runner Anniversary Edition","compatibility":4,"releases":[{"id":"01000F000D9F0000","region":null}]},{"id":"a67bdd0a-9276-47b9-99c8-27e19f0582ae","directory":"marble-parkour","title":"Marble Parkour","compatibility":99,"releases":[{"id":"0100721014C24000","region":null}]},{"id":"a68076d5-6f39-44b5-b399-8eb160eeda9f","directory":"last-day-of-june","title":"Last Day of June","compatibility":99,"releases":[{"id":"0100DA700879C000","region":null}]},{"id":"a680a990-c5a6-424e-8e8d-39e54fd1a7c3","directory":"remothered-tormented-fathers","title":"Remothered: Tormented Fathers","compatibility":3,"releases":[{"id":"01008F600F2D0000","region":null}]},{"id":"a6858e33-ca32-4ed3-a9f2-403449264d82","directory":"infection-maze","title":"Infection Maze","compatibility":99,"releases":[{"id":"0100D7301527A000","region":null}]},{"id":"a6a07070-3a54-4a31-ae1a-7911675ab0f1","directory":"lord-of-the-click","title":"Lord of the Click","compatibility":99,"releases":[{"id":"0100706013240000","region":null}]},{"id":"a6aab4d2-3abe-424a-8812-8e44d4879816","directory":"skytime","title":"SkyTime","compatibility":99,"releases":[{"id":"0100F3C00C400000","region":null}]},{"id":"a6abd0a7-2936-4908-a3a8-339ffa1e6014","directory":"super-punch","title":"Super Punch","compatibility":99,"releases":[{"id":"01009D20136CC000","region":null}]},{"id":"a6bfed74-0bcb-4602-89f8-2973b877216a","directory":"holy-cow-milking-simulator","title":"HOLY COW! Milking Simulator","compatibility":99,"releases":[{"id":"01004500159AC000","region":null}]},{"id":"a6c27efe-e0cf-4e98-9348-21ef42da59fd","directory":"opus-the-day-we-found-earth","title":"OPUS: The Day We Found Earth","compatibility":99,"releases":[{"id":"010049C0075F0000","region":null}]},{"id":"a6c4eb03-fb3a-463e-ad76-06e79eea287e","directory":"swaps-and-traps","title":"Swaps and Traps","compatibility":99,"releases":[{"id":"0100ED500E858000","region":null}]},{"id":"a6c588cf-d7f4-401c-81ac-e94e01c37326","directory":"tiny-troopers-joint-ops-xl","title":"Tiny Troopers Joint Ops XL","compatibility":99,"releases":[{"id":"0100B52006E8C000","region":null}]},{"id":"a6c88823-875f-4da9-ba0e-027f6afd9e89","directory":"twelve-minutes","title":"Twelve Minutes","compatibility":99,"releases":[{"id":"0100CD701434C000","region":null}]},{"id":"a6d9e1b2-627a-4be1-a43e-e7eb5d56b17d","directory":"chiki-chiki-boxy-pro-wrestling","title":"Chiki-Chiki Boxy Pro Wrestling","compatibility":99,"releases":[{"id":"010056300D21A000","region":null}]},{"id":"a6dcded1-22d6-44f8-ae0c-13637d7218b4","directory":"ice-age-scrats-nutty-adventure","title":"Ice Age Scrat's Nutty Adventure!","compatibility":99,"releases":[{"id":"01004E5007E92000","region":null}]},{"id":"a6ea41fc-6cc3-48f7-8cf2-fc919d743ee9","directory":"cel-damage-hd","title":"Cel Damage HD","compatibility":99,"releases":[{"id":"010019B00BE72000","region":null}]},{"id":"a6ec9863-5cb5-4d1f-85c7-e42ea9418f37","directory":"rollercoaster-tycoon-3-complete-edition","title":"RollerCoaster Tycoon 3 Complete Edition","compatibility":1,"releases":[{"id":"01004900113F8000","region":null}]},{"id":"a6ed9cc9-0e6e-4cb4-a330-5115047c1da3","directory":"the-friends-of-ringo-ishikawa","title":"The friends of Ringo Ishikawa","compatibility":2,"releases":[{"id":"010030700CBBC000","region":null}]},{"id":"a6f6735a-aae2-414b-b6d6-35cd5eadbec9","directory":"antventor","title":"AntVentor","compatibility":99,"releases":[{"id":"0100FE1011400000","region":null}]},{"id":"a70171a8-2e34-4880-91a8-a2ed4ee4dcdb","directory":"dog","title":".dog","compatibility":99,"releases":[{"id":"01002F5016892000","region":null}]},{"id":"a712eb65-6702-4a58-8c81-f7875028b382","directory":"polandball-can-into-space","title":"Polandball: Can Into Space","compatibility":99,"releases":[{"id":"0100A3500B4EC000","region":null}]},{"id":"a7135a0b-7c48-4ee2-b557-7c5d2e5c3c9d","directory":"football-game","title":"Football Game","compatibility":1,"releases":[{"id":"010027800FECE000","region":null}]},{"id":"a71fb7f1-e428-465b-94a7-42bb780b8d87","directory":"olija","title":"Olija","compatibility":99,"releases":[{"id":"01004D501230A000","region":null}]},{"id":"a720a280-7de3-4323-8a55-90d5ed8c6300","directory":"archaica-the-path-of-light","title":"Archaica: The Path Of Light","compatibility":99,"releases":[{"id":"01003C2010C78000","region":null}]},{"id":"a720c4ab-3dcf-4a33-9c4a-47bdb2cec32d","directory":"epic-chef","title":"Epic Chef","compatibility":99,"releases":[{"id":"0100E70014562000","region":null}]},{"id":"a72c010c-efc6-4e86-bf33-3c28beb6c19b","directory":"make-the-burger","title":"Make the Burger","compatibility":99,"releases":[{"id":"01008E2016768000","region":null}]},{"id":"a745c3d9-63e3-466a-b51b-e81eb3e6d311","directory":"undernauts-labyrinth-of-yomi","title":"Undernauts: Labyrinth of Yomi","compatibility":0,"releases":[{"id":"010036D014A7E000","region":null}]},{"id":"a757060e-5c90-4dcd-b5ae-dbb146dc754a","directory":"press-a-to-party","title":"Press “A†to Party","compatibility":99,"releases":[{"id":"010059901442E000","region":null}]},{"id":"a75bec0b-cfab-4759-a4b6-d8855b895f2e","directory":"floor-kids","title":"Floor Kids","compatibility":0,"releases":[{"id":"0100DF9005E7A000","region":null}]},{"id":"a75d785d-c81e-4663-8170-087ceb47612c","directory":"seal-electric-railway","title":"Seal Electric Railway","compatibility":99,"releases":[{"id":"01005BE0136DC000","region":null}]},{"id":"a75fe323-eb94-4dd7-923e-18235a6b39b1","directory":"realpolitiks","title":"Realpolitiks","compatibility":1,"releases":[{"id":"0100C9F00BC50000","region":null}]},{"id":"a76cea99-1028-48ef-8cca-2ba53c180567","directory":"just-ignore-them","title":"Just Ignore Them","compatibility":99,"releases":[{"id":"010090C00F7BA000","region":null}]},{"id":"a76de213-4058-4f09-8997-7b605c12e281","directory":"3-little-pigs-and-bad-wolf","title":"3 Little Pigs & Bad Wolf","compatibility":2,"releases":[{"id":"0100B2700E9F4000","region":null}]},{"id":"a7702db3-7461-4132-9318-ba3cc5640c4d","directory":"bayonetta-2","title":"Bayonetta 2","compatibility":1,"releases":[{"id":"01007960049A0000","region":null}]},{"id":"a7786314-e4e9-4b2c-9454-840935f7499d","directory":"octodad-dadliest-catch","title":"Octodad: Dadliest Catch","compatibility":99,"releases":[{"id":"0100CAB006F54000","region":null}]},{"id":"a77f9035-e746-4a89-931f-d94b91bdff09","directory":"lost-lands-2-the-four-horsemen","title":"Lost Lands 2: The Four Horsemen","compatibility":99,"releases":[{"id":"0100133014510000","region":null}]},{"id":"a784d5f9-d268-4187-8690-90c223565aa6","directory":"mr-driller-drillland","title":"Mr. DRILLER DrillLand","compatibility":2,"releases":[{"id":"0100DCA011262000","region":null}]},{"id":"a78cc379-3d44-4ae5-87fc-ca41625aaa96","directory":"golf-club-wasteland","title":"Golf Club Wasteland","compatibility":0,"releases":[{"id":"010036A0150D6000","region":null}]},{"id":"a7911ea8-e0e2-4bea-8b7d-75d59065ab5b","directory":"atelier-lydie-and-suelle-~the-alchemists-and-the-mysterious-paintings~","title":"Atelier Lydie & Suelle ~The Alchemists and the Mysterious Paintings~","compatibility":4,"releases":[{"id":"010009900947A000","region":null}]},{"id":"a7935f0b-f95d-4de6-9f68-f69f817a4fb7","directory":"moorhuhn-remake","title":"Moorhuhn Remake","compatibility":3,"releases":[{"id":"010026D00AABE000","region":null}]},{"id":"a7938271-3c65-4751-83ec-2b81908bd253","directory":"cursed-castilla","title":"Cursed Castilla","compatibility":1,"releases":[{"id":"0100ED700B376000","region":null}]},{"id":"a796f576-3c6a-41fa-8446-b31af674616f","directory":"raging-loop","title":"Raging Loop","compatibility":1,"releases":[{"id":"010020400E1C2000","region":null}]},{"id":"a79a7209-6b87-4f2f-9dc7-ee0c97615849","directory":"deponia-doomsday","title":"Deponia Doomsday","compatibility":99,"releases":[{"id":"010024000C852000","region":null}]},{"id":"a7ab5082-9be2-449c-aa0f-2317422b1c60","directory":"shing","title":"Shing!","compatibility":99,"releases":[{"id":"01007C200FC64000","region":null}]},{"id":"a7ba42e3-9f9a-4ad8-baa1-2de832b71146","directory":"boxboy-boxgirl","title":"BOXBOY! + BOXGIRL!","compatibility":2,"releases":[{"id":"010018300D006000","region":null}]},{"id":"a7d59802-fced-44ee-bdda-cb3851c603ea","directory":"the-mean-greens-plastic-warfare","title":"The Mean Greens - Plastic Warfare","compatibility":99,"releases":[{"id":"01002220138AE000","region":null}]},{"id":"a7dc929f-75c6-41cb-b274-4899da9191de","directory":"heroes-of-hammerwatch-ultimate-edition","title":"Heroes of Hammerwatch - Ultimate Edition","compatibility":0,"releases":[{"id":"0100D2B00BC54000","region":null}]},{"id":"a7ec6c91-731e-4849-88e7-8b98a5aba675","directory":"creature-in-the-well","title":"Creature in the Well","compatibility":4,"releases":[{"id":"01007C600D778000","region":null}]},{"id":"a7f6a6eb-691f-447e-898a-418fcdb5d2c9","directory":"house-flipper","title":"House Flipper","compatibility":99,"releases":[{"id":"0100CAE00EB02000","region":null}]},{"id":"a7f710ae-f5ad-44dc-9a2f-f2b4328fc16d","directory":"tower-of-babel","title":"Tower Of Babel","compatibility":99,"releases":[{"id":"0100F7B00595C000","region":null}]},{"id":"a7fddd89-e45d-4cb3-a5cd-cea347eee54a","directory":"tunche","title":"Tunche","compatibility":2,"releases":[{"id":"01006F00139DA000","region":null}]},{"id":"a801a1ff-4e2a-46a4-875c-02c57ebbc2d4","directory":"paladin","title":"Paladin","compatibility":99,"releases":[{"id":"010011600BB84000","region":null}]},{"id":"a805ca73-3894-4f75-87f4-77f1d4eba065","directory":"forklift-simulator","title":"Forklift Simulator","compatibility":99,"releases":[{"id":"0100C7B016794000","region":null}]},{"id":"a81cc4de-6af1-43a0-9644-f01f958c4f36","directory":"oh-my-godheads-party-edition","title":"Oh My Godheads: Party Edition","compatibility":99,"releases":[{"id":"01003B900AE12000","region":null}]},{"id":"a823d3f1-ceed-4830-bcf8-b4fbc63bbbe2","directory":"breeder-homegrown-directors-cut","title":"Breeder Homegrown: Director's Cut","compatibility":99,"releases":[{"id":"010051A010C7C000","region":null}]},{"id":"a824663c-abc2-4f62-817a-777966fb99e6","directory":"my-universe-interior-designer","title":"My Universe - Interior Designer","compatibility":99,"releases":[{"id":"010029E01583C000","region":null}]},{"id":"a826a43b-e8f9-40a4-8000-0e13a11426de","directory":"joggernauts","title":"Joggernauts","compatibility":4,"releases":[{"id":"0100EF100BD96000","region":null}]},{"id":"a83949ab-1240-408a-8ce1-7170cbacbc8d","directory":"bridge-3","title":"Bridge! 3","compatibility":1,"releases":[{"id":"01000B1010D8E000","region":null}]},{"id":"a84a2d75-3b12-46f7-921c-28a1aee89a40","directory":"fishing-universe-simulator","title":"Fishing Universe Simulator","compatibility":99,"releases":[{"id":"010069800D292000","region":null}]},{"id":"a8651e67-aa64-47f4-9e2e-798789cb05ff","directory":"88-heroes-98-heroes-edition","title":"88 Heroes - 98 Heroes Edition","compatibility":0,"releases":[{"id":"010006A0042F0000","region":null}]},{"id":"a86c8378-088e-451f-ac0e-e0623f8e7c92","directory":"storm-boy","title":"Storm Boy","compatibility":1,"releases":[{"id":"010040D00BCF4000","region":null}]},{"id":"a86fb9ca-a2dc-4a8e-a6c5-61fe947f912d","directory":"red-colony-2","title":"Red Colony 2","compatibility":1,"releases":[{"id":"01000E50153FE000","region":null}]},{"id":"a870cff1-0bfb-4ba0-9574-de8fce170a3f","directory":"power-racing-bundle-3","title":"Power Racing Bundle 3","compatibility":99,"releases":[{"id":"01008F5013E6C000","region":null}]},{"id":"a8761d94-bf79-4b60-b8a7-ad4a63fd07d8","directory":"motogp18","title":"MotoGP18","compatibility":3,"releases":[{"id":"0100361007268000","region":null}]},{"id":"a88bb601-595a-42ee-b7dd-1915bb7b811c","directory":"double-dragon-neon","title":"Double Dragon Neon","compatibility":1,"releases":[{"id":"01005B10132B2000","region":null}]},{"id":"a88d238a-b939-4b01-8eee-69d64753398d","directory":"super-club-tennis","title":"Super Club Tennis","compatibility":99,"releases":[{"id":"010072A00B632000","region":null}]},{"id":"a895a8e3-97ee-4f40-be07-775779ea89bf","directory":"snow-battle-princess-sayuki","title":"Snow Battle Princess Sayuki","compatibility":99,"releases":[{"id":"0100ADF00CB64000","region":null}]},{"id":"a89e6495-1c54-441e-8af7-231d390e04c0","directory":"aca-neogeo-the-king-of-fighters-2003","title":"ACA NEOGEO THE KING OF FIGHTERS 2003","compatibility":5,"releases":[{"id":"0100EF100AFE6000","region":null}]},{"id":"a8b3277d-b628-43f5-8031-8ff3dc430627","directory":"swordbreaker-the-game","title":"Swordbreaker The Game","compatibility":99,"releases":[{"id":"0100A500115BC000","region":null}]},{"id":"a8c33dc5-d378-47b3-90e4-1cc77f77c327","directory":"my-magic-florist","title":"My Magic Florist","compatibility":99,"releases":[{"id":"01007A5013700000","region":null}]},{"id":"a8cb4be5-0409-430b-bd75-7fa549ef7543","directory":"crazy-strike-bowling-ex","title":"Crazy Strike Bowling EX","compatibility":2,"releases":[{"id":"01006BC00C27A000","region":null}]},{"id":"a8cb7611-5830-493d-b6c0-c8229097a7b0","directory":"bleed-2","title":"Bleed 2","compatibility":3,"releases":[{"id":"0100A48008AE8000","region":null}]},{"id":"a8cbffa7-39ef-4e5b-98e7-10686f4465f4","directory":"adverse","title":"ADVERSE","compatibility":99,"releases":[{"id":"01008C901266E000","region":null}]},{"id":"a8ce4954-559a-4915-9b1e-896ee61d892c","directory":"toem","title":"TOEM","compatibility":99,"releases":[{"id":"01005140151C2000","region":null}]},{"id":"a8d7bf57-2ffa-4050-bd21-5d52590508f3","directory":"super-mega-space-blaster-special-turbo","title":"Super Mega Space Blaster Special Turbo","compatibility":99,"releases":[{"id":"0100BDD00EC5C000","region":null}]},{"id":"a8d8d44a-7690-4011-b447-78729000d6d2","directory":"trivial-pursuit-live","title":"TRIVIAL PURSUIT Live!","compatibility":0,"releases":[{"id":"010020700A5E0000","region":null}]},{"id":"a8e0c208-cca5-4906-babc-13891680553e","directory":"aca-neogeo-cyber-lip","title":"ACA NEOGEO CYBER-LIP","compatibility":2,"releases":[{"id":"010082200AFBE000","region":null}]},{"id":"a8ee87ff-2ebe-4ba2-a144-023180ebfb4c","directory":"collar-x-malice-unlimited","title":"Collar X Malice -Unlimited-","compatibility":0,"releases":[{"id":"0100E3B00F412000","region":null}]},{"id":"a9044ea8-3dc0-47c9-aaff-db3e325e512b","directory":"arcade-archives-saint-dragon","title":"Arcade Archives SAINT DRAGON","compatibility":99,"releases":[{"id":"0100A52010192000","region":null}]},{"id":"a922623f-e580-43ed-a5f8-4e10f7feac88","directory":"mutant-mudds-collection","title":"Mutant Mudds Collection","compatibility":2,"releases":[{"id":"01004BE004A86000","region":null}]},{"id":"a9430d91-3123-4116-89a7-a8c55c2ebfee","directory":"cannibal-cuisine","title":"Cannibal Cuisine","compatibility":99,"releases":[{"id":"0100E5500C756000","region":null}]},{"id":"a956779f-b49e-410d-a3c1-c3ac3d0e4640","directory":"ys-ix-monstrum-nox","title":"Ys IX: Monstrum Nox","compatibility":4,"releases":[{"id":"0100E390124D8000","region":null}]},{"id":"a958e6df-8f77-4f39-9fd1-da86bb3f3bdd","directory":"rbi-baseball-18","title":"R.B.I. Baseball 18","compatibility":4,"releases":[{"id":"01005CC007616000","region":null}]},{"id":"a96acdee-eb74-459d-be1c-73fe6ee2a361","directory":"sorcerer-knights","title":"Sorcerer Knights","compatibility":99,"releases":[{"id":"01003F4016B18000","region":null}]},{"id":"a9734595-623e-4d82-ab7f-55f80ae4fdb9","directory":"hacky-zack","title":"Hacky Zack","compatibility":99,"releases":[{"id":"01003BA00A67E000","region":null}]},{"id":"a985f485-01ae-448d-afdf-a84abda3f747","directory":"hyper-light-drifter-special-edition","title":"Hyper Light Drifter - Special Edition","compatibility":5,"releases":[{"id":"01003B200B372000","region":null}]},{"id":"a98dc0ce-6b09-498a-9604-12526d0a12af","directory":"the-walking-vegetables-radical-edition","title":"The Walking Vegetables: Radical Edition","compatibility":99,"releases":[{"id":"0100E7D00C17A000","region":null}]},{"id":"a98e3f70-0622-4e29-9bfe-986d5673867a","directory":"galaxy-shooter","title":"Galaxy Shooter","compatibility":99,"releases":[{"id":"01008100169AC000","region":null}]},{"id":"a9985436-0b01-4f45-81b5-38e3e750a22f","directory":"refunct","title":"Refunct","compatibility":0,"releases":[{"id":"01007A800D520000","region":null}]},{"id":"a99be1c5-1ed5-4e7c-90d6-c22047eec2be","directory":"arcade-archives-mappy","title":"Arcade Archives MAPPY","compatibility":99,"releases":[{"id":"0100C5D015AD0000","region":null}]},{"id":"a9a34876-afc7-4c0f-894a-bd41a664d59f","directory":"grimshade","title":"Grimshade","compatibility":99,"releases":[{"id":"01001E200F2F8000","region":null}]},{"id":"a9b6f094-09eb-4768-9d37-2ed8a6c57ca6","directory":"pupaipo-space-deluxe","title":"PuPaiPo Space Deluxe","compatibility":99,"releases":[{"id":"01007BE00FE5E000","region":null}]},{"id":"a9cf454d-2774-473a-8042-2b352f8388e5","directory":"time-recoil","title":"Time Recoil","compatibility":99,"releases":[{"id":"0100F770045CA000","region":null}]},{"id":"a9d12316-f303-4fcf-8c59-59795b03a0ce","directory":"reflex-unit-2","title":"Reflex Unit 2","compatibility":99,"releases":[{"id":"010014901201E000","region":null}]},{"id":"a9f1b93c-4f9f-4997-8647-91ba4b51106d","directory":"defense-grid-2","title":"Defense Grid 2","compatibility":99,"releases":[{"id":"010061300BBF8000","region":null}]},{"id":"aa0174d7-dc8d-46ed-9ec0-d32f3facc9a6","directory":"icey","title":"ICEY","compatibility":1,"releases":[{"id":"0100BE9007E7E000","region":null}]},{"id":"aa0a13c8-e5e2-4e04-bc35-1461ba82fbab","directory":"indie-gems-bundle-jrpg-edition","title":"Indie Gems Bundle - JRPG Edition","compatibility":99,"releases":[{"id":"0100A95010942000","region":null}]},{"id":"aa1be8e5-ced1-4fab-bc71-fd28ba8cda5d","directory":"fantasy-friends-under-the-sea","title":"Fantasy Friends: Under the Sea","compatibility":99,"releases":[{"id":"0100DAA0153C0000","region":null}]},{"id":"aa1d6494-b173-4d54-ac0e-4a033099aa91","directory":"kirakira-stars-idol-project-ai","title":"Kirakira stars idol project Ai","compatibility":99,"releases":[{"id":"01008C0014C10000","region":null}]},{"id":"aa1f8b4a-c4a6-46e1-bf1b-59c3e1630108","directory":"urban-trial-playground","title":"Urban Trial Playground","compatibility":1,"releases":[{"id":"01001B10068EC000","region":null}]},{"id":"aa2c75b9-4a33-4268-8c72-c1dc38fc41ea","directory":"hexxagon-board-game","title":"Hexxagon - Board Game","compatibility":99,"releases":[{"id":"0100369012840000","region":null}]},{"id":"aa3447cb-9c87-4c72-961d-7e05f36b800e","directory":"mario-and-sonic-at-the-olympic-games-tokyo-2020","title":"Mario & Sonic at the Olympic Games Tokyo 2020","compatibility":1,"releases":[{"id":"010003000E146000","region":null}]},{"id":"aa4b2b40-aa46-4bd0-aa41-cf870e290cd7","directory":"bit-trip-runner","title":"BIT.TRIP RUNNER","compatibility":3,"releases":[{"id":"0100E62012D3C000","region":null}]},{"id":"aa509f2e-3e87-4bee-be16-ba6820e4c78c","directory":"the-bluecoats-north-south","title":"The Bluecoats North & South","compatibility":1,"releases":[{"id":"0100A5A00B2AA000","region":null}]},{"id":"aa6ffec6-2536-43af-aaaa-405673f81040","directory":"arcade-archives-time-pilot","title":"Arcade Archives TIME PILOT","compatibility":4,"releases":[{"id":"0100AF300D2E8000","region":null}]},{"id":"aa81de21-30e8-4dce-b079-55d2a5cf0087","directory":"semblance","title":"Semblance","compatibility":0,"releases":[{"id":"010080F0099FC000","region":null}]},{"id":"aa8b1094-607f-4274-bc8a-a00f71a4eeaa","directory":"red-square-escape","title":"Red Square Escape","compatibility":99,"releases":[{"id":"010052B015B74000","region":null}]},{"id":"aa8c764c-1086-432d-928d-527ce0c9ceee","directory":"you-died-but-a-necromancer-revived-you","title":"You Died but a Necromancer revived you","compatibility":99,"releases":[{"id":"0100F6700DBD8000","region":null}]},{"id":"aa9573c4-e9dc-48d3-9e05-fc1bb17e8fd5","directory":"energy-cycle-edge","title":"Energy Cycle Edge","compatibility":99,"releases":[{"id":"0100B8700BD14000","region":null}]},{"id":"aa95e5dd-9bb3-4289-9cc1-d9970d0941d5","directory":"beast-breaker","title":"Beast Breaker","compatibility":99,"releases":[{"id":"010042401436C000","region":null}]},{"id":"aaa51ee8-e6bc-41fe-8349-775ce77ddfe6","directory":"dragons-lair-trilogy","title":"Dragon's Lair Trilogy","compatibility":1,"releases":[{"id":"010027100C544000","region":null}]},{"id":"aaa6042e-9504-49e2-a26e-07839e365bdf","directory":"flynn-son-of-crimson","title":"Flynn: Son of Crimson","compatibility":5,"releases":[{"id":"01005F2014B80000","region":null}]},{"id":"aab2ee71-cfa7-4e2b-b2bf-f7f92a2459e7","directory":"alba-a-wildlife-adventure","title":"Alba: A Wildlife Adventure","compatibility":2,"releases":[{"id":"01007FB013B10000","region":null}]},{"id":"aac19174-b9ed-465d-b07b-f1fb4a21ecf3","directory":"cozy-grove","title":"Cozy Grove","compatibility":0,"releases":[{"id":"01003370136EA000","region":null}]},{"id":"aac3f3fa-aace-43ca-8e57-8d6561733cb5","directory":"glass-masquerade-2-illusions","title":"Glass Masquerade 2: Illusions","compatibility":99,"releases":[{"id":"0100EE300FC36000","region":null}]},{"id":"aac560b8-1134-4ef7-9bb7-71bcb2d5e2f7","directory":"mittelborg-city-of-mages","title":"Mittelborg: City of Mages","compatibility":99,"releases":[{"id":"0100F65011E52000","region":null}]},{"id":"aad666e0-4915-43be-87d0-9efd9d0a4500","directory":"zero-zero-zero-zero","title":"Zero Zero Zero Zero","compatibility":99,"releases":[{"id":"010010500390C000","region":null}]},{"id":"aadb3cce-0a79-4d31-9426-acb8f73cea88","directory":"button-button-up","title":"Button Button Up!","compatibility":1,"releases":[{"id":"010011000E31A000","region":null}]},{"id":"aadc1ccd-5549-45b8-a933-1f87ccf548cd","directory":"buildings-have-feelings-too","title":"Buildings Have Feelings Too!","compatibility":99,"releases":[{"id":"0100C0B00D290000","region":null}]},{"id":"aadcd132-04c2-4ea4-a035-c8947b59df3e","directory":"wurroom","title":"Wurroom","compatibility":99,"releases":[{"id":"01003B401148E000","region":null}]},{"id":"aae7c1df-f96f-4e8c-878b-016a2c57145c","directory":"sephirothic-stories","title":"Sephirothic Stories","compatibility":1,"releases":[{"id":"010059700D4A0000","region":null}]},{"id":"aae8c545-406b-402b-939a-939037e7ad8e","directory":"yooka-laylee","title":"Yooka-Laylee","compatibility":0,"releases":[{"id":"0100F110029C8000","region":null}]},{"id":"aaf1aed1-54ea-428d-b637-460810c1900a","directory":"dark-devotion","title":"Dark Devotion","compatibility":3,"releases":[{"id":"010083A00BF6C000","region":null}]},{"id":"aaf91fd1-7093-4361-8097-6fde02abacf1","directory":"radiation-island","title":"Radiation Island","compatibility":5,"releases":[{"id":"01009E40095EE000","region":null}]},{"id":"aafc1c12-115e-453d-a7fa-ecdd1fe8a298","directory":"pixel-art-bundle-vol-1","title":"Pixel Art Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100B3201140C000","region":null}]},{"id":"ab003f2d-356f-48ab-b21c-2d5e798551db","directory":"avicii-invector","title":"AVICII Invector","compatibility":0,"releases":[{"id":"010064600F982000","region":null}]},{"id":"ab131a88-09fc-4172-a35f-64a3b5d3d8ce","directory":"mermaid-castle","title":"Mermaid Castle","compatibility":0,"releases":[{"id":"0100B5901230C000","region":null}]},{"id":"ab160326-7fc4-4105-9da5-6c7260ebd2f5","directory":"retro-fighter-dragons-revenge","title":"Retro Fighter - Dragon's Revenge","compatibility":99,"releases":[{"id":"0100F4101443C000","region":null}]},{"id":"ab17030d-b327-44e3-bc6b-39b0b8d5fca1","directory":"clannad","title":"CLANNAD","compatibility":1,"releases":[{"id":"0100A3A00CC7E000","region":null}]},{"id":"ab18e9cb-be87-496b-b4d1-98add531e9b5","directory":"splat-the-fruit","title":"Splat the Fruit","compatibility":99,"releases":[{"id":"01004C800A79C000","region":null}]},{"id":"ab1e389e-a697-4798-ba9e-a4b1cde35d15","directory":"battojutsu","title":"BATTOJUTSU","compatibility":99,"releases":[{"id":"01006EE00E67C000","region":null}]},{"id":"ab21649e-9d4f-4d6c-b9ec-d38d497c8e4b","directory":"bridge-builder-adventure","title":"Bridge Builder Adventure","compatibility":99,"releases":[{"id":"01001BD010758000","region":null}]},{"id":"ab246c63-9da0-4d12-b6ff-f725f62cbdb2","directory":"aqua-lungers","title":"Aqua Lungers","compatibility":99,"releases":[{"id":"0100FE0010886000","region":null}]},{"id":"ab2557b6-497c-43a6-8b17-02f4d1cc26c1","directory":"hunting-simulator-2","title":"Hunting Simulator 2","compatibility":3,"releases":[{"id":"010061F010C3A000","region":null}]},{"id":"ab335dd1-9abd-4ec1-a5b7-47b36b8a155f","directory":"lovecrafts-untold-stories","title":"Lovecraft´s Untold Stories","compatibility":1,"releases":[{"id":"010041100CE7E000","region":null}]},{"id":"ab3e1780-5c04-46d9-a388-9980b0292aae","directory":"devil-may-cry-2","title":"Devil May Cry 2","compatibility":0,"releases":[{"id":"01007CF00D5BA000","region":null}]},{"id":"ab4125c4-9006-4f30-91ca-041b4fd497a9","directory":"unmetal","title":"UnMetal","compatibility":0,"releases":[{"id":"01008F4014A74000","region":null}]},{"id":"ab520008-acd7-43d4-b935-4a75af70d16c","directory":"color-dots-connect","title":"Color Dots Connect","compatibility":99,"releases":[{"id":"01004F7015382000","region":null}]},{"id":"ab55d09e-5376-459f-9f71-89e198d4a402","directory":"aerial_knights-never-yield","title":"Aerial_Knight's Never Yield","compatibility":1,"releases":[{"id":"0100E9B013D4A000","region":null}]},{"id":"ab586efc-0bed-429e-83a0-1a16e3fb2fec","directory":"anarcute","title":"Anarcute","compatibility":99,"releases":[{"id":"010050900E1C6000","region":null}]},{"id":"ab5da151-4dbe-476a-b062-5ca269b0862f","directory":"monster-truck-championship","title":"Monster Truck Championship","compatibility":99,"releases":[{"id":"0100D30010C42000","region":null}]},{"id":"ab610baa-199e-469f-88c0-b98b02635d5f","directory":"mahjong-deluxe-3","title":"Mahjong Deluxe 3","compatibility":99,"releases":[{"id":"0100E0300B13C000","region":null}]},{"id":"ab662694-b43e-46a5-a9a2-731cc2818889","directory":"doom-destiny-advanced","title":"Doom & Destiny Advanced","compatibility":0,"releases":[{"id":"01003B800E164000","region":null}]},{"id":"ab6a046e-d86f-4cf5-a1d4-47f9d5cc1344","directory":"super-arcade-soccer-2021","title":"Super Arcade Soccer 2021","compatibility":99,"releases":[{"id":"010081F00F75C000","region":null}]},{"id":"ab6dcc4c-aa67-4217-8e16-56d5cc20aec3","directory":"black-the-fall","title":"Black The Fall","compatibility":3,"releases":[{"id":"0100502007F54000","region":null}]},{"id":"ab6e3d08-d59d-4f25-8acd-7db2f27ce190","directory":"mathland","title":"MathLand","compatibility":99,"releases":[{"id":"01004B100A1C4000","region":null}]},{"id":"ab6f14a1-7c0a-47f3-ba27-348c4619eb76","directory":"world-soccer-strikers-91","title":"World Soccer Strikers '91","compatibility":99,"releases":[{"id":"010032B013896000","region":null}]},{"id":"ab8a717c-234d-403e-8cc5-9996ec0bc057","directory":"freecell-solitaire-deluxe","title":"Freecell Solitaire Deluxe","compatibility":99,"releases":[{"id":"0100C4300EEEE000","region":null}]},{"id":"ab8ead75-87f5-4b3b-810e-bc9e5cfb6a12","directory":"into-the-dead-2","title":"Into the Dead 2","compatibility":99,"releases":[{"id":"01000F700DECE000","region":null}]},{"id":"ab9c824c-c6c9-463a-880e-0f03855046a5","directory":"haunted-halloween-86","title":"HAUNTED: Halloween '86","compatibility":1,"releases":[{"id":"010085500F6B6000","region":null}]},{"id":"ab9cc8d5-a540-45b0-a76f-529d990b340d","directory":"smashing-the-battle","title":"SMASHING THE BATTLE","compatibility":0,"releases":[{"id":"01002AA00C974000","region":null}]},{"id":"aba63f9f-2204-4285-a6a8-084d6646a4aa","directory":"persona-r-5-strikers","title":"Persona® 5 Strikers","compatibility":0,"releases":[{"id":"0100801011C3E000","region":null}]},{"id":"aba6d40d-9fcb-43fd-be08-1bdb91383395","directory":"funny-bunny-adventures","title":"Funny Bunny Adventures","compatibility":99,"releases":[{"id":"0100EA501033C000","region":null}]},{"id":"abaa9a73-a44e-4ad2-802b-35dc720eeb2f","directory":"typoman","title":"Typoman","compatibility":2,"releases":[{"id":"0100A250093DE000","region":null}]},{"id":"abb51823-38b4-4d48-8ca2-f61c47476ee7","directory":"mazezam-puzzle-game","title":"MazezaM - Puzzle Game","compatibility":99,"releases":[{"id":"0100EEB0122BA000","region":null}]},{"id":"abc42d50-46f1-43de-a31b-f353d133c071","directory":"doki-doki-literature-club-plus","title":"Doki Doki Literature Club Plus!","compatibility":0,"releases":[{"id":"010086901543E000","region":null}]},{"id":"abc73770-4031-4590-884a-4789269497eb","directory":"desktop-volleyball","title":"Desktop Volleyball","compatibility":99,"releases":[{"id":"01001240126F2000","region":null}]},{"id":"abcf946f-275d-4952-8f24-f4635fb7ae47","directory":"doodle-devil-3volution","title":"Doodle Devil: 3volution","compatibility":99,"releases":[{"id":"0100996012D7A000","region":null}]},{"id":"abd277be-06f2-4728-b5de-64ecc5bda901","directory":"arcade-archives-cybattler","title":"Arcade Archives CYBATTLER","compatibility":99,"releases":[{"id":"0100AF5013F00000","region":null}]},{"id":"abd290e3-44ac-461e-bc6a-93e6903164e4","directory":"gnomes-garden","title":"Gnomes Garden","compatibility":99,"releases":[{"id":"01004D300BF98000","region":null}]},{"id":"abd86039-11d3-4efb-b0da-0c1f5fdc0cb9","directory":"the-walking-dead-the-complete-first-season","title":"The Walking Dead: The Complete First Season","compatibility":4,"releases":[{"id":"010029200B6AA000","region":null}]},{"id":"abe29986-a326-4b47-9f29-5e03e9f658fe","directory":"kill-la-kill-if","title":"KILL la KILL -IF","compatibility":4,"releases":[{"id":"0100FB400D832000","region":null}]},{"id":"abf8b2cb-8d10-4a1e-a2ab-896e98aeafe5","directory":"tens","title":"TENS!","compatibility":99,"releases":[{"id":"01009C4012336000","region":null}]},{"id":"abf97fc9-ce1d-4ede-ac7d-c1c49efb065d","directory":"octopath-traveler-prologue-demo-version","title":"Octopath Traveler - Prologue Demo Version","compatibility":3,"releases":[{"id":"010096000B3EA000","region":null}]},{"id":"abfb63bf-5718-4ed0-b4a5-044d49e50118","directory":"squidlit","title":"Squidlit","compatibility":1,"releases":[{"id":"0100FCD0102EC000","region":null}]},{"id":"ac13842b-8fe6-4b14-8df4-f433d33e88fa","directory":"brunch-club","title":"Brunch Club","compatibility":99,"releases":[{"id":"0100B2700E90E000","region":null}]},{"id":"ac15408d-a462-407e-9057-a88c4e0f830d","directory":"avocuddle","title":"AvoCuddle","compatibility":99,"releases":[{"id":"01008FB011248000","region":null}]},{"id":"ac181238-b7a4-40ec-adf7-00ed30bc9525","directory":"final-fantasy-r-crystal-chronicles-remastered-edition","title":"FINAL FANTASY® CRYSTAL CHRONICLESâ„¢ Remastered Edition","compatibility":1,"releases":[{"id":"0100CE4010AAC000","region":null}]},{"id":"ac27ed3f-4dc2-4391-bf09-4a2402fca704","directory":"just-a-phrase-by-powgi","title":"Just a Phrase by POWGI","compatibility":99,"releases":[{"id":"010045100F722000","region":null}]},{"id":"ac2fdfb3-0fe7-43b8-a589-a84ed54ece13","directory":"back-to-bed","title":"Back to Bed","compatibility":99,"releases":[{"id":"0100F4100AF16000","region":null}]},{"id":"ac308ffd-059d-4dd1-8172-4c2ff77de743","directory":"resident-evil-revelations-2","title":"Resident Evil Revelations 2","compatibility":2,"releases":[{"id":"010095300212A000","region":null}]},{"id":"ac3eb988-bd07-4daf-a9c8-4dfbfe57da7e","directory":"history-2048","title":"History 2048","compatibility":99,"releases":[{"id":"0100B1E00D234000","region":null}]},{"id":"ac6c767f-0082-4bfb-9b00-344ab488045a","directory":"part-time-ufo","title":"Part Time UFOâ„¢","compatibility":1,"releases":[{"id":"01006B5012B32000","region":null}]},{"id":"ac73a532-43a1-4a19-969f-7f97bf7d308b","directory":"heavens-vault","title":"Heaven's Vault","compatibility":99,"releases":[{"id":"0100FD901000C000","region":null}]},{"id":"ac78e67c-d424-4262-875d-15970d6802af","directory":"grindstone","title":"Grindstone","compatibility":0,"releases":[{"id":"0100538012496000","region":null}]},{"id":"ac80ed20-23ab-4900-bac6-48c7f4eb05ad","directory":"tactics-v-obsidian-brigade","title":"Tactics V: \"Obsidian Brigade\"","compatibility":99,"releases":[{"id":"01007C7006AEE000","region":null}]},{"id":"ac8c8dbb-a270-4f48-8d7d-6d41d3ed32d0","directory":"dragon-quest-builders","title":"Dragon Quest Builders","compatibility":4,"releases":[{"id":"010008900705C000","region":null}]},{"id":"ac9c2b68-dd33-4d42-938e-4e0e835a288f","directory":"escape-trick-35-fateful-enigmas","title":"ESCAPE TRICK: 35 Fateful Enigmas","compatibility":99,"releases":[{"id":"010087F005DFE000","region":null}]},{"id":"aca2a9ff-973a-4809-8597-beacc16e29b6","directory":"a-hero-and-a-garden","title":"A HERO AND A GARDEN","compatibility":99,"releases":[{"id":"01009E1011EC4000","region":null}]},{"id":"aca4d02d-9524-4098-8c1e-d4f6d9f0653d","directory":"piczle-cells","title":"Piczle Cells","compatibility":99,"releases":[{"id":"0100458015054000","region":null}]},{"id":"acc669d9-4ec1-4089-ae3b-861b67e647ee","directory":"pipe-push-paradise","title":"Pipe Push Paradise","compatibility":99,"releases":[{"id":"0100F7B00B864000","region":null}]},{"id":"acc8dc4c-3fc8-4bc0-bbfd-09bee2587c22","directory":"magequit","title":"MageQuit","compatibility":99,"releases":[{"id":"0100F9C012142000","region":null}]},{"id":"accfa48c-c6cd-4963-a379-e02d66f80394","directory":"perfect-traffic-simulator","title":"Perfect Traffic Simulator","compatibility":99,"releases":[{"id":"0100144011030000","region":null}]},{"id":"acd60203-4423-4433-ae45-a13ba2fe03dd","directory":"freecell-battle-king","title":"FREECELL BATTLE KING","compatibility":99,"releases":[{"id":"0100E6100CCE6000","region":null}]},{"id":"acd9fdd4-ff7f-4c50-94d0-16891a5227c7","directory":"0-degrees","title":"0 Degrees","compatibility":99,"releases":[{"id":"010011A0147CA000","region":null}]},{"id":"acdecd76-24ce-4ccb-aad4-bcba66be4a84","directory":"hamster-bob","title":"Hamster Bob","compatibility":99,"releases":[{"id":"01007A2011284000","region":null}]},{"id":"acea06c1-f390-4f7e-85c5-b8a7b572bc78","directory":"scandal-in-the-spotlight","title":"Scandal In The Spotlight","compatibility":3,"releases":[{"id":"01009B6013180000","region":null}]},{"id":"aced43b2-44d8-4a0d-9b97-32ed3b094d4b","directory":"carto","title":"Carto","compatibility":0,"releases":[{"id":"0100810012A1A000","region":null}]},{"id":"acf4ad06-8359-4a1d-99fb-08f93bd06c05","directory":"raining-coins","title":"Raining Coins","compatibility":99,"releases":[{"id":"010091B00B762000","region":null}]},{"id":"ad0cc941-1f48-43a0-9d29-f85263635975","directory":"chaos-code-new-sign-of-catastrophe","title":"CHAOS CODE -NEW SIGN OF CATASTROPHE-","compatibility":3,"releases":[{"id":"01007600115CE000","region":null}]},{"id":"ad153cae-adc5-4848-acd9-5b294b5f226d","directory":"dauntless","title":"Dauntless","compatibility":99,"releases":[{"id":"0100B9500D1B0000","region":null}]},{"id":"ad1eda00-e11c-4322-baf7-19d4bf11ee23","directory":"mordheim-warband-skirmish","title":"Mordheim: Warband Skirmish","compatibility":99,"releases":[{"id":"010071B009FB6000","region":null}]},{"id":"ad24ef6d-d919-41c1-a925-dbbb04786751","directory":"sallys-law","title":"Sally's Law","compatibility":99,"releases":[{"id":"01007BB00A0A0000","region":null}]},{"id":"ad31e055-5f74-423e-9fe2-033e9dd89337","directory":"toki-tori-2-nintendo-switch-edition","title":"Toki Tori 2+: Nintendo Switch Edition","compatibility":2,"releases":[{"id":"0100A2B008696000","region":null}]},{"id":"ad36c413-ff4b-4e90-bf4f-f3d3ca31cb65","directory":"a-gliders-journey","title":"A Glider's Journey","compatibility":99,"releases":[{"id":"01006C00110F2000","region":null}]},{"id":"ad43568f-03b8-4a6e-8fa4-08fd8239f19c","directory":"madness-beverage","title":"Madness Beverage","compatibility":99,"releases":[{"id":"01002AD016DE0000","region":null}]},{"id":"ad49b266-b270-4d78-8544-170b2c61a215","directory":"construction-machines-simulator","title":"Construction Machines Simulator","compatibility":1,"releases":[{"id":"01004BA00B566000","region":null}]},{"id":"ad5efcfe-8782-4a3f-9389-5f494613e7a5","directory":"i-and-me-demo","title":"I and Me Demo","compatibility":99,"releases":[{"id":"010007B009314000","region":null}]},{"id":"ad6bf61a-02aa-40cd-a62f-86713aaea8a5","directory":"sudoku-relax-2-summer-waves","title":"Sudoku Relax 2 Summer Waves","compatibility":99,"releases":[{"id":"01009C600F02C000","region":null}]},{"id":"ad6e23f8-f9fb-47b9-b2c7-c954aa603505","directory":"aca-neogeo-the-king-of-fighters-94","title":"ACA NEOGEO THE KING OF FIGHTERS '94","compatibility":4,"releases":[{"id":"0100EB2001DCC000","region":null}]},{"id":"ad7ed8bf-b4f2-4181-891e-6fbb5dd6866f","directory":"arcade-archives-10-yard-fight","title":"Arcade Archives 10-Yard Fight","compatibility":1,"releases":[{"id":"0100BE80097FA000","region":null}]},{"id":"ad82525f-edf9-411c-a41d-a117d33de904","directory":"splash-blast-panic","title":"Splash Blast Panic","compatibility":99,"releases":[{"id":"01006F900AB7E000","region":null}]},{"id":"ad85ab58-2322-4afb-8c65-c7f10e1ab4b8","directory":"unbox-newbies-adventure","title":"UNBOX: Newbie's Adventure","compatibility":1,"releases":[{"id":"0100592005164000","region":null}]},{"id":"ad9250cc-7b9a-4143-96a3-c81f6637272d","directory":"picross-lord-of-the-nazarick","title":"PICROSS LORD OF THE NAZARICK","compatibility":1,"releases":[{"id":"010012100E8DC000","region":null}]},{"id":"ad92cc85-8c0f-47a1-875b-35d524ebaf36","directory":"fantasy-tower-defense","title":"Fantasy Tower Defense","compatibility":99,"releases":[{"id":"01007AA012E02000","region":null}]},{"id":"ad956b3c-398e-416d-a7eb-4b762d933d60","directory":"portal-knights","title":"Portal Knights","compatibility":2,"releases":[{"id":"0100437004170000","region":null}]},{"id":"ad977171-3e80-427a-bf51-6376045eca10","directory":"moonfall-ultimate","title":"Moonfall Ultimate","compatibility":99,"releases":[{"id":"0100C2E00B494000","region":null}]},{"id":"ada08717-d034-46d5-8551-f0901655f92d","directory":"f-117a-stealth-fighter","title":"F-117A Stealth Fighter","compatibility":99,"releases":[{"id":"0100E720115CC000","region":null}]},{"id":"ada9413a-ff65-4120-b959-61cd9d9d8bda","directory":"steam-prison","title":"Steam Prison","compatibility":0,"releases":[{"id":"01008010118CC000","region":null}]},{"id":"ada9cefa-4fef-4286-a6a3-bdb02405c3f1","directory":"task-force-kampas","title":"Task Force Kampas","compatibility":99,"releases":[{"id":"01002D4011208000","region":null}]},{"id":"adaccabb-6e6f-4ce4-abe9-2a734231ffd7","directory":"planet-quiz-learn-discover","title":"Planet Quiz: Learn & Discover","compatibility":99,"releases":[{"id":"010057C015C3A000","region":null}]},{"id":"adb1fadc-43ef-4f3b-892f-fa1587c1b3b7","directory":"iron-wings","title":"Iron Wings","compatibility":99,"releases":[{"id":"01005270118D6000","region":null}]},{"id":"adb298c7-4f63-4224-b17d-130c26ea8190","directory":"112th-seed","title":"112th Seed","compatibility":99,"releases":[{"id":"010051E012302000","region":null}]},{"id":"adb4f501-4401-486c-81d8-8e415eb83c8c","directory":"sea-king","title":"Sea King","compatibility":99,"releases":[{"id":"0100E4A00D066000","region":null}]},{"id":"adb9b511-685d-457a-9871-af74cff7f302","directory":"zen-bound-2","title":"Zen Bound 2","compatibility":99,"releases":[{"id":"01001AF008BDA000","region":null}]},{"id":"adbc9dbe-f6ce-4be3-aa9e-09d985c15d00","directory":"angry-bunnies-colossal-carrot-crusade","title":"Angry Bunnies: Colossal Carrot Crusade","compatibility":99,"releases":[{"id":"0100F3500D05E000","region":null}]},{"id":"adbf3566-ef31-47ee-ae87-5788ca7fbc76","directory":"reigns-kings-and-queens","title":"Reigns: Kings & Queens","compatibility":99,"releases":[{"id":"0100CCE00A4F2000","region":null}]},{"id":"adc311b2-0a44-4543-8d85-4dfc5b8b5b7a","directory":"the-videokid","title":"The VideoKid","compatibility":99,"releases":[{"id":"0100D0500B0A6000","region":null}]},{"id":"adc352e1-f796-4a82-af4b-9316411e070b","directory":"evil-defenders","title":"Evil Defenders","compatibility":99,"releases":[{"id":"010080600B53E000","region":null}]},{"id":"adc5026b-46a7-49c1-b46a-154613e7e961","directory":"carcassonne","title":"Carcassonne","compatibility":1,"releases":[{"id":"0100C9200A9C2000","region":null}]},{"id":"adc552d3-dbb9-49f2-84d0-ff4339a7c04a","directory":"ecrossminton","title":"eCrossminton","compatibility":99,"releases":[{"id":"0100E0A0110F4000","region":null}]},{"id":"add2f26a-d809-4779-b57f-45e95a66b07e","directory":"bombfall","title":"BombFall","compatibility":99,"releases":[{"id":"0100FCA00C8D0000","region":null}]},{"id":"add41152-c751-4fa7-80bc-da613e66ce02","directory":"super-weekend-mode","title":"Super Weekend Mode","compatibility":99,"releases":[{"id":"01003D700D564000","region":null}]},{"id":"adde0ba3-bcfd-4d7c-960b-1d69abad0efb","directory":"ekstase","title":"Ekstase","compatibility":99,"releases":[{"id":"01004F10143E4000","region":null}]},{"id":"adf36bf6-214e-4b5e-9d10-8765ce77e05a","directory":"bakery-master","title":"Bakery Master","compatibility":99,"releases":[{"id":"0100BA50144DE000","region":null}]},{"id":"adf52087-60bc-4ba3-b7a6-a06729191c25","directory":"the-jackbox-party-pack-2","title":"The Jackbox Party Pack 2","compatibility":99,"releases":[{"id":"010015D003EE4000","region":null}]},{"id":"adf5f9f4-1cc6-4e90-b4dc-24bc4de1e5ae","directory":"trails-and-traces-the-tomb-of-thomas-tew","title":"Trails and Traces: The Tomb of Thomas Tew","compatibility":99,"releases":[{"id":"01008D4014102000","region":null}]},{"id":"adf69feb-3ba6-461c-afe2-9e86cd5c0c3a","directory":"palindrome-syndrome-escape-room","title":"Palindrome Syndrome: Escape Room","compatibility":99,"releases":[{"id":"0100CE30142D6000","region":null}]},{"id":"adfca367-8f4a-4512-a557-dd78930006d7","directory":"mistover","title":"MISTOVER","compatibility":99,"releases":[{"id":"010034E00EFD0000","region":null}]},{"id":"ae0f342d-8ff5-4b96-853e-f2d798226f85","directory":"clouds-and-sheep-2","title":"Clouds & Sheep 2","compatibility":99,"releases":[{"id":"010079700B4EA000","region":null}]},{"id":"ae150b50-e631-4d45-b20f-99688b7ee937","directory":"cake-bash","title":"Cake Bash","compatibility":2,"releases":[{"id":"010014A0115BE000","region":null}]},{"id":"ae1bff77-7192-4ac0-9b3b-77f7db8182f6","directory":"educational-games-for-kids","title":"Educational Games for Kids","compatibility":99,"releases":[{"id":"0100599013216000","region":null}]},{"id":"ae1fd4f2-0b42-4285-86e5-89223de1d6c8","directory":"healers-quest","title":"Healer's Quest","compatibility":99,"releases":[{"id":"0100613013150000","region":null}]},{"id":"ae3d8cb5-1e25-4556-806f-ea3e199f0439","directory":"knight-with-tactics","title":"Knight with Tactics","compatibility":99,"releases":[{"id":"0100DEB013C76000","region":null}]},{"id":"ae784153-04d2-4d50-8827-050ca68c87f6","directory":"eldrador-r-creatures","title":"Eldrador® Creatures","compatibility":1,"releases":[{"id":"010068F012880000","region":null}]},{"id":"ae88572e-c325-4678-98a6-f978088895ec","directory":"aliens-strike","title":"Aliens Strike","compatibility":99,"releases":[{"id":"01000E5016EF6000","region":null}]},{"id":"ae88fa22-8c86-4c5a-b002-6979cf8bcecb","directory":"access-denied","title":"Access Denied","compatibility":5,"releases":[{"id":"0100A9900CB5C000","region":null}]},{"id":"ae93f9e3-7815-4bb3-a0c5-b91fcb9e74c4","directory":"funghi-explosion","title":"Funghi Explosion","compatibility":99,"releases":[{"id":"0100E7B00BF24000","region":null}]},{"id":"ae95c431-c897-4637-a224-b5ae3e256896","directory":"angry-alligator","title":"Angry Alligator","compatibility":99,"releases":[{"id":"0100A78012A76000","region":null}]},{"id":"aea190d1-23d3-4917-9620-babead9fa063","directory":"amazing-breaker","title":"Amazing Breaker","compatibility":99,"releases":[{"id":"0100BE70163C8000","region":null}]},{"id":"aeab5d29-db69-48fe-8d30-8f561e98dec6","directory":"detective-case-and-clown-bot-in-murder-in-the-hotel-lisbon","title":"Detective Case and Clown Bot in: Murder in The Hotel Lisbon","compatibility":99,"releases":[{"id":"0100AB700AF14000","region":null}]},{"id":"aeabb7b1-9db7-46a0-86bf-cc1319e3772f","directory":"grand-guilds","title":"Grand Guilds","compatibility":99,"releases":[{"id":"010038100D436000","region":null}]},{"id":"aeac0953-0651-4651-8b12-283f87523300","directory":"mutant-football-league-dynasty-edition","title":"Mutant Football League: Dynasty Edition","compatibility":4,"releases":[{"id":"0100C3E00ACAA000","region":null}]},{"id":"aebfcc1a-24c2-4555-a7fa-9f4901725bdc","directory":"jurassic-excite","title":"Jurassic Excite","compatibility":99,"releases":[{"id":"010043F010412000","region":null}]},{"id":"aec1abf6-2785-4191-8cdc-c39b4f02e1fb","directory":"super-one-more-jump","title":"Super One More Jump","compatibility":0,"releases":[{"id":"0100284007D6C000","region":null}]},{"id":"aecca06c-81bd-41e3-9d33-d9df6f8c20e2","directory":"bayonetta","title":"Bayonetta","compatibility":0,"releases":[{"id":"010076F0049A2000","region":null}]},{"id":"aece254e-3fb9-462a-9df5-2c7350008a44","directory":"1912-titanic-mystery","title":"1912: Titanic Mystery","compatibility":0,"releases":[{"id":"0100750014426000","region":null}]},{"id":"aed005c2-e0c4-43ec-9809-1a0f8170b942","directory":"lovekami-divinity-stage","title":"Lovekami -Divinity Stage-","compatibility":99,"releases":[{"id":"01004A4013318000","region":null}]},{"id":"aedb5256-3d19-4748-8ddd-c57d9f73f25d","directory":"runbow","title":"Runbow","compatibility":0,"releases":[{"id":"0100ADF00700E000","region":null}]},{"id":"aedf9a65-4e74-4f13-b6f9-acb70584d242","directory":"red-hot-ricochet","title":"Red Hot Ricochet","compatibility":99,"releases":[{"id":"0100C7600AF00000","region":null}]},{"id":"aef3d6ce-a659-413b-a8da-e56649cb9b99","directory":"tokyo-mirage-sessions-fe-encore","title":"Tokyo Mirage Sessions #FE Encore","compatibility":0,"releases":[{"id":"0100A9400C9C2000","region":null}]},{"id":"af0610ba-0132-4f6b-b773-6a4417b1a954","directory":"corpse-party-blood-drive","title":"Corpse Party: Blood Drive","compatibility":0,"releases":[{"id":"010016400B1FE000","region":null}]},{"id":"af0829bd-4239-4155-b919-a903a6330dff","directory":"escape-from-chernobyl","title":"Escape from Chernobyl","compatibility":99,"releases":[{"id":"0100FEF00F0AA000","region":null}]},{"id":"af09aa56-d65f-482d-ab28-230a7e9d8550","directory":"not-a-hero-super-snazzy-edition","title":"NOT A HERO: SUPER SNAZZY EDITION","compatibility":99,"releases":[{"id":"0100CB800B07E000","region":null}]},{"id":"af0ed3c4-ad2a-4afe-b8b9-ea012ed35bc8","directory":"battle-calculator","title":"Battle Calculator","compatibility":99,"releases":[{"id":"01007F7015B3A000","region":null}]},{"id":"af260b43-2e1d-4748-b497-77a71ecb8622","directory":"tiny-metal-full-metal-rumble","title":"TINY METAL: FULL METAL RUMBLE","compatibility":1,"releases":[{"id":"0100B1600DB3A000","region":null}]},{"id":"af50a11f-9fc1-4cb3-bae9-577f3898b8e0","directory":"fear-effect-sedna","title":"Fear Effect Sedna","compatibility":4,"releases":[{"id":"01005AC0068F6000","region":null}]},{"id":"af5b14fa-913d-4d9d-b4ad-5e80371de065","directory":"shred-2-freeride-mountainbiking","title":"Shred! 2 - Freeride Mountainbiking","compatibility":3,"releases":[{"id":"01003DD00BF0E000","region":null}]},{"id":"af5e22dc-30cd-46a9-9066-c987dbbc0ee3","directory":"naruto-ultimate-ninja-storm","title":"NARUTO: Ultimate Ninja STORM","compatibility":4,"releases":[{"id":"0100715007354000","region":null}]},{"id":"af6301cf-b031-47a2-be71-c600477af9d9","directory":"anima-gate-of-memories-the-nameless-chronicles","title":"Anima: Gate of Memories - The Nameless Chronicles","compatibility":1,"releases":[{"id":"01007A400B3F8000","region":null}]},{"id":"af6e2502-da5a-4f8c-8495-ce1b67147344","directory":"fatum-betula","title":"Fatum Betula","compatibility":99,"releases":[{"id":"0100E82013ED6000","region":null}]},{"id":"af6e3450-ecf1-4c4c-9228-a0bbc8e83434","directory":"theofil","title":"Theofil","compatibility":99,"releases":[{"id":"0100A0C01547A000","region":null}]},{"id":"af76b32f-8e7e-4359-81f2-21073bcd55df","directory":"red-game-without-a-great-name","title":"Red Game Without a Great Name","compatibility":99,"releases":[{"id":"01002290070E4000","region":null}]},{"id":"af788a0c-3308-4296-913d-3634395bc605","directory":"superepic-the-entertainment-war","title":"SuperEpic: The Entertainment War","compatibility":99,"releases":[{"id":"0100630010252000","region":null}]},{"id":"af7acf48-7a1c-488f-b66f-a71918443356","directory":"h-i-c-h","title":"H.I.C.H.","compatibility":99,"releases":[{"id":"010087C01606E000","region":null}]},{"id":"af7e2b7d-0a74-450e-9d3b-e3d6ec316a5a","directory":"bastion","title":"Bastion","compatibility":3,"releases":[{"id":"010038600B27E000","region":null}]},{"id":"af8264a8-99a0-44ad-a5aa-f49cc33b8518","directory":"jetsnguns-2","title":"Jets'n'Guns 2","compatibility":0,"releases":[{"id":"01000BF012920000","region":null}]},{"id":"af87b34e-7415-4dfd-a49e-5c6938e661f6","directory":"atelier-ryza-2-lost-legends-the-secret-fairy","title":"Atelier Ryza 2: Lost Legends & the Secret Fairy","compatibility":4,"releases":[{"id":"01009A9012022000","region":null}]},{"id":"af87ede1-6068-4134-8174-df004d6d841b","directory":"retro-space-fighter","title":"Retro Space Fighter","compatibility":99,"releases":[{"id":"01001FE0133FA000","region":null}]},{"id":"af951749-4069-4f15-ae94-73258d555370","directory":"out-of-line","title":"Out of Line","compatibility":99,"releases":[{"id":"0100E7601535E000","region":null}]},{"id":"af9d75ab-6dd8-4a6e-bcaa-fc9e60e02f82","directory":"arcade-archives-clu-clu-land","title":"Arcade Archives CLU CLU LAND","compatibility":4,"releases":[{"id":"0100EDC00E35A000","region":null}]},{"id":"afa74c40-4e83-4ca1-b5ba-cdb3750a4d8c","directory":"cat-girl-without-salad-amuse-bouche","title":"Cat Girl Without Salad: Amuse-Bouche","compatibility":2,"releases":[{"id":"010076000C86E000","region":null}]},{"id":"afafd99d-2749-4e7e-b0bb-e381f6b0b6ba","directory":"blackwind","title":"Blackwind","compatibility":99,"releases":[{"id":"0100262011494000","region":null}]},{"id":"afb43f5d-7d6d-488a-a031-a1bf5867f204","directory":"tanky-tanks","title":"Tanky Tanks","compatibility":99,"releases":[{"id":"01000D4011D10000","region":null}]},{"id":"afbc8814-10ac-4204-bf2c-586e53cfeb86","directory":"dungeon-bricker","title":"Dungeon Bricker","compatibility":1,"releases":[{"id":"010058E015B10000","region":null}]},{"id":"afdaa445-19df-4771-b9fa-c9194055d205","directory":"undead-horde","title":"Undead Horde","compatibility":99,"releases":[{"id":"01009B700D0B8000","region":null}]},{"id":"afdb5ab0-c8e5-4b5b-8f77-5758a096fba2","directory":"livestream-escape-from-hotel-izanami","title":"Livestream: Escape from Hotel Izanami","compatibility":0,"releases":[{"id":"0100E45014338000","region":null}]},{"id":"afe80d72-7373-4fb1-a1cc-be139421b581","directory":"picross-s2","title":"PICROSS S2","compatibility":2,"releases":[{"id":"0100C9600A88E000","region":null}]},{"id":"afe9b6f7-d48e-41e9-9dfb-f0357a91f8ec","directory":"unexplored","title":"UnExplored","compatibility":99,"releases":[{"id":"01007820096FC000","region":null}]},{"id":"aff1a15f-340f-43bc-b33f-8faf26319401","directory":"rooms-the-adventure-of-anne-and-george","title":"Rooms: The Adventure of Anne & George","compatibility":99,"releases":[{"id":"01001F100B586000","region":null}]},{"id":"aff622e0-b2aa-4629-8662-5d692b567641","directory":"tunnel-of-doom","title":"Tunnel of Doom","compatibility":99,"releases":[{"id":"01000CE01428C000","region":null}]},{"id":"aff67641-60f3-4b89-901b-1498e62939bb","directory":"duck-life-battle","title":"Duck Life: Battle","compatibility":99,"releases":[{"id":"010015C00E73C000","region":null}]},{"id":"b0064a27-8e32-42dd-bec6-bb174844cc5e","directory":"banner-of-the-maid","title":"Banner of the Maid","compatibility":1,"releases":[{"id":"010013C010C5C000","region":null}]},{"id":"b00c1378-b82c-4610-bbad-f4e2ac13df5c","directory":"towertale","title":"Towertale","compatibility":2,"releases":[{"id":"0100F6200F77E000","region":null}]},{"id":"b01f89a8-09b1-4e83-a120-d1f3f7c57ec7","directory":"revertia","title":"Revertia","compatibility":99,"releases":[{"id":"01005F300C1A8000","region":null}]},{"id":"b023e43b-fbce-4958-b36b-8978a7d1e789","directory":"dreamwalker","title":"Dreamwalker","compatibility":99,"releases":[{"id":"0100A7D00C694000","region":null}]},{"id":"b026b16b-adac-463d-8d91-c117b4adbb4a","directory":"madorica-real-estate","title":"Madorica Real Estate","compatibility":0,"releases":[{"id":"010099700BF10000","region":null}]},{"id":"b0338f72-1b2c-44e1-b6b1-1367a1764331","directory":"mercenary-kings-reloaded-edition","title":"Mercenary Kings: Reloaded Edition","compatibility":1,"releases":[{"id":"0100F900046C4000","region":null}]},{"id":"b033c88d-8873-4ec7-a441-ad334b73acee","directory":"phoenix-wright-ace-attorney-trilogy","title":"Phoenix Wright: Ace Attorney Trilogy","compatibility":1,"releases":[{"id":"0100CB000A142000","region":null}]},{"id":"b041b51c-5b04-4b55-af42-46ef5c8306a9","directory":"regency-solitaire","title":"Regency Solitaire","compatibility":99,"releases":[{"id":"0100BFB00D6E4000","region":null}]},{"id":"b047c920-cb5b-44ed-a243-02a04e82e229","directory":"star-story-the-horizon-escape","title":"Star Story: The Horizon Escape","compatibility":99,"releases":[{"id":"0100D7000AE6A000","region":null}]},{"id":"b04fdac4-0244-4e79-8b69-4c40fa83bc1a","directory":"frost","title":"Frost","compatibility":2,"releases":[{"id":"0100B5300B49A000","region":null}]},{"id":"b0533e27-572b-4b5a-b8a9-2aa4a7c2deda","directory":"outbreak-the-new-nightmare","title":"Outbreak: The New Nightmare","compatibility":99,"releases":[{"id":"0100B450130FC000","region":null}]},{"id":"b05bc235-4b15-4533-a3dd-0da2fd3b16c4","directory":"double-dragon-ii-the-revenge","title":"DOUBLE DRAGON â…¡: The Revenge","compatibility":0,"releases":[{"id":"0100DD900E498000","region":null}]},{"id":"b06d6b88-c2c1-4906-8855-ba9c6451bc46","directory":"bloons-td-5","title":"Bloons TD 5","compatibility":1,"releases":[{"id":"0100B8400A1C6000","region":null}]},{"id":"b07f1e9b-beb2-462c-a60f-99338f8f705a","directory":"hyper-sentinel","title":"Hyper Sentinel","compatibility":99,"releases":[{"id":"0100692003FCE000","region":null}]},{"id":"b0872603-c9c0-4610-a9c0-05c0ea2a1934","directory":"grisaia-phantom-trigger-01-02","title":"GRISAIA PHANTOM TRIGGER 01&02","compatibility":3,"releases":[{"id":"01009D7011B02000","region":null}]},{"id":"b0902cc9-4415-4126-bc8c-a7769f56ea91","directory":"northgard","title":"Northgard","compatibility":3,"releases":[{"id":"0100A9E00D97A000","region":null}]},{"id":"b0aa0d1c-dd75-4d39-80a5-7462541f7d29","directory":"port-royale-4","title":"Port Royale 4","compatibility":99,"releases":[{"id":"01007EF013CA0000","region":null}]},{"id":"b0b11e1f-f86c-4d7c-ba1c-2a5422e59e9c","directory":"fateextella-the-umbral-star","title":"Fate/EXTELLA: The Umbral Star","compatibility":1,"releases":[{"id":"010053E002EA2000","region":null}]},{"id":"b0b9655d-7a75-41c9-aca1-568e1a9d77f3","directory":"the-mysterious-case-of-dr-jekyll-and-mr-hyde","title":"The Mysterious Case of Dr.Jekyll and Mr.Hyde","compatibility":99,"releases":[{"id":"0100A4A014AF4000","region":null}]},{"id":"b0bd9d40-1a6a-4878-a558-3b1bc460d0d6","directory":"crypto-is-dead","title":"Crypto Is Dead","compatibility":99,"releases":[{"id":"010040A015C04000","region":null}]},{"id":"b0c089d3-9315-436b-8c2f-e7a779d96a51","directory":"yumeutsutsu-re-after","title":"Yumeutsutsu Re:After","compatibility":99,"releases":[{"id":"0100B56011502000","region":null}]},{"id":"b0ebc7e6-286e-4f66-94c6-bdc8bf7eac5e","directory":"gunbird2-for-nintendo-switch","title":"GUNBIRD2 for Nintendo Switch","compatibility":4,"releases":[{"id":"0100BCB00AE98000","region":null}]},{"id":"b0fc6fac-6c27-47cd-bf61-f40d99f0616c","directory":"space-marshals-2","title":"Space Marshals 2","compatibility":99,"releases":[{"id":"0100BDA014578000","region":null}]},{"id":"b10199a4-3019-48c9-8c25-cae8201753c8","directory":"dusk-82","title":"DUSK '82","compatibility":99,"releases":[{"id":"01002FB016784000","region":null}]},{"id":"b104da84-7e5b-4bce-99db-8d475a035b49","directory":"klaus","title":"-KLAUS-","compatibility":99,"releases":[{"id":"010099F00EF3E000","region":null}]},{"id":"b10a9ea2-5006-4789-aed3-848ca45feb31","directory":"timber-tennis-versus","title":"Timber Tennis: Versus","compatibility":99,"releases":[{"id":"010074500699A000","region":null}]},{"id":"b10b1f53-84af-41a2-8308-6aaf9827321d","directory":"demon-pit","title":"Demon Pit","compatibility":99,"releases":[{"id":"010084600F51C000","region":null}]},{"id":"b10d59bd-cc75-420e-8704-cd9cc6b756a0","directory":"super-holobunnies-pause-cafe","title":"Super Holobunnies: Pause Café","compatibility":99,"releases":[{"id":"0100B6900D776000","region":null}]},{"id":"b117fa91-3b3c-4294-8eb5-b2417386306e","directory":"abyss-the-wraiths-of-eden","title":"Abyss: The Wraiths of Eden","compatibility":99,"releases":[{"id":"010036F013A40000","region":null}]},{"id":"b11ccb63-c85e-497c-a9e2-a56c347e69cd","directory":"my-bewitching-perfume","title":"My Bewitching Perfume","compatibility":2,"releases":[{"id":"01002EC011DA6000","region":null}]},{"id":"b11d645b-4494-479e-a9a3-5b2e220bf147","directory":"mercenaries-wings-the-false-phoenix","title":"Mercenaries Wings: The False Phoenix","compatibility":99,"releases":[{"id":"010094500C216000","region":null}]},{"id":"b13960fd-49fc-4f40-948f-774ee90068bf","directory":"blackjack-hands","title":"Blackjack Hands","compatibility":99,"releases":[{"id":"010043A012A32000","region":null}]},{"id":"b147aeda-458b-404a-b4be-dbb2ed6916fc","directory":"murder-diaries-3-santas-trail-of-blood","title":"Murder Diaries 3 - Santa's Trail of Blood","compatibility":99,"releases":[{"id":"01001FE016B58000","region":null}]},{"id":"b150c5cb-2f58-444d-9b07-f558bf72defe","directory":"welcome-to-hanwell","title":"Welcome to Hanwell","compatibility":2,"releases":[{"id":"010096000EEBA000","region":null}]},{"id":"b165fb97-dbc9-4952-863c-4b80ecfe5415","directory":"this-is-the-police-2","title":"This is the Police 2","compatibility":2,"releases":[{"id":"01004C100A04C000","region":null}]},{"id":"b16da9c4-c772-4d09-bd14-f42bbc6c05bf","directory":"secret-files-sam-peters","title":"Secret Files Sam Peters","compatibility":99,"releases":[{"id":"01002B300ECA2000","region":null}]},{"id":"b188328d-ca1d-4e6f-9b8a-a1411d79d2da","directory":"aer-memories-of-old","title":"AER Memories of Old","compatibility":2,"releases":[{"id":"0100A0400DDE0000","region":null}]},{"id":"b1a1dd92-e828-4954-aa27-31847ccbb851","directory":"dont-knock-twice","title":"Don't Knock Twice","compatibility":1,"releases":[{"id":"0100E470067A8000","region":null}]},{"id":"b1a37445-1994-4f6e-bd27-e68fd5a8584d","directory":"ascendance","title":"ASCENDANCE","compatibility":99,"releases":[{"id":"0100C9F00AAEE000","region":null}]},{"id":"b1abb55e-5ffd-490f-a6fc-9bbe43f49867","directory":"mystic-pillars-a-story-based-puzzle-game","title":"Mystic Pillars: A Story-Based Puzzle Game","compatibility":99,"releases":[{"id":"0100B72010F86000","region":null}]},{"id":"b1c1f366-15e8-4ac7-8733-bc830038bfec","directory":"super-blackjack-battle-2-turbo-edition-the-card-warriors","title":"Super Blackjack Battle 2 Turbo Edition - The Card Warriors","compatibility":99,"releases":[{"id":"010093800A98C000","region":null}]},{"id":"b1c5d00a-fb53-4110-a693-eefdf94bc4c5","directory":"chrono-clash-fantasy-tactics","title":"CHRONO CLASH: Fantasy Tactics","compatibility":2,"releases":[{"id":"0100EA600B85E000","region":null}]},{"id":"b1d0d010-b638-4897-8b1e-d9887d0b5c5a","directory":"snk-gals-fighters","title":"SNK GALS' FIGHTERS","compatibility":0,"releases":[{"id":"01007EE011116000","region":null}]},{"id":"b1e2f692-ca68-4f8c-b446-172cbb06e0b7","directory":"the-last-friend","title":"The Last Friend","compatibility":99,"releases":[{"id":"010007901467A000","region":null}]},{"id":"b1ed2910-a991-45a4-b350-42705bf65b90","directory":"hive-jump","title":"Hive Jump","compatibility":99,"releases":[{"id":"01001B000CAF0000","region":null}]},{"id":"b1f76055-51b0-4f64-b72c-808dec531ee9","directory":"stardash","title":"Stardash","compatibility":99,"releases":[{"id":"01002100137BA000","region":null}]},{"id":"b1f7681f-41ec-4dd0-adb4-fb9e676243fe","directory":"star-crossed-myth-the-department-of-punishments-","title":"Star-Crossed Myth - The Department of Punishments -","compatibility":4,"releases":[{"id":"01008AF00EA12000","region":null}]},{"id":"b2075ca3-8cf0-41a0-abf8-35dcf945b302","directory":"gunlord-x","title":"Gunlord X","compatibility":0,"releases":[{"id":"0100EC200BFF8000","region":null}]},{"id":"b20b601c-744f-4f40-a94a-bf6e3d0d61d3","directory":"12-labours-of-hercules-iii-girl-power","title":"12 Labours of Hercules III: Girl Power","compatibility":99,"releases":[{"id":"0100613013814000","region":null}]},{"id":"b22858dd-820b-4d8a-bb48-db617bedcacf","directory":"gallic-wars-battle-simulator","title":"Gallic Wars: Battle Simulator","compatibility":99,"releases":[{"id":"0100804014922000","region":null}]},{"id":"b22d8190-5535-4607-997b-1fda9119bd64","directory":"final-sword","title":"FINAL SWORD","compatibility":99,"releases":[{"id":"01001900112B2000","region":null}]},{"id":"b231018f-767d-495c-b110-ecd58fa1b855","directory":"atelier-rorona-~the-alchemist-of-arland~-dx","title":"Atelier Rorona ~The Alchemist of Arland~ DX","compatibility":2,"releases":[{"id":"010088600C66E000","region":null}]},{"id":"b23be6e9-2315-4ffe-ba3d-947d7c147c7f","directory":"magazine-mogul","title":"Magazine Mogul","compatibility":99,"releases":[{"id":"01004A200E722000","region":null}]},{"id":"b241cbc3-673b-474f-b00e-da2c963795f1","directory":"grandmaster-sudoku","title":"Grandmaster Sudoku","compatibility":99,"releases":[{"id":"0100A720148A0000","region":null}]},{"id":"b24ba3a8-dd3a-49dc-a529-26024828df96","directory":"assault-android-cactus","title":"Assault Android Cactus+","compatibility":1,"releases":[{"id":"0100DF200B24C000","region":null}]},{"id":"b24d429c-f96a-407b-a202-16502cd1844d","directory":"wanna-survive","title":"Wanna Survive","compatibility":99,"releases":[{"id":"0100D67013910000","region":null}]},{"id":"b253f00b-971c-485e-99e1-7d4b15578feb","directory":"white-night","title":"White Night","compatibility":99,"releases":[{"id":"0100D99009734000","region":null}]},{"id":"b25a049c-9973-40ca-9165-2bba6365e7f6","directory":"kickerinho-world","title":"Kickerinho World","compatibility":99,"releases":[{"id":"0100C52013C3C000","region":null}]},{"id":"b25e80f1-ba5a-434b-b76b-84b064da50d2","directory":"wrestling-empire","title":"Wrestling Empire","compatibility":3,"releases":[{"id":"0100F2B013CA4000","region":null}]},{"id":"b263fe4d-7731-4cfb-a50c-4de0edb457a7","directory":"a-pretty-odd-bunny","title":"A Pretty Odd Bunny","compatibility":3,"releases":[{"id":"010046D01431C000","region":null}]},{"id":"b26bbfd9-2633-44af-baea-5db2ffed8456","directory":"mini-metro","title":"Mini Metro","compatibility":0,"releases":[{"id":"0100091008272000","region":null}]},{"id":"b2743a7f-d575-43e0-944b-d1e21c074cb6","directory":"lamentum","title":"Lamentum","compatibility":1,"releases":[{"id":"0100EC901551C000","region":null}]},{"id":"b27677c7-53cb-4c4f-ab4c-3366b030c93a","directory":"checkers","title":"Checkers","compatibility":99,"releases":[{"id":"01001B80124E4000","region":null}]},{"id":"b276afd4-3719-411e-93dd-657b6a3d40f6","directory":"star-hunter-dx","title":"Star Hunter DX","compatibility":0,"releases":[{"id":"01009170152E8000","region":null}]},{"id":"b2791d63-12f8-4199-9529-aee1ffb56a27","directory":"the-messenger","title":"The Messenger","compatibility":0,"releases":[{"id":"0100DC300AC78000","region":null}]},{"id":"b279a9e6-16cc-4b29-8a3e-e78cc5a4e769","directory":"the-pinball-arcade","title":"The Pinball Arcade","compatibility":99,"releases":[{"id":"0100CD300880E000","region":null}]},{"id":"b27e9b5a-74fd-41ee-bde5-1d083a31f9bc","directory":"arcade-archives-usaaf-mustang","title":"Arcade Archives USAAF MUSTANG","compatibility":1,"releases":[{"id":"0100B3D0156D4000","region":null}]},{"id":"b28ffff3-a37f-40b8-ad70-dde28624ce61","directory":"digimon-story-cyber-sleuth-complete-edition","title":"Digimon Story Cyber Sleuth: Complete Edition","compatibility":4,"releases":[{"id":"010014E00DB56000","region":null}]},{"id":"b2a6a4c8-fbdf-466a-927c-c64197b327a7","directory":"operation-hardcore","title":"Operation Hardcore","compatibility":99,"releases":[{"id":"010039C00A45C000","region":null}]},{"id":"b2a6a820-4355-49fa-a0b9-4defd57e67b4","directory":"suguru-nature","title":"Suguru Nature","compatibility":99,"releases":[{"id":"0100BF9012AC6000","region":null}]},{"id":"b2ad7821-2f72-425e-8c3a-a847d5654d3e","directory":"my-brother-rabbit","title":"My Brother Rabbit","compatibility":99,"releases":[{"id":"01006BE00B3C8000","region":null}]},{"id":"b2b7592a-377b-4843-b3d6-6d93563c12e0","directory":"arcade-archives-magmax","title":"Arcade Archives MAGMAX","compatibility":99,"releases":[{"id":"0100F9400982A000","region":null}]},{"id":"b2b9551c-44d8-4c5e-a9cb-caacc3434d50","directory":"dull-grey","title":"Dull Grey","compatibility":99,"releases":[{"id":"010068D0141F2000","region":null}]},{"id":"b2c57706-c929-4350-836f-f00f72ed4d8d","directory":"biped","title":"Biped","compatibility":0,"releases":[{"id":"010053B0117F8000","region":null}]},{"id":"b2db226b-2df9-43c3-97b9-c6c2b4de000a","directory":"gerty","title":"Gerty","compatibility":99,"releases":[{"id":"010024C01242E000","region":null}]},{"id":"b2de3c5f-9c04-41ac-8428-89c192d3f9f0","directory":"bonds-of-the-skies","title":"Bonds of the Skies","compatibility":5,"releases":[{"id":"01009AA00D49E000","region":null}]},{"id":"b3009e2d-30fc-42cf-83f0-1b555c53ede0","directory":"pilot-sports","title":"Pilot Sports","compatibility":99,"releases":[{"id":"01007A500B0B2000","region":null}]},{"id":"b3015032-52aa-4252-9c82-578569e9be7c","directory":"hyperparasite","title":"HyperParasite","compatibility":3,"releases":[{"id":"010061400ED90000","region":null}]},{"id":"b30d3751-01cd-401b-bdbd-c733c3e0eb89","directory":"tangle-tower","title":"Tangle Tower","compatibility":0,"releases":[{"id":"0100F7600F3B8000","region":null}]},{"id":"b32305e0-988c-4559-a6d8-7786bdc443e7","directory":"shovel-knight-treasure-trove","title":"Shovel Knight: Treasure Trove","compatibility":1,"releases":[{"id":"010057D0021E8000","region":null}]},{"id":"b3271834-b1cb-4f82-9f5a-a0617d9dc9f1","directory":"guns-gore-and-cannoli","title":"Guns, Gore and Cannoli","compatibility":2,"releases":[{"id":"0100934003BCC000","region":null}]},{"id":"b3286e43-da5e-4d6d-b5e3-aff5df5e6840","directory":"milkchoco","title":"MilkChoco","compatibility":99,"releases":[{"id":"010056D00B0F4000","region":null}]},{"id":"b3313a5e-372d-44bf-8924-f1609c2d2b11","directory":"arcade-archives-vandyke","title":"Arcade Archives VANDYKE","compatibility":99,"releases":[{"id":"01004CE0156D0000","region":null}]},{"id":"b33c5a11-95fe-407b-ab33-68ddb3d87822","directory":"sea-of-solitude-the-directors-cut","title":"Sea of Solitude: The Director's Cut","compatibility":3,"releases":[{"id":"0100AFE012BA2000","region":null}]},{"id":"b33c929a-a435-4213-bbfa-d982a665b78e","directory":"do-not-feed-the-monkeys","title":"Do Not Feed the Monkeys","compatibility":99,"releases":[{"id":"0100FE400EBBC000","region":null}]},{"id":"b34410a2-5fe3-4c1c-a8ee-7cb4f1429985","directory":"farm-mechanic-simulator","title":"Farm Mechanic Simulator","compatibility":99,"releases":[{"id":"01005C70122E0000","region":null}]},{"id":"b348094a-f823-4079-96d0-4f56b8a2227f","directory":"transcripted","title":"Transcripted","compatibility":99,"releases":[{"id":"010009F004E66000","region":null}]},{"id":"b34cb5ca-8bd3-42d5-96e9-7a7348ba95f2","directory":"five-dates","title":"Five Dates","compatibility":99,"releases":[{"id":"0100C7E0134BE000","region":null}]},{"id":"b3554996-4575-4db0-b916-b5d0973e7fc2","directory":"red-faction-guerrilla-re-mars-tered","title":"Red Faction Guerrilla Re-Mars-tered","compatibility":99,"releases":[{"id":"010075000C608000","region":null}]},{"id":"b359f810-9a6c-4c3d-8248-d958971fe3be","directory":"sniper-time-the-shooting-range","title":"Sniper Time: The Shooting Range","compatibility":99,"releases":[{"id":"01009BD0144EE000","region":null}]},{"id":"b35b6543-2f69-45a5-ad60-1c62137b3395","directory":"tumbleseed","title":"TumbleSeed","compatibility":1,"releases":[{"id":"01004B1001D22000","region":null}]},{"id":"b3628a18-69a9-4663-82a7-afebc3140f13","directory":"battleground","title":"Battleground","compatibility":99,"releases":[{"id":"0100650010DD4000","region":null}]},{"id":"b36aa837-9e9e-446e-95e6-47cbbf97dd90","directory":"jump-rope-challenge","title":"Jump Rope Challenge","compatibility":0,"releases":[{"id":"0100B9C012706000","region":null}]},{"id":"b399dcf2-e309-4afb-b12f-f56d3799fa75","directory":"pony-world-3","title":"Pony World 3","compatibility":99,"releases":[{"id":"0100345014C54000","region":null}]},{"id":"b39ce5ce-4e40-4247-8106-ebf46debba9c","directory":"into-the-breach","title":"Into the Breach","compatibility":2,"releases":[{"id":"010057D00B612000","region":null}]},{"id":"b3a08da3-651f-4b62-8d26-7d895a550404","directory":"monopoly-for-nintendo-switch-demo","title":"Monopoly for Nintendo Switch - Demo","compatibility":99,"releases":[{"id":"010095B00AA38000","region":null}]},{"id":"b3a27c87-dfff-47f8-acc1-fb35bfbad9bf","directory":"timothy-vs-the-aliens","title":"Timothy vs the Aliens","compatibility":99,"releases":[{"id":"0100A01011898000","region":null}]},{"id":"b3a699c5-fa26-43ab-b81c-cdf5524b8647","directory":"anshi","title":"AnShi","compatibility":99,"releases":[{"id":"01000FD00DF78000","region":null}]},{"id":"b3b0ba42-011f-4627-afcc-9442a25ad5fb","directory":"skypeace","title":"SKYPEACE","compatibility":99,"releases":[{"id":"010021A00ABEE000","region":null}]},{"id":"b3b59b8e-0f79-4a3d-a065-54c2d4755acf","directory":"deaths-gambit-afterlife","title":"Death's Gambit: Afterlife","compatibility":99,"releases":[{"id":"01006A0015812000","region":null}]},{"id":"b3b8ee07-c058-459c-a1dc-0b289f9c7c59","directory":"danmaku-unlimited-3","title":"Danmaku Unlimited 3","compatibility":3,"releases":[{"id":"0100417007F78000","region":null}]},{"id":"b3c80064-aff8-411b-a3a4-677e48a3be4e","directory":"splatoon-2-special-demo","title":"Splatoonâ„¢ 2 Special Demo","compatibility":99,"releases":[{"id":"01006BB00D45A000","region":null}]},{"id":"b3d0a8dd-21e6-4705-b9a3-780dc2c1e7d5","directory":"riddled-corpses-ex-demo","title":"Riddled Corpses EX Demo","compatibility":99,"releases":[{"id":"010001F00D9B8000","region":null}]},{"id":"b3d4ba16-df5b-44a9-ab33-b457b9fb51c9","directory":"agatha-christie-hercule-poirot-the-first-cases","title":"Agatha Christie - Hercule Poirot: The First Cases","compatibility":0,"releases":[{"id":"010000F012936000","region":null}]},{"id":"b3d90bfc-9e1b-45ff-8e1c-9c14d3eacd86","directory":"explosionade-dx","title":"Explosionade DX","compatibility":99,"releases":[{"id":"0100410012112000","region":null}]},{"id":"b3dc80de-f6cd-48db-a808-1d2a9af2afe9","directory":"fight-of-animals","title":"Fight of Animals","compatibility":0,"releases":[{"id":"010047E010B3E000","region":null}]},{"id":"b3df7897-9374-4fe7-8b35-c241c1d1a919","directory":"stardew-valley","title":"Stardew Valley","compatibility":2,"releases":[{"id":"0100E65002BB8000","region":null}]},{"id":"b3f060ca-35a6-40a7-b46b-8732815dc2e4","directory":"shephy","title":"Shephy","compatibility":99,"releases":[{"id":"010040B003E5E000","region":null}]},{"id":"b3f35b63-c982-47ba-9f1a-b7fbe07e1080","directory":"darts-up","title":"Darts Up","compatibility":2,"releases":[{"id":"0100BA500B660000","region":null}]},{"id":"b403c0c8-a53a-42ca-aa08-3fcb3a93dc39","directory":"real-time-battle-shogi-online","title":"Real Time Battle Shogi Online","compatibility":99,"releases":[{"id":"0100C9D00F264000","region":null}]},{"id":"b404edae-df0b-4e96-96a3-14852783f2d0","directory":"aca-neogeo-3-count-bout","title":"ACA NEOGEO 3 COUNT BOUT","compatibility":99,"releases":[{"id":"0100FC000AFC6000","region":null}]},{"id":"b404f8e4-6d7c-453e-bb8f-2fcbadef7be6","directory":"black-hole-demo","title":"Black Hole Demo","compatibility":99,"releases":[{"id":"01004BE00A682000","region":null}]},{"id":"b41a963e-a148-4bb2-b1d5-29fb65c6e17c","directory":"rento-fortune","title":"Rento Fortune","compatibility":99,"releases":[{"id":"01008EE00B22C000","region":null}]},{"id":"b41f061c-054e-4fb0-b30c-d42c8e678aad","directory":"back-in-1995","title":"Back in 1995","compatibility":4,"releases":[{"id":"010044F00BB80000","region":null}]},{"id":"b420372b-07bb-4abd-b191-58b5705dcb22","directory":"futoshiki-math","title":"Futoshiki Math","compatibility":99,"releases":[{"id":"0100C1A012AE0000","region":null}]},{"id":"b421a38e-b933-40d9-9050-457662ba23dc","directory":"bendy-and-the-ink-machine","title":"Bendy and the Ink Machine","compatibility":0,"releases":[{"id":"010074500BBC4000","region":null}]},{"id":"b42a9d36-d62d-4955-8e0f-67133fa64b50","directory":"ponpu","title":"Ponpu","compatibility":4,"releases":[{"id":"010096B01179A000","region":null}]},{"id":"b42d6858-f00b-4e6c-a09d-7f47ee92eafb","directory":"cow-catcher","title":"Cow Catcher","compatibility":99,"releases":[{"id":"01003E00151AE000","region":null}]},{"id":"b43aaec5-997c-4dd3-940e-a499bfaa8745","directory":"secret-files-tunguska","title":"Secret Files: Tunguska","compatibility":99,"releases":[{"id":"01006C800C4A6000","region":null}]},{"id":"b4414d26-cf88-4eb0-b777-44abb68af4a1","directory":"colorful-colore","title":"Colorful Colore","compatibility":99,"releases":[{"id":"0100F6D013CDC000","region":null}]},{"id":"b4515ad0-d34f-4aa4-b0ed-add4235010da","directory":"bossgard","title":"BOSSGARD","compatibility":99,"releases":[{"id":"010076F00EBE4000","region":null}]},{"id":"b4537a76-07e7-4979-87b9-ee7b10cd16e6","directory":"shikaku-shapes","title":"Shikaku Shapes","compatibility":99,"releases":[{"id":"010007D012AD0000","region":null}]},{"id":"b4563cc7-8a56-4a98-90f2-aed36c2c6c55","directory":"red-crow-mysteries-legion","title":"Red Crow Mysteries: Legion","compatibility":99,"releases":[{"id":"01006CB0124D0000","region":null}]},{"id":"b460b798-8ad2-4f4e-80c0-b7aabdbb0aa6","directory":"my-time-at-portia","title":"My Time at Portia","compatibility":3,"releases":[{"id":"0100E25008E68000","region":null}]},{"id":"b476ae29-3ebd-4d0e-854c-6d14e79bae71","directory":"mercenaries-saga-chronicles","title":"Mercenaries Saga Chronicles","compatibility":0,"releases":[{"id":"0100273008FBC000","region":null}]},{"id":"b4975f11-fc3e-4959-80be-5a28cf724a65","directory":"10-second-run-returns","title":"10 Second Run RETURNS","compatibility":4,"releases":[{"id":"01004D1007926000","region":null}]},{"id":"b4980de7-fb38-43ff-b5ed-1437cbb8b454","directory":"super-hoops","title":"Super Hoops","compatibility":99,"releases":[{"id":"01004D6015950000","region":null}]},{"id":"b4a87f58-ba07-4f92-982d-7c7258781313","directory":"blaze-and-the-monster-machines-axle-city-racers","title":"Blaze and the Monster Machines: Axle City Racers","compatibility":1,"releases":[{"id":"010096601362C000","region":null}]},{"id":"b4ad0890-8ebe-48eb-abd8-8d366c1fa27e","directory":"sakura-succubus-3","title":"Sakura Succubus 3","compatibility":99,"releases":[{"id":"0100FC10150E0000","region":null}]},{"id":"b4b14abf-4d16-4a7d-b48c-7c8d9c8ba9bc","directory":"dynamite-fishing-world-games","title":"Dynamite Fishing - World Games","compatibility":1,"releases":[{"id":"01003A000976E000","region":null}]},{"id":"b4bac280-5cfc-48c8-8057-cba84dd6cf33","directory":"horned-knight","title":"Horned Knight","compatibility":99,"releases":[{"id":"01002FA014514000","region":null}]},{"id":"b4be1bcc-b817-4bb8-adbb-d3b69757ac50","directory":"dont-die-mr-robot","title":"Don't Die, Mr Robot!","compatibility":5,"releases":[{"id":"010007200AC0E000","region":null}]},{"id":"b4cbb269-c23b-4bd9-9f33-cf2c5f67f0c7","directory":"gorsd","title":"GORSD","compatibility":1,"releases":[{"id":"01000C7003FE8000","region":null}]},{"id":"b4d6a7c2-dc19-47d3-994b-44be15cd5632","directory":"eqqo","title":"EQQO","compatibility":99,"releases":[{"id":"0100E95010058000","region":null}]},{"id":"b4dfe906-8622-4e47-9383-1386cf7d8b78","directory":"legal-dungeon","title":"Legal Dungeon","compatibility":99,"releases":[{"id":"01000AA013BFE000","region":null}]},{"id":"b4eba8df-011c-4c69-8cfc-5a3caa1e2677","directory":"hover","title":"Hover","compatibility":99,"releases":[{"id":"0100F6800910A000","region":null}]},{"id":"b4ee7666-513a-49e9-98f5-59ab49abcc8b","directory":"skelly-selest","title":"Skelly Selest","compatibility":0,"releases":[{"id":"01006C000DC8A000","region":null}]},{"id":"b4f1950a-2e97-44ef-bb54-525d81d218bf","directory":"revenant-saga","title":"Revenant Saga","compatibility":3,"releases":[{"id":"0100AA2006510000","region":null}]},{"id":"b4f9cb20-3eba-463f-be12-0d0fa11864ad","directory":"the-coma-recut","title":"The Coma: Recut","compatibility":2,"releases":[{"id":"010033100691A000","region":null}]},{"id":"b4feb997-8f05-4751-b650-4cd09f373847","directory":"penny-punching-princess","title":"Penny-Punching Princess","compatibility":1,"releases":[{"id":"0100C510049E0000","region":null}]},{"id":"b503ed03-f3ca-4916-9786-43a43fdcd6ff","directory":"airheart-tales-of-broken-wings","title":"Airheart - Tales of broken Wings","compatibility":99,"releases":[{"id":"01003DD00BFEE000","region":null}]},{"id":"b50b0566-ba15-438b-a587-a6e6f52c67b0","directory":"sleep-tight","title":"Sleep Tight","compatibility":0,"releases":[{"id":"01004AC0081DC000","region":null}]},{"id":"b514e6e1-211f-4838-abcc-88fe2894af83","directory":"team-sonic-racing","title":"Team Sonic Racing","compatibility":3,"releases":[{"id":"010092B0091D0000","region":null}]},{"id":"b523946e-100e-43e1-a50d-1d67028d4cbb","directory":"ludomania","title":"Ludomania","compatibility":99,"releases":[{"id":"0100F0300B7BE000","region":null}]},{"id":"b52b7f79-efa0-4201-847a-868b5aa4641c","directory":"connectank","title":"ConnecTankâ„¢","compatibility":99,"releases":[{"id":"0100436013EF6000","region":null}]},{"id":"b5314c2a-b548-49db-9b68-672a99fb2301","directory":"rock-of-ages-2-bigger-and-boulder","title":"Rock of Ages 2: Bigger & Boulder","compatibility":99,"releases":[{"id":"010091D00BE38000","region":null}]},{"id":"b53e84ac-c1be-44d0-883f-adf007286d15","directory":"woodcutter","title":"Woodcutter","compatibility":99,"releases":[{"id":"0100363015476000","region":null}]},{"id":"b53e8bf3-fe90-4031-b983-a53cf6ad3f79","directory":"isolation-story","title":"Isolation Story","compatibility":99,"releases":[{"id":"0100924013162000","region":null}]},{"id":"b54730d4-1151-4f90-a145-ce23a29cff6f","directory":"deiland-pocket-planet-edition","title":"Deiland: Pocket Planet Edition","compatibility":1,"releases":[{"id":"0100D150131F8000","region":null}]},{"id":"b54dbcc4-166b-45b0-95cc-10c8871bfbb8","directory":"firework","title":"Firework","compatibility":99,"releases":[{"id":"0100BA9012B36000","region":null}]},{"id":"b561bf6e-a04b-4063-81d7-c7cca040fe21","directory":"project-nimbus-complete-edition","title":"Project Nimbus: Complete Edition","compatibility":99,"releases":[{"id":"0100ACE00DAB6000","region":null}]},{"id":"b5790399-6086-44a0-bee0-9688274ec347","directory":"risky-rescue","title":"Risky Rescue","compatibility":99,"releases":[{"id":"01005AF00CCA2000","region":null}]},{"id":"b5853cd7-1129-423b-b557-8f96bd9d7c6d","directory":"mario-tennis-aces","title":"Mario Tennis Aces","compatibility":0,"releases":[{"id":"0100BDE00862A000","region":null}]},{"id":"b5934943-0be9-4f1d-9ed3-b042ee333723","directory":"boss-rush-mythology","title":"Boss Rush: Mythology","compatibility":99,"releases":[{"id":"0100AB9013564000","region":null}]},{"id":"b5942bc8-1016-4f86-a4f8-ec78b72bf34a","directory":"lily-of-the-hollow-resurrection","title":"Lily of the Hollow - Resurrection","compatibility":99,"releases":[{"id":"01005D7013B0C000","region":null}]},{"id":"b599b00f-2ded-4ce2-bba5-993ff31c521f","directory":"dice-legacy","title":"Dice Legacy","compatibility":99,"releases":[{"id":"01002E4013EAE000","region":null}]},{"id":"b59d8820-b2be-4202-ad08-3a691f957bba","directory":"buried-stars","title":"Buried Stars","compatibility":1,"releases":[{"id":"010078C00DB40000","region":null}]},{"id":"b5a753ca-62e9-4753-b241-6baf7c08e013","directory":"portal-dogs","title":"Portal Dogs","compatibility":99,"releases":[{"id":"010050D00FE0C000","region":null}]},{"id":"b5b6e63b-26c5-462c-8b42-552fe9d3ed81","directory":"popeye","title":"Popeye","compatibility":99,"releases":[{"id":"010058E014EBC000","region":null}]},{"id":"b5b8c84a-2731-4f30-8bca-bd209b44d86f","directory":"blazing-beaks","title":"Blazing Beaks","compatibility":2,"releases":[{"id":"010021A00DE54000","region":null}]},{"id":"b5bba3a8-af6e-41e3-83f5-1da7356ace2d","directory":"willy-jetman-astromonkeys-revenge","title":"Willy Jetman: Astromonkey's Revenge","compatibility":99,"releases":[{"id":"010000100FB62000","region":null}]},{"id":"b5be1eba-b3cd-4757-9d4c-dd9fc28961c4","directory":"dreamgallery","title":"DreamGallery","compatibility":2,"releases":[{"id":"0100D560106E0000","region":null}]},{"id":"b5c14d52-8d94-4304-94a1-1f604bff1ad8","directory":"moorhuhn-knights-and-castles","title":"Moorhuhn Knights & Castles","compatibility":99,"releases":[{"id":"010030800841A000","region":null}]},{"id":"b5c439c3-d905-4557-adc0-41d59a3169c4","directory":"olivers-adventures-in-the-fairyland","title":"Oliver's Adventures in the Fairyland","compatibility":99,"releases":[{"id":"0100E4600F188000","region":null}]},{"id":"b5c766a0-0398-48c9-b71b-769cafa61796","directory":"selfy-collection-the-dream-fashion-stylist","title":"SELFY COLLECTION The dream fashion stylist!","compatibility":99,"releases":[{"id":"010044700FB46000","region":null}]},{"id":"b5cfd167-7173-497f-bead-97c725f37f79","directory":"the-pillar-puzzle-escape","title":"The Pillar: Puzzle Escape","compatibility":99,"releases":[{"id":"0100B80012C1E000","region":null}]},{"id":"b5d79071-7c47-4940-880c-923b143b5a2b","directory":"bringit-to-mom","title":"BringIt to MOM","compatibility":99,"releases":[{"id":"0100D590120D6000","region":null}]},{"id":"b5da712f-e00d-450c-b936-7d17451232cd","directory":"tetris-99","title":"Tetris 99","compatibility":3,"releases":[{"id":"010040600C5CE000","region":null}]},{"id":"b5da9b21-a541-4b06-980f-376097a4b8f6","directory":"super-crush-ko","title":"Super Crush KO","compatibility":0,"releases":[{"id":"010030900D9A6000","region":null}]},{"id":"b5db415b-c964-4001-849a-84c08b9a2d38","directory":"runestone-keeper","title":"Runestone Keeper","compatibility":99,"releases":[{"id":"010032200EC9C000","region":null}]},{"id":"b5ef9a24-501f-43a0-bc5e-743ddc4b6d19","directory":"earthworms","title":"Earthworms","compatibility":99,"releases":[{"id":"0100DCE00B756000","region":null}]},{"id":"b5fd69a3-8170-4409-922b-ef953c51f548","directory":"monochrome-world","title":"Monochrome World","compatibility":99,"releases":[{"id":"0100B5E0113F2000","region":null}]},{"id":"b6255665-baa9-4d74-8e28-f7a2f7c084a9","directory":"kine","title":"Kine","compatibility":99,"releases":[{"id":"010089000F0E8000","region":null}]},{"id":"b6429ba0-7a11-4c8f-b39b-0e9492fcd2f8","directory":"mancala-classic-board-game","title":"Mancala Classic Board Game","compatibility":99,"releases":[{"id":"0100598014310000","region":null}]},{"id":"b6447469-c5ba-482f-8e7a-821f63556564","directory":"kawaii-deathu-desu","title":"Kawaii Deathu Desu","compatibility":0,"releases":[{"id":"0100C5F00F446000","region":null}]},{"id":"b646d308-fdae-4713-8bf4-9ec187804ba9","directory":"profane","title":"Profane","compatibility":1,"releases":[{"id":"0100AB700FE02000","region":null}]},{"id":"b64826cf-c6c5-4cc1-a6a8-01058bf7bd32","directory":"super-hydorah","title":"Super Hydorah","compatibility":1,"releases":[{"id":"010099F00B374000","region":null}]},{"id":"b659f504-5e46-4d30-b8e5-47dbbe395398","directory":"maiden-spell","title":"Maiden & Spell","compatibility":99,"releases":[{"id":"01004FE014198000","region":null}]},{"id":"b66ed656-4a5f-4a71-b3c1-75431f3ea7d8","directory":"jolt-family-robot-racer","title":"Jolt Family Robot Racer","compatibility":99,"releases":[{"id":"01002A0009E18000","region":null}]},{"id":"b6706ffd-045f-4f78-bc92-32c7544702f1","directory":"wax-museum","title":"Wax Museum","compatibility":0,"releases":[{"id":"0100326016A6E000","region":null}]},{"id":"b67a76c7-30be-4cd9-9678-501cbbd17b91","directory":"sedomairi","title":"SEDOMAIRI","compatibility":99,"releases":[{"id":"01008CD01625C000","region":null}]},{"id":"b67b5945-c844-43b4-9022-284bf127c3b2","directory":"pico-park","title":"PICO PARK","compatibility":3,"releases":[{"id":"01004EA00DF70000","region":null}]},{"id":"b687f44d-e2f6-4e99-8928-26fe603997bc","directory":"office-lovers","title":"Office Lovers","compatibility":99,"releases":[{"id":"01003EA01290A000","region":null}]},{"id":"b68bfbc3-1398-41cf-a000-0018cbf0507c","directory":"bit-trip-core","title":"BIT.TRIP CORE","compatibility":99,"releases":[{"id":"0100016012D38000","region":null}]},{"id":"b691adb7-f4de-4595-b184-aa6761732863","directory":"tinboy","title":"Tinboy","compatibility":99,"releases":[{"id":"01001CA00C514000","region":null}]},{"id":"b69c41cc-06c8-452c-a6ea-dfb1d382bbc9","directory":"smashing-the-battle-ghost-soul","title":"SMASHING THE BATTLE GHOST SOUL","compatibility":0,"releases":[{"id":"010089B0155F8000","region":null}]},{"id":"b69d42c3-dd12-4478-ab11-575307e339a5","directory":"moon","title":"moon","compatibility":99,"releases":[{"id":"0100E1800EFCE000","region":null}]},{"id":"b6b3dd1e-110f-43d8-844c-ff016e5afadb","directory":"arcade-archives-tecmo-bowl","title":"Arcade Archives TECMO BOWL","compatibility":99,"releases":[{"id":"010064A00BE0E000","region":null}]},{"id":"b6bde324-8ea7-4fb8-b6bc-c07741c7f14b","directory":"good-job","title":"Good Job!â„¢","compatibility":1,"releases":[{"id":"0100B0500FE4E000","region":null}]},{"id":"b6bf4aa8-585e-4e61-b2ee-6c4391bd2b42","directory":"some-distant-memory","title":"Some Distant Memory","compatibility":99,"releases":[{"id":"01009EE00E91E000","region":null}]},{"id":"b6cb913f-8da3-40d3-89bb-aad693fc91d6","directory":"spheroids","title":"Spheroids","compatibility":99,"releases":[{"id":"0100FD200A45A000","region":null}]},{"id":"b6d8c48f-8052-4573-ada6-71ffbc56667e","directory":"kairobotica","title":"Kairobotica","compatibility":99,"releases":[{"id":"0100D5F00EC52000","region":null}]},{"id":"b6e18962-0d08-46d0-9794-985a2a111ec1","directory":"retimed","title":"Retimed","compatibility":99,"releases":[{"id":"010086E00BCB2000","region":null}]},{"id":"b6e2526d-5b77-456e-90d7-9b1713b3499d","directory":"runner3","title":"Runner3","compatibility":99,"releases":[{"id":"01004B4002B6A000","region":null}]},{"id":"b6e83323-6bcf-46b0-9004-90cc627d10d2","directory":"smash-boats","title":"Smash Boats","compatibility":0,"releases":[{"id":"0100CFD00F89C000","region":null}]},{"id":"b6f74d57-a408-466b-b0b0-2b7b3b41d9bd","directory":"mitsurugi-kamui-hikae","title":"Mitsurugi Kamui Hikae","compatibility":99,"releases":[{"id":"010045000BF6A000","region":null}]},{"id":"b6fc5329-2d93-4042-81c2-7759e138a147","directory":"our-flick-erasers","title":"Our Flick Erasers","compatibility":99,"releases":[{"id":"01006D900EE58000","region":null}]},{"id":"b70d3412-b0a7-4bb2-8d32-a33938b029b9","directory":"kirakira-stars-idol-project-nagisa","title":"Kirakira stars idol project Nagisa","compatibility":99,"releases":[{"id":"01002B101530A000","region":null}]},{"id":"b7184f44-4f08-40e4-b47e-cb4d3c19b225","directory":"claws-of-furry","title":"Claws of Furry","compatibility":99,"releases":[{"id":"0100AE9008744000","region":null}]},{"id":"b71bbf4e-2b14-439c-a9d6-6d14fccf03b4","directory":"gold-digger","title":"Gold Digger","compatibility":99,"releases":[{"id":"010076C014630000","region":null}]},{"id":"b72f35b9-1fb3-43bd-bd85-51ab89fb5e97","directory":"night-flight","title":"Night Flight","compatibility":99,"releases":[{"id":"010096C01515C000","region":null}]},{"id":"b742d05f-d69b-4465-9756-ffedc4d097cd","directory":"ganbare-super-strikers","title":"Ganbare! Super Strikers","compatibility":99,"releases":[{"id":"0100A6400F29A000","region":null}]},{"id":"b76342d2-be74-4706-abdc-9c62e89c63f5","directory":"bullet-beat","title":"Bullet Beat","compatibility":99,"releases":[{"id":"01007310128EC000","region":null}]},{"id":"b7a0fb53-eaa1-40a5-baa9-cb61c939ba99","directory":"knights-retreat","title":"Knight's Retreat","compatibility":99,"releases":[{"id":"0100554012A34000","region":null}]},{"id":"b7ad024f-ce9e-40c4-a119-461a46f5be8e","directory":"swords-and-soldiers-2-shawarmageddon","title":"Swords and Soldiers 2 Shawarmageddon","compatibility":99,"releases":[{"id":"010059D00BCAE000","region":null}]},{"id":"b7b097c3-70be-46f1-9ea1-8f3f5e7e072d","directory":"super-phantom-cat-remake","title":"Super Phantom Cat: Remake","compatibility":99,"releases":[{"id":"0100C9A00D124000","region":null}]},{"id":"b7b4ce92-f1ee-4a20-ade8-c4ce17e5efc6","directory":"what-the-fork","title":"What The Fork","compatibility":99,"releases":[{"id":"0100DB5012366000","region":null}]},{"id":"b7c0e917-984a-4a01-8a9a-ee748ce41a8f","directory":"sudoku-relax-3-autumn-leaves","title":"Sudoku Relax 3 Autumn Leaves","compatibility":99,"releases":[{"id":"0100D6100FF44000","region":null}]},{"id":"b7ca93cc-bf6e-40e7-9189-c555b373714e","directory":"hob-the-definitive-edition","title":"Hob: The Definitive Edition","compatibility":1,"releases":[{"id":"01004B100A5CC000","region":null}]},{"id":"b7d5789e-58df-46c7-9ad3-7bbf6d957d50","directory":"pga-tour-2k21","title":"PGA TOUR 2K21","compatibility":4,"releases":[{"id":"010053401147C000","region":null}]},{"id":"b7d65ee1-4da6-4013-a2ad-bbfbbe536928","directory":"hells-high-harmonizers","title":"Hell's High Harmonizers","compatibility":99,"releases":[{"id":"0100BD3010934000","region":null}]},{"id":"b7ddef9b-58e4-485b-9624-ea09112daa0e","directory":"lyrica2-stars-align","title":"Lyrica2 Stars Align","compatibility":99,"releases":[{"id":"0100A9C0134DE000","region":null}]},{"id":"b7e2a9b1-3bbc-4e4f-91fd-41a7abb02daf","directory":"arcade-archives-gradius-ii","title":"Arcade Archives GRADIUS II","compatibility":1,"releases":[{"id":"0100721012F9C000","region":null}]},{"id":"b7e319f4-1a81-486e-bacd-50a58c0436a5","directory":"beholder-complete-edition","title":"Beholder: Complete Edition","compatibility":0,"releases":[{"id":"0100D1300C1EA000","region":null}]},{"id":"b7e6f0ca-a590-42f5-b55e-42e3764d2b5f","directory":"black-rainbow","title":"Black Rainbow","compatibility":5,"releases":[{"id":"0100236011A42000","region":null}]},{"id":"b7e7a5bc-221b-47db-b706-d21058e8b166","directory":"legend-of-kay-anniversary","title":"Legend of Kay Anniversary","compatibility":2,"releases":[{"id":"01002DB007A96000","region":null}]},{"id":"b7eaecb5-5345-4795-b7a6-6c34b7db1ece","directory":"dead-dust","title":"Dead Dust","compatibility":99,"releases":[{"id":"010096C014BB2000","region":null}]},{"id":"b7ed176a-fc86-4f92-a254-e777afd236a5","directory":"lyrica","title":"Lyrica","compatibility":99,"releases":[{"id":"010008000C8F6000","region":null}]},{"id":"b7fe945c-0ddd-4dca-9e00-6395aaca8d4b","directory":"shoot-1up-dx","title":"Shoot 1UP DX","compatibility":99,"releases":[{"id":"0100CCE00DDB6000","region":null}]},{"id":"b7ff44ce-98f3-44e1-85df-e59e312fc336","directory":"uncanny-valley","title":"Uncanny Valley","compatibility":5,"releases":[{"id":"01002D900C5E4000","region":null}]},{"id":"b801f1ca-8fe3-4e00-805e-deef778dd836","directory":"sid-meiers-civilization-vi","title":"Sid Meier’s Civilization VI","compatibility":4,"releases":[{"id":"010044500C182000","region":null}]},{"id":"b80aeecf-2698-46aa-bfd9-bd0c7312acb6","directory":"creepy-brawlers","title":"Creepy Brawlers","compatibility":99,"releases":[{"id":"0100BBB00F6B2000","region":null}]},{"id":"b81c803c-c23f-4643-9c14-7af5ff6dfccd","directory":"monobot","title":"MONOBOT","compatibility":99,"releases":[{"id":"01005E201530E000","region":null}]},{"id":"b81d4f6a-2928-45d9-b38e-b4e6d9807365","directory":"tyd-wag-vir-niemand","title":"Tyd wag vir Niemand","compatibility":99,"releases":[{"id":"010073A00C4B2000","region":null}]},{"id":"b83d1d0f-25b3-40f5-97ca-fbfac34cb1b4","directory":"fairune-collection","title":"Fairune Collection","compatibility":1,"releases":[{"id":"01008A6009758000","region":null}]},{"id":"b83d7b95-b7b5-4d31-963a-8f43e094454b","directory":"just-dance-r-2021","title":"Just Dance® 2021","compatibility":1,"releases":[{"id":"0100BF9011B52000","region":null}]},{"id":"b845461e-05a9-41e1-9688-f62e904d93a2","directory":"3d-air-hockey","title":"3D Air Hockey","compatibility":0,"releases":[{"id":"01000220158C4000","region":null}]},{"id":"b849b91c-5cf6-4486-a0cd-095cebb2c2d7","directory":"plantera-deluxe","title":"Plantera Deluxe","compatibility":99,"releases":[{"id":"010087000428E000","region":null}]},{"id":"b84a0fc4-2dd5-4205-bd44-3a4bd24de9ef","directory":"deep-ones","title":"Deep Ones","compatibility":4,"releases":[{"id":"0100FAF009562000","region":null}]},{"id":"b857f78e-840b-4e8e-9a66-f0087f61efcd","directory":"arcade-archives-solomons-key","title":"Arcade Archives Solomon's Key","compatibility":4,"releases":[{"id":"01008C900982E000","region":null}]},{"id":"b8751e50-79e7-4358-946c-28b8295badf7","directory":"cattch","title":"CATTCH","compatibility":0,"releases":[{"id":"01009F0013A42000","region":null}]},{"id":"b8780a7b-2cd9-4660-be2b-92852c7ac1fe","directory":"the-darkside-detective","title":"The Darkside Detective","compatibility":99,"releases":[{"id":"01003DE00918E000","region":null}]},{"id":"b8922bbf-98b2-4e1e-b039-d83d1e000cf5","directory":"kasiori","title":"KASIORI","compatibility":99,"releases":[{"id":"0100E75014D7A000","region":null}]},{"id":"b89aa8ad-0523-42a7-8fc3-81b672476a10","directory":"killallzombies","title":"#KILLALLZOMBIES","compatibility":1,"releases":[{"id":"01004D100C510000","region":null}]},{"id":"b8b18081-37be-41bb-8f45-f087800ab8d0","directory":"alders-blood","title":"Alder's Blood","compatibility":99,"releases":[{"id":"0100D740110C0000","region":null}]},{"id":"b8b7550a-9217-4549-a3c7-952170fdc716","directory":"mighty-gunvolt-burst","title":"MIGHTY GUNVOLT BURST","compatibility":1,"releases":[{"id":"01000E2003FA0000","region":null}]},{"id":"b8bd5ff4-11b4-4fda-815e-6c057728947b","directory":"toree-3d","title":"Toree 3D","compatibility":99,"releases":[{"id":"0100E9701479E000","region":null}]},{"id":"b8c73bb7-3350-4bbb-9866-2ea5c1bfbe0a","directory":"minigolf-tour","title":"MiniGolf Tour","compatibility":1,"releases":[{"id":"01000D50149D8000","region":null}]},{"id":"b8ce149d-10f9-4c2f-b3cd-00fe69efb9c5","directory":"animated-jigsaws-japanese-women","title":"Animated Jigsaws: Japanese Women","compatibility":99,"releases":[{"id":"01002BB00C01E000","region":null}]},{"id":"b8d47a61-a0bd-49dc-aa4d-65925e921522","directory":"the-battle-of-mahjong","title":"The Battle Of Mahjong","compatibility":99,"releases":[{"id":"0100AC300BBE4000","region":null}]},{"id":"b8ea2916-3da3-4b2c-ab2c-ef4bc88f5b9b","directory":"skullgirls-2nd-encore","title":"Skullgirls 2nd Encore","compatibility":4,"releases":[{"id":"010046B00DE62000","region":null}]},{"id":"b8ed8ec0-c821-4372-aed9-449816fe2a87","directory":"wonder-boy-returns-remix","title":"WONDER BOY RETURNS REMIX","compatibility":0,"releases":[{"id":"010069B00D9FE000","region":null}]},{"id":"b8f826d8-f0ae-4182-907d-43fa46bf52b5","directory":"help-will-come-tomorrow","title":"Help Will Come Tomorrow","compatibility":1,"releases":[{"id":"0100F130115EC000","region":null}]},{"id":"b8fcb021-fd22-4186-a2c8-d95f04dfacb2","directory":"flatland-vol-1","title":"FLATLAND Vol.1","compatibility":4,"releases":[{"id":"0100DBF011922000","region":null}]},{"id":"b9069018-c2c9-47c5-a75d-7f22373903fa","directory":"iron-snout","title":"Iron Snout","compatibility":99,"releases":[{"id":"010010200D09A000","region":null}]},{"id":"b90b1520-0a6a-4728-8f22-504b0a42076a","directory":"cathedral","title":"Cathedral","compatibility":3,"releases":[{"id":"0100BEB01327A000","region":null}]},{"id":"b90fe7c7-7f77-4715-ad7e-77899f6bf531","directory":"uglydolls-an-imperfect-adventure","title":"UglyDolls: An Imperfect Adventure","compatibility":99,"releases":[{"id":"010079000B56C000","region":null}]},{"id":"b9235fb9-411e-4815-87de-500b9a4e7fbc","directory":"breakpoint","title":"Breakpoint","compatibility":0,"releases":[{"id":"01009380114E0000","region":null}]},{"id":"b929966a-3f59-4d39-89df-1ac1e9417580","directory":"so-many-me-extended-edition","title":"So Many Me: Extended Edition","compatibility":99,"releases":[{"id":"010062C00F558000","region":null}]},{"id":"b92d59a1-7854-4fa6-945b-cb771fd45ad7","directory":"sector-781","title":"Sector 781","compatibility":99,"releases":[{"id":"0100245013EA4000","region":null}]},{"id":"b92ec1de-32bf-4352-acbe-8a9acdc87333","directory":"songs-for-a-hero-definitive-edition","title":"Songs for a Hero: Definitive Edition","compatibility":1,"releases":[{"id":"0100802012890000","region":null}]},{"id":"b938e2cf-44c9-41b1-b6bd-138c52ee2084","directory":"arcade-archives-frogger","title":"Arcade Archives FROGGER","compatibility":99,"releases":[{"id":"010047100F978000","region":null}]},{"id":"b9392b68-8999-4bdb-bdcf-f1f852c53bb2","directory":"can-androids-pray-blue","title":"CAN ANDROIDS PRAY:BLUE","compatibility":99,"releases":[{"id":"010049101124C000","region":null}]},{"id":"b9602f9a-f256-4a65-ad2a-5ec3213857c5","directory":"dragodino","title":"DragoDino","compatibility":99,"releases":[{"id":"0100566009238000","region":null}]},{"id":"b97b6d76-1861-4791-a51f-26389cacd62e","directory":"mad-carnage","title":"Mad Carnage","compatibility":0,"releases":[{"id":"010024A009428000","region":null}]},{"id":"b99ec87a-e651-4a55-abe7-72d9daf06142","directory":"physical-contact-picture-place","title":"Physical Contact: Picture Place","compatibility":99,"releases":[{"id":"0100AAD004358000","region":null}]},{"id":"b9ac2c92-eb07-42fe-b808-acdd261b751f","directory":"shantae","title":"Shantae","compatibility":4,"releases":[{"id":"0100430013120000","region":null}]},{"id":"b9b64e10-d7aa-4fae-967e-0e0c47745740","directory":"fault-milestone-one","title":"fault - milestone one","compatibility":99,"releases":[{"id":"0100F6200B7D4000","region":null}]},{"id":"b9ba13a9-1e29-457c-b91c-9391393d74ad","directory":"not-not-a-brain-buster","title":"Not Not - A Brain Buster","compatibility":0,"releases":[{"id":"01004D500D9BE000","region":null}]},{"id":"b9bb5eb9-8e43-4540-bdde-14bb746cc75a","directory":"strike-ten-pin-bowling","title":"Strike! Ten Pin Bowling","compatibility":99,"releases":[{"id":"0100B080104BC000","region":null}]},{"id":"b9bc639d-d898-46fb-ac32-bb080ff018c8","directory":"aca-neogeo-kizuna-encounter","title":"ACA NEOGEO KIZUNA ENCOUNTER","compatibility":5,"releases":[{"id":"0100A2200AFE2000","region":null}]},{"id":"b9c4e264-1496-4e12-92b7-bd4f7c3261b1","directory":"just-black-jack","title":"Just Black Jack","compatibility":99,"releases":[{"id":"0100EB700EF74000","region":null}]},{"id":"b9c76a04-8bdc-4166-a704-6d735637186e","directory":"necroworm","title":"NecroWorm","compatibility":99,"releases":[{"id":"0100A35011406000","region":null}]},{"id":"b9db9e46-8640-43f6-b5cf-5af5c6f66836","directory":"burnstar","title":"Burnstar","compatibility":99,"releases":[{"id":"010044D00A770000","region":null}]},{"id":"b9e534c9-8c1d-4159-ab4d-c3215de14bb3","directory":"x-morph-defense-demo","title":"X-Morph: Defense Demo","compatibility":99,"releases":[{"id":"01009CD00C786000","region":null}]},{"id":"b9f2a296-202a-4a63-bf77-500bf0bb1c21","directory":"snake-pass","title":"Snake Pass","compatibility":4,"releases":[{"id":"0100C0F0020E8000","region":null}]},{"id":"b9fbe397-b09c-4762-b7ae-6916937d56d4","directory":"wolfenstein-ii-the-new-colossus","title":"Wolfenstein II: The New Colossus","compatibility":4,"releases":[{"id":"01009040091E0000","region":null}]},{"id":"ba052f69-01d8-4440-8634-ead31bff005a","directory":"neon-caves","title":"Neon Caves","compatibility":5,"releases":[{"id":"010042800CDCE000","region":null}]},{"id":"ba079915-c131-4f30-9917-5737d0cbce02","directory":"neverwinter-nights-enhanced-edition","title":"Neverwinter Nights: Enhanced Edition","compatibility":5,"releases":[{"id":"010013700DA4A000","region":null}]},{"id":"ba1130b1-76d1-4e08-98e1-25dee9589092","directory":"find-the-balance","title":"Find The Balance","compatibility":99,"releases":[{"id":"0100F3700C09C000","region":null}]},{"id":"ba115c6d-fb16-4c0e-84a1-a0c3bce0427b","directory":"johnny-bonasera-full-season","title":"Johnny Bonasera Full Season","compatibility":99,"releases":[{"id":"01002B40135DE000","region":null}]},{"id":"ba301124-3fb5-415d-9186-ca9b35915e09","directory":"resident-evil-5","title":"Resident Evil 5","compatibility":0,"releases":[{"id":"010018100CD46000","region":null}]},{"id":"ba32dd42-4403-4a57-b22f-25ea6da62774","directory":"royal-roads","title":"Royal Roads","compatibility":99,"releases":[{"id":"0100AFE00DDAC000","region":null}]},{"id":"ba4413eb-a812-4edf-99e0-b57bb700afd4","directory":"songbringer","title":"Songbringer","compatibility":99,"releases":[{"id":"010031D00A604000","region":null}]},{"id":"ba457358-13b4-416f-8bfb-b17693d19648","directory":"wargroove","title":"Wargroove","compatibility":3,"releases":[{"id":"01000F0002BB6000","region":null}]},{"id":"ba5ac11b-1225-4c62-8dba-b1e2296f3995","directory":"mini-car-racing","title":"Mini Car Racing","compatibility":1,"releases":[{"id":"0100D5E0141F6000","region":null}]},{"id":"ba662b43-9826-4233-923a-dff303414616","directory":"creepy-road","title":"Creepy Road","compatibility":99,"releases":[{"id":"0100C3300C68C000","region":null}]},{"id":"ba81603d-e11b-4eb7-af2d-2b71ada5fe11","directory":"mini-island-challenge-bundle","title":"Mini Island Challenge Bundle","compatibility":99,"releases":[{"id":"010050C0124CE000","region":null}]},{"id":"ba94bbd9-5bd4-4af6-82be-37c7e9eb5e4c","directory":"sam-max-beyond-time-and-space","title":"Sam & Max: Beyond Time and Space","compatibility":1,"releases":[{"id":"0100855015500000","region":null}]},{"id":"baa36077-d44d-47f4-aa3f-0325ddd8afdf","directory":"surfingers","title":"Surfingers","compatibility":99,"releases":[{"id":"0100CEB00CD6C000","region":null}]},{"id":"baa9082b-7ba3-4a30-b374-bdaf0ff9d61c","directory":"river-city-melee-mach","title":"River City Melee Mach!!","compatibility":2,"releases":[{"id":"0100B2100767C000","region":null}]},{"id":"bacb224d-5576-454b-87a7-0193b24ab470","directory":"go-minimal","title":"Go Minimal","compatibility":99,"releases":[{"id":"01004FF016F46000","region":null}]},{"id":"bad1c522-b30d-4eaa-a36a-6c1eaf7e61ff","directory":"cris-tales","title":"Cris Tales","compatibility":99,"releases":[{"id":"0100B0400EBC4000","region":null}]},{"id":"bad747ec-10b9-47fe-8de8-d19418ca26f8","directory":"ruvato-original-complex","title":"Ruvato : Original Complex","compatibility":99,"releases":[{"id":"01007690147D8000","region":null}]},{"id":"badc2b66-c2b1-4a83-9643-0d48e7da7eff","directory":"butcher","title":"BUTCHER","compatibility":1,"releases":[{"id":"0100177005C8A000","region":null}]},{"id":"baef6de7-f1b5-4560-86e6-306a4a8250e1","directory":"stranded-deep","title":"Stranded Deep","compatibility":99,"releases":[{"id":"01004F4014C62000","region":null}]},{"id":"baf8f23a-b4ab-4d93-ad81-eaf326cdd6a3","directory":"out-there-the-alliance-demo","title":"Out There: Ω The Alliance - Demo","compatibility":99,"releases":[{"id":"010048F00CC7C000","region":null}]},{"id":"baf9910a-2197-40e7-abf9-7506a1f9fd12","directory":"pet-care","title":"Pet Care","compatibility":99,"releases":[{"id":"010082A00D80A000","region":null}]},{"id":"bafd496c-f0ea-411d-8196-b54b6839fbb7","directory":"the-princess-guide","title":"The Princess Guide","compatibility":1,"releases":[{"id":"0100E6A00B960000","region":null}]},{"id":"bb0752b7-7ce4-4800-93c2-a4707eac9c61","directory":"animal-doctor","title":"Animal Doctor","compatibility":99,"releases":[{"id":"01008A7013010000","region":null}]},{"id":"bb0a9806-93cc-4842-ad9a-b3a3adef5dc5","directory":"asphalt-9-legends","title":"Asphalt 9: Legends","compatibility":5,"releases":[{"id":"01007B000C834000","region":null}]},{"id":"bb18e33c-fdd1-4d31-842f-458a665c8c14","directory":"coffee-crisis","title":"Coffee Crisis","compatibility":99,"releases":[{"id":"0100CF800C810000","region":null}]},{"id":"bb23ec6d-ebe8-487c-b41a-e9d64e1e468f","directory":"storm-tale","title":"Storm Tale","compatibility":0,"releases":[{"id":"0100362014538000","region":null}]},{"id":"bb340bee-00e0-4b59-8a98-2fc11b7b5d0e","directory":"chess-ace","title":"Chess Ace","compatibility":99,"releases":[{"id":"01003F9010D6C000","region":null}]},{"id":"bb358599-e0b9-4126-a115-2fe4ba4faeab","directory":"oceanhorn-2-knights-of-the-lost-realm","title":"Oceanhorn 2: Knights of the Lost Realm","compatibility":1,"releases":[{"id":"01006CB010840000","region":null}]},{"id":"bb5b2608-316d-4ddf-b3a4-c75035529bff","directory":"arcade-archives-sky-kid","title":"Arcade Archives SKY KID","compatibility":99,"releases":[{"id":"0100192015D24000","region":null}]},{"id":"bb609a49-61e0-401b-bd56-dff24a1049b7","directory":"incredible-mandy","title":"Incredible Mandy","compatibility":2,"releases":[{"id":"010087C00E31C000","region":null}]},{"id":"bb73f4ac-4027-40c7-a478-4ec896df42c0","directory":"radiation-city","title":"Radiation City","compatibility":99,"releases":[{"id":"0100DA400E07E000","region":null}]},{"id":"bb75d647-8cd9-447f-ac33-c701235d4c09","directory":"super-arcade-racing","title":"Super Arcade Racing","compatibility":99,"releases":[{"id":"0100738012566000","region":null}]},{"id":"bb7c85a1-1b6f-4d52-8b10-1b9ddc71fe96","directory":"namco-museum","title":"NAMCO MUSEUM","compatibility":1,"releases":[{"id":"010002F001220000","region":null}]},{"id":"bb7d1f51-c834-4ae4-8572-d0c416ec02b0","directory":"empire-of-sin","title":"Empire of Sin","compatibility":99,"releases":[{"id":"010058600E530000","region":null}]},{"id":"bb842f18-38ca-4df0-b2e8-68d8c708bede","directory":"arcade-archives-renegade","title":"Arcade Archives Renegade","compatibility":99,"releases":[{"id":"010081E001DD2000","region":null}]},{"id":"bb895a51-bea5-4d93-9e02-0bf993e19424","directory":"wrestledunk-sports","title":"Wrestledunk Sports","compatibility":0,"releases":[{"id":"0100DBC013496000","region":null}]},{"id":"bb90c300-90a9-4896-ac48-29623c01a899","directory":"alchemist-adventure","title":"Alchemist Adventure","compatibility":99,"releases":[{"id":"0100946014634000","region":null}]},{"id":"bb92dd05-639e-45b9-816a-3cda2f8e527c","directory":"shut-eye","title":"Shut Eye","compatibility":99,"releases":[{"id":"0100A7900B936000","region":null}]},{"id":"bb9cb019-b7e6-4e0e-b4ab-aaa46fc7cd27","directory":"arcade-archives-arabian","title":"Arcade Archives ARABIAN","compatibility":99,"releases":[{"id":"0100CDD013178000","region":null}]},{"id":"bbafeae9-326e-4e4d-80fe-2115b4af468e","directory":"pocoyo-party","title":"Pocoyo Party","compatibility":1,"releases":[{"id":"01003FE0129FC000","region":null}]},{"id":"bbb0b698-a7d0-46af-87c7-33e6f2e32922","directory":"ultimate-fishing-simulator","title":"Ultimate Fishing Simulator","compatibility":99,"releases":[{"id":"010048901295C000","region":null}]},{"id":"bbb728cf-3acd-4fd9-957c-f0c8107d6444","directory":"talk-it-out-handheld-game","title":"Talk it Out: Handheld Game","compatibility":99,"releases":[{"id":"010088100EE4E000","region":null}]},{"id":"bbbbca40-d520-45e4-baa8-3b997b7e2946","directory":"forgotten-hill-disillusion","title":"Forgotten Hill Disillusion","compatibility":99,"releases":[{"id":"0100D590162D0000","region":null}]},{"id":"bbc70e27-5f3b-462e-82c8-87dfa7cf8642","directory":"crosscode","title":"CrossCode","compatibility":1,"releases":[{"id":"01003D90058FC000","region":null}]},{"id":"bbcbb9ae-bf5c-4158-9f06-124324deef0c","directory":"crashlands","title":"Crashlands","compatibility":2,"releases":[{"id":"010027100BD16000","region":null}]},{"id":"bbcd2fa9-4408-402b-b08a-71c7c91ff7bb","directory":"wanderlust-travel-stories","title":"Wanderlust Travel Stories","compatibility":1,"releases":[{"id":"0100B27010436000","region":null}]},{"id":"bbedb311-3544-4ab0-9251-9256912e31cc","directory":"alchemist-simulator","title":"Alchemist Simulator","compatibility":1,"releases":[{"id":"01001BB014512000","region":null}]},{"id":"bbfb52c1-ebc7-48f1-a751-e8d67ae72f7d","directory":"clockwork-aquario","title":"Clockwork Aquario","compatibility":0,"releases":[{"id":"01003AC0140DC000","region":null}]},{"id":"bc0472d2-b0bb-416f-9ee2-1136190661ee","directory":"goetia","title":"Goetia","compatibility":99,"releases":[{"id":"0100D82009024000","region":null}]},{"id":"bc0dc834-ba73-46ab-bae5-c5a4ab1d5196","directory":"last-4-alive-escape-from-zombies","title":"Last 4 Alive: Escape From Zombies","compatibility":99,"releases":[{"id":"0100C6101591A000","region":null}]},{"id":"bc1e2b11-81a2-4dcb-8c02-9fa91218d0e8","directory":"bubsy-paws-on-fire","title":"Bubsy: Paws on Fire!","compatibility":2,"releases":[{"id":"0100DBE00C554000","region":null}]},{"id":"bc1f1bae-65d6-4cd1-936e-71794cb1c0c6","directory":"arcade-archives-rushn-attack","title":"Arcade Archives Rush'n Attack","compatibility":99,"releases":[{"id":"0100341013852000","region":null}]},{"id":"bc38dd99-f9b9-403f-be0f-9a923d7eabed","directory":"packet-queen","title":"Packet Queen #","compatibility":99,"releases":[{"id":"0100B90008E1E000","region":null}]},{"id":"bc3a6e5f-cac9-4fd0-95de-4d35f6a94910","directory":"layers-of-fear-legacy","title":"Layers of Fear: Legacy","compatibility":0,"releases":[{"id":"0100BF5006A7C000","region":null}]},{"id":"bc3fedf6-400c-440f-ab2d-b00b20e47595","directory":"omg-police-car-chase-tv-simulator","title":"OMG Police - Car Chase TV Simulator","compatibility":99,"releases":[{"id":"0100896011282000","region":null}]},{"id":"bc445a39-66bb-41d7-8c92-713c0a01999d","directory":"tower-climb","title":"Tower Climb","compatibility":0,"releases":[{"id":"01004A300F91E000","region":null}]},{"id":"bc572811-385a-455e-9e07-257d90e73019","directory":"thoth","title":"THOTH","compatibility":99,"releases":[{"id":"0100AC500EEE8000","region":null}]},{"id":"bc57c9df-31bd-47ca-ba49-ff2de1cd1646","directory":"paperbound-brawlers","title":"Paperbound Brawlers","compatibility":99,"releases":[{"id":"01006AD00B82C000","region":null}]},{"id":"bc59108d-abc4-49da-8911-e4a9755c4919","directory":"heroland","title":"Heroland","compatibility":3,"releases":[{"id":"0100C2700E338000","region":null}]},{"id":"bc6d6449-14a6-4ad9-a0a2-91fe606a4ce6","directory":"kingmaker-rise-to-the-throne","title":"Kingmaker: Rise to the Throne","compatibility":99,"releases":[{"id":"0100A1B00C8CC000","region":null}]},{"id":"bc6db81c-61df-4bfb-83eb-cfc3898cfb41","directory":"rogue-aces","title":"Rogue Aces","compatibility":99,"releases":[{"id":"0100EC7009348000","region":null}]},{"id":"bc71443d-9b7c-43ea-bcba-6c2760b5f558","directory":"60-seconds-reatomized","title":"60 Seconds! Reatomized","compatibility":99,"releases":[{"id":"010070100F782000","region":null}]},{"id":"bc752eb9-3952-4dba-9208-a0bdf740de56","directory":"half-past-fate","title":"Half Past Fate","compatibility":1,"releases":[{"id":"0100D4D00F8F2000","region":null}]},{"id":"bc7a8592-e430-4db1-915d-becbdc03b1fb","directory":"antiquia-lost","title":"Antiquia Lost","compatibility":1,"releases":[{"id":"0100016007154000","region":null}]},{"id":"bc89df5d-6567-416b-bde2-6411305b4e9e","directory":"asdivine-kamura","title":"Asdivine Kamura","compatibility":1,"releases":[{"id":"0100C8E00F50A000","region":null}]},{"id":"bc8edc41-547f-4922-b901-6d02f5ba68a3","directory":"red-death","title":"Red Death","compatibility":99,"releases":[{"id":"0100069010592000","region":null}]},{"id":"bc95800f-f431-4ae8-8642-05368fdfac65","directory":"arcade-archives-pinball","title":"Arcade Archives Pinball","compatibility":4,"releases":[{"id":"010049500E354000","region":null}]},{"id":"bc9cf8b2-5356-4085-9f2c-2e6b434b73cc","directory":"solitaire-klondike-black","title":"Solitaire Klondike BLACK","compatibility":99,"releases":[{"id":"01007D600D242000","region":null}]},{"id":"bca2a97a-422d-4085-9814-a315c4be88ea","directory":"890b","title":"890B","compatibility":99,"releases":[{"id":"0100182013F2C000","region":null}]},{"id":"bca345a0-dea6-4ee5-9b53-7936350b5c33","directory":"lovekami-useless-goddess","title":"Lovekami -Useless Goddess-","compatibility":99,"releases":[{"id":"0100336014F4E000","region":null}]},{"id":"bca34e18-fe26-4e71-b5f2-ce4eb4c7af01","directory":"dark-burial","title":"Dark Burial","compatibility":99,"releases":[{"id":"0100896011A60000","region":null}]},{"id":"bcaf2feb-05cc-411f-bd1f-c42de1ecd771","directory":"sega-ages-sonic-the-hedgehog-2","title":"SEGA AGES Sonic The Hedgehog 2","compatibility":1,"releases":[{"id":"01000D200C614000","region":null}]},{"id":"bcb1dbe3-e84b-424c-91dd-b634f260f06d","directory":"implosion-demo","title":"IMPLOSION Demo","compatibility":99,"releases":[{"id":"01005BE008674000","region":null}]},{"id":"bcb94ff9-c296-475f-a88c-1340021599a1","directory":"taiko-no-tatsujin-rhythmic-adventure-2","title":"Taiko no Tatsujin: Rhythmic Adventure 2","compatibility":99,"releases":[{"id":"01001580133F2000","region":null}]},{"id":"bcc84f0e-a0d7-430d-902a-ee6eaaaf0ca9","directory":"supermash","title":"SuperMash","compatibility":1,"releases":[{"id":"01001F900B78C000","region":null}]},{"id":"bcca1f26-a6a1-462e-a02c-35332fa9628b","directory":"gothic-murder-adventure-that-changes-destiny","title":"Gothic Murder: Adventure That Changes Destiny","compatibility":0,"releases":[{"id":"01001010121DE000","region":null}]},{"id":"bcde1a05-acb8-446f-a0bc-a49e09553928","directory":"colormotif-deluxe","title":"Color.Motif Deluxe","compatibility":99,"releases":[{"id":"01002EB010146000","region":null}]},{"id":"bcdeb86e-7886-499a-912d-3481b7247e3c","directory":"aperion-cyberstorm","title":"Aperion Cyberstorm","compatibility":99,"releases":[{"id":"010051C003A08000","region":null}]},{"id":"bcdf95fc-2309-49d9-9375-d8c75ff8a7ca","directory":"momonga-pinball-adventures","title":"Momonga Pinball Adventures","compatibility":99,"releases":[{"id":"01002CC00BC4C000","region":null}]},{"id":"bcf940bd-e24c-4137-aa84-f94272408977","directory":"space-grunts","title":"Space Grunts","compatibility":99,"releases":[{"id":"0100AE701287E000","region":null}]},{"id":"bd04868c-d7d6-455f-9a21-6cade59fec00","directory":"season-match-2","title":"Season Match 2","compatibility":99,"releases":[{"id":"0100F6B00BDCC000","region":null}]},{"id":"bd0b1913-1089-4b37-8c09-6abdef04115b","directory":"noreload-heroes-enhanced-edition","title":"NoReload Heroes Enhanced Edition","compatibility":99,"releases":[{"id":"010052E011A62000","region":null}]},{"id":"bd0ccf9f-e734-4c08-b776-a2d1aa322099","directory":"pure-mahjong","title":"Pure Mahjong","compatibility":99,"releases":[{"id":"0100F2700D3F0000","region":null}]},{"id":"bd0f7790-0970-4001-bfed-6c55b95c0ee6","directory":"aca-neogeo-garou-mark-of-the-wolves","title":"ACA NEOGEO GAROU: MARK OF THE WOLVES","compatibility":1,"releases":[{"id":"0100CB2001DB8000","region":null}]},{"id":"bd30905d-aa19-4755-ac3f-0643ebdb24f4","directory":"the-language-of-love","title":"The Language Of Love","compatibility":1,"releases":[{"id":"01007AF012E16000","region":null}]},{"id":"bd46a34a-cfda-4fc0-ab32-b75641216162","directory":"adventure-time-pirates-of-the-enchiridion","title":"Adventure Time: Pirates of the Enchiridion","compatibility":0,"releases":[{"id":"0100C4E004406000","region":null}]},{"id":"bd482142-3353-4f0b-8461-52bd27915995","directory":"mariozza-cops","title":"MARIOZZA COPS","compatibility":99,"releases":[{"id":"01008D301446C000","region":null}]},{"id":"bd48d52d-29d5-4dd5-8399-3a2b72a4c851","directory":"battle-princess-madelyn","title":"Battle Princess Madelyn","compatibility":2,"releases":[{"id":"0100C4D0093EA000","region":null}]},{"id":"bd552acf-a877-4757-8a97-982f1d277aff","directory":"freakout-calamity-tv-show","title":"Freakout: Calamity TV Show","compatibility":2,"releases":[{"id":"01003AB010692000","region":null}]},{"id":"bd64d28c-09be-4e52-a1e9-fd0bbe1a542e","directory":"seeds-of-resilience","title":"Seeds of Resilience","compatibility":99,"releases":[{"id":"01000580117EA000","region":null}]},{"id":"bd701a48-bf54-40c1-83b0-717877d63ebc","directory":"the-shapeshifting-detective","title":"The Shapeshifting Detective","compatibility":99,"releases":[{"id":"01001FF00BEE8000","region":null}]},{"id":"bd711d49-4486-4841-99c1-83c66dabaa95","directory":"the-journey-down-trilogy","title":"The Journey Down Trilogy","compatibility":99,"releases":[{"id":"01008EF00C900000","region":null}]},{"id":"bd8e79cb-772b-48d6-9990-e0c9610815fc","directory":"everspace-stellar-edition","title":"Everspace - Stellar Edition","compatibility":4,"releases":[{"id":"0100DCF0093EC000","region":null}]},{"id":"bd910017-ef57-4bb3-9b9b-4b0a8d8f268a","directory":"flowlines-vs","title":"Flowlines VS","compatibility":99,"releases":[{"id":"0100F5D00CD58000","region":null}]},{"id":"bd957ff8-721f-4cae-b4a6-7f596fe860c8","directory":"wind-peaks","title":"Wind Peaks","compatibility":99,"releases":[{"id":"0100E9101405A000","region":null}]},{"id":"bd9d9836-2726-4bcb-bf3e-1883d7cac2e6","directory":"dream-alone","title":"Dream Alone","compatibility":4,"releases":[{"id":"01000AA0093DC000","region":null}]},{"id":"bd9fa3e1-c1e2-460b-a3c9-c3025fe809eb","directory":"clone-drone-in-the-danger-zone","title":"Clone Drone in the Danger Zone","compatibility":99,"releases":[{"id":"0100AA201236E000","region":null}]},{"id":"bda95244-e87c-494c-91ca-08d5c3d7e868","directory":"ord","title":"Ord.","compatibility":99,"releases":[{"id":"0100F9A012892000","region":null}]},{"id":"bdaec8f9-6eeb-40b7-99e2-38a7f8f9a0db","directory":"retromania-wrestling","title":"RetroMania Wrestling","compatibility":99,"releases":[{"id":"0100BB700EF82000","region":null}]},{"id":"bdb22b07-dc5c-4bc8-9393-cae9b235ea56","directory":"a-long-way-down","title":"A Long Way Down","compatibility":99,"releases":[{"id":"01006A90144E4000","region":null}]},{"id":"bdc24cea-abbf-46cc-b8dd-4a34cdd64a75","directory":"mercenaries-rebirth-call-of-the-wild-lynx","title":"Mercenaries Rebirth: Call of the Wild Lynx","compatibility":0,"releases":[{"id":"010031E01627E000","region":null}]},{"id":"bdc47bd3-f7f6-44d7-ae6c-bff64b00da60","directory":"tumblestone","title":"Tumblestone","compatibility":99,"releases":[{"id":"0100AFE00452E000","region":null}]},{"id":"bdc5b1bb-1431-41b4-bcf1-4f9bb4867c73","directory":"the-legend-of-evil","title":"The Legend of Evil","compatibility":99,"releases":[{"id":"01001F600B3EE000","region":null}]},{"id":"bdcad92f-ec8a-4a30-af73-e23561326eb3","directory":"space-aliens-invaders","title":"Space Aliens Invaders","compatibility":99,"releases":[{"id":"0100C6D013D9A000","region":null}]},{"id":"bdda475d-eee5-473e-b435-243267ca1738","directory":"pix-jungle-adventures","title":"Pix Jungle Adventures","compatibility":99,"releases":[{"id":"01001AB015446000","region":null}]},{"id":"bdeaba17-0e46-4c1f-8d30-8dd8f2c78b30","directory":"spelunker-party","title":"Spelunker Party!","compatibility":1,"releases":[{"id":"010021F004270000","region":null}]},{"id":"bdf0aa16-7763-44c7-8859-e7eb27577bfc","directory":"aloof","title":"Aloof","compatibility":99,"releases":[{"id":"01007BA0164D8000","region":null}]},{"id":"bdf68a35-8e60-42d5-a8de-da264499a61f","directory":"drowning","title":"Drowning","compatibility":1,"releases":[{"id":"010052000A574000","region":null}]},{"id":"bdf68b93-6600-40b8-a9fc-e5445c9366b0","directory":"sky-races","title":"Sky Races","compatibility":99,"releases":[{"id":"01005970169DE000","region":null}]},{"id":"bdf6e565-af36-4e05-899e-9f673b1be37c","directory":"dungeon-rushers","title":"Dungeon Rushers","compatibility":3,"releases":[{"id":"01002CB006AFA000","region":null}]},{"id":"bdfba0b6-545f-4cbd-9586-54b321822664","directory":"dat-gaem","title":"Dat Gaem","compatibility":99,"releases":[{"id":"0100883013C02000","region":null}]},{"id":"bdff17a3-cb4d-4d83-a953-09e2d147154d","directory":"phantom-doctrine","title":"Phantom Doctrine","compatibility":4,"releases":[{"id":"010096F00E5B0000","region":null}]},{"id":"be18f044-e833-41bd-9aa0-3731a1ce4ae2","directory":"arrog","title":"Arrog","compatibility":99,"releases":[{"id":"01007AB012102000","region":null}]},{"id":"be1ed3d2-00cd-4fdc-986b-0097c09636e2","directory":"trouserheart","title":"Trouserheart","compatibility":2,"releases":[{"id":"01001EF00BF3A000","region":null}]},{"id":"be24d957-c470-4a23-9c22-142688f5299e","directory":"brain-breaker","title":"Brain Breaker","compatibility":99,"releases":[{"id":"0100B83013242000","region":null}]},{"id":"be34f229-3c49-4d90-bab1-4d0c1e08962b","directory":"side-b","title":"Side B","compatibility":99,"releases":[{"id":"0100B04013F8C000","region":null}]},{"id":"be3a94ec-7b85-496e-9f27-d46474adee5c","directory":"gunpig-firepower-for-hire","title":"GUNPIG: Firepower For Hire","compatibility":99,"releases":[{"id":"0100E8701358A000","region":null}]},{"id":"be3f126d-dad3-465a-ac42-70041eb7874f","directory":"animal-hunter-z","title":"Animal Hunter Z","compatibility":99,"releases":[{"id":"010035500CA0E000","region":null}]},{"id":"be422054-b12c-4c03-8655-8e0286ad67ad","directory":"reigns-game-of-thrones","title":"Reigns: Game of Thrones","compatibility":99,"releases":[{"id":"010028B00CBD0000","region":null}]},{"id":"be446eea-ebb8-4283-8e1b-29d33ead19af","directory":"fight-crab","title":"Fight Crab","compatibility":4,"releases":[{"id":"01006980127F0000","region":null}]},{"id":"be4d8354-f7dd-4e4e-9809-4ce51bc98b4e","directory":"burly-men-at-sea","title":"Burly Men at Sea","compatibility":99,"releases":[{"id":"01002BD00983E000","region":null}]},{"id":"be522056-4ff6-4eaa-8d3b-347222157487","directory":"ultra-space-battle-brawl-demo","title":"Ultra Space Battle Brawl Demo","compatibility":99,"releases":[{"id":"010066F009524000","region":null}]},{"id":"be68e6e1-4b6f-417f-b36f-20ee075ea814","directory":"lost-ember","title":"Lost Ember","compatibility":99,"releases":[{"id":"0100E3400F242000","region":null}]},{"id":"be6ffb10-882a-4a43-a569-bd406209d37d","directory":"rain-world","title":"Rain World","compatibility":3,"releases":[{"id":"010047600BF72000","region":null}]},{"id":"be7c5440-9f65-4a6f-8289-4945dc2ff0c0","directory":"backworlds","title":"Backworlds","compatibility":99,"releases":[{"id":"0100FEA014316000","region":null}]},{"id":"be7d55da-9be1-436f-8b72-a01449b7d348","directory":"hidden","title":"Hidden","compatibility":99,"releases":[{"id":"01004E800F03C000","region":null}]},{"id":"be865ad2-b4be-4b8c-aedf-736e877fc7c8","directory":"lego-dc-super-villains","title":"LEGO DC Super-Villains","compatibility":3,"releases":[{"id":"010070D009FEC000","region":null}]},{"id":"be893133-bb66-4eb1-954d-a377bd56434e","directory":"carnage-battle-arena","title":"Carnage: Battle Arena","compatibility":1,"releases":[{"id":"0100D7E011272000","region":null}]},{"id":"be89fc9c-b60c-4b84-8b00-b54650e8b15a","directory":"deadly-premonition-2-a-blessing-in-disguise","title":"Deadly Premonition 2: A Blessing In Disguise","compatibility":1,"releases":[{"id":"0100BAC011928000","region":null}]},{"id":"be8cfe83-12ae-49ff-ae1d-48bd0f74eb1a","directory":"wrc-9-the-official-game","title":"WRC 9 The Official Game","compatibility":5,"releases":[{"id":"01001A0011798000","region":null}]},{"id":"be9b1ccf-a03a-4bbe-ba9a-cdeece050439","directory":"death-and-taxes","title":"Death and Taxes","compatibility":99,"releases":[{"id":"01000D60126B6000","region":null}]},{"id":"be9cb8ef-7e93-4849-84b7-87c2d3a073f8","directory":"sky-force-anniversary","title":"Sky Force Anniversary","compatibility":1,"releases":[{"id":"010083100B5CA000","region":null}]},{"id":"beb02fa4-e8a9-4d80-8bdf-2e6152e1de67","directory":"bodyquest","title":"BodyQuest","compatibility":99,"releases":[{"id":"0100DDF01348C000","region":null}]},{"id":"bec1e795-5843-44f8-a112-856e10c3809a","directory":"whip-whip","title":"WHIP! WHIP!","compatibility":99,"releases":[{"id":"0100B5600A88C000","region":null}]},{"id":"bec7e351-6122-4041-9663-b4e4a0449f39","directory":"omensight-definitive-edition","title":"Omensight: Definitive Edition","compatibility":99,"releases":[{"id":"0100CDC00C40A000","region":null}]},{"id":"bec9fc8b-bb3a-4ed2-93d4-8f098cc47d94","directory":"bloodroots","title":"Bloodroots","compatibility":2,"releases":[{"id":"010091400D238000","region":null}]},{"id":"becb66af-dcf6-4abd-86de-0638bb2e5af9","directory":"aokana-four-rhythms-across-the-blue","title":"Aokana - Four Rhythms Across the Blue","compatibility":1,"releases":[{"id":"0100990011866000","region":null}]},{"id":"bed17a56-819b-4e48-8c61-f171facda73d","directory":"european-conqueror-x","title":"European Conqueror X","compatibility":99,"releases":[{"id":"010041700D3D4000","region":null}]},{"id":"bedb25d8-61de-4bb1-a175-6e1050d97560","directory":"arcade-archives-earth-defense-force","title":"Arcade Archives EARTH DEFENSE FORCE","compatibility":0,"releases":[{"id":"01005960123CE000","region":null}]},{"id":"beebf475-e2bd-457a-8bf8-ae021144fc0d","directory":"rayman-legends-definitive-edition","title":"Rayman Legends Definitive Edition","compatibility":0,"releases":[{"id":"01005FF002E2A000","region":null}]},{"id":"bf029d5c-3bfd-4226-9196-6967a392c87b","directory":"undeads-building","title":"Undead's Building","compatibility":99,"releases":[{"id":"0100C1200D60C000","region":null}]},{"id":"bf0d1293-2373-4eb6-b7d6-1feadf77ebf6","directory":"street-power-soccer","title":"Street Power Soccer","compatibility":99,"releases":[{"id":"0100888011CB2000","region":null}]},{"id":"bf130fba-2697-436a-ab22-b25f6b96838b","directory":"grim-legends-2-song-of-the-dark-swan","title":"Grim Legends 2: Song of the Dark Swan","compatibility":99,"releases":[{"id":"010078E012D80000","region":null}]},{"id":"bf276fba-8270-4522-8ed7-f3e20bfc3030","directory":"johnny-turbos-arcade-heavy-barrel","title":"Johnny Turbo's Arcade: Heavy Barrel","compatibility":99,"releases":[{"id":"0100C6D002CB8000","region":null}]},{"id":"bf2d5509-7a1e-4181-9457-ed51c62c30f9","directory":"fantasy-tavern-sextet-vol-1-new-world-days","title":"Fantasy Tavern Sextet -Vol.1 New World Days-","compatibility":4,"releases":[{"id":"01000E2012F6E000","region":null}]},{"id":"bf315a0e-5035-437b-b80c-d0a74dd4fa1d","directory":"eternum-ex","title":"Eternum Ex","compatibility":99,"releases":[{"id":"0100CB900B498000","region":null}]},{"id":"bf379c4e-1bbe-4fd2-a367-715acd0bd925","directory":"racedierun","title":"#RaceDieRun","compatibility":99,"releases":[{"id":"01005D400E5C8000","region":null}]},{"id":"bf3f0e9c-22d6-4c8a-ab1a-10c0cdd8ebeb","directory":"ghostanoid","title":"Ghostanoid","compatibility":99,"releases":[{"id":"01008BC012850000","region":null}]},{"id":"bf440cd9-8bbc-4524-a72c-d63959977f10","directory":"fly-the-bird","title":"Fly The Bird","compatibility":0,"releases":[{"id":"0100217014ABA000","region":null}]},{"id":"bf4c85b0-583e-47ec-8090-97f932c36bd2","directory":"boot-hill-heroes","title":"Boot Hill Heroes","compatibility":1,"releases":[{"id":"0100FED0137FE000","region":null}]},{"id":"bf5e5258-d24b-4bc1-b7d2-d64b5fb9051c","directory":"kids-farm-puzzle","title":"Kids: Farm Puzzle","compatibility":99,"releases":[{"id":"0100E220152A6000","region":null}]},{"id":"bf5f80f7-f607-4abd-b525-bbcca3fd8d1f","directory":"spellworm","title":"Spellworm","compatibility":99,"releases":[{"id":"0100BFC00F18A000","region":null}]},{"id":"bf6bec15-e867-4c9d-8f18-0cacfb97aa89","directory":"revolver-and-co","title":"Revolver and Co","compatibility":99,"releases":[{"id":"0100C15014CE4000","region":null}]},{"id":"bf75a99d-1a79-4ef9-a524-a877aaf83419","directory":"aca-neogeo-the-king-of-fighters-96","title":"ACA NEOGEO THE KING OF FIGHTERS '96","compatibility":99,"releases":[{"id":"01006F0004FB4000","region":null}]},{"id":"bf7f586d-88d3-49c0-9c10-f835029095df","directory":"along-the-edge","title":"Along the Edge","compatibility":99,"releases":[{"id":"010083E010AE8000","region":null}]},{"id":"bf800bef-506f-4ca6-9cdb-99a6a7a3f84c","directory":"disc-jam","title":"Disc Jam","compatibility":5,"releases":[{"id":"0100510004D2C000","region":null}]},{"id":"bfa1e88e-159a-4774-b037-61f4c6ca1e54","directory":"arcade-archives-the-genji-and-the-heike-clans","title":"Arcade Archives The Genji and the Heike Clans","compatibility":99,"releases":[{"id":"01006F7015AC0000","region":null}]},{"id":"bfa3aceb-4639-4785-b132-d821a19731e6","directory":"fez","title":"FEZ","compatibility":2,"releases":[{"id":"01008D900B984000","region":null}]},{"id":"bfa9e099-eb2c-427b-b04b-8332ee99653d","directory":"arcade-archives-hacha-mecha-fighter","title":"Arcade Archives HACHA MECHA FIGHTER","compatibility":99,"releases":[{"id":"010068B014CC2000","region":null}]},{"id":"bfbc453a-85ae-4374-8ec5-bf54b92c209b","directory":"castlestorm","title":"CastleStorm","compatibility":1,"releases":[{"id":"010097C00AB66000","region":null}]},{"id":"bfc891a7-2f24-4884-a91c-096b6145e925","directory":"gurgamoth","title":"Gurgamoth","compatibility":99,"releases":[{"id":"01000D700EAA0000","region":null}]},{"id":"bfce2639-0082-4f8b-b117-7ab4de0fa00a","directory":"distraint-collection","title":"DISTRAINT Collection","compatibility":99,"releases":[{"id":"0100967013B48000","region":null}]},{"id":"bfcf51ec-0a93-4f6c-a6a3-505036b1fddc","directory":"monstrum","title":"Monstrum","compatibility":99,"releases":[{"id":"010039F00EF70000","region":null}]},{"id":"bfcfe27b-e0d7-4fbd-b330-a6e2d99f5aaf","directory":"galak-z-the-void-deluxe-edition","title":"GALAK-Z: The Void: Deluxe Edition","compatibility":1,"releases":[{"id":"010091D00BF9E000","region":null}]},{"id":"bfdd15bb-e0d4-4ec4-9a8c-3b58776d7b9d","directory":"membrane","title":"MEMBRANE","compatibility":1,"releases":[{"id":"0100EA6004516000","region":null}]},{"id":"bff16442-12e9-4ed1-9d06-4650b4f156a8","directory":"pocket-soccer","title":"Pocket Soccer","compatibility":99,"releases":[{"id":"0100542016718000","region":null}]},{"id":"c00175e5-d947-423e-a42a-1dfa517fbb15","directory":"aca-neogeo-top-hunter-roddy-and-cathy","title":"ACA NEOGEO TOP HUNTER RODDY & CATHY","compatibility":99,"releases":[{"id":"0100A0D004FB0000","region":null}]},{"id":"c0284a5f-9224-4342-8cca-9cff78acc3ba","directory":"ace-of-seafood","title":"Ace of Seafood","compatibility":2,"releases":[{"id":"0100FF1004D56000","region":null}]},{"id":"c02b621d-8f83-42b7-8113-dee905633757","directory":"skellboy","title":"Skellboy","compatibility":2,"releases":[{"id":"01008CA00CF34000","region":null}]},{"id":"c0303345-6aae-4c99-9fd3-051fe1d25ede","directory":"silver-screen-story","title":"Silver Screen Story","compatibility":99,"releases":[{"id":"010026F00E45E000","region":null}]},{"id":"c039f7ef-a21d-4d29-9213-6f133874ef2f","directory":"sea-salt","title":"Sea Salt","compatibility":99,"releases":[{"id":"010033300EC86000","region":null}]},{"id":"c05ad24f-1542-4a30-8bda-cdde4b6f6071","directory":"metagal","title":"METAGAL","compatibility":1,"releases":[{"id":"01009A500D4A8000","region":null}]},{"id":"c06df851-c6a6-4886-8d27-cdbbda560dd7","directory":"samurai-aces-for-nintendo-switch","title":"Samurai Aces for Nintendo Switch","compatibility":1,"releases":[{"id":"0100ADF0096F2000","region":null}]},{"id":"c08112f0-3bda-4ee5-b600-e83aab61c630","directory":"five-nights-at-freddys","title":"Five Nights at Freddy's","compatibility":3,"releases":[{"id":"0100B6200D8D2000","region":null}]},{"id":"c0869f63-1dcc-4c32-96e0-f76e9a2dc3b4","directory":"skyforge","title":"Skyforge","compatibility":99,"releases":[{"id":"01008C80122BE000","region":null}]},{"id":"c08ae4ff-ae96-453d-88b1-238c80995d77","directory":"true-fear-forsaken-souls-part-1","title":"True Fear: Forsaken Souls - Part 1","compatibility":3,"releases":[{"id":"0100E75004766000","region":null}]},{"id":"c08c8a63-97fc-4b81-b974-e3d202d11860","directory":"theatre-tales","title":"Theatre Tales","compatibility":99,"releases":[{"id":"010030D00D960000","region":null}]},{"id":"c09af7eb-e873-446a-bc55-d3c0b927ee21","directory":"block-puzzle","title":"Block Puzzle","compatibility":99,"releases":[{"id":"0100010016026000","region":null}]},{"id":"c09dd195-37f4-4e2d-86e0-98611be69b4c","directory":"the-game-is-on","title":"The Game is ON","compatibility":99,"releases":[{"id":"010077A013C6C000","region":null}]},{"id":"c09e8211-efdd-4a13-96ee-2440583bcb69","directory":"sky-ride","title":"Sky Ride","compatibility":99,"releases":[{"id":"0100DDB004F30000","region":null}]},{"id":"c0a18fb7-8f49-4976-8dbd-ed1b23544487","directory":"monster-hunter-stories-2-wings-of-ruin","title":"Monster Hunter Stories 2: Wings of Ruin","compatibility":1,"releases":[{"id":"0100E21011446000","region":null}]},{"id":"c0a87427-5ec1-4985-ae08-92fa5df2c478","directory":"gravity-heroes","title":"Gravity Heroes","compatibility":99,"releases":[{"id":"01000AF013090000","region":null}]},{"id":"c0ab9b3c-e988-4d57-89e0-f09e8ee0936e","directory":"robothorium","title":"Robothorium","compatibility":99,"releases":[{"id":"0100ACF00CD2E000","region":null}]},{"id":"c0b50739-5f4a-4755-a379-ae1d1d3ba4ab","directory":"filament","title":"Filament","compatibility":99,"releases":[{"id":"0100E4401139C000","region":null}]},{"id":"c0b8c173-9235-4a5d-9360-27c2f4998346","directory":"dark-fantasy-jigsaw-puzzle","title":"Dark Fantasy: Jigsaw Puzzle","compatibility":99,"releases":[{"id":"01005D301432E000","region":null}]},{"id":"c0c5f3e2-dddd-4f4d-96c5-5cbc68dd6f79","directory":"the-dresden-files-cooperative-card-game","title":"The Dresden Files Cooperative Card Game","compatibility":99,"releases":[{"id":"0100AAE0100C4000","region":null}]},{"id":"c0e22db2-a082-4fd0-9c19-e06ba3b30ae7","directory":"legends-of-amberland-the-forgotten-crown","title":"Legends of Amberland: The Forgotten Crown","compatibility":99,"releases":[{"id":"01007170100AA000","region":null}]},{"id":"c0e86db1-a77e-4525-b8d7-aeed553e4b68","directory":"merchant-of-the-skies","title":"Merchant of the Skies","compatibility":1,"releases":[{"id":"01001B201264E000","region":null}]},{"id":"c0f2f75d-3044-499f-a8d8-3cc2065f9d6b","directory":"invasion-of-alien-x-earth-in-crisis","title":"Invasion of Alien X - Earth in Crisis","compatibility":99,"releases":[{"id":"01008BD00F072000","region":null}]},{"id":"c1163f8a-e285-4436-8719-0067070e250b","directory":"nintendo-64-nintendo-switch-online","title":"Nintendo 64â„¢ – Nintendo Switch Online","compatibility":5,"releases":[{"id":"0100C9A00ECE6000","region":null}]},{"id":"c12afdd6-d390-468e-adaa-d7ebdfda78e1","directory":"goatpunks","title":"GoatPunks","compatibility":99,"releases":[{"id":"01006C00081B4000","region":null}]},{"id":"c12c58c4-0ea2-4d13-9eb7-6cc7f7302cef","directory":"gabbuchi-demo","title":"Gabbuchi Demo","compatibility":99,"releases":[{"id":"010068000DE92000","region":null}]},{"id":"c12cac1a-9a60-496b-a492-17d0613bfa27","directory":"highrise-heroes-word-challenge","title":"Highrise Heroes: Word Challenge","compatibility":99,"releases":[{"id":"0100A750113FC000","region":null}]},{"id":"c139d308-a06e-4624-8640-e89360b9f995","directory":"skull-rogue","title":"Skull Rogue","compatibility":99,"releases":[{"id":"0100CF2011454000","region":null}]},{"id":"c13b80f4-16f5-4749-ae0e-be9f5996b0e0","directory":"switchy-road-delux","title":"Switchy Road DeluX","compatibility":99,"releases":[{"id":"0100DED012642000","region":null}]},{"id":"c141583a-cb94-4505-a471-d70aa02fd9bf","directory":"123-dots","title":"123 Dots","compatibility":99,"releases":[{"id":"0100A3D015232000","region":null}]},{"id":"c14887f7-f055-4eda-b714-8e6d4ceb5382","directory":"penguin-wars","title":"Penguin Wars","compatibility":99,"releases":[{"id":"0100B280067BE000","region":null}]},{"id":"c15ac8c4-c0eb-42ca-a916-b70584a4b71d","directory":"airborne-kingdom","title":"Airborne Kingdom","compatibility":99,"releases":[{"id":"010087E014832000","region":null}]},{"id":"c165f1b3-c3d8-4959-9ec3-12fe1e73ea17","directory":"steamworld-dig","title":"SteamWorld Dig","compatibility":1,"releases":[{"id":"01009320084A4000","region":null}]},{"id":"c1726596-8680-4a30-86f0-4514bbba3acc","directory":"the-jackbox-party-pack-3","title":"The Jackbox Party Pack 3","compatibility":99,"releases":[{"id":"0100CC80013D6000","region":null}]},{"id":"c17407fc-96b6-4f7c-96da-45e3e6e67450","directory":"hoplegs","title":"Hoplegs","compatibility":99,"releases":[{"id":"010055B01636A000","region":null}]},{"id":"c179c090-bb10-4f7d-ae89-2279e3977092","directory":"away-journey-to-the-unexpected","title":"Away: Journey To The Unexpected","compatibility":99,"releases":[{"id":"01002F1005F3C000","region":null}]},{"id":"c1922541-6002-4747-bfa4-76df9b108f7f","directory":"footgoal-tiki-taka","title":"FootGoal! Tiki Taka","compatibility":99,"releases":[{"id":"01005F2012740000","region":null}]},{"id":"c1a325a2-f7f0-401f-9d58-5cda953f6523","directory":"crunchtime","title":"CrunchTime","compatibility":99,"releases":[{"id":"010003100F1F4000","region":null}]},{"id":"c1a61298-056d-42af-be3b-fdeb2cbd8f70","directory":"metro-simulator","title":"Metro Simulator","compatibility":99,"releases":[{"id":"01009EC014CC8000","region":null}]},{"id":"c1c80c59-ae43-45ad-8393-1547c42c47e1","directory":"faircrofts-antiques-home-for-christmas-collectors-edition","title":"Faircroft's Antiques: Home for Christmas Collector's Edition","compatibility":99,"releases":[{"id":"01004C90146A0000","region":null}]},{"id":"c1c9c2a7-2190-4ef5-90b7-e9af78edef2d","directory":"smite","title":"SMITE","compatibility":5,"releases":[{"id":"01005A600C318000","region":null}]},{"id":"c1cc988d-db13-4fdc-b7ec-7f8174311d15","directory":"burgertime-party","title":"BurgerTime Party!","compatibility":0,"releases":[{"id":"01006BB00E8FA000","region":null}]},{"id":"c1d13f30-18b7-4d19-801f-ad69a07818ee","directory":"arcanoid-breakout","title":"Arcanoid Breakout","compatibility":99,"releases":[{"id":"0100E53013E1C000","region":null}]},{"id":"c1e6dd9e-f7d1-4042-be20-200350e65b86","directory":"rotund-takeoff","title":"Rotund Takeoff","compatibility":99,"releases":[{"id":"01009AF014774000","region":null}]},{"id":"c2063a9d-5ab7-42c1-9652-699952670b43","directory":"red-siren-space-defense","title":"Red Siren: Space Defense","compatibility":99,"releases":[{"id":"010045400D73E000","region":null}]},{"id":"c214d1c7-a716-4e50-9bf8-63bd40be2061","directory":"arcade-archives-the-astyanax","title":"Arcade Archives THE ASTYANAX","compatibility":5,"releases":[{"id":"0100A7B01450C000","region":null}]},{"id":"c220018e-a554-46ae-baeb-6d9a648a50f1","directory":"asdivine-cross","title":"Asdivine Cross","compatibility":99,"releases":[{"id":"010054F013AC6000","region":null}]},{"id":"c2223202-fe7a-4197-85fc-60908fdcc387","directory":"space-elite-force","title":"Space Elite Force","compatibility":99,"releases":[{"id":"0100707011722000","region":null}]},{"id":"c2368f90-ce07-470a-abcc-b05f8a4f5da2","directory":"the-last-show-of-mr-chardish","title":"The Last Show of Mr. Chardish","compatibility":99,"releases":[{"id":"010087E01445A000","region":null}]},{"id":"c24e1e0a-6dcb-411f-a6f6-52fe2d767d5e","directory":"world-to-the-west","title":"World to the West","compatibility":99,"releases":[{"id":"01000E30042F2000","region":null}]},{"id":"c25a8523-6719-46d4-bfec-ff27c90a8ff4","directory":"spartan-fist","title":"Spartan Fist","compatibility":99,"releases":[{"id":"010038400CD96000","region":null}]},{"id":"c2621418-bb8f-40ec-8496-3a576ef43134","directory":"sound-waves","title":"Sound waves","compatibility":99,"releases":[{"id":"0100FB401589A000","region":null}]},{"id":"c264dd1d-627a-4967-928f-8ad4a5d82330","directory":"gradiently","title":"Gradiently","compatibility":99,"releases":[{"id":"01001F3013F6C000","region":null}]},{"id":"c26f3551-4753-4659-a40d-7c58ff5f9996","directory":"league-of-the-shield","title":"League of the Shield","compatibility":99,"releases":[{"id":"010025E00FD40000","region":null}]},{"id":"c272db1d-0801-4d51-bf49-cd56fcb852bd","directory":"the-lord-of-the-rings-adventure-card-game","title":"The Lord of the Rings: Adventure Card Game","compatibility":99,"releases":[{"id":"010085A00C5E8000","region":null}]},{"id":"c27704e8-80fb-4c0c-9df6-d846bb5a18c5","directory":"mainlining","title":"Mainlining","compatibility":1,"releases":[{"id":"01001C100D80E000","region":null}]},{"id":"c2811c8a-09bd-414e-98e4-f5eeebedc5b2","directory":"1-crosswords","title":"#1 Crosswords","compatibility":99,"releases":[{"id":"010097E0141F0000","region":null}]},{"id":"c282f387-b68f-4447-803e-55b0a4bff44f","directory":"meganoid","title":"Meganoid","compatibility":99,"releases":[{"id":"010028101227A000","region":null}]},{"id":"c287ba5a-302b-4195-8172-9e6d00e99925","directory":"the-house-of-da-vinci-2","title":"The House of Da Vinci 2","compatibility":99,"releases":[{"id":"01005A80113D2000","region":null}]},{"id":"c29dd6a9-5918-453c-afab-fa9804fa7656","directory":"hexagon-defense","title":"Hexagon Defense","compatibility":99,"releases":[{"id":"0100F3C013AFC000","region":null}]},{"id":"c2b3d9ce-6ef6-46eb-a3cc-3e5ad0fdc901","directory":"torn-tales-rebound-edition","title":"Torn Tales: Rebound Edition","compatibility":99,"releases":[{"id":"0100BEB010F2A000","region":null}]},{"id":"c2b75519-ba7e-46d9-9346-bdeb605deea8","directory":"arcade-archives-shanghai-iii","title":"Arcade Archives Shanghai III","compatibility":99,"releases":[{"id":"01003A4001DD4000","region":null}]},{"id":"c2b7a43d-9e36-4f8a-8f77-2fda7deb88fb","directory":"vera-blanc-full-moon","title":"Vera Blanc: Full Moon","compatibility":99,"releases":[{"id":"0100C850134A0000","region":null}]},{"id":"c2bafb7c-6ff2-4dcd-bad3-79037eb67f6d","directory":"super-mutant-alien-assault","title":"Super Mutant Alien Assault","compatibility":99,"releases":[{"id":"01006D000D2A0000","region":null}]},{"id":"c2bc0a50-ccaa-4d46-8a54-8fdef7583b69","directory":"marsupilami-hoobadventure","title":"MARSUPILAMI - HOOBADVENTURE","compatibility":1,"releases":[{"id":"010074F014628000","region":null}]},{"id":"c2bc0ed6-17f3-427d-9b63-62af415b9bc3","directory":"gleamlight","title":"Gleamlight","compatibility":0,"releases":[{"id":"0100ED2010292000","region":null}]},{"id":"c2c61e98-ee22-471a-a60e-6a2a6f2398bb","directory":"bounty-battle","title":"Bounty Battle","compatibility":99,"releases":[{"id":"0100E1200DC1A000","region":null}]},{"id":"c2d471d0-6551-465b-bcce-1e1bc14a7560","directory":"super-bit-blaster-xl","title":"Super Bit Blaster XL","compatibility":99,"releases":[{"id":"010048800E7A2000","region":null}]},{"id":"c2d5b18e-ec1d-41d1-9434-58d6bab24064","directory":"space-lift-danger-panic","title":"Space Lift Danger Panic!","compatibility":99,"releases":[{"id":"01000EB00BE02000","region":null}]},{"id":"c2e2676b-be7a-44dd-839f-401d9ff3d70d","directory":"bibi-and-tina-at-the-horse-farm","title":"Bibi & Tina at the horse farm","compatibility":99,"releases":[{"id":"010062400E69C000","region":null}]},{"id":"c2f9fe5d-0510-48da-a09c-78ac7e339d25","directory":"a-frog-game","title":"A Frog Game","compatibility":99,"releases":[{"id":"01006CE0134E6000","region":null}]},{"id":"c30d1e8a-3069-4bd0-9d9c-01efdb1b77a6","directory":"princess-loot-pixel-again","title":"Princess.Loot.Pixel.Again","compatibility":99,"releases":[{"id":"0100174015E56000","region":null}]},{"id":"c3152d38-ea8b-4d7e-a44e-9fe0e302830b","directory":"spitlings","title":"Spitlings","compatibility":99,"releases":[{"id":"010042700E3FC000","region":null}]},{"id":"c3252cdb-40ac-40b6-9b5f-394431741ed3","directory":"the-shrouded-isle","title":"The Shrouded Isle","compatibility":0,"releases":[{"id":"01007EB00D208000","region":null}]},{"id":"c3364000-53f8-4913-bb41-406c264bbfb0","directory":"cthulhu-saves-christmas","title":"Cthulhu Saves Christmas","compatibility":99,"releases":[{"id":"01006FA012FE0000","region":null}]},{"id":"c3396483-563a-41f4-9602-ff15585f7b9c","directory":"orangeblood","title":"Orangeblood","compatibility":99,"releases":[{"id":"0100993012968000","region":null}]},{"id":"c347fd3b-f67c-47c7-a9b5-eb2b33388351","directory":"greak-memories-of-azur","title":"Greak: Memories of Azur","compatibility":2,"releases":[{"id":"010045E012ECE000","region":null}]},{"id":"c34ee6b5-4717-4e2b-a792-14729e58c283","directory":"drive","title":"#DRIVE","compatibility":1,"releases":[{"id":"01000F20122FA000","region":null}]},{"id":"c35bbe0e-aeef-496e-a310-a8c309359646","directory":"yono-and-the-celestial-elephants","title":"Yono and the Celestial Elephants","compatibility":0,"releases":[{"id":"0100BE50042F6000","region":null}]},{"id":"c3678009-3b14-4ba6-9192-a10266aacdd2","directory":"mousecraft","title":"MouseCraft","compatibility":0,"releases":[{"id":"01004E500DB3C000","region":null}]},{"id":"c36c19f4-e6ad-44f4-8ce7-4c95bf5023bf","directory":"ooops-2","title":"Ooops! 2","compatibility":99,"releases":[{"id":"0100ED7014430000","region":null}]},{"id":"c36fa79b-fd3a-40ef-9392-59d753e01d9e","directory":"cardaclysm-shards-of-the-four","title":"Cardaclysm: Shards of the Four","compatibility":1,"releases":[{"id":"01001FC0152F6000","region":null}]},{"id":"c3801588-34cb-4bd1-9b95-02b08a0da6b2","directory":"mega-man-zerozx-legacy-collection","title":"Mega Man Zero/ZX Legacy Collection","compatibility":2,"releases":[{"id":"010025C00D410000","region":null}]},{"id":"c3826880-f006-458b-97d7-940ee6e0f563","directory":"physical-contact-speed","title":"Physical Contact: SPEED","compatibility":99,"releases":[{"id":"01008110036FE000","region":null}]},{"id":"c382deaf-24cb-4198-9430-f78e1690ee1f","directory":"venture-towns","title":"Venture Towns","compatibility":99,"releases":[{"id":"0100F1500CC64000","region":null}]},{"id":"c3850780-8ea6-4c81-908c-6667e1d4936a","directory":"aca-neogeo-zupapa","title":"ACA NEOGEO ZUPAPA!","compatibility":4,"releases":[{"id":"01002E700AFC4000","region":null}]},{"id":"c389b8ef-5f34-400d-a02b-e609297e3f76","directory":"clan-n","title":"Clan N","compatibility":4,"releases":[{"id":"010065000D25C000","region":null}]},{"id":"c38c93c5-f0a7-42e7-857a-c5a646d908bc","directory":"solar-flux","title":"Solar Flux","compatibility":99,"releases":[{"id":"0100153003AF2000","region":null}]},{"id":"c38f1774-3e17-42d8-a14e-3205da796d15","directory":"talking-tom-candy-run","title":"Talking Tom Candy Run","compatibility":2,"releases":[{"id":"01009720105B2000","region":null}]},{"id":"c3a525b6-f7ec-4a26-bac2-3e0197d6b1fc","directory":"animus-revenant","title":"ANIMUS: Revenant","compatibility":1,"releases":[{"id":"01009C60152B6000","region":null}]},{"id":"c3b1ea67-367c-4c42-b3fa-60b89d19393c","directory":"disgaea-4-complete","title":"Disgaea 4 Complete+","compatibility":1,"releases":[{"id":"0100A9800E9B4000","region":null}]},{"id":"c3b710d8-99c3-4e66-9c9e-084ae22d4fad","directory":"giana-sisters-twisted-dreams-owltimate-edition","title":"Giana Sisters: Twisted Dreams - Owltimate Edition","compatibility":4,"releases":[{"id":"01003830092B8000","region":null}]},{"id":"c3cc2715-dd15-42b6-94c1-a013327f6031","directory":"before-i-forget","title":"Before I Forget","compatibility":99,"releases":[{"id":"0100460012A10000","region":null}]},{"id":"c3d843e3-b286-495b-a0f1-b5c84cb76d2f","directory":"rival-megagun","title":"Rival Megagun","compatibility":99,"releases":[{"id":"0100A7D008392000","region":null}]},{"id":"c3d9961d-57e6-418d-bd65-c632910a8042","directory":"super-ping-pong-trick-shot","title":"Super Ping Pong Trick Shot","compatibility":99,"releases":[{"id":"01008EC005F88000","region":null}]},{"id":"c3dcdab8-53ec-4610-ad8c-49cbd6177ed8","directory":"curve-racer","title":"Curve Racer","compatibility":99,"releases":[{"id":"0100F54013E14000","region":null}]},{"id":"c3e2c019-baa6-4de3-bdb2-4fe2f52fc308","directory":"puzzle-adventure-blockle","title":"Puzzle Adventure Blockle","compatibility":99,"releases":[{"id":"0100F93004288000","region":null}]},{"id":"c3e3f18e-20f0-48df-8bc0-3c59a437b85f","directory":"b-ark","title":"B.ARK","compatibility":0,"releases":[{"id":"01009B901145C000","region":null}]},{"id":"c4023679-b969-4de0-9a74-760894285f10","directory":"ultragoodness-2","title":"UltraGoodness 2","compatibility":99,"releases":[{"id":"0100618013D62000","region":null}]},{"id":"c402759a-505f-4e69-a9bf-7064e306600d","directory":"dragons-dogma-dark-arisen","title":"Dragon's Dogma: Dark Arisen","compatibility":2,"releases":[{"id":"010032C00AC58000","region":null}]},{"id":"c40412e8-ae24-4eb7-97f5-a521fd5fd236","directory":"the-legend-of-heroes-trails-of-cold-steel-iv","title":"The Legend of Heroes: Trails of Cold Steel IV","compatibility":99,"releases":[{"id":"0100D3C010DE8000","region":null}]},{"id":"c40bb747-3023-4c87-9b99-e662ce05bbce","directory":"ever-forward","title":"Ever Forward","compatibility":99,"releases":[{"id":"0100CED01553A000","region":null}]},{"id":"c4133f2c-307b-4610-a36f-0c6d4ebe0732","directory":"happy-birthdays-demo","title":"Happy Birthdays Demo","compatibility":99,"releases":[{"id":"010069700AF9C000","region":null}]},{"id":"c427a2b0-0209-42e9-baa9-c651054e8a2b","directory":"cube-life-island-survival","title":"Cube Life: Island Survival","compatibility":99,"releases":[{"id":"0100519007636000","region":null}]},{"id":"c4291da6-e899-4d9f-a1fc-1ae6fc46130a","directory":"naruto-shippuden-ultimate-ninja-storm-2","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 2","compatibility":99,"releases":[{"id":"0100922008008000","region":null}]},{"id":"c4305ae9-26c9-4cc6-b39e-e121c638f98e","directory":"dungeons-of-clay","title":"Dungeons of Clay","compatibility":1,"releases":[{"id":"0100BBB014E92000","region":null}]},{"id":"c43364a9-4ec6-4ff5-bf38-a74d25f63952","directory":"robotech-the-macross-saga-hd-edition","title":"Robotech: The Macross Saga HD Edition","compatibility":0,"releases":[{"id":"010060B0129CC000","region":null}]},{"id":"c4411a91-e256-40df-a155-1a22e0efce50","directory":"haunted-dungeonshyakki-castle","title":"Haunted Dungeons:Hyakki Castle","compatibility":99,"releases":[{"id":"010023F008204000","region":null}]},{"id":"c4456376-55e8-4ee6-8758-527c24370765","directory":"over-the-alps","title":"Over the Alps","compatibility":3,"releases":[{"id":"010036B0113DA000","region":null}]},{"id":"c44a489f-79bb-49dc-b70a-1ec5db6e612a","directory":"yum-yum-line","title":"Yum Yum Line","compatibility":99,"releases":[{"id":"0100A2F012DF0000","region":null}]},{"id":"c453103e-03ba-4d0f-ad3a-66fafc60676b","directory":"tin-kuna","title":"Tin & Kuna","compatibility":99,"releases":[{"id":"0100F7C010AF6000","region":null}]},{"id":"c45e9884-947d-4c4c-8212-653109dc1e42","directory":"samurai-jack-battle-through-time","title":"Samurai Jack: Battle Through Time","compatibility":2,"releases":[{"id":"01006C600E46E000","region":null}]},{"id":"c465feea-6b2f-4d11-9ddc-ac5f9197b3e2","directory":"dream","title":"Dream","compatibility":99,"releases":[{"id":"01008B20129F2000","region":null}]},{"id":"c46efd86-44de-4b38-a799-ac4eab7ce768","directory":"minefield","title":"Minefield","compatibility":99,"releases":[{"id":"01009C300DBAE000","region":null}]},{"id":"c470d2cf-8925-4f62-a3d8-be379fa27149","directory":"from-orbit","title":"From Orbit","compatibility":99,"releases":[{"id":"0100AE600DBE4000","region":null}]},{"id":"c4752998-ed9e-4a76-b23c-5f266f8bd0ab","directory":"grow-song-of-the-evertree","title":"Grow: Song of The Evertree","compatibility":2,"releases":[{"id":"0100409012F96000","region":null}]},{"id":"c4790696-6960-48ba-b3a9-2afb4fe10c2d","directory":"sam-max-save-the-world","title":"Sam & Max Save the World","compatibility":2,"releases":[{"id":"0100CD301354E000","region":null}]},{"id":"c47f3a10-d5ce-447c-a962-0ece8c570c50","directory":"sky-jaguar-2","title":"Sky Jaguar 2","compatibility":99,"releases":[{"id":"0100E0C010AB8000","region":null}]},{"id":"c4952f9f-21b4-4ee7-8e6b-fe281200c845","directory":"steamworld-heist-ultimate-edition","title":"SteamWorld Heist: Ultimate Edition","compatibility":3,"releases":[{"id":"0100A21007FFA000","region":null}]},{"id":"c4971599-2b71-43be-b442-417f16ba1e12","directory":"arcade-archives-halleys-comet","title":"Arcade Archives HALLEY'S COMET","compatibility":99,"releases":[{"id":"01006F9013B04000","region":null}]},{"id":"c4af1761-221f-42ff-b44a-8bea86898d66","directory":"bouncy-bob","title":"Bouncy Bob","compatibility":0,"releases":[{"id":"0100A2700A86E000","region":null}]},{"id":"c4b56fdf-8a54-427a-94f4-5b2b10d978c7","directory":"conga-master-party","title":"Conga Master Party!","compatibility":1,"releases":[{"id":"01007EF00399C000","region":null}]},{"id":"c4c82a56-178b-4d0c-aed2-7b9a8b218fa0","directory":"super-mombo-quest","title":"Super Mombo Quest","compatibility":99,"releases":[{"id":"0100DCC01376E000","region":null}]},{"id":"c4e8e471-9520-40e8-a0a0-25ba5fc103f8","directory":"panzer-paladin","title":"Panzer Paladin","compatibility":0,"releases":[{"id":"01004AE0108E0000","region":null}]},{"id":"c4f0b495-2d6f-4019-bb72-a70d77c66d55","directory":"flatland-prologue","title":"Flatland: Prologue","compatibility":99,"releases":[{"id":"0100B54012798000","region":null}]},{"id":"c5023d0c-fbc6-4969-837d-7e480ebf930a","directory":"one-piece-pirate-warriors-4","title":"ONE PIECE: PIRATE WARRIORS 4","compatibility":1,"releases":[{"id":"01008FE00E2F6000","region":null}]},{"id":"c502f999-e412-4572-81f2-7c0f47096359","directory":"death-race-2020","title":"Death Race 2020","compatibility":99,"releases":[{"id":"0100DD6013126000","region":null}]},{"id":"c5039b64-f5bf-4ae7-b551-3a6909e19997","directory":"deadbolt","title":"DEADBOLT","compatibility":0,"releases":[{"id":"01002ED00ACC0000","region":null}]},{"id":"c50529fe-7aef-4dfd-a0d2-0ae4d17e3ee0","directory":"escape-route","title":"Escape Route","compatibility":99,"releases":[{"id":"01009210144D4000","region":null}]},{"id":"c50b88f0-ff29-4937-84b1-eb4c2220f6d6","directory":"road-to-ballhalla","title":"Road to Ballhalla","compatibility":99,"releases":[{"id":"010002F009A7A000","region":null}]},{"id":"c50d9f1d-b075-4939-8866-0ee0279d6835","directory":"arcade-archives-armed-f","title":"Arcade Archives Armed F","compatibility":4,"releases":[{"id":"010014F001DE2000","region":null}]},{"id":"c50fa8d0-d653-48fb-b6c6-6deceb0f6f08","directory":"queens-quest-3-the-end-of-dawn","title":"Queen's Quest 3: The End of Dawn","compatibility":99,"releases":[{"id":"0100D4400D994000","region":null}]},{"id":"c51bca60-2437-4b21-aae8-4d7bdae36d85","directory":"half-dead","title":"HALF DEAD","compatibility":99,"releases":[{"id":"0100552011612000","region":null}]},{"id":"c522f52d-5498-446a-937b-90f3e64354cf","directory":"black-jack-world-tour","title":"Black Jack World Tour","compatibility":99,"releases":[{"id":"0100CDA013BFA000","region":null}]},{"id":"c5265389-4fe1-411b-9663-f6faa9199a7b","directory":"lost-dream","title":"Lost Dream","compatibility":99,"releases":[{"id":"01007A00162B8000","region":null}]},{"id":"c5277259-c305-45ce-868b-8b689945e062","directory":"uchu-shinshuchu","title":"Uchu Shinshuchu","compatibility":0,"releases":[{"id":"01007B1014570000","region":null}]},{"id":"c53a45b7-0c68-4de1-aa08-61822a61ae72","directory":"armed-to-the-gears","title":"Armed to the Gears","compatibility":99,"releases":[{"id":"0100BF1016A66000","region":null}]},{"id":"c53c81d9-d56f-4d53-ae8a-a92efd2752b4","directory":"keywe","title":"KeyWe","compatibility":1,"releases":[{"id":"0100E2B012056000","region":null}]},{"id":"c53f1c68-f8ee-42f0-be0a-e887379d43f1","directory":"g-mode-archives25-topolon","title":"G-MODE Archives25 Topolon","compatibility":99,"releases":[{"id":"0100038013A98000","region":null}]},{"id":"c54743be-644e-454c-be63-53bb934ef347","directory":"sally-face","title":"Sally Face","compatibility":1,"releases":[{"id":"0100BBF0122B4000","region":null}]},{"id":"c5597c17-3bb6-43aa-9606-7c7d9b1bb3a3","directory":"ohedo-towns","title":"Oh!Edo Towns","compatibility":99,"releases":[{"id":"01009A700DA8E000","region":null}]},{"id":"c559fe44-3396-48fc-910d-d543700b7185","directory":"pillar-demo","title":"Pillar Demo","compatibility":99,"releases":[{"id":"0100F5400D534000","region":null}]},{"id":"c561d0b7-c8c5-4208-acca-840c803473c2","directory":"half-past-fate-romantic-distancing","title":"Half Past Fate: Romantic Distancing","compatibility":1,"releases":[{"id":"0100095013EBA000","region":null}]},{"id":"c580d5a7-3d75-41e6-be41-f6e73ae26735","directory":"paradox-error","title":"Paradox Error","compatibility":99,"releases":[{"id":"010003A014D3A000","region":null}]},{"id":"c583921f-bbb6-4782-9f50-50d403bd694f","directory":"outbuddies-dx","title":"Outbuddies DX","compatibility":3,"releases":[{"id":"0100B8900EFA6000","region":null}]},{"id":"c58ad2f5-58f0-4568-9d27-8b8402b88949","directory":"time-carnage","title":"Time Carnage","compatibility":99,"releases":[{"id":"01004C500B698000","region":null}]},{"id":"c596bc23-68ed-4ee6-a985-026d1f082847","directory":"sagebrush","title":"Sagebrush","compatibility":99,"releases":[{"id":"010012100E208000","region":null}]},{"id":"c5a35c54-8e59-4f95-ae34-5a3e28afb163","directory":"opus-rocket-of-whispers","title":"OPUS: Rocket of Whispers","compatibility":99,"releases":[{"id":"01002C4009990000","region":null}]},{"id":"c5a90b54-c014-407c-b062-416818ff8b08","directory":"hero-hours-contract","title":"Hero Hours Contract","compatibility":99,"releases":[{"id":"0100EEE012280000","region":null}]},{"id":"c5af09f2-954c-4d4f-8929-b20649a3806b","directory":"colossus-down","title":"Colossus Down","compatibility":0,"releases":[{"id":"0100E2F0128B4000","region":null}]},{"id":"c5bab20d-5fc9-4021-910c-035713aca436","directory":"ms-splosion-man","title":"Ms. Splosion Man","compatibility":1,"releases":[{"id":"01005EF00B4BC000","region":null}]},{"id":"c5bd6cab-24b6-469f-bfdd-61d7c5988376","directory":"colossus-mission","title":"Colossus Mission","compatibility":99,"releases":[{"id":"010047A014B40000","region":null}]},{"id":"c5cc8f04-91fb-449b-a5d7-3c980da652d2","directory":"molecats","title":"Molecats","compatibility":99,"releases":[{"id":"0100E1100D92C000","region":null}]},{"id":"c5cc9870-0c01-4f1e-ac26-647465624e8e","directory":"hero-must-die-again","title":"Hero must die. again","compatibility":0,"releases":[{"id":"010049500F996000","region":null}]},{"id":"c5debb59-12e1-4307-aca2-46702ca0bb3f","directory":"pixel-game-maker-series-osyaberi-horijyo-holin-slash","title":"Pixel Game Maker Series Osyaberi! Horijyo! Holin Slash","compatibility":99,"releases":[{"id":"010061D0144D0000","region":null}]},{"id":"c5e150df-cc0a-4c74-a4a9-35660878087d","directory":"arcade-fuzz","title":"ARCADE FUZZ","compatibility":99,"releases":[{"id":"01005A8010C7E000","region":null}]},{"id":"c5e822e5-5d3a-4ec6-9a9d-0e3232feb159","directory":"gem-crash","title":"GEM CRASH","compatibility":99,"releases":[{"id":"010011000972A000","region":null}]},{"id":"c5e897c4-02e1-40b0-af27-60aa4267fc81","directory":"jdm-racing-2","title":"JDM Racing - 2","compatibility":0,"releases":[{"id":"01004C60139DE000","region":null}]},{"id":"c5ebebab-70b3-4fe8-bcbe-45d455ef1b9e","directory":"basketball-club-story","title":"Basketball Club Story","compatibility":99,"releases":[{"id":"010061B0114C4000","region":null}]},{"id":"c5eceaff-c78c-4fa1-acfd-2317a2770638","directory":"dog-duty","title":"Dog Duty","compatibility":99,"releases":[{"id":"01005D00107E8000","region":null}]},{"id":"c5f85324-98f8-4296-b4f9-3fb48763f150","directory":"idle-champions-of-the-forgotten-realms","title":"Idle Champions of the Forgotten Realms","compatibility":99,"releases":[{"id":"01001E700EB28000","region":null}]},{"id":"c6056fab-1f50-47dc-b82d-e5693251dc36","directory":"izneo","title":"izneo","compatibility":99,"releases":[{"id":"0100D8E00C874000","region":null}]},{"id":"c60e3e1b-4ce1-49b6-8317-5f0cd9c3479a","directory":"blaster-master-zero-demo","title":"Blaster Master Zero Demo","compatibility":99,"releases":[{"id":"010025B002E92000","region":null}]},{"id":"c60f03dc-95ae-4bff-b5a5-47d40a0bf223","directory":"alone-with-you","title":"Alone With You","compatibility":99,"releases":[{"id":"0100F0F01161A000","region":null}]},{"id":"c60fde57-6e37-4c66-8da8-e5c7104a6273","directory":"mx-nitro-unleashed","title":"MX Nitro: Unleashed","compatibility":99,"releases":[{"id":"0100161009E5C000","region":null}]},{"id":"c6213daa-3be8-4569-8fc0-636aaba3d10c","directory":"sword-art-online-hollow-realization-deluxe-edition","title":"SWORD ART ONLINE: Hollow Realization Deluxe Edition","compatibility":0,"releases":[{"id":"0100EC400D54E000","region":null}]},{"id":"c621a0e0-b234-40d2-b163-4394ddc3cd38","directory":"sweet-sugar-candy","title":"Sweet Sugar Candy","compatibility":99,"releases":[{"id":"010093F0155B0000","region":null}]},{"id":"c62a6831-c9f3-493f-b731-660b0dbc8725","directory":"capes-escape-game-2-5th-room","title":"Cape's Escape Game 2.5th Room","compatibility":99,"releases":[{"id":"01006320151D6000","region":null}]},{"id":"c62bee64-4378-4aeb-917c-cc950297e092","directory":"bug-fables-the-everlasting-sapling","title":"Bug Fables: The Everlasting Sapling","compatibility":1,"releases":[{"id":"010051A00E99E000","region":null}]},{"id":"c64cfd0b-e5a5-4adf-8f31-edf41b4c6767","directory":"struggling","title":"Struggling","compatibility":99,"releases":[{"id":"0100681011B56000","region":null}]},{"id":"c6554ce4-fcc4-4976-8125-e7521b65253e","directory":"riverbond","title":"Riverbond","compatibility":99,"releases":[{"id":"010087200289A000","region":null}]},{"id":"c656a41d-1b8f-4d19-8de4-858d7af2e70b","directory":"space-invaders-forever","title":"Space Invaders Forever","compatibility":0,"releases":[{"id":"0100F0C012C10000","region":null}]},{"id":"c65bbb0c-e378-4902-a7fd-ede1e179e257","directory":"super-star-panda","title":"Super Star Panda","compatibility":99,"releases":[{"id":"01005EB01363C000","region":null}]},{"id":"c6694e0b-5ee2-48ca-94c1-762b004051bc","directory":"piffle-a-cat-puzzle-adventure","title":"Piffle: A Cat Puzzle Adventure","compatibility":99,"releases":[{"id":"010092B010448000","region":null}]},{"id":"c672ea3a-7571-489e-b571-34e67250cd62","directory":"vigor","title":"Vigor","compatibility":99,"releases":[{"id":"0100E8200DAF4000","region":null}]},{"id":"c67c7673-d0cd-4422-b7e9-868e04dc2001","directory":"atelier-lydie-suelle-the-alchemists-and-the-mysterious-paintings-dx","title":"Atelier Lydie & Suelle: The Alchemists and the Mysterious Paintings DX","compatibility":3,"releases":[{"id":"01001A5014220000","region":null}]},{"id":"c67d00b0-1004-4c5e-a400-8fc4c940f1df","directory":"terror-squid","title":"TERROR SQUID","compatibility":99,"releases":[{"id":"010070C00FB56000","region":null}]},{"id":"c67da557-41b9-4b68-8a72-a4726da464f4","directory":"xenoblade-chronicles-2","title":"Xenoblade Chronicles 2","compatibility":2,"releases":[{"id":"0100E95004038000","region":null}]},{"id":"c6936c20-81e1-4129-a590-569b523dda03","directory":"arcade-archives-bio-ship-paladin","title":"Arcade Archives BIO-SHIP PALADIN","compatibility":99,"releases":[{"id":"010011D01505A000","region":null}]},{"id":"c6975b28-ef98-489c-9143-3a173730913f","directory":"80s-overdrive","title":"80's OVERDRIVE","compatibility":1,"releases":[{"id":"01006B1011B9E000","region":null}]},{"id":"c69c969c-6aed-4d46-a4a1-a7d2a5037e28","directory":"batman-the-telltale-series","title":"Batman - The Telltale Series","compatibility":1,"releases":[{"id":"0100011005D92000","region":null}]},{"id":"c6b3392a-ba8b-4f43-92f3-980be6b3649c","directory":"awkward","title":"Awkward","compatibility":99,"releases":[{"id":"010073900A7A0000","region":null}]},{"id":"c6b3c4bd-341e-464e-8613-152b793c221f","directory":"roundout-by-powgi","title":"Roundout by POWGI","compatibility":99,"releases":[{"id":"01000A001399A000","region":null}]},{"id":"c6bb32ac-2f51-492e-97d3-6a4d7cc62d72","directory":"clocker","title":"Clocker","compatibility":0,"releases":[{"id":"0100DF9013AD4000","region":null}]},{"id":"c6c23234-cb23-4951-be87-ea43e4c4d88e","directory":"smart-moves","title":"Smart Moves","compatibility":99,"releases":[{"id":"0100DA9013AB4000","region":null}]},{"id":"c6c5196d-2d33-4cfd-a302-f2a75f53bbb1","directory":"poly-bridge","title":"Poly Bridge","compatibility":1,"releases":[{"id":"0100EAB00605C000","region":null}]},{"id":"c6c53ece-e0a0-4bd1-80a7-1504997e7844","directory":"day-and-night","title":"Day and Night","compatibility":99,"releases":[{"id":"0100FCF00F6CC000","region":null}]},{"id":"c6ce761e-93e7-410c-8b84-e7a2c9716ba4","directory":"help-me-doctor","title":"Help Me Doctor","compatibility":99,"releases":[{"id":"01005080105C8000","region":null}]},{"id":"c6d370d1-fa68-4dfc-8d59-1e04643c0f1c","directory":"aca-neogeo-thrash-rally","title":"ACA NEOGEO THRASH RALLY","compatibility":3,"releases":[{"id":"010061900AFAC000","region":null}]},{"id":"c6d7e672-d0c4-491d-9b83-369409e8a026","directory":"dark-tower-rpg-dungeon-puzzle","title":"Dark Tower: RPG Dungeon Puzzle","compatibility":99,"releases":[{"id":"01001A5010CC6000","region":null}]},{"id":"c6e6e2ce-7526-4e9f-bc0d-0add47f575f3","directory":"7-years-from-now","title":"7 Years From Now","compatibility":99,"releases":[{"id":"0100E75014A64000","region":null}]},{"id":"c6f6cdec-9c8b-4988-80fa-2efb5b5492f4","directory":"go-all-out","title":"Go All Out!","compatibility":99,"releases":[{"id":"01000C800FADC000","region":null}]},{"id":"c6f81396-960a-449d-8707-ae70705b6aca","directory":"36-fragments-of-midnight","title":"36 Fragments of Midnight","compatibility":1,"releases":[{"id":"01003670066DE000","region":null}]},{"id":"c6fed24d-0b4e-4d5a-8af1-295107438f0b","directory":"super-dragonfly-chronicles","title":"Super Dragonfly Chronicles","compatibility":99,"releases":[{"id":"0100967012972000","region":null}]},{"id":"c7168215-db59-4b56-9e4d-7199c6763952","directory":"overboard","title":"Overboard!","compatibility":99,"releases":[{"id":"01000CA014CA0000","region":null}]},{"id":"c729b6fc-b9a8-4eb6-97e5-dfa7465c1fe9","directory":"outbreak-lost-hope","title":"Outbreak Lost Hope","compatibility":99,"releases":[{"id":"0100D9F013102000","region":null}]},{"id":"c72e41d9-0255-454f-b3a7-8ebc2cc816f7","directory":"coloring-book","title":"Coloring Book","compatibility":3,"releases":[{"id":"0100A7000BD28000","region":null}]},{"id":"c73107cb-1ecd-47e5-a035-ac06076c424e","directory":"tonight-we-riot","title":"Tonight We Riot","compatibility":99,"releases":[{"id":"0100D400100F8000","region":null}]},{"id":"c7530f7b-7243-4a7d-b5f1-f25df7b34ee6","directory":"r-type-r-final-2","title":"R-Type® Final 2","compatibility":3,"releases":[{"id":"0100F930136B6000","region":null}]},{"id":"c7572b6f-6bcd-40dd-a6c3-6c76f3205eed","directory":"nirvana-pilot-yume","title":"Nirvana Pilot Yume","compatibility":2,"releases":[{"id":"010020901088A000","region":null}]},{"id":"c785a106-ecbe-4b09-8fca-cf71c820f7d7","directory":"broken-lines","title":"Broken Lines","compatibility":1,"releases":[{"id":"0100A5800F6AC000","region":null},{"id":"0100BD8011BCC000","region":null}]},{"id":"c7880c0b-eea1-4168-9462-8b4a8364e8c3","directory":"trash-quest","title":"Trash Quest","compatibility":99,"releases":[{"id":"0100F19016702000","region":null}]},{"id":"c78b731a-1ed2-45f7-956e-2a4332520511","directory":"darkwood","title":"Darkwood","compatibility":1,"releases":[{"id":"010033500B7B6000","region":null}]},{"id":"c78e982c-d988-4544-8675-88750029221b","directory":"ubongo","title":"Ubongo","compatibility":0,"releases":[{"id":"0100992010BF8000","region":null}]},{"id":"c79189cb-b90f-4a7d-b458-ce8311ff6657","directory":"everybody-hearts","title":"Everybody, Hearts!","compatibility":99,"releases":[{"id":"0100A6900B77A000","region":null}]},{"id":"c79858c0-d88c-4ca1-b50d-e4522bd7ee37","directory":"cubers-arena","title":"Cubers: Arena","compatibility":99,"releases":[{"id":"010082E00F1CE000","region":null}]},{"id":"c7b987ff-6bbc-4527-bd44-32a59a866a2f","directory":"motogp-21","title":"MotoGPâ„¢21","compatibility":99,"releases":[{"id":"01000F5013820000","region":null}]},{"id":"c7c587e4-af22-452c-a28e-71009f361d2d","directory":"nekopara-vol1","title":"NEKOPARA Vol.1","compatibility":0,"releases":[{"id":"0100B4900AD3E000","region":null}]},{"id":"c7ca700c-6079-4f37-9aed-644cdc4f0a52","directory":"eagle-island","title":"Eagle Island","compatibility":0,"releases":[{"id":"010037400C7DA000","region":null}]},{"id":"c7cafc76-bd43-44e8-874c-5b19de1c42da","directory":"gofishing-3d","title":"GoFishing 3D","compatibility":99,"releases":[{"id":"01007BC00DE68000","region":null}]},{"id":"c7eb7d5b-b786-4953-ac78-c75f7d13ee08","directory":"doctor-who-the-lonely-assassins","title":"Doctor Who: The Lonely Assassins","compatibility":99,"releases":[{"id":"010007C0136C4000","region":null}]},{"id":"c807d286-1157-4f60-a907-573e5bc789d4","directory":"victor-vran-overkill-edition","title":"Victor Vran Overkill Edition","compatibility":99,"releases":[{"id":"0100E81007A06000","region":null}]},{"id":"c812cfae-21b3-4b86-8411-5a1e2b06b998","directory":"bioshock-the-collection","title":"BioShock: The Collection","compatibility":2,"releases":[{"id":"0100AD10102B2000","region":null}]},{"id":"c8259c90-60a8-4f4f-93d9-6f5add86a6a7","directory":"horizon-shift-81","title":"Horizon Shift '81","compatibility":99,"releases":[{"id":"010025300B914000","region":null}]},{"id":"c83b8b67-fa1a-4977-89c2-b9546cd22ccc","directory":"death-crown","title":"Death Crown","compatibility":99,"releases":[{"id":"0100A780135C8000","region":null}]},{"id":"c846733a-5cda-4100-bac7-1cf72fd9d44a","directory":"mina-michi","title":"Mina & Michi","compatibility":99,"releases":[{"id":"0100CBD012CF4000","region":null}]},{"id":"c84dae3a-ae58-44c9-986c-84b45b98f4b5","directory":"our-summer-festival","title":"Our Summer Festival","compatibility":99,"releases":[{"id":"0100D18016DAA000","region":null}]},{"id":"c85870fd-0bb0-446f-af8c-951b903c7138","directory":"exorder","title":"EXORDER","compatibility":1,"releases":[{"id":"0100FA800A1F4000","region":null}]},{"id":"c8637bd3-9250-4a2f-b4da-1e23e140389b","directory":"etherborn","title":"Etherborn","compatibility":5,"releases":[{"id":"01000E200BE10000","region":null}]},{"id":"c86b2560-afce-4370-acc3-5eca5f29ba72","directory":"yu-gi-oh-rush-duel-dawn-of-the-battle-royale","title":"Yu-Gi-Oh! RUSH DUEL: Dawn of the Battle Royale!!","compatibility":1,"releases":[{"id":"0100261015BE2000","region":null}]},{"id":"c87bc37f-ef27-43f4-b824-5714c8154f82","directory":"monaco-complete-edition","title":"Monaco: Complete Edition","compatibility":99,"releases":[{"id":"010007300DE1E000","region":null}]},{"id":"c87e85b6-0fe7-4d4c-9ce0-aa613686c26a","directory":"florence","title":"Florence","compatibility":0,"releases":[{"id":"010040700E8FC000","region":null}]},{"id":"c88710da-767d-4188-afe0-5d1b78b93930","directory":"my-universe-school-teacher","title":"My Universe - School Teacher","compatibility":99,"releases":[{"id":"01006C301199C000","region":null}]},{"id":"c88b6d61-2399-440d-badb-ec4125e4feea","directory":"world-for-two","title":"World for Two","compatibility":0,"releases":[{"id":"0100FC2012680000","region":null}]},{"id":"c897e8b0-584e-487b-81db-5c9d1930f492","directory":"castlestorm-ii","title":"CastleStorm II","compatibility":99,"releases":[{"id":"010007400EB64000","region":null}]},{"id":"c899441c-408c-40a2-8136-13495e10b713","directory":"fancy-solitaire","title":"Fancy Solitaire","compatibility":99,"releases":[{"id":"010055000F788000","region":null}]},{"id":"c8a34fbf-6b29-499d-ad60-99a0c6a4342c","directory":"shadow-fight-2","title":"Shadow Fight 2","compatibility":0,"releases":[{"id":"0100AB000ABFE000","region":null}]},{"id":"c8a6574e-5633-451b-89bc-78b688436795","directory":"cooking-tycoons-3-in-1-bundle","title":"Cooking Tycoons - 3 in 1 Bundle","compatibility":99,"releases":[{"id":"0100DF9010206000","region":null}]},{"id":"c8a7e202-d394-4ecc-a196-aed42620f516","directory":"sakura-succubus-2","title":"Sakura Succubus 2","compatibility":99,"releases":[{"id":"0100BC70149C6000","region":null}]},{"id":"c8ac42c0-fe02-40e2-808f-54fbc98c8361","directory":"nekomiko","title":"NekoMiko","compatibility":4,"releases":[{"id":"010043200F874000","region":null}]},{"id":"c8bd7d7d-3ee8-4356-aeac-79ec0e1e221e","directory":"long-ago-a-puzzle-tale","title":"Long Ago: A Puzzle Tale","compatibility":99,"releases":[{"id":"010063C00C688000","region":null}]},{"id":"c8bda8ca-1f8f-46a8-8901-f1f8d45d1a1c","directory":"party-planet","title":"Party Planet","compatibility":3,"releases":[{"id":"01004F10066B0000","region":null}]},{"id":"c8bfd672-8dde-4e61-b687-e72b4a64bbd4","directory":"pixboy","title":"Pixboy","compatibility":99,"releases":[{"id":"01005F2011F8C000","region":null}]},{"id":"c8c35b41-41df-4617-b1e8-cb31f72e08ed","directory":"crumble","title":"Crumble","compatibility":99,"releases":[{"id":"010011001458E000","region":null}]},{"id":"c8c4c39f-0b63-401c-a7ce-20258c7b877d","directory":"fullblast","title":"FullBlast","compatibility":0,"releases":[{"id":"01008D800AE4A000","region":null}]},{"id":"c8d292fa-dc62-4b41-905f-0cc7c8fd747f","directory":"hell-warders","title":"Hell Warders","compatibility":99,"releases":[{"id":"0100A2100BFCE000","region":null}]},{"id":"c8e092a1-e3e9-48c7-893e-448d60ab0dd1","directory":"rogue-wizards","title":"Rogue Wizards","compatibility":99,"releases":[{"id":"010076301319C000","region":null}]},{"id":"c8e550c4-6bbc-4501-a2ae-595a7188f7a9","directory":"shio","title":"Shio","compatibility":2,"releases":[{"id":"0100C2F00A568000","region":null}]},{"id":"c8f1d30a-f337-4984-ada3-99751fb468af","directory":"rise-of-insanity","title":"Rise of Insanity","compatibility":99,"releases":[{"id":"0100E9C010EA8000","region":null}]},{"id":"c9046710-9cdb-44bc-af35-7c9ec414b55f","directory":"chiki-chiki-boxy-racers","title":"Chiki-Chiki Boxy Racers","compatibility":1,"releases":[{"id":"01003CD00BE22000","region":null}]},{"id":"c90c3e60-5f47-46e7-aa30-deb550e13654","directory":"super-loop-drive","title":"Super Loop Drive","compatibility":3,"releases":[{"id":"01003E300FCAE000","region":null}]},{"id":"c91ac644-6113-4192-bb54-fefd37103fce","directory":"monster-energy-supercross-the-official-videogame-3","title":"Monster Energy Supercross - The Official Videogame 3","compatibility":3,"releases":[{"id":"010097800EA20000","region":null}]},{"id":"c933bafc-c4a2-4828-a2e8-0d9a10fd5d54","directory":"alt-frequencies","title":"Alt-Frequencies","compatibility":0,"releases":[{"id":"01003E700FD66000","region":null}]},{"id":"c944b8b7-09c1-4e6f-bbaa-0e5e1ae73619","directory":"frozen-friends","title":"Frozen Friends","compatibility":99,"releases":[{"id":"0100F8A010AEC000","region":null}]},{"id":"c9502af2-1fb5-4a15-acad-178f4c72ef60","directory":"the-swords-of-ditto-mormos-curse","title":"The Swords of Ditto: Mormo's Curse","compatibility":2,"releases":[{"id":"010037D00D568000","region":null}]},{"id":"c956eec0-0b9f-4cdf-b988-572b1f732abe","directory":"piczle-colors-demo","title":"Piczle Colors Demo","compatibility":99,"releases":[{"id":"010002A00D168000","region":null}]},{"id":"c9606e8a-9a3a-4798-b71d-7a9360b1f91d","directory":"tribal-pass","title":"Tribal Pass","compatibility":99,"releases":[{"id":"0100CCB012D4C000","region":null}]},{"id":"c9694e53-6387-49e4-a37b-43e7b17da247","directory":"galaxy-warfighter","title":"Galaxy Warfighter","compatibility":99,"releases":[{"id":"0100EDB01005C000","region":null}]},{"id":"c97691c0-6202-47f7-b2df-ac0ce4d9e9f5","directory":"gonner2","title":"GONNER2","compatibility":99,"releases":[{"id":"0100EA70127F2000","region":null}]},{"id":"c977bf2a-7cb0-4744-877c-a40f047b430b","directory":"neon-chrome","title":"Neon Chrome","compatibility":99,"releases":[{"id":"010075E0047F8000","region":null}]},{"id":"c9789750-ed07-49df-b9b1-64fef0c1efe9","directory":"crimson-spires","title":"Crimson Spires","compatibility":99,"releases":[{"id":"0100DC4013FFE000","region":null}]},{"id":"c99210a5-3b14-4ce9-81cb-1580c775b21d","directory":"sleep-attack","title":"Sleep Attack","compatibility":99,"releases":[{"id":"010050500FE30000","region":null}]},{"id":"c99f9891-7482-41ac-8513-14c17d23376f","directory":"battle-of-archers","title":"Battle of Archers","compatibility":99,"releases":[{"id":"0100B4801683A000","region":null}]},{"id":"c9a0ad16-0391-484b-82f1-fc15f75f07f9","directory":"smoots-golf","title":"Smoots Golf","compatibility":2,"releases":[{"id":"010030F015C8C000","region":null}]},{"id":"c9a6703f-c003-4388-a157-625a8d8c8cc3","directory":"samurai-warriors-5","title":"SAMURAI WARRIORS 5","compatibility":1,"releases":[{"id":"0100B28014132000","region":null}]},{"id":"c9aa3ef9-2f51-44a6-9117-c99c286b97f0","directory":"spy-alarm","title":"Spy Alarm","compatibility":99,"releases":[{"id":"01000E6015350000","region":null}]},{"id":"c9c0045d-b41a-4c50-80ce-2da2fe54801a","directory":"little-shopping","title":"Little Shopping","compatibility":99,"releases":[{"id":"0100DD700D95E000","region":null}]},{"id":"c9e0a022-6250-4a05-b591-838fbd6d843b","directory":"carebotz","title":"Carebotz","compatibility":99,"releases":[{"id":"0100BE00156AC000","region":null}]},{"id":"c9e202ab-9511-4013-a1b8-dfdbb8604f48","directory":"ball-attraction","title":"Ball Attraction","compatibility":99,"releases":[{"id":"010038F00ED14000","region":null}]},{"id":"c9ebf74b-b993-498b-acc7-7c7ad895bc3e","directory":"teddy-the-wanderer-kayaking","title":"Teddy the Wanderer: Kayaking","compatibility":99,"releases":[{"id":"0100F6200CBE0000","region":null}]},{"id":"c9ee83b4-f943-4b6d-bb80-b554667e944f","directory":"neighbours-back-from-hell","title":"Neighbours back From Hell","compatibility":1,"releases":[{"id":"010065F00F55A000","region":null}]},{"id":"c9f2a078-76ad-4fd8-a582-9ff6d79fb213","directory":"astro-duel-deluxe","title":"Astro Duel Deluxe","compatibility":1,"releases":[{"id":"0100F0400351C000","region":null}]},{"id":"c9f3a8ee-539b-429e-a3dc-4827c00ed4e2","directory":"sakura-nova","title":"Sakura Nova","compatibility":99,"releases":[{"id":"0100434015F7A000","region":null}]},{"id":"c9f3c0d2-9ad6-4001-b6c8-56c05f36c6f4","directory":"ritual-sorcerer-angel","title":"Ritual: Sorcerer Angel","compatibility":99,"releases":[{"id":"0100BD300F0EC000","region":null}]},{"id":"ca063b3e-bb1e-40b5-b245-ffb883ca0468","directory":"word-search-by-powgi-demo","title":"Word Search by POWGI Demo","compatibility":99,"releases":[{"id":"01009CF00A9C4000","region":null}]},{"id":"ca07bbf3-f069-4be0-aac1-bb00be43090a","directory":"arcade-archives-mario-bros","title":"Arcade Archives Mario Bros.","compatibility":0,"releases":[{"id":"0100755004608000","region":null}]},{"id":"ca09113d-782f-49c1-af49-b7b6125dd91a","directory":"pandemic","title":"Pandemic","compatibility":99,"releases":[{"id":"0100ADA00AD2E000","region":null}]},{"id":"ca17739e-04c3-47ec-a563-073ed05f054d","directory":"miners-races","title":"Miners Races","compatibility":99,"releases":[{"id":"0100EDA0163FE000","region":null}]},{"id":"ca188a91-920a-4852-9493-9ff85d54a13b","directory":"jet-lancer","title":"Jet Lancer","compatibility":5,"releases":[{"id":"0100F3500C70C000","region":null}]},{"id":"ca271e50-aedb-4830-8203-b60257d0e826","directory":"x-force-genesis","title":"X-Force Genesis","compatibility":1,"releases":[{"id":"010006C015C4A000","region":null}]},{"id":"ca317cda-7024-42ca-b3f8-1d83d865382c","directory":"1971-project-helios","title":"1971 Project Helios","compatibility":1,"releases":[{"id":"0100829010F4A000","region":null}]},{"id":"ca4b7009-3f74-42cc-b7e0-4e3cbfe1ddb8","directory":"super-archer","title":"Super Archer","compatibility":99,"releases":[{"id":"01008BE0155C0000","region":null}]},{"id":"ca5126d5-9123-468a-a88a-a9ff1516c3a8","directory":"littlewood","title":"Littlewood","compatibility":99,"releases":[{"id":"0100D1600EEBC000","region":null}]},{"id":"ca860e07-fdb5-4b0e-90ee-d0eed85446db","directory":"my-universe-cooking-star-restaurant","title":"My Universe - Cooking Star Restaurant","compatibility":99,"releases":[{"id":"0100158011A08000","region":null}]},{"id":"ca87641d-56c0-4771-9d1a-6636443d99ca","directory":"fly-oclock","title":"Fly O'Clock","compatibility":99,"releases":[{"id":"0100EDA00BBBE000","region":null}]},{"id":"ca88d3c0-d699-427e-9115-40bdda21bbd3","directory":"star-wars-pinball","title":"Star Wars Pinball","compatibility":2,"releases":[{"id":"01006DA00DEAC000","region":null}]},{"id":"ca8fd81a-ca35-40ae-964f-a0eb52e9d781","directory":"connect-the-dots","title":"Connect the Dots","compatibility":99,"releases":[{"id":"01007B30157A2000","region":null}]},{"id":"ca931d96-4ce8-4d58-8664-4c1ef5593081","directory":"pixel-devil-and-the-broken-cartridge","title":"Pixel Devil and the Broken Cartridge","compatibility":0,"releases":[{"id":"010011300D52A000","region":null}]},{"id":"ca960350-0efb-45dd-aaf1-f19b6b6b48b9","directory":"fallen-legion-revenants","title":"Fallen Legion Revenants","compatibility":99,"releases":[{"id":"0100AA801258C000","region":null}]},{"id":"ca96c634-e015-4a47-bd6a-bc667e8de962","directory":"pangeon","title":"Pangeon","compatibility":99,"releases":[{"id":"0100EF701265E000","region":null}]},{"id":"ca9713ee-7e6e-4326-b0da-fa63065076d8","directory":"tengam","title":"Tengam","compatibility":99,"releases":[{"id":"0100FDE012B22000","region":null}]},{"id":"ca9f51d0-81ac-4e5e-a3ac-ba0162e12167","directory":"jump-step-step","title":"Jump, Step, Step","compatibility":3,"releases":[{"id":"01003F300E7E2000","region":null}]},{"id":"caaa1e0c-2c0a-4174-84fd-3355f182debd","directory":"home-postmortem-edition","title":"Home: Postmortem Edition","compatibility":99,"releases":[{"id":"0100867011618000","region":null}]},{"id":"caae19cc-9e25-4d6e-847b-9d983c0137b6","directory":"hypercharge-unboxed","title":"HYPERCHARGE Unboxed","compatibility":99,"releases":[{"id":"0100A8B00F0B4000","region":null}]},{"id":"cabae146-223b-4ead-bd71-622589d10419","directory":"the-last-survey","title":"The Last Survey","compatibility":99,"releases":[{"id":"010062D0156C0000","region":null}]},{"id":"cac5eda1-94dc-4f3e-a6f1-78343a44d51f","directory":"crocs-world-2","title":"Croc's World 2","compatibility":99,"releases":[{"id":"01009DB00DE12000","region":null}]},{"id":"cacc6807-f4ae-40c6-b2ac-1fc0dacc2aa2","directory":"soul-axiom-rebooted","title":"Soul Axiom Rebooted","compatibility":99,"releases":[{"id":"010064F00C212000","region":null}]},{"id":"cace0cef-5403-4fa4-bb08-4ea499470dd2","directory":"king-of-fighters-r-2","title":"KING OF FIGHTERS R-2","compatibility":0,"releases":[{"id":"0100D47012330000","region":null}]},{"id":"cadd6a5a-42e1-42e1-99c4-1171011298ec","directory":"fhtagn-tales-of-the-creeping-madness","title":"Fhtagn! - Tales of the Creeping Madness","compatibility":1,"releases":[{"id":"01006B8014020000","region":null}]},{"id":"cae03fdd-da4d-4c6f-9af1-fab017238f59","directory":"demons-tilt","title":"DEMON'S TILT","compatibility":99,"releases":[{"id":"0100BE800E6D8000","region":null}]},{"id":"cae052d9-f040-4f91-8ac4-37ca1af14647","directory":"the-amazing-shinsengumi-heroes-in-love","title":"The Amazing Shinsengumi: Heroes in Love","compatibility":99,"releases":[{"id":"010083800B4E8000","region":null}]},{"id":"cae8172c-3a77-4141-9688-85fe69e6251f","directory":"super-korotama","title":"Super Korotama","compatibility":4,"releases":[{"id":"010000D00F81A000","region":null}]},{"id":"cb02e063-f193-4fa4-9f7a-f3de75a501c1","directory":"alternate-jake-hunter-daedalus-the-awakening-of-golden-jazz","title":"Alternate Jake Hunter: DAEDALUS The Awakening of Golden Jazz","compatibility":1,"releases":[{"id":"0100C3D00D1D4000","region":null}]},{"id":"cb087d81-7aa9-4125-a72f-b1529861263a","directory":"tomoyo-after-its-a-wonderful-life-cs-edition","title":"Tomoyo After -It's a Wonderful Life- CS Edition","compatibility":4,"releases":[{"id":"0100398010314000","region":null}]},{"id":"cb08a9ef-fc22-41c6-8515-89b6743c09d8","directory":"dreamscaper","title":"Dreamscaper","compatibility":99,"releases":[{"id":"010066C00FA94000","region":null}]},{"id":"cb0b294b-d669-423a-8405-a2a952c5b062","directory":"motorcycle-mechanic-simulator","title":"Motorcycle Mechanic Simulator","compatibility":99,"releases":[{"id":"010042900E464000","region":null}]},{"id":"cb13fb50-673c-4513-b100-802ed0be2b12","directory":"turok-2-seeds-of-evil","title":"Turok 2: Seeds of Evil","compatibility":5,"releases":[{"id":"0100CDC00D8D6000","region":null}]},{"id":"cb1774ca-aaf5-4610-98dc-fde63e2c318a","directory":"strikey-sisters","title":"Strikey Sisters","compatibility":4,"releases":[{"id":"010060600CFDE000","region":null}]},{"id":"cb3de65b-bfa7-4387-9445-567e76bee387","directory":"bring-honey-home","title":"Bring Honey Home","compatibility":99,"releases":[{"id":"0100A4D01514A000","region":null}]},{"id":"cb4069c1-a45e-475a-9754-d5faf800cfe7","directory":"the-copper-canyon-dixie-dash","title":"The Copper Canyon Dixie Dash","compatibility":99,"releases":[{"id":"01000F20102AC000","region":null}]},{"id":"cb40cc37-8da9-46d1-a34e-8f1b4d40b686","directory":"monster-energy-supercross-the-official-videogame-2","title":"Monster Energy Supercross - The Official Videogame 2","compatibility":99,"releases":[{"id":"0100F8100B982000","region":null}]},{"id":"cb48bd44-67e2-4b7e-b05b-ac697947bd25","directory":"my-big-sister","title":"My Big Sister","compatibility":99,"releases":[{"id":"0100A0F00D82A000","region":null}]},{"id":"cb49369e-de61-4788-92a6-d5dd28bba16a","directory":"pups-purrs-animal-hospital","title":"Pups & Purrs Animal Hospital","compatibility":99,"releases":[{"id":"0100649014936000","region":null}]},{"id":"cb4b039d-2c51-4680-9cea-edbd732884dd","directory":"arcade-archives-karate-champ","title":"Arcade Archives Karate Champ","compatibility":99,"releases":[{"id":"010071400981A000","region":null}]},{"id":"cb551b37-1476-4385-8299-f296bc10242a","directory":"blazblue-centralfiction-special-edition","title":"BLAZBLUE CENTRALFICTION Special Edition","compatibility":1,"releases":[{"id":"0100EE800C93E000","region":null}]},{"id":"cb552e5c-b3f1-452e-a981-357c71971e2e","directory":"castle-of-pixel-skulls","title":"Castle Of Pixel Skulls","compatibility":1,"releases":[{"id":"0100765014830000","region":null}]},{"id":"cb580b62-141e-4964-a3e8-acf6b483f7a6","directory":"battle-princess-madelyn-royal-edition","title":"Battle Princess Madelyn Royal Edition","compatibility":0,"releases":[{"id":"0100A7500DF64000","region":null}]},{"id":"cb5b0aaf-4ca0-45e6-b7b8-cfdde0385fca","directory":"squad-killer","title":"Squad Killer","compatibility":99,"releases":[{"id":"01002540144FA000","region":null}]},{"id":"cb5d0092-79c4-4f91-828a-1981c0e26282","directory":"spongebob-krusty-cook-off","title":"SpongeBob: Krusty Cook-Off","compatibility":1,"releases":[{"id":"01000D3013E8C000","region":null}]},{"id":"cb5e39fc-9bad-47b4-b211-ee27d7ea75eb","directory":"gun-crazy","title":"Gun Crazy","compatibility":1,"releases":[{"id":"01009630106A6000","region":null}]},{"id":"cb6191c7-493d-4746-b603-7addb885b6e9","directory":"animated-jigsaws-collection","title":"Animated Jigsaws Collection","compatibility":99,"releases":[{"id":"010098600CF06000","region":null}]},{"id":"cb63c93a-627b-4166-a4a7-61bbd6b96bca","directory":"mahluk-dark-demon","title":"Mahluk dark demon","compatibility":99,"releases":[{"id":"010099A0145E8000","region":null}]},{"id":"cb7db4f4-5b9c-4154-bebc-78248700852d","directory":"firewatch","title":"Firewatch","compatibility":2,"releases":[{"id":"0100AC300919A000","region":null}]},{"id":"cb7eeed9-2e57-46df-adf6-55219bdf1fcb","directory":"catastronauts","title":"Catastronauts","compatibility":99,"releases":[{"id":"0100DF3009730000","region":null}]},{"id":"cb808a50-3842-4709-9c7c-fa8be3965995","directory":"swallow-up","title":"Swallow Up","compatibility":99,"releases":[{"id":"010078800EE1A000","region":null}]},{"id":"cb80b3b6-a5e1-45f4-840b-a55954e60034","directory":"s-w-a-n-chernobyl-unexplored","title":"S.W.A.N.: Chernobyl Unexplored","compatibility":99,"releases":[{"id":"010062E015ED6000","region":null}]},{"id":"cb80f3a9-99ca-4f5f-8627-9b6f53304c5e","directory":"death-road-to-canada","title":"Death Road to Canada","compatibility":2,"releases":[{"id":"0100423009358000","region":null}]},{"id":"cb84791b-1e15-45b0-9711-f92a394e4367","directory":"dual-brain-vol2-reflex","title":"Dual Brain Vol.2: Reflex","compatibility":1,"releases":[{"id":"010065D0103D6000","region":null}]},{"id":"cb9cb1f7-9931-49b9-a217-33bf80ebc907","directory":"the-caligula-effect-2","title":"The Caligula Effect 2","compatibility":1,"releases":[{"id":"0100CC3014886000","region":null}]},{"id":"cbb497bf-6fd7-45fa-b002-a0ca10652d83","directory":"grisaia-phantom-trigger-04","title":"GRISAIA PHANTOM TRIGGER 04","compatibility":99,"releases":[{"id":"0100D970123BA000","region":null}]},{"id":"cbb9c34a-36ca-4c3b-ad53-1165b0b6bad4","directory":"super-neptunia-rpg","title":"Super Neptunia RPG","compatibility":1,"releases":[{"id":"01004D600AC14000","region":null}]},{"id":"cbc223e1-cb96-4162-a883-d36fa796bd64","directory":"qube-qross","title":"Qube Qross","compatibility":99,"releases":[{"id":"01000930140DA000","region":null}]},{"id":"cbc53983-3e22-4f71-a247-5606bf2768a3","directory":"dusk","title":"DUSK","compatibility":1,"releases":[{"id":"01007740160D4000","region":null}]},{"id":"cbd234eb-d5e0-4054-a9a1-dd244d506174","directory":"warioware-get-it-together","title":"WarioWareâ„¢: Get It Together!","compatibility":0,"releases":[{"id":"0100563010E0C000","region":null}]},{"id":"cbd51097-2ee4-4a44-8b92-36baee6f2001","directory":"nba-2k19","title":"NBA 2K19","compatibility":5,"releases":[{"id":"01001FF00B544000","region":null}]},{"id":"cbd7591d-abd5-4520-8d63-287f8cffdc72","directory":"city-builder","title":"City Builder","compatibility":99,"releases":[{"id":"0100D4800AEC8000","region":null}]},{"id":"cbd89458-d691-4ea9-9ca9-15fb061e0b6c","directory":"jackquest-the-tale-of-the-sword","title":"JackQuest: The Tale of the Sword","compatibility":2,"releases":[{"id":"0100C80009ABE000","region":null}]},{"id":"cbda9727-d9a1-4bb0-85c5-e1ce304e83e2","directory":"paw-paw-paw","title":"Paw Paw Paw","compatibility":1,"releases":[{"id":"01008E2013144000","region":null}]},{"id":"cbdae4b7-2e85-4c1d-9e52-dc21a428b2dd","directory":"little-bit-war","title":"Little Bit War","compatibility":99,"releases":[{"id":"0100572010EF8000","region":null}]},{"id":"cbde3179-0a2a-4939-a3c1-e378896418fe","directory":"panda-hero","title":"Panda Hero","compatibility":99,"releases":[{"id":"01002A300BDE2000","region":null}]},{"id":"cbe31cbc-2922-4b2f-b8a9-9cd050818284","directory":"party-arcade","title":"Party Arcade","compatibility":99,"releases":[{"id":"01007FC00A040000","region":null}]},{"id":"cbedf444-c5e7-42f2-a93b-a2dd91daae3d","directory":"they-came-from-the-sky","title":"They Came From the Sky","compatibility":99,"releases":[{"id":"0100768010970000","region":null}]},{"id":"cbfd8b2d-436e-49af-877f-6e9687a92a64","directory":"fightn-rage","title":"Fight'N Rage","compatibility":2,"releases":[{"id":"0100C7D00E730000","region":null}]},{"id":"cc025a72-82e5-4b63-8a9d-3fc8dd70b8d4","directory":"voice-of-cards-the-isle-dragon-roars","title":"Voice of Cards: The Isle Dragon Roars","compatibility":99,"releases":[{"id":"010071400F836000","region":null}]},{"id":"cc0aa2e8-b3ea-4540-97c3-82f84d133d99","directory":"steinsgate-0","title":"STEINS;GATE 0","compatibility":99,"releases":[{"id":"010037700E9B8000","region":null}]},{"id":"cc0c1344-4671-4483-8249-d82300c414b9","directory":"cruisn-blast","title":"Cruis'n Blast","compatibility":1,"releases":[{"id":"0100B41013C82000","region":null}]},{"id":"cc0d539c-7bd8-4566-9988-c4647c20448b","directory":"steam-rails-to-riches-complete-edition","title":"Steam: Rails to Riches Complete Edition","compatibility":99,"releases":[{"id":"0100E3C0146E4000","region":null}]},{"id":"cc1844f1-f849-4df7-8813-8ff22e2273ba","directory":"bus-driver-simulator","title":"Bus Driver Simulator","compatibility":99,"releases":[{"id":"010030D012FF6000","region":null}]},{"id":"cc26dca0-58da-4b04-a719-9772dd9fe811","directory":"nosferatu-lilinor","title":"Nosferatu Lilinor","compatibility":99,"releases":[{"id":"0100373010D26000","region":null}]},{"id":"cc2736fe-1fcc-4518-a53d-38df55f4e0d5","directory":"gorogoa","title":"Gorogoa","compatibility":1,"releases":[{"id":"0100F2A005C98000","region":null}]},{"id":"cc38443a-4c0e-493a-a011-21c7ee9d0e68","directory":"bomber-fox","title":"Bomber Fox","compatibility":99,"releases":[{"id":"0100A1F012948000","region":null}]},{"id":"cc40f76e-0f60-488d-8065-5a64b0b5ae80","directory":"kirby-star-allies-demo","title":"Kirbyâ„¢ Star Allies Demo","compatibility":2,"releases":[{"id":"01005A70096FA000","region":null}]},{"id":"cc482256-0dd4-4068-9151-e14f6195c19a","directory":"duo-zombies","title":"Duo Zombies","compatibility":99,"releases":[{"id":"01009AB01613E000","region":null}]},{"id":"cc4fc296-6332-4956-be3d-e321fcd60159","directory":"rad","title":"RAD","compatibility":99,"releases":[{"id":"010024400C516000","region":null}]},{"id":"cc5985e3-0f69-416b-a3b6-0ffddf11a20d","directory":"re-turn-one-way-trip","title":"Re:Turn - One Way Trip","compatibility":99,"releases":[{"id":"0100F03011616000","region":null}]},{"id":"cc5da67e-0e30-4978-9271-c9f296a92915","directory":"the-persistence","title":"The Persistence","compatibility":99,"releases":[{"id":"010050101127C000","region":null}]},{"id":"cc5e4654-7017-4f33-807a-59a21c4660c0","directory":"halcyon-6-starbase-commander","title":"Halcyon 6: Starbase Commander","compatibility":99,"releases":[{"id":"01006B30092F0000","region":null}]},{"id":"cc5e7f66-1c3a-47a3-9c7f-c0f6e6bcbd6b","directory":"trine-2-complete-story","title":"Trine 2: Complete Story","compatibility":1,"releases":[{"id":"010064E00A932000","region":null}]},{"id":"cc70180e-f9f8-4109-8d9f-6f90e70e9fb4","directory":"sine-mora-ex","title":"Sine Mora EX","compatibility":2,"releases":[{"id":"01002820036A8000","region":null}]},{"id":"cc7105cc-d004-428f-8684-14b2c4de37ed","directory":"monkey-business","title":"Monkey Business","compatibility":99,"releases":[{"id":"010038800DF74000","region":null}]},{"id":"cc7f308e-4167-4551-b8e7-a115bcd247cc","directory":"the-dungeon-of-naheulbeuk-the-amulet-of-chaos-chicken-edition","title":"The Dungeon of Naheulbeuk: The Amulet of Chaos - Chicken Edition","compatibility":1,"releases":[{"id":"010023901191C000","region":null}]},{"id":"cc8156fd-8707-459e-abdd-08fec694f6a3","directory":"word-crush-hidden","title":"Word Crush Hidden","compatibility":99,"releases":[{"id":"010078E0153A6000","region":null}]},{"id":"cc88c22d-68a1-4958-96ee-aefb1eb02775","directory":"the-last-kids-on-earth-and-the-staff-of-doom","title":"The Last Kids on Earth and the Staff of Doom","compatibility":99,"releases":[{"id":"0100C27011544000","region":null}]},{"id":"cc95687d-82e9-4b4d-8227-cb7d1c9912bd","directory":"baba-is-you","title":"Baba Is You","compatibility":0,"releases":[{"id":"01002CD00A51C000","region":null}]},{"id":"cca68f1a-c50a-4bf6-b852-c3c6cc86e346","directory":"2064-read-only-memories-integral","title":"2064: Read Only Memories INTEGRAL","compatibility":1,"releases":[{"id":"010024C0067C4000","region":null}]},{"id":"ccbaf4f1-e05e-4bc9-8ed7-9801f3ef1579","directory":"vaccine","title":"Vaccine","compatibility":99,"releases":[{"id":"01009E2003FE2000","region":null}]},{"id":"cccd91c7-d6d1-45de-ae61-39c9c05976a2","directory":"inexistence-rebirth","title":"Inexistence Rebirth","compatibility":3,"releases":[{"id":"010001D014348000","region":null}]},{"id":"ccd3dc80-f4a9-4228-be22-e72fa48dbf77","directory":"drink-more-glurp","title":"Drink More Glurp","compatibility":99,"releases":[{"id":"010093F00F894000","region":null}]},{"id":"ccd764c8-60b2-4bfe-b5f6-38fb07090490","directory":"borderlands-the-pre-sequel","title":"Borderlands: The Pre-Sequel","compatibility":0,"releases":[{"id":"010007400FF24000","region":null}]},{"id":"ccd7e06f-775b-429e-97ff-2538cca17218","directory":"watermelon-party","title":"Watermelon Party","compatibility":99,"releases":[{"id":"010047800E516000","region":null}]},{"id":"ccd882ac-1d3a-4426-81c1-03b012ec3abb","directory":"suicide-guy-collection","title":"Suicide Guy Collection","compatibility":99,"releases":[{"id":"01001E3012CC2000","region":null}]},{"id":"cce3b7cf-a68a-42b6-9af0-9207099050d2","directory":"uno-for-nintendo-switch","title":"UNO for Nintendo Switch","compatibility":3,"releases":[{"id":"01005AA00372A000","region":null}]},{"id":"cce84b72-8d2e-4dda-bde1-a20f1ac3100a","directory":"street-cleaner-the-video-game","title":"Street Cleaner: The Video Game","compatibility":99,"releases":[{"id":"0100D460144F2000","region":null}]},{"id":"ccea107e-b24c-4479-9faa-68e86db5f05f","directory":"world-of-riders","title":"World Of Riders","compatibility":99,"releases":[{"id":"010020500E862000","region":null}]},{"id":"ccefc5f4-992d-4e63-bb0e-104eacb48ee1","directory":"asdivine-hearts","title":"Asdivine Hearts","compatibility":0,"releases":[{"id":"010042800A516000","region":null}]},{"id":"ccf6fb52-a310-4066-be2b-6fdde386d4fa","directory":"how-buddys-parents-met","title":"How Buddy’s parents met","compatibility":99,"releases":[{"id":"010060D0158DC000","region":null}]},{"id":"ccf89113-9166-4747-b999-0f2f6ac22b97","directory":"the-unholy-society","title":"The Unholy Society","compatibility":99,"releases":[{"id":"0100E4C011304000","region":null}]},{"id":"ccffb1d6-6afc-46db-b0e1-c17fcffafb6e","directory":"bring-them-home","title":"Bring Them Home","compatibility":99,"releases":[{"id":"01000BF00BE40000","region":null}]},{"id":"cd1335e3-2a3e-499f-a87e-4d1c46f9b3ba","directory":"darkest-hunters","title":"Darkest Hunters","compatibility":99,"releases":[{"id":"0100F1F00D5B2000","region":null}]},{"id":"cd1e9d00-e470-40de-a49c-ade2092598d9","directory":"loot-hero-dx","title":"Loot Hero DX","compatibility":99,"releases":[{"id":"010077E013D60000","region":null}]},{"id":"cd20ff54-0daf-495f-8159-0180081d12fe","directory":"haunted-dawn-the-zombie-apocalypse","title":"Haunted Dawn: The Zombie Apocalypse","compatibility":99,"releases":[{"id":"01009E6014F18000","region":null}]},{"id":"cd25a2ee-661f-4603-b7ba-65f3e0118296","directory":"animal-fun-for-toddlers-and-kids","title":"Animal Fun for Toddlers and Kids","compatibility":99,"releases":[{"id":"01002F4011A8E000","region":null}]},{"id":"cd28ecd8-377e-4708-a988-b836425b081d","directory":"the-legend-of-heroes-trails-of-cold-steel-iii","title":"The Legend of Heroes: Trails of Cold Steel III","compatibility":0,"releases":[{"id":"01005420101DA000","region":null}]},{"id":"cd3a54c9-496e-4350-aeb4-aec0caab34ad","directory":"league-of-evil-demo","title":"League of Evil Demo","compatibility":99,"releases":[{"id":"01005B3005D6E000","region":null}]},{"id":"cd3e58ab-949f-4c4f-8750-407dc47bdde2","directory":"star-drives","title":"Star Drives","compatibility":99,"releases":[{"id":"010011D015FF6000","region":null}]},{"id":"cd4a6884-62e0-4b47-b8b6-e763bef482bc","directory":"wolflame","title":"Wolflame","compatibility":3,"releases":[{"id":"01003380113A2000","region":null}]},{"id":"cd87b4b8-6ac2-4492-afed-441a74d62b31","directory":"button-city","title":"Button City","compatibility":99,"releases":[{"id":"0100754013D5A000","region":null}]},{"id":"cd89c3b1-db23-426a-859b-21e024d1ed3b","directory":"aca-neogeo-riding-hero","title":"ACA NEOGEO RIDING HERO","compatibility":99,"releases":[{"id":"01002C900A302000","region":null}]},{"id":"cd944f21-5a03-4ce3-ac5f-a9c1843f1324","directory":"blades-of-time","title":"Blades of Time","compatibility":5,"releases":[{"id":"0100CFA00CC74000","region":null}]},{"id":"cd9d9265-0bba-473a-ba8b-55e94e38b508","directory":"the-longest-five-minutes","title":"The Longest Five Minutes","compatibility":1,"releases":[{"id":"0100CE1004E72000","region":null}]},{"id":"cd9d9b3a-748d-4761-ba9e-89d6ddd39a0b","directory":"arcade-archives-front-line","title":"Arcade Archives FRONT LINE","compatibility":5,"releases":[{"id":"0100496006EC8000","region":null}]},{"id":"cda8f354-238a-43dd-9c3c-c927ee7d43ff","directory":"flan","title":"Flan","compatibility":99,"releases":[{"id":"010038200E088000","region":null}]},{"id":"cdaaf147-7d32-4e9d-9e59-8a05449a0c09","directory":"bleed","title":"Bleed","compatibility":2,"releases":[{"id":"010042C006490000","region":null}]},{"id":"cdb612a8-292c-413b-b9b7-84d9fe156532","directory":"air-mail","title":"Air Mail","compatibility":99,"releases":[{"id":"01004C700B106000","region":null}]},{"id":"cdbbc335-3bd6-409d-9172-36c081ebf41b","directory":"surviving-the-aftermath","title":"Surviving the Aftermath","compatibility":99,"releases":[{"id":"0100F61013456000","region":null}]},{"id":"cdc89699-5c9c-4dcf-8767-da53bd86bafb","directory":"levels-addictive-puzzle-game","title":"Levels+ : Addictive Puzzle Game","compatibility":99,"releases":[{"id":"0100C960041DC000","region":null}]},{"id":"cdcb3d2a-6420-4bbe-bf4a-a81d80786b58","directory":"verlet-swing","title":"Verlet Swing","compatibility":99,"releases":[{"id":"0100E9D00D268000","region":null}]},{"id":"cdd1bbc8-eac9-4ad2-b534-7fef58b31732","directory":"rhythm-of-the-gods","title":"Rhythm of the Gods","compatibility":99,"releases":[{"id":"010081D0100F0000","region":null}]},{"id":"cdd72e98-068e-47e6-b3d5-4ab12fe35922","directory":"pic-a-pix-deluxe","title":"Pic-a-Pix Deluxe","compatibility":4,"releases":[{"id":"01005F900416E000","region":null}]},{"id":"cdd921fa-ce48-4396-9ff1-e2c9bfc90f18","directory":"pokemon-sword","title":"Pokémon Sword","compatibility":2,"releases":[{"id":"0100ABF008968000","region":null}]},{"id":"cde0bfc1-a505-4c0a-8a2a-d18f6d65816e","directory":"lumo","title":"Lumo","compatibility":2,"releases":[{"id":"0100FF00042EE000","region":null}]},{"id":"cde65c8b-ed48-4e92-b58e-151eddba7d96","directory":"yokus-island-express-demo","title":"Yoku's Island Express Demo","compatibility":99,"releases":[{"id":"0100D6300B938000","region":null}]},{"id":"cdf36837-bdc0-4b2f-bd33-adfbc39394b9","directory":"hyperforma","title":"Hyperforma","compatibility":99,"releases":[{"id":"01006EA00D892000","region":null}]},{"id":"cdf703c8-ff13-40aa-8e6d-345803f70550","directory":"blood-waves","title":"Blood Waves","compatibility":3,"releases":[{"id":"01007E700D17E000","region":null}]},{"id":"cdf8e50b-7aff-4400-8750-378ccb48280d","directory":"ball-physics-draw-puzzles","title":"Ball Physics Draw Puzzles","compatibility":99,"releases":[{"id":"0100EF0015F3C000","region":null}]},{"id":"cdfa2e00-041a-4fe1-8c8b-bb4aa07c25d1","directory":"forgotten-tales-day-of-the-dead","title":"Forgotten Tales - Day of the Dead","compatibility":99,"releases":[{"id":"010064300CFD4000","region":null}]},{"id":"cdfde087-8a2b-4c17-b37b-d3e077b394f7","directory":"windjammers-2","title":"Windjammers 2","compatibility":0,"releases":[{"id":"0100AF500EF0C000","region":null}]},{"id":"ce18c9e8-5eba-49b2-a438-b01733611448","directory":"okami-hd","title":"OKAMI HD","compatibility":3,"releases":[{"id":"0100276009872000","region":null}]},{"id":"ce366ef7-b0cb-4aeb-a4f3-0a29d3c85239","directory":"hexceed","title":"hexceed","compatibility":99,"releases":[{"id":"0100F59014E8C000","region":null}]},{"id":"ce42c395-1eb5-4754-89d8-2d8af5e9911a","directory":"10-second-ninja-x","title":"10 Second Ninja X","compatibility":99,"releases":[{"id":"010055501321C000","region":null}]},{"id":"ce517396-9e24-4c0c-8d10-37272f8bbd4a","directory":"duel-on-board","title":"Duel on Board","compatibility":99,"releases":[{"id":"01006AA013A2A000","region":null}]},{"id":"ce61e0c5-64c6-426c-a14f-78c6b844decf","directory":"breakforcist-battle","title":"#Breakforcist Battle","compatibility":99,"releases":[{"id":"010038B0084EA000","region":null}]},{"id":"ce63b99c-6cb7-47a9-b975-ba4d35ca8aa7","directory":"the-dark-side-of-the-moon-an-interactive-fmv-thriller","title":"The Dark Side of the Moon: An Interactive FMV Thriller","compatibility":99,"releases":[{"id":"0100E9D016226000","region":null}]},{"id":"ce6875a4-2797-431d-bd6e-b8906067a896","directory":"dread-nautical","title":"Dread Nautical","compatibility":0,"releases":[{"id":"010045500D0F4000","region":null}]},{"id":"ce6b3b84-afba-4293-8c22-17202a801b0f","directory":"dragon-ball-fighterz","title":"DRAGON BALL FIGHTERZ","compatibility":3,"releases":[{"id":"0100A250097F0000","region":null}]},{"id":"ce70fe99-3288-4dce-bd37-e735e7aef120","directory":"arcade-archives-heroic-episode","title":"Arcade Archives HEROIC EPISODE","compatibility":99,"releases":[{"id":"01009A4008A30000","region":null}]},{"id":"ce7f6147-6cdb-4bb8-a425-b64ddd7d3773","directory":"deathsmiles-i-ii","title":"Deathsmiles I・II","compatibility":99,"releases":[{"id":"01009120119B4000","region":null}]},{"id":"ce8014b8-12a9-497e-a129-678b4825874b","directory":"pushy-and-pully-in-blockland","title":"Pushy and Pully in Blockland","compatibility":0,"releases":[{"id":"0100F1200F6D8000","region":null}]},{"id":"ce869a12-1960-43cf-a148-4a025ba260b8","directory":"snakes-ladders","title":"Snakes & Ladders","compatibility":99,"releases":[{"id":"010052C00ABFA000","region":null}]},{"id":"ce9a5ab0-ab33-4aed-93da-ca5dcaa98198","directory":"farmers-co-op-out-of-this-world","title":"Farmers Co-op: Out of This World","compatibility":99,"releases":[{"id":"0100C6F013FFA000","region":null}]},{"id":"cea16a5f-0261-4cc5-b1d0-834a0d7556a6","directory":"the-adventure-pals","title":"The Adventure Pals","compatibility":0,"releases":[{"id":"01008ED0087A4000","region":null}]},{"id":"cea6c029-2d9c-40ea-a1b4-5d057c9bd080","directory":"use-your-words","title":"Use Your Words","compatibility":99,"releases":[{"id":"01007C0003AEC000","region":null}]},{"id":"ceb7714e-c499-47a4-9815-bb8c42d5e481","directory":"stray-cat-doors","title":"Stray Cat Doors","compatibility":1,"releases":[{"id":"01002D200CF50000","region":null}]},{"id":"cebb097e-3fa4-4016-b784-99fd8a974334","directory":"digerati-indie-darling-bundle-vol-3","title":"Digerati Indie Darling Bundle Vol. 3","compatibility":99,"releases":[{"id":"01004DE011076000","region":null}]},{"id":"cebeb3e5-4cda-4a20-be65-b33a796c1213","directory":"arcade-archives-markham","title":"Arcade Archives MARKHAM","compatibility":99,"releases":[{"id":"0100299013ADE000","region":null}]},{"id":"cec30012-c1bb-499b-b75c-301671db0e6a","directory":"robots-under-attack","title":"Robots under attack!","compatibility":99,"releases":[{"id":"010077C00F370000","region":null}]},{"id":"ced95c05-589f-4a8e-8b2f-e382f5679763","directory":"its-spring-again","title":"It's Spring Again","compatibility":99,"releases":[{"id":"0100EDC00AAAA000","region":null}]},{"id":"cedeac46-4719-4976-a50a-f927937fbf08","directory":"odallus-the-dark-call","title":"Odallus: The Dark Call","compatibility":5,"releases":[{"id":"010084300C816000","region":null}]},{"id":"cedfb609-0b65-48bd-ad5c-3864fd46ccb1","directory":"the-last-door-complete-edition","title":"The Last Door - Complete Edition","compatibility":99,"releases":[{"id":"0100DBE00C76C000","region":null}]},{"id":"cee6fc03-23d0-4456-bfd3-07da321026fe","directory":"oddworld-new-n-tasty","title":"Oddworld: New 'n' Tasty","compatibility":2,"releases":[{"id":"01005E700ABB8000","region":null}]},{"id":"cef343ca-704b-4de7-ad1b-f8eaf060eac1","directory":"rock-n-racing-bundle-off-road-grand-prix","title":"Rock 'N Racing Bundle Off Road & Grand Prix","compatibility":99,"releases":[{"id":"01008F801398E000","region":null}]},{"id":"cf07ac2a-1540-4027-9293-8290a3e1595b","directory":"kathy-rain-directors-cut","title":"Kathy Rain: Director's Cut","compatibility":99,"releases":[{"id":"0100892015238000","region":null}]},{"id":"cf0cb27c-1ff6-4470-9c73-3ae9c72a2f66","directory":"torchlight-iii","title":"Torchlight III","compatibility":3,"releases":[{"id":"010075400DDB8000","region":null}]},{"id":"cf110387-7b68-44dc-beca-98fce95caccc","directory":"forestry-the-simulation","title":"Forestry - The Simulation","compatibility":99,"releases":[{"id":"01002E9014308000","region":null}]},{"id":"cf26d197-406e-48b4-b554-c4baa91a5e77","directory":"shadows-2-perfidia","title":"Shadows 2: Perfidia","compatibility":1,"releases":[{"id":"010000000EEF0000","region":null}]},{"id":"cf2a674d-1044-4f6d-a777-234d176a68c8","directory":"morbid-the-seven-acolytes","title":"Morbid: The Seven Acolytes","compatibility":2,"releases":[{"id":"010040E00F642000","region":null}]},{"id":"cf3ade4e-b5a9-447e-8c43-0514a23223cc","directory":"dragon-star-varnir","title":"Dragon Star Varnir","compatibility":99,"releases":[{"id":"01001C60148CC000","region":null}]},{"id":"cf444c4d-3c94-4e9f-b366-b3a216cf2fac","directory":"light-fingers","title":"Light Fingers","compatibility":99,"releases":[{"id":"0100A0E005E42000","region":null}]},{"id":"cf447abc-ab26-437a-98bc-ef9fa392e812","directory":"final-fantasy-xv-pocket-edition-hd","title":"FINAL FANTASY XV POCKET EDITION HD","compatibility":2,"releases":[{"id":"010068F00AA78000","region":null}]},{"id":"cf4aa029-0071-447a-9e7a-2bb434f52e03","directory":"gryphon-knight-epic-definitive-edition","title":"Gryphon Knight Epic: Definitive Edition","compatibility":99,"releases":[{"id":"0100A16011872000","region":null}]},{"id":"cf4da2c5-3c0d-4e56-9083-6ede1e89382f","directory":"aaero-complete-edition","title":"Aaero: Complete Edition","compatibility":0,"releases":[{"id":"010097A00CC0A000","region":null}]},{"id":"cf63d44a-a64f-4409-93a0-f2827413d2e8","directory":"octahedron-transfixed-edition","title":"Octahedron: Transfixed Edition","compatibility":5,"releases":[{"id":"010049100B93E000","region":null}]},{"id":"cf6a4659-07ee-4348-b7f3-899f7ec1c47e","directory":"super-chariot","title":"Super Chariot","compatibility":3,"releases":[{"id":"010065F004E5E000","region":null}]},{"id":"cf6eb529-7009-4262-8a4c-fecb4f207bc4","directory":"kiai-resonance","title":"Kiai Resonance","compatibility":99,"releases":[{"id":"010087D00C82E000","region":null}]},{"id":"cf7b72d0-4c67-4002-9d39-d304c29e1b27","directory":"murder-diaries","title":"Murder Diaries","compatibility":99,"releases":[{"id":"0100262015908000","region":null}]},{"id":"cf7cec36-3b0c-4436-b09b-806fa1496894","directory":"citizens-of-space","title":"Citizens of Space","compatibility":99,"releases":[{"id":"0100E4200D84E000","region":null}]},{"id":"cf979370-d03c-43f6-a67a-25d10b83049a","directory":"evil-tonight","title":"Evil Tonight","compatibility":4,"releases":[{"id":"01001B2013D72000","region":null}]},{"id":"cf9ab91c-f627-4953-933a-28b8bd0f5e38","directory":"shieldwall-chronicles-swords-of-the-north","title":"Shieldwall Chronicles: Swords of the North","compatibility":99,"releases":[{"id":"0100C7E01442C000","region":null}]},{"id":"cfa6243a-4057-496a-9791-4d9e853cfb6a","directory":"root-film","title":"Root Film","compatibility":1,"releases":[{"id":"01001C701348A000","region":null}]},{"id":"cfab1d59-4bd3-463e-ae47-35df5f6ad5e1","directory":"theme-park-simulator-roller-coaster-thrill-rides","title":"Theme Park Simulator: Roller Coaster & Thrill Rides","compatibility":99,"releases":[{"id":"01006BE0109B6000","region":null}]},{"id":"cfacc2a8-1dfd-4b0f-aba9-0218bf5f8fdd","directory":"twin-robots-ultimate-edition-demo","title":"Twin Robots: Ultimate Edition Demo","compatibility":99,"releases":[{"id":"010012600A9DA000","region":null}]},{"id":"cfad77ac-0eff-44bd-805e-376496f9b789","directory":"macrotis-a-mothers-journey","title":"Macrotis: A Mother's Journey","compatibility":99,"releases":[{"id":"01001B7011202000","region":null}]},{"id":"cfb30543-28fc-4efc-81d0-bf978fcd1087","directory":"asobu-tights","title":"ASOBU Tights","compatibility":0,"releases":[{"id":"0100473013DFE000","region":null}]},{"id":"cfb3626c-a845-48eb-ad2c-4b3e0026f468","directory":"arcade-archives-gradius","title":"Arcade Archives GRADIUS","compatibility":99,"releases":[{"id":"0100A070105A6000","region":null}]},{"id":"cfb7137c-30ad-486d-8697-26eae078940d","directory":"hyperide-vector-raid","title":"Hyperide: Vector Raid","compatibility":99,"releases":[{"id":"01000E200C8D4000","region":null}]},{"id":"cfcf0981-fbfe-43cf-82c4-27640315fd4b","directory":"heroes-of-the-monkey-tavern-demo","title":"Heroes of the Monkey Tavern Demo","compatibility":99,"releases":[{"id":"0100F4F006EB0000","region":null}]},{"id":"cfd946f0-8cdf-419e-b9c4-c4aa3e05e2f7","directory":"morto-chapter-1","title":"MORTO - Chapter 1","compatibility":99,"releases":[{"id":"0100734014C20000","region":null}]},{"id":"cfd98cef-4ce8-440b-841c-52001b6c03f5","directory":"crisis-wing","title":"Crisis Wing","compatibility":2,"releases":[{"id":"0100CAC015A8A000","region":null}]},{"id":"cfe67329-2bb8-4e3c-a437-3a6c60077b5b","directory":"demolition-crew","title":"Demolition Crew","compatibility":99,"releases":[{"id":"01000D100D99A000","region":null}]},{"id":"cfec0999-b26e-42aa-becf-675ec3fb0e06","directory":"headspun","title":"Headspun","compatibility":99,"releases":[{"id":"010067400EA5C000","region":null}]},{"id":"cfef4473-5f7f-4fad-bf12-dbf511325cc8","directory":"grisaia-phantom-trigger-5-5","title":"GRISAIA PHANTOM TRIGGER 5.5","compatibility":99,"releases":[{"id":"0100CAF013AE6000","region":null}]},{"id":"cffbcf24-1616-4fc0-bb86-6bdb2833cbf4","directory":"minecraft-story-mode-the-complete-adventure","title":"Minecraft: Story Mode - The Complete Adventure","compatibility":1,"releases":[{"id":"010059C002AC2000","region":null}]},{"id":"d00308be-c934-4b88-bee4-94f0c902c2ae","directory":"detective-puz","title":"Detective Puz","compatibility":99,"releases":[{"id":"01006C8013708000","region":null}]},{"id":"d00f7ce1-480f-4a9d-ba88-a1cda3882aaf","directory":"amazing-brick-breaker","title":"Amazing Brick Breaker","compatibility":99,"releases":[{"id":"0100DD700F1F6000","region":null}]},{"id":"d01356ce-d0f3-42c4-b04e-35800c35a7f3","directory":"thenightfall","title":"TheNightfall","compatibility":99,"releases":[{"id":"01000AA00D30E000","region":null}]},{"id":"d01f8c7e-1d1a-4d54-ab5d-23f169b848cd","directory":"horizon-chase-turbo","title":"Horizon Chase Turbo","compatibility":0,"releases":[{"id":"01009EA00B714000","region":null}]},{"id":"d02abe7c-48e9-4a40-9bee-8eec4fdb1e6f","directory":"queens-quest-4-sacred-truce","title":"Queen's Quest 4: Sacred Truce","compatibility":99,"releases":[{"id":"0100DCF00F13A000","region":null}]},{"id":"d02f1883-224f-456a-8f3b-217028a163bd","directory":"sense-a-cyberpunk-ghost-story","title":"Sense - A Cyberpunk Ghost Story","compatibility":2,"releases":[{"id":"01009CD00F44A000","region":null}]},{"id":"d031059e-1a04-4e72-ab22-4e7fbedebdcb","directory":"hot-wheels-unleashed","title":"HOT WHEELS UNLEASHED™","compatibility":3,"releases":[{"id":"0100AA60136D2000","region":null}]},{"id":"d0447e7b-eb81-4e81-a3d4-ebee985bc328","directory":"phar-lap-horse-racing-challenge","title":"PHAR LAP - Horse Racing Challenge","compatibility":2,"releases":[{"id":"010036200D2F6000","region":null}]},{"id":"d0492975-c726-4b21-8909-383b6ca4bbac","directory":"the-legend-of-zelda-links-awakening","title":"The Legend of Zelda: Link's Awakening","compatibility":1,"releases":[{"id":"01006BB00C6F0000","region":null}]},{"id":"d0505d44-1312-4bf8-aa27-54db151726d6","directory":"laid-back-camp-virtual-lake-motosu","title":"Laid-Back Camp - Virtual - Lake Motosu","compatibility":0,"releases":[{"id":"01002BA012E80000","region":null}]},{"id":"d0564a5d-997f-41da-b16a-d9e937a4b442","directory":"inside-my-radio","title":"Inside My Radio","compatibility":99,"releases":[{"id":"0100973002D6A000","region":null}]},{"id":"d05a7a6e-1295-4cc3-bd30-46bcc8ccb32d","directory":"grisaia-phantom-trigger-06","title":"GRISAIA PHANTOM TRIGGER 06","compatibility":2,"releases":[{"id":"0100240013AE8000","region":null}]},{"id":"d06a2670-418c-486d-bb80-c9d704db8f0b","directory":"cardpocalypse","title":"Cardpocalypse","compatibility":99,"releases":[{"id":"0100C5100DB04000","region":null}]},{"id":"d06d1f7e-047a-450e-9520-80fd274d7dce","directory":"them-bombs","title":"Them Bombs!","compatibility":1,"releases":[{"id":"01006C400ACEE000","region":null}]},{"id":"d06e8a94-c738-4f3e-92fa-8e2917fe4fbf","directory":"new-york-mysteries-high-voltage","title":"New York Mysteries: High Voltage","compatibility":99,"releases":[{"id":"0100D7E016684000","region":null}]},{"id":"d0750daa-36f8-4bc9-ab29-3d28702ca6dc","directory":"varion","title":"Varion","compatibility":99,"releases":[{"id":"01009DE00B5CC000","region":null}]},{"id":"d077e458-7680-4951-b9b4-79902df25f56","directory":"offroad-driving-simulator-4x4-trucks-suv-trophy","title":"Offroad Driving Simulator 4x4: Trucks & SUV Trophy","compatibility":0,"releases":[{"id":"0100352013A44000","region":null}]},{"id":"d088cd4d-b39f-4aad-ac15-1e4ec3ecfc3a","directory":"hypnospace-outlaw","title":"Hypnospace Outlaw","compatibility":5,"releases":[{"id":"0100959010466000","region":null}]},{"id":"d08c6b4e-bf19-46e8-9bf7-578c6ea5b749","directory":"glaive-brick-breaker","title":"Glaive: Brick Breaker","compatibility":99,"releases":[{"id":"01005CB009E20000","region":null}]},{"id":"d0b112f8-1338-4f3a-acdd-1e965b02f982","directory":"parallel","title":"Parallel","compatibility":99,"releases":[{"id":"0100F8300A95C000","region":null}]},{"id":"d0c599cd-0074-472a-a53a-64ef9e166998","directory":"rest-in-pieces","title":"Rest in Pieces","compatibility":99,"releases":[{"id":"01004A600EB3E000","region":null}]},{"id":"d0d217b1-ec06-4940-9e75-610b09c69a38","directory":"the-last-campfire","title":"The Last Campfire","compatibility":1,"releases":[{"id":"0100449011506000","region":null}]},{"id":"d0d8a2d4-3b46-4423-9013-0f25bf080c25","directory":"the-rainsdowne-players","title":"The Rainsdowne Players","compatibility":99,"releases":[{"id":"010093600D5E0000","region":null}]},{"id":"d0d8c7fb-1f46-4832-bab2-ef2939907299","directory":"off-the-road-unleashed","title":"Off The Road Unleashed","compatibility":5,"releases":[{"id":"010045C0112F8000","region":null}]},{"id":"d0e01eb7-a67e-4135-89fd-04045766f9c1","directory":"letter-quest-remastered","title":"Letter Quest Remastered","compatibility":0,"releases":[{"id":"01008C300648E000","region":null}]},{"id":"d0e8bcda-7233-483e-9532-9c75535104c9","directory":"dexteritrip","title":"Dexteritrip","compatibility":99,"releases":[{"id":"010044000CBCA000","region":null}]},{"id":"d10be0fa-5686-46d4-a3ff-89be08d43638","directory":"pawn-of-the-dead","title":"Pawn of the Dead","compatibility":99,"releases":[{"id":"0100D8C01674C000","region":null}]},{"id":"d10ca87b-133c-4fa9-98b4-5b685f6198d4","directory":"billy-bomber","title":"Billy Bomber","compatibility":99,"releases":[{"id":"010008600F1F2000","region":null}]},{"id":"d112c338-f11a-40ef-b45d-6b0f5ba0f52d","directory":"140","title":"140","compatibility":99,"releases":[{"id":"01007E600EEE6000","region":null}]},{"id":"d119cf47-894d-4262-b7d1-32cb571e9766","directory":"rusty-spout-rescue-adventure","title":"Rusty Spout Rescue Adventure","compatibility":99,"releases":[{"id":"01000C6011AC2000","region":null}]},{"id":"d11f95b6-39ed-414f-be29-a93ea951201f","directory":"resident-evil-revelations","title":"Resident Evil Revelations","compatibility":1,"releases":[{"id":"0100643002136000","region":null}]},{"id":"d11ffa35-50dc-4c4c-a773-92cd88069c33","directory":"disgaea-1-complete","title":"Disgaea 1 Complete","compatibility":1,"releases":[{"id":"01004B100AF18000","region":null}]},{"id":"d120fb0f-3132-470d-bdfa-3d2815b4157c","directory":"arcade-archives-star-force","title":"Arcade Archives STAR FORCE","compatibility":4,"releases":[{"id":"010069F008A38000","region":null}]},{"id":"d123ed9b-53f8-46fb-a572-2bb11de5274c","directory":"borderlands-game-of-the-year-edition","title":"Borderlands: Game of the Year Edition","compatibility":3,"releases":[{"id":"010064800F66A000","region":null}]},{"id":"d1479d55-bd27-4697-a84f-ae274edea267","directory":"panzer-dragoon-remake","title":"Panzer Dragoon: Remake","compatibility":2,"releases":[{"id":"0100C6A00E94A000","region":null}]},{"id":"d150f0fb-9a4c-4b6b-b46c-5b05fa9e8f9d","directory":"fishing-adventure","title":"Fishing Adventure","compatibility":99,"releases":[{"id":"01002600105C6000","region":null}]},{"id":"d153618a-97b1-4311-8ba7-f1ac9a914c1a","directory":"blazerush","title":"BlazeRush","compatibility":99,"releases":[{"id":"0100AD400BBE0000","region":null}]},{"id":"d16395e8-9d40-46c9-8855-f67c79784eac","directory":"children-of-zodiarcs","title":"Children of Zodiarcs","compatibility":1,"releases":[{"id":"0100C1A00AC3E000","region":null}]},{"id":"d1644656-e78d-46e9-81f2-a789f8723ed0","directory":"tiny-hands-adventure","title":"Tiny Hands Adventure","compatibility":99,"releases":[{"id":"010061A00AE64000","region":null}]},{"id":"d1671d5d-ef39-4574-9efc-e0f97028cdf6","directory":"lost-horizon-2","title":"Lost Horizon 2","compatibility":99,"releases":[{"id":"01005ED010642000","region":null}]},{"id":"d16c1a0c-5691-4d7c-99f3-538bc61cba9c","directory":"aca-neogeo-magician-lord","title":"ACA NEOGEO MAGICIAN LORD","compatibility":99,"releases":[{"id":"01007920038F6000","region":null}]},{"id":"d17084d5-9f5f-4a8e-8cdb-0e7c80a0dabb","directory":"darius-cozmic-collection-arcade","title":"Darius Cozmic Collection Arcade","compatibility":1,"releases":[{"id":"01001D20105C0000","region":null}]},{"id":"d177c225-3144-4ec8-adaa-a92e4b06c588","directory":"fantasy-general-ii-invasion","title":"Fantasy General II: Invasion","compatibility":99,"releases":[{"id":"0100C7D012FB8000","region":null}]},{"id":"d18db235-aaa7-4e7c-9417-4e9d6375b2cb","directory":"arcade-archives-vendetta","title":"Arcade Archives VENDETTA","compatibility":4,"releases":[{"id":"010087D0150BE000","region":null}]},{"id":"d194ad8a-c250-42d5-8d32-010012b6fd6d","directory":"lucah-born-of-a-dream","title":"Lucah: Born of a Dream","compatibility":99,"releases":[{"id":"0100AAA00DD4C000","region":null}]},{"id":"d197e8b2-5ec1-4d22-904b-d98a314ca8b2","directory":"the-kings-bird","title":"The King's Bird","compatibility":4,"releases":[{"id":"010020500BD98000","region":null}]},{"id":"d1a42825-d60b-4212-a5d3-905327a08b5f","directory":"fast-furious-spy-racers-rise-of-sh1ft3r","title":"Fast & Furious: Spy Racers Rise of SH1FT3R","compatibility":1,"releases":[{"id":"010034C013624000","region":null}]},{"id":"d1aee9c1-f8f5-414e-b2d2-c47c0f74a9fd","directory":"shadow-of-loot-box","title":"Shadow of Loot Box","compatibility":99,"releases":[{"id":"010051A00AAEA000","region":null}]},{"id":"d1be6636-c693-4f54-a9e2-66e5295f1450","directory":"funtime","title":"#Funtime","compatibility":99,"releases":[{"id":"01001E500F7FC000","region":null}]},{"id":"d1bf2326-5a7d-4b55-a0fd-c54694de62da","directory":"fates-of-ort","title":"Fates of Ort","compatibility":99,"releases":[{"id":"010087C014FD4000","region":null}]},{"id":"d1cff173-12ce-43a6-93f9-4602ca26cbcd","directory":"pokemon-tv","title":"Pokémon TV","compatibility":99,"releases":[{"id":"010009F014D98000","region":null}]},{"id":"d1d243ff-30e0-40b5-b6c9-a2bb406fba47","directory":"aca-neogeo-shock-troopers-2nd-squad","title":"ACA NEOGEO SHOCK TROOPERS 2nd Squad","compatibility":4,"releases":[{"id":"01004DE001DC8000","region":null}]},{"id":"d1da71b5-14db-4f16-8ca9-5ab9cd5efe36","directory":"desktop-dodgeball","title":"Desktop Dodgeball","compatibility":99,"releases":[{"id":"010056E00FA3A000","region":null}]},{"id":"d1dc2e04-ea88-4c32-8d70-0b42ee4b1164","directory":"blacksea-odyssey","title":"Blacksea Odyssey","compatibility":99,"releases":[{"id":"01006B400C178000","region":null}]},{"id":"d1f40ec1-3c38-4ce5-bd00-972131faed72","directory":"horror-adventure-pinball","title":"Horror & Adventure Pinball","compatibility":99,"releases":[{"id":"01004510164CC000","region":null}]},{"id":"d1f41128-7cf7-492f-bad1-53e745ff775e","directory":"slither-loop","title":"Slither Loop","compatibility":99,"releases":[{"id":"0100820012ADE000","region":null}]},{"id":"d202435b-f4b7-4db1-a122-23de0214fde9","directory":"alphaset-by-powgi","title":"Alphaset by POWGI","compatibility":99,"releases":[{"id":"010053B0123DC000","region":null}]},{"id":"d20c7626-0bd5-4e8a-825a-1bd34b55134f","directory":"dark-nights-with-poe-and-munro","title":"Dark Nights with Poe and Munro","compatibility":99,"releases":[{"id":"0100669011998000","region":null}]},{"id":"d20e9b02-7f30-4a49-a0b5-1a5a360e82b9","directory":"toridama-brave-challenge","title":"TORIDAMA: Brave Challenge","compatibility":99,"releases":[{"id":"0100D6700C3E6000","region":null}]},{"id":"d20eaad2-f177-40e8-8e22-378468e6a368","directory":"crysis-3-remastered","title":"Crysis 3 Remastered","compatibility":3,"releases":[{"id":"0100CD3010AE2000","region":null}]},{"id":"d21927b8-dd6a-464b-84d1-c8613f835bdb","directory":"ageless","title":"Ageless","compatibility":99,"releases":[{"id":"0100156011032000","region":null}]},{"id":"d21d93fa-6b44-48bc-8697-c4b11924b0a6","directory":"chefs-tail","title":"Chef's Tail","compatibility":99,"releases":[{"id":"010026D0153DC000","region":null}]},{"id":"d2234d6a-53c8-424a-abb8-2105502aaa86","directory":"xenon-valkyrie","title":"Xenon Valkyrie+","compatibility":4,"releases":[{"id":"010064200C324000","region":null}]},{"id":"d22541d7-6dfc-4c09-a3c6-9fbeaf6fdbc9","directory":"princess-closet","title":"Princess Closet","compatibility":2,"releases":[{"id":"010098201125E000","region":null}]},{"id":"d2256d10-d0dd-488a-81b7-e8e4d5637dd2","directory":"surgeon-simulator-cpr","title":"Surgeon Simulator CPR","compatibility":3,"releases":[{"id":"0100E7400B83E000","region":null}]},{"id":"d242cc49-8d05-46b8-92f3-89fc9c17a048","directory":"little-briar-rose","title":"Little Briar Rose","compatibility":99,"releases":[{"id":"010089400E4E2000","region":null}]},{"id":"d244dd22-df96-4b9f-9d85-5c299573aadd","directory":"vampyr","title":"VAMPYR","compatibility":1,"releases":[{"id":"01000BD00CE64000","region":null}]},{"id":"d245b6fb-6bf9-42d9-836d-11c3ccefce70","directory":"rock-n-racing-bundle-3-in-1","title":"Rock 'N Racing Bundle 3 in 1","compatibility":99,"releases":[{"id":"010061B013EB2000","region":null}]},{"id":"d24bf428-0193-43a4-a9a5-482532b18691","directory":"stick-it-to-the-man","title":"Stick It to The Man","compatibility":99,"releases":[{"id":"0100AD7003FF4000","region":null}]},{"id":"d24dd89c-a7a5-41d4-9149-24e7ac77fb3a","directory":"karma-knight","title":"Karma Knight","compatibility":2,"releases":[{"id":"01005300128E2000","region":null}]},{"id":"d251b0d3-483a-4281-83a0-14ebe4aca425","directory":"nowhere-prophet","title":"Nowhere Prophet","compatibility":99,"releases":[{"id":"0100CC1010464000","region":null}]},{"id":"d28d63c1-d79e-40a0-8a2c-89072a1c84d7","directory":"doom-r-eternal","title":"DOOM® Eternal","compatibility":4,"releases":[{"id":"0100B1A00D8CE000","region":null}]},{"id":"d2987bfe-b0a6-452d-a1ea-5c7fc2cc350c","directory":"city-stunt-driver","title":"City Stunt Driver","compatibility":99,"releases":[{"id":"010074A016842000","region":null}]},{"id":"d2aa6231-e793-44f5-af89-e97f88e5fe1f","directory":"arcade-archives-kiki-kaikai","title":"Arcade Archives KIKI KAIKAI","compatibility":99,"releases":[{"id":"0100A3B009838000","region":null}]},{"id":"d2b91a0d-0d81-4716-af89-f3db36baf92d","directory":"blair-witch","title":"Blair Witch","compatibility":0,"releases":[{"id":"01006CC01182C000","region":null}]},{"id":"d2bbc354-6dbc-475c-a920-e1d566467f4d","directory":"meteoroids-3d","title":"Meteoroids 3D","compatibility":99,"releases":[{"id":"0100D7D015A6C000","region":null}]},{"id":"d2c7778e-b902-4e7e-a7cd-2df387edd4c4","directory":"ninnindays","title":"NinNinDays","compatibility":5,"releases":[{"id":"0100746010E4C000","region":null}]},{"id":"d2ca20c3-7391-4229-a198-6c8fc5d14cec","directory":"bloodstained-ritual-of-the-night","title":"Bloodstained: Ritual of the Night","compatibility":0,"releases":[{"id":"0100BF500207C000","region":null}]},{"id":"d2d6dd75-a329-47e6-bb6d-40d4b7bf0391","directory":"last-encounter","title":"Last Encounter","compatibility":99,"releases":[{"id":"010067A00964E000","region":null}]},{"id":"d2dbf399-c80a-4e86-b0e5-2469df8e5f07","directory":"shmubedi-boo","title":"Shmubedi Boo","compatibility":99,"releases":[{"id":"0100ECD01165C000","region":null}]},{"id":"d2e4b5d9-c1f4-4d71-ac29-ce3b59174693","directory":"baobabs-mausoleum-grindhouse-edition","title":"Baobabs Mausoleum Grindhouse Edition","compatibility":99,"releases":[{"id":"01003370139D4000","region":null}]},{"id":"d2e9d740-7d1e-492c-b345-2f47560a5cd0","directory":"fire-emblem-three-houses","title":"Fire Emblem™: Three Houses","compatibility":1,"releases":[{"id":"010055D009F78000","region":null}]},{"id":"d3037026-9fbc-4fe5-b211-81d4c909f224","directory":"gridd-retroenhanced","title":"GRIDD: Retroenhanced","compatibility":99,"releases":[{"id":"0100197008B52000","region":null}]},{"id":"d324e114-3c28-41f1-91a4-f0578a5c4964","directory":"eekeemoo-splinters-of-the-dark-shard","title":"Eekeemoo - Splinters of the Dark Shard","compatibility":99,"releases":[{"id":"01006F900A298000","region":null}]},{"id":"d3294eef-1cb4-425e-bb8b-138975d46fbf","directory":"holy-potatoes-what-the-hell","title":"Holy Potatoes! What The Hell?!","compatibility":99,"releases":[{"id":"0100342009E16000","region":null}]},{"id":"d32c2561-2fa3-4197-8664-167204d37276","directory":"chess-brain","title":"Chess Brain","compatibility":99,"releases":[{"id":"0100CF9015A60000","region":null}]},{"id":"d32ee037-c307-497a-bb6a-ae9eefa9322b","directory":"l-o-l-surprise-remix-we-rule-the-world","title":"L.O.L. Surprise! Remix: We Rule The World","compatibility":99,"releases":[{"id":"0100F2B0123AE000","region":null}]},{"id":"d33a5314-a01b-4c40-b235-e3bd46289ad6","directory":"transient-extended-edition","title":"Transient: Extended Edition","compatibility":99,"releases":[{"id":"0100D080166F8000","region":null}]},{"id":"d33bd133-c30f-4da4-be1a-ff901d7360a3","directory":"astalon-tears-of-the-earth","title":"Astalon: Tears of the Earth","compatibility":99,"releases":[{"id":"01004A2013ACE000","region":null}]},{"id":"d34900ef-3d0a-49ef-baa0-eabc703b0a83","directory":"collection-of-saga-final-fantasy-legend","title":"COLLECTION of SaGa FINAL FANTASY LEGEND","compatibility":99,"releases":[{"id":"0100B77012266000","region":null}]},{"id":"d3598c85-4040-42dd-88d7-3af5cf1b0fac","directory":"new-frontier-days-~founding-pioneers~","title":"New Frontier Days ~Founding Pioneers~","compatibility":0,"releases":[{"id":"01004C200100E000","region":null}]},{"id":"d35bbe3b-4fbb-4245-acdd-47e40a2b712b","directory":"songbird-symphony","title":"Songbird Symphony","compatibility":99,"releases":[{"id":"0100E5400BF94000","region":null}]},{"id":"d36db1f0-f16a-4342-ac73-79788e1369d9","directory":"rise-race-the-future","title":"Rise: Race The Future","compatibility":0,"releases":[{"id":"01006BA00E652000","region":null}]},{"id":"d380f6ce-85b7-45fa-a705-c61224a01bdd","directory":"youkai-poetry","title":"Youkai Poetry","compatibility":99,"releases":[{"id":"010085D014E02000","region":null}]},{"id":"d38bf005-b14b-452d-94b7-914de329b22f","directory":"grood","title":"Grood","compatibility":99,"releases":[{"id":"01005240121F2000","region":null}]},{"id":"d38c61bf-e9ba-437e-849c-7b6d1e8944a6","directory":"pix-the-cat","title":"Pix the Cat","compatibility":99,"releases":[{"id":"010088800B72E000","region":null}]},{"id":"d395917d-3947-4620-8a5f-f65c48cc1de9","directory":"mask-of-mists","title":"Mask of Mists","compatibility":99,"releases":[{"id":"0100FFE011F0A000","region":null}]},{"id":"d399cc0c-d888-43c6-acbb-46558b532c02","directory":"xenon-racer","title":"Xenon Racer","compatibility":1,"releases":[{"id":"010026800BA16000","region":null}]},{"id":"d3c7759f-c161-45eb-9b3b-4f8c86b64f5d","directory":"assassins-creed-iii-remastered","title":"Assassin's Creed III: Remastered","compatibility":5,"releases":[{"id":"01007F600B134000","region":null}]},{"id":"d3c828fb-c216-4bff-92b0-53c10280f96c","directory":"drive-buy","title":"Drive Buy","compatibility":99,"releases":[{"id":"010093A0108DC000","region":null}]},{"id":"d3cd40fa-3e6b-423d-8ee6-de9c50bf8671","directory":"serious-scramblers","title":"Serious Scramblers","compatibility":99,"releases":[{"id":"0100C8C00FA10000","region":null}]},{"id":"d3f29998-0a92-43af-8475-d2589772f472","directory":"demetrios-demo","title":"Demetrios Demo","compatibility":99,"releases":[{"id":"0100CA300C5BA000","region":null}]},{"id":"d3ffc8c1-0cf4-4524-99c3-df007580c958","directory":"little-big-workshop","title":"Little Big Workshop","compatibility":4,"releases":[{"id":"0100F6B01188E000","region":null}]},{"id":"d40540ea-ce05-4291-b37a-f9107140a101","directory":"alphadia-genesis-2","title":"Alphadia Genesis 2","compatibility":99,"releases":[{"id":"01005CE015080000","region":null}]},{"id":"d417f438-90ee-49ea-8f67-336dd8a8b61a","directory":"route-me-mail-and-delivery-co","title":"Route Me Mail and Delivery Co","compatibility":99,"releases":[{"id":"01001C701481C000","region":null}]},{"id":"d41c70bf-abf9-41b9-9583-e17f157d972a","directory":"castle-of-heart","title":"Castle of Heart","compatibility":4,"releases":[{"id":"01003C100445C000","region":null}]},{"id":"d41c7b82-556f-4118-b045-60e3e172eacb","directory":"tanks-meet-zombies","title":"Tanks Meet Zombies","compatibility":99,"releases":[{"id":"010030B00C370000","region":null}]},{"id":"d4294b31-63cc-40d6-afa9-be5938d414e2","directory":"glo","title":"GLO","compatibility":99,"releases":[{"id":"010027C01545C000","region":null}]},{"id":"d42b87fc-4a91-4392-a070-45ea07993631","directory":"dragon-quest-builders-demo","title":"Dragon Quest Builders™ Demo","compatibility":99,"releases":[{"id":"0100C360070F6000","region":null}]},{"id":"d4560c63-d81e-49ed-8d18-8d2bd2a836f9","directory":"indygo","title":"Indygo","compatibility":99,"releases":[{"id":"01004C8012BB8000","region":null}]},{"id":"d459418d-4363-40c2-ba22-3de0da4f66db","directory":"xcom-r-2-collection","title":"XCOM® 2 Collection","compatibility":99,"releases":[{"id":"0100D0B00FB74000","region":null}]},{"id":"d45dc0d3-7ea2-428e-b0ee-0bd0694bd0ea","directory":"little-town-hero","title":"Little Town Hero","compatibility":1,"releases":[{"id":"01000FB00AA90000","region":null}]},{"id":"d4721e00-04c8-47a1-9aeb-1507b142ecb3","directory":"puyo-puyo-tetris","title":"Puyo Puyo Tetris","compatibility":0,"releases":[{"id":"010073C001D5E000","region":null}]},{"id":"d4783ffe-a52c-43ca-a7ce-2c70fe45e6dc","directory":"aca-neogeo-metal-slug-x","title":"ACA NEOGEO METAL SLUG X","compatibility":3,"releases":[{"id":"01008FD004DB6000","region":null}]},{"id":"d480d866-42ed-47d4-8153-ef9e0baec570","directory":"fruitfall-crush","title":"FruitFall Crush","compatibility":2,"releases":[{"id":"010038A007AA4000","region":null}]},{"id":"d48c0f2d-35e8-42c0-aa8c-3ef1e6be0222","directory":"gunmas-ambition-you-and-me-are-gunma-","title":"Gunma's Ambition  -You and me are Gunma-","compatibility":99,"releases":[{"id":"0100EC20101E4000","region":null}]},{"id":"d48e351b-7ceb-49ed-ae84-4e33498087be","directory":"pulstario","title":"Pulstario","compatibility":99,"releases":[{"id":"0100D61010526000","region":null}]},{"id":"d49c3734-881b-4a61-8e9c-3b68863ce01b","directory":"shinobi-spirits-s-legend-of-heroes","title":"Shinobi Spirits S: Legend of Heroes","compatibility":99,"releases":[{"id":"0100B0300E8B6000","region":null}]},{"id":"d4b52b6b-b051-49df-ad63-c46256997cbb","directory":"draw-chilly","title":"DRAW CHILLY","compatibility":99,"releases":[{"id":"01004C100FA84000","region":null}]},{"id":"d4c0fb54-92db-4d25-b1d5-663946c9b810","directory":"nostalgic-train","title":"NOSTALGIC TRAIN","compatibility":3,"releases":[{"id":"0100160014F22000","region":null}]},{"id":"d4d234e9-7cae-48ae-aaa2-a4df3fb2b619","directory":"the-count-lucanor","title":"The Count Lucanor","compatibility":4,"releases":[{"id":"01000850037C0000","region":null}]},{"id":"d4d9fada-1bbe-4c1b-b1d1-dde781ef3273","directory":"elea-paradigm-shift","title":"ELEA: Paradigm Shift","compatibility":99,"releases":[{"id":"010008E010012000","region":null}]},{"id":"d4e2a041-a7a8-4702-9d91-d27600841b7b","directory":"family-mysteries-3-criminal-mindset","title":"Family Mysteries 3: Criminal Mindset","compatibility":99,"releases":[{"id":"01001F0014C32000","region":null}]},{"id":"d4ec35a7-05e2-4cb7-9b60-66b8d0252df6","directory":"chronus-arc","title":"Chronus Arc","compatibility":99,"releases":[{"id":"0100E9F00CACC000","region":null}]},{"id":"d4f22e49-cb2d-4d37-ab91-d415068a7e08","directory":"the-bards-tale-arpg-remastered-and-resnarkled","title":"The Bard's Tale ARPG: Remastered and Resnarkled","compatibility":4,"releases":[{"id":"0100CD500DDAE000","region":null}]},{"id":"d5208571-4019-420a-a84e-2b19376c4d75","directory":"travel-mosaics-4-adventures-in-rio","title":"Travel Mosaics 4: Adventures In Rio","compatibility":99,"releases":[{"id":"010096D010BFE000","region":null}]},{"id":"d5293900-e532-49a3-9cf6-a198c70c2ed5","directory":"steven-universe-save-the-light","title":"Steven Universe: Save the Light","compatibility":1,"releases":[{"id":"010008C00B2F2000","region":null}]},{"id":"d52a5e97-8250-42a2-aea1-7e77139b74dd","directory":"active-life-outdoor-challenge","title":"ACTIVE LIFE Outdoor Challenge","compatibility":99,"releases":[{"id":"0100A21012AA6000","region":null}]},{"id":"d52b6ebb-aefa-4e73-bfe4-b5db0874dc77","directory":"double-dragon-and-kunio-kun-retro-brawler-bundle","title":"Double Dragon & Kunio-kun: Retro Brawler Bundle","compatibility":99,"releases":[{"id":"0100B1500E9F2000","region":null}]},{"id":"d531a3c3-c8b1-4af1-9be6-64d06232b197","directory":"abzu","title":"ABZÛ","compatibility":1,"releases":[{"id":"0100C1300BBC6000","region":null}]},{"id":"d53388e7-ef5b-429a-975c-3fb909854f44","directory":"little-squires-quests","title":"Little Squire's Quests","compatibility":99,"releases":[{"id":"0100DF9013D68000","region":null}]},{"id":"d535c1fe-d0dd-4788-926a-26d0f2d53c54","directory":"dadish-2","title":"Dadish 2","compatibility":99,"releases":[{"id":"0100BB70140BA000","region":null}]},{"id":"d54228d6-e050-49d9-abba-8545e31d3635","directory":"bad-north-demo","title":"Bad North Demo","compatibility":99,"releases":[{"id":"010075000D092000","region":null}]},{"id":"d5461cfb-32d3-411f-b5b5-86bc0abb80b0","directory":"fifa-19","title":"FIFA 19","compatibility":5,"releases":[{"id":"0100FFA0093E8000","region":null}]},{"id":"d5492eab-3190-4ab3-807f-8acd3cde5c2f","directory":"animal-fight-club","title":"Animal Fight Club","compatibility":99,"releases":[{"id":"010019500E642000","region":null}]},{"id":"d54e03bf-d6ad-46a7-a12a-e716a0fa3efc","directory":"agatha-christie-the-abc-murders","title":"Agatha Christie - The ABC Murders","compatibility":0,"releases":[{"id":"010087C011C4E000","region":null}]},{"id":"d55c97d3-9740-4eea-bc50-99bb51dcafca","directory":"re-zero-starting-life-in-another-world-the-prophecy-of-the-throne","title":"Re:ZERO -Starting Life in Another World- The Prophecy of the Throne","compatibility":4,"releases":[{"id":"01000B20117B8000","region":null}]},{"id":"d55d9443-4a65-49ae-b131-8bfd11ef288b","directory":"seeders-puzzle-reboot","title":"Seeders Puzzle Reboot","compatibility":99,"releases":[{"id":"0100F3000EBA8000","region":null}]},{"id":"d565a08d-50b9-420d-a14c-e93489ba0da0","directory":"regalia-of-men-and-monarchs-royal-edition","title":"Regalia: Of Men and Monarchs - Royal Edition","compatibility":0,"releases":[{"id":"0100FDF0083A6000","region":null}]},{"id":"d56a1ed5-0639-4a7f-9f35-dd70546cdc87","directory":"sturmwind-ex","title":"STURMWIND EX","compatibility":1,"releases":[{"id":"0100C5500E7AE000","region":null}]},{"id":"d5839014-25b7-4e55-bae2-97761dc1a574","directory":"capes-escape-game-5th-room","title":"Cape’s Escape Game 5th Room","compatibility":99,"releases":[{"id":"0100B2A016C9E000","region":null}]},{"id":"d58a5308-7ee9-4b11-8fe6-82ec8ba70e80","directory":"reptilian-rebellion","title":"Reptilian Rebellion","compatibility":5,"releases":[{"id":"010094800D3DA000","region":null}]},{"id":"d58b415b-7455-4eda-8ecc-771a47b40040","directory":"aca-neogeo-football-frenzy","title":"ACA NEOGEO FOOTBALL FRENZY","compatibility":99,"releases":[{"id":"0100EEA00AFB2000","region":null}]},{"id":"d58babc8-9dd3-4ec7-b85a-59c7bcfb74bf","directory":"neon-junctions","title":"Neon Junctions","compatibility":99,"releases":[{"id":"010085900E3B6000","region":null}]},{"id":"d59d24da-7535-4e53-a69f-77933ec87bd8","directory":"ellen","title":"Ellen","compatibility":0,"releases":[{"id":"010021A00E6CC000","region":null}]},{"id":"d59f68fd-a339-4781-99a2-5c917b6c2a19","directory":"yumeutsutsu-re-master","title":"Yumeutsutsu Re:Master","compatibility":99,"releases":[{"id":"01004FE0107EE000","region":null}]},{"id":"d5b0ad7a-feb4-4205-baa5-35e242ff5d97","directory":"dungeon-warfare","title":"Dungeon Warfare","compatibility":99,"releases":[{"id":"0100F8900E878000","region":null}]},{"id":"d5b79c2d-8b45-4eba-91ed-3244a40c344e","directory":"the-fox-awaits-me","title":"The Fox Awaits Me","compatibility":1,"releases":[{"id":"01002B400B590000","region":null}]},{"id":"d5ce0068-d035-4a3e-b518-bef11c80a6d5","directory":"hopping-girl-kohane-jumping-kingdom-princess-of-the-black-rabbit","title":"Hopping girl KOHANE Jumping Kingdom: Princess of the Black Rabbit","compatibility":0,"releases":[{"id":"010087800EE5A000","region":null}]},{"id":"d5d2c2b1-ddc2-43fa-ba1d-582e9af1d698","directory":"axiom-verge","title":"Axiom Verge","compatibility":1,"releases":[{"id":"0100052004384000","region":null}]},{"id":"d5f87365-3e1a-4a35-8fb1-c5a53d730cda","directory":"super-blood-hockey","title":"Super Blood Hockey","compatibility":99,"releases":[{"id":"010051A00D716000","region":null}]},{"id":"d5fb943a-bf87-44b8-ba84-64785ac5b01e","directory":"rush-rover","title":"Rush Rover","compatibility":99,"releases":[{"id":"0100E3A00A9D4000","region":null}]},{"id":"d601023f-3b84-4c05-b83b-c892a41bfbb5","directory":"popslinger","title":"PopSlinger","compatibility":99,"releases":[{"id":"0100809016D64000","region":null}]},{"id":"d60141a6-da08-4c48-b219-195af502cf41","directory":"skyscrappers","title":"SkyScrappers","compatibility":99,"releases":[{"id":"0100EA400BF44000","region":null}]},{"id":"d60753c7-48ac-4405-b452-42a5830a9819","directory":"ships","title":"Ships","compatibility":99,"releases":[{"id":"01000E800FCB4000","region":null}]},{"id":"d6082ea2-0a5e-4e25-8258-b414b6fc1eb4","directory":"final-fantasy-ix","title":"FINAL FANTASY IX","compatibility":2,"releases":[{"id":"01007EF00B094000","region":null}]},{"id":"d60fe27f-f278-4a35-a5b0-4dce43616040","directory":"troubleshooter","title":"Troubleshooter","compatibility":99,"releases":[{"id":"0100B5B0113CE000","region":null}]},{"id":"d61dc3fb-6850-4fa0-a17e-d23a130c36a8","directory":"the-lost-child","title":"The Lost Child","compatibility":1,"releases":[{"id":"01008A000A404000","region":null}]},{"id":"d61ec2f0-1458-4630-ad7f-72ffa9192988","directory":"power-racing-bundle-2","title":"Power Racing Bundle 2","compatibility":99,"releases":[{"id":"0100AD6013E1A000","region":null}]},{"id":"d62192f4-889a-4092-9e0a-81ed397e36cb","directory":"animal-learning-puzzle-for-toddlers-and-kids","title":"Animal Learning Puzzle for Toddlers and Kids","compatibility":99,"releases":[{"id":"01007F00145B6000","region":null}]},{"id":"d6244f63-69ed-4239-a815-da9773b5d60d","directory":"heroes-trials","title":"Heroes Trials","compatibility":99,"releases":[{"id":"010082800AE4C000","region":null}]},{"id":"d628ef3c-21d5-4e0a-8bd3-b417da47e1b4","directory":"constructor-plus","title":"Constructor Plus","compatibility":99,"releases":[{"id":"0100A330022C2000","region":null}]},{"id":"d62f5cad-9584-4752-bdeb-27f44d355ee1","directory":"raiders-of-the-north-sea","title":"Raiders of the North Sea","compatibility":99,"releases":[{"id":"010091700D826000","region":null}]},{"id":"d6468228-23f3-480b-8fc4-755b1982b029","directory":"driving-school-sim","title":"Driving School Sim","compatibility":0,"releases":[{"id":"0100DDB014698000","region":null}]},{"id":"d64fee46-d9e4-45cb-af2a-628110dec13a","directory":"exit-the-gungeon","title":"Exit the Gungeon","compatibility":1,"releases":[{"id":"0100DD30110CC000","region":null}]},{"id":"d6661332-1336-4ec0-9f1f-94e4254f8b9a","directory":"the-mims-beginning","title":"The Mims Beginning","compatibility":99,"releases":[{"id":"010044500F3C2000","region":null}]},{"id":"d6665235-fbc2-4d84-933f-37cf8b7970bd","directory":"monster-slayers","title":"Monster Slayers","compatibility":99,"releases":[{"id":"0100D1700C732000","region":null}]},{"id":"d666541e-b88d-46d2-94f0-ce1adf6a5a97","directory":"monster-jam-crush-it","title":"Monster Jam Crush It!","compatibility":4,"releases":[{"id":"010088400366E000","region":null}]},{"id":"d68026d7-a665-4f65-9de6-944882e1eebd","directory":"animal-super-squad","title":"Animal Super Squad","compatibility":1,"releases":[{"id":"0100EFE009424000","region":null}]},{"id":"d685107c-e479-4812-a418-62b07ed26705","directory":"farabel","title":"Farabel","compatibility":99,"releases":[{"id":"0100C9E00FD62000","region":null}]},{"id":"d685818e-069f-49cb-afa4-2b4676effb86","directory":"wunderling","title":"Wunderling","compatibility":3,"releases":[{"id":"01001C400482C000","region":null}]},{"id":"d68a1756-a68b-4fae-a8e0-f894a754879e","directory":"carnivores-dinosaur-hunt","title":"Carnivores: Dinosaur Hunt","compatibility":0,"releases":[{"id":"01005F5011AC4000","region":null}]},{"id":"d68d309e-e981-43e1-a7a8-d717a92cef44","directory":"moon-hunters","title":"Moon Hunters","compatibility":1,"releases":[{"id":"01004FD00382A000","region":null}]},{"id":"d6945473-69bd-47d3-add3-e40663eac4a5","directory":"red-bow","title":"Red Bow","compatibility":1,"releases":[{"id":"0100CF600FF7A000","region":null}]},{"id":"d6b5c1a5-a7c2-46d3-bfd1-5c76e81a4d44","directory":"pippu-bauble-quest","title":"Pippu - Bauble Quest","compatibility":99,"releases":[{"id":"0100313014CE6000","region":null}]},{"id":"d6bb68a7-4e66-4e95-896d-1a898c82c71f","directory":"dracula-frames","title":"Dracula Frames","compatibility":99,"releases":[{"id":"0100898015EA0000","region":null}]},{"id":"d6c52671-6269-4d10-b9eb-66e07e073063","directory":"baron-fur-is-gonna-fly","title":"Baron: Fur Is Gonna Fly","compatibility":99,"releases":[{"id":"010039C0106C6000","region":null}]},{"id":"d6c7f3c4-9d47-4831-8edc-17960bcd3908","directory":"neon-city-riders","title":"Neon City Riders","compatibility":3,"releases":[{"id":"0100A7B00FFC2000","region":null}]},{"id":"d6d3fa1d-4981-4930-8a5d-0edd4268d05c","directory":"cook-serve-delicious-2","title":"Cook, Serve, Delicious! 2!!","compatibility":2,"releases":[{"id":"0100FD800D594000","region":null}]},{"id":"d6d59c49-a2f5-448d-be55-c608f12ac3b1","directory":"travel-mosaics-6-christmas-around-the-world","title":"Travel Mosaics 6: Christmas Around the World","compatibility":99,"releases":[{"id":"0100D520119D6000","region":null}]},{"id":"d6df1dcc-462a-4f2e-8a46-2d63a76e5b55","directory":"yoko-yuki-dr-rats-revenge","title":"Yoko & Yuki: Dr. Rat's Revenge","compatibility":99,"releases":[{"id":"010008C014432000","region":null}]},{"id":"d70dfc47-dfe6-4b37-8efc-adc4892a4a57","directory":"we-know-the-devil","title":"We Know the Devil","compatibility":99,"releases":[{"id":"01004BD015930000","region":null}]},{"id":"d70f690a-86a1-4dc1-8c47-fbcb41768456","directory":"hardcore-maze-cube","title":"Hardcore Maze Cube","compatibility":99,"releases":[{"id":"0100D55011D60000","region":null}]},{"id":"d716a219-57d7-4a1d-9d02-ff88817b5c1a","directory":"awesome-pea","title":"Awesome Pea","compatibility":1,"releases":[{"id":"0100B8C00CFCE000","region":null}]},{"id":"d71b2335-dffc-44b4-8a43-aa36377b1a0d","directory":"aca-neogeo-twinkle-star-sprites","title":"ACA NEOGEO TWINKLE STAR SPRITES","compatibility":5,"releases":[{"id":"0100B8300AFD8000","region":null}]},{"id":"d71c3d7e-b897-46e5-b72e-4094e0b6a473","directory":"arcade-archives-moon-cresta","title":"Arcade Archives MOON CRESTA","compatibility":99,"releases":[{"id":"01000BE001DD8000","region":null}]},{"id":"d723694c-9d80-4b95-b26d-2601b7a8f782","directory":"anima-gate-of-memories","title":"Anima: Gate of Memories","compatibility":2,"releases":[{"id":"0100706005B6A000","region":null}]},{"id":"d728ca60-7a80-408d-987b-4ff9559d659e","directory":"elliot-quest","title":"Elliot Quest","compatibility":0,"releases":[{"id":"0100128003A24000","region":null}]},{"id":"d728f66e-d930-4794-878a-911216453d3f","directory":"klondike-solitaire","title":"Klondike Solitaire","compatibility":4,"releases":[{"id":"010079D00C8AE000","region":null}]},{"id":"d72d7133-7c09-472c-9178-56ddd1006ce8","directory":"escape-from-tethys","title":"Escape From Tethys","compatibility":99,"releases":[{"id":"010092901203A000","region":null}]},{"id":"d7316e6c-c8a2-4670-8124-c70523961b15","directory":"lost-horizon","title":"Lost Horizon","compatibility":3,"releases":[{"id":"010064200F7D8000","region":null}]},{"id":"d7347d15-5f89-4d4f-a0d6-0471d95bbfb4","directory":"almightree-the-last-dreamer","title":"Almightree: The Last Dreamer","compatibility":99,"releases":[{"id":"010063000C3CE000","region":null}]},{"id":"d73f2a6c-0fd4-4fe4-87a2-c64a1999ffd8","directory":"skul-the-hero-slayer","title":"Skul: The Hero Slayer","compatibility":0,"releases":[{"id":"0100ACF013E9A000","region":null}]},{"id":"d7467fac-0a86-4ec1-b1c3-26552cb31158","directory":"volleyball-challenge","title":"Volleyball Challenge","compatibility":99,"releases":[{"id":"010032D014A38000","region":null}]},{"id":"d7481411-eb40-472d-a5bf-0d9c3e0da0b4","directory":"metropolis-lux-obscura-demo","title":"Metropolis: Lux Obscura Demo","compatibility":99,"releases":[{"id":"0100BB500AAE6000","region":null}]},{"id":"d74ed31b-5e23-4620-95bf-4231c8aeda25","directory":"ayo-the-clown","title":"Ayo the Clown","compatibility":0,"releases":[{"id":"01006C6014878000","region":null}]},{"id":"d7619e6a-e353-4159-8410-9e64c6aa3ece","directory":"snipperclips-cut-it-out-together","title":"Snipperclips – Cut it out, together!","compatibility":0,"releases":[{"id":"0100704000B3A000","region":null}]},{"id":"d763e7f0-514a-4068-9421-4242182d02c3","directory":"spiritsphere-dx","title":"SpiritSphere DX","compatibility":99,"releases":[{"id":"01009D60080B4000","region":null}]},{"id":"d7666df1-e78b-48f7-865d-02ed0ef64284","directory":"aca-neogeo-the-last-blade-2","title":"ACA NEOGEO THE LAST BLADE 2","compatibility":4,"releases":[{"id":"0100699008792000","region":null}]},{"id":"d769a038-2360-4472-afed-ea5833e576ff","directory":"the-raven-remastered","title":"The Raven Remastered","compatibility":99,"releases":[{"id":"010058A00BF1C000","region":null}]},{"id":"d76d0e7f-fb0f-4abb-a048-c7c46c594b56","directory":"beats-runner","title":"Beats Runner","compatibility":99,"releases":[{"id":"010095200EA5E000","region":null}]},{"id":"d76f30f6-1b74-426e-8443-a17e46c7032c","directory":"640","title":"64.0","compatibility":99,"releases":[{"id":"0100EFE00E964000","region":null}]},{"id":"d771a0c2-0ef6-4f31-b4fe-34484d10f0e1","directory":"lego-r-marvel-super-heroes","title":"LEGO® Marvel™ Super Heroes","compatibility":99,"releases":[{"id":"01006F600FFC8000","region":null}]},{"id":"d77754c8-ce77-4b12-b28c-207a11d80486","directory":"new-york-mysteries-the-lantern-of-souls","title":"New York Mysteries: The Lantern of Souls","compatibility":99,"releases":[{"id":"010051801671C000","region":null}]},{"id":"d78b4acc-f275-423d-98cb-9f008565e50f","directory":"daemon-x-machina-prototype-missions","title":"DAEMON X MACHINA: Prototype Missions","compatibility":5,"releases":[{"id":"0100BF600D83A000","region":null}]},{"id":"d790af9a-03ef-4770-a46f-02a627893cff","directory":"rabi-ribi","title":"Rabi-Ribi","compatibility":0,"releases":[{"id":"01005BF00E4DE000","region":null}]},{"id":"d7983a9f-23af-4c8c-acf7-18dcc9929130","directory":"indie-gems-bundle-explosions-edition","title":"Indie Gems Bundle - Explosions Edition","compatibility":99,"releases":[{"id":"01004C300FCD4000","region":null}]},{"id":"d79bf50b-068f-417b-aa2c-10990f497e54","directory":"spaceship-curse","title":"Spaceship Curse","compatibility":99,"releases":[{"id":"01007E40136D8000","region":null}]},{"id":"d7a27863-6c7d-42a8-a711-c2bffcc840fb","directory":"machiknights-blood-bagos-","title":"MachiKnights -Blood bagos-","compatibility":99,"releases":[{"id":"0100F2400D434000","region":null}]},{"id":"d7a4fff4-4b7c-4ac3-909d-f4dfcb541f7f","directory":"figment","title":"Figment","compatibility":2,"releases":[{"id":"0100118009C68000","region":null}]},{"id":"d7b90751-492f-4f6c-9fa9-46ab6a0a8e28","directory":"vampire-the-masquerade-shadows-of-new-york","title":"Vampire: The Masquerade - Shadows of New York","compatibility":99,"releases":[{"id":"01002C301280E000","region":null}]},{"id":"d7ba4e5b-9bb3-4ead-ae31-7b19cf9bbd4c","directory":"jenny-leclue-detectivu","title":"Jenny LeClue - Detectivu","compatibility":99,"releases":[{"id":"0100C2700AEB8000","region":null}]},{"id":"d7bbc108-4e7f-45be-9010-d895e450e160","directory":"mike-dies","title":"Mike Dies","compatibility":99,"releases":[{"id":"0100D0B00AEFA000","region":null}]},{"id":"d7c4b996-06b5-4a77-b371-59ec650ac0fa","directory":"the-coma-2-vicious-sisters","title":"The Coma 2: Vicious Sisters","compatibility":2,"releases":[{"id":"0100B7C01169C000","region":null}]},{"id":"d7cb6045-ec59-4b49-8f7a-aa7a3733a384","directory":"aggelos","title":"Aggelos","compatibility":2,"releases":[{"id":"010004D00A9C0000","region":null}]},{"id":"d7e148a4-58c3-48c8-ac47-c80b64caaaa5","directory":"dawn-of-survivors-2","title":"Dawn of Survivors 2","compatibility":99,"releases":[{"id":"0100878014E22000","region":null}]},{"id":"d7eb9805-9473-4a97-b184-a009036d1c66","directory":"pocket-harvest","title":"Pocket Harvest","compatibility":99,"releases":[{"id":"010058C00E25A000","region":null}]},{"id":"d7f6915c-70d7-4a17-91ce-0278ad129837","directory":"ruined-king-a-league-of-legends-story","title":"Ruined King: A League of Legends Story™","compatibility":99,"releases":[{"id":"0100947013122000","region":null}]},{"id":"d7fb4d90-af27-4aff-abc4-e826ba7c08b9","directory":"candle-the-power-of-the-flame","title":"Candle: The Power of the Flame","compatibility":2,"releases":[{"id":"0100E4600B166000","region":null}]},{"id":"d80b85e5-a0fb-4cde-a8b4-541c0d91c188","directory":"crysis-2-remastered","title":"Crysis 2 Remastered","compatibility":3,"releases":[{"id":"0100582010AE0000","region":null}]},{"id":"d80d4c50-6082-4a0a-a187-1aab0d96cd3d","directory":"sports-pinball-bundle","title":"Sports Pinball Bundle","compatibility":99,"releases":[{"id":"0100F490151AA000","region":null}]},{"id":"d81b007e-3929-4409-bbbb-b773feb5b5a0","directory":"bacon-man-an-adventure","title":"Bacon Man: An Adventure","compatibility":2,"releases":[{"id":"0100EAF00E32E000","region":null}]},{"id":"d8223ab4-0a9e-4af8-bd29-bcb47765a700","directory":"necrobarista-final-pour","title":"Necrobarista - Final Pour -","compatibility":3,"releases":[{"id":"0100E64015370000","region":null}]},{"id":"d829859a-8f1c-4889-af67-04c42c18d010","directory":"rise-eterna","title":"Rise Eterna","compatibility":99,"releases":[{"id":"010015F014A5C000","region":null}]},{"id":"d82db4aa-3989-46ee-afb2-81b93d70132b","directory":"friday-the-13th-the-game-ultimate-slasher-edition","title":"Friday the 13th: The Game Ultimate Slasher Edition","compatibility":1,"releases":[{"id":"010092A00C4B6000","region":null}]},{"id":"d83882d1-7341-42ec-8472-bc815b5b77c3","directory":"ninja-striker","title":"Ninja Striker!","compatibility":99,"releases":[{"id":"010081D00A480000","region":null}]},{"id":"d83c61e4-c5a4-44cd-8b92-f1b6a481c209","directory":"anima-gate-of-memories-arcane-edition","title":"Anima: Gate of Memories - Arcane Edition","compatibility":2,"releases":[{"id":"010033F00B3FA000","region":null}]},{"id":"d8782742-ac16-4442-9bc9-7d1a90b71a11","directory":"driving-school-original","title":"Driving School Original","compatibility":99,"releases":[{"id":"01003FD00A02A000","region":null}]},{"id":"d87f369b-4830-4195-bfcc-90b58f03ce76","directory":"rainbows-toilets-unicorns","title":"Rainbows, toilets & unicorns","compatibility":99,"releases":[{"id":"01009D9010B9E000","region":null}]},{"id":"d887789a-f724-436a-abf5-fc806fbe94af","directory":"piczle-colors","title":"Piczle Colors","compatibility":99,"releases":[{"id":"010029600CD44000","region":null}]},{"id":"d88ecf98-a771-42ae-a6c2-2d986e0bc23a","directory":"we-should-talk","title":"We should talk.","compatibility":99,"releases":[{"id":"0100560010E3E000","region":null}]},{"id":"d892733a-387c-4d7a-8342-a21236137234","directory":"spidersolitaire-black","title":"SpiderSolitaire BLACK","compatibility":99,"releases":[{"id":"010082700C618000","region":null}]},{"id":"d8b69fdd-b1ef-4227-8b8a-b8fedcb1b15a","directory":"locomotion","title":"Locomotion","compatibility":99,"releases":[{"id":"0100708010800000","region":null}]},{"id":"d8bfaa4a-84da-48c4-a6c6-8607abfc7547","directory":"maria-the-witch","title":"Maria The Witch","compatibility":99,"releases":[{"id":"0100EB6005E90000","region":null}]},{"id":"d8d29a6a-bfc7-4c25-bd20-39b444eb2f2c","directory":"composer","title":"Composer","compatibility":0,"releases":[{"id":"0100BDA0165A6000","region":null}]},{"id":"d8e4737b-94d3-4ef8-8774-165f0d612a12","directory":"dinosaur-fossil-puzzles","title":"Dinosaur Fossil Puzzles","compatibility":99,"releases":[{"id":"0100B96015C94000","region":null}]},{"id":"d9063381-3ec8-46ad-b06f-ade2d6c413f4","directory":"animal-crossing-new-horizons-island-transfer-tool","title":"Animal Crossing: New Horizons Island Transfer Tool","compatibility":5,"releases":[{"id":"0100F38011CFE000","region":null}]},{"id":"d90675c0-2ab5-435d-b6e8-6e6472a8599f","directory":"unrailed","title":"Unrailed!","compatibility":5,"releases":[{"id":"010042C011476000","region":null}]},{"id":"d9154da6-bf4c-4b1d-9d94-5076036f18c5","directory":"digerati-presents-the-dungeon-crawl-vol-1","title":"Digerati Presents: The Dungeon Crawl Vol. 1","compatibility":2,"releases":[{"id":"010035D0121EC000","region":null}]},{"id":"d916405b-7b1c-4fc7-adfe-a709508a6eab","directory":"v-rally-4","title":"V-Rally 4","compatibility":2,"releases":[{"id":"010064400B138000","region":null}]},{"id":"d92616a9-b5e0-4bd4-9e84-bd3560305ac1","directory":"adams-venture-origins","title":"Adam's Venture™: Origins","compatibility":3,"releases":[{"id":"0100C0C0040E4000","region":null}]},{"id":"d92d6eda-6549-4403-b060-7235e392c83a","directory":"zenge","title":"Zenge","compatibility":99,"releases":[{"id":"01008DD0114AE000","region":null}]},{"id":"d934ef21-8915-4397-9aa5-badf6216369a","directory":"fall-of-light-darkest-edition","title":"Fall of Light: Darkest Edition","compatibility":1,"releases":[{"id":"01005A600BE60000","region":null}]},{"id":"d9383c45-e667-407c-9963-313d14cbf2ca","directory":"football-battle","title":"Football Battle","compatibility":99,"releases":[{"id":"01005F901566E000","region":null}]},{"id":"d93c9aaa-cd15-45fe-97d3-0d3de097ec33","directory":"diggerman","title":"Diggerman","compatibility":99,"releases":[{"id":"0100E4400C9A6000","region":null}]},{"id":"d9418c54-c9e5-41d7-82cb-54f1d8dd2fc7","directory":"red-square-escape-2","title":"Red Square Escape 2","compatibility":99,"releases":[{"id":"0100336015C9C000","region":null}]},{"id":"d942f99c-b439-4bb1-8e1f-fccae1150e85","directory":"bubble-shooter-fx","title":"Bubble Shooter FX","compatibility":99,"releases":[{"id":"0100C7C016454000","region":null}]},{"id":"d9498424-ba1e-4a9d-9d44-a9d3bb6b4e97","directory":"filmechanism","title":"FILMECHANISM","compatibility":99,"releases":[{"id":"01000F201542E000","region":null}]},{"id":"d94f8440-4b8d-4f85-add4-f4abaea4a72a","directory":"fantasy-strike","title":"Fantasy Strike","compatibility":0,"releases":[{"id":"0100944003820000","region":null}]},{"id":"d95c5eea-339d-467b-87b5-666ddf935fb8","directory":"metal-commando","title":"Metal Commando","compatibility":1,"releases":[{"id":"0100BE5015B7C000","region":null}]},{"id":"d96760e3-d400-48ad-a48f-0587b6408d2b","directory":"blue-reflection-second-light","title":"BLUE REFLECTION: Second Light","compatibility":3,"releases":[{"id":"010071C013390000","region":null}]},{"id":"d971d4b5-96cc-4f69-9e1f-5836927e0965","directory":"heroes-of-the-monkey-tavern","title":"Heroes of the Monkey Tavern","compatibility":1,"releases":[{"id":"0100352006A10000","region":null}]},{"id":"d9773332-1c8c-4609-8db0-4aa7c95ac156","directory":"mantis-burn-racing","title":"Mantis Burn Racing","compatibility":3,"releases":[{"id":"0100E98002F6E000","region":null}]},{"id":"d97a1052-c225-49e7-8dfa-3f5066ec300d","directory":"lego-city-undercover","title":"LEGO CITY Undercover","compatibility":1,"releases":[{"id":"01003A30012C0000","region":null}]},{"id":"d97dd4c0-39c6-4444-b826-3cf2d1908d3e","directory":"tamiku","title":"Tamiku","compatibility":99,"releases":[{"id":"010008A0128C4000","region":null}]},{"id":"d984a1db-aa05-46d6-8305-48c197d69eb0","directory":"turbo-skiddy-racing","title":"Turbo Skiddy Racing","compatibility":99,"releases":[{"id":"0100789014E26000","region":null}]},{"id":"d984cbcc-87f4-4393-8730-51e4f33f59e2","directory":"mx-vs-atv-all-out","title":"MX vs ATV All Out","compatibility":2,"releases":[{"id":"0100218011E7E000","region":null}]},{"id":"d98a3606-a089-48fb-83eb-9a8f5309c712","directory":"pixel-game-maker-series-werewolf-princess-kaguya","title":"Pixel Game Maker Series Werewolf Princess Kaguya","compatibility":3,"releases":[{"id":"0100859013CE6000","region":null}]},{"id":"d98e6ef8-6ce0-49bc-80bd-848b5a2da446","directory":"dead-synchronicity-tomorrow-comes-today","title":"Dead Synchronicity: Tomorrow Comes Today","compatibility":0,"releases":[{"id":"0100B410040F2000","region":null}]},{"id":"d9935299-e234-4546-91e8-7d8e5e31d93a","directory":"late-shift","title":"Late Shift","compatibility":99,"releases":[{"id":"0100055007B86000","region":null}]},{"id":"d997b974-3177-4091-b56d-a16af5dc6a7a","directory":"lost-lands-the-wanderer","title":"Lost Lands: The Wanderer","compatibility":99,"releases":[{"id":"0100AEC014C92000","region":null}]},{"id":"d99aa492-9a86-4cde-a2d1-76b2fb985866","directory":"alteric","title":"Alteric","compatibility":0,"releases":[{"id":"01004DB00935A000","region":null}]},{"id":"d9a29dc6-4b61-49c8-9b99-cd8f304e8c1d","directory":"fire-unghs-quest","title":"Fire: Ungh’s Quest","compatibility":99,"releases":[{"id":"010025C014798000","region":null}]},{"id":"d9ab34ff-9bf1-4c0d-ad9d-8767aa63cfdb","directory":"for-the-king","title":"For The King","compatibility":2,"releases":[{"id":"010069400B6BE000","region":null}]},{"id":"d9ac0026-c5e0-4cf0-9b9c-e45fe250d92f","directory":"aca-neogeo-art-of-fighting-2","title":"ACA NEOGEO ART OF FIGHTING 2","compatibility":4,"releases":[{"id":"010066600877E000","region":null}]},{"id":"d9b07875-7c0c-4a77-be7c-0b080588758b","directory":"the-great-ace-attorney-chronicles","title":"The Great Ace Attorney Chronicles","compatibility":0,"releases":[{"id":"010036E00FB20000","region":null}]},{"id":"d9c9e9c3-c5c3-41d2-8e89-d9f121676af9","directory":"dragon-quest-builders-2","title":"DRAGON QUEST BUILDERS 2","compatibility":2,"releases":[{"id":"010042000A986000","region":null}]},{"id":"d9ce454c-fe54-455f-8055-34fbe999e4dc","directory":"heart-chain-kitty","title":"Heart Chain Kitty","compatibility":99,"releases":[{"id":"010053C014E1A000","region":null}]},{"id":"d9dbef04-c3b9-4837-9a06-a192a999cac9","directory":"troubledays","title":"TroubleDays","compatibility":99,"releases":[{"id":"01005EA012430000","region":null}]},{"id":"d9e2fefe-9811-431a-83ea-60454d54a2ea","directory":"stealth","title":"Stealth","compatibility":99,"releases":[{"id":"01002BB013BF8000","region":null}]},{"id":"d9e9b661-e27d-4715-9e6d-73a08cb2e2f2","directory":"lumini","title":"Lumini","compatibility":99,"releases":[{"id":"010052B00B194000","region":null}]},{"id":"d9efb07c-f2eb-4060-a13c-4fedc9ca7b3f","directory":"lego-jurassic-world","title":"LEGO Jurassic World","compatibility":1,"releases":[{"id":"01001C100E772000","region":null}]},{"id":"d9f58c2d-3717-4af7-98e3-ca59b703d5fa","directory":"momolu-and-friends","title":"Momolu and Friends","compatibility":99,"releases":[{"id":"0100B6B015730000","region":null}]},{"id":"d9fd8635-f90c-4545-9c94-59189d564f59","directory":"motorsport-manager-for-nintendo-switch","title":"Motorsport Manager for Nintendo Switch","compatibility":1,"releases":[{"id":"01002A900D6D6000","region":null}]},{"id":"da0ac767-588d-485d-9a01-b9c11becce6e","directory":"paint-the-town-red","title":"Paint the Town Red","compatibility":99,"releases":[{"id":"010026E013EFC000","region":null}]},{"id":"da1add1b-4eec-4b87-9d6f-13c97275dfd1","directory":"parasomnia-verum","title":"Parasomnia Verum","compatibility":99,"releases":[{"id":"010055A015CE6000","region":null}]},{"id":"da1b224f-ade1-4945-97f4-9ad674e13834","directory":"die-for-valhalla","title":"Die for Valhalla!","compatibility":2,"releases":[{"id":"0100D98005E8C000","region":null}]},{"id":"da1d3b01-0136-48ce-bf47-c767adc61449","directory":"going-under","title":"Going Under","compatibility":1,"releases":[{"id":"01004D501113C000","region":null}]},{"id":"da385653-5743-48b0-bc11-c090634717d6","directory":"smash-reversi","title":"Smash Reversi","compatibility":99,"releases":[{"id":"01003C800CB9E000","region":null}]},{"id":"da3d011a-a65f-4087-99a4-a59d474a8f31","directory":"the-jackbox-party-pack-5","title":"The Jackbox Party Pack 5","compatibility":99,"releases":[{"id":"01006FE0096AC000","region":null}]},{"id":"da421095-f526-4b44-9ce8-5372f6ed7671","directory":"cotton-2-saturn-tribute","title":"COTTOn 2 - Saturn Tribute","compatibility":99,"releases":[{"id":"0100A18015268000","region":null}]},{"id":"da47bebd-8614-41c4-a1e9-c68ef285e670","directory":"inertial-drift","title":"Inertial Drift","compatibility":1,"releases":[{"id":"01002BD00F626000","region":null}]},{"id":"da492f06-5cf7-4d12-8919-d0039b3a094b","directory":"savage-halloween","title":"Savage Halloween","compatibility":1,"releases":[{"id":"01007130135E2000","region":null}]},{"id":"da518150-eeec-4374-adda-0e78a499cd36","directory":"gang-beasts","title":"Gang Beasts","compatibility":4,"releases":[{"id":"0100D58012E12000","region":null}]},{"id":"da571ffd-10d6-4742-8863-9b76d1423444","directory":"rush-rally-origins","title":"Rush Rally Origins","compatibility":5,"releases":[{"id":"0100EA00147A8000","region":null}]},{"id":"da60dc86-d21f-4e1b-ac3d-01b5bdda7d3d","directory":"the-dealer-simulator","title":"The Dealer Simulator","compatibility":99,"releases":[{"id":"01002FB013B8E000","region":null}]},{"id":"da6d87c2-16e7-4167-b32e-d48b7bcaf1d0","directory":"nicky-the-home-alone-golf-ball","title":"Nicky - The Home Alone Golf Ball","compatibility":99,"releases":[{"id":"010058800F860000","region":null}]},{"id":"da8aeb4f-e221-476e-98b9-e1791346d155","directory":"wytchwood","title":"Wytchwood","compatibility":99,"releases":[{"id":"01003750154D6000","region":null}]},{"id":"da8bae1a-6371-4c76-bb0f-045b977707e4","directory":"ace-invaders","title":"Ace Invaders","compatibility":2,"releases":[{"id":"0100189013E9C000","region":null}]},{"id":"da916662-5d0f-4b54-ab14-cf5853ce6a01","directory":"bit-trip-fate","title":"BIT.TRIP FATE","compatibility":99,"releases":[{"id":"0100744012D3E000","region":null}]},{"id":"dab9bdd8-50c5-494d-9d51-a730e2572387","directory":"shalnor-legends-sacred-lands","title":"Shalnor Legends: Sacred Lands","compatibility":99,"releases":[{"id":"0100B4900E008000","region":null}]},{"id":"dabd8a77-05fb-446d-89c6-f7a30c4a4c8b","directory":"titan-glory","title":"Titan Glory","compatibility":99,"releases":[{"id":"0100FE801185E000","region":null}]},{"id":"dac74b56-32dc-443a-b3d8-5dcbb57c1836","directory":"aca-neogeo-gururin","title":"ACA NEOGEO Gururin","compatibility":3,"releases":[{"id":"0100CE400A2FA000","region":null}]},{"id":"dadc95b7-16d7-44c3-a182-4e5a36aa4d8e","directory":"chess-knights-viking-lands","title":"Chess Knights: Viking Lands","compatibility":99,"releases":[{"id":"0100C51013902000","region":null}]},{"id":"dae411e3-69e2-4eac-a311-c34ba76f1cc6","directory":"guts-n-goals","title":"Guts 'N Goals","compatibility":99,"releases":[{"id":"01005930137AE000","region":null}]},{"id":"daefed59-5829-4f98-ada6-6aa48df7dadf","directory":"stab-stab-stab","title":"STAB STAB STAB!","compatibility":99,"releases":[{"id":"010095600F1A8000","region":null}]},{"id":"db0ad32b-1172-4711-9f2e-9543e6d7c40b","directory":"family-mysteries-2-echoes-of-tomorrow","title":"Family Mysteries 2: Echoes of Tomorrow","compatibility":99,"releases":[{"id":"0100335012D08000","region":null}]},{"id":"db336f39-2bf0-4f9f-9e6f-71dc20f968a6","directory":"rolling-sky-2","title":"Rolling Sky 2","compatibility":1,"releases":[{"id":"01007C900FD96000","region":null}]},{"id":"db34c34d-56a6-4b4e-83c1-f78c68304751","directory":"climbros","title":"Climbros","compatibility":0,"releases":[{"id":"01003FF011856000","region":null}]},{"id":"db477d45-923f-4384-9110-ff248601f665","directory":"rpg-maker-mv-player","title":"RPG Maker MV Player","compatibility":99,"releases":[{"id":"01008A900CB90000","region":null}]},{"id":"db7483b0-7014-4f9c-a156-c0ad701ffac0","directory":"sweets-swap","title":"Sweets Swap","compatibility":99,"releases":[{"id":"0100B280148F2000","region":null}]},{"id":"db77ef6f-3226-4a17-9fc7-337b8f3ac750","directory":"centipede-recharged","title":"Centipede: Recharged","compatibility":0,"releases":[{"id":"0100EA501521A000","region":null}]},{"id":"db82e6c5-02e4-497b-9ddf-1810f1672aea","directory":"active-soccer-2019","title":"Active Soccer 2019","compatibility":99,"releases":[{"id":"0100BEB00AAF8000","region":null}]},{"id":"dba0801c-4552-4dfb-b962-67a94032bb21","directory":"control-ultimate-edition-cloud-version","title":"Control Ultimate Edition - Cloud Version","compatibility":99,"releases":[{"id":"0100041013360000","region":null}]},{"id":"dbb67627-747f-44b5-b368-8efeac496145","directory":"teratopia","title":"Teratopia","compatibility":99,"releases":[{"id":"01001CC012CC4000","region":null}]},{"id":"dbc041ec-17b5-4c90-9965-0d535836c781","directory":"heaven-dust","title":"Heaven Dust","compatibility":1,"releases":[{"id":"010059100D928000","region":null}]},{"id":"dbc59aed-5347-443f-80a0-d0ad2a52ae7a","directory":"brawlout","title":"Brawlout","compatibility":2,"releases":[{"id":"01001FD0040F4000","region":null}]},{"id":"dbcd6318-fcc9-45ae-8753-de923ef56109","directory":"enchanted-path","title":"Enchanted Path","compatibility":99,"releases":[{"id":"0100C20015ED8000","region":null}]},{"id":"dbcf5f36-fdea-4cd6-bd2c-1b3359e21177","directory":"kissed-by-the-baddest-bidder","title":"Kissed by the Baddest Bidder","compatibility":3,"releases":[{"id":"0100F3A00F4CA000","region":null}]},{"id":"dbd4ebca-66ca-4b31-b4a2-444602e9a164","directory":"shovel-knight-specter-of-torment","title":"Shovel Knight: Specter of Torment","compatibility":1,"releases":[{"id":"01001180021FA000","region":null}]},{"id":"dbd8564d-4968-4021-b659-f89be5f79936","directory":"wildfire","title":"Wildfire","compatibility":99,"releases":[{"id":"0100D9D011E3C000","region":null}]},{"id":"dbd862a9-9da8-4f6f-861f-a9f35d00d1de","directory":"hopiko","title":"HoPiKo","compatibility":99,"releases":[{"id":"010071B00C904000","region":null}]},{"id":"dbda8252-26ad-4b3e-a3c9-08fbc63fd57b","directory":"one-deck-dungeon","title":"One Deck Dungeon","compatibility":99,"releases":[{"id":"0100B5D012F38000","region":null}]},{"id":"dbf5455f-3091-4825-ad4b-1b1639133788","directory":"balthazars-dream","title":"Balthazar's Dream","compatibility":99,"releases":[{"id":"0100BC400FB64000","region":null}]},{"id":"dbfd4c12-f014-4626-b76f-0e4d6c3e259e","directory":"sinless","title":"Sinless","compatibility":99,"releases":[{"id":"0100B8800F858000","region":null}]},{"id":"dc04ed01-0da9-4ddc-8c8b-42b348c722ba","directory":"puppies-and-kittens","title":"PUPPIES AND KITTENS","compatibility":99,"releases":[{"id":"0100A0E014C6C000","region":null}]},{"id":"dc1438f6-a98f-4058-b3fa-115a1087680e","directory":"estranged-the-departure","title":"Estranged: The Departure","compatibility":99,"releases":[{"id":"01004F9012FD8000","region":null}]},{"id":"dc1eef19-3da2-46ab-8167-58976d8026b8","directory":"pyre-on-fire-ten-pages","title":"Pyre on Fire: Ten Pages","compatibility":99,"releases":[{"id":"0100375013B56000","region":null}]},{"id":"dc2a3201-74bf-4dbd-8aeb-03952ec19faf","directory":"haven-park","title":"Haven Park","compatibility":99,"releases":[{"id":"0100E390155E4000","region":null}]},{"id":"dc2add31-bdc3-4e5e-9bc4-920f3636383a","directory":"kowloon-high-school-chronicle","title":"Kowloon High-School Chronicle","compatibility":1,"releases":[{"id":"0100FF70134BA000","region":null}]},{"id":"dc391bac-5d74-4a3c-a6df-d578a02b5f8e","directory":"crown-trick","title":"Crown Trick","compatibility":0,"releases":[{"id":"0100059012BAE000","region":null}]},{"id":"dc3e4cdf-2e6d-4cc4-acfd-c6f641481874","directory":"pathway","title":"Pathway","compatibility":99,"releases":[{"id":"0100114014724000","region":null}]},{"id":"dc50e778-ab1b-496e-a4f6-8187c31e8c8b","directory":"deadly-premonition-origins","title":"Deadly Premonition Origins","compatibility":0,"releases":[{"id":"0100EBE00F22E000","region":null}]},{"id":"dc5a9821-1b56-4538-8d51-70ed8ad1fa31","directory":"super-shape-shooter","title":"Super Shape Shooter","compatibility":99,"releases":[{"id":"0100C2201475C000","region":null}]},{"id":"dc5ba2ad-747b-4128-ba56-a477093bff72","directory":"zeus-quests-remastered","title":"Zeus Quests Remastered","compatibility":99,"releases":[{"id":"0100EE200B764000","region":null}]},{"id":"dc69a363-c648-42c3-a3a9-17dc858834cd","directory":"containment","title":"Containment","compatibility":99,"releases":[{"id":"0100589010EFE000","region":null}]},{"id":"dc73cdf7-0640-4a65-a282-8ebf4179d9bc","directory":"discmaster","title":"Discmaster","compatibility":99,"releases":[{"id":"0100D7800C4DC000","region":null}]},{"id":"dc742099-201d-4ed4-9d49-19f3cfaa5bc0","directory":"yoga-master","title":"YOGA MASTER","compatibility":4,"releases":[{"id":"01001B6010D58000","region":null}]},{"id":"dc807ac8-ad9b-412e-840d-bba4bebe1da0","directory":"burger-master","title":"Burger Master","compatibility":99,"releases":[{"id":"0100AC30143E6000","region":null}]},{"id":"dc813496-a802-4924-b86d-9f824a43e725","directory":"spell-casting-purrfectly-portable-edition","title":"Spell Casting: Purrfectly Portable Edition","compatibility":99,"releases":[{"id":"0100C3300C3F2000","region":null}]},{"id":"dc8a5aee-d03a-4e6e-a8fe-bd0a949b7ee9","directory":"dogworld","title":"Dogworld","compatibility":99,"releases":[{"id":"01001BB014EB6000","region":null}]},{"id":"dc8cb034-2bfa-493e-8a01-f77700aa6fc2","directory":"never-give-up","title":"Never Give Up","compatibility":99,"releases":[{"id":"01005AD00B91A000","region":null}]},{"id":"dca24cf6-1b76-407c-a20b-04197d552e35","directory":"i-saw-black-clouds","title":"I Saw Black Clouds","compatibility":1,"releases":[{"id":"01001860140B0000","region":null}]},{"id":"dcbd38d9-8e11-459d-a4c4-5b36f5a799e5","directory":"passpartout-the-starving-artist","title":"Passpartout: The Starving Artist","compatibility":99,"releases":[{"id":"0100CE600B7B4000","region":null}]},{"id":"dccd9a55-9329-4a58-b6b1-aefb58e6eac8","directory":"lost-phone-stories","title":"Lost Phone Stories","compatibility":99,"releases":[{"id":"010046600B76A000","region":null}]},{"id":"dccdb533-3bc0-41db-ac80-33565a7dee54","directory":"shapeshooter","title":"Shapeshooter","compatibility":99,"releases":[{"id":"01003E20153E2000","region":null}]},{"id":"dcd8f573-1ae3-4f78-b236-360115201392","directory":"blue-fire","title":"Blue Fire","compatibility":3,"releases":[{"id":"010073B010F6E000","region":null}]},{"id":"dce55542-618e-4b4d-9950-d732d1f82f62","directory":"ultrawings","title":"Ultrawings","compatibility":0,"releases":[{"id":"0100DAF00B620000","region":null}]},{"id":"dced43a6-312f-4a27-812d-7eea7133fefd","directory":"pokemon-lets-go-eevee","title":"Pokémon: Let’s Go, Eevee!","compatibility":0,"releases":[{"id":"0100187003A36000","region":null}]},{"id":"dd076fb9-9d68-45ff-b242-1b942c56de78","directory":"rising-hell","title":"Rising Hell","compatibility":0,"releases":[{"id":"010020C012F48000","region":null}]},{"id":"dd18a428-de08-40ef-9f0d-4d056725f338","directory":"king-lucas","title":"King Lucas","compatibility":99,"releases":[{"id":"0100E6B00FFBA000","region":null}]},{"id":"dd1d8e40-77e3-46f9-bc3c-70fe7c6fa5db","directory":"crime-opera-the-butterfly-effect","title":"Crime Opera: The Butterfly Effect","compatibility":99,"releases":[{"id":"01009B00144FC000","region":null}]},{"id":"dd2400d3-9550-450e-8718-bda2e2ae6547","directory":"joe-devers-lone-wolf","title":"Joe Dever's Lone Wolf","compatibility":0,"releases":[{"id":"0100D49008748000","region":null}]},{"id":"dd2fd8e2-7451-40ad-a710-8438a840c285","directory":"collidalot-demo","title":"Collidalot Demo","compatibility":99,"releases":[{"id":"010075100D450000","region":null}]},{"id":"dd32b64b-4557-4d57-9c79-0b07c89a2d05","directory":"toon-shooters-2","title":"Toon Shooters 2","compatibility":99,"releases":[{"id":"0100D31013F24000","region":null}]},{"id":"dd3cd1f0-108c-43ef-86f3-6f21f9857434","directory":"river-city-ransom","title":"River City Ransom","compatibility":1,"releases":[{"id":"0100CE300E48C000","region":null}]},{"id":"dd3d4b87-c573-4c6a-97de-a49aa61e850b","directory":"color-zen-kids","title":"Color Zen Kids","compatibility":99,"releases":[{"id":"0100DDA00C0BC000","region":null}]},{"id":"dd499a3d-348b-4aab-bbb8-c089fa59c33f","directory":"super-meat-boy-forever","title":"Super Meat Boy Forever","compatibility":4,"releases":[{"id":"01009C200D60E000","region":null}]},{"id":"dd4e0167-408b-48dc-8a64-d0b3b8a64ff9","directory":"tick-tock-a-tale-for-two","title":"Tick Tock: A Tale for Two","compatibility":99,"releases":[{"id":"0100E9000C42C000","region":null}]},{"id":"dd4e8642-258d-486e-928c-de2b99ded1f2","directory":"touchbattletanksp","title":"TouchBattleTankSP","compatibility":1,"releases":[{"id":"01000EC007C22000","region":null}]},{"id":"dd5b36f2-d14a-40af-b17d-b8105dfb0afe","directory":"funny-farm-animal-jigsaw-puzzle-game-for-kids-and-toddlers","title":"Funny Farm Animal Jigsaw Puzzle Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100CB40153AE000","region":null}]},{"id":"dd5ddf2f-1651-494a-b284-332690a21fb5","directory":"shisen-sho-nikakudori","title":"Shisen-Sho NIKAKUdori","compatibility":99,"releases":[{"id":"0100FEE01316E000","region":null}]},{"id":"dd6f1b4d-f4db-40f7-8db9-e0fd3d68d5bc","directory":"my-little-icecream-booth","title":"My little IceCream Booth","compatibility":99,"releases":[{"id":"0100386013F8A000","region":null}]},{"id":"dd78bf8d-00e6-43cd-988f-75a449f0c0d1","directory":"america-wild-hunting","title":"America Wild Hunting","compatibility":99,"releases":[{"id":"010090B014218000","region":null}]},{"id":"dd7d5009-6afe-4636-8fda-8e5673518ca4","directory":"nurse-love-addiction","title":"Nurse Love Addiction","compatibility":0,"releases":[{"id":"01009F401002E000","region":null}]},{"id":"dd7dc035-4713-4da4-8a14-a2f0d23f4321","directory":"one-person-story","title":"One Person Story","compatibility":99,"releases":[{"id":"010076600FD64000","region":null}]},{"id":"dd80d851-bbba-49b3-9b45-34c462f8913f","directory":"mechanika","title":"MechaNika","compatibility":99,"releases":[{"id":"0100A7900BADA000","region":null}]},{"id":"dd829ae1-fdf8-4714-9f4c-0b98dc9ea5ae","directory":"911-operator-deluxe-edition","title":"911 Operator Deluxe Edition","compatibility":99,"releases":[{"id":"01000360107BC000","region":null}]},{"id":"dd91c81b-9184-4945-8451-bb858830e6b2","directory":"boxing-champs","title":"Boxing Champs","compatibility":99,"releases":[{"id":"0100AAB00E524000","region":null}]},{"id":"dd9e8fde-e849-429c-89af-bc1824871f45","directory":"crystal-ortha","title":"Crystal Ortha","compatibility":99,"releases":[{"id":"01008FA012FC0000","region":null}]},{"id":"ddac21d3-298a-4738-b411-bd3240fe6175","directory":"deltarune-chapter-1","title":"DELTARUNE Chapter 1","compatibility":1,"releases":[{"id":"010023800D64A000","region":null}]},{"id":"ddafe4df-1c97-4e47-acc3-14fbcfc91693","directory":"prinny-r-2-dawn-of-operation-panties-dood","title":"Prinny® 2: Dawn of Operation Panties, Dood!","compatibility":99,"releases":[{"id":"01008FA01187A000","region":null}]},{"id":"ddb09f34-4eb6-421d-8ccb-8e58a1ba545d","directory":"aca-neogeo-pleasure-goal-5-on-5-mini-soccer","title":"ACA NEOGEO PLEASURE GOAL: 5 ON 5 MINI SOCCER","compatibility":4,"releases":[{"id":"0100C2400AFCC000","region":null}]},{"id":"ddb3d37c-abf3-494d-9fad-287debe30a32","directory":"life-of-boris-super-slav","title":"Life of Boris: Super Slav","compatibility":99,"releases":[{"id":"01003AB012F00000","region":null}]},{"id":"ddbd0ebb-710a-4f00-a785-8124048a6fe9","directory":"legend-of-the-skyfish","title":"Legend of the Skyfish","compatibility":0,"releases":[{"id":"0100ECC00EF3C000","region":null}]},{"id":"ddc745a4-95a1-4b2c-b9a8-0d94c5d1a61b","directory":"this-war-of-mine-complete-edition","title":"This War of Mine: Complete Edition","compatibility":5,"releases":[{"id":"0100A8700BC2A000","region":null}]},{"id":"ddd170db-a9ff-422b-af80-d59709d1665e","directory":"skybolt-zack","title":"Skybolt Zack","compatibility":0,"releases":[{"id":"010041C01014E000","region":null}]},{"id":"ddd19536-127e-40fc-b1da-2f89f7598300","directory":"solitaire-spider-minimal","title":"Solitaire Spider Minimal","compatibility":99,"releases":[{"id":"0100A73012A74000","region":null}]},{"id":"ddd7f510-6ad5-4773-9ac3-78d1850eb61f","directory":"hollow-2","title":"Hollow 2","compatibility":99,"releases":[{"id":"01007DE016E9E000","region":null}]},{"id":"ddd90bcb-510a-4d59-92ab-49bb6faeb13a","directory":"9-monkeys-of-shaolin","title":"9 Monkeys of Shaolin","compatibility":99,"releases":[{"id":"010005E00E2BC000","region":null}]},{"id":"dde06d13-615d-4a17-9f07-cb9969deb9b6","directory":"ittle-dew","title":"Ittle Dew","compatibility":0,"releases":[{"id":"01005070088E0000","region":null}]},{"id":"dde93dea-a89d-45f6-9b9a-3d29868dabc0","directory":"a-hat-in-time","title":"A Hat in Time","compatibility":2,"releases":[{"id":"010056E00853A000","region":null}]},{"id":"ddf03c65-2c18-44a8-ae34-ce6dfa6f6d63","directory":"dreamo","title":"DREAMO","compatibility":5,"releases":[{"id":"0100D24013466000","region":null}]},{"id":"ddf2e573-e141-49ed-9b4c-b27ab115424f","directory":"dragon-pinball","title":"Dragon Pinball","compatibility":99,"releases":[{"id":"010026400DE10000","region":null}]},{"id":"ddf306b6-c0da-4734-a882-43f98eb89f7c","directory":"onimusha-warlords","title":"Onimusha: Warlords","compatibility":1,"releases":[{"id":"0100416008A12000","region":null}]},{"id":"ddffb260-eb1f-4f4a-9255-7296744ff114","directory":"where-angels-cry","title":"Where Angels Cry","compatibility":99,"releases":[{"id":"010027D011C9C000","region":null}]},{"id":"de021930-fa99-4395-ae43-7157e32a830b","directory":"vitamin-connection","title":"Vitamin Connection","compatibility":0,"releases":[{"id":"010088900E330000","region":null}]},{"id":"de100759-8d9f-4e46-b6e1-e4ce0ca6b976","directory":"pixel-game-maker-series-shiba-mekuri","title":"Pixel Game Maker Series Shiba Mekuri","compatibility":99,"releases":[{"id":"0100B3901642C000","region":null}]},{"id":"de16b03c-4b64-4179-b6d5-c554656d92ca","directory":"20-ladies","title":"20 Ladies","compatibility":99,"releases":[{"id":"0100DB6015A80000","region":null}]},{"id":"de1a3c4c-32a1-4e89-8204-4646e83e1181","directory":"mary-skelter-finale","title":"Mary Skelter Finale","compatibility":0,"releases":[{"id":"0100530014438000","region":null}]},{"id":"de1e393c-bfa7-4e7e-8160-ac400d1639dc","directory":"arcade-archives-bomb-jack","title":"Arcade Archives BOMB JACK","compatibility":5,"releases":[{"id":"0100192009824000","region":null}]},{"id":"de205856-a8f7-4898-ab48-895f9eda477f","directory":"jin-conception","title":"Jin Conception","compatibility":99,"releases":[{"id":"01005E3014C3E000","region":null}]},{"id":"de266e3c-992e-46d6-97b4-d9fab4601424","directory":"being-stronger-while-playing-silverstar-go-dx","title":"Being Stronger While Playing! SilverStar Go DX","compatibility":3,"releases":[{"id":"0100092011764000","region":null}]},{"id":"de2b19a4-41eb-47a0-8037-3ca8d378f752","directory":"mad-games-tycoon","title":"Mad Games Tycoon","compatibility":0,"releases":[{"id":"010061E00EB1E000","region":null}]},{"id":"de2e1ab8-6a72-4533-a524-f2523ae15869","directory":"disgaea-5-complete","title":"Disgaea 5 Complete","compatibility":2,"releases":[{"id":"01005700031AE000","region":null}]},{"id":"de311e13-a6e9-4ab0-bd6e-d5f1868cf4f3","directory":"pen-and-paper-games-bundle","title":"Pen and Paper Games Bundle","compatibility":99,"releases":[{"id":"01005B9011830000","region":null}]},{"id":"de324337-e934-458c-bc0d-9e311a715f68","directory":"spectacular-sparky","title":"Spectacular Sparky","compatibility":99,"releases":[{"id":"010009F011FB2000","region":null}]},{"id":"de5079c3-d709-4ce5-b09e-e5814ca4cbca","directory":"arcade-archives-formation-z","title":"Arcade Archives FORMATION Z","compatibility":99,"releases":[{"id":"0100045010A28000","region":null}]},{"id":"de595f46-4317-455c-80e0-efb07a7a1265","directory":"satazius-next","title":"Satazius NEXT","compatibility":1,"releases":[{"id":"01009580113A4000","region":null}]},{"id":"de5b5cb9-0303-4881-a1c6-8c0c261ba848","directory":"oddworld-strangers-wrath","title":"Oddworld: Stranger's Wrath","compatibility":3,"releases":[{"id":"01002EA00ABBA000","region":null}]},{"id":"de72bace-25aa-41dd-8c64-333be7834a0f","directory":"hide-dance","title":"Hide & Dance!","compatibility":99,"releases":[{"id":"0100CA7012CD6000","region":null}]},{"id":"de74feeb-5c7e-4c3b-8570-e89a47156cf7","directory":"dragon-hills","title":"Dragon Hills","compatibility":99,"releases":[{"id":"0100A6B016248000","region":null}]},{"id":"de755c27-d0d3-461d-aaf8-9ae51a6958ce","directory":"holy-potatoes-a-weapon-shop","title":"Holy Potatoes! A Weapon Shop?!","compatibility":0,"releases":[{"id":"0100FC5009E10000","region":null}]},{"id":"de77cabc-287d-4ab7-9643-9ef223a99cad","directory":"space-robinson","title":"Space Robinson","compatibility":0,"releases":[{"id":"0100795011D68000","region":null}]},{"id":"de7f1704-5dca-401b-b05c-80301e02a203","directory":"rangerdog","title":"Rangerdog","compatibility":99,"releases":[{"id":"0100341015246000","region":null}]},{"id":"de890c60-066c-44ee-ade0-7013e78784f5","directory":"deuces-wild-video-poker","title":"Deuces Wild - Video Poker","compatibility":99,"releases":[{"id":"0100B3501283E000","region":null}]},{"id":"de8bdad0-e51c-4d62-a830-cff44372ff69","directory":"rugby-challenge-4","title":"Rugby Challenge 4","compatibility":99,"releases":[{"id":"010009B00D33C000","region":null}]},{"id":"deb09593-d69c-459b-a92e-fbb93fba4356","directory":"fracter","title":"FRACTER","compatibility":0,"releases":[{"id":"010018F010CD2000","region":null}]},{"id":"ded05c93-46b5-45a1-b095-ac6158d44e6f","directory":"warborn","title":"WARBORN","compatibility":99,"releases":[{"id":"010054900F51A000","region":null}]},{"id":"defe3a6b-aaea-47b9-83c0-ae3ad59af1c1","directory":"dungeon-munchies","title":"Dungeon Munchies","compatibility":99,"releases":[{"id":"0100A610167C4000","region":null}]},{"id":"df0247ae-1b73-4790-9113-fd810933fda9","directory":"world-splitter","title":"World Splitter","compatibility":99,"releases":[{"id":"010095D014950000","region":null}]},{"id":"df1823c8-f8cc-4def-9305-039174612e1d","directory":"moonlighter","title":"Moonlighter","compatibility":0,"releases":[{"id":"0100F4700B2E0000","region":null}]},{"id":"df196b62-a491-462b-86c9-f4b132468c00","directory":"the-long-gate","title":"The Long Gate","compatibility":99,"releases":[{"id":"0100E3A013DB2000","region":null}]},{"id":"df1cf2b6-28dd-460b-8749-a3edfa8e257c","directory":"american-man","title":"American Man","compatibility":99,"releases":[{"id":"01004280160C0000","region":null}]},{"id":"df23606e-f4f4-4336-82b3-749f65064a33","directory":"persephone","title":"Persephone","compatibility":99,"releases":[{"id":"01005EB013FBA000","region":null}]},{"id":"df4043f9-3ce3-44c0-8992-9a1b1a8a1aea","directory":"ultra-foodmess","title":"Ultra Foodmess","compatibility":99,"releases":[{"id":"0100C4801223C000","region":null}]},{"id":"df489554-e3bb-4f05-8713-27ae81ddc9db","directory":"yuppie-psycho-executive-edition","title":"Yuppie Psycho: Executive Edition","compatibility":99,"releases":[{"id":"0100307011C44000","region":null}]},{"id":"df7efe92-560d-48f1-9e66-e26e9d3ccd10","directory":"warparty","title":"Warparty","compatibility":99,"releases":[{"id":"010035A00D4E6000","region":null}]},{"id":"df88b0fe-e669-4def-ae37-5f677fa15fd6","directory":"super-monkey-ball-banana-mania","title":"Super Monkey Ball Banana Mania","compatibility":1,"releases":[{"id":"010001701248C000","region":null}]},{"id":"df964e81-c068-41e5-99a1-8b28922f74a3","directory":"muse-dash","title":"Muse Dash","compatibility":0,"releases":[{"id":"01008E200C5C2000","region":null}]},{"id":"df9ae8a6-b9e9-4d8d-a1ac-8243976cfe9e","directory":"arcade-archives-black-heart","title":"Arcade Archives BLACK HEART","compatibility":99,"releases":[{"id":"010015E015676000","region":null}]},{"id":"df9f947e-c4af-4ae4-9f0a-359852e5c1b9","directory":"closer","title":"CLOSER","compatibility":99,"releases":[{"id":"0100358015762000","region":null}]},{"id":"dfa6abb4-4f0c-43f7-bf22-18af62be8963","directory":"melbits-world","title":"Melbits World","compatibility":99,"releases":[{"id":"01000FA010340000","region":null}]},{"id":"dfadaed0-7ec2-49e0-b730-b19aa64b9b2c","directory":"amnesia-collection","title":"Amnesia: Collection","compatibility":3,"releases":[{"id":"01003CC00D0BE000","region":null}]},{"id":"dfb92790-5b45-4627-bb2b-ec7ef623f09d","directory":"ace-strike","title":"Ace Strike","compatibility":99,"releases":[{"id":"010052E0146C0000","region":null}]},{"id":"dfc51c13-9d75-4a53-a05d-177d97f65704","directory":"amazing-princess-sarah","title":"Amazing Princess Sarah","compatibility":0,"releases":[{"id":"01006720150DA000","region":null}]},{"id":"dfd212b3-88eb-46b0-bf5f-d3a9ac15404a","directory":"vasara-collection","title":"VASARA Collection","compatibility":99,"releases":[{"id":"0100FE200AF48000","region":null}]},{"id":"dfdea820-6d2b-4a9c-96be-fe1a7af22fd5","directory":"summer-paws","title":"Summer Paws","compatibility":99,"releases":[{"id":"0100BD401493A000","region":null}]},{"id":"dffb9d5a-f9ce-4acf-a827-c2a40ef53d66","directory":"arcade-archives-ninja-kid","title":"Arcade Archives Ninja-Kid","compatibility":99,"releases":[{"id":"0100369001DDC000","region":null}]},{"id":"dffe1ba0-3ebe-4ebd-92c0-2d94516c0daf","directory":"colorfall","title":"Colorfall","compatibility":0,"releases":[{"id":"0100C8A014BB0000","region":null}]},{"id":"e003cc87-4bb7-46eb-bdd8-ab323a3870cd","directory":"legend-of-the-tetrarchs","title":"Legend of the Tetrarchs","compatibility":99,"releases":[{"id":"01007E900DFB6000","region":null}]},{"id":"e00bc067-188a-4d51-bbe9-0e2c0d6f8a7e","directory":"car-driving-school-simulator","title":"Car Driving School Simulator","compatibility":99,"releases":[{"id":"01001B7012A3E000","region":null}]},{"id":"e0140c5f-1e37-45af-b429-96932abf8617","directory":"retro-classix-2-in-1-pack-heavy-barrel-super-burger-time","title":"Retro Classix 2-in-1 Pack: Heavy Barrel & Super Burger Time","compatibility":99,"releases":[{"id":"0100254012184000","region":null}]},{"id":"e015a033-0318-40eb-b975-2c4285effe61","directory":"arcade-archives-p-o-w-prisoners-of-war","title":"Arcade Archives P.O.W. -PRISONERS OF WAR-","compatibility":99,"releases":[{"id":"0100547010920000","region":null}]},{"id":"e01c27c7-ce1a-4d50-8a0c-f979353470eb","directory":"this-is-the-police","title":"This Is the Police","compatibility":1,"releases":[{"id":"0100066004D68000","region":null}]},{"id":"e01fbd74-b0b3-46f0-b25b-4862b5afe16a","directory":"arena-of-valor","title":"Arena of Valor","compatibility":99,"releases":[{"id":"01008D8006A6A000","region":null}]},{"id":"e02e0d3f-cfbb-48d6-8de3-1fa23f007d82","directory":"mars-chaos-menace","title":"Mars: Chaos Menace","compatibility":99,"releases":[{"id":"0100B2400C67E000","region":null}]},{"id":"e02e9014-bc0f-446e-ab5f-0bec6a8738c3","directory":"serious-sam-collection","title":"Serious Sam Collection","compatibility":5,"releases":[{"id":"010007D00D43A000","region":null}]},{"id":"e02ff5ee-cd00-4087-a22d-0af03bb3df76","directory":"overwatch-legendary-edition","title":"Overwatch: Legendary Edition","compatibility":5,"releases":[{"id":"0100F8600E21E000","region":null}]},{"id":"e037e780-2f4b-43be-953e-ac35afda12e2","directory":"party-hard","title":"Party Hard","compatibility":0,"releases":[{"id":"010076E009C5E000","region":null}]},{"id":"e040ce79-11b5-43bb-a328-371d473ebcec","directory":"shelter-generations","title":"Shelter Generations","compatibility":99,"releases":[{"id":"01009EB004CB0000","region":null}]},{"id":"e04875e4-032b-4434-aef2-c29535444f09","directory":"capcom-beat-em-up-bundle","title":"Capcom Beat 'Em Up Bundle","compatibility":1,"releases":[{"id":"010094E00B52E000","region":null}]},{"id":"e05bab6f-e4ea-460a-bd72-306f144457ed","directory":"together","title":"Together","compatibility":99,"releases":[{"id":"010041C013C94000","region":null}]},{"id":"e06514bd-d7c3-4ec6-ae55-2fe23582dabe","directory":"project-highrise-architects-edition","title":"Project Highrise: Architect's Edition","compatibility":99,"releases":[{"id":"0100BBD00976C000","region":null}]},{"id":"e071ea75-8582-45f9-b997-556377f0abc7","directory":"arcade-archives-time-pilot-84","title":"Arcade Archives TIME PILOT '84","compatibility":99,"releases":[{"id":"01003200144CA000","region":null}]},{"id":"e0727e89-2cbd-4aae-995a-4bdb34b49133","directory":"body-of-evidence","title":"Body of Evidence","compatibility":99,"releases":[{"id":"0100721013510000","region":null}]},{"id":"e0813105-891a-44de-bdba-10b34f06298c","directory":"job-the-leprechaun","title":"Job the Leprechaun","compatibility":99,"releases":[{"id":"01007CE00C960000","region":null}]},{"id":"e08fe28d-5341-4ffd-ad74-a98cdec2abb3","directory":"picklock","title":"Picklock","compatibility":99,"releases":[{"id":"010059C012966000","region":null}]},{"id":"e0924a6d-caeb-46dd-8c20-72607329c192","directory":"boulder-dash-30th-anniversary","title":"Boulder Dash 30th Anniversary","compatibility":0,"releases":[{"id":"0100DB20107BE000","region":null}]},{"id":"e09631c5-6d89-4b32-85eb-9ee359d311a2","directory":"cabin-fever","title":"Cabin Fever","compatibility":99,"releases":[{"id":"0100680016472000","region":null}]},{"id":"e0bead2c-040a-48b4-8f24-d905e6d7699e","directory":"riptide-gp-renegade","title":"Riptide GP: Renegade","compatibility":0,"releases":[{"id":"01002A6006AA4000","region":null}]},{"id":"e0bf4059-fd46-4e17-8aa6-19eb8762624b","directory":"what-the-golf","title":"WHAT THE GOLF?","compatibility":0,"releases":[{"id":"01002C000E35E000","region":null}]},{"id":"e0c6361d-5fea-4cc3-9ef6-afca52b461f4","directory":"caterpillar-royale","title":"Caterpillar Royale","compatibility":99,"releases":[{"id":"01002B300D8F0000","region":null}]},{"id":"e0cdcab2-b30e-4d05-ab12-8727ea222343","directory":"spyro-reignited-trilogy","title":"Spyro Reignited Trilogy","compatibility":2,"releases":[{"id":"010077B00E046000","region":null}]},{"id":"e0d13172-7eb6-4b10-8a14-b6fc7de7fd49","directory":"arcade-archives-city-connection","title":"Arcade Archives City CONNECTION","compatibility":99,"releases":[{"id":"010007A00980C000","region":null}]},{"id":"e0db6142-6f92-47e3-ab73-78350d2510bb","directory":"teamfight-manager","title":"Teamfight Manager","compatibility":99,"releases":[{"id":"0100FE50169BC000","region":null}]},{"id":"e0dd05c3-0b06-4463-b12f-0b76365455a3","directory":"freecell-solitaire","title":"Freecell Solitaire","compatibility":99,"releases":[{"id":"010060600D894000","region":null}]},{"id":"e0e4acd8-89df-44c4-b832-321ddf724d17","directory":"tennis-world-tour","title":"Tennis World Tour","compatibility":99,"releases":[{"id":"0100092006814000","region":null}]},{"id":"e0ebd565-f648-4ee7-896f-cd5ed5729b11","directory":"nidhogg-2","title":"Nidhogg 2","compatibility":5,"releases":[{"id":"0100C8700B0B6000","region":null}]},{"id":"e0f4bcb6-d715-42f9-85cf-e2ae5764f86b","directory":"arcade-archives-punch-out","title":"Arcade Archives PUNCH-OUT!!","compatibility":1,"releases":[{"id":"01001530097F8000","region":null}]},{"id":"e0f636b9-bd10-4d18-a03a-a5705d3204c1","directory":"knock-em-down-bowling","title":"Knock 'Em Down! Bowling","compatibility":99,"releases":[{"id":"010085000BA5C000","region":null}]},{"id":"e0f6915e-aeae-41f4-914f-d0e92e570ede","directory":"moto-racer-4","title":"Moto Racer 4","compatibility":4,"releases":[{"id":"01002ED00B01C000","region":null}]},{"id":"e0fab6c7-0ff1-46ac-86f6-a3cd727e4432","directory":"super-hyperactive-ninja","title":"Super Hyperactive Ninja","compatibility":99,"releases":[{"id":"010032B00C31E000","region":null}]},{"id":"e0fcc0fa-3e01-4b13-bcfe-0180b4130af1","directory":"dark-grim-mariupolis","title":"Dark Grim Mariupolis","compatibility":99,"releases":[{"id":"010090F013A32000","region":null}]},{"id":"e0fd8921-074e-4ceb-935d-c0bfe5f8f5ba","directory":"kukkorodays","title":"KukkoroDays","compatibility":5,"releases":[{"id":"010022801242C000","region":null}]},{"id":"e11c03f5-dc32-41c9-ac11-e6ec5a71d05f","directory":"cave-bad","title":"Cave Bad","compatibility":99,"releases":[{"id":"0100CC7013F1A000","region":null}]},{"id":"e12f5bc8-2561-45c9-8a50-3348bda1ef78","directory":"pc-building-simulator","title":"PC Building Simulator","compatibility":1,"releases":[{"id":"010072800CBE8000","region":null}]},{"id":"e133d6fb-b8d2-4cb0-badb-b0274f685a10","directory":"horror-tales-the-wine","title":"HORROR TALES: The Wine","compatibility":99,"releases":[{"id":"01009C9014E04000","region":null}]},{"id":"e1383227-95be-44ab-b3a1-2731113ca50f","directory":"touhou-luna-nights","title":"Touhou Luna Nights","compatibility":5,"releases":[{"id":"0100D850131B0000","region":null}]},{"id":"e14c965b-9f0c-4811-8d1c-a02618a7de35","directory":"akane","title":"Akane","compatibility":4,"releases":[{"id":"01007F100DE52000","region":null}]},{"id":"e15337ec-e9c5-449b-bb3f-e1365e61780c","directory":"the-eyes-of-ara","title":"The Eyes of Ara","compatibility":99,"releases":[{"id":"0100B5900DFB2000","region":null}]},{"id":"e15be281-6cb8-4dd0-ac21-601a4d0a488f","directory":"urban-flow","title":"Urban Flow","compatibility":1,"releases":[{"id":"0100B110109F8000","region":null}]},{"id":"e15d7c86-e09b-4765-9750-14d085f70aa0","directory":"ski-sniper","title":"Ski Sniper","compatibility":99,"releases":[{"id":"0100945011246000","region":null}]},{"id":"e1641c1d-16ed-47b3-be64-1e70a309daa8","directory":"crossbow-crusade","title":"Crossbow Crusade","compatibility":99,"releases":[{"id":"0100F890150CE000","region":null}]},{"id":"e16ae725-fe26-4612-8fa7-2125a3d206e8","directory":"blasphemous","title":"Blasphemous","compatibility":1,"releases":[{"id":"0100698009C6E000","region":null}]},{"id":"e174cdce-92c9-4474-9f33-f13ef152310f","directory":"bishoujo-battle-cyber-panic","title":"Bishoujo Battle Cyber Panic!","compatibility":99,"releases":[{"id":"0100F16013F80000","region":null}]},{"id":"e17670d3-7582-438d-b5bc-ebf2db5ed166","directory":"bridge-strike","title":"Bridge Strike","compatibility":1,"releases":[{"id":"0100A6C011B10000","region":null}]},{"id":"e183bb5c-d08d-464a-999d-2cb79869550e","directory":"arcade-archives-raimais","title":"Arcade Archives RAIMAIS","compatibility":99,"releases":[{"id":"010091F015E12000","region":null}]},{"id":"e1baa658-7cf3-4210-9a5b-6670535ff62c","directory":"megabyte-punch","title":"Megabyte Punch","compatibility":99,"releases":[{"id":"0100FC700F942000","region":null}]},{"id":"e1c863e0-a763-4e25-ab30-1f99f8c6ce77","directory":"hitori-logic","title":"Hitori Logic","compatibility":99,"releases":[{"id":"01007BF012AD2000","region":null}]},{"id":"e1cd2372-11ba-4f4b-9073-54313708ca7c","directory":"epic-word-search-collection-2","title":"Epic Word Search Collection 2","compatibility":99,"releases":[{"id":"01001FF01247E000","region":null}]},{"id":"e1ce54c8-9770-47f6-853a-83862c72e690","directory":"archery-blast","title":"Archery Blast","compatibility":99,"releases":[{"id":"01003B8014D6C000","region":null}]},{"id":"e1d669a4-1353-4e9f-830e-aefe48029f2f","directory":"murder-diaries-2","title":"Murder Diaries 2","compatibility":99,"releases":[{"id":"010028F01590A000","region":null}]},{"id":"e1d73c49-785d-46e3-8a69-f1cedc594e8c","directory":"super-toy-cars","title":"Super Toy Cars","compatibility":99,"releases":[{"id":"0100384009344000","region":null}]},{"id":"e1f3919a-aa5c-4ef5-8724-839c6a056278","directory":"dobutsu-shogi-world","title":"DOBUTSU SHOGI WORLD","compatibility":99,"releases":[{"id":"01009BD00E33E000","region":null}]},{"id":"e1f43768-95a8-4bb7-9dfc-9a31ed9b67fd","directory":"the-dark-eye-chains-of-satinav","title":"The Dark Eye: Chains of Satinav","compatibility":2,"releases":[{"id":"010016900EE3A000","region":null}]},{"id":"e2111a4b-7272-4ff4-a5f2-5c8ae5f880c9","directory":"arcade-archives-vs-super-mario-bros","title":"Arcade Archives VS. SUPER MARIO BROS.","compatibility":1,"releases":[{"id":"010021D00812A000","region":null}]},{"id":"e2342361-637d-4c2f-9589-1d83e9ffbc19","directory":"sports-wild-pinball","title":"Sports & Wild Pinball","compatibility":99,"releases":[{"id":"01005E6016836000","region":null}]},{"id":"e2352e05-5c05-44c3-bb3c-11968d28e685","directory":"lost-wing","title":"Lost Wing","compatibility":1,"releases":[{"id":"010064600F1D6000","region":null}]},{"id":"e23ded3a-62f9-4b90-bba2-3bc4a505b4eb","directory":"inferno-2","title":"Inferno 2","compatibility":99,"releases":[{"id":"010063200AB12000","region":null}]},{"id":"e256d17d-7228-4186-a189-c0c8512dbaf7","directory":"mega-man-11-demo-version","title":"Mega Man 11 Demo Version","compatibility":0,"releases":[{"id":"010076800B06E000","region":null}]},{"id":"e25b9c7f-6f14-4894-9e48-516eb22f7662","directory":"cricket-19","title":"Cricket 19","compatibility":99,"releases":[{"id":"010022D00D4F0000","region":null}]},{"id":"e26579ca-3c67-4f02-829c-34e48edf07f6","directory":"quiplash","title":"Quiplash","compatibility":99,"releases":[{"id":"010015A0113E0000","region":null}]},{"id":"e2733532-2ee1-4f60-ba46-e82653db5f71","directory":"ronister-adventure","title":"Ronister Adventure","compatibility":99,"releases":[{"id":"0100E230159DE000","region":null}]},{"id":"e2796f6e-5f74-49be-b17d-903eddb92c5e","directory":"retrace-memories-of-death","title":"Retrace: Memories of Death","compatibility":99,"releases":[{"id":"0100C4C013688000","region":null}]},{"id":"e28321fd-4f07-439f-8270-02216bf8e89f","directory":"starlight-alliance","title":"Starlight Alliance","compatibility":99,"releases":[{"id":"0100478014C30000","region":null}]},{"id":"e2832ba5-9bfc-4691-8256-cc17dfa6b823","directory":"gelly-break-demo","title":"Gelly Break Demo","compatibility":99,"releases":[{"id":"010057D00CF10000","region":null}]},{"id":"e2894d72-b706-4340-af58-a3cde46a94ad","directory":"bohemian-killing","title":"Bohemian Killing","compatibility":99,"releases":[{"id":"0100AD1010CCE000","region":null}]},{"id":"e292c8f9-6d77-46f3-abea-2ca571d9d70d","directory":"rune-lord","title":"Rune Lord","compatibility":1,"releases":[{"id":"01008CD00FB66000","region":null}]},{"id":"e297276a-c229-4aaa-b490-39a1f8e26dd6","directory":"meow-motors","title":"Meow Motors","compatibility":2,"releases":[{"id":"0100EBE00D5B0000","region":null}]},{"id":"e29ae27d-6a5d-4f4d-9e2d-07550e46c62f","directory":"pictoquest","title":"PictoQuest","compatibility":0,"releases":[{"id":"010043B00E1CE000","region":null}]},{"id":"e2a7e278-1dc6-46e1-991b-074f7f747981","directory":"r-type-dimensions-ex","title":"R-Type Dimensions EX","compatibility":0,"releases":[{"id":"0100E5400BE64000","region":null}]},{"id":"e2c83db9-5ed7-4263-87eb-c27fdd9a1f2b","directory":"while-true-learn","title":"while True: learn()","compatibility":99,"releases":[{"id":"010092601020A000","region":null}]},{"id":"e2ca6dea-d4a8-46cb-9327-807b1fdb7de3","directory":"space-avenger-empire-of-nexx","title":"Space Avenger: Empire of Nexx","compatibility":99,"releases":[{"id":"01002C30122F4000","region":null}]},{"id":"e2caf2c5-f19c-484b-b16f-dcf9a0dab12c","directory":"alwas-legacy","title":"Alwa's Legacy","compatibility":0,"releases":[{"id":"01001B7012214000","region":null}]},{"id":"e2ceee7e-7aae-4a75-940e-489ec4828aa8","directory":"thea-the-awakening","title":"Thea: The Awakening","compatibility":99,"releases":[{"id":"010075900CD1C000","region":null}]},{"id":"e2dcabea-b9e1-4120-b05d-5896dd742094","directory":"the-complex","title":"The Complex","compatibility":3,"releases":[{"id":"01004170113D4000","region":null}]},{"id":"e2de5793-895e-4182-81bd-f3aa9a361344","directory":"battle-worlds-kronos","title":"Battle Worlds: Kronos","compatibility":99,"releases":[{"id":"0100DEB00D5A8000","region":null}]},{"id":"e2e49c7a-287c-4594-b102-2b2bf6a3dc70","directory":"neo-atlas-1469","title":"Neo ATLAS 1469","compatibility":99,"releases":[{"id":"0100B78006CCA000","region":null}]},{"id":"e2e79d25-b448-4d4d-8c4b-77332f9cc30f","directory":"atelier-totori-~the-adventurer-of-arland~-dx","title":"Atelier Totori ~The Adventurer of Arland~ DX","compatibility":2,"releases":[{"id":"01009BC00C6F6000","region":null}]},{"id":"e2f911a8-d5f0-426a-8517-17e852df038b","directory":"mind-maze","title":"Mind Maze","compatibility":99,"releases":[{"id":"010023601360A000","region":null}]},{"id":"e2ff94ba-5f56-43a9-bd5b-e57d3d88de96","directory":"dragon-ball-xenoverse-2-for-nintendo-switch","title":"DRAGON BALL Xenoverse 2 for Nintendo Switch","compatibility":4,"releases":[{"id":"010078D000F88000","region":null}]},{"id":"e300e0d1-8c9b-42b4-9d7b-3a4a28725a5b","directory":"must-dash-amigos","title":"Must Dash Amigos","compatibility":99,"releases":[{"id":"0100F6000EAA8000","region":null}]},{"id":"e30a2879-ee4a-43ab-b973-05a13107a2ba","directory":"galaxy-squad","title":"Galaxy Squad","compatibility":99,"releases":[{"id":"0100270015190000","region":null}]},{"id":"e3210b8f-294f-4eca-8fff-7ff0bda2e566","directory":"noir-chronicles-city-of-crime","title":"Noir Chronicles: City of Crime","compatibility":99,"releases":[{"id":"0100DFF00C5E6000","region":null}]},{"id":"e323c5ef-3bb1-4b22-b62b-7660b4e15435","directory":"wand-wars","title":"Wand Wars","compatibility":99,"releases":[{"id":"010059E00BB08000","region":null}]},{"id":"e328bcb9-1ea0-4a74-b90b-b363d073496f","directory":"dragon-lapis","title":"Dragon Lapis","compatibility":99,"releases":[{"id":"010076F012CD8000","region":null}]},{"id":"e32f712a-ea8a-44de-811a-4ae53a810627","directory":"parking-madness","title":"Parking Madness","compatibility":99,"releases":[{"id":"010059801292A000","region":null}]},{"id":"e32f9c07-cb4d-49bb-b390-b4a0243834dd","directory":"ludo-xxl","title":"Ludo XXL","compatibility":99,"releases":[{"id":"01008B5015C8E000","region":null}]},{"id":"e332eb81-40a6-4d04-a699-9cbbec861a34","directory":"yesterday-origins","title":"Yesterday Origins","compatibility":3,"releases":[{"id":"01004F4003FDC000","region":null}]},{"id":"e33c1a42-6c1d-4144-b6fc-ab35508f7818","directory":"waku-waku-sweets","title":"WAKU WAKU SWEETS","compatibility":99,"releases":[{"id":"010058100C80A000","region":null}]},{"id":"e34fcbf8-3f1b-48e5-841f-983bffb1a3de","directory":"superhot","title":"SUPERHOT","compatibility":0,"releases":[{"id":"01001A500E8B4000","region":null}]},{"id":"e374e86e-2872-4768-9967-bb3ed832e756","directory":"grave-keeper","title":"Grave Keeper","compatibility":99,"releases":[{"id":"01000A600EA88000","region":null}]},{"id":"e38c78b8-a8bc-49d9-b99d-62e85e4ca189","directory":"domiverse","title":"Domiverse","compatibility":99,"releases":[{"id":"010033200D232000","region":null}]},{"id":"e38cb2b0-fcfb-4a85-90ad-9837a1f2a194","directory":"oxyjet","title":"Oxyjet","compatibility":99,"releases":[{"id":"010041700A04A000","region":null}]},{"id":"e39e5596-2cfa-4b28-afc8-87e2e459f9dd","directory":"carrion","title":"CARRION","compatibility":1,"releases":[{"id":"0100B1600E9AE000","region":null}]},{"id":"e3af4568-a47f-4768-bf88-e9b3f53a9bae","directory":"lets-cook-together","title":"Let's Cook Together","compatibility":99,"releases":[{"id":"0100448011BC4000","region":null}]},{"id":"e3d09b4f-57cc-4078-8190-51c2b9144764","directory":"football-manager-touch-2018","title":"Football Manager Touch 2018","compatibility":99,"releases":[{"id":"010097F0099B4000","region":null}]},{"id":"e3d2a098-40b4-4fea-a83e-55a58f4fe6f9","directory":"hellbreachers","title":"Hellbreachers","compatibility":99,"releases":[{"id":"01002BF013F0C000","region":null}]},{"id":"e3dfc78c-2fd4-4f0f-a8ef-bfa3919ff489","directory":"wicce","title":"Wicce","compatibility":99,"releases":[{"id":"0100A64014D78000","region":null}]},{"id":"e3e44ca5-5a37-460a-b552-0f974dfd2215","directory":"instant-farmer","title":"Instant Farmer","compatibility":99,"releases":[{"id":"0100D5A01514C000","region":null}]},{"id":"e3e9404f-f553-46a2-81ea-89f1418930d8","directory":"the-walking-dead-season-two","title":"The Walking Dead: Season Two","compatibility":2,"releases":[{"id":"010099100B6AC000","region":null}]},{"id":"e3f1f869-d936-4d70-975b-e11000565d55","directory":"contraptions","title":"Contraptions","compatibility":99,"releases":[{"id":"010004900D976000","region":null}]},{"id":"e40b3985-fdf7-4629-8503-1b0e1c242e7a","directory":"worldend-syndrome","title":"Worldend Syndrome","compatibility":0,"releases":[{"id":"010048900CF64000","region":null}]},{"id":"e424514d-f246-4471-b73a-f073d24bdf61","directory":"worms-rumble","title":"Worms Rumble","compatibility":4,"releases":[{"id":"010016A010396000","region":null}]},{"id":"e42fc0b4-37db-4143-b97e-a29a53eb3e39","directory":"bombslinger","title":"Bombslinger","compatibility":4,"releases":[{"id":"010087300445A000","region":null}]},{"id":"e431f6a7-a59e-475a-a14e-007fda5f6185","directory":"super-impossible-road","title":"Super Impossible Road","compatibility":0,"releases":[{"id":"0100E82015112000","region":null}]},{"id":"e43b9746-93f0-4abf-95b9-7f6319ca4b93","directory":"escape-from-the-universe","title":"Escape from the Universe","compatibility":99,"releases":[{"id":"01005A100ED8A000","region":null}]},{"id":"e43e3cbe-93c2-41f4-a7fb-d1d659a40248","directory":"eggggg-the-platform-puker","title":"Eggggg - The platform puker","compatibility":1,"releases":[{"id":"0100121007308000","region":null}]},{"id":"e45d6006-7a19-4263-99b4-be8e1179e84a","directory":"bouncy-bullets","title":"Bouncy Bullets","compatibility":1,"releases":[{"id":"010016900DF72000","region":null}]},{"id":"e460231d-a425-4137-bda5-12256aae51a9","directory":"pokemon-shining-pearl","title":"Pokémon™ Shining Pearl","compatibility":2,"releases":[{"id":"010018E011D92000","region":null}]},{"id":"e460b232-2717-4506-8df7-8f77995d4652","directory":"zotrix-starglider","title":"Zotrix Starglider","compatibility":99,"releases":[{"id":"0100B22013610000","region":null}]},{"id":"e46febd0-de1a-48a1-adce-bbc2af89b0b9","directory":"spellspire","title":"Spellspire","compatibility":99,"releases":[{"id":"0100E74007EAC000","region":null}]},{"id":"e4719fa3-2335-40f6-b4dd-144da938eefb","directory":"tri6-infinite","title":"Tri6: Infinite","compatibility":1,"releases":[{"id":"0100483011F16000","region":null}]},{"id":"e47b2628-7731-4537-90c6-7af00837fb64","directory":"moving-out","title":"Moving Out","compatibility":1,"releases":[{"id":"0100C4C00E73E000","region":null}]},{"id":"e47d1b94-98ae-4e40-9057-a546dff124b6","directory":"danganronpa-2-goodbye-despair-anniversary-edition","title":"Danganronpa 2: Goodbye Despair Anniversary Edition","compatibility":99,"releases":[{"id":"010083A014174000","region":null}]},{"id":"e487e12a-7c49-4691-bf44-7e8769dadd5b","directory":"air-racers","title":"Air Racers","compatibility":99,"releases":[{"id":"0100E16016A5C000","region":null}]},{"id":"e4957cb4-266b-425e-ad8a-e25be676b2de","directory":"pool-slide-story","title":"Pool Slide Story","compatibility":99,"releases":[{"id":"0100C9200F09A000","region":null}]},{"id":"e4961e44-5c13-472c-9a98-1c5ddb788876","directory":"damn-dolls","title":"Damn Dolls","compatibility":99,"releases":[{"id":"0100A1B01543C000","region":null}]},{"id":"e4a54e60-6858-4319-a3f8-39229da380e0","directory":"super-hero-fight-club-reloaded","title":"Super Hero Fight Club: Reloaded","compatibility":99,"releases":[{"id":"010009000CBB6000","region":null}]},{"id":"e4b86413-c163-4ebc-9e39-66362065ab72","directory":"my-little-riding-champion","title":"My Little Riding Champion","compatibility":99,"releases":[{"id":"01008C600395A000","region":null}]},{"id":"e4c873a7-73ea-4df7-918e-85ea2d7c18e6","directory":"putty-pals","title":"Putty Pals","compatibility":3,"releases":[{"id":"010049E003748000","region":null}]},{"id":"e4d5cdb6-cca4-435e-88ae-11ffb543dfcf","directory":"bingo-for-nintendo-switch","title":"BINGO for Nintendo Switch","compatibility":1,"releases":[{"id":"010087D008D64000","region":null}]},{"id":"e4e41cea-7acf-49da-b66d-e969364e109f","directory":"aca-neogeo-stakes-winner-2","title":"ACA NEOGEO STAKES WINNER 2","compatibility":99,"releases":[{"id":"010047D00AFD4000","region":null}]},{"id":"e503f06c-cea4-478d-87d4-6de0344d18fc","directory":"dark-witch-music-episode-rudymical","title":"Dark Witch Music Episode: Rudymical","compatibility":0,"releases":[{"id":"01001FA0034E2000","region":null}]},{"id":"e504e4f3-0ad9-4528-a10e-3671c78c33d0","directory":"joes-diner","title":"Joe's Diner","compatibility":99,"releases":[{"id":"0100080013E0E000","region":null}]},{"id":"e517306b-517a-4fa9-90e7-8c623fa503f0","directory":"solstice-chronicles-mia","title":"Solstice Chronicles: MIA","compatibility":2,"releases":[{"id":"0100DB500B17C000","region":null}]},{"id":"e5184691-ced0-4e12-83e7-d0f1c0175dd0","directory":"taxi-chaos","title":"Taxi Chaos","compatibility":3,"releases":[{"id":"0100B76011DAA000","region":null}]},{"id":"e5404da7-4c7d-4ff7-a02e-44f27edfe3ff","directory":"anti-hero-bundle","title":"Anti Hero Bundle","compatibility":99,"releases":[{"id":"0100596011E20000","region":null}]},{"id":"e54141b7-4866-4eba-b42f-2f84ea5cada3","directory":"business-tour-deluxe","title":"Business Tour Deluxe","compatibility":99,"releases":[{"id":"0100E61013758000","region":null}]},{"id":"e54e9e26-fa47-4fa4-91fa-e891838c8245","directory":"knight-swap","title":"Knight Swap","compatibility":99,"releases":[{"id":"010060C010B4A000","region":null}]},{"id":"e557c075-3288-49c3-879e-5dceb1de8b0d","directory":"one-piece-pirate-warriors-3-deluxe-edition","title":"ONE PIECE Pirate Warriors 3 Deluxe Edition","compatibility":3,"releases":[{"id":"0100774009CF6000","region":null}]},{"id":"e55c073d-df68-48d9-9d4e-02a83671eb47","directory":"sword-of-the-guardian","title":"Sword of the Guardian","compatibility":99,"releases":[{"id":"01000D70049BE000","region":null}]},{"id":"e55ec1de-1713-418d-afeb-094bb0ffb5a0","directory":"the-long-return","title":"The Long Return","compatibility":99,"releases":[{"id":"01003C3013300000","region":null}]},{"id":"e569f596-d8cd-40d5-926a-e34285f3028f","directory":"othello","title":"Othello","compatibility":0,"releases":[{"id":"0100902001014000","region":null}]},{"id":"e56c2a8c-3b9a-4324-8542-d8e943b21d28","directory":"nickelodeon-all-star-brawl","title":"Nickelodeon All-Star Brawl","compatibility":1,"releases":[{"id":"0100DCF013740000","region":null}]},{"id":"e581c940-ba5e-47d4-936d-943eabbef39e","directory":"story-of-a-gladiator","title":"Story of a Gladiator","compatibility":99,"releases":[{"id":"0100D5D00DAF2000","region":null}]},{"id":"e58a5a38-b154-41c6-affa-24f194cc0ef3","directory":"the-warlock-of-firetop-mountain-goblin-scourge-edition","title":"The Warlock of Firetop Mountain: Goblin Scourge Edition!","compatibility":99,"releases":[{"id":"0100219008678000","region":null}]},{"id":"e58dc885-1350-4a13-875b-7b3898045a8a","directory":"machinarium","title":"Machinarium","compatibility":4,"releases":[{"id":"01002D70049CA000","region":null}]},{"id":"e592281b-8f05-4daa-99c3-1ca0fb72cb87","directory":"door-kickers-action-squad","title":"Door Kickers: Action Squad","compatibility":1,"releases":[{"id":"01005ED00CD70000","region":null}]},{"id":"e59f6b0d-7cf9-49d1-9882-59bc3f4f89e9","directory":"chess-royal","title":"Chess Royal","compatibility":99,"releases":[{"id":"0100DAD0137B0000","region":null}]},{"id":"e5ac959b-81ec-43e6-b627-cd5656b7cc9d","directory":"godstrike","title":"Godstrike","compatibility":99,"releases":[{"id":"0100FA50138A6000","region":null}]},{"id":"e5affd72-857d-492d-9aec-f04bdb1b43e9","directory":"mr-trials","title":"Mr Trials","compatibility":99,"releases":[{"id":"010054501462E000","region":null}]},{"id":"e5b46fed-bd71-4142-8a27-59d7edbbc1a8","directory":"wallachia-reign-of-dracula","title":"Wallachia: Reign of Dracula","compatibility":4,"releases":[{"id":"010017E012888000","region":null}]},{"id":"e5c9a476-ab94-4cf3-a849-cce0ec9503bc","directory":"supermarket-shriek","title":"Supermarket Shriek","compatibility":99,"releases":[{"id":"0100C01012654000","region":null}]},{"id":"e5cbc2c8-3e6f-477d-b460-315529c4dccf","directory":"skeletal-avenger","title":"Skeletal Avenger","compatibility":99,"releases":[{"id":"0100BA5011E16000","region":null}]},{"id":"e5d2dd3b-037f-4104-8cc6-64c4a9f29050","directory":"2weistein-the-curse-of-the-red-dragon-2","title":"2weistein – The Curse of the Red Dragon 2","compatibility":99,"releases":[{"id":"01005E7014C4E000","region":null}]},{"id":"e5da8396-8d7b-48a9-9eb5-1d56dab00454","directory":"starman","title":"Starman","compatibility":99,"releases":[{"id":"010073000C43C000","region":null}]},{"id":"e5dadde2-8350-40b9-ae84-ff67ffc64ef0","directory":"kids-farm-coloring","title":"KIDS: FARM COLORING","compatibility":99,"releases":[{"id":"010000001260E000","region":null}]},{"id":"e5e1684a-3b58-42d4-89f6-45f2477bc13d","directory":"airport-simulator-day-night","title":"Airport Simulator: Day & Night","compatibility":99,"releases":[{"id":"01009AE015CE4000","region":null}]},{"id":"e5fc1ad4-e468-48c3-b80e-1a980f1adffe","directory":"wildbus","title":"Wildbus","compatibility":99,"releases":[{"id":"01009130156BA000","region":null}]},{"id":"e6027b5f-55cf-4397-860a-2a1918e31a44","directory":"bears-restaurant","title":"Bear's Restaurant","compatibility":99,"releases":[{"id":"0100C0E014A4E000","region":null}]},{"id":"e60426fd-c4ce-4f6f-945a-e5ee39bae01b","directory":"gravifire","title":"GraviFire","compatibility":99,"releases":[{"id":"010054A013E0C000","region":null}]},{"id":"e6237dbd-8ff7-492a-a813-8bcbf568a21e","directory":"gun-gun-pixies","title":"Gun Gun Pixies","compatibility":0,"releases":[{"id":"01009EB00DC76000","region":null}]},{"id":"e624f01d-246a-4811-810c-6cc3e279afd5","directory":"touhou-sky-arena-matsuri-climax","title":"TOUHOU SKY ARENA -MATSURI-CLIMAX","compatibility":99,"releases":[{"id":"0100F42007752000","region":null}]},{"id":"e6262310-53ea-45ad-9308-ad59118f2904","directory":"fault-milestone-two-side-above","title":"fault - milestone two side: above","compatibility":99,"releases":[{"id":"010023D012C52000","region":null}]},{"id":"e63df27b-e4d7-499d-925e-470b146ae839","directory":"aca-neogeo-super-sidekicks-3-the-next-glory","title":"ACA NEOGEO SUPER SIDEKICKS 3 : THE NEXT GLORY","compatibility":99,"releases":[{"id":"0100A4D00A308000","region":null}]},{"id":"e6477203-3e7a-4c95-9b57-26b86cbbc6d7","directory":"animal-pairs-matching-concentration-game-for-toddlers-kids","title":"Animal Pairs - Matching & Concentration Game for Toddlers & Kids","compatibility":99,"releases":[{"id":"010033C0121DC000","region":null}]},{"id":"e648f472-bb9a-4a4d-b381-2722a7334054","directory":"negative-nancy","title":"Negative Nancy","compatibility":99,"releases":[{"id":"0100A300147D0000","region":null}]},{"id":"e64ce1ab-72a1-4e90-ad78-5a695fb070a2","directory":"bravely-default-ii","title":"BRAVELY DEFAULT™ II","compatibility":2,"releases":[{"id":"01006DC010326000","region":null}]},{"id":"e650478a-cea3-4e05-b452-94d94077ad88","directory":"demong-hunter","title":"Demong Hunter","compatibility":2,"releases":[{"id":"010000401313A000","region":null}]},{"id":"e65c1824-5bd8-4af7-b505-20fb27cd4bf8","directory":"vosaria-lair-of-the-forgotten","title":"Vosaria: Lair of the Forgotten","compatibility":99,"releases":[{"id":"01000EC00E60E000","region":null}]},{"id":"e66f8cc2-cd8f-4e55-b4eb-7b88a677cb07","directory":"vera-blanc-ghost-in-the-castle","title":"Vera Blanc: Ghost In The Castle","compatibility":99,"releases":[{"id":"0100805013BDA000","region":null}]},{"id":"e672cb11-5e08-4941-afc5-c52747d59eda","directory":"dancing-dreamer","title":"Dancing Dreamer","compatibility":99,"releases":[{"id":"010034C0152A8000","region":null}]},{"id":"e67d86fa-b146-412e-a00c-a6a82878ff45","directory":"romancing-saga-3","title":"Romancing SaGa 3","compatibility":1,"releases":[{"id":"0100D0400D27A000","region":null}]},{"id":"e67dacda-46a7-4b20-ba9d-d6b699815c17","directory":"emergency-hq","title":"EMERGENCY HQ","compatibility":99,"releases":[{"id":"010016B00EBE6000","region":null}]},{"id":"e6954ea3-ecb1-45cf-95e8-26ad80db90a5","directory":"magic-scroll-tactics","title":"Magic Scroll Tactics","compatibility":99,"releases":[{"id":"0100AAA00D404000","region":null}]},{"id":"e69d05f4-4620-4276-9f3b-4845c02c7c45","directory":"sega-ages-puyo-puyo-2","title":"SEGA AGES Puyo Puyo 2","compatibility":1,"releases":[{"id":"010019700D13A000","region":null}]},{"id":"e69d248d-c2a1-4d02-870b-3f9d0aec77a5","directory":"pure-electric-love-what-do-you-want-eri-kitami-","title":"Pure / Electric Love \"What do you want?\" - Eri Kitami -","compatibility":99,"releases":[{"id":"01007B900A508000","region":null}]},{"id":"e6a6d658-e8c9-4132-a76f-b8016e5ac829","directory":"animal-puzzle-preschool-learning-game-for-kids-and-toddlers","title":"Animal Puzzle - Preschool Learning Game for Kids and Toddlers","compatibility":99,"releases":[{"id":"0100F7A015F38000","region":null}]},{"id":"e6a86c34-0893-46bb-b43c-e3ab0640ced1","directory":"monopoly-r-madness","title":"MONOPOLY® Madness","compatibility":99,"releases":[{"id":"01005FF013DC2000","region":null}]},{"id":"e6aa6578-f201-4a89-aaa7-43813d385008","directory":"secret-neighbor","title":"Secret Neighbor","compatibility":99,"releases":[{"id":"0100540013468000","region":null}]},{"id":"e6c48cbf-eeca-403c-9b90-518bda8c8b76","directory":"star-horizon","title":"Star Horizon","compatibility":99,"releases":[{"id":"0100EC2011B9C000","region":null}]},{"id":"e6c658be-2682-40a1-a703-fe53e8ba4d94","directory":"trine-3-the-artifacts-of-power","title":"Trine 3: The Artifacts of Power","compatibility":3,"releases":[{"id":"0100DEC00A934000","region":null}]},{"id":"e6c6681e-5d13-458f-8451-4cf6f9181084","directory":"dungeons-bombs","title":"Dungeons & Bombs","compatibility":99,"releases":[{"id":"0100BE801360E000","region":null}]},{"id":"e6cbab9f-9447-4a57-8f75-a5245bfa6c80","directory":"takeshi-and-hiroshi","title":"Takeshi and Hiroshi","compatibility":99,"releases":[{"id":"0100CFD012908000","region":null}]},{"id":"e6d1202b-6ba1-4401-8772-45cea87a99a2","directory":"frontline-zed","title":"Frontline Zed","compatibility":3,"releases":[{"id":"0100861012474000","region":null}]},{"id":"e6eae8e8-9326-440d-afef-23cff1841d96","directory":"werewolf-the-apocalypse-heart-of-the-forest","title":"Werewolf: The Apocalypse — Heart of the Forest","compatibility":99,"releases":[{"id":"0100379013998000","region":null}]},{"id":"e6f36580-a879-4704-b739-04ecc9f97e11","directory":"gorilla-big-adventure","title":"Gorilla Big Adventure","compatibility":99,"releases":[{"id":"010076F013D5C000","region":null}]},{"id":"e6f7bfe3-790c-4f2b-9c8a-0eb9da19e0f1","directory":"boom-blaster","title":"Boom Blaster","compatibility":99,"releases":[{"id":"01002E6013ED8000","region":null}]},{"id":"e6fabd57-15a3-4251-9bfb-833459431f57","directory":"seek-hearts","title":"Seek Hearts","compatibility":99,"releases":[{"id":"010075D0101FA000","region":null}]},{"id":"e70cfc62-e986-4172-986f-8ab1cfb78eeb","directory":"metachampions","title":"MetaChampions","compatibility":99,"releases":[{"id":"01006DB00FBF6000","region":null}]},{"id":"e71ee723-9e6a-48a6-8619-bb4f4cf6711d","directory":"the-bear-and-the-admiral","title":"The Bear And The Admiral","compatibility":99,"releases":[{"id":"0100B7E0161FC000","region":null}]},{"id":"e71f560c-536e-4f9e-afd3-e5d551a0aa7b","directory":"strike-force-2-terrorist-hunt","title":"Strike Force 2 - Terrorist Hunt","compatibility":99,"releases":[{"id":"01004B500F07C000","region":null}]},{"id":"e73719b2-4567-4b8a-97ef-403bbb0f7a25","directory":"a-robot-named-fight","title":"A Robot Named Fight","compatibility":1,"releases":[{"id":"0100EB600A4DA000","region":null}]},{"id":"e74c286d-a9c4-4b3a-b0f6-ac1acfcb5188","directory":"technosphere","title":"Technosphere","compatibility":99,"releases":[{"id":"01004CD01039A000","region":null}]},{"id":"e74ecf10-72f8-4e52-86a9-9a4c13cccaeb","directory":"rodent-warriors","title":"Rodent Warriors","compatibility":99,"releases":[{"id":"0100CFA013C4C000","region":null}]},{"id":"e754e0b9-05a8-4574-9522-3344a13b7b54","directory":"match","title":"Match","compatibility":99,"releases":[{"id":"0100C61011DEA000","region":null}]},{"id":"e758e916-0c0b-4938-9b11-767f257cd84f","directory":"woodle-tree-2-deluxe","title":"Woodle Tree 2: Deluxe","compatibility":2,"releases":[{"id":"0100E0300EB04000","region":null}]},{"id":"e7604fb9-018e-4ce5-b350-97fac49196f3","directory":"deep-diving-adventures","title":"Deep Diving Adventures","compatibility":99,"releases":[{"id":"010026800FA88000","region":null}]},{"id":"e77b6d07-55d4-42c3-a5a5-80f4ab29a7d5","directory":"psyvariar-delta","title":"Psyvariar Delta","compatibility":1,"releases":[{"id":"01001CF00AD06000","region":null}]},{"id":"e782c3d2-5d4c-4b25-be48-c87ff9def46b","directory":"chop-is-dish","title":"Chop is Dish","compatibility":99,"releases":[{"id":"010031E00F6AE000","region":null}]},{"id":"e7ab0ece-8f64-4d18-93d5-d75ae66e981d","directory":"flux8","title":"Flux8","compatibility":99,"releases":[{"id":"010039C00E2CE000","region":null}]},{"id":"e7b1416b-340d-4f05-8d85-4c90fc04edd0","directory":"classic-pool","title":"Classic Pool","compatibility":1,"releases":[{"id":"01006740157F8000","region":null}]},{"id":"e7b67091-17bf-421e-9ce2-ca4fd073f312","directory":"wonder-boy-asha-in-monster-world","title":"Wonder Boy Asha in Monster World","compatibility":1,"releases":[{"id":"0100EB2012E36000","region":null}]},{"id":"e7c74175-e5d6-4153-85c1-ac3934274a06","directory":"legend-of-mana","title":"Legend of Mana","compatibility":4,"releases":[{"id":"01003570130E2000","region":null}]},{"id":"e7d8a07e-13a1-4006-8a2b-79ef6f86c12e","directory":"guilty-gear-xx-accent-core-plus-r","title":"GUILTY GEAR XX ACCENT CORE PLUS R","compatibility":99,"releases":[{"id":"01006F80082E4000","region":null}]},{"id":"e7d93f80-e40e-4c5e-84fd-4aab5d2091a0","directory":"classic-snake-adventures","title":"Classic Snake Adventures","compatibility":99,"releases":[{"id":"0100E6C00EB12000","region":null}]},{"id":"e7e054e2-9e95-40d2-a67b-96b328aa5b80","directory":"headsnatchers","title":"Headsnatchers","compatibility":3,"releases":[{"id":"0100A8200C372000","region":null}]},{"id":"e805fb78-9351-4a89-89c0-5d2cd0e062ae","directory":"phoenotopia-awakening","title":"Phoenotopia : Awakening","compatibility":99,"releases":[{"id":"01005E100A4F0000","region":null}]},{"id":"e8062c6c-6975-4184-b255-dcd5ba6ff54f","directory":"jettomero-hero-of-the-universe","title":"Jettomero: Hero of the Universe","compatibility":99,"releases":[{"id":"0100A5A00AF26000","region":null}]},{"id":"e80696f9-3c26-4f74-9a48-365d9bb2bc4f","directory":"lost-artifacts","title":"Lost Artifacts","compatibility":99,"releases":[{"id":"01003F500E658000","region":null}]},{"id":"e80ca335-cdfa-4144-9ee0-565924df529b","directory":"epic-word-search-collection","title":"Epic Word Search Collection","compatibility":99,"releases":[{"id":"0100D000111C2000","region":null}]},{"id":"e817f9a4-5d75-44fa-891e-136e4cc80d67","directory":"my-memory-of-us","title":"My Memory of Us","compatibility":0,"releases":[{"id":"0100E7700C284000","region":null}]},{"id":"e830aa92-7159-412c-b7fe-c88ad40c2346","directory":"jigsaw-abundance","title":"JigSaw Abundance","compatibility":99,"releases":[{"id":"0100B440119AA000","region":null}]},{"id":"e8366075-1ab9-4014-9e9a-1b833d922cf9","directory":"love-3","title":"LOVE 3","compatibility":99,"releases":[{"id":"010088A0167A0000","region":null}]},{"id":"e8394bb7-a33f-470a-a761-0370ef631d48","directory":"murder-by-numbers","title":"Murder by Numbers","compatibility":0,"releases":[{"id":"010061700FA8C000","region":null}]},{"id":"e842a1c7-75dd-4bab-afaa-94d0a77443b5","directory":"azure-reflections","title":"Azure Reflections","compatibility":0,"releases":[{"id":"01006FB00990E000","region":null}]},{"id":"e84daa5f-b7b7-4ae3-975e-d9b78060bddd","directory":"physical-contact-2048","title":"Physical Contact: 2048","compatibility":99,"releases":[{"id":"0100BF1003B9A000","region":null}]},{"id":"e87581b4-0885-4a7e-b125-8aca625b9170","directory":"capes-escape-game-3rd-room","title":"Cape’s Escape Game 3rd Room","compatibility":1,"releases":[{"id":"0100AA5015B96000","region":null}]},{"id":"e8783bc8-f84c-4da7-8b3f-bad1ac05651b","directory":"knights-of-pen-and-paper-bundle","title":"Knights of Pen and Paper Bundle","compatibility":99,"releases":[{"id":"01009A300C836000","region":null}]},{"id":"e879617c-c753-4a8b-84fe-ad80dbb09cbb","directory":"a-magical-high-school-girl","title":"A Magical High School Girl","compatibility":1,"releases":[{"id":"01008DD006C52000","region":null}]},{"id":"e886ddb8-1b88-4f63-9c9f-1ea2c156f5fc","directory":"orn-the-tiny-forest-sprite","title":"Orn: The Tiny Forest Sprite","compatibility":99,"releases":[{"id":"01006C70102EA000","region":null}]},{"id":"e88766d1-f3db-407f-a5d3-d4da0393a0b8","directory":"pool-8-ball-billiards","title":"Pool: 8 Ball Billiards","compatibility":99,"releases":[{"id":"01003FF015E54000","region":null}]},{"id":"e89c02c4-aab8-4ee2-b78f-07593528f870","directory":"the-darkside-detective-a-fumble-in-the-dark","title":"The Darkside Detective: A Fumble in the Dark","compatibility":99,"releases":[{"id":"0100576012B44000","region":null}]},{"id":"e8b5ac05-120d-4924-8032-2b7fbf4b642f","directory":"kosmokrats","title":"Kosmokrats","compatibility":99,"releases":[{"id":"0100C2B013B70000","region":null}]},{"id":"e8c7d542-1126-4ac6-b44f-29fc2bdfae1c","directory":"skyhill","title":"SKYHILL","compatibility":1,"releases":[{"id":"0100A0A00D1AA000","region":null}]},{"id":"e8cafc9c-5856-4404-a026-2d3a3356b178","directory":"nurse-love-syndrome","title":"Nurse Love Syndrome","compatibility":99,"releases":[{"id":"010003701002C000","region":null}]},{"id":"e8f97029-3d6b-4b88-a5b3-d66fe7a3de8b","directory":"forward-to-the-sky","title":"Forward To The Sky","compatibility":2,"releases":[{"id":"0100DBA011136000","region":null}]},{"id":"e8fe6720-ab41-4db8-9aed-9aa52b3b507d","directory":"secrets-of-me","title":"Secrets of Me","compatibility":99,"releases":[{"id":"01008DF01290C000","region":null}]},{"id":"e8ff7c5d-55d2-432b-88be-2c8074395e96","directory":"om-nom-run","title":"Om Nom: Run","compatibility":99,"releases":[{"id":"010032D01641E000","region":null}]},{"id":"e906f233-424b-42f8-bf90-a07418f939ef","directory":"pumped-bmx-pro","title":"Pumped BMX Pro","compatibility":99,"releases":[{"id":"01009AE00B788000","region":null}]},{"id":"e90d49b8-56f9-4b7e-8164-69ddf8d69e7c","directory":"squidgies-takeover","title":"Squidgies Takeover","compatibility":99,"releases":[{"id":"010009300D31C000","region":null}]},{"id":"e925ffb6-a2ad-48ca-a27f-119eca176316","directory":"arcade-archives-plus-alpha","title":"Arcade Archives PLUS ALPHA","compatibility":99,"releases":[{"id":"01007F8010C66000","region":null}]},{"id":"e9264c11-7784-48c6-a1d9-7002295e27c8","directory":"super-mario-bros-35","title":"Super Mario Bros.™ 35","compatibility":4,"releases":[{"id":"0100277011F1A000","region":null}]},{"id":"e9289207-dd26-4b80-b717-8bcf9febff4a","directory":"caladrius-blaze","title":"Caladrius Blaze","compatibility":1,"releases":[{"id":"01004FD00D66A000","region":null}]},{"id":"e9299e96-2399-401f-b62f-059bf292428f","directory":"pocket-league-story","title":"Pocket League Story","compatibility":99,"releases":[{"id":"010016D00D2C2000","region":null}]},{"id":"e940c0d7-e002-4ddf-8601-5d0061687d35","directory":"five-nights-at-freddys-help-wanted","title":"Five Nights at Freddy's: Help Wanted","compatibility":5,"releases":[{"id":"0100F7901118C000","region":null}]},{"id":"e94b180f-3154-4c32-86c8-b6acacfd5831","directory":"neo-the-world-ends-with-you","title":"NEO: The World Ends with You","compatibility":1,"releases":[{"id":"010043B013C5C000","region":null}]},{"id":"e94fb01f-59f3-4e91-86df-7dedbd7f1858","directory":"ding-dong-xl","title":"Ding Dong XL","compatibility":1,"releases":[{"id":"0100B6D00DA6E000","region":null}]},{"id":"e9526b4a-ae70-4ce2-8f32-db3bdbc2a7eb","directory":"robot-squad-simulator","title":"Robot Squad Simulator","compatibility":99,"releases":[{"id":"01001B800D742000","region":null}]},{"id":"e9702fde-9255-4a9a-bc4b-82c0f48fc900","directory":"star-sky","title":"Star Sky","compatibility":99,"releases":[{"id":"0100ACD00E27E000","region":null}]},{"id":"e97b76ca-2bb2-4ba1-bcba-6acfd9b3be81","directory":"strange-telephone","title":"Strange Telephone","compatibility":99,"releases":[{"id":"01002F800FD12000","region":null}]},{"id":"e98260e9-74eb-462f-9e46-842dbb4399af","directory":"pack-master","title":"Pack Master","compatibility":99,"releases":[{"id":"0100BEE011402000","region":null}]},{"id":"e989212c-d853-4e5f-9119-45544c443a34","directory":"star99","title":"Star99","compatibility":1,"releases":[{"id":"0100E6B0115FC000","region":null}]},{"id":"e995f747-24ab-4c61-b531-c530d0f9c063","directory":"corpse-killer-25th-anniversary-edition","title":"Corpse Killer - 25th Anniversary Edition","compatibility":99,"releases":[{"id":"0100D36013BDC000","region":null}]},{"id":"e9a33552-8141-4152-a90e-cfe6e39a4a2f","directory":"cruel-bands-career","title":"Cruel Bands Career","compatibility":99,"releases":[{"id":"0100F7900D8A4000","region":null}]},{"id":"e9acfe54-b692-4acb-abec-2991ac8aa4ab","directory":"immortal-planet","title":"Immortal Planet","compatibility":4,"releases":[{"id":"01007BC00E55A000","region":null}]},{"id":"e9ae9e60-3c06-4ab0-a2b4-df5632127237","directory":"jacks-or-better-video-poker","title":"Jacks or Better - Video Poker","compatibility":0,"releases":[{"id":"0100DD901201A000","region":null}]},{"id":"e9af6b32-162e-49a9-9683-e9cbd11eb99c","directory":"g-darius-hd","title":"G-DARIUS HD","compatibility":3,"releases":[{"id":"0100BCE013042000","region":null}]},{"id":"e9b2581c-b478-4cbd-889b-6b74412d5178","directory":"real-drift-racing","title":"Real Drift Racing","compatibility":99,"releases":[{"id":"0100A8A00E462000","region":null}]},{"id":"e9b6fbb0-fcf5-4171-9f0d-6f1118e81143","directory":"mable-and-the-wood","title":"Mable & The Wood","compatibility":99,"releases":[{"id":"01000B400E53A000","region":null}]},{"id":"e9bd487a-cb6a-468c-b8cd-0eb3a9750c00","directory":"my-arctic-farm-2018","title":"My Arctic Farm 2018","compatibility":99,"releases":[{"id":"01009A400C868000","region":null}]},{"id":"e9be1466-df80-4127-a737-279dc54d42ab","directory":"soccer-pinball","title":"Soccer Pinball","compatibility":99,"releases":[{"id":"0100B5000E05C000","region":null}]},{"id":"e9cbad53-53b9-40df-bb24-02d1fba3110a","directory":"alien-isolation","title":"Alien: Isolation","compatibility":3,"releases":[{"id":"010075D00E8BA000","region":null}]},{"id":"e9dac2f8-0bf5-4b20-a548-a5af579fd5a6","directory":"thief-of-thieves-season-one","title":"Thief of Thieves: Season One","compatibility":2,"releases":[{"id":"0100CE700F62A000","region":null}]},{"id":"e9df6c02-53f2-4af0-9e23-040b83cf6fac","directory":"neogeo-pocket-color-selection-vol-1","title":"NEOGEO POCKET COLOR SELECTION Vol.1","compatibility":0,"releases":[{"id":"010006D0128B4000","region":null}]},{"id":"e9e20555-697a-46a4-8053-2ff3588d9cdc","directory":"battlestar-galactica-deadlock","title":"Battlestar Galactica Deadlock","compatibility":99,"releases":[{"id":"010059C00E39C000","region":null}]},{"id":"e9ef4845-b6f6-43ee-bc6d-d642237e58ba","directory":"sniper-elite-4","title":"Sniper Elite 4","compatibility":4,"releases":[{"id":"010007B010FCC000","region":null}]},{"id":"e9f69bed-2059-4e58-851c-b89c2204aa99","directory":"the-explorer-of-night","title":"The Explorer of Night","compatibility":99,"releases":[{"id":"0100308013768000","region":null}]},{"id":"e9f88c7c-9dfe-4381-8e62-632061a57609","directory":"dwarf-journey","title":"Dwarf Journey","compatibility":99,"releases":[{"id":"01009E8013FCE000","region":null}]},{"id":"e9f9f510-1168-49bc-b0eb-dd2442480516","directory":"underhero","title":"Underhero","compatibility":99,"releases":[{"id":"01005CD00F85A000","region":null}]},{"id":"ea0a142c-7cf8-4aa2-9242-db654f687acb","directory":"beasts-of-maravilla-island","title":"Beasts of Maravilla Island","compatibility":99,"releases":[{"id":"01008FF014670000","region":null}]},{"id":"ea1fcc02-7409-444c-853d-61de28b3eff1","directory":"ancestors-legacy","title":"Ancestors Legacy","compatibility":99,"releases":[{"id":"01009EE0111CC000","region":null}]},{"id":"ea27fb31-6e60-4260-bd68-2c76027f5a8b","directory":"super-jumpy-ball","title":"Super Jumpy Ball","compatibility":1,"releases":[{"id":"010015700D5DC000","region":null}]},{"id":"ea2d515b-a5d9-4cde-9c12-c2dc712db878","directory":"pinball-jam","title":"Pinball Jam","compatibility":99,"releases":[{"id":"0100AD50167EC000","region":null}]},{"id":"ea345728-8524-4f72-8ed5-12d4b5d4c55e","directory":"steven-universe-unleash-the-light","title":"Steven Universe: Unleash the Light","compatibility":1,"releases":[{"id":"0100599012F08000","region":null}]},{"id":"ea3941b1-f994-42d1-89d4-a876180fb740","directory":"super-box-land-demake","title":"Super Box Land Demake","compatibility":99,"releases":[{"id":"0100D6A00F802000","region":null}]},{"id":"ea6222b9-bcbc-49ec-8114-a4e73802d116","directory":"diabolic","title":"Diabolic","compatibility":99,"releases":[{"id":"0100F73011456000","region":null}]},{"id":"ea73641f-35d9-4cec-9675-8b3298b1cc77","directory":"mahjong-solitaire-refresh","title":"Mahjong Solitaire Refresh","compatibility":99,"releases":[{"id":"01008C300B624000","region":null}]},{"id":"ea815de3-fca1-45ea-b495-4d1c7f9045a8","directory":"pinstripe","title":"Pinstripe","compatibility":0,"releases":[{"id":"010041100B148000","region":null}]},{"id":"ea94352f-0227-4f08-a69b-45ef63ce992e","directory":"lunch-a-palooza","title":"Lunch A Palooza","compatibility":99,"releases":[{"id":"0100E0C011D52000","region":null}]},{"id":"ea97ff20-8bf1-432a-9bc7-a3152969b7d7","directory":"axs","title":"AXS","compatibility":99,"releases":[{"id":"0100C55014592000","region":null}]},{"id":"eaa590e8-9725-4811-bf24-c362e89e0ff9","directory":"captain-tsubasa-rise-of-new-champions","title":"Captain Tsubasa: Rise of New Champions","compatibility":0,"releases":[{"id":"0100EAE010560000","region":null}]},{"id":"eaa6bda8-a467-4ef7-9fde-39e01131ccfa","directory":"grey-skies-a-war-of-the-worlds-story","title":"Grey Skies: A War of the Worlds Story","compatibility":99,"releases":[{"id":"0100DA7013792000","region":null}]},{"id":"eaa87f6c-1021-41c2-823c-b6f72af4bf33","directory":"state-of-mind","title":"State of Mind","compatibility":99,"releases":[{"id":"0100844004CB6000","region":null}]},{"id":"eab0b7fa-fa18-4b0e-a1db-5032bf1cc401","directory":"island","title":"ISLAND","compatibility":3,"releases":[{"id":"0100F06013710000","region":null}]},{"id":"eab4414a-0365-4da7-bbf9-9ad377a2db2a","directory":"arcade-archives-penguin-kun-wars","title":"Arcade Archives Penguin-Kun Wars","compatibility":99,"releases":[{"id":"0100B0A00C8D8000","region":null}]},{"id":"eab5eecb-a14e-41be-8e08-5c9093eececd","directory":"skatebird","title":"SkateBIRD","compatibility":99,"releases":[{"id":"0100FA400FF78000","region":null}]},{"id":"eabb9635-8112-448e-8a3f-33d89f3f6068","directory":"dungeon-shooting","title":"Dungeon Shooting","compatibility":99,"releases":[{"id":"010049D010A42000","region":null}]},{"id":"ead11e47-38d2-4bdc-a3ec-dc4c0e035b9a","directory":"magic-potion-millionaire","title":"Magic Potion Millionaire","compatibility":99,"releases":[{"id":"0100672015B72000","region":null}]},{"id":"ead240cc-a0c5-408b-8bd1-d98d7ab7f046","directory":"simulacra","title":"SIMULACRA","compatibility":99,"releases":[{"id":"0100E3D00EA82000","region":null}]},{"id":"ead604ac-9cb4-4c57-ac67-6c0c4a0b9394","directory":"motif","title":"Motif","compatibility":99,"releases":[{"id":"0100A76014BC0000","region":null}]},{"id":"ead9e331-9e14-4863-9d62-0a4db1ee0374","directory":"legendary-fishing","title":"Legendary Fishing","compatibility":1,"releases":[{"id":"0100A7700B46C000","region":null}]},{"id":"eada11ec-7b91-4758-862f-87cfa449fd9c","directory":"gem-miner","title":"Gem Miner","compatibility":99,"releases":[{"id":"01006EA01451E000","region":null}]},{"id":"eadfa995-68e1-4475-b089-4a729f3ca519","directory":"manifold-garden","title":"Manifold Garden","compatibility":1,"releases":[{"id":"0100361009B1A000","region":null}]},{"id":"eadff797-075a-4074-bbf5-6d63177270c6","directory":"two-point-hospital","title":"Two Point Hospital","compatibility":1,"releases":[{"id":"010031200E044000","region":null}]},{"id":"eae5d05a-9d14-4d78-884e-857f27cbc0ef","directory":"happy-words","title":"Happy Words","compatibility":99,"releases":[{"id":"010094F00D626000","region":null}]},{"id":"eae8b3ca-6664-46a6-8f5e-d749322d1649","directory":"yoshis-crafted-world","title":"Yoshi’s Crafted World","compatibility":1,"releases":[{"id":"01006000040C2000","region":null}]},{"id":"eaeb1686-5773-4458-af82-3c5965e0cb70","directory":"child-of-light-r-ultimate-edition-valiant-hearts-the-great-war-r","title":"Child of Light® Ultimate Edition + Valiant Hearts: The Great War®","compatibility":0,"releases":[{"id":"01006C70146A2000","region":null}]},{"id":"eaef3d40-db61-44d0-aa36-176087341aa7","directory":"knight-squad","title":"Knight Squad","compatibility":1,"releases":[{"id":"0100A6800DE70000","region":null}]},{"id":"eaf5fcad-cdd5-4ef6-a7f4-1e1bc851c95f","directory":"barbearian","title":"Barbearian","compatibility":2,"releases":[{"id":"0100F7E01308C000","region":null}]},{"id":"eafdf5f1-e47f-4aa0-b8b5-3ed4d2fcef28","directory":"bitlogic-a-cyberpunk-arcade-adventure","title":"Bitlogic - A Cyberpunk Arcade Adventure","compatibility":99,"releases":[{"id":"0100DD100DE16000","region":null}]},{"id":"eb02acc8-5de7-4401-9712-88af4617e66b","directory":"roof-rage","title":"Roof Rage","compatibility":4,"releases":[{"id":"010088100DD42000","region":null}]},{"id":"eb23a371-e4d1-4663-bef5-5f83e74d7ec4","directory":"liege-dragon","title":"Liege Dragon","compatibility":99,"releases":[{"id":"010041F0128AE000","region":null}]},{"id":"eb3033b0-5e77-4be5-8757-deea75a3345f","directory":"the-storytale","title":"the StoryTale","compatibility":99,"releases":[{"id":"0100858010DC4000","region":null}]},{"id":"eb42e6b9-b96a-440e-9124-1786e17101b8","directory":"tiny-lands","title":"Tiny Lands","compatibility":3,"releases":[{"id":"0100F18014AC2000","region":null}]},{"id":"eb4601ba-4715-4dbe-a71c-08a49d6394f3","directory":"doughlings-arcade","title":"Doughlings: Arcade","compatibility":4,"releases":[{"id":"010040E00B636000","region":null}]},{"id":"eb5bb0ed-7151-4736-974e-82e9eb417e7b","directory":"hair-mower-3d","title":"Hair Mower 3D","compatibility":99,"releases":[{"id":"0100679010FEE000","region":null}]},{"id":"eb5fe610-2446-49df-830f-ec42a7762ba5","directory":"lost-lands-dark-overlord","title":"Lost Lands: Dark Overlord","compatibility":99,"releases":[{"id":"0100BDD010AC8000","region":null}]},{"id":"eb78f1d2-31ba-4c0b-8727-461eb2c6dc17","directory":"guacamelee-2","title":"Guacamelee! 2","compatibility":1,"releases":[{"id":"01007E100456C000","region":null}]},{"id":"eb8bac71-e364-4e60-afe0-9a3384a13475","directory":"dodge-these-balls","title":"Dodge These Balls","compatibility":99,"releases":[{"id":"010019A0134E2000","region":null}]},{"id":"eb8e7ab4-9196-4c92-842a-6e734c0be53f","directory":"all-in-casino-girls","title":"All in Casino Girls","compatibility":99,"releases":[{"id":"0100689013A92000","region":null}]},{"id":"eb9bca23-823d-44de-829d-a62e5c276651","directory":"giraffe-and-annika","title":"Giraffe and Annika","compatibility":99,"releases":[{"id":"01007E90116CE000","region":null}]},{"id":"eb9c3e65-dd12-4de0-ab8d-26cd98502e8a","directory":"rover-wars","title":"Rover Wars","compatibility":99,"releases":[{"id":"010000E011176000","region":null}]},{"id":"eba5598d-4b7a-45dc-9d94-894e2c8116ff","directory":"aery-sky-castle","title":"Aery - Sky Castle","compatibility":99,"releases":[{"id":"010018E012914000","region":null}]},{"id":"ebaa533c-3011-48fb-9862-fe170ef17e04","directory":"chickens-madness","title":"Chickens Madness","compatibility":99,"releases":[{"id":"0100669011C36000","region":null}]},{"id":"ebbf0013-877f-435b-8d65-00524689da17","directory":"calculation-castle-grecos-ghostly-challenge-multiplication","title":"Calculation Castle : Greco's Ghostly Challenge \"Multiplication \"","compatibility":99,"releases":[{"id":"0100ECE00B210000","region":null}]},{"id":"ebbffc58-cd95-4ade-927b-68cfdcc6de00","directory":"barbero","title":"Barbero","compatibility":99,"releases":[{"id":"010017E015636000","region":null}]},{"id":"ebeda982-0796-4861-a9bc-97a7a198ee66","directory":"devious-dungeon","title":"Devious Dungeon","compatibility":1,"releases":[{"id":"01009EA00A320000","region":null}]},{"id":"ebef297b-9942-4f17-bc8c-d242b85c5130","directory":"spellkeeper","title":"SpellKeeper","compatibility":99,"releases":[{"id":"010045800C80C000","region":null}]},{"id":"ebff6290-9e08-4619-8e28-13c499e6520d","directory":"bloody-zombies","title":"Bloody Zombies","compatibility":1,"releases":[{"id":"0100875008000000","region":null}]},{"id":"ec107f65-1471-480d-b625-9a6473dbefcc","directory":"glitchs-trip","title":"Glitch's Trip","compatibility":1,"releases":[{"id":"0100B6F01227C000","region":null}]},{"id":"ec1ae12c-5a2c-4f8b-bea1-c05e303d71eb","directory":"titans-black-ops","title":"Titans Black Ops","compatibility":99,"releases":[{"id":"0100D1D015956000","region":null}]},{"id":"ec25237c-f581-4c5b-9c9e-b8e9a0ab777d","directory":"four-in-a-row","title":"Four in a Row","compatibility":99,"releases":[{"id":"010058A01302A000","region":null}]},{"id":"ec2bc9c2-f39e-4f0f-9865-0f9d77ba5d1f","directory":"old-school-racer-2","title":"Old School Racer 2","compatibility":99,"releases":[{"id":"010099000BA48000","region":null}]},{"id":"ec2fafd0-44e2-442f-bc33-03d0bb97f2b8","directory":"dont-give-up-a-cynical-tale","title":"DON'T GIVE UP: A Cynical Tale","compatibility":99,"releases":[{"id":"0100224013C7E000","region":null}]},{"id":"ec386500-c590-4eb5-9aed-d559b4c37f23","directory":"furi","title":"Furi","compatibility":3,"releases":[{"id":"01009D3008D20000","region":null}]},{"id":"ec47f676-3a40-4c7a-aadd-df09ff37569c","directory":"football-cup-2021","title":"Football Cup 2021","compatibility":99,"releases":[{"id":"0100D43013BC6000","region":null}]},{"id":"ec4d86e1-f8ba-4ff1-9945-acdd0f964ecb","directory":"star-wars-episode-i-racer","title":"STAR WARS™ Episode I Racer","compatibility":2,"releases":[{"id":"0100BD100FFBE000","region":null}]},{"id":"ec4f1cc5-972f-4ae5-adae-a3753e9bef35","directory":"prison-princess","title":"Prison Princess","compatibility":1,"releases":[{"id":"0100F4800F872000","region":null}]},{"id":"ec6b6c4c-13b8-4cc9-b135-aeb99a8771bb","directory":"street-fighter-30th-anniversary-collection","title":"Street Fighter 30th Anniversary Collection","compatibility":1,"releases":[{"id":"0100024008310000","region":null}]},{"id":"ec73a992-34e6-4f63-8f91-7983ca0c9662","directory":"super-tennis-blast","title":"Super Tennis Blast","compatibility":1,"releases":[{"id":"010000500DB50000","region":null}]},{"id":"ec7cc9a3-4d47-4ce7-83e5-ce548b0ed0f1","directory":"case-2-animatronics-survival","title":"CASE 2: Animatronics Survival","compatibility":99,"releases":[{"id":"0100C4C0132F8000","region":null}]},{"id":"ec80934d-b5dc-407e-a06c-670543362d55","directory":"pixeljunk-eden-2","title":"PixelJunk Eden 2","compatibility":99,"releases":[{"id":"0100382011002000","region":null}]},{"id":"ec906309-aa4a-47fb-94dd-0dba7132a973","directory":"ayakashi-romance-reborn-dawn-chapter-twilight-chapter","title":"Ayakashi: Romance Reborn Dawn Chapter & Twilight Chapter","compatibility":99,"releases":[{"id":"0100EED013184000","region":null}]},{"id":"eca32618-f598-4a29-9e8f-8bb5c244239c","directory":"splatoon-2-special-demo-2020","title":"Splatoon™ 2 Special Demo 2020","compatibility":99,"releases":[{"id":"01002120116C4000","region":null}]},{"id":"eca4ac36-11bc-4a94-82c1-fa2bdf1b5791","directory":"solar-blast","title":"Solar Blast","compatibility":99,"releases":[{"id":"0100694013B7E000","region":null}]},{"id":"ecc02a30-3279-42a1-9b55-724d6c93ff86","directory":"tiger-trios-tasty-travels","title":"Tiger Trio's Tasty Travels","compatibility":99,"releases":[{"id":"0100679014BDC000","region":null}]},{"id":"ecd664c0-0563-4e0c-b6e2-fa32c9e68091","directory":"aca-neogeo-the-super-spy","title":"ACA NEOGEO THE SUPER SPY","compatibility":99,"releases":[{"id":"0100F7F00AFA2000","region":null}]},{"id":"ecdff992-2001-4c72-bc12-e4f73f4e7d99","directory":"endless-fables-dark-moor","title":"Endless Fables: Dark Moor","compatibility":99,"releases":[{"id":"01004F3011F92000","region":null}]},{"id":"ece1b6b6-5c1b-4eb5-9a24-1e6d1d57caed","directory":"shift-quantum","title":"Shift Quantum","compatibility":0,"releases":[{"id":"01000E8009E1C000","region":null}]},{"id":"ecedd270-6d14-487a-8009-84b4996129c5","directory":"one-eyed-lee-and-the-dinner-party","title":"One-Eyed Lee and the Dinner Party","compatibility":99,"releases":[{"id":"0100F3E0157CE000","region":null}]},{"id":"ecf339ed-d676-4c08-b21b-2026d80690db","directory":"speed-limit","title":"Speed Limit","compatibility":3,"releases":[{"id":"01000540139F6000","region":null}]},{"id":"ed003aa8-7be9-4248-b056-6390ac18e806","directory":"rogue-trooper-redux","title":"Rogue Trooper Redux","compatibility":1,"releases":[{"id":"01001CC00416C000","region":null}]},{"id":"ed07fe72-4e93-4334-8706-f38b44492932","directory":"smoots-summer-games","title":"Smoots Summer Games","compatibility":99,"releases":[{"id":"01006FC00E6C4000","region":null}]},{"id":"ed0e5fc5-cb02-44d7-99c5-daaa6d580a47","directory":"save-the-ninja-clan","title":"Save the Ninja Clan","compatibility":99,"releases":[{"id":"0100D6E008700000","region":null}]},{"id":"ed0f252e-9225-43c7-a9f7-7fd0810d9105","directory":"space-pioneer","title":"Space Pioneer","compatibility":99,"releases":[{"id":"010047B010260000","region":null}]},{"id":"ed14e22f-f8cd-486f-8fe4-8809ad598689","directory":"endless-puzzle-fun-collection","title":"Endless Puzzle Fun Collection","compatibility":1,"releases":[{"id":"0100D6A015B12000","region":null}]},{"id":"ed1a692a-3ed5-411c-a2f2-97f667914c98","directory":"the-next-penelope","title":"The Next Penelope","compatibility":1,"releases":[{"id":"01000CF0084BC000","region":null}]},{"id":"ed1b876e-c522-472f-bf70-9b20e4bd862f","directory":"active-neurons-2","title":"Active Neurons 2","compatibility":99,"releases":[{"id":"01000D1011EF0000","region":null}]},{"id":"ed29070f-73a2-422d-993f-ecba2449f441","directory":"celeste","title":"Celeste","compatibility":0,"releases":[{"id":"01002B30028F6000","region":null}]},{"id":"ed376620-a10d-489a-970b-7565b1eb14e4","directory":"39-days-to-mars","title":"39 Days to Mars","compatibility":99,"releases":[{"id":"0100AF400C4CE000","region":null}]},{"id":"ed4261a8-6999-4b4c-acc0-46af1935e8a3","directory":"golf-peaks","title":"Golf Peaks","compatibility":99,"releases":[{"id":"0100E3500D342000","region":null}]},{"id":"ed49eaf5-66a2-4400-a032-545197c672b4","directory":"eternal-card-game","title":"Eternal Card Game","compatibility":99,"releases":[{"id":"0100F0B00A214000","region":null}]},{"id":"ed599889-d73d-43ef-ac12-c058003751c7","directory":"tic-tac-letters-by-powgi","title":"Tic-Tac-Letters by POWGI","compatibility":99,"releases":[{"id":"01001ED00F384000","region":null}]},{"id":"ed5a71ea-efe0-43a1-99b7-d0c696701f51","directory":"abbies-farm-for-kids-and-toddlers","title":"Abbie's Farm for kids and toddlers","compatibility":99,"releases":[{"id":"0100A6B014926000","region":null}]},{"id":"ed5b48de-1243-4f22-a0f6-a83dd6155cf4","directory":"nba-2k-playgrounds-2","title":"NBA 2K Playgrounds 2","compatibility":4,"releases":[{"id":"01001AE00C1B2000","region":null}]},{"id":"ed64463e-a816-426c-8d5d-e61e2449ee17","directory":"uni","title":"UNI","compatibility":99,"releases":[{"id":"0100A0F00BC24000","region":null}]},{"id":"ed6d5a37-bd3c-4d6e-bd30-eed531d66c6c","directory":"my-friend-pedro","title":"My Friend Pedro","compatibility":1,"releases":[{"id":"010031200B94C000","region":null}]},{"id":"ed73f9fb-098b-4c65-82b9-0b0188bbe750","directory":"snk-40th-anniversary-collection","title":"SNK 40th ANNIVERSARY COLLECTION","compatibility":1,"releases":[{"id":"01004AB00AEF8000","region":null}]},{"id":"ed842ece-280b-429a-9112-3874c13afa65","directory":"dustoff-heli-rescue-2","title":"Dustoff Heli Rescue 2","compatibility":99,"releases":[{"id":"0100C00005E38000","region":null}]},{"id":"ed89283c-f190-43d3-aa47-a243ca7ea02f","directory":"splatoon-2","title":"Splatoon 2","compatibility":2,"releases":[{"id":"01003BC0000A0000","region":null}]},{"id":"ed948a7f-e408-484e-af25-cef01c54b037","directory":"disc-room","title":"Disc Room","compatibility":3,"releases":[{"id":"010015B012E0C000","region":null}]},{"id":"edc597f0-50bd-44ce-9c93-3fb8de7d10b7","directory":"strike-force-war-on-terror","title":"Strike Force - War on Terror","compatibility":99,"releases":[{"id":"010039100DACC000","region":null}]},{"id":"edca6981-6bf0-43c7-bd35-7f3aede30e16","directory":"drift-racing-madness","title":"Drift Racing Madness","compatibility":99,"releases":[{"id":"0100850011FDA000","region":null}]},{"id":"edf3064a-30b7-406d-8230-01023521c334","directory":"implosion","title":"IMPLOSION","compatibility":1,"releases":[{"id":"0100737003190000","region":null}]},{"id":"edf34146-3143-437d-82b5-a19397c3ebdd","directory":"wizodd","title":"Wizodd","compatibility":99,"releases":[{"id":"01003970146E6000","region":null}]},{"id":"edf9e025-3d15-4192-8a7d-fd5aa65bb5fa","directory":"kemono-friends-picross","title":"KEMONO FRIENDS PICROSS","compatibility":2,"releases":[{"id":"01004B100BDA2000","region":null}]},{"id":"ee06672d-607a-4e18-bdac-b458f563e4fb","directory":"arcade-archives-gemini-wing","title":"Arcade Archives Gemini Wing","compatibility":99,"releases":[{"id":"0100938012A2E000","region":null}]},{"id":"ee0ba630-4378-4ef2-8a4c-f50661d484f6","directory":"cobra-kai-the-karate-kid-saga-continues","title":"Cobra Kai: The Karate Kid Saga Continues","compatibility":1,"releases":[{"id":"01005790110F0000","region":null}]},{"id":"ee0cc7e0-9031-44de-b1d5-217112fdf4b0","directory":"naruto-shippuden-ultimate-ninja-r-storm-4-road-to-boruto","title":"NARUTO SHIPPUDEN™: Ultimate Ninja® STORM 4 ROAD TO BORUTO","compatibility":5,"releases":[{"id":"010084D00CF5E000","region":null}]},{"id":"ee12c048-8323-4e0c-b570-abf248c33579","directory":"summer-catchers","title":"Summer Catchers","compatibility":99,"releases":[{"id":"0100853013824000","region":null}]},{"id":"ee138101-c325-43c0-99dc-dc91d327fc33","directory":"the-flower-collectors","title":"The Flower Collectors","compatibility":99,"releases":[{"id":"01005860122C4000","region":null}]},{"id":"ee1477da-a669-417b-a58a-61e005ee7b10","directory":"beauty-bounce","title":"Beauty Bounce","compatibility":99,"releases":[{"id":"0100CFB0145C2000","region":null}]},{"id":"ee187093-1b9f-4d92-b1da-2b60eca95bcf","directory":"magical-girls-second-magic","title":"Magical Girls Second Magic","compatibility":99,"releases":[{"id":"0100969015B04000","region":null}]},{"id":"ee263509-1918-48e6-a1db-80022791f65c","directory":"aca-neogeo-metal-slug","title":"ACA NEOGEO METAL SLUG","compatibility":3,"releases":[{"id":"0100EBE002B3E000","region":null}]},{"id":"ee275362-2131-4fac-b493-ff24f96cee81","directory":"sega-ages-lightening-force-quest-for-the-darkstar","title":"SEGA AGES Lightening Force: Quest for the Darkstar","compatibility":1,"releases":[{"id":"01006AB00BEE4000","region":null}]},{"id":"ee29c81b-b31e-4b30-bf5a-98c1d0150275","directory":"palm-reading-premium","title":"Palm Reading Premium","compatibility":99,"releases":[{"id":"010002900B75A000","region":null}]},{"id":"ee2a8662-a285-4bcd-8567-ded1f8b3c7ad","directory":"the-ambassador-fractured-timelines","title":"The Ambassador: Fractured Timelines","compatibility":99,"releases":[{"id":"0100F0C00FE6E000","region":null}]},{"id":"ee2b2521-9da7-4564-98f6-dde95de8576a","directory":"house-of-golf","title":"House of Golf","compatibility":3,"releases":[{"id":"0100C3A00B97E000","region":null}]},{"id":"ee30cc2f-925a-41fe-95b0-022121d1c430","directory":"the-card-battle-eternal-destiny","title":"THE Card Battle: Eternal Destiny","compatibility":99,"releases":[{"id":"0100FBE0151DC000","region":null}]},{"id":"ee32a889-49a9-4f61-90eb-9bcc171514ca","directory":"stubbs-the-zombie-in-rebel-without-a-pulse","title":"Stubbs the Zombie in Rebel Without a Pulse","compatibility":99,"releases":[{"id":"0100964012528000","region":null}]},{"id":"ee35323d-62db-474d-a318-ec7df946b2eb","directory":"adventures-of-pip","title":"Adventures of Pip","compatibility":1,"releases":[{"id":"01002B5012004000","region":null}]},{"id":"ee3a207a-0a56-4772-9da4-f83c6bd9ce09","directory":"way-of-the-passive-fist","title":"Way of the Passive Fist","compatibility":99,"releases":[{"id":"0100BA200C378000","region":null}]},{"id":"ee444b95-c2ef-488b-8862-3db1462ba5a0","directory":"jetboard-joust","title":"Jetboard Joust","compatibility":99,"releases":[{"id":"0100AEB0138A4000","region":null}]},{"id":"ee52b86d-6479-487b-8135-b43668fb04dc","directory":"world-end-economica-complete","title":"WORLD END ECONOMiCA ~complete~","compatibility":99,"releases":[{"id":"01001F801458C000","region":null}]},{"id":"ee5315a2-18cf-40c6-b34c-7cf5b1e5c9d7","directory":"my-jurassic-farm-2018","title":"My Jurassic Farm 2018","compatibility":99,"releases":[{"id":"0100BCD00C86A000","region":null}]},{"id":"ee5352d1-e15a-4b32-9244-24f7b7c166d5","directory":"neko-navy-daydream-edition","title":"Neko Navy - Daydream Edition","compatibility":99,"releases":[{"id":"0100E5500B020000","region":null}]},{"id":"ee555114-e7fc-47aa-ad8c-6a9f952571c9","directory":"nelke-and-the-legendary-alchemists-~ateliers-of-the-new-world~","title":"Nelke & the Legendary Alchemists ~Ateliers of the New World~","compatibility":3,"releases":[{"id":"01006ED00BC76000","region":null}]},{"id":"ee56dd02-f8bf-47fe-94ee-8de81d80748b","directory":"what-remains-of-edith-finch","title":"What Remains of Edith Finch","compatibility":4,"releases":[{"id":"010038900DFE0000","region":null}]},{"id":"ee5aa4e8-d2e8-495e-8e67-5ecd9fd19594","directory":"s-u-m-slay-uncool-monsters","title":"S.U.M. - Slay Uncool Monsters","compatibility":99,"releases":[{"id":"010060A0138FC000","region":null}]},{"id":"ee62bbd5-0cd7-4856-b268-f49229334c14","directory":"metaloid-origin","title":"Metaloid: Origin","compatibility":0,"releases":[{"id":"01002DE00E5D0000","region":null}]},{"id":"ee844b38-fc39-4fbc-8929-d530c68416bc","directory":"of-mice-and-sand-revised-","title":"OF MICE AND SAND -REVISED-","compatibility":99,"releases":[{"id":"01002310064B4000","region":null}]},{"id":"ee8505be-907e-492e-be62-707fcd1deb01","directory":"poopdie-chapter-one","title":"Poopdie - Chapter One","compatibility":0,"releases":[{"id":"010051A011AD8000","region":null}]},{"id":"ee87f7c1-cba0-405d-b123-46e0bfaff710","directory":"super-dodgeball-beats","title":"Super Dodgeball Beats","compatibility":99,"releases":[{"id":"010003900E46A000","region":null}]},{"id":"ee96bc2f-eee6-45ef-b7b6-7e327af1690e","directory":"byakko-tai-samurai-boys","title":"Byakko-tai Samurai Boys","compatibility":99,"releases":[{"id":"0100BBA013CAC000","region":null}]},{"id":"ee9f7384-3600-4c24-8f2a-077b81920765","directory":"ghost-parade","title":"Ghost Parade","compatibility":0,"releases":[{"id":"010094C00E180000","region":null}]},{"id":"eead0e12-be88-440c-aa16-144840c65541","directory":"jigsaw-fun-greatest-cities","title":"Jigsaw Fun: Greatest Cities","compatibility":99,"releases":[{"id":"0100696015DBE000","region":null}]},{"id":"eeb3dbcd-1100-4512-80b6-5d10b07d6c7d","directory":"puyo-puyo-tetris-r-2","title":"Puyo Puyo™ Tetris® 2","compatibility":0,"releases":[{"id":"010038E011940000","region":null}]},{"id":"eebda8eb-868b-47f6-a1a9-d371cbe8b840","directory":"roombo-first-blood","title":"Roombo: First Blood","compatibility":2,"releases":[{"id":"0100F3000FA58000","region":null}]},{"id":"eebee0c3-0192-4fed-a494-1d5d3f45c43d","directory":"night-book","title":"Night Book","compatibility":3,"releases":[{"id":"0100B5E0140B2000","region":null}]},{"id":"eec0794a-463e-4a53-9e9d-723f765f649c","directory":"aca-neogeo-stakes-winner","title":"ACA NEOGEO STAKES WINNER","compatibility":2,"releases":[{"id":"01004B600A2FC000","region":null}]},{"id":"eec94039-7aa1-4015-9014-9d628aebd7d9","directory":"indie-gems-bundle-nonograms-edition","title":"Indie Gems Bundle - Nonograms edition","compatibility":99,"releases":[{"id":"0100510011BC0000","region":null}]},{"id":"eed5009f-745a-45e9-bafd-a2958e16865a","directory":"akuto-showdown","title":"Akuto: Showdown","compatibility":99,"releases":[{"id":"010026E00FEBE000","region":null}]},{"id":"eedc2b4a-ea7d-4d9b-b99d-4e3dc6a84da5","directory":"puzzle-box-3-in-1","title":"Puzzle Box 3 in 1","compatibility":99,"releases":[{"id":"0100E710153BA000","region":null}]},{"id":"eee2185a-b348-4dbb-8a1f-374ef9c61f0b","directory":"panmorphia-enchanted","title":"Panmorphia: Enchanted","compatibility":99,"releases":[{"id":"0100042016884000","region":null}]},{"id":"ef0076c1-4ad1-48b7-869e-8e7b59a1bd8c","directory":"love-colors","title":"Love Colors","compatibility":99,"releases":[{"id":"0100121012BB6000","region":null}]},{"id":"ef0a9be0-765a-49b2-9279-df172485bbaa","directory":"super-arcade-football","title":"Super Arcade Football","compatibility":99,"releases":[{"id":"0100B26016078000","region":null}]},{"id":"ef149a82-3694-4f5b-a93e-a26c3ac01d68","directory":"shadows","title":"Shadows","compatibility":99,"releases":[{"id":"0100045010EB6000","region":null}]},{"id":"ef202326-b7c8-4ca6-b6c3-a492df7205ec","directory":"toast-time-smash-up","title":"Toast Time: Smash Up!","compatibility":99,"releases":[{"id":"010014900865A000","region":null}]},{"id":"ef2caf5b-4984-4949-9cee-c8bda0c262d6","directory":"headland","title":"Headland","compatibility":99,"releases":[{"id":"0100A8F0165F2000","region":null}]},{"id":"ef308b77-606c-4e5a-97ee-1e465a45de7f","directory":"wood-block-escape-puzzles","title":"Wood Block Escape Puzzles","compatibility":99,"releases":[{"id":"0100963014D92000","region":null}]},{"id":"ef31eec3-c003-4d97-b5c9-a34c680d831f","directory":"esports-legend","title":"eSports Legend","compatibility":99,"releases":[{"id":"0100B4F00FC4E000","region":null}]},{"id":"ef55bdeb-8572-401e-b5c5-a6fe8436ec6a","directory":"yuso","title":"Yuso","compatibility":99,"releases":[{"id":"01004D800AAAC000","region":null}]},{"id":"ef69cebd-176d-470c-b8c0-c0ee259a56f1","directory":"kraken-academy","title":"Kraken Academy!!","compatibility":99,"releases":[{"id":"0100D1301367A000","region":null}]},{"id":"ef72f056-047a-4e9c-bb9c-d1c29fe80a22","directory":"unitied","title":"Unitied","compatibility":99,"releases":[{"id":"01003900122A6000","region":null}]},{"id":"ef734df8-1b45-4ed6-8428-7cde1376c315","directory":"tetragon","title":"Tetragon","compatibility":1,"releases":[{"id":"01001BB013EAA000","region":null}]},{"id":"ef781323-7977-4921-8e2e-7d4f7240751f","directory":"awakening-of-cthulhu","title":"Awakening of Cthulhu","compatibility":99,"releases":[{"id":"0100085012D64000","region":null}]},{"id":"ef898738-6145-4131-aedc-4060772383ce","directory":"the-ninja-saviors-return-of-the-warriors","title":"The Ninja Saviors: Return of the Warriors","compatibility":2,"releases":[{"id":"0100AD100E8B2000","region":null}]},{"id":"ef8b51c7-a9b8-4580-881c-4d389ac1224a","directory":"dragon-ball-z-kakarot-a-new-power-awakens-set","title":"DRAGON BALL Z: KAKAROT + A NEW POWER AWAKENS SET","compatibility":2,"releases":[{"id":"010051C0134F8000","region":null}]},{"id":"ef8c3a82-b3a5-4724-9dbb-b7d4131fa5d8","directory":"destrobots","title":"Destrobots","compatibility":4,"releases":[{"id":"01008BB0113D6000","region":null}]},{"id":"ef9a47e7-f7b1-4398-a189-db0a807015e4","directory":"graveyard-keeper","title":"Graveyard Keeper","compatibility":2,"releases":[{"id":"0100B6800B5C8000","region":null}]},{"id":"efae2518-fa04-48e7-a2c6-8eeba4f4d4ca","directory":"doraemon-story-of-seasons","title":"DORAEMON  STORY OF SEASONS","compatibility":3,"releases":[{"id":"010073700E412000","region":null}]},{"id":"efd70e93-699e-4120-9e79-08562ad4fdca","directory":"kingdom-of-arcadia","title":"Kingdom of Arcadia","compatibility":0,"releases":[{"id":"0100B4E012CAC000","region":null}]},{"id":"efe0a9f2-4d9c-489f-898d-7f8f92a82dce","directory":"dark-fantasy-jigsaw-puzzle-2","title":"Dark Fantasy: Jigsaw Puzzle 2","compatibility":99,"releases":[{"id":"010047C0157AA000","region":null}]},{"id":"efe61778-ab2d-4ba3-af8a-d88f9cae2133","directory":"ice-cream-surfer","title":"Ice Cream Surfer","compatibility":1,"releases":[{"id":"010053700A25A000","region":null}]},{"id":"efef4f54-d2b7-4087-b0fc-db3647c99537","directory":"infinite-minigolf","title":"Infinite Minigolf","compatibility":2,"releases":[{"id":"010039C001296000","region":null}]},{"id":"efefbeb3-69f0-459d-9dc9-cf7062256a10","directory":"lego-ninjago-movie-video-game","title":"LEGO NINJAGO Movie Video Game","compatibility":3,"releases":[{"id":"01007FC00206E000","region":null}]},{"id":"eff2e343-2f0a-40ad-affd-e0e9ab114878","directory":"mahjong-adventure","title":"Mahjong Adventure","compatibility":99,"releases":[{"id":"01007C6013A3A000","region":null}]},{"id":"effe4595-a3ff-4020-9992-9c4cd33c4e71","directory":"double-pug-switch","title":"Double Pug Switch","compatibility":99,"releases":[{"id":"0100A5D00C7C0000","region":null}]},{"id":"f000ba9a-62bc-4e51-b1b8-97883a844fbf","directory":"talisman-digital-edition","title":"Talisman: Digital Edition","compatibility":5,"releases":[{"id":"0100BE300F6AA000","region":null}]},{"id":"f01ecf29-40ec-4b19-9a99-e211cc13d051","directory":"demons-of-asteborg","title":"Demons of Asteborg","compatibility":5,"releases":[{"id":"0100B92015538000","region":null}]},{"id":"f0232524-037e-4514-a1cc-2ec31daa9597","directory":"alex-kidd-in-miracle-world-dx","title":"Alex Kidd in Miracle World DX","compatibility":0,"releases":[{"id":"010025D01221A000","region":null}]},{"id":"f02b668e-66c2-4c72-bff8-7eb0c8aaf09f","directory":"treasure-stack","title":"Treasure Stack","compatibility":4,"releases":[{"id":"0100B3900B766000","region":null}]},{"id":"f037f085-2d74-4485-a8a3-951e971e25d4","directory":"trail-boss-bmx","title":"Trail Boss BMX","compatibility":99,"releases":[{"id":"010004901194A000","region":null}]},{"id":"f05165e2-7a4f-426a-b6e6-796854bf6882","directory":"perils-of-baking","title":"Perils of Baking","compatibility":99,"releases":[{"id":"01008CA00F7E0000","region":null}]},{"id":"f055e9f7-00a1-46db-9140-31e042bc09f5","directory":"commandos-2-hd-remaster","title":"Commandos 2 - HD Remaster","compatibility":1,"releases":[{"id":"010065A01158E000","region":null}]},{"id":"f0569d72-2f55-415e-84c7-8253366693ea","directory":"soccerdie-cosmic-cup","title":"SoccerDie: Cosmic Cup","compatibility":99,"releases":[{"id":"010074E00C872000","region":null}]},{"id":"f05b6eec-96a9-4995-8281-5a7eac04f6e6","directory":"dc-super-hero-girls-teen-power","title":"DC Super Hero Girls™: Teen Power","compatibility":2,"releases":[{"id":"0100F8F00C4F2000","region":null}]},{"id":"f05b7b27-8403-4359-8850-0c341271c447","directory":"arcade-archives-argus","title":"Arcade Archives ARGUS","compatibility":99,"releases":[{"id":"0100A5700AF32000","region":null}]},{"id":"f061d92f-52c9-4079-8a36-0894481fe78d","directory":"tauronos","title":"TAURONOS","compatibility":99,"releases":[{"id":"010076001311E000","region":null}]},{"id":"f070c47e-6873-4c51-889e-6bee05ef224e","directory":"katamari-damacy-reroll-demo","title":"Katamari Damacy REROLL Demo","compatibility":99,"releases":[{"id":"010065900CB3A000","region":null}]},{"id":"f0808d58-0eef-45ee-a420-9d3bf556b16c","directory":"go-vacation","title":"Go Vacation","compatibility":2,"releases":[{"id":"0100C1800A9B6000","region":null}]},{"id":"f081a10d-8f3d-455a-b347-42e7121bb52a","directory":"night-vision","title":"Night Vision","compatibility":99,"releases":[{"id":"0100C3801458A000","region":null}]},{"id":"f0976eef-30dd-436d-8364-53c03ae4725c","directory":"mo-astray","title":"MO:Astray","compatibility":99,"releases":[{"id":"010011300F74C000","region":null}]},{"id":"f098e5ec-6467-4551-867c-4de3d7f9bd0d","directory":"quake","title":"QUAKE","compatibility":5,"releases":[{"id":"0100BA5012E54000","region":null}]},{"id":"f09af212-1492-4011-ad89-f8651126941e","directory":"even-the-ocean","title":"Even the Ocean","compatibility":99,"releases":[{"id":"010061000D82C000","region":null}]},{"id":"f0a102b9-dfa3-4d7f-b727-b90891e47617","directory":"balloon-pop-for-toddlers-kids-learn-numbers-letters-colors-animals","title":"Balloon Pop for Toddlers & Kids - Learn Numbers, Letters, Colors & Animals","compatibility":99,"releases":[{"id":"0100C9301248E000","region":null}]},{"id":"f0af8179-b4a1-4051-8794-bc4b32c1e218","directory":"hashihime-of-the-old-book-town-append","title":"Hashihime of the Old Book Town append","compatibility":2,"releases":[{"id":"0100EA9015126000","region":null}]},{"id":"f0b3ac43-a759-4a0f-baa5-0aa3bcd64641","directory":"hitchhiker-a-mystery-game","title":"Hitchhiker - A Mystery Game","compatibility":99,"releases":[{"id":"010081400DB00000","region":null}]},{"id":"f0c8bcd6-5fa4-46d6-9519-ae11395db1ed","directory":"petal-crash","title":"Petal Crash","compatibility":99,"releases":[{"id":"010094100A55A000","region":null}]},{"id":"f0cc6a47-7173-478e-903d-8cc650368a9d","directory":"astrologaster","title":"Astrologaster","compatibility":99,"releases":[{"id":"0100B80010C48000","region":null}]},{"id":"f0d3ffd0-c3ce-4d80-b2bb-c6d779fa387d","directory":"maze-with-cube","title":"Maze with cube","compatibility":99,"releases":[{"id":"01008F8013BD0000","region":null}]},{"id":"f0e8532a-19c1-4533-a677-5481eef99bfb","directory":"rally-racer-offroad-racing-car-game","title":"Rally Racer: Offroad Racing Car Game","compatibility":99,"releases":[{"id":"010000A014E5A000","region":null}]},{"id":"f0f92e69-cb57-4b3b-9518-a7d60f022964","directory":"sega-ages-out-run","title":"SEGA AGES Out Run","compatibility":2,"releases":[{"id":"0100D4D00AC62000","region":null}]},{"id":"f0ff65dd-0c4b-4d24-8b6d-8472d7692a07","directory":"road-racing-highway-car-chase","title":"Road Racing: Highway Car Chase","compatibility":99,"releases":[{"id":"0100ED40162C4000","region":null}]},{"id":"f103d703-fc7b-4bca-a43c-00f22bb799cf","directory":"the-way-remastered","title":"The Way Remastered","compatibility":1,"releases":[{"id":"0100F8900A5B0000","region":null}]},{"id":"f10ea96b-d3ca-44c2-8e7e-24be17eb2e86","directory":"baobabs-mausoleum-demo","title":"Baobabs Mausoleum: DEMO","compatibility":99,"releases":[{"id":"0100D3000AEC2000","region":null}]},{"id":"f1111314-7ca8-4f23-9250-d1a87964d2fd","directory":"kirby-star-allies","title":"Kirby Star Allies","compatibility":1,"releases":[{"id":"01007E3006DDA000","region":null}]},{"id":"f1134512-9efe-4101-8b1a-e7943c2fa055","directory":"aqua-kitty-udx","title":"AQUA KITTY UDX","compatibility":1,"releases":[{"id":"0100AC10085CE000","region":null}]},{"id":"f11d1bea-2549-49dd-a881-ca09fd0f3ea3","directory":"sundered-eldritch-edition","title":"Sundered: Eldritch Edition","compatibility":1,"releases":[{"id":"01002D3007962000","region":null}]},{"id":"f132b3aa-2869-45e0-831a-51d4941ff1f0","directory":"pato-box","title":"Pato Box","compatibility":99,"releases":[{"id":"010031F006E76000","region":null}]},{"id":"f1337364-bac9-41de-9daa-f6f8da90a216","directory":"bustafellows","title":"BUSTAFELLOWS","compatibility":0,"releases":[{"id":"0100A9101418C000","region":null}]},{"id":"f142a456-7918-4ce2-8119-795ffd04afe6","directory":"pets-no-more","title":"Pets No More","compatibility":99,"releases":[{"id":"010084F0157AE000","region":null}]},{"id":"f1500e37-c58c-44e2-8bda-37096e5b65b1","directory":"balan-wonderworld","title":"BALAN WONDERWORLD","compatibility":4,"releases":[{"id":"0100438012EC8000","region":null}]},{"id":"f1540061-4f6d-477d-8ac0-c6cc48e14c0d","directory":"sega-ages-sonic-the-hedgehog","title":"SEGA AGES Sonic The Hedgehog","compatibility":1,"releases":[{"id":"010051F00AC5E000","region":null}]},{"id":"f1641591-2106-41b3-b2e3-d3fa0d4de2a7","directory":"simple-dominoes","title":"Simple Dominoes","compatibility":99,"releases":[{"id":"0100F5601653C000","region":null}]},{"id":"f1687838-362c-414a-aa40-a86b190b6da5","directory":"teacup","title":"Teacup","compatibility":99,"releases":[{"id":"0100172012F88000","region":null}]},{"id":"f1734cfa-19aa-47d2-bc19-c499dc3b6f2d","directory":"arcade-archives-64th-street","title":"Arcade Archives 64th. STREET","compatibility":0,"releases":[{"id":"01008CE0123CC000","region":null}]},{"id":"f17e3043-f7ec-4126-b750-f24775b30833","directory":"tetraminos","title":"Tetraminos","compatibility":99,"releases":[{"id":"010037A00BB02000","region":null}]},{"id":"f19ccc86-e1c3-4fda-97e8-1dcbf2409a00","directory":"starlight-shores","title":"Starlight Shores","compatibility":99,"releases":[{"id":"010014F01539E000","region":null}]},{"id":"f19e11e5-2777-4ec9-a460-e9e4b7462083","directory":"speedway-racing","title":"Speedway Racing","compatibility":99,"releases":[{"id":"0100AC00107B8000","region":null}]},{"id":"f1a0e985-e306-4c16-a26c-63bbf6c4c694","directory":"valentina","title":"Valentina","compatibility":99,"releases":[{"id":"0100A59012070000","region":null}]},{"id":"f1a300ae-4b5f-41f3-ba18-4d7bdd2ac583","directory":"paper-mario-the-origami-king","title":"Paper Mario™: The Origami King","compatibility":1,"releases":[{"id":"0100A3900C3E2000","region":null}]},{"id":"f1a60ad4-65fb-400b-8026-5eb6146975a0","directory":"azure-saga-pathfinder-deluxe-edition","title":"Azure Saga: Pathfinder DELUXE Edition","compatibility":1,"releases":[{"id":"010029E00C780000","region":null}]},{"id":"f1a783e0-7c52-4e75-9444-00e3cae008f9","directory":"tanuki-justice","title":"Tanuki Justice","compatibility":3,"releases":[{"id":"01007A601318C000","region":null}]},{"id":"f1ae6cf5-38ff-4d7b-8710-ebec2b45ec5e","directory":"naruto-shippuden-ultimate-ninja-storm-3-full-burst","title":"NARUTO SHIPPUDEN: Ultimate Ninja STORM 3 Full Burst","compatibility":1,"releases":[{"id":"01006BB00800A000","region":null}]},{"id":"f1e8bf58-9643-48a6-bd0b-b084edbfc01c","directory":"rally-road","title":"Rally Road","compatibility":99,"releases":[{"id":"010031900F66E000","region":null}]},{"id":"f1e922a2-34fd-427c-bb24-48d1505563c0","directory":"detective-gallo","title":"Detective Gallo","compatibility":1,"releases":[{"id":"01009C0009842000","region":null}]},{"id":"f1ec463e-0e3c-426e-94dd-2dfbc5e95413","directory":"bird-game","title":"Bird Game +","compatibility":99,"releases":[{"id":"01001B700B278000","region":null}]},{"id":"f1ec803a-e648-4d74-bf95-584bca3f1bad","directory":"nowhere-girl","title":"Nowhere Girl","compatibility":99,"releases":[{"id":"010041B014EC0000","region":null}]},{"id":"f1f75540-bbe8-4533-a4d5-a25cc41a6e6a","directory":"super-arcade-soccer","title":"Super Arcade Soccer","compatibility":99,"releases":[{"id":"01002EC009AEE000","region":null}]},{"id":"f1fe36f4-ec88-43fd-85cd-19cd03c42019","directory":"dead-fun-pack-penguins-and-aliens-strike-again","title":"Dead Fun Pack: Penguins and Aliens Strike Again","compatibility":99,"releases":[{"id":"01008D800A162000","region":null}]},{"id":"f20081bc-cd7c-48a2-830d-6c081c085c96","directory":"pikmin-3-deluxe","title":"Pikmin™ 3 Deluxe","compatibility":1,"releases":[{"id":"0100F4C009322000","region":null}]},{"id":"f21855db-d702-4d18-afe2-20cfbeebba86","directory":"aca-neogeo-aero-fighters-2","title":"ACA NEOGEO AERO FIGHTERS 2","compatibility":1,"releases":[{"id":"0100AC40038F4000","region":null}]},{"id":"f227486f-d7d9-402d-b663-b46003fd2621","directory":"energy-invasion","title":"Energy Invasion","compatibility":99,"releases":[{"id":"0100A8E0090B0000","region":null}]},{"id":"f22a0bd7-54e4-4c6b-8a9d-b3797cd13eae","directory":"strikers1945-for-nintendo-switch","title":"STRIKERS1945 for Nintendo Switch","compatibility":99,"releases":[{"id":"0100FF5005B76000","region":null}]},{"id":"f239c109-12de-4bef-a070-daaecdd7a437","directory":"johnny-turbos-arcade-shoot-out","title":"Johnny Turbo's Arcade: Shoot Out","compatibility":99,"releases":[{"id":"010007F00B9F0000","region":null}]},{"id":"f240ddd1-3237-4d5e-aa54-aa062a3beac7","directory":"farm-mystery","title":"Farm Mystery","compatibility":99,"releases":[{"id":"01000E400ED98000","region":null}]},{"id":"f241bcad-e3d9-4fdd-a157-06207ec63770","directory":"circle-of-sumo-online-rumble","title":"Circle of Sumo: Online Rumble!","compatibility":99,"releases":[{"id":"01009BB00F850000","region":null}]},{"id":"f2426cac-5fa3-495b-8ff3-234216c3fed6","directory":"arcade-archives-double-dragon","title":"Arcade Archives DOUBLE DRAGON","compatibility":4,"releases":[{"id":"0100F25001DD0000","region":null}]},{"id":"f2433fe6-7636-4feb-baa1-caec0bae5e86","directory":"gigantosaurus-the-game","title":"Gigantosaurus The Game","compatibility":3,"releases":[{"id":"01002C400E526000","region":null}]},{"id":"f248154d-5235-4edf-b576-653c2c99710c","directory":"kingdom-rush","title":"Kingdom Rush","compatibility":1,"releases":[{"id":"0100A280121F6000","region":null}]},{"id":"f24db6b2-99c6-4804-aec4-4ec02428b56d","directory":"space-invaders-invincible-collection","title":"Space Invaders Invincible Collection","compatibility":1,"releases":[{"id":"0100424012C94000","region":null}]},{"id":"f2706fe6-91b0-48a3-9a94-fb008470264f","directory":"who-wants-to-be-a-millionaire","title":"Who Wants to Be a Millionaire?","compatibility":1,"releases":[{"id":"010027F0128EA000","region":null}]},{"id":"f27387c4-5a68-44e0-a450-6fade3d13855","directory":"bdsm-big-drunk-satanic-massacre","title":"BDSM: Big Drunk Satanic Massacre","compatibility":1,"releases":[{"id":"01002FA00DE72000","region":null}]},{"id":"f27ea59f-91f8-4a7d-b22b-7a60cdf04fa8","directory":"arcade-archives-liquid-kids","title":"Arcade Archives Liquid Kids","compatibility":99,"releases":[{"id":"01009E7013B2A000","region":null}]},{"id":"f27ee8eb-0206-4b7c-bb02-ae2986e31dd8","directory":"human-fall-flat","title":"Human: Fall Flat","compatibility":1,"releases":[{"id":"01000CA004DCA000","region":null}]},{"id":"f2856fe5-e6d6-4529-bc47-a5651557eb49","directory":"artifact-adventure-gaiden-dx","title":"Artifact Adventure Gaiden DX","compatibility":99,"releases":[{"id":"0100CDD00DA70000","region":null}]},{"id":"f2880e12-5903-4603-b46e-6743ef1e58a2","directory":"panty-party","title":"Panty Party","compatibility":1,"releases":[{"id":"01002BD00CB86000","region":null}]},{"id":"f289d00d-3fc1-4d3c-8f7e-02ae7b6b144d","directory":"ihugu","title":"IHUGU","compatibility":99,"releases":[{"id":"0100C0F00CA9C000","region":null}]},{"id":"f293dac5-3a3c-4083-a3df-c3c44c8d03f7","directory":"valley","title":"Valley","compatibility":99,"releases":[{"id":"0100E0E00B108000","region":null}]},{"id":"f2ad6ac5-2424-4d2c-9a0e-8a6214200928","directory":"alpha","title":"ALPHA","compatibility":0,"releases":[{"id":"01000A800B998000","region":null}]},{"id":"f2c75850-2d4d-4642-9aac-352c622bc6db","directory":"spiral-splatter","title":"Spiral Splatter","compatibility":99,"releases":[{"id":"010023E008702000","region":null}]},{"id":"f2c7fff2-e7d2-462a-bc11-ff0f8993a7cb","directory":"flinthook","title":"Flinthook","compatibility":4,"releases":[{"id":"0100307004B4C000","region":null}]},{"id":"f2cd9d98-61a7-4d4a-affe-df7005281567","directory":"sky-roll","title":"Sky Roll!","compatibility":99,"releases":[{"id":"0100225014F64000","region":null}]},{"id":"f2cdc8a0-efb7-43b0-ae89-87f1d181e7bb","directory":"yomawari-the-long-night-collection","title":"Yomawari: The Long Night Collection","compatibility":0,"releases":[{"id":"010012F00B6F2000","region":null}]},{"id":"f2ce03b6-bed5-4dcf-8dac-9b59197dad71","directory":"wwe-2k18","title":"WWE 2K18","compatibility":5,"releases":[{"id":"010009800203E000","region":null}]},{"id":"f2d54780-8f61-4f7a-82c3-43f4729a33da","directory":"golf","title":"Golf","compatibility":1,"releases":[{"id":"01007D8010018000","region":null}]},{"id":"f2d5f9f4-63e1-4d6b-899f-5505470ebc49","directory":"lost-sphear-demo","title":"LOST SPHEAR Demo","compatibility":99,"releases":[{"id":"0100F5E008AA0000","region":null}]},{"id":"f2df3f9e-0fb6-4094-bc36-8ed9fda33e3d","directory":"skydrift-infinity","title":"Skydrift Infinity","compatibility":1,"releases":[{"id":"0100DE000BBDA000","region":null}]},{"id":"f2f6ceba-eb16-4c54-a95e-a8dc32facba3","directory":"lovechoice","title":"LoveChoice","compatibility":99,"releases":[{"id":"0100807015FF4000","region":null}]},{"id":"f30ed098-1601-43d1-a528-85accd296d16","directory":"paradise-lost","title":"Paradise Lost","compatibility":99,"releases":[{"id":"010077A012A5C000","region":null}]},{"id":"f32186fa-3bf0-42d1-b0f8-e200d026cb1c","directory":"pixel-game-maker-series-oumuamua","title":"Pixel Game Maker Series OUMUAMUA","compatibility":99,"releases":[{"id":"01006D90168A4000","region":null}]},{"id":"f326ac71-d297-406b-beed-34a045a93b86","directory":"in-celebration-of-violence","title":"In Celebration of Violence","compatibility":1,"releases":[{"id":"01004780112B6000","region":null}]},{"id":"f33757ba-892b-4526-b934-a2c4d0611be4","directory":"fun-fun-animal-park","title":"FUN! FUN! Animal Park","compatibility":1,"releases":[{"id":"010002F00CC20000","region":null}]},{"id":"f3379897-bb64-4d96-b156-ba8ebad4a5fd","directory":"little-nightmares-ii","title":"Little Nightmares II","compatibility":2,"releases":[{"id":"010097100EDD6000","region":null}]},{"id":"f339fb89-e574-45ee-8b8d-a20ac8a65632","directory":"powertris","title":"Powertris","compatibility":99,"releases":[{"id":"01001CA012F30000","region":null}]},{"id":"f36c5e5e-640e-45eb-baf1-fa9a4861a8ac","directory":"frane-dragons-odyssey","title":"Frane: Dragons' Odyssey","compatibility":99,"releases":[{"id":"0100C0C00DD0E000","region":null}]},{"id":"f372d540-352e-4c8d-b172-dfff81a8d9a8","directory":"get-10-quest","title":"Get 10 quest","compatibility":99,"releases":[{"id":"01006F30129F8000","region":null}]},{"id":"f3765d78-467e-4bda-b75e-b23d6391afce","directory":"autumns-journey","title":"Autumn's Journey","compatibility":99,"releases":[{"id":"01001EC013576000","region":null}]},{"id":"f378e1ed-383d-4225-b8d4-d537839752b0","directory":"escape-first-3","title":"Escape First 3","compatibility":1,"releases":[{"id":"010057801486C000","region":null}]},{"id":"f37cc649-020d-4a42-b1dc-2b4e098772da","directory":"juiced","title":"Juiced!","compatibility":99,"releases":[{"id":"0100F7C012D68000","region":null}]},{"id":"f3859922-d162-4d7b-acfd-f5403987c6dd","directory":"two-parsecs-from-earth","title":"Two Parsecs From Earth","compatibility":99,"releases":[{"id":"0100BCE012894000","region":null}]},{"id":"f39f1bc3-573c-44dc-ad5f-d2cdecde6621","directory":"drawful-2","title":"Drawful 2","compatibility":5,"releases":[{"id":"0100F7800A434000","region":null}]},{"id":"f3a51815-b81b-4936-b782-22ace2a72a07","directory":"blast-brawl-2","title":"Blast Brawl 2","compatibility":99,"releases":[{"id":"01001E900EC04000","region":null}]},{"id":"f3affad9-9552-4d2e-a8c9-4885a6757fbd","directory":"zumania-magic-casual-puzzle","title":"Zumania - Magic Casual Puzzle","compatibility":99,"releases":[{"id":"0100D6E015CFC000","region":null}]},{"id":"f3ba1aca-83f7-446a-80c2-ae2f6ad1276c","directory":"grip","title":"GRIP","compatibility":2,"releases":[{"id":"0100459009A2A000","region":null}]},{"id":"f3bd21e1-0ac6-47ec-be45-cfdc234bfdbb","directory":"street-basketball","title":"Street Basketball","compatibility":99,"releases":[{"id":"0100E7A00DAC2000","region":null}]},{"id":"f3c76348-235d-486c-a001-2cf1dd12fe88","directory":"my-riding-stables-life-with-horses","title":"My Riding Stables - Life with Horses","compatibility":99,"releases":[{"id":"010034300BFC4000","region":null}]},{"id":"f3d0ff93-e5d5-48e5-a2ed-3d33c1f4d401","directory":"brief-battles","title":"Brief Battles","compatibility":99,"releases":[{"id":"0100F4500BBCC000","region":null}]},{"id":"f3dbc93b-faf9-4995-a08d-5e8f0901ad5e","directory":"a-chti-bundle","title":"A Ch'ti Bundle","compatibility":99,"releases":[{"id":"010096A00CC80000","region":null}]},{"id":"f3e76cc4-07b6-46f0-a2d5-690a6c16a700","directory":"pool-pro-gold","title":"Pool Pro GOLD","compatibility":99,"releases":[{"id":"010070B01260C000","region":null}]},{"id":"f3f142c9-fd8e-48e2-890c-c34d5895a16e","directory":"miniature-the-story-puzzle","title":"Miniature - The Story Puzzle","compatibility":99,"releases":[{"id":"010039200EC66000","region":null}]},{"id":"f3f36a74-5148-4266-ab29-a2294df82749","directory":"picross-s-genesis-master-system-edition","title":"PICROSS S GENESIS & Master System edition","compatibility":0,"releases":[{"id":"010089701567A000","region":null}]},{"id":"f3f63766-cae4-4a32-a8a7-86be128d2d10","directory":"persian-nights-sands-of-wonders","title":"Persian Nights: Sands of Wonders","compatibility":1,"releases":[{"id":"010023100B96E000","region":null}]},{"id":"f41ba445-0e9a-4598-9eb7-c4cad7d15e65","directory":"99seconds","title":"99Seconds","compatibility":5,"releases":[{"id":"0100BA800CA6A000","region":null}]},{"id":"f4205221-b981-4916-a351-58e7f68307e8","directory":"arcade-archives-wiz","title":"Arcade Archives Wiz","compatibility":99,"releases":[{"id":"0100ABB00E352000","region":null}]},{"id":"f4420d76-62ef-4492-acd2-768ef6e66700","directory":"tiny-racer","title":"Tiny Racer","compatibility":99,"releases":[{"id":"01005D0011A40000","region":null}]},{"id":"f44c4ab1-c686-4bb9-a623-f19e64c6f6ce","directory":"knights-guns","title":"Knights & Guns","compatibility":99,"releases":[{"id":"010060A011ECC000","region":null}]},{"id":"f44db9f0-2129-473c-bd82-a33d3be87f38","directory":"go-birdie","title":"Go! Birdie","compatibility":99,"releases":[{"id":"010073E014BAE000","region":null}]},{"id":"f45994aa-0249-4bf5-b810-89b42a4649cc","directory":"my-last-first-kiss","title":"My Last First Kiss","compatibility":99,"releases":[{"id":"01004800160C8000","region":null}]},{"id":"f460f3f8-5ac6-404b-99d1-caa76de600fa","directory":"billion-road","title":"Billion Road","compatibility":99,"releases":[{"id":"010057700FF7C000","region":null}]},{"id":"f469b8ab-dd8e-4570-824d-c7cdecb1cd3c","directory":"asterix-obelix-xxl-romastered","title":"Asterix & Obelix XXL: Romastered","compatibility":3,"releases":[{"id":"0100F46011B50000","region":null}]},{"id":"f46eb660-f84b-444b-be9c-bf1c9d412368","directory":"starship-avenger-operation-take-back-earth","title":"STARSHIP AVENGER Operation: Take Back Earth","compatibility":1,"releases":[{"id":"01001BB00AC26000","region":null}]},{"id":"f483a0b3-307a-435b-addd-6ce0a94f0175","directory":"aca-neogeo-art-of-fighting-3","title":"ACA NEOGEO ART OF FIGHTING 3","compatibility":99,"releases":[{"id":"01004AC002B40000","region":null}]},{"id":"f4888402-2c66-4fef-a008-cd3410cbf104","directory":"radio-squid","title":"Radio Squid","compatibility":99,"releases":[{"id":"0100655012064000","region":null}]},{"id":"f4890921-2a07-43e4-b35e-be9b02dc2405","directory":"super-destronaut-land-wars","title":"Super Destronaut: Land Wars","compatibility":99,"releases":[{"id":"0100575011092000","region":null}]},{"id":"f4949e96-0a9f-4ded-83d5-34ead8e9172a","directory":"dungeon-adventure","title":"Dungeon Adventure","compatibility":99,"releases":[{"id":"0100610016C82000","region":null}]},{"id":"f49b94f9-f7cb-4b06-a594-8371504afeb7","directory":"dig-dog","title":"Dig Dog","compatibility":3,"releases":[{"id":"0100A5A00DBB0000","region":null}]},{"id":"f49ccb4c-1bf0-4654-8e72-9f8fb2c0ccb7","directory":"wordify","title":"Wordify","compatibility":99,"releases":[{"id":"010083E011BC8000","region":null}]},{"id":"f4a142af-77a5-45e2-aa9f-381fbcc5cd2b","directory":"basketball","title":"Basketball","compatibility":99,"releases":[{"id":"01008F600CA1A000","region":null}]},{"id":"f4aa1a68-1d6a-44a4-bfca-6785f9888e81","directory":"fibbage-xl","title":"Fibbage XL","compatibility":99,"releases":[{"id":"01002AC0113DE000","region":null}]},{"id":"f4bd3a8e-2dc1-428f-ac30-059406b27647","directory":"aca-neogeo-savage-reign","title":"ACA NEOGEO SAVAGE REIGN","compatibility":99,"releases":[{"id":"0100E5400AFC8000","region":null}]},{"id":"f4c1d231-1173-42eb-a1e9-7143f58a5981","directory":"a-little-lily-princess","title":"A Little Lily Princess","compatibility":99,"releases":[{"id":"01004E0014FC6000","region":null}]},{"id":"f4cd22c2-bf56-49ae-8f0b-94debf546d45","directory":"taninani","title":"TaniNani","compatibility":99,"releases":[{"id":"01007DB010D2C000","region":null}]},{"id":"f4d32079-455d-410e-a74a-97f899ba2fe0","directory":"georifters","title":"Georifters","compatibility":99,"releases":[{"id":"0100C11010298000","region":null}]},{"id":"f4de6480-7a86-4729-a8a4-3cda52845911","directory":"thunderflash","title":"Thunderflash","compatibility":99,"releases":[{"id":"0100EF5013140000","region":null}]},{"id":"f4e332a8-4fd3-462a-8795-2f7988e8b5bb","directory":"push-ups-workout","title":"Push-Ups Workout","compatibility":99,"releases":[{"id":"01002F2014984000","region":null}]},{"id":"f4f2f50f-3676-4f8b-bbc7-f30299f16346","directory":"aca-neogeo-samurai-shodown-v","title":"ACA NEOGEO SAMURAI SHODOWN V","compatibility":99,"releases":[{"id":"01000C800AFD6000","region":null}]},{"id":"f4f65943-c779-41ca-a5f5-2ed58e4368f4","directory":"moto-rider-go-highway-traffic","title":"Moto Rider GO: Highway Traffic","compatibility":99,"releases":[{"id":"0100953015526000","region":null}]},{"id":"f4f8587d-a510-4300-a4f0-3de7151eead6","directory":"street-racing-tokyo-rush","title":"Street Racing: Tokyo Rush","compatibility":99,"releases":[{"id":"01001E901482A000","region":null}]},{"id":"f50761a1-d198-4e00-8896-b317af178106","directory":"swords-and-sandals-spartacus","title":"Swords and Sandals: Spartacus","compatibility":0,"releases":[{"id":"0100241012432000","region":null}]},{"id":"f50c55b7-29f7-48c5-ad3c-e83d90bb35df","directory":"reaper-tale-of-a-pale-swordsman","title":"Reaper: Tale of a Pale Swordsman","compatibility":0,"releases":[{"id":"01000F300F082000","region":null}]},{"id":"f5259adc-ff7b-428e-9b2a-c827dcd395ba","directory":"next-up-hero","title":"Next Up Hero","compatibility":0,"releases":[{"id":"0100271004570000","region":null}]},{"id":"f5322a63-7a33-407a-b3a2-e0a101582a95","directory":"atomik-rungunjumpgun","title":"ATOMIK: RunGunJumpGun","compatibility":0,"releases":[{"id":"01000D1006CEC000","region":null}]},{"id":"f532c28c-5300-46b5-b064-16042e8c3499","directory":"agartha-s","title":"AGARTHA-S","compatibility":99,"releases":[{"id":"010076700CA18000","region":null}]},{"id":"f538c7c0-d78c-468f-ab59-fa00391920ad","directory":"calculation-castle-grecos-ghostly-challenge-division","title":"Calculation Castle : Greco's Ghostly Challenge \"Division \"","compatibility":99,"releases":[{"id":"010045500B212000","region":null}]},{"id":"f53db1cc-2d5e-4fe4-897f-36f7ecbf3b16","directory":"purrs-in-heaven","title":"Purrs In Heaven","compatibility":1,"releases":[{"id":"0100A71010B9C000","region":null}]},{"id":"f5401e9f-ac8a-4c69-9e83-92bfc4b3581e","directory":"neon-drive","title":"Neon Drive","compatibility":99,"releases":[{"id":"010032000EAC6000","region":null}]},{"id":"f54817b8-c08d-4a3d-9c01-be8bd0287788","directory":"counter-recon-the-first-mission","title":"Counter Recon: The First Mission","compatibility":99,"releases":[{"id":"010005A0143CC000","region":null}]},{"id":"f54dc608-026b-46b9-9754-b2f189c122d9","directory":"infinite-beyond-the-mind","title":"Infinite - Beyond the Mind","compatibility":99,"releases":[{"id":"010085D0101A4000","region":null}]},{"id":"f55176a6-5f56-4e48-85d8-0c2da278a1a2","directory":"galacide","title":"Galacide","compatibility":99,"releases":[{"id":"0100E9100F244000","region":null}]},{"id":"f55177dd-b9fc-449e-8590-0267d110d31f","directory":"super-street-racer","title":"Super Street: Racer","compatibility":3,"releases":[{"id":"010074200E910000","region":null}]},{"id":"f560165b-73cd-49a6-843d-8c5eb221f760","directory":"johnny-turbos-arcade-fighters-history","title":"Johnny Turbo's Arcade: Fighter's History","compatibility":4,"releases":[{"id":"0100B3F00B9F2000","region":null}]},{"id":"f564b7c9-e3aa-45de-9146-ee19233116d2","directory":"speedrunners","title":"SpeedRunners","compatibility":99,"releases":[{"id":"0100C8B00C4AE000","region":null}]},{"id":"f567c83a-a549-42a3-a406-464f8234d838","directory":"girabox","title":"Girabox","compatibility":99,"releases":[{"id":"01006BA013990000","region":null}]},{"id":"f56d1a68-1097-434e-b09d-b183af4073c0","directory":"mechstermination-force","title":"Mechstermination Force","compatibility":3,"releases":[{"id":"0100E4600D31A000","region":null}]},{"id":"f59b8462-c17a-4926-bb04-aeefcae22641","directory":"the-game-of-life-2","title":"THE GAME OF LIFE 2","compatibility":0,"releases":[{"id":"0100B620139D8000","region":null}]},{"id":"f5ba1e08-f2f7-4690-b12e-2e8a57042346","directory":"commander-keen-in-keen-dreams","title":"Commander Keen in Keen Dreams","compatibility":99,"releases":[{"id":"0100C4D00D16A000","region":null}]},{"id":"f5be271b-01cb-4c05-b08f-b36326affbf6","directory":"birds-and-blocks","title":"Birds and Blocks","compatibility":99,"releases":[{"id":"010084B012FF0000","region":null}]},{"id":"f5c6b1e4-91af-46db-a8f5-c415f189bee9","directory":"arcade-archives-the-ninja-warriors","title":"Arcade Archives THE NINJA WARRIORS","compatibility":4,"releases":[{"id":"0100DC000983A000","region":null}]},{"id":"f5cbe983-f07c-4bf7-8bc0-14e203d1b94c","directory":"within-the-blade","title":"Within the Blade","compatibility":99,"releases":[{"id":"0100BE5011486000","region":null}]},{"id":"f5cd6279-9416-48f6-942a-fc16344d82b4","directory":"my-farm","title":"My Farm","compatibility":99,"releases":[{"id":"010021F00AD76000","region":null}]},{"id":"f5e9d60b-2956-4692-9c0b-89e0aba9117e","directory":"frederic-resurrection-of-music","title":"Frederic: Resurrection of Music","compatibility":5,"releases":[{"id":"01005B1006988000","region":null}]},{"id":"f5f0fca5-c640-4e0f-a86e-d08e81858e9a","directory":"doodle-god-evolution","title":"Doodle God: Evolution","compatibility":3,"releases":[{"id":"0100D3200AF74000","region":null}]},{"id":"f5f2c651-82fa-44aa-a9ff-97a37825e41a","directory":"metro-2033-redux","title":"Metro 2033 Redux","compatibility":3,"releases":[{"id":"0100D4900E82C000","region":null}]},{"id":"f5f9afcb-d19c-4907-a40c-3ed407dd3a0e","directory":"shape-of-the-world","title":"Shape of the World","compatibility":3,"releases":[{"id":"0100B25009B96000","region":null}]},{"id":"f60c2502-f211-4c27-a79c-64be87bd04c0","directory":"tennis-go","title":"Tennis Go","compatibility":99,"releases":[{"id":"010029F00FCC4000","region":null}]},{"id":"f624d8f7-8c24-40e5-92d6-c0319623c129","directory":"super-cable-boy","title":"Super Cable Boy","compatibility":0,"releases":[{"id":"01008260145F2000","region":null}]},{"id":"f625cee2-8fce-4457-b950-64e112b3ef5b","directory":"infection-board-game","title":"Infection - Board Game","compatibility":99,"releases":[{"id":"0100A7F01283C000","region":null}]},{"id":"f626856e-210d-4c66-933a-764891545f15","directory":"jessika","title":"Jessika","compatibility":99,"releases":[{"id":"0100457015902000","region":null}]},{"id":"f6291ae3-c7d7-4984-a2cc-da0bcfc9e32f","directory":"skies-of-fury-dx","title":"Skies of Fury DX","compatibility":1,"releases":[{"id":"0100D67006F14000","region":null}]},{"id":"f6313eb0-2612-4e65-a70c-fce2d5a4e17b","directory":"art-of-rally","title":"art of rally","compatibility":1,"releases":[{"id":"0100A88012504000","region":null}]},{"id":"f64f82dd-efd8-4f73-878b-f6aafc7161f4","directory":"heave-ho","title":"Heave Ho","compatibility":1,"releases":[{"id":"0100ADD00E17E000","region":null}]},{"id":"f65f2639-c959-40a2-b955-2f09bc48130b","directory":"qbics-paint","title":"Qbics Paint","compatibility":99,"releases":[{"id":"0100A8D003BAE000","region":null}]},{"id":"f66095ed-28a1-4f84-9ee2-af2d6f969788","directory":"ultra-age","title":"Ultra Age","compatibility":0,"releases":[{"id":"01008D4015904000","region":null}]},{"id":"f66ddc9e-f436-4cfd-a4c6-e2df3e3ba479","directory":"speed-3-grand-prix","title":"Speed 3: Grand Prix","compatibility":99,"releases":[{"id":"0100F18010BA0000","region":null}]},{"id":"f66e4139-ec83-4517-96a7-e8e5f48a1e7d","directory":"car-mayhem","title":"Car Mayhem","compatibility":99,"releases":[{"id":"010021200E062000","region":null}]},{"id":"f6747554-c66d-4add-97e9-7bc3da2d7dfb","directory":"sakura-succubus-4","title":"Sakura Succubus 4","compatibility":0,"releases":[{"id":"010029D015BD2000","region":null}]},{"id":"f6748c07-73c3-43c6-ab6b-ee1a96621fb8","directory":"quench","title":"Quench","compatibility":99,"releases":[{"id":"010005300EDCC000","region":null}]},{"id":"f6860cd9-fe3c-4ecc-9491-f3b0cb6e76b0","directory":"underland","title":"Underland","compatibility":99,"releases":[{"id":"0100C94015CBA000","region":null}]},{"id":"f68a11e0-92ab-48ec-a62e-0d4810b76c22","directory":"arc-of-alchemist","title":"Arc of Alchemist","compatibility":99,"releases":[{"id":"0100C7D00E6A0000","region":null}]},{"id":"f6989962-fdf8-4288-99aa-d9d8e380e40a","directory":"jump-gunners","title":"Jump Gunners","compatibility":99,"releases":[{"id":"0100EBE00FDC0000","region":null}]},{"id":"f698e37e-062a-456c-a7f2-1b4dbed5bf0f","directory":"sudoku-relax-4-winter-snow","title":"Sudoku Relax 4 Winter Snow","compatibility":99,"releases":[{"id":"010010E010AAA000","region":null}]},{"id":"f6a477ba-3c76-4620-8141-79a49bc3342e","directory":"arcade-archives-mx5000","title":"Arcade Archives MX5000","compatibility":99,"releases":[{"id":"0100ACB010ED2000","region":null}]},{"id":"f6aa72e5-0fff-4917-9100-bb08d5e37b43","directory":"divinity-original-sin-2-definitive-edition","title":"Divinity: Original Sin 2 - Definitive Edition","compatibility":3,"releases":[{"id":"010027400CDC6000","region":null}]},{"id":"f6baeeea-e6f5-42b2-aaef-09b89fc2b144","directory":"mario-tennis-aces-special-online-demo","title":"Mario Tennis™ Aces Special Online Demo","compatibility":99,"releases":[{"id":"0100A4200DA76000","region":null}]},{"id":"f6c2e98b-03f5-4f5d-9e54-70eaded85ede","directory":"crocs-world","title":"Croc's World","compatibility":3,"releases":[{"id":"01004F800C4DA000","region":null}]},{"id":"f6c6314e-2d42-4e48-a57b-f25ddc726ac2","directory":"tactical-mind-2","title":"Tactical Mind 2","compatibility":99,"releases":[{"id":"0100BD700F5F0000","region":null}]},{"id":"f6ca6345-ef46-46d3-844e-b45ea8329c27","directory":"electronic-super-joy","title":"Electronic Super Joy","compatibility":99,"releases":[{"id":"0100A3000F070000","region":null}]},{"id":"f6cee2bc-488e-42db-b35e-e1693df80edd","directory":"starcrossed","title":"StarCrossed","compatibility":99,"releases":[{"id":"010022500C964000","region":null}]},{"id":"f6d14e57-3179-4e5d-bfe6-76fdaccbf470","directory":"zotrix-solar-division","title":"Zotrix: Solar Division","compatibility":99,"releases":[{"id":"01001EE00A6B0000","region":null}]},{"id":"f6dad735-6bee-4f97-93c7-b41a6724d08b","directory":"mimic-hunter","title":"Mimic Hunter","compatibility":99,"releases":[{"id":"010024A00C854000","region":null}]},{"id":"f6dc7427-502f-4ae0-8d3a-d9d2179ae996","directory":"panmorphia","title":"Panmorphia","compatibility":99,"releases":[{"id":"01004E6016370000","region":null}]},{"id":"f6e264e4-ec96-4ae9-9612-dd384650325e","directory":"treachery-in-beatdown-city","title":"Treachery in Beatdown City","compatibility":0,"releases":[{"id":"0100B0600ABE6000","region":null}]},{"id":"f6e38620-27b3-449a-b50d-e8f4d02c7e0f","directory":"black-and-white-bushido","title":"Black and White Bushido","compatibility":99,"releases":[{"id":"010000F00BF68000","region":null}]},{"id":"f6e8cd75-9736-4256-ad86-2c8fdb9dcc3a","directory":"in-between","title":"In Between","compatibility":99,"releases":[{"id":"010038200A98E000","region":null}]},{"id":"f6eaf063-57e6-4c46-9ca4-8b19ea3f0431","directory":"hello-neighbor-hide-and-seek","title":"Hello Neighbor Hide and Seek","compatibility":3,"releases":[{"id":"010092B00C4F0000","region":null}]},{"id":"f6f0f3db-7e3d-4e9e-92b9-055600a8059f","directory":"wildtrax-racing","title":"WildTrax Racing","compatibility":2,"releases":[{"id":"0100A0501185A000","region":null}]},{"id":"f70137ac-9257-4e7d-b874-99a91ac1e179","directory":"the-escapists-complete-edition","title":"The Escapists: Complete Edition","compatibility":1,"releases":[{"id":"01001B700BA7C000","region":null}]},{"id":"f70332a2-68f0-4ad9-9254-e81c2257ccb7","directory":"uurnog-uurnlimited","title":"Uurnog Uurnlimited","compatibility":1,"releases":[{"id":"0100F55004AB8000","region":null}]},{"id":"f70c5f9a-40d8-432b-9259-c5ac8c58e595","directory":"world-of-final-fantasy-maxima","title":"WORLD OF FINAL FANTASY MAXIMA","compatibility":1,"releases":[{"id":"010072000BD32000","region":null}]},{"id":"f714a07b-e7a0-48c7-9ee6-5f3fb940318f","directory":"toki-tori","title":"Toki Tori","compatibility":2,"releases":[{"id":"0100EE80098E6000","region":null}]},{"id":"f71c7de0-5aee-4340-ad1b-87cd8f34e4b6","directory":"solitaire-battle-royal","title":"SOLITAIRE BATTLE ROYAL","compatibility":99,"releases":[{"id":"0100B4700BDBA000","region":null}]},{"id":"f7213688-622d-41e9-baed-be9c7dd6443d","directory":"ninja-epic-adventure","title":"Ninja Epic Adventure","compatibility":99,"releases":[{"id":"0100FA6014264000","region":null}]},{"id":"f7233cf2-7dcb-4fb0-be7d-e27f91abba84","directory":"piczle-lines-dx-500-more-puzzles","title":"Piczle Lines DX 500 More Puzzles!","compatibility":99,"releases":[{"id":"010017600B532000","region":null}]},{"id":"f7234f8b-3459-43f1-be1b-9eecd4b700e6","directory":"hyperide","title":"Hyperide","compatibility":99,"releases":[{"id":"010091000CC0E000","region":null}]},{"id":"f726526f-fc6d-44b2-9018-bdde2cb484a4","directory":"mahjong","title":"Mahjong","compatibility":99,"releases":[{"id":"010014B00BB04000","region":null}]},{"id":"f72a7eb7-f9ac-4ef1-9be4-b260f717d351","directory":"arcade-archives-zero-team","title":"Arcade Archives ZERO TEAM","compatibility":0,"releases":[{"id":"0100EFF0137DA000","region":null}]},{"id":"f73dbbbc-9837-4678-9c13-5ebd6879777e","directory":"otherworldly","title":"Otherworldly","compatibility":99,"releases":[{"id":"0100DBB010EB8000","region":null}]},{"id":"f73f2052-4031-4567-bd48-335099fdd6ce","directory":"harvest-moon-mad-dash","title":"Harvest Moon: Mad Dash","compatibility":0,"releases":[{"id":"010022400E71C000","region":null}]},{"id":"f73fb744-9e3e-4311-8c52-8b5a7e178480","directory":"loopindex","title":"Loopindex","compatibility":99,"releases":[{"id":"0100AD90153C8000","region":null}]},{"id":"f744cea2-e96f-4f81-9afe-adfaf05c5cca","directory":"white-girl","title":"White Girl","compatibility":99,"releases":[{"id":"0100102014B16000","region":null}]},{"id":"f7460a42-9c0e-4983-aa8c-fe663df4249b","directory":"tandem-a-tale-of-shadows","title":"Tandem : A Tale of Shadows","compatibility":99,"releases":[{"id":"0100B7A015362000","region":null}]},{"id":"f750db63-ab8e-4ed6-8c50-24692e3c4ee3","directory":"super-chariot-demo","title":"Super Chariot Demo","compatibility":99,"releases":[{"id":"0100B7B009532000","region":null}]},{"id":"f75da884-064f-4315-9ce0-4f04b4cca71d","directory":"senran-kagura-peach-ball","title":"SENRAN KAGURA Peach Ball","compatibility":0,"releases":[{"id":"0100D1800D902000","region":null}]},{"id":"f75fa583-e7b2-47da-b18f-e6f86c26f461","directory":"oniria-crimes","title":"Oniria Crimes","compatibility":99,"releases":[{"id":"0100A290131BA000","region":null}]},{"id":"f76259ad-b0e8-4805-a2ff-5063ddc9d2e6","directory":"ghost-grab-3000","title":"Ghost Grab 3000","compatibility":99,"releases":[{"id":"010057500E744000","region":null}]},{"id":"f768e414-97b3-44a8-96ba-327ff8f81e65","directory":"sushiparty","title":"SushiParty","compatibility":99,"releases":[{"id":"01005FC013414000","region":null}]},{"id":"f7825cd3-0bc2-423e-b02e-3731e0a628a1","directory":"elliot","title":"Elliot","compatibility":99,"releases":[{"id":"0100D85013754000","region":null}]},{"id":"f783d214-e411-4da2-a468-9a6e5f9a0980","directory":"gas-station-highway-services","title":"Gas Station: Highway Services","compatibility":99,"releases":[{"id":"010032D012602000","region":null}]},{"id":"f78944be-7bb2-415a-8dee-9b0e324d119e","directory":"doodle-games-bundle","title":"Doodle Games Bundle","compatibility":99,"releases":[{"id":"010002B013452000","region":null}]},{"id":"f78ba72b-8c11-4b63-8a4b-f42c32633822","directory":"devious-dungeon-2","title":"Devious Dungeon 2","compatibility":99,"releases":[{"id":"0100F1800DD4E000","region":null}]},{"id":"f79f5d82-c287-4191-91c1-1adf54082fb7","directory":"sky-force-reloaded","title":"Sky Force Reloaded","compatibility":1,"releases":[{"id":"01006FE005B6E000","region":null}]},{"id":"f7ac967a-e96a-4ca1-a7e6-f3b8f3d924aa","directory":"evergate","title":"Evergate","compatibility":99,"releases":[{"id":"01009C4012284000","region":null}]},{"id":"f7bcd1a9-7c56-4a36-b749-52d63db9caa2","directory":"aca-neogeo-over-top","title":"ACA NEOGEO OVER TOP","compatibility":4,"releases":[{"id":"01003A5001DBA000","region":null}]},{"id":"f7c81f12-b6a3-4301-a5ef-1accf4157a40","directory":"bargain-hunter","title":"Bargain Hunter","compatibility":0,"releases":[{"id":"01005F600D2D8000","region":null}]},{"id":"f7dac82c-8a2a-433c-9650-3b513687d3d0","directory":"wood-block-escape-puzzles-2","title":"Wood Block Escape Puzzles 2","compatibility":99,"releases":[{"id":"01001F2014CCC000","region":null}]},{"id":"f7e71524-840e-4409-8bb0-83a4be8e3fb4","directory":"arcade-archives-rod-land","title":"Arcade Archives Rod Land","compatibility":99,"releases":[{"id":"01000C2013972000","region":null}]},{"id":"f7ed597e-be4a-4167-a408-c9fa9db3e442","directory":"grisaia-phantom-trigger-05","title":"GRISAIA PHANTOM TRIGGER 05","compatibility":99,"releases":[{"id":"01002330123BC000","region":null}]},{"id":"f7f39298-ef2a-4d4a-a575-c0d349fd3a8d","directory":"swords-and-soldiers","title":"Swords & Soldiers","compatibility":99,"releases":[{"id":"010019500B69A000","region":null}]},{"id":"f7f6d869-ead7-4a0a-9854-1985d635b376","directory":"warriorb","title":"WarriOrb","compatibility":99,"releases":[{"id":"010032700EAC4000","region":null}]},{"id":"f804d592-795e-4505-9266-057164e343dd","directory":"mahjong-stories-vampire-romance","title":"Mahjong Stories: Vampire Romance","compatibility":0,"releases":[{"id":"0100BAA00CDFA000","region":null}]},{"id":"f805a325-6396-4cc1-a224-bc2b7ea6d47a","directory":"ghoulboy","title":"Ghoulboy","compatibility":0,"releases":[{"id":"0100A9500C606000","region":null}]},{"id":"f80739d5-f2ff-4984-bb51-9781b4cbe85b","directory":"aca-neogeo-metal-slug-5","title":"ACA NEOGEO METAL SLUG 5","compatibility":5,"releases":[{"id":"01004C000AFDC000","region":null}]},{"id":"f8181daa-1873-4e2c-a54d-5dd3fbada0d1","directory":"outbreak-epidemic","title":"Outbreak: Epidemic","compatibility":99,"releases":[{"id":"0100C850130FE000","region":null}]},{"id":"f81a3dcc-aca9-4b6b-89a5-b8971ac63ad5","directory":"tiny-gladiators","title":"Tiny Gladiators","compatibility":99,"releases":[{"id":"0100DF900FC52000","region":null}]},{"id":"f8311a6c-5ad6-4e71-a24d-25825f9ce592","directory":"where-angels-cry-tears-of-the-fallen-collectors-edition","title":"Where Angels Cry: Tears of the Fallen Collector's Edition","compatibility":99,"releases":[{"id":"01008F30107F8000","region":null}]},{"id":"f8369515-3bba-46a3-bf2f-8faba455d650","directory":"habroxia","title":"Habroxia","compatibility":99,"releases":[{"id":"01007E100EFA8000","region":null}]},{"id":"f8394654-c12e-4340-b9b4-da6433bad3f5","directory":"modern-tales-age-of-invention","title":"Modern Tales: Age of Invention","compatibility":99,"releases":[{"id":"010004900D772000","region":null}]},{"id":"f83ada34-f86a-4117-98f4-93ff5e405fa9","directory":"real-driving-sim","title":"Real Driving Sim","compatibility":0,"releases":[{"id":"0100748012ABE000","region":null}]},{"id":"f8445d7b-1bb1-45a3-9990-1c992eacc809","directory":"bass-pro-shops-the-strike-championship-edition","title":"Bass Pro Shops: The Strike - Championship Edition","compatibility":4,"releases":[{"id":"0100E3100450E000","region":null}]},{"id":"f8483da0-922d-4812-bb51-7377db922e7b","directory":"couch-co-op-bundle-vol-2","title":"Couch Co-Op Bundle Vol. 2","compatibility":99,"releases":[{"id":"01000E301107A000","region":null}]},{"id":"f851f346-c484-4471-b7e7-9239c47e2bdc","directory":"legend-of-numbers","title":"Legend of Numbers","compatibility":99,"releases":[{"id":"0100EDA013C08000","region":null}]},{"id":"f85aca9b-0337-4700-a3f0-f7bf5a7c1826","directory":"video-poker-collection","title":"Video Poker Collection","compatibility":99,"releases":[{"id":"0100FFE012842000","region":null}]},{"id":"f863671e-b5b3-41a3-b18e-b9657e821e4c","directory":"collide-a-ball-2","title":"Collide-a-Ball 2","compatibility":99,"releases":[{"id":"01009E700EEA6000","region":null}]},{"id":"f8636966-6596-43e1-849d-6a2c1d51eb36","directory":"wanba-warriors","title":"Wanba Warriors","compatibility":99,"releases":[{"id":"0100E29010A4A000","region":null}]},{"id":"f8737ad8-e0ef-4132-9a82-7a8f4e8a2d6e","directory":"friday-the-13th-killer-puzzle","title":"Friday the 13th: Killer Puzzle","compatibility":4,"releases":[{"id":"010003F00BD48000","region":null}]},{"id":"f875921a-ade0-41c2-85a9-920270d500a1","directory":"monomals","title":"Monomals","compatibility":99,"releases":[{"id":"01003030161DC000","region":null}]},{"id":"f88339c7-6528-4427-9339-446856c87526","directory":"sakuna-of-rice-and-ruin","title":"Sakuna: Of Rice and Ruin","compatibility":2,"releases":[{"id":"0100B1400E8FE000","region":null}]},{"id":"f8843017-a4e8-49b7-9fd3-5076c6be7d38","directory":"dead-by-daylight","title":"Dead by Daylight","compatibility":99,"releases":[{"id":"01004C400CF96000","region":null}]},{"id":"f89eb06b-491b-4c8a-a9c1-6ae06cd08ae2","directory":"deep-space-rush","title":"Deep Space Rush","compatibility":99,"releases":[{"id":"01000A700F956000","region":null}]},{"id":"f8ab9d8b-189f-4448-a6ae-e2cbd94d4bf3","directory":"green-game-timeswapper","title":"Green Game: TimeSwapper","compatibility":4,"releases":[{"id":"0100CBB0070EE000","region":null}]},{"id":"f8af1d4e-0b7f-4f79-b856-4bf1dd6ea22d","directory":"slime-tactics","title":"Slime Tactics","compatibility":99,"releases":[{"id":"010016600DBFC000","region":null}]},{"id":"f8b414fe-cac7-4fd0-8dc5-41a77a483be7","directory":"azur-lane-crosswave","title":"Azur Lane: Crosswave","compatibility":2,"releases":[{"id":"010065D012FA0000","region":null}]},{"id":"f8b7a9b3-332d-4e0a-af25-eebcf1c01e41","directory":"aery-calm-mind","title":"Aery - Calm Mind","compatibility":99,"releases":[{"id":"01000A8015390000","region":null}]},{"id":"f8d234bb-b225-42f6-bf9e-d8daf711b9e9","directory":"nolimitfantasy-super-puzzles-dream","title":"#NoLimitFantasy, Super Puzzles Dream","compatibility":99,"releases":[{"id":"0100325012C12000","region":null}]},{"id":"f8d3d36e-540d-45d9-9d84-358bdd25b80c","directory":"critadel","title":"Critadel","compatibility":99,"releases":[{"id":"0100602014212000","region":null}]},{"id":"f8d542c3-583b-444e-8d84-6a65d9c32ee5","directory":"rainswept","title":"Rainswept","compatibility":99,"releases":[{"id":"01007EC010B48000","region":null}]},{"id":"f8d55a60-c0d8-4181-b645-773722389225","directory":"arcade-archives-buta-san","title":"Arcade Archives Buta san","compatibility":99,"releases":[{"id":"0100A47009818000","region":null}]},{"id":"f8db3e53-7ebe-43c1-96fc-fc0031714268","directory":"the-forgotten-land","title":"The Forgotten Land","compatibility":99,"releases":[{"id":"0100F780103E6000","region":null}]},{"id":"f8ea7891-a7b9-4a3e-ab2f-f69fae9862b6","directory":"card-game-bundle-vol-1","title":"Card Game Bundle Vol. 1","compatibility":99,"releases":[{"id":"01005BC01145A000","region":null}]},{"id":"f8eaa3f0-bd1a-468c-89f2-e8ac16895e00","directory":"syberia-2","title":"Syberia 2","compatibility":5,"releases":[{"id":"010028C003FD6000","region":null}]},{"id":"f8f41aec-08a6-4768-aee2-fc1455dbb710","directory":"curved-space","title":"Curved Space","compatibility":0,"releases":[{"id":"0100CE5014026000","region":null}]},{"id":"f8f74c72-f7ed-446a-b714-a8d72c6a2e32","directory":"ayakashi-koi-gikyoku-trial-version","title":"Ayakashi Koi Gikyoku《Trial version》","compatibility":99,"releases":[{"id":"010075400DEC6000","region":null}]},{"id":"f909f115-c64f-45c7-b138-7d6573a56e49","directory":"the-vanishing-of-ethan-carter","title":"The Vanishing of Ethan Carter","compatibility":99,"releases":[{"id":"0100BCF00E970000","region":null}]},{"id":"f90a3ecc-1878-4f15-a752-de9dd57e9a97","directory":"hopes-farm","title":"Hope's Farm","compatibility":99,"releases":[{"id":"01005C0015594000","region":null}]},{"id":"f90f9631-90bc-4bc1-a859-f282e52b4cc1","directory":"freedom-planet","title":"Freedom Planet","compatibility":1,"releases":[{"id":"0100EB800B614000","region":null}]},{"id":"f91028ab-3e2b-45e6-99b6-3c2ce4f89ce9","directory":"tails-of-iron","title":"Tails Of Iron","compatibility":99,"releases":[{"id":"0100EF3013F60000","region":null}]},{"id":"f9177c0c-0010-4777-9b1a-b34f33ca3d14","directory":"paw-patrol-on-a-roll","title":"PAW Patrol: On a Roll!","compatibility":0,"releases":[{"id":"0100CEC003A4A000","region":null}]},{"id":"f921f40f-774b-41c6-80a4-b40b15b343bd","directory":"revenge-of-the-bird-king","title":"Revenge of the Bird King","compatibility":99,"releases":[{"id":"01004EB00C2E6000","region":null}]},{"id":"f93607af-fb1d-4895-bfd8-d072f6106dec","directory":"johnny-turbos-arcade-night-slashers","title":"Johnny Turbo's Arcade: Night Slashers","compatibility":99,"releases":[{"id":"0100F7300C90E000","region":null}]},{"id":"f9364590-8f0a-4eee-9859-60c0a539b2ce","directory":"aca-neogeo-fatal-fury","title":"ACA NEOGEO FATAL FURY","compatibility":4,"releases":[{"id":"0100EE6002B48000","region":null}]},{"id":"f93bd721-1fce-4857-bf51-1663dd6e6c03","directory":"prinny-r-can-i-really-be-the-hero","title":"Prinny®: Can I Really Be the Hero?","compatibility":99,"releases":[{"id":"01007A0011878000","region":null}]},{"id":"f946fc0e-2553-4bf8-85b4-47ffc3ef3cba","directory":"spirits-of-xanadu","title":"Spirits of Xanadu","compatibility":99,"releases":[{"id":"0100CC3014C74000","region":null}]},{"id":"f94701f3-2fd8-4984-b52e-2b04bb03897b","directory":"burger-chef-tycoon","title":"Burger Chef Tycoon","compatibility":1,"releases":[{"id":"0100DF900EA8E000","region":null}]},{"id":"f94f6c2e-23f4-4f72-b72b-542e9884627c","directory":"project-aether-first-contact","title":"Project AETHER: First Contact","compatibility":99,"releases":[{"id":"010046D013EB6000","region":null}]},{"id":"f953997b-fc3d-4787-8c03-5a6b28ff18b1","directory":"operation-pig","title":"Operation Pig","compatibility":99,"releases":[{"id":"010038B00BFD4000","region":null}]},{"id":"f95505ba-ae54-4406-8b21-d1e55eb9f427","directory":"spacebase-startopia","title":"Spacebase Startopia","compatibility":99,"releases":[{"id":"0100BF4013D70000","region":null}]},{"id":"f95b8a04-4bed-43cc-b429-b47de80e77b5","directory":"operencia-the-stolen-sun","title":"Operencia: The Stolen Sun","compatibility":4,"releases":[{"id":"01006CF00CFA4000","region":null}]},{"id":"f95bb3ad-ed1a-4be1-b270-b54276f493e4","directory":"the-adventures-of-00-dilly-r","title":"The Adventures of 00 Dilly®","compatibility":99,"releases":[{"id":"0100137010152000","region":null}]},{"id":"f9664f01-2186-43c5-abeb-634b1d3b2367","directory":"chess-minimal","title":"Chess Minimal","compatibility":99,"releases":[{"id":"010030D010D66000","region":null}]},{"id":"f96c5622-555e-44b0-8366-000cfcdb17cf","directory":"ball-physics-draw-puzzles-2","title":"Ball Physics Draw Puzzles 2","compatibility":99,"releases":[{"id":"0100F5F0165F4000","region":null}]},{"id":"f97c3da4-9e6e-4e32-ad9a-40d0f41eb15c","directory":"steel-rain","title":"Steel Rain","compatibility":99,"releases":[{"id":"0100D51010D5E000","region":null}]},{"id":"f98226aa-59f7-41bc-8f71-4b53dc425893","directory":"drawn-to-life-two-realms","title":"Drawn to Life: Two Realms","compatibility":1,"releases":[{"id":"0100FF1012C1C000","region":null}]},{"id":"f9b526e8-8e95-4337-9928-45d510865372","directory":"marblelous-animals","title":"Marblelous Animals","compatibility":99,"releases":[{"id":"0100A6F00F364000","region":null}]},{"id":"f9cbba28-19cd-4787-9a46-3391b834ccbc","directory":"kitaria-fables","title":"Kitaria Fables","compatibility":99,"releases":[{"id":"0100F30013BFC000","region":null}]},{"id":"f9d1f07a-6cca-43b5-990d-2a587c945946","directory":"if-found","title":"If Found...","compatibility":0,"releases":[{"id":"01006550129C6000","region":null}]},{"id":"f9d761b5-3fc1-4a69-a893-5735025fe004","directory":"truck-simulator-2","title":"Truck Simulator 2","compatibility":99,"releases":[{"id":"01001730159E8000","region":null}]},{"id":"f9db30dd-38b3-4d20-a478-488a9063254d","directory":"carnival-games","title":"Carnival Games","compatibility":2,"releases":[{"id":"010088C0092FE000","region":null}]},{"id":"f9e45d9e-fb7d-4ad5-9e4d-7e6740296a40","directory":"the-last-blade-beyond-the-destiny","title":"THE LAST BLADE: Beyond the Destiny","compatibility":99,"releases":[{"id":"0100A35012908000","region":null}]},{"id":"f9ed0cc3-8884-4e50-ba8a-52d56f42a359","directory":"virus-the-outbreak","title":"VIRUS: The Outbreak","compatibility":99,"releases":[{"id":"0100489013A3C000","region":null}]},{"id":"f9f5281c-6061-4068-b321-f3cf592d6fde","directory":"trollhunters-defenders-of-arcadia","title":"Trollhunters: Defenders of Arcadia","compatibility":3,"releases":[{"id":"0100145011008000","region":null}]},{"id":"f9f8e2f8-1c8a-4d39-a09f-ab1529cfc70e","directory":"roulette","title":"Roulette","compatibility":99,"releases":[{"id":"0100BAB011DEC000","region":null}]},{"id":"fa09cc53-240b-44c1-8c1e-dec51524fea7","directory":"battle-for-blood","title":"Battle for Blood","compatibility":99,"releases":[{"id":"01007AB013E9E000","region":null}]},{"id":"fa1a66ea-7a92-4bbe-8824-4f96ad9025e7","directory":"indie-darling-bundle-vol-1","title":"Indie Darling Bundle Vol. 1","compatibility":99,"releases":[{"id":"0100BAE011072000","region":null}]},{"id":"fa1d83e3-dc84-4c98-a9fe-a5df750186c7","directory":"rhythm-fighter","title":"Rhythm Fighter","compatibility":99,"releases":[{"id":"0100729012D18000","region":null}]},{"id":"fa4c92cf-765b-42f2-90b4-13e36ed9c1b4","directory":"love","title":"LOVE","compatibility":99,"releases":[{"id":"0100B6200D204000","region":null}]},{"id":"fa4e7ceb-6ba0-4012-bc80-dd47b5575962","directory":"toby-the-secret-mine","title":"Toby: The Secret Mine","compatibility":2,"releases":[{"id":"0100A4A00B2E8000","region":null}]},{"id":"fa642e98-0957-4bdc-bc8c-62ef3ff6e1b4","directory":"kuukiyomi-3-consider-it-more-and-more-father-to-son","title":"KUUKIYOMI 3: Consider It More and More!! - Father to Son","compatibility":99,"releases":[{"id":"01001AC013DEC000","region":null}]},{"id":"fa6deb7a-7161-446a-8420-a2720131b5a1","directory":"dodo-peak","title":"Dodo Peak","compatibility":4,"releases":[{"id":"01001770115C8000","region":null}]},{"id":"fa6f456f-28b8-46f1-be46-3b0358e18e18","directory":"idle-inventor-factory-tycoon","title":"Idle Inventor - Factory Tycoon","compatibility":99,"releases":[{"id":"0100FBA01588C000","region":null}]},{"id":"fa6f5310-9d6e-4be2-9a1c-e23db71fb81a","directory":"angels-with-scaly-wings","title":"Angels with Scaly Wings","compatibility":0,"releases":[{"id":"0100FC90122CC000","region":null}]},{"id":"fa74b482-2d49-4e40-b892-57181372e37c","directory":"beat-me","title":"Beat Me!","compatibility":99,"releases":[{"id":"01002D20129FC000","region":null}]},{"id":"fa78c4ee-61cb-46c9-b723-d49fb8374df3","directory":"clay-skeet-shooting","title":"Clay Skeet Shooting","compatibility":99,"releases":[{"id":"0100D36013DF6000","region":null}]},{"id":"fa7ae349-52a0-4c66-8289-dc0288f77c37","directory":"give-it-up-bouncy","title":"Give It Up! Bouncy","compatibility":99,"releases":[{"id":"0100CC001369E000","region":null}]},{"id":"fa89f0b2-782c-4678-a671-c0021c64f45d","directory":"pokemon-home","title":"Pokémon HOME","compatibility":4,"releases":[{"id":"010015F008C54000","region":null}]},{"id":"fa955193-bf9e-426c-891f-73515bb5590d","directory":"wild-park-manager","title":"Wild Park Manager","compatibility":99,"releases":[{"id":"0100CFF010202000","region":null}]},{"id":"faabbd13-0166-4f78-82b4-44bac956ce39","directory":"arcade-archives-thunder-cross","title":"Arcade Archives THUNDER CROSS","compatibility":99,"releases":[{"id":"01004E4013E62000","region":null}]},{"id":"fab175a7-2daa-460c-ba6d-97dafd0ad12c","directory":"hardcore-mecha","title":"HARDCORE MECHA","compatibility":0,"releases":[{"id":"01002F0011DD4000","region":null}]},{"id":"fabddce0-cdf8-4a2e-8f2f-c52ad66e5998","directory":"under-night-in-birth-exelatecl-r","title":"Under Night In-Birth Exe:Late[cl-r]","compatibility":1,"releases":[{"id":"010038C00EC34000","region":null}]},{"id":"fabe141b-e355-42d5-9dcd-ab5c9c4e2ed0","directory":"my-secret-pets","title":"My Secret Pets!","compatibility":99,"releases":[{"id":"01009070118B4000","region":null}]},{"id":"facdbe14-e6ae-4a11-adcc-85e6e7a18867","directory":"the-last-remnant-remastered","title":"THE LAST REMNANT Remastered","compatibility":2,"releases":[{"id":"0100AC800D022000","region":null}]},{"id":"fad48de8-f079-47ce-a4a9-16de94fd6cae","directory":"pool-puzzles","title":"Pool Puzzles","compatibility":99,"releases":[{"id":"0100300016400000","region":null}]},{"id":"fadfea90-6ff6-4532-8419-dba69b908dd8","directory":"raining-blobs","title":"Raining Blobs","compatibility":99,"releases":[{"id":"0100F3F00B86A000","region":null}]},{"id":"fae396c1-0ab7-441c-9ce8-60d432018ae3","directory":"arrest-of-a-stone-buddha","title":"Arrest of a stone Buddha","compatibility":5,"releases":[{"id":"0100184011B32000","region":null}]},{"id":"fae40a0a-b108-4ba3-9c9a-9e3897645424","directory":"car-mechanic-simulator","title":"Car Mechanic Simulator","compatibility":99,"releases":[{"id":"0100F2D00C97E000","region":null}]},{"id":"faea8e79-f984-4d40-bb50-6b1870d94aaa","directory":"life-goes-on","title":"Life Goes On","compatibility":99,"releases":[{"id":"010006300AFFE000","region":null}]},{"id":"faeef2d9-e6ff-46bc-b03d-4f7e4acaae86","directory":"warhammer-age-of-sigmar-storm-ground","title":"Warhammer Age of Sigmar: Storm Ground","compatibility":1,"releases":[{"id":"010031201307A000","region":null}]},{"id":"faf17261-5295-4803-9734-e7612b55be82","directory":"super-fowlst","title":"Super Fowlst","compatibility":99,"releases":[{"id":"0100D22016872000","region":null}]},{"id":"faf80d9f-9198-4195-844b-839f2c4d9e9a","directory":"bury-me-my-love","title":"Bury me, my Love","compatibility":99,"releases":[{"id":"010066F00C76A000","region":null}]},{"id":"fb0dc983-427a-4b30-8b3f-a0954d0c4abd","directory":"another-world","title":"Another World","compatibility":2,"releases":[{"id":"01003C300AAAE000","region":null}]},{"id":"fb1196cb-b1df-42f4-bba2-115fdb579859","directory":"event-horizon-space-defense","title":"Event Horizon: Space Defense","compatibility":99,"releases":[{"id":"010072C010002000","region":null}]},{"id":"fb1d8a9a-d0a1-4796-b8fe-c38746a2d181","directory":"pan-pan-a-tiny-big-adventure","title":"PAN-PAN A tiny big adventure","compatibility":1,"releases":[{"id":"0100F0D004CAE000","region":null}]},{"id":"fb375514-3cc7-4e11-aa81-d2976477b071","directory":"2in1-application-driver-and-serial-killer-sniper","title":"2in1 - Application Driver and Serial Killer / Sniper","compatibility":99,"releases":[{"id":"0100C3701429C000","region":null}]},{"id":"fb395e9a-4157-4d91-8763-455ae5c5bd3f","directory":"rain-on-your-parade","title":"Rain on Your Parade","compatibility":99,"releases":[{"id":"0100BDD014232000","region":null}]},{"id":"fb39fde7-f26c-4627-81b6-bba1adf39467","directory":"arcade-archives-raiders5","title":"Arcade Archives RAIDERS5","compatibility":99,"releases":[{"id":"0100DC4009828000","region":null}]},{"id":"fb4d6cb4-8fb3-45c3-a8ba-a449930a4024","directory":"ayakashi-koi-gikyoku-forbidden-romance-with-mysterious-spirit-","title":"Ayakashi Koi Gikyoku -Forbidden Romance with Mysterious Spirit-","compatibility":1,"releases":[{"id":"010042E00AC80000","region":null}]},{"id":"fb5cc263-5703-4f99-ab0c-cd0b23e7e792","directory":"crystal-crisis","title":"Crystal Crisis","compatibility":2,"releases":[{"id":"0100972008234000","region":null}]},{"id":"fb5ce9c1-92b3-46ff-a071-043fad3b1626","directory":"dojoran","title":"Dojoran","compatibility":99,"releases":[{"id":"0100B44015F1C000","region":null}]},{"id":"fb60ad9d-da79-46ba-93d5-c91b60ba8ca3","directory":"zombie-apocalypse","title":"Zombie Apocalypse","compatibility":99,"releases":[{"id":"0100F65013E84000","region":null}]},{"id":"fb69b9aa-0e4a-42e6-a722-c2790d49a90f","directory":"a-little-golf-journey","title":"A Little Golf Journey","compatibility":0,"releases":[{"id":"0100DBD01543A000","region":null}]},{"id":"fb851701-7709-4651-9fce-0b1b4f7d6cf4","directory":"mafia-slots","title":"Mafia Slots","compatibility":99,"releases":[{"id":"0100E15014C5A000","region":null}]},{"id":"fb8f5e43-5a66-40f0-9c70-d2dfae48581d","directory":"trivial-pursuit-live-demo","title":"Trivial Pursuit LIVE - DEMO","compatibility":99,"releases":[{"id":"01005BA00BEE6000","region":null}]},{"id":"fb90cc82-3509-4472-84e2-0afe82997421","directory":"monster-hunter-rise","title":"MONSTER HUNTER RISE","compatibility":4,"releases":[{"id":"0100B04011742000","region":null}]},{"id":"fba48c59-5f8b-4f23-b09b-e0a8e0cb2272","directory":"box-that-ball","title":"Box That Ball","compatibility":99,"releases":[{"id":"010053B016690000","region":null}]},{"id":"fba8f653-dac7-4e30-b408-2c1891a5e37d","directory":"max-reloaded-ii","title":"Max Reloaded II","compatibility":99,"releases":[{"id":"01000D60132D0000","region":null}]},{"id":"fbade9cb-9874-414e-9626-803721a5dfae","directory":"speaking-simulator","title":"Speaking Simulator","compatibility":99,"releases":[{"id":"010020500E7A6000","region":null}]},{"id":"fbafb25a-2ce0-45fd-8a09-f6430c1a995c","directory":"lego-marvel-super-heroes-2","title":"LEGO Marvel Super Heroes 2","compatibility":2,"releases":[{"id":"0100D3A00409E000","region":null}]},{"id":"fbb3f637-502d-40bc-b30d-0c56966471d0","directory":"lawnmower-game-next-generation","title":"Lawnmower Game: Next Generation","compatibility":99,"releases":[{"id":"01009AA013DD4000","region":null}]},{"id":"fbbc0e73-6c72-46a7-b488-126ed1aa52ac","directory":"xenoblade-chronicles-2-torna-~-the-golden-country","title":"Xenoblade Chronicles 2: Torna ~ The Golden Country","compatibility":2,"releases":[{"id":"0100C9F009F7A000","region":null}]},{"id":"fbdd1029-94b4-4d06-87ec-8691dd52f566","directory":"rescue-tale","title":"Rescue Tale","compatibility":99,"releases":[{"id":"01003C400AD42000","region":null}]},{"id":"fbe8a1e1-fe23-4ccd-8f10-b2b2f0270d43","directory":"random-heroes-gold-edition","title":"Random Heroes: Gold Edition","compatibility":99,"releases":[{"id":"0100EA4011484000","region":null}]},{"id":"fbe8a74f-69a2-41bd-8073-9061d0da5620","directory":"electronic-super-joy-2","title":"Electronic Super Joy 2","compatibility":99,"releases":[{"id":"01002450112D4000","region":null}]},{"id":"fbf215b6-6b7a-4996-8c18-8bfcf2b65522","directory":"samurai-shodown","title":"SAMURAI SHODOWN","compatibility":1,"releases":[{"id":"01002DF00F76C000","region":null}]},{"id":"fbf2c61f-425f-4b72-92a7-9b232dfe3262","directory":"framed-collection","title":"FRAMED Collection","compatibility":5,"releases":[{"id":"0100F1A00A5DC000","region":null}]},{"id":"fbf8974d-17ef-43aa-a7f3-d88b1d0750f0","directory":"haven","title":"Haven","compatibility":4,"releases":[{"id":"0100E2600DBAA000","region":null}]},{"id":"fbf94d0a-9a82-421f-9c8a-9b5f4629fb43","directory":"prinny-presents-nis-classics-volume-1-phantom-brave-the-hermuda-triangle-remastered-soul-nomad-the-world-eaters","title":"Prinny Presents NIS Classics Volume 1: Phantom Brave: The Hermuda Triangle Remastered / Soul Nomad & the World Eaters","compatibility":99,"releases":[{"id":"01001FA01451C000","region":null}]},{"id":"fbfbb962-4226-459f-82d1-d27bf417f301","directory":"animals-for-toddlers","title":"Animals for Toddlers","compatibility":99,"releases":[{"id":"0100451012492000","region":null}]},{"id":"fc152151-01a4-4602-85ec-22589d306cc7","directory":"spot-the-difference","title":"Spot The Difference","compatibility":99,"releases":[{"id":"0100E04009BD4000","region":null}]},{"id":"fc244da5-6b32-45af-bc2c-6267dbdeb7d2","directory":"selma-and-the-wisp","title":"Selma and the Wisp","compatibility":1,"releases":[{"id":"0100DF300DE6A000","region":null}]},{"id":"fc25c6dc-3ebd-4fb5-98d9-f011c81b4322","directory":"depixtion","title":"Depixtion","compatibility":99,"releases":[{"id":"0100C9100FAE2000","region":null}]},{"id":"fc2c5598-fc8f-49d5-8bb2-42e03dee15f0","directory":"towerfall","title":"TowerFall","compatibility":2,"releases":[{"id":"0100A1C00359C000","region":null}]},{"id":"fc37855f-afc5-4caa-8035-b7cdefa15243","directory":"power-rangers-battle-for-the-grid","title":"Power Rangers: Battle for the Grid","compatibility":1,"releases":[{"id":"0100E1E00CF1A000","region":null}]},{"id":"fc3c34ef-ae12-44ed-bfa5-52d6aba41d54","directory":"south-park-the-stick-of-truth","title":"South Park: The Stick of Truth","compatibility":1,"releases":[{"id":"010095300B6A4000","region":null}]},{"id":"fc4747f0-7ff1-42b9-a649-c90b8f066e53","directory":"munchkin-quacked-quest","title":"Munchkin: Quacked Quest","compatibility":3,"releases":[{"id":"0100AD600C5EA000","region":null}]},{"id":"fc598a0a-cfc4-4f4a-9566-0f9f5800584a","directory":"rampage-knights","title":"Rampage Knights","compatibility":99,"releases":[{"id":"0100D2E00C4CC000","region":null}]},{"id":"fc7fbead-a9ac-4243-bbc5-0fa7b12f2441","directory":"16-bit-soccer","title":"16-Bit Soccer","compatibility":99,"releases":[{"id":"0100E98013C90000","region":null}]},{"id":"fc8232f0-8e81-4780-8c04-0b2e5dec9a1b","directory":"a-duel-hand-disaster-trackher","title":"A Duel Hand Disaster: Trackher","compatibility":99,"releases":[{"id":"010026B006802000","region":null}]},{"id":"fc85191e-8673-44f8-ba20-787a65391f44","directory":"lost-words-beyond-the-page","title":"Lost Words: Beyond the Page","compatibility":99,"releases":[{"id":"0100018013124000","region":null}]},{"id":"fc8ab562-4c89-49c2-8ed1-0ca4a5ec6cec","directory":"alfonzos-arctic-adventure","title":"Alfonzo's Arctic Adventure","compatibility":99,"releases":[{"id":"01003E0012F5A000","region":null}]},{"id":"fc8c17be-66e6-4905-a77f-65ec45317480","directory":"disco-elysium-the-final-cut","title":"Disco Elysium - The Final Cut","compatibility":99,"releases":[{"id":"01006C5015E84000","region":null}]},{"id":"fc8e1a3c-d397-4ede-a31a-15a6c8e46ce9","directory":"aca-neogeo-the-ultimate-11-snk-football-championship","title":"ACA NEOGEO THE ULTIMATE 11: SNK FOOTBALL CHAMPIONSHIP","compatibility":5,"releases":[{"id":"0100591008790000","region":null}]},{"id":"fc971c13-0544-42bf-915b-158a4179251c","directory":"pool","title":"POOL","compatibility":99,"releases":[{"id":"0100161009A52000","region":null}]},{"id":"fc9b7090-3a73-4abc-8c24-319a319effde","directory":"spartan","title":"Spartan","compatibility":3,"releases":[{"id":"0100E6A009A26000","region":null}]},{"id":"fca07452-98fd-49fb-b971-bdfec6977f49","directory":"darksiders-genesis","title":"Darksiders Genesis","compatibility":3,"releases":[{"id":"0100F2300D4BA000","region":null}]},{"id":"fca4ef5d-71ef-45dc-9e37-cd8cb691f004","directory":"brunswick-pro-billiards","title":"Brunswick Pro Billiards","compatibility":1,"releases":[{"id":"01002E700F958000","region":null}]},{"id":"fca6651a-0e87-4f6d-b650-ba238605629c","directory":"axes","title":"AXES","compatibility":99,"releases":[{"id":"0100DA3011174000","region":null}]},{"id":"fcac357a-af57-4ddb-a57e-1e1834cca57a","directory":"arcade-archives-omega-fighter","title":"Arcade Archives OMEGA FIGHTER","compatibility":99,"releases":[{"id":"01004A200BB48000","region":null}]},{"id":"fcb665b1-1a80-47b6-bd99-9097efbf8166","directory":"cave-digger","title":"Cave Digger","compatibility":1,"releases":[{"id":"0100D30012B38000","region":null}]},{"id":"fcbc7de6-a7b1-402b-a4cd-03e03c5b9850","directory":"vsr-void-space-racing","title":"VSR: Void Space Racing","compatibility":4,"releases":[{"id":"0100C7C00AE6C000","region":null}]},{"id":"fcc17f11-6402-4292-8578-1e07ba773cfe","directory":"arcade-archives-excitebike","title":"Arcade Archives EXCITEBIKE","compatibility":1,"releases":[{"id":"0100328009800000","region":null}]},{"id":"fcc4b086-dd78-444f-a30b-9d1e63da5342","directory":"aca-neogeo-super-sidekicks","title":"ACA NEOGEO SUPER SIDEKICKS","compatibility":99,"releases":[{"id":"0100A0E004DB2000","region":null}]},{"id":"fcc9ef7e-7776-45f3-a182-3bf8c16169df","directory":"mountain-bike-hill-climb-race-real-2d-arcade-dirt-racing-games","title":"Mountain Bike Hill Climb Race: Real 2D Arcade Dirt Racing Games","compatibility":99,"releases":[{"id":"010003C01491A000","region":null}]},{"id":"fcd27188-ed93-4344-a6c7-decac9adc733","directory":"lost-artifacts-soulstone","title":"Lost Artifacts: Soulstone","compatibility":99,"releases":[{"id":"010075E00D8C6000","region":null}]},{"id":"fcd60880-04c0-48f7-9256-310a771bc20f","directory":"meanders","title":"MEANDERS","compatibility":99,"releases":[{"id":"0100EEF00CBC0000","region":null}]},{"id":"fcdd62ec-9424-48b2-9a41-1c1c0075591a","directory":"sunblaze","title":"Sunblaze","compatibility":99,"releases":[{"id":"0100BFE014476000","region":null}]},{"id":"fce52cd2-784d-44dc-96be-fbb7f59f89e5","directory":"caves-and-castles-underworld","title":"Caves and Castles: Underworld","compatibility":1,"releases":[{"id":"0100CEC013C56000","region":null}]},{"id":"fce583a3-bf74-4fd9-b5df-ff1fbc6c50ad","directory":"little-triangle","title":"Little Triangle","compatibility":99,"releases":[{"id":"01000690085BE000","region":null}]},{"id":"fce7f143-8724-4fd7-b023-9a53c44a931a","directory":"lichtspeer-double-speer-edition","title":"Lichtspeer: Double Speer Edition","compatibility":2,"releases":[{"id":"01004360045C8000","region":null}]},{"id":"fcf459a2-91a3-4c6f-b1fc-9d28e20605b0","directory":"shakedown-hawaii","title":"Shakedown: Hawaii","compatibility":1,"releases":[{"id":"0100B10002904000","region":null}]},{"id":"fcf9fb29-5ac6-4984-ae3a-dc0af0e5cfcd","directory":"classic-games-collection-vol1","title":"Classic Games Collection Vol.1","compatibility":0,"releases":[{"id":"010031D00EA96000","region":null}]},{"id":"fd0ae51a-6e8d-40da-82c8-58732a54bba0","directory":"pirates-all-aboard","title":"Pirates: All Aboard!","compatibility":99,"releases":[{"id":"0100FC5009952000","region":null}]},{"id":"fd0b6796-c082-47b7-9b9b-b122bb160fe2","directory":"rebel-galaxy-outlaw","title":"Rebel Galaxy Outlaw","compatibility":1,"releases":[{"id":"0100CAA01084A000","region":null}]},{"id":"fd0cdc0b-3910-4c36-b080-1caad5fe850d","directory":"cafe-enchante","title":"Café Enchanté","compatibility":0,"releases":[{"id":"01005C00117A8000","region":null}]},{"id":"fd24b7e3-0d77-46b6-96f5-4a7e979ed90d","directory":"ephemeral-fantasy-on-dark","title":"EPHEMERAL -FANTASY ON DARK-","compatibility":99,"releases":[{"id":"0100B4D01303C000","region":null}]},{"id":"fd3b898e-698e-4b85-ae81-ae1e88596858","directory":"urban-trial-tricky","title":"Urban Trial Tricky","compatibility":1,"releases":[{"id":"0100A2500EB92000","region":null}]},{"id":"fd4068e3-1686-4448-97ca-517ff2ccf210","directory":"joojees-journey","title":"Joojee's Journey","compatibility":99,"releases":[{"id":"0100DBB013444000","region":null}]},{"id":"fd637db0-c494-4281-8f6c-f905c3eef698","directory":"boris-the-rocket","title":"BORIS THE ROCKET","compatibility":99,"releases":[{"id":"010092C013FB8000","region":null}]},{"id":"fd6d7482-e72a-42c8-9c84-f7b3be2f80bf","directory":"demons-rise-lords-of-chaos","title":"Demon's Rise - Lords of Chaos","compatibility":1,"releases":[{"id":"0100E29013818000","region":null}]},{"id":"fd7b63f4-4b34-472c-a6f8-b524fc9061ad","directory":"lastfight","title":"LASTFIGHT","compatibility":99,"releases":[{"id":"01009E100BDD6000","region":null}]},{"id":"fd82065c-3ee2-4c66-9a46-987748e8def0","directory":"razerwire-nanowars","title":"RazerWire: Nanowars","compatibility":99,"releases":[{"id":"01004FC01688A000","region":null}]},{"id":"fd840635-bd1b-468d-8310-6ebf26669f0d","directory":"cotton-boomerang-saturn-tribute","title":"COTTOn Boomerang - Saturn Tribute","compatibility":99,"releases":[{"id":"010077001526E000","region":null}]},{"id":"fd88225a-4d5e-44c7-b130-183ee0edc493","directory":"dezatopia","title":"Dezatopia","compatibility":5,"releases":[{"id":"0100AFC00E06A000","region":null}]},{"id":"fd8a06d7-8e04-41b5-b1c2-dbd0b59e373b","directory":"subdivision-infinity-dx","title":"Subdivision Infinity DX","compatibility":1,"releases":[{"id":"010001400E474000","region":null}]},{"id":"fd9eb5d7-ae2c-4c93-9eab-6c6265c7848e","directory":"violett","title":"Violett","compatibility":2,"releases":[{"id":"01005880063AA000","region":null}]},{"id":"fdc29bf8-ffa9-44a6-8dc1-cbdc5475eaf0","directory":"colors-live","title":"Colors Live","compatibility":5,"releases":[{"id":"010020500BD86000","region":null}]},{"id":"fdcb51f9-861f-4b83-9dbd-34fdee0a1f5c","directory":"pixel-game-maker-series-puzzle-pedestrians","title":"Pixel Game Maker Series Puzzle Pedestrians","compatibility":99,"releases":[{"id":"0100EA2013BCC000","region":null}]},{"id":"fdd79f35-157b-4f32-9d4e-8358a385a26a","directory":"distraint-2","title":"DISTRAINT 2","compatibility":99,"releases":[{"id":"01009740120FE000","region":null}]},{"id":"fddd42a1-5499-4428-812f-fc4ad9c44630","directory":"synaptic-drive","title":"SYNAPTIC DRIVE","compatibility":99,"releases":[{"id":"0100D8400DAF0000","region":null}]},{"id":"fde2122e-0c50-415b-bcce-29d61d05e63d","directory":"project-starship","title":"Project Starship","compatibility":99,"releases":[{"id":"0100AD9010596000","region":null}]},{"id":"fde27268-f0ad-4e2f-a82a-25aec7a055b7","directory":"wild-pinball-bundle","title":"Wild Pinball Bundle","compatibility":2,"releases":[{"id":"0100DA7015C02000","region":null}]},{"id":"fde2ee7f-f811-4738-a7a8-45389357c817","directory":"laws-of-machine","title":"Laws of Machine","compatibility":99,"releases":[{"id":"0100CF90147B6000","region":null}]},{"id":"fde696b2-0271-4d70-9caf-f1f2e2f73b7e","directory":"space-revenge","title":"Space Revenge","compatibility":99,"releases":[{"id":"0100E0D014C4C000","region":null}]},{"id":"fde8abf6-7a49-44ed-9494-dedfd11e0698","directory":"pumpkin-jack","title":"Pumpkin Jack","compatibility":3,"releases":[{"id":"01006C10131F6000","region":null}]},{"id":"fdf66d36-9091-4aac-a670-c2558b14f49b","directory":"sniper-elite-v2-remastered","title":"Sniper Elite V2 Remastered","compatibility":2,"releases":[{"id":"0100BB000A3AA000","region":null}]},{"id":"fdfd2430-60ec-4ce5-904f-f514f8e6b550","directory":"cultist-simulator-initiate-edition","title":"Cultist Simulator: Initiate Edition","compatibility":99,"releases":[{"id":"01006F40119B6000","region":null}]},{"id":"fdfdfcf0-815c-4eac-bb76-161f091010f0","directory":"bouncy-bullets-2","title":"Bouncy Bullets 2","compatibility":99,"releases":[{"id":"01000000160F6000","region":null}]},{"id":"fdfe2107-707b-48f8-9ce7-cc7a427d35db","directory":"go-fish-go","title":"Go! Fish Go!","compatibility":1,"releases":[{"id":"0100E6300F854000","region":null}]},{"id":"fe0803c2-e093-4a0e-b59e-8af9cfefb69f","directory":"darq-complete-edition","title":"DARQ Complete Edition","compatibility":99,"releases":[{"id":"0100440012FFA000","region":null}]},{"id":"fe0a8790-8801-4030-b4a8-91c5214f59ed","directory":"otti-the-house-keeper","title":"Otti: The House Keeper","compatibility":99,"releases":[{"id":"01006AF013A9E000","region":null}]},{"id":"fe18c0d4-af83-4c61-a120-2997fe486dfa","directory":"arcade-archives-crime-fighters","title":"Arcade Archives CRIME FIGHTERS","compatibility":99,"releases":[{"id":"01002620141B6000","region":null}]},{"id":"fe2234b6-7229-458a-aac6-e7166acea490","directory":"goodbye-deponia","title":"Goodbye Deponia","compatibility":2,"releases":[{"id":"0100CA500C90C000","region":null}]},{"id":"fe241c96-c568-452e-aa7f-da3c24a15f60","directory":"splasher","title":"Splasher","compatibility":1,"releases":[{"id":"0100FF9003F10000","region":null}]},{"id":"fe281668-25c8-4e18-94b8-e5ffbeb4b008","directory":"octafight","title":"OctaFight","compatibility":99,"releases":[{"id":"0100C20013196000","region":null}]},{"id":"fe330624-5fee-41bd-a4b5-859e54bcfa6a","directory":"minit","title":"Minit","compatibility":1,"releases":[{"id":"0100ED600A87A000","region":null}]},{"id":"fe37e82b-9e71-4a8d-917c-800039ee6a59","directory":"lets-sing-2022","title":"Let's Sing 2022","compatibility":99,"releases":[{"id":"0100CC30149B8000","region":null}]},{"id":"fe53cf13-ed2b-4c45-a7d3-961aff71f387","directory":"mega-man-legacy-collection-2","title":"Mega Man Legacy Collection 2","compatibility":0,"releases":[{"id":"0100842008EC4000","region":null}]},{"id":"fe56325e-62a8-4863-af52-999c89fe524f","directory":"escape-from-mirrorland-the-adventures-of-nyanzou-kumakichi-escape-game-series","title":"Escape from Mirrorland\n~The Adventures of Nyanzou&Kumakichi: Escape Game Series~","compatibility":99,"releases":[{"id":"010049F016CA0000","region":null}]},{"id":"fe5a9ab5-ba6d-4f1c-be55-066eacb97d5f","directory":"thief-simulator","title":"Thief Simulator","compatibility":1,"releases":[{"id":"0100CE400E34E000","region":null}]},{"id":"fe5c3459-5250-46fa-96b3-9def61710376","directory":"shovel-knight-pocket-dungeon","title":"Shovel Knight Pocket Dungeon","compatibility":0,"releases":[{"id":"01006B00126EC000","region":null}]},{"id":"fe5cb57a-7940-46d8-aaa6-777f1e2cc62b","directory":"defunct","title":"Defunct","compatibility":99,"releases":[{"id":"010039300BDB2000","region":null}]},{"id":"fe61869e-0690-4b37-af7d-39a8f4739265","directory":"new-york-mysteries-the-outbreak","title":"New York Mysteries: The Outbreak","compatibility":99,"releases":[{"id":"01001320168F6000","region":null}]},{"id":"fe6bc772-6c72-4163-a281-8f322d429fc5","directory":"one-more-dungeon","title":"One More Dungeon","compatibility":1,"releases":[{"id":"0100BD3006A02000","region":null}]},{"id":"fe71fed3-6474-4c85-89ad-a95766ce1d19","directory":"hades","title":"Hades","compatibility":5,"releases":[{"id":"0100535012974000","region":null}]},{"id":"fe7fdfb9-8aef-4e51-b89d-547ca49bdf2c","directory":"dariusburst-another-chronicle-ex","title":"Dariusburst: Another Chronicle EX+","compatibility":99,"releases":[{"id":"010043F013044000","region":null}]},{"id":"fe81f817-9ca7-49fd-8643-8b905309057f","directory":"truck-racing-championship","title":"Truck Racing Championship","compatibility":99,"releases":[{"id":"010018800D1FC000","region":null}]},{"id":"fe850dab-4d8d-4099-b607-43f6c56a17d5","directory":"bff-or-die","title":"BFF or Die","compatibility":99,"releases":[{"id":"0100EFB01272E000","region":null}]},{"id":"fe8abfe6-3403-408a-a578-555524840970","directory":"duck-game","title":"Duck Game","compatibility":1,"releases":[{"id":"0100750001C70000","region":null}]},{"id":"fe8b6dc0-d9f6-4d35-8757-c2207fbbfe19","directory":"sword-of-the-necromancer","title":"Sword of the Necromancer","compatibility":4,"releases":[{"id":"0100E4701355C000","region":null}]},{"id":"fe99e110-e2e7-47d7-8afc-a0e3cbca797f","directory":"dude-stop","title":"Dude, Stop","compatibility":99,"releases":[{"id":"01002C100FBB6000","region":null}]},{"id":"fe9a14c9-4d47-4e3a-8a0b-676bf9484d2e","directory":"rims-racing","title":"RiMS Racing","compatibility":2,"releases":[{"id":"01003CD01299E000","region":null}]},{"id":"fe9df3ba-e2f2-4cf5-b7a1-13ebf31d2c03","directory":"castle-on-the-coast","title":"Castle on the Coast","compatibility":99,"releases":[{"id":"01009A3015CA4000","region":null}]},{"id":"fea44348-2e40-4bc0-8019-171658af46a4","directory":"flowing-lights","title":"Flowing Lights","compatibility":99,"releases":[{"id":"0100DDD0131D6000","region":null}]},{"id":"fea5f239-85cf-4091-ba28-fa8cb0dc8e24","directory":"reversi-lets-go","title":"Reversi Let's Go","compatibility":99,"releases":[{"id":"0100FCD0142E2000","region":null}]},{"id":"feb55770-16b2-4674-8604-49dc777fadad","directory":"pelican-and-medjed","title":"Pelican and Medjed","compatibility":99,"releases":[{"id":"010056900E89C000","region":null}]},{"id":"fed558a0-99b0-4f65-a7ca-919baadc41be","directory":"outbreak-endless-nightmares","title":"Outbreak: Endless Nightmares","compatibility":1,"releases":[{"id":"0100A0D013464000","region":null}]},{"id":"fee6a07c-c336-4148-9dd4-8c0738beda71","directory":"ink","title":"INK","compatibility":99,"releases":[{"id":"010060300A67C000","region":null}]},{"id":"fef3186c-f881-4a97-8f4b-5b1351fdf2bc","directory":"edna-and-harvey-harveys-new-eyes","title":"Edna & Harvey: Harvey's New Eyes","compatibility":5,"releases":[{"id":"0100ABE00DB4E000","region":null}]},{"id":"fefbddee-5c9c-4696-99c7-f6169aa83508","directory":"void-gore","title":"Void Gore","compatibility":2,"releases":[{"id":"01006D9013842000","region":null}]},{"id":"ff033ba7-6c0b-4aa2-a9ee-fc56a95f86d9","directory":"tiny-metal","title":"TINY METAL","compatibility":4,"releases":[{"id":"010074800741A000","region":null}]},{"id":"ff040e6c-e707-48b4-990c-cc751b214bab","directory":"ultimate-chicken-horse","title":"Ultimate Chicken Horse","compatibility":1,"releases":[{"id":"0100FCF002A58000","region":null}]},{"id":"ff085fef-1c5a-4b2f-8daf-8a65d3d43c9c","directory":"qubyte-classics-the-immortal-by-piko","title":"QUByte Classics - The Immortal by PIKO","compatibility":99,"releases":[{"id":"010064F016294000","region":null}]},{"id":"ff1355e7-b509-4585-92d3-582b616b1504","directory":"qube-2","title":"Q.U.B.E. 2","compatibility":4,"releases":[{"id":"010023600AA34000","region":null}]},{"id":"ff1446e6-0ae1-42e5-be42-06bc3e0f1e24","directory":"beat-them-all","title":"Beat Them All","compatibility":99,"releases":[{"id":"0100A52016056000","region":null}]},{"id":"ff167930-cfc7-4d18-952d-4999a4a7dc73","directory":"warhammer-40-000-mechanicus","title":"Warhammer 40,000: Mechanicus","compatibility":3,"releases":[{"id":"0100C6000EEA8000","region":null}]},{"id":"ff1fa561-0df8-4652-a43f-baeadd5e9bf4","directory":"cotton-reboot","title":"Cotton Reboot!","compatibility":4,"releases":[{"id":"01005E8013CD8000","region":null}]},{"id":"ff2026b9-505f-4417-a135-ef0df220272d","directory":"the-little-acre","title":"The Little Acre","compatibility":0,"releases":[{"id":"0100A5000D590000","region":null}]},{"id":"ff23e5e0-db35-433e-a373-f060f20ce7c2","directory":"grimvalor","title":"Grimvalor","compatibility":0,"releases":[{"id":"01001C700F518000","region":null}]},{"id":"ff290e72-7668-49a0-aa9f-1ecdd41726ee","directory":"omvorm","title":"Omvorm","compatibility":99,"releases":[{"id":"0100EFB00B7B8000","region":null}]},{"id":"ff361a74-a09f-4386-b245-3fe821607970","directory":"car-driving-simulator","title":"Car Driving Simulator","compatibility":99,"releases":[{"id":"010003401564E000","region":null}]},{"id":"ff3882fe-ae81-48e2-bd8d-0ca843da22bf","directory":"block-a-pix-deluxe","title":"Block-a-Pix Deluxe","compatibility":99,"releases":[{"id":"0100D1100D1A8000","region":null}]},{"id":"ff3eb840-6c9a-4ffe-a83e-c58765371525","directory":"hill-climbing-mania","title":"Hill Climbing Mania","compatibility":1,"releases":[{"id":"0100147011F4E000","region":null}]},{"id":"ff419f5f-a6a4-4913-b3fc-4ffee6f8961b","directory":"mays-mysteries-the-secret-of-dragonville","title":"May's Mysteries: The Secret of Dragonville","compatibility":99,"releases":[{"id":"010099F015372000","region":null}]},{"id":"ff4768f1-6bec-40f1-bfbe-d44c3a8ce86b","directory":"crocs-world-2-demo","title":"Croc's World 2 Demo","compatibility":99,"releases":[{"id":"01003DD00DE14000","region":null}]},{"id":"ff52a484-b5a0-4b84-a2ac-ace5a1fb7a6d","directory":"syder-reloaded","title":"Syder Reloaded","compatibility":99,"releases":[{"id":"0100A2500E232000","region":null}]},{"id":"ff5305d8-9b84-4454-bddc-09c5a0c34069","directory":"outlast-2","title":"Outlast 2","compatibility":3,"releases":[{"id":"0100DE70085E8000","region":null}]},{"id":"ff53d7e8-7a40-4e75-a4a1-39372536defe","directory":"arcade-archives-rally-x","title":"Arcade Archives RALLY-X","compatibility":99,"releases":[{"id":"010026A015ACC000","region":null}]},{"id":"ff612d27-47e0-42ab-a8c9-3b160933f954","directory":"arcade-archives-in-the-hunt","title":"Arcade Archives IN THE HUNT","compatibility":99,"releases":[{"id":"01002B800F2B8000","region":null}]},{"id":"ff7fadca-abb1-4807-93d0-e01f0ea6f0ba","directory":"rad-rodgers-radical-edition","title":"Rad Rodgers Radical Edition","compatibility":3,"releases":[{"id":"010000600CD54000","region":null}]},{"id":"ff8d8434-e68a-476a-bf52-769c23575dd9","directory":"milos-quest","title":"Milo's Quest","compatibility":2,"releases":[{"id":"0100B770104D6000","region":null}]},{"id":"ff963ece-7464-4bc4-bf71-21fd9030eede","directory":"gekido-kintaros-revenge","title":"Gekido Kintaro's Revenge","compatibility":1,"releases":[{"id":"010052A00942A000","region":null}]},{"id":"ffa1ffd0-2236-4234-9781-6ff0bf20c485","directory":"the-tenth-line-special-edition","title":"The Tenth Line Special Edition","compatibility":99,"releases":[{"id":"010090E00ECF4000","region":null}]},{"id":"ffa3cb04-27e4-4757-84d8-721507433690","directory":"spelunker-hd-deluxe","title":"Spelunker HD Deluxe","compatibility":0,"releases":[{"id":"010042B015582000","region":null}]},{"id":"ffaa3afe-31f6-46ef-a8a3-e9a202349df4","directory":"pancake-bar-tycoon","title":"Pancake Bar Tycoon","compatibility":99,"releases":[{"id":"0100D150132FA000","region":null}]},{"id":"ffae1efb-7dc8-49c5-a7f8-8f521de65604","directory":"tales-from-space-mutant-blobs-attack","title":"Tales From Space: Mutant Blobs Attack","compatibility":99,"releases":[{"id":"0100CB100D17A000","region":null}]},{"id":"ffb180f7-3f55-48dc-8355-f41e571232cc","directory":"biz-builder-delux","title":"Biz Builder Delux","compatibility":99,"releases":[{"id":"010061D00FD26000","region":null}]},{"id":"ffb793fc-8cf2-479e-a067-2eaa866c9238","directory":"super-animal-royale","title":"Super Animal Royale","compatibility":99,"releases":[{"id":"0100DB3011E8C000","region":null}]},{"id":"ffbc64dd-3e96-470e-b541-cd720b405b0a","directory":"grandia-hd-collection","title":"GRANDIA HD Collection","compatibility":4,"releases":[{"id":"0100E0600BBC8000","region":null}]},{"id":"ffc56cb6-ec52-4ffc-b3f4-286fdfe7a673","directory":"saboteur-ii-avenging-angel","title":"Saboteur II: Avenging Angel","compatibility":0,"releases":[{"id":"010007700CFA2000","region":null}]},{"id":"fff7647f-4e37-49b3-966c-c0c8e8c25825","directory":"from-shadows","title":"From Shadows","compatibility":99,"releases":[{"id":"0100901014412000","region":null}]},{"id":"fffb3851-5dab-4374-9820-5524eb26bf5e","directory":"assassins-creed-the-rebel-collection","title":"Assassin’s Creed: The Rebel Collection","compatibility":4,"releases":[{"id":"010044700DEB0000","region":null}]}]
diff --git a/pkgs/applications/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index 5f2df651f845b..11af5487726c3 100644
--- a/pkgs/applications/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -1,22 +1,27 @@
 { branch ? "mainline"
 , libsForQt5
 , fetchFromGitHub
+, fetchurl
 }:
 
 let
-  # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-03-23.
+  # Fetched from https://api.yuzu-emu.org/gamedb, last updated 2022-05-12
   # Please make sure to update this when updating yuzu!
-  compat-list = ./compatibility-list.json;
+  compat-list = fetchurl {
+    name = "yuzu-compat-list";
+    url = "https://web.archive.org/web/20220512184801/https://api.yuzu-emu.org/gamedb";
+    sha256 = "sha256-anOmO7NscHDsQxT03+YbJEyBkXjhcSVGgKpDwt//GHw=";
+  };
 in {
   mainline = libsForQt5.callPackage ./generic.nix rec {
     pname = "yuzu-mainline";
-    version = "992";
+    version = "1014";
 
     src = fetchFromGitHub {
       owner = "yuzu-emu";
       repo = "yuzu-mainline";
       rev = "mainline-0-${version}";
-      sha256 = "1x3fwwdw86jvygbzy9k99j6avfsd867ywm2x25izw10jznpsaixs";
+      sha256 = "1x3d1fjssadv4kybc6mk153jlvncsfgm5aipkq5n5i8sr7mmr3nw";
       fetchSubmodules = true;
     };
 
@@ -25,13 +30,13 @@ in {
 
   early-access = libsForQt5.callPackage ./generic.nix rec {
     pname = "yuzu-ea";
-    version = "2690";
+    version = "2725";
 
     src = fetchFromGitHub {
       owner = "pineappleEA";
       repo = "pineapple-src";
       rev = "EA-${version}";
-      sha256 = "0zm06clbdh9cccq9932q9v976q7sjknynkdvvp04h1wcskmrxi3c";
+      sha256 = "1nmcl9y9chr7cdvnra5zs1v42d3i801hmsjdlz3fmp15n04bcjmp";
       fetchSubmodules = true;
     };
 
diff --git a/pkgs/applications/emulators/yuzu/generic.nix b/pkgs/applications/emulators/yuzu/generic.nix
index 0429d1fb0ee78..f1ef9259031ad 100644
--- a/pkgs/applications/emulators/yuzu/generic.nix
+++ b/pkgs/applications/emulators/yuzu/generic.nix
@@ -45,6 +45,12 @@
 stdenv.mkDerivation rec {
   inherit pname version src;
 
+  # Replace icons licensed under CC BY-ND 3.0 with free ones to allow
+  # for binary redistribution: https://github.com/yuzu-emu/yuzu/pull/8104
+  # The patch hosted on GitHub has the binary information stripped, so
+  # it has been regenerated with "git format-patch --text --full-index --binary"
+  patches = [ ./yuzu-free-icons.patch ];
+
   nativeBuildInputs = [
     cmake
     doxygen
@@ -145,10 +151,11 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     license = with licenses; [
       gpl3Plus
-      # Icons
-      cc-by-nd-30 cc0
+      # Icons. Note that this would be cc0 and cc-by-nd-30 without the "yuzu-free-icons" patch
+      asl20 mit cc0
     ];
     maintainers = with maintainers; [
+      ashley
       ivar
       joshuafern
       sbruder
diff --git a/pkgs/applications/emulators/yuzu/update.sh b/pkgs/applications/emulators/yuzu/update.sh
index 270164902c115..e128db066f35b 100755
--- a/pkgs/applications/emulators/yuzu/update.sh
+++ b/pkgs/applications/emulators/yuzu/update.sh
@@ -23,21 +23,6 @@ getLocalHash() {
     popd >/dev/null
 }
 
-updateCompatList() {
-    NEW_COMPAT_LIST="$(curl -s "https://api.yuzu-emu.org/gamedb")"
-
-    if [[ "$(cat ./compatibility-list.json)" = "${NEW_COMPAT_LIST}" ]]; then
-        echo "Compatibility list is already up to date!"
-    else
-        local TODAY="$(date +"%Y-%m-%d")"
-
-        echo "Compatibility list: updated to $TODAY"
-        echo "${NEW_COMPAT_LIST}" > ./compatibility-list.json
-
-        sed -i -e "s/last updated .*/last updated $TODAY./" ./default.nix
-    fi
-}
-
 updateMainline() {
     OLD_MAINLINE_VERSION="$(getLocalVersion "yuzu-mainline")"
     OLD_MAINLINE_HASH="$(getLocalHash "yuzu-mainline")"
@@ -90,13 +75,10 @@ updateEarlyAccess() {
 
 if [[ "$BRANCH" = "mainline" ]]; then
     updateMainline
-    updateCompatList
 elif [[ "$BRANCH" = "early-access" ]]; then
     updateEarlyAccess
-    updateCompatList
 else
     KEEP_GOING=1
     updateMainline
     updateEarlyAccess
-    updateCompatList
 fi
diff --git a/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch b/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch
new file mode 100644
index 0000000000000..e150a54ee8aa2
--- /dev/null
+++ b/pkgs/applications/emulators/yuzu/yuzu-free-icons.patch
@@ -0,0 +1,1183 @@
+From 23e02aec6ff6b0823c2e66f5cff737e0cd430a22 Mon Sep 17 00:00:00 2001
+From: Kyle K <190571+Docteh@users.noreply.github.com>
+Date: Mon, 28 Mar 2022 14:44:12 -0700
+Subject: [PATCH 1/2] Moving Icons away from CC BY-ND 3.0 for FOSS packaging
+ purposes
+
+I've seen some comments stating that sharing pre-compiled packages
+of yuzu is problematic for linux distributions due to some contents
+having license of CC BY-ND 3.0
+
+Sources for the icons have been updated in the dist/license.md document
+
+Also a note has been added to call attention to the two copies of a QT theme
+called QDarkStyleSheet
+---
+ dist/license.md                               |  63 ++++++++++--------
+ dist/qt_themes/colorful/icons/48x48/plus.png  | Bin 496 -> 232 bytes
+ .../colorful/icons/48x48/sd_card.png          | Bin 680 -> 760 bytes
+ dist/qt_themes/colorful/icons/48x48/star.png  | Bin 1248 -> 1330 bytes
+ .../qt_themes/default/icons/16x16/checked.png | Bin 657 -> 414 bytes
+ dist/qt_themes/default/icons/16x16/failed.png | Bin 524 -> 361 bytes
+ dist/qt_themes/default/icons/16x16/lock.png   | Bin 279 -> 318 bytes
+ .../default/icons/256x256/plus_folder.png     | Bin 3135 -> 3521 bytes
+ .../default/icons/48x48/bad_folder.png        | Bin 1088 -> 1007 bytes
+ dist/qt_themes/default/icons/48x48/chip.png   | Bin 15070 -> 511 bytes
+ dist/qt_themes/default/icons/48x48/folder.png | Bin 410 -> 535 bytes
+ dist/qt_themes/default/icons/48x48/plus.png   | Bin 316 -> 274 bytes
+ .../qt_themes/default/icons/48x48/sd_card.png | Bin 614 -> 638 bytes
+ dist/qt_themes/default/icons/48x48/star.png   | Bin 686 -> 1029 bytes
+ .../qt_themes/qdarkstyle/icons/16x16/lock.png | Bin 304 -> 343 bytes
+ .../qdarkstyle/icons/256x256/plus_folder.png  | Bin 3438 -> 3931 bytes
+ .../qdarkstyle/icons/48x48/bad_folder.png     | Bin 1098 -> 1061 bytes
+ .../qt_themes/qdarkstyle/icons/48x48/chip.png | Bin 15120 -> 551 bytes
+ .../qdarkstyle/icons/48x48/folder.png         | Bin 542 -> 594 bytes
+ .../qt_themes/qdarkstyle/icons/48x48/plus.png | Bin 339 -> 297 bytes
+ .../qdarkstyle/icons/48x48/sd_card.png        | Bin 676 -> 679 bytes
+ .../qt_themes/qdarkstyle/icons/48x48/star.png | Bin 725 -> 1055 bytes
+ .../icons/16x16/lock.png                      | Bin 304 -> 343 bytes
+ .../icons/256x256/plus_folder.png             | Bin 3438 -> 3931 bytes
+ .../icons/48x48/bad_folder.png                | Bin 1098 -> 1061 bytes
+ .../icons/48x48/chip.png                      | Bin 15120 -> 551 bytes
+ .../icons/48x48/folder.png                    | Bin 542 -> 594 bytes
+ .../icons/48x48/plus.png                      | Bin 339 -> 297 bytes
+ .../icons/48x48/sd_card.png                   | Bin 676 -> 679 bytes
+ .../icons/48x48/star.png                      | Bin 725 -> 1055 bytes
+ 30 files changed, 37 insertions(+), 26 deletions(-)
+
+diff --git a/dist/license.md b/dist/license.md
+index 7bdebfec1fccdf97a4cf24a1eddd94638d510d8b..745256c32947aeb5d77bae10bc3cce666542967e 100644
+--- a/dist/license.md
++++ b/dist/license.md
+@@ -2,34 +2,45 @@ The icons in this folder and its subfolders have the following licenses:
+ 
+ Icon Name | License | Origin/Author
+ --- | --- | ---
+-qt_themes/default/icons/16x16/checked.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/16x16/failed.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/16x16/lock.png | CC BY-ND 3.0 | https://icons8.com
++qt_themes/default/icons/16x16/checked.png |Apache 2.0 | https://github.com/google/material-design-icons/ (modified)
++qt_themes/default/icons/16x16/failed.png | Apache 2.0 | https://github.com/google/material-design-icons/ (modified)
++qt_themes/default/icons/16x16/lock.png | Apache 2.0 | https://github.com/google/material-design-icons/
+ qt_themes/default/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
+-qt_themes/default/icons/256x256/plus_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/48x48/bad_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/48x48/plus.png | CC0 1.0 | Designed by BreadFish64 from the Citra team
+-qt_themes/default/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/default/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/qdarkstyle/icons/16x16/lock.png | CC BY-ND 3.0 | https://icons8.com
++qt_themes/default/icons/256x256/plus_folder.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/default/icons/48x48/bad_folder.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/default/icons/48x48/chip.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/default/icons/48x48/folder.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/default/icons/48x48/plus.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/default/icons/48x48/sd_card.png | CC0 1.0 | SVG Repo https://www.svgrepo.com/svg/70351/sd-card
++qt_themes/default/icons/48x48/star.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/qdarkstyle/icons/16x16/lock.png | Apache 2.0 | https://github.com/google/material-design-icons/
+ qt_themes/qdarkstyle/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
+-qt_themes/qdarkstyle/icons/256x256/plus_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/qdarkstyle/icons/48x48/bad_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/qdarkstyle/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/qdarkstyle/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
++qt_themes/qdarkstyle/icons/256x256/plus_folder.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/qdarkstyle/icons/48x48/bad_folder.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/qdarkstyle/icons/48x48/chip.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/qdarkstyle/icons/48x48/folder.png | MIT | https://github.com/tailwindlabs/heroicons
+ qt_themes/qdarkstyle/icons/48x48/plus.png | CC0 1.0 | Designed by BreadFish64 from the Citra team
+-qt_themes/qdarkstyle/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/qdarkstyle/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/16x16/lock.png | CC BY-ND 3.0 | https://icons8.com
++qt_themes/qdarkstyle/icons/48x48/sd_card.png | CC0 1.0 | SVG Repo https://www.svgrepo.com/svg/70351/sd-card
++qt_themes/qdarkstyle/icons/48x48/star.png | MIT | https://github.com/tailwindlabs/heroicons
++qt_themes/qdarkstyle/ | MIT/CC BY 4.0 | Upstream https://github.com/ColinDuquesnoy/QDarkStyleSheet
++
++qt_themes/qdarkstyle_midnight_blue/icons | See above | See the above qt_themes/qdarkstyle/icons entries
++qt_themes/qdarkstyle_midnight_blue/ | MIT/CC BY 4.0 | Upstream https://github.com/ColinDuquesnoy/QDarkStyleSheet
++
++qt_themes/colorful/icons/16x16/lock.png | MIT | https://github.com/icons8/flat-color-icons
+ qt_themes/colorful/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
+-qt_themes/colorful/icons/256x256/plus_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/bad_folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/chip.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/folder.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/plus.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/sd_card.png | CC BY-ND 3.0 | https://icons8.com
+-qt_themes/colorful/icons/48x48/star.png | CC BY-ND 3.0 | https://icons8.com
++qt_themes/colorful/icons/256x256/plus_folder.png | MIT | https://github.com/icons8/flat-color-icons (modified)
++qt_themes/colorful/icons/48x48/bad_folder.png | MIT | https://github.com/icons8/flat-color-icons (modified)
++qt_themes/colorful/icons/48x48/chip.png | MIT | https://github.com/icons8/flat-color-icons (modified)
++qt_themes/colorful/icons/48x48/folder.png | MIT | https://github.com/icons8/flat-color-icons
++qt_themes/colorful/icons/48x48/plus.png | Apache 2.0 | https://remixicon.com/ (modified)
++qt_themes/colorful/icons/48x48/sd_card.png | CC0 1.0 | https://www.svgrepo.com/svg/276818/sd-card
++qt_themes/colorful/icons/48x48/star.png | CC0 1.0 | https://www.svgrepo.com/svg/13674/star
++
++qt_themes/colorful_dark/icons/16x16/lock.png | MIT | https://github.com/icons8/flat-color-icons (modified)
++qt_themes/colorful_dark/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
++
++qt_themes/colorful_midnight_blue/icons/16x16/lock.png | MIT | https://github.com/icons8/flat-color-icons (modified)
++qt_themes/colorful_midnight_blue/icons/16x16/view-refresh.png | Apache 2.0 | https://material.io
+ 
+-<!-- TODO: Add the license of the yuzu icon -->
+\ No newline at end of file
++<!-- TODO: Add the license of the yuzu icon -->
+diff --git a/dist/qt_themes/colorful/icons/48x48/plus.png b/dist/qt_themes/colorful/icons/48x48/plus.png
+index bc2c47c91a761228dc4ebdc8df8713119d5fec3a..ff3cf889e467cfa18e1af577ceff6b3931c5290c 100644
+--- a/dist/qt_themes/colorful/icons/48x48/plus.png
++++ b/dist/qt_themes/colorful/icons/48x48/plus.png
+@@ -1,3 +1,3 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
+\ No newline at end of file
+diff --git a/dist/qt_themes/colorful/icons/48x48/sd_card.png b/dist/qt_themes/colorful/icons/48x48/sd_card.png
+index 29be71a0d4307c9653e22a31e77e43e87a907beb..5a81693cb0d95c36b65793a91628867742e27374 100644
+--- a/dist/qt_themes/colorful/icons/48x48/sd_card.png
++++ b/dist/qt_themes/colorful/icons/48x48/sd_card.png
+@@ -1,6 +1,5 @@
+ ‰PNG

+ 
+-
+-yð+J£ÓO©€;W7ºìŸ៭à üߤ‹€T€\ÊØÎ@ó¸Þdˆ1ˆ5ÈDz)ŽAä9ðàÍy˜ì§Ä÷à÷~üöÜ‘”t=1Ïžù×zsb¦U#ö»P§¡T£T£T£T£T£T£T£T£T£T£T£T£Tóÿ
+-Š-ÁåßÔyÀ¹`bS¶. ^7¼½ítbE'¨ïnsA_ÉÖ¥ïò¯¿ð÷kU%ÿ6àïתÜ?x¾ž¿¶%kÝ,à–^Þw!Зlª¼,¬®·ÜìqâùŒÌ
+-(
+\ No newline at end of file
++
++ñ¬ís»ðþáuqÑœló¢.Ä×ÑØ@ÅCC}
T‰zë%O^97ÁÛV<ÀÍô«Óq*3°)~›rMe6Ùf…\Óêí#ƒ®iU›|™ßÀZwã&\Øc
++˜N3V«œ ðÇqf ŒB‹%?§RJ‚À'ŠB„œw¹¤”ÄS’²lW/ÎŒF!~à±ÎÖë‚Õ*'Ïsö®Mœƒ…š»ÂqRƲl.5q1™ŒIÒk¡X—ç>£µAkƒ§ÚIr’!$eYP”B¤””űpuF`©5«eŽ±–<ÏK…­b92
+\ No newline at end of file
+diff --git a/dist/qt_themes/colorful/icons/48x48/star.png b/dist/qt_themes/colorful/icons/48x48/star.png
+index 43b5d52ed7cca57aec41d75670cf29cfa98e849d..5798992ed990bb95cb354bb5108cec972693e220 100644
+--- a/dist/qt_themes/colorful/icons/48x48/star.png
++++ b/dist/qt_themes/colorful/icons/48x48/star.png
+@@ -1,8 +1,7 @@
+ ‰PNG

+ 
+-
+-*üÙ	*,‚ ‰ +‚ÆÍ]AsÝÖRXKÍíEÒ´ÝٹϿëº3³3wæŽ÷Ú‡öÀ0œ;ÏsÎÿÿœÿsžç20a6a±™º7%Õ½!g‹+°zÛ§áì4<æÚÂ÷/Ä‘Ç‹#(
+-WO#¦‡ò¾ûƒÆ9¶|Ïàõ残€zÛ§‘Ë6c´
+-žI»1u⬟„;ÃÐäó–þ$ô}iØ0ßfaÞlœšÁµ€f€fƒÍDnÖ5Ci—©¶xL‰¯18úUŽ³˜ßïáÁüó8;‹ï³ô—}	¨gã« Ë®` $*ùÕc¨ZŒÂB;ÉÌöQÌ
Å˯ã˜|¤DàŠw™*U£:bxÒ™BÈã%ÔÓ¾
+-܇H7•²/ë_ŸdÂÄðÍ´Å’ûw
+-Rý•²2Gh…Þ2RãP›_¥3¹:öA›X©:»L±_&†ž@(	éðCÍȵÔ(™~C›Íô4ÒïUô?úl¾·ÞkŸZ–ô¦ùCwZ[ç;–üæm›š¸CâePvdŽ«Dƶ¶Ø8S[ð{Í©ý[mÙÁ¿GçÙâÌ•DúÀKæü% ½A1.S¨=`(]á`ê5Ï:¬5óEàüeO««m¥|Û	ZT†â©€„!µ–¬Øsn›õݶÄZ¿_D¤­ë+kð—lCºTR‰´BüPó@y`|ÿ§«K•“Øéù¯J¥Ó¡¶Î~Í°§<–Ð|Kë«>;Œ„½LÎ2c»—ÌœªuYª«ؤo—îz4‡Ä¤ËQÄž°	û?Ø¿Š•IëMu»
+\ No newline at end of file
++
++Ý›½mKÔÈ O7׈YVݲ8L¾ÐPcvðìîæXµÛÃæÕ|_ûbà,¨RÇiL¦»~‹3TTe'•ÅÄ­-w„ÉšcÇ7.2±Ø
++N—A‡UÍ°ˆ=&×s›–9¢GÓ­, FUí¸ÕÿN£ëš£ü÷ý‡¸¦Ž¬¯MwŸ6
++-qôx{]<ÆQ`ù”HóÆYëèº9鞧¶xÅž~çÔæù¥bùBs´Ú&†À`‰Øºy­ûþ¨ð}eÜîßøRÙý¬ŒDΔ¬»n^æЕJ1s/¦JLVÇÃç	儱ÎÛ‰ÓhrewIdŽ…§Î9§\µav¦ëºW ï¹ft`õ¬øƒ] «'%Í¿Ø¢¶ÍYÕsËOp ÁìΩÍóK¥òÕçÓåñx¬nÖŠ}×üƺиåâ+Á%C¹T^$>PÖšÈ[ªlÛÁ®”"‘>ëP«8 ØÈ0"Ñ9 LˆÃwºÑ»¾ZL"dÍsC55-?ÞôÀØ
++¦æ>ŒòÀ·þ0Ñw GTÖÿ9ð]@ðý/"²E
 }AVªøïDÞRÚfŸ;肨ìª>7ó;ÙÒ騒)œÜôžª~
,õÌ 8€·—Dek²p7•|½{ïCñ
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/16x16/checked.png b/dist/qt_themes/default/icons/16x16/checked.png
+index 3e017b715802d120d3c93343e374ef3566c954d3..b9e64e9e083479d3ee98f767e7db0afa918733a4 100644
+--- a/dist/qt_themes/default/icons/16x16/checked.png
++++ b/dist/qt_themes/default/icons/16x16/checked.png
+@@ -1,3 +1,4 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
++¿1{„>¬‚žÔa÷%Ƙ>ó´4ï‚Ž7_ñ§5/€žž	âªÞanól¢&s¨5}ÂhRmæ,Ø$Ê—.r±&{¡ÕŒF&€M¢ª$\‘Gi3ëD\2ìù\ÊzœÃ!4™Õ›ìG
ŽÁæi:)Ç&¹VO®A*{Û©'™¥håü=T·@ÀÞ.à¢&uó-œ¿õÏÏ9¥/¼ÂVõ´â§
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/16x16/failed.png b/dist/qt_themes/default/icons/16x16/failed.png
+index 7c4047dd0842e321cb89bd20038772bafc6300cd..1fea7d8f1591573cfac8f772d030a6fdb43fe2a8 100644
+--- a/dist/qt_themes/default/icons/16x16/failed.png
++++ b/dist/qt_themes/default/icons/16x16/failed.png
+@@ -1,8 +1,4 @@
+ ‰PNG

+ 
+-
+-¾§õ’>tÊÞkQÝîç'¸xk×[ïÿ•Ý}U^Œ0f ʾí·V@§äÖîjPa%*¹ë
+-aÅ+<úøù+Fž%¤C\õ8Gî3÷´IO›ÃNÝŒmH¸äM`é90žð?A6ÿóŒ; [žQ¸RÆf *¹ë
+-ïnë"s»Êšíþ~åçîž
+-+w´ï9õà%$_Àö[«¯€ëÑ>®Dem`îS9„KÞ„š¸*b@§Ù… XÆüHëÿ
+-2-ø
+\ No newline at end of file
++
++J¿û<W(
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/16x16/lock.png b/dist/qt_themes/default/icons/16x16/lock.png
+index 496b58078983bc3c4f7dc2808fd02b8deb8b7b67..69d399050804cfa45e00850d4330a5b7cfaa3a43 100644
+--- a/dist/qt_themes/default/icons/16x16/lock.png
++++ b/dist/qt_themes/default/icons/16x16/lock.png
+@@ -1,7 +1,6 @@
+ ‰PNG

+ 
+-
+-
+-Àà
+-[ŒÄ_㡽ïpÐþ·8+ÈàÈ÷¯-ø7xB\àeßqOiäWì`‰;ÜbÓ)3jÎq„혂¨ˆsÉ/N¤Ÿà1}è$c2L±Uq½O‰l>¿Tó&3º
+-ú
+\ No newline at end of file
++
++1E£ˆx[Ak±¶ÒSÀsXÙyÁÞSØÙÛªØÛÚ¨þ—Œ…$«û3f!ŒË0‘Wù6ÉÔ~¢/ïò(ç&™wµ¬%Í]
++©qW¡iߘ¡ä7
++©qW!5 -_!V Æ]–•|ÊïÃ备^Oþð¹÷§<S9–Š`ú2Ä"ôÐëI½ALÏÌRÀâœÍì•ŒdË$')
ØÊINRÀæ-Lr’ºGü‹“Œ¦$½žx‘r&‹ë*Xé¼8çÜ`Þ9e¢‹Ô
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/256x256/plus_folder.png b/dist/qt_themes/default/icons/256x256/plus_folder.png
+index ae4afccc768e0a2163b23d5c457a821ef536dd73..3a49669a3ae3f0ea46ebd5ddd0e51f2b31b37d47 100644
+--- a/dist/qt_themes/default/icons/256x256/plus_folder.png
++++ b/dist/qt_themes/default/icons/256x256/plus_folder.png
+@@ -1,12 +1,18 @@
+ ‰PNG

+ 
+-
+-Á±Çç[Àl
+-èxXÌ+àÍrt°øãtYQ‡æ§B@Òî{8£€~?ñSeE…J
+-«
+-aÉçõÄ¿Í»YÛNØ÷Gÿ#f¯Ÿ¸ûÎ
+-Þ=D?	¸«àj;aº§)÷óìªl˜ðþ><FX
h
+-Þ¨¤ôÖó!L†ð×ùêtõHê¢kG‹;]¥ŸA8|œ•¢"I]ñ?ÂJÑ[`çóŒÍÀoRT$©k®`Çà‡]?§ŸNXçý.$©;ÖîÕyçÉMc¯4
+-<Ðê…íÞpp/p"á~Iåµ–ps_ËÁÝqôð!à“(JRñ~OX8tU»ßÐé-‡[žO8Ì”ÞFà«Àt¸Ìÿd/ì=D¸£¨8½“ìGÒä
Ö
+-<•6ùÇŠ±fß<àRà<Â"IÅÚJ¸}ÿ'„åü&-æ¢}À—€³€ã="ö-åîMà¯Àïën‹ÑiQ«ööŸ‡V™OX2\Rs„«ùkKwßÜG¤A?Z·—íž
+-ÌÆ Æ3HX°ÃÙ·’$I’$I’$I’$I’Ú÷ñ?t¸EZ
+\ No newline at end of file
++
++Љݕï+(¡/(i'(*@tk*Ë”•Ð—‘t“»”7(@Þg?D¹]	}I÷ù·²µ4jGå*%ô¥#ý
++E
++µ
++
++
++
++
++@zÜlÿH9Û(¿æ(»è!
++@zfôýÞ¿æ—ÊY¤‚–…Jp¸†¸ûªMÊY¤€o 1?S¿ṽ–Q
++@Z¶¬¦1ù´ AHK×ðϯ¦H
++]ª,*–Ð&¯s¯{Z# 
++@=7USôŸI
€z~[MÑWSPÏÏŽô‡?‹óÊYƒPœU΢üYp\¦
++@}Ç*•³èÐã
++÷eÔD¨Ïq+gѡÕ{ËY‹0šsþútÇëžþ
++@3&º­¾¹XBL^ÇÝ®cD€æ\­ì¤,S®P^PÐ¯K¯S¯[¯c¯k4À=Ûx\€ã‹¥¸rÔÁUî¬,V|£Ê|%¶ƒ•-ÊÙhîV~ZÎFõ„²R¹Cù‹ò°’÷Û›{Rb`„\¦„Ö}“ñ{ ¾Ðºo:äŒ
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/bad_folder.png b/dist/qt_themes/default/icons/48x48/bad_folder.png
+index 2527c1318575236c92c8111413bcdf1caeacbd27..364ec646f6f1c6b5b632fb68efd2602aa2c87f25 100644
+--- a/dist/qt_themes/default/icons/48x48/bad_folder.png
++++ b/dist/qt_themes/default/icons/48x48/bad_folder.png
+@@ -1,8 +1,7 @@
+ ‰PNG

+ 
+-
+-V)éC¥5"*­>´îf+”VÛMÒìÎéÃììN¦»ÉÌlœQØ?vÎ=÷þÿù¸÷rïBM4qùqà~ h[ ·\
+-ˆMQ£) j4DxÔ
+-bšº`Ë—e-ÅâNWÛgÀ‘ÐäÓÉÇÞ ù[òéÔWóÖPsÙ¡µíªâžq+ˆÇsƒ©€`®¬³×3Ñw°Î3lL„³Õ¶íÀŠºq‘Êx?ÿF­¬Ë¦“O&¾8v Ò”¨~ Ý
+-ëÉøÅ(ÖI'
+-œ×ê÷®÷’§"Ã6ᱶ­—cAæ‡À·`MZïZqhñ˜ÛŠõÏ€69ÜëF–­èôZÄ¿…5gmÕß Ž\¨5€ß­l2X*™»Dä¶FkÕ‚ÀiQ^¾¥,}“»Ë-Ô
+\ No newline at end of file
++
++\§±Úwêƒ2¨."¡/Á”¶Ú7삲dªò*4OºÐm$uÃvxßÌÔ²ªØ
++¯QbŽÀõx(M<WšYúЉ´Î7³)^Á%PöCDë²	šh^C{;«ºO6òž‡)d¦€J#íîp‡ÿ0Åbµ,_ÄÒJ±òFZëçy¼ž'œqübìÅ´N¼­åLx¼½èžÕ"¼z<Ï{L$ÊQZ@xs°C«G¤I0Õ¶6V‰T)j@,ÖWü©1^Ë}b:äyy'°TŽ²"!ÿj,èú‰*¿ùøeÙí/¿‰¯â]юƆx¬%`BfšÁÎ LÜáÑ 3ƒégÍm¢¤€h¨i;gš_¤3õúh{ q”” ]Àû`ÐÇ
~R¤	¬¿rÊ/Î5£Ÿö©4ÒøŠb=c•"MPik®‹n
++Ð ®‰¯`ÛÂâ])Aª€È–ÆEø§9¾ˆëÆsÃàÏ(Ž¯š‚s­÷s[°L¤RÈ	½}¢DdéP<©O±®‡üK1p÷‹t˜mèRâ¢Hàè3Dâ÷G€ë§ñê‰'© ñÃzÊv£ˆ·bµìËN‰Ø5]ˆ·Š`˜v‡C½áŽ¦}ØÎ>À§àZ›ˆ\ã¾
++Ý+kàh­ì7¤g/ôHä_CmØi¼YÛHmNÞo@ë›sÁ0	]tA§
³Qjk-La7´w¥l”Úh>Vt¢A§³Az:·&qš¿éÑõ:HV@·ò©‚þøïÂ;þËÈ‘#Çÿ¦ý[&<!ä\(
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/chip.png b/dist/qt_themes/default/icons/48x48/chip.png
+index 3efdf301eb52a587f18b7d2f94d6ea64773a0231..1b573d51af66864f03a7e20179d3ea4d5f36a012 100644
+--- a/dist/qt_themes/default/icons/48x48/chip.png
++++ b/dist/qt_themes/default/icons/48x48/chip.png
+@@ -1,163 +1,6 @@
+ ‰PNG

+ 
+-
+-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01        ">
+-   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+-      <rdf:Description rdf:about=""
+-            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+-            xmlns:dc="http://purl.org/dc/elements/1.1/"
+-            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
+-            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+-            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+-            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
+-            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+-         <xmp:CreatorTool>Adobe Photoshop CC 2017 (Windows)</xmp:CreatorTool>
+-         <xmp:CreateDate>2018-07-25T20:26:27+08:00</xmp:CreateDate>
+-         <xmp:ModifyDate>2018-07-25T20:30:37+08:00</xmp:ModifyDate>
+-         <xmp:MetadataDate>2018-07-25T20:30:37+08:00</xmp:MetadataDate>
+-         <dc:format>image/png</dc:format>
+-         <photoshop:ColorMode>3</photoshop:ColorMode>
+-         <xmpMM:InstanceID>xmp.iid:a03a1ab2-4145-5444-bda5-17fcd23a669a</xmpMM:InstanceID>
+-         <xmpMM:DocumentID>xmp.did:a03a1ab2-4145-5444-bda5-17fcd23a669a</xmpMM:DocumentID>
+-         <xmpMM:OriginalDocumentID>xmp.did:a03a1ab2-4145-5444-bda5-17fcd23a669a</xmpMM:OriginalDocumentID>
+-         <xmpMM:History>
+-            <rdf:Seq>
+-               <rdf:li rdf:parseType="Resource">
+-                  <stEvt:action>created</stEvt:action>
+-                  <stEvt:instanceID>xmp.iid:a03a1ab2-4145-5444-bda5-17fcd23a669a</stEvt:instanceID>
+-                  <stEvt:when>2018-07-25T20:26:27+08:00</stEvt:when>
+-                  <stEvt:softwareAgent>Adobe Photoshop CC 2017 (Windows)</stEvt:softwareAgent>
+-               </rdf:li>
+-            </rdf:Seq>
+-         </xmpMM:History>
+-         <tiff:Orientation>1</tiff:Orientation>
+-         <tiff:XResolution>960000/10000</tiff:XResolution>
+-         <tiff:YResolution>960000/10000</tiff:YResolution>
+-         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+-         <exif:ColorSpace>65535</exif:ColorSpace>
+-         <exif:PixelXDimension>48</exif:PixelXDimension>
+-         <exif:PixelYDimension>48</exif:PixelYDimension>
+-      </rdf:Description>
+-   </rdf:RDF>
+-</x:xmpmeta>
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                            
+-<?xpacket end="w"?>ÊÒô6
+\ No newline at end of file
++
++Ñ^€f_M†©¨ck"Ç$ã7£EgdYjù«™L¦+s`[Û<‚t6À¾¶MÿVŠ®êD41µþ­Lº,þh
++(€;`
Tü¶dï1—¬€p¦È+ˆ+à= 9+û¬÷4aÒsò½aóŒrŸ ùÆn-
++X‹ ÏÀ¥E`Áð(öZYÞ‰ S‹ J±×·oAH™ÎmëýFy4ZÅ5·}þ¡ª…´þGZ%ä òù·Ù)-¤ò·h¡Y¢µN|-!é:ëCãl!‹)¤R¦ñF9…E. 5¹€ÔŒ²
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/folder.png b/dist/qt_themes/default/icons/48x48/folder.png
+index 2e67d8b38fe9219a9bee674472f6a1356cae3698..507337fae59964244795a3b0bc528e07de52df3e 100644
+--- a/dist/qt_themes/default/icons/48x48/folder.png
++++ b/dist/qt_themes/default/icons/48x48/folder.png
+@@ -1,4 +1,6 @@
+ ‰PNG

+ 
+-
+--¢‹Uë`‚i@°š6	|/|CNþð<眄p"‘e®°`KhýâüÎñT™mÜ`4a½ ‡…*á÷þ
+\ No newline at end of file
++
++â%>ƒÏà¨u
++:¡$|-¡R¨Pz—ãùí­³;FávïfWæIžìÌÝìÝÿw7w›)x<ž|S£4à4Žb'6b%œá>½1…Wø‘’'ØŒ5aßÑVHkb_ÐV@V=Ä!ÚÞ8M«¢Í©ó€¨ô_Q‘*6úzI|ÅkÜÆaüÁš'­cÒñe·0öÁ΢9p“R­rƒK@}¨‰%EÓpOƒ^º,â’J1‡»êDÐ7°Wj&¦	×p(èý]HG°5è}sŽ=j(€ùé±,¡?š4ëì¶MŸ,r‡›¥fŒÜ·á1JKžXñ\ã¸ÆpàÀ5>€k|
++…O{pƒ.Ó­ó
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/plus.png b/dist/qt_themes/default/icons/48x48/plus.png
+index dbc74687b177ea85ffa48be3864db8a49bed76cb..ba7b62aaf7e681348c0780f96f929425bb75f4c0 100644
+--- a/dist/qt_themes/default/icons/48x48/plus.png
++++ b/dist/qt_themes/default/icons/48x48/plus.png
+@@ -1,3 +1,3 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/sd_card.png b/dist/qt_themes/default/icons/48x48/sd_card.png
+index edacaeeb5629c5cf4a86d24eb35a4d37c45bfa77..8a8682133a1da5bcffa2612334db7badf4c5a6a4 100644
+--- a/dist/qt_themes/default/icons/48x48/sd_card.png
++++ b/dist/qt_themes/default/icons/48x48/sd_card.png
+@@ -1,6 +1,5 @@
+ ‰PNG

+ 
+-
+-¯ý\1>\ÆšžûÌ?UþGÎF=¼Œ®½Zè#½­?¬½+‘¾Œù06·g„ùî´9=¢oRŠ…aZ¸«Ú¤¦4凸†óÍyÙªœ±óÀL=U®èÝ®UœêÞ|Õ¦U¡/Ç_ñ"8ÿ؜ݣ­·t=Š~»Uèß°QÔg½í#¨Ÿ…þ=Ò·±iÝ1Û‘¾x‰—éÊ;P‡ý´Y ï+*d¦¢wNoãɨ}`êÉRSç8ŠKÁùBC^v•pš¦*­BÿüÊR“¤&HMš 59@jr€Ôä
+-°Þ°‘q)½\©
+-ð¤a#ãRÛ×q½·+ÓRïøÔ`¦(Ä:Nþ‰ù.ó¸c'ý¤¿PÙÄÜÄá*ƒ¿¾3íiS
+\ No newline at end of file
++
++ÑKT*!Qqß·JDN¡ñ$áP¨t$3’±vìÎÞíÎJæ—LvîÙ™Íÿ¿;Ïs“òÈËÀð|&Ѐù2uR'$Úß>€þ Õ1Å×ÀxÌù¦T#A7jb<¬Ø&”ØP’ýV`MöÀ­2nhö€3%¾´Eùìo€nÙoŒ¡õ9àˆßŸx@Ó©Ä}ó_d|Ñ¿’ñ‚/~¢<k=HÉò€m`Ò`NâD5à»Àt‚ZbÅÀ÷›ÏœxOâÄ›Ÿ’¿Ùofe¿	h–ý¼2_ƒ¨&
++¥Ò<Fqi‹(Êú;O]4 ö%]Àpzr*‡®ŒþËÈ4Y7º|³n`QKÀRЀ8§iÓ!¯-A7³þBqlãØÆ°3`gÀ6΀mœÛ8¶ql£3𖪊hjÒ("–²Â'pj:i¸ÇþéÜ=0§ù¹	ÌŒ€
+\ No newline at end of file
+diff --git a/dist/qt_themes/default/icons/48x48/star.png b/dist/qt_themes/default/icons/48x48/star.png
+index 740f7f3e75da9160a8db6a1941b159509a7ab8ee..c2b78f0c3e543913b18d4f95956109c7d2646ba8 100644
+--- a/dist/qt_themes/default/icons/48x48/star.png
++++ b/dist/qt_themes/default/icons/48x48/star.png
+@@ -1,8 +1,4 @@
+ ‰PNG

+ 
+-
+-¢Pj5"QÑI<¢×4:•
+-ñ¨$’]Ö#	»–âܳ™¹÷š³wVæŸ|ÅdæûÎÿ»÷ÌœsîЦM›˜%1/éÁ·$zb
²0VaœF%‰SljBFñ;‰è.Õ('Çý•OãX©F9yjfϱ L©¬0S>ý%zeæÚ
Ü/Ñ+›0©v“Ø\š]®«-ŸÆµÒì°
+-?4n`½Í´™ÙÙ~ë»´àÂÖ-,V®~Ÿ°¸wÌëÁzlÃáêïΑ¿k°}Âø%LÁ\̶°$Åû“âk…9ÛÕÉ{±¶cx'lCÞ
+-wuï“×ïð¦^²Oƒ²âbµðô/ñáV¶2#>pß•¥§ÇOa‹ž‰]øÜÒÕkÇѬò)1Üò_°7¯|Êj<+Q~[ŠÊ§,Ç£ä_aݿʧtáöÊ?ÆÊfɧtàêÈßÁ’fËWs.¢ü-,Š)Ÿr9‚ü
ÎÌE·Ó•‚yõÉEÑvÌ«ÇŽ5g¥",ëÍžB
+-œŠÜ!ÅÏõèÄÖ¼IEˆy«sמ÷
!æïulù¾2ïq'ñ1cΤ[ˆjŽd˜À,«Ê«à¼°¯o”(fÎÌw…§µL>S¯ÆùHîàaA_á`Ž:ûð²F­{MôÂátT=ØgœUl]èLr¿ÎR3ÊÿƒUƒŒã’©ó¼(½¸)<
Ië4¡îVà‰p°Ù¡þváä7,ò/Q›6ÿ
+\ No newline at end of file
++
++_¸‘Éö‹z”%4ãGMÓt¯‹€ØP/û|b‹ºûÄõ	Îz#N=Ð%ÄZ]b²P)¯õÛ1œÒ}­‚³Ë¸kù8;òšp)*ýöÊå_
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/16x16/lock.png b/dist/qt_themes/qdarkstyle/icons/16x16/lock.png
+index c750a39e855800fe4cde217a1bf28f841030e501..7e63927b2c047718f80ec29512472f1a2d9d357e 100644
+--- a/dist/qt_themes/qdarkstyle/icons/16x16/lock.png
++++ b/dist/qt_themes/qdarkstyle/icons/16x16/lock.png
+@@ -1,3 +1,5 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
++Â0†ñ®BÅÙ©žBð
++7÷®UÜ]»¨Küÿæ·XLª~ð‘÷^^mˆ	áœKá¾`œj»4&°‚\IƬ%j‹ƒ¦\Í#•X©–«ÔÐÓúÎÖÚ«OQ\@îµ
À‡[°Æ½0ø¼Þá7ؓ阱Z9à†åu!ÎÎñ[CŸŠz¶s¥QØÃF¥Á;h@ߘ*
€ƒ|8'ª8H×Ì`_2Ò5`·’qè
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png b/dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png
+index 303f9a321890fc4c2054e2cff498adf23f654b70..002101114d150e304765a3466be9bf267ae96382 100644
+--- a/dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png
++++ b/dist/qt_themes/qdarkstyle/icons/256x256/plus_folder.png
+@@ -1,17 +1,47 @@
+ ‰PNG

+ 
+-
+-,–ŒbîýØ
+-lv
+- 3.|¼©©q'Üà_€k»""ç‘^a¯ 3WWg41^‡=
+-üðn¨´y@füð;@¯ñDõ¸ø`D¬+DõšWdæ)ÀuÀÑíÄ©ÎÀG"âªÒAT§¡ 3ø,“ÿöÝ8ºøpD¼\:ˆê2Tdæ•À_ûz-È­ÀoFÄöÒAT9tf~„þâWûþxgDì,Du˜µ
+-3@fžÜ
+-
cMfî_:„º¥78ñç´ÒA4§ex÷%5¬ü4p`é ÊêÒÔ-=ü­2IüY©Q=àøÒ!4´JP·ô€•¥Chh¯¼e+5¢‡7øœ$?/5¨T:„æåàÒÔ=|`ÒøóRc"3}:ÍdÙ
+-xý;ÉÞà/
+-Y
+-\Ÿ™gΡ!Y
+-Ì?1,€ÈÌ·—g
+-ÀcX
+-E:„þóîÇÑÊœHõýó7î§_Ö×GÄ–9Æž°@qpOé™ùãû¤Û?Œˆ—¡™¹ UÌ*fH³
+-EHàïÕ±£PÍ“Ð!±Xüp/ýEÙ¶gNŠˆDÄÎÌ©†,*@Í,À«€«2óàà ¦z‘þâ¿?"<ãoBY
+-©ó2óà̼¾¥µù@/"øZKÿï6dæ%™ùš–æ:%3—gæ‡
À¹-Ms;@&<øzKí¶‹þ}êf¼Ÿg7É’þ÷÷`ý»mˆZ™,ó`úû¥oŽV¶1W%ÞüíŸU»:"îÜ]
+\ No newline at end of file
++
++…Ο/Ž	$n¸ƒ€G(Ÿ“ÈE aƒîèÉö	>+›
++Ca$•F
++#ÁH ËG
++@fâî€Gô«QÀ!qzP€qL +—«ø¸À (
++ð%ÿ 
++
++Xé¼
++
++@âÔ™ýjÿ]M>¥\ªì§v;8/ó×ü=Oùgü³þÒEH˜:°¯‡rR|øc„ü½þ™;âc Q€D©ãn®æ.ebA9þÙÅz¬	a©¡
++@Z¶ˆm•ü¶ AHKçð‹-@HKÏ'ÛLBx2ŒQ
++^·ó½®½ÎÃ"´ƒÐ&mˆ¾#ï}ŠïÍzx]ß×=Ú@hC|Z¨L( N^ç	´‡О_(tþîñº÷s€’(
++@9뎃ç¤
++@9oŽãÍØ¢€rþ[ôŽçb‹P
++@‡hƒ¼GÍöÊe‘ò®‚Îðºô:õºÝ>®kt€ob1Gí™a¶:zÒ²º©ƒÖ«/V¹£2QñUÆ)Uûª²y˜¬ÌSÊÕa²R¯)Ë”G•´ù¼è…¹Ðöã½Tí,
++@Bô\úæUßè=•ûÄiT¤®À.
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++@ZÞŒm•Þˆ-@HËK±­Ò˱E(
++@ZîUž
“•ðcûw €„4
ßGn˜«ÄÜø;
++@z.Qž“åWÿ*‹º€½B¿¦æëÊ{Å‚Îðc}Mýj˜E*(
++@ââÐ}²r†2’·ý=þÞÉñg‘°F³Ù<Síœ0[mL8‰.Ñs=FÍîÊžÊTeCÅ^PþªøD¢{õTñV_—é¹jÆÉ*Íq8Eç†ùJ}@$VC}r5¯‡¹Jì]€ºÞÚÙ$¶
++ÞV¶VøG˜
¼í¦oð.Àea@".^µóÛ€€iPç‡
++@ï;U}vD'ô
{`UÍfó"5Ç…9
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png b/dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png
+index 4a9709623476fcf4070c4e3da2bb17375222082e..245f96c7ba65c9a792abc01a1b76c39accd3ee5e 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/bad_folder.png
+@@ -1,8 +1,7 @@
+ ‰PNG

+ 
+-
+-˜¦%Í­½0³GÍ,n¥³df‡Í¬1Hó£e÷ó™5a¾·
+-æ=àXœ³ÿ• ³ŠzMÀíUÔ+ˆÌÌÅ·Uȯdv§j³
+-ÀÌvïáÝ\•ÇÛ’r©ø@ç^¤Å4
+-ÎÚòù./¦Ï¤!@Ò‡@0Næ
|9ü’!­u"þ×l®Ì~Š2 ³ƒ¹mTÒ$0™}MÚR¬Hæ´Àâ™GõW”¡S
+-sÿ»Hš~¯TÙq4N»$]W©ÖJNÉxþ_1î{^G
+\ No newline at end of file
++
++Q³ ºøR$Foù%EÝ^“^ëQëÉ¢ëC=™Qi±»¥A‘Ùnë|ýÏÌY÷¢Â:óm®°?ø{Îùö›ùΙù曋Jš4i–6*Û„™0» 7TeAfx]VUuÊÿH~'4Éâ”Ç»O.è ¢Q%“ü"0ÀF(@£%‰äßчI.É);]	ÅOI¨¢zA`›<ˆ’•EúõC[x˜hÜÅÓË?›ÛË."Œ]‡f¬
rn#lM¥s¦z¨7ȃ–ýãÐM¡ß¨
++–
++ðí­^…=̵Æç	›6¬iâ%ùFS!”ž¯
îB-aím½˜-„üiÛôö-aº
++¥*ôun;§«3kýFút½¢ŽÅÙòÉ"}îC÷pä—Â,I“&Mb(Ê?µR{"!
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/chip.png b/dist/qt_themes/qdarkstyle/icons/48x48/chip.png
+index 973fabd052e389c28ef36c482cf44d764795a3b4..db0cadac1338a971b7b890c33f5920580c1013a5 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/chip.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/chip.png
+@@ -1,165 +1,5 @@
+ ‰PNG

+ 
+-
+-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01        ">
+-   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+-      <rdf:Description rdf:about=""
+-            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+-            xmlns:dc="http://purl.org/dc/elements/1.1/"
+-            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
+-            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+-            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+-            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
+-            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+-         <xmp:CreatorTool>Adobe Photoshop CC 2017 (Windows)</xmp:CreatorTool>
+-         <xmp:CreateDate>2018-07-25T21:37:27+08:00</xmp:CreateDate>
+-         <xmp:ModifyDate>2018-07-25T21:38:09+08:00</xmp:ModifyDate>
+-         <xmp:MetadataDate>2018-07-25T21:38:09+08:00</xmp:MetadataDate>
+-         <dc:format>image/png</dc:format>
+-         <photoshop:ColorMode>3</photoshop:ColorMode>
+-         <xmpMM:InstanceID>xmp.iid:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:InstanceID>
+-         <xmpMM:DocumentID>xmp.did:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:DocumentID>
+-         <xmpMM:OriginalDocumentID>xmp.did:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:OriginalDocumentID>
+-         <xmpMM:History>
+-            <rdf:Seq>
+-               <rdf:li rdf:parseType="Resource">
+-                  <stEvt:action>created</stEvt:action>
+-                  <stEvt:instanceID>xmp.iid:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</stEvt:instanceID>
+-                  <stEvt:when>2018-07-25T21:37:27+08:00</stEvt:when>
+-                  <stEvt:softwareAgent>Adobe Photoshop CC 2017 (Windows)</stEvt:softwareAgent>
+-               </rdf:li>
+-            </rdf:Seq>
+-         </xmpMM:History>
+-         <tiff:Orientation>1</tiff:Orientation>
+-         <tiff:XResolution>960000/10000</tiff:XResolution>
+-         <tiff:YResolution>960000/10000</tiff:YResolution>
+-         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+-         <exif:ColorSpace>65535</exif:ColorSpace>
+-         <exif:PixelXDimension>48</exif:PixelXDimension>
+-         <exif:PixelYDimension>48</exif:PixelYDimension>
+-      </rdf:Description>
+-   </rdf:RDF>
+-</x:xmpmeta>
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                            
+-<?xpacket end="w"?>Ú(
+-4€pÓæ$õù‹ç’v'! ©hÉÀ¼´¸wËâZÀ>‹;%ÀB(cÎ@+ŽÈ†Å5nEÿbÌâÎ9ý.EÛÕ@
ÀèŽ#ò­Å½qÚ.[’jV»ÓŽI(
+-PFRøqIã)æG€º¤J‡v{Y` ‰èüf§Uà{ñ¸´Y$Õ¬èw¦ÿrð[Òp&}À³`ìNóÌWå`BÒ¯>O'õ"

+\ No newline at end of file
++
++¹ÔäRsy
àé…jÆ7 Wë…*›Dá7nñ®ÇO½…1æ¾ü…ÆZ$+":^èXïTëm|ãóYjÚ4°._áD¢¤mf9êÛ40³®ÇD8™
++/º„°M+ö
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/folder.png b/dist/qt_themes/qdarkstyle/icons/48x48/folder.png
+index 0f1e987d6aa24b1d2f26d40181ec05b62c5862da..11a76b5c1256ade016d4e22cf048656cb0788ad3 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/folder.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/folder.png
+@@ -1,3 +1,5 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
++îô ù|Æ°¸Â´Þ}´°ÐþȪ!}ÃOY-"¢
ÁÎÏÕ2ÑMvÚ‡µ§NWQ>Ð-ÁkÒ(͆žà!Nêeª°qkÙÕ‚ׇ¢L°r`Û°Çú¸×5\:ó”%¼VÂC.ûÛxDõ ÄZJº&ÂB×dà$C=–‰‡8Ñã?Áþ;);8®6´Ž|‘Na·šUy Ç!Y ƒµH¨Ø@?r¡yTùltúÄŽtŽ²ïÎ|$#€æMW/]I
++ÐÀ46€il
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/plus.png b/dist/qt_themes/qdarkstyle/icons/48x48/plus.png
+index 16cc8b4f44d52009d4a3f4c9d46f5bb0e20babcf..6af929bf66b9d82cd43aa2db19fb0db05c89b8af 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/plus.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/plus.png
+@@ -1,4 +1,4 @@
+ ‰PNG

+ 
+-
+-×¾V+ÀµpmŸ8úoV³y
+\ No newline at end of file
++
++ƒ0EÑ™n£]’éÂÛxý¨Ð¢Ta|(÷€ I®ø‘`
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png b/dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png
+index 0291c6542d05a40a350bb5bdbd99a15c01467161..42b9f27738d95d742b4e8380c6450e639630e049 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/sd_card.png
+@@ -1,7 +1,5 @@
+ ‰PNG

+ 
+-
+-‚x…AM¡Áþˆ¾·á&³»¹quw™vßÛÛ}Þ¹]¸=¨€¤®¤ç’6T›’ÞJº'éXÏ"ñ–¤[’~Õ(^Äš¤³+ß–´Ð°¸Ëª¤IßËå;ÀÐuâgÀûly˜>‹Î63À4°ô|ø<r²À,°¼vò‹@'[ž7³Û!ÎÛä%=-8#¼m$é¥÷ÙY~ÅË’ú^Ö˶íyyß9æcßoßù6Ã3.¼r­ñƒÒ’ZÀ¶O›Øä¦üN#p¸TŸË¿¡°€¤óÀ|Ã.•(댆k	8ã¼6àL«$Ÿu–×ÍìÅÖŠ¤õ*ý…÷IF×ÞE3ë:ïÝzÀà‡³Ÿ)à'°îìê
+-ðÙÉÚÙ17Þ#¶˜d4S–Íì´ëZ6!*È&€ÃùÁìåb%Ûv¼±ìxؤ±	ù—tÍYŸ©K¦
+-!W¡ÝDî*´ç§P*›T 6©@lRؤ±Ib“
+-Ä&ˆM*›T 6©@lþÛjÔ"œœWY5‹T%÷p¥¬À“šEª’ó*ûmô$°ÂðéÊna8efîSâ0³WÀUàkb!¬—}ù±Hš–t_Ò;5ÿ•MIo$Ý‘t´Ìñ7'÷žþªu
+\ No newline at end of file
++
++8\hUQ$¡Xö÷À\ §üoÛqtÝ@áãÛuë’ö$íJºíkˆþ+‘€cözÔWìú
++ÒHMo 5½ÔôRÓHMo 5½ÔôRÓHMÈÀ¯VU”ë)d`›ìïtWðÖWð0Æ|n
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle/icons/48x48/star.png b/dist/qt_themes/qdarkstyle/icons/48x48/star.png
+index 90d423a1d4c1e05ccec0a01fa34abca9fe99676d..546779e2a810e73169f65a79850aa07dffd70267 100644
+--- a/dist/qt_themes/qdarkstyle/icons/48x48/star.png
++++ b/dist/qt_themes/qdarkstyle/icons/48x48/star.png
+@@ -1,4 +1,8 @@
+ ‰PNG

+ 
+-
+-pÐK¼ebð*ñãÀÎe‰·L€G+(þ5°)ˆxËDpoÄ?ÖßdäFDñ¯ã«‰ÛÄßÇ£gö=N=ãÒ˜7Æàäkà¨g\G|‚œ§(Jš•ÔãS0…_’Öcæ\‚|f ¬ðâ%©WÒ!× ^S+w×@`â
+\ No newline at end of file
++
++œ‹Ñlæ—KXœ!lx4?‡èV<À…Ll
++âßÀæ·à~ï
++À¦¬üHðÐ!Ò,Igˆå]Ft•Áj5¤3”'Vvê½~9œ·r˜<—m¢GÄ7¸ôž«´U&„J¶ÓTùCÞ§p§¢’Ö¨rÅSÈÑ7ߣ&žèÄ\øô¬[”à«„Øz`©}êâ^)Ζ|ÜÅÎ+±CŽ˜`;
++Àn ÆHqžÏËü@¢‡F3–â™ €ñªÏ\S
++½[ôN`'yþô&Ã<r³É8ïjûЇ>üÇø€üÀ¸Š6Õ
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png
+index c750a39e855800fe4cde217a1bf28f841030e501..7e63927b2c047718f80ec29512472f1a2d9d357e 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/16x16/lock.png
+@@ -1,3 +1,5 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
++Â0†ñ®BÅÙ©žBð
++7÷®UÜ]»¨Küÿæ·XLª~ð‘÷^^mˆ	áœKá¾`œj»4&°‚\IƬ%j‹ƒ¦\Í#•X©–«ÔÐÓúÎÖÚ«OQ\@îµ
À‡[°Æ½0ø¼Þá7ؓ阱Z9à†åu!ÎÎñ[CŸŠz¶s¥QØÃF¥Á;h@ߘ*
€ƒ|8'ª8H×Ì`_2Ò5`·’qè
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png
+index 303f9a321890fc4c2054e2cff498adf23f654b70..002101114d150e304765a3466be9bf267ae96382 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/256x256/plus_folder.png
+@@ -1,17 +1,47 @@
+ ‰PNG

+ 
+-
+-,–ŒbîýØ
+-lv
+- 3.|¼©©q'Üà_€k»""ç‘^a¯ 3WWg41^‡=
+-üðn¨´y@füð;@¯ñDõ¸ø`D¬+DõšWdæ)ÀuÀÑíÄ©ÎÀG"âªÒAT§¡ 3ø,“ÿöÝ8ºøpD¼\:ˆê2Tdæ•À_ûz-È­ÀoFÄöÒAT9tf~„þâWûþxgDì,Du˜µ
+-3@fžÜ
+-
cMfî_:„º¥78ñç´ÒA4§ex÷%5¬ü4p`é ÊêÒÔ-=ü­2IüY©Q=àøÒ!4´JP·ô€•¥Chh¯¼e+5¢‡7øœ$?/5¨T:„æåàÒÔ=|`ÒøóRc"3}:ÍdÙ
+-xý;ÉÞà/
+-Y
+-\Ÿ™gΡ!Y
+-Ì?1,€ÈÌ·—g
+-ÀcX
+-E:„þóîÇÑÊœHõýó7î§_Ö×GÄ–9Æž°@qpOé™ùãû¤Û?Œˆ—¡™¹ UÌ*fH³
+-EHàïÕ±£PÍ“Ð!±Xüp/ýEÙ¶gNŠˆDÄÎÌ©†,*@Í,À«€«2óàà ¦z‘þâ¿?"<ãoBY
+-©ó2óà̼¾¥µù@/"øZKÿï6dæ%™ùš–æ:%3—gæ‡
À¹-Ms;@&<øzKí¶‹þ}êf¼Ÿg7É’þ÷÷`ý»mˆZ™,ó`úû¥oŽV¶1W%ÞüíŸU»:"îÜ]
+\ No newline at end of file
++
++…Ο/Ž	$n¸ƒ€G(Ÿ“ÈE aƒîèÉö	>+›
++Ca$•F
++#ÁH ËG
++@fâî€Gô«QÀ!qzP€qL +—«ø¸À (
++ð%ÿ 
++
++Xé¼
++
++@âÔ™ýjÿ]M>¥\ªì§v;8/ó×ü=Oùgü³þÒEH˜:°¯‡rR|øc„ü½þ™;âc Q€D©ãn®æ.ebA9þÙÅz¬	a©¡
++@Z¶ˆm•ü¶ AHKçð‹-@HKÏ'ÛLBx2ŒQ
++^·ó½®½ÎÃ"´ƒÐ&mˆ¾#ï}ŠïÍzx]ß×=Ú@hC|Z¨L( N^ç	´‡О_(tþîñº÷s€’(
++@9뎃ç¤
++@9oŽãÍØ¢€rþ[ôŽçb‹P
++@‡hƒ¼GÍöÊe‘ò®‚Îðºô:õºÝ>®kt€ob1Gí™a¶:zÒ²º©ƒÖ«/V¹£2QñUÆ)Uûª²y˜¬ÌSÊÕa²R¯)Ë”G•´ù¼è…¹Ðöã½Tí,
++@Bô\úæUßè=•ûÄiT¤®À.
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++
++@ZÞŒm•Þˆ-@HËK±­Ò˱E(
++@ZîUž
“•ðcûw €„4
ßGn˜«ÄÜø;
++@z.Qž“åWÿ*‹º€½B¿¦æëÊ{Å‚Îðc}Mýj˜E*(
++@ââÐ}²r†2’·ý=þÞÉñg‘°F³Ù<Síœ0[mL8‰.Ñs=FÍîÊžÊTeCÅ^PþªøD¢{õTñV_—é¹jÆÉ*Íq8Eç†ùJ}@$VC}r5¯‡¹Jì]€ºÞÚÙ$¶
++ÞV¶VøG˜
¼í¦oð.Àea@".^µóÛ€€iPç‡
++@ï;U}vD'ô
{`UÍfó"5Ç…9
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png
+index 4a9709623476fcf4070c4e3da2bb17375222082e..245f96c7ba65c9a792abc01a1b76c39accd3ee5e 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/bad_folder.png
+@@ -1,8 +1,7 @@
+ ‰PNG

+ 
+-
+-˜¦%Í­½0³GÍ,n¥³df‡Í¬1Hó£e÷ó™5a¾·
+-æ=àXœ³ÿ• ³ŠzMÀíUÔ+ˆÌÌÅ·Uȯdv§j³
+-ÀÌvïáÝ\•ÇÛ’r©ø@ç^¤Å4
+-ÎÚòù./¦Ï¤!@Ò‡@0Næ
|9ü’!­u"þ×l®Ì~Š2 ³ƒ¹mTÒ$0™}MÚR¬Hæ´Àâ™GõW”¡S
+-sÿ»Hš~¯TÙq4N»$]W©ÖJNÉxþ_1î{^G
+\ No newline at end of file
++
++Q³ ºøR$Foù%EÝ^“^ëQëÉ¢ëC=™Qi±»¥A‘Ùnë|ýÏÌY÷¢Â:óm®°?ø{Îùö›ùΙù曋Jš4i–6*Û„™0» 7TeAfx]VUuÊÿH~'4Éâ”Ç»O.è ¢Q%“ü"0ÀF(@£%‰äßчI.É);]	ÅOI¨¢zA`›<ˆ’•EúõC[x˜hÜÅÓË?›ÛË."Œ]‡f¬
rn#lM¥s¦z¨7ȃ–ýãÐM¡ß¨
++–
++ðí­^…=̵Æç	›6¬iâ%ùFS!”ž¯
îB-aím½˜-„üiÛôö-aº
++¥*ôun;§«3kýFút½¢ŽÅÙòÉ"}îC÷pä—Â,I“&Mb(Ê?µR{"!
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png
+index 973fabd052e389c28ef36c482cf44d764795a3b4..db0cadac1338a971b7b890c33f5920580c1013a5 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/chip.png
+@@ -1,165 +1,5 @@
+ ‰PNG

+ 
+-
+-<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c138 79.159824, 2016/09/14-01:09:01        ">
+-   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+-      <rdf:Description rdf:about=""
+-            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+-            xmlns:dc="http://purl.org/dc/elements/1.1/"
+-            xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
+-            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+-            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+-            xmlns:tiff="http://ns.adobe.com/tiff/1.0/"
+-            xmlns:exif="http://ns.adobe.com/exif/1.0/">
+-         <xmp:CreatorTool>Adobe Photoshop CC 2017 (Windows)</xmp:CreatorTool>
+-         <xmp:CreateDate>2018-07-25T21:37:27+08:00</xmp:CreateDate>
+-         <xmp:ModifyDate>2018-07-25T21:38:09+08:00</xmp:ModifyDate>
+-         <xmp:MetadataDate>2018-07-25T21:38:09+08:00</xmp:MetadataDate>
+-         <dc:format>image/png</dc:format>
+-         <photoshop:ColorMode>3</photoshop:ColorMode>
+-         <xmpMM:InstanceID>xmp.iid:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:InstanceID>
+-         <xmpMM:DocumentID>xmp.did:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:DocumentID>
+-         <xmpMM:OriginalDocumentID>xmp.did:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</xmpMM:OriginalDocumentID>
+-         <xmpMM:History>
+-            <rdf:Seq>
+-               <rdf:li rdf:parseType="Resource">
+-                  <stEvt:action>created</stEvt:action>
+-                  <stEvt:instanceID>xmp.iid:d24b6914-04d7-6e40-94e6-a3f5f4d24f35</stEvt:instanceID>
+-                  <stEvt:when>2018-07-25T21:37:27+08:00</stEvt:when>
+-                  <stEvt:softwareAgent>Adobe Photoshop CC 2017 (Windows)</stEvt:softwareAgent>
+-               </rdf:li>
+-            </rdf:Seq>
+-         </xmpMM:History>
+-         <tiff:Orientation>1</tiff:Orientation>
+-         <tiff:XResolution>960000/10000</tiff:XResolution>
+-         <tiff:YResolution>960000/10000</tiff:YResolution>
+-         <tiff:ResolutionUnit>2</tiff:ResolutionUnit>
+-         <exif:ColorSpace>65535</exif:ColorSpace>
+-         <exif:PixelXDimension>48</exif:PixelXDimension>
+-         <exif:PixelYDimension>48</exif:PixelYDimension>
+-      </rdf:Description>
+-   </rdf:RDF>
+-</x:xmpmeta>
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                                                                                                    
+-                            
+-<?xpacket end="w"?>Ú(
+-4€pÓæ$õù‹ç’v'! ©hÉÀ¼´¸wËâZÀ>‹;%ÀB(cÎ@+ŽÈ†Å5nEÿbÌâÎ9ý.EÛÕ@
ÀèŽ#ò­Å½qÚ.[’jV»ÓŽI(
+-PFRøqIã)æG€º¤J‡v{Y` ‰èüf§Uà{ñ¸´Y$Õ¬èw¦ÿrð[Òp&}À³`ìNóÌWå`BÒ¯>O'õ"

+\ No newline at end of file
++
++¹ÔäRsy
àé…jÆ7 Wë…*›Dá7nñ®ÇO½…1æ¾ü…ÆZ$+":^èXïTëm|ãóYjÚ4°._áD¢¤mf9êÛ40³®ÇD8™
++/º„°M+ö
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png
+index 0f1e987d6aa24b1d2f26d40181ec05b62c5862da..11a76b5c1256ade016d4e22cf048656cb0788ad3 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/folder.png
+@@ -1,3 +1,5 @@
+ ‰PNG

+ 
+-
+\ No newline at end of file
++
++îô ù|Æ°¸Â´Þ}´°ÐþȪ!}ÃOY-"¢
ÁÎÏÕ2ÑMvÚ‡µ§NWQ>Ð-ÁkÒ(͆žà!Nêeª°qkÙÕ‚ׇ¢L°r`Û°Çú¸×5\:ó”%¼VÂC.ûÛxDõ ÄZJº&ÂB×dà$C=–‰‡8Ñã?Áþ;);8®6´Ž|‘Na·šUy Ç!Y ƒµH¨Ø@?r¡yTùltúÄŽtŽ²ïÎ|$#€æMW/]I
++ÐÀ46€il
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
+index 16cc8b4f44d52009d4a3f4c9d46f5bb0e20babcf..6af929bf66b9d82cd43aa2db19fb0db05c89b8af 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/plus.png
+@@ -1,4 +1,4 @@
+ ‰PNG

+ 
+-
+-×¾V+ÀµpmŸ8úoV³y
+\ No newline at end of file
++
++ƒ0EÑ™n£]’éÂÛxý¨Ð¢Ta|(÷€ I®ø‘`
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png
+index 0291c6542d05a40a350bb5bdbd99a15c01467161..42b9f27738d95d742b4e8380c6450e639630e049 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/sd_card.png
+@@ -1,7 +1,5 @@
+ ‰PNG

+ 
+-
+-‚x…AM¡Áþˆ¾·á&³»¹quw™vßÛÛ}Þ¹]¸=¨€¤®¤ç’6T›’ÞJº'éXÏ"ñ–¤[’~Õ(^Äš¤³+ß–´Ð°¸Ëª¤IßËå;ÀÐuâgÀûly˜>‹Î63À4°ô|ø<r²À,°¼vò‹@'[ž7³Û!ÎÛä%=-8#¼m$é¥÷ÙY~ÅË’ú^Ö˶íyyß9æcßoßù6Ã3.¼r­ñƒÒ’ZÀ¶O›Øä¦üN#p¸TŸË¿¡°€¤óÀ|Ã.•(댆k	8ã¼6àL«$Ÿu–×ÍìÅÖŠ¤õ*ý…÷IF×ÞE3ë:ïÝzÀà‡³Ÿ)à'°îìê
+-ðÙÉÚÙ17Þ#¶˜d4S–Íì´ëZ6!*È&€ÃùÁìåb%Ûv¼±ìxؤ±	ù—tÍYŸ©K¦
+-!W¡ÝDî*´ç§P*›T 6©@lRؤ±Ib“
+-Ä&ˆM*›T 6©@lþÛjÔ"œœWY5‹T%÷p¥¬À“šEª’ó*ûmô$°ÂðéÊna8efîSâ0³WÀUàkb!¬—}ù±Hš–t_Ò;5ÿ•MIo$Ý‘t´Ìñ7'÷žþªu
+\ No newline at end of file
++
++8\hUQ$¡Xö÷À\ §üoÛqtÝ@áãÛuë’ö$íJºíkˆþ+‘€cözÔWìú
++ÒHMo 5½ÔôRÓHMo 5½ÔôRÓHMÈÀ¯VU”ë)d`›ìïtWðÖWð0Æ|n
+\ No newline at end of file
+diff --git a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
+index 90d423a1d4c1e05ccec0a01fa34abca9fe99676d..546779e2a810e73169f65a79850aa07dffd70267 100644
+--- a/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
++++ b/dist/qt_themes/qdarkstyle_midnight_blue/icons/48x48/star.png
+@@ -1,4 +1,8 @@
+ ‰PNG

+ 
+-
+-pÐK¼ebð*ñãÀÎe‰·L€G+(þ5°)ˆxËDpoÄ?ÖßdäFDñ¯ã«‰ÛÄßÇ£gö=N=ãÒ˜7Æàäkà¨g\G|‚œ§(Jš•ÔãS0…_’Öcæ\‚|f ¬ðâ%©WÒ!× ^S+w×@`â
+\ No newline at end of file
++
++œ‹Ñlæ—KXœ!lx4?‡èV<À…Ll
++âßÀæ·à~ï
++À¦¬üHðÐ!Ò,Igˆå]Ft•Áj5¤3”'Vvê½~9œ·r˜<—m¢GÄ7¸ôž«´U&„J¶ÓTùCÞ§p§¢’Ö¨rÅSÈÑ7ߣ&žèÄ\øô¬[”à«„Øz`©}êâ^)Ζ|ÜÅÎ+±CŽ˜`;
++Àn ÆHqžÏËü@¢‡F3–â™ €ñªÏ\S
++½[ôN`'yþô&Ã<r³É8ïjûЇ>üÇø€üÀ¸Š6Õ
+\ No newline at end of file
+-- 
+2.36.0
+
diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix
index 66b1bb0f97fe2..38719de371aa0 100644
--- a/pkgs/applications/finance/odoo/default.nix
+++ b/pkgs/applications/finance/odoo/default.nix
@@ -2,19 +2,74 @@
 , lib
 , fetchurl
 , python3
-, python3Packages
 , nodePackages
 , wkhtmltopdf
-, callPackage
 }:
 
-with python3Packages;
-
 let
-  werkzeug = python3Packages.callPackage ../../../development/python-modules/werkzeug/1.nix {};
-in
-
-buildPythonApplication rec {
+  python = python3.override {
+    packageOverrides = self: super: {
+      click = super.click.overridePythonAttrs (old: rec {
+        version = "7.1.2";
+        src = old.src.override {
+          inherit version;
+          sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
+        };
+      });
+      flask = super.flask.overridePythonAttrs (old: rec {
+        version = "1.1.4";
+        src = old.src.override {
+          inherit version;
+          sha256 = "0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196";
+        };
+      });
+      itsdangerous = super.itsdangerous.overridePythonAttrs (old: rec {
+        version = "1.1.0";
+        src = old.src.override {
+          inherit version;
+          sha256 = "321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19";
+        };
+      });
+      jinja2 = super.jinja2.overridePythonAttrs (old: rec {
+        version = "2.11.3";
+        src = old.src.override {
+          inherit version;
+          sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6";
+        };
+      });
+      markupsafe = super.markupsafe.overridePythonAttrs (old: rec {
+        version = "2.0.1";
+        src = old.src.override {
+          inherit version;
+          sha256 = "594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a";
+        };
+      });
+      werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
+        version = "1.0.1";
+        src = old.src.override {
+          inherit version;
+          sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
+        };
+        checkInputs = old.checkInputs ++ (with self; [
+          requests
+        ]);
+        disabledTests = old.disabledTests ++ [
+          # ResourceWarning: unclosed file
+          "test_basic"
+          "test_date_to_unix"
+          "test_easteregg"
+          "test_file_rfc2231_filename_continuations"
+          "test_find_terminator"
+          "test_save_to_pathlib_dst"
+        ];
+        disabledTestPaths = old.disabledTestPaths ++ [
+          # ResourceWarning: unclosed file
+          "tests/test_http.py"
+        ];
+      });
+    };
+  };
+in python.pkgs.buildPythonApplication rec {
   pname = "odoo";
 
   major = "15";
@@ -23,6 +78,8 @@ buildPythonApplication rec {
 
   version = "${major}.${minor}.${patch}";
 
+  format = "setuptools";
+
   # latest release is at https://github.com/odoo/docker/blob/master/15.0/Dockerfile
   src = fetchurl {
     url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
@@ -30,23 +87,12 @@ buildPythonApplication rec {
     hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
   };
 
-  nativeBuildInputs = [
-    setuptools
-    wheel
-    mock
-  ];
-
-  buildInputs = [
-    wkhtmltopdf
-    nodePackages.rtlcss
-  ];
-
   # needs some investigation
   doCheck = false;
 
   makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python.pkgs; [
     Babel
     chardet
     decorator
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 53b271b4d2960..44d540149768d 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-32";
+  version = "7.1.0-33";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-blDdNZJCyBdPEgdZXwgNUGSdSIwnqRaVLsLdFeA4JzQ=";
+    hash = "sha256-qiXTSQcc48IIzz7RUcyOH2w8JUOTdU1zg43gJhoELXo=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/apngasm/default.nix b/pkgs/applications/graphics/apngasm/default.nix
index 1f58ee83e03af..085683b5b6434 100644
--- a/pkgs/applications/graphics/apngasm/default.nix
+++ b/pkgs/applications/graphics/apngasm/default.nix
@@ -1,16 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, cmake, boost, libpng, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, boost, libpng, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "apngasm";
-  version = "3.1.9";
+  version = "3.1.10";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "d50bfb0cf14c376f4cfb94eb91c61d795a76b715"; # not tagged, but in debian/changelog
-    sha256 = "0pk0r8x1950pm6j3d5wgryvy3ldm7a9gl59jmnwnjmg1sf9mzf97";
+    rev = "f105b2d6024ef3113bb407d68e27e476a17fa998";
+    sha256 = "sha256-lTk2sTllKHRUaWPPEkC4qU5K10oRaLrdWBgN4MUGKeo=";
   };
 
+  patches = [
+    # Fix parallel build and avoid static linking of binary.
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-gfx/apngasm/files/apngasm-3.1.10-static.patch?id=45fd0cde71ca2ae0e7e38ab67400d84b86b593d7";
+      sha256 = "sha256-eKthgInWxXEqN5PupvVf9wVQDElxsPYRFXT7pMc6vIU=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [ boost libpng zlib ];
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index f93e415bcd63d..bb5019474152c 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "17.4.2";
+  version = "18.0.1";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "294f99d9060bc394490b20d2ddab75ed5c0166d7960850f065eb8897ef31a2e3";
+    sha256 = "4f3893f53e47a3937320676e02337a61c358c684d5cd0b378809b3d7deab0139";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/gqview/default.nix b/pkgs/applications/graphics/gqview/default.nix
index 427429404a09e..3dbd1e0d77bf2 100644
--- a/pkgs/applications/graphics/gqview/default.nix
+++ b/pkgs/applications/graphics/gqview/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  NIX_CFLAGS_COMPILE = "-fcommon";
   NIX_LDFLAGS = "-lm";
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index 5a25ad3998f71..39eefb0034520 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "482";
+  version = "483";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-b7zMHwsyZv4dCn4Gd/2a+MHhT3IHISJup/zm95pEcQ4=";
+    sha256 = "sha256-UU3XQ0NC/apJ0S/uDDNG+8DOD+sRyX98yMcjtL2Htig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/image_optim/default.nix b/pkgs/applications/graphics/image_optim/default.nix
index ba437eab4122e..fd7ff02162420 100644
--- a/pkgs/applications/graphics/image_optim/default.nix
+++ b/pkgs/applications/graphics/image_optim/default.nix
@@ -1,29 +1,17 @@
 { lib, bundlerApp, bundlerUpdateScript, makeWrapper,
-  withPngcrush ? true,       pngcrush ? null,
-  withPngout ? true,         pngout ? null,
-  withAdvpng ? true,         advancecomp ? null,
-  withOptipng ? true,        optipng ? null,
-  withPngquant ? true,       pngquant ? null,
-  withJhead ? true,          jhead ? null,
-  withJpegoptim ? true,      jpegoptim ? null,
-  withJpegrecompress ? true, jpeg-archive ? null,
-  withJpegtran ? true,       libjpeg ? null,
-  withGifsicle ? true,       gifsicle ? null,
-  withSvgo ? true,           svgo ? null
+  withPngcrush ? true,       pngcrush,
+  withPngout ? true,         pngout,
+  withAdvpng ? true,         advancecomp,
+  withOptipng ? true,        optipng,
+  withPngquant ? true,       pngquant,
+  withJhead ? true,          jhead,
+  withJpegoptim ? true,      jpegoptim,
+  withJpegrecompress ? true, jpeg-archive,
+  withJpegtran ? true,       libjpeg,
+  withGifsicle ? true,       gifsicle,
+  withSvgo ? true,           svgo
 }:
 
-assert withPngcrush       -> pngcrush != null;
-assert withPngout         -> pngout != null;
-assert withAdvpng         -> advancecomp != null;
-assert withOptipng        -> optipng != null;
-assert withPngquant       -> pngquant != null;
-assert withJhead          -> jhead != null;
-assert withJpegoptim      -> jpegoptim != null;
-assert withJpegrecompress -> jpeg-archive != null;
-assert withJpegtran       -> libjpeg != null;
-assert withGifsicle       -> gifsicle != null;
-assert withSvgo           -> svgo != null;
-
 with lib;
 
 let
@@ -51,7 +39,7 @@ bundlerApp {
 
   postBuild = ''
     wrapProgram $out/bin/image_optim \
-      --prefix PATH : ${makeBinPath optionalDepsPath}
+      --prefix PATH : ${lib.escapeShellArg (makeBinPath optionalDepsPath)}
   '';
 
   passthru.updateScript = bundlerUpdateScript "image_optim";
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index d29d1d65346e5..75bfe5cff93d2 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -80,6 +80,13 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.com/inkscape/inkscape/-/commit/a18c57ffff313fd08bc8a44f6b6bf0b01d7e9b75.patch";
       sha256 = "UZb8ZTtfA5667uo5ZlVQ5vPowiSgd4ItAJ9U1BOsRQg=";
     })
+
+    # Fix build with poppler 22.04
+    # https://gitlab.com/inkscape/inkscape/-/merge_requests/4266
+    (fetchpatch {
+      url = "https://gitlab.com/inkscape/inkscape/-/commit/d989cdf1059c78bc3bb6414330242073768d640b.patch";
+      sha256 = "2cJZdunbRgPIwhJgz1dQoQRw3ZYZ2Fp6c3hpVBV2PbE=";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/jpegrescan/default.nix b/pkgs/applications/graphics/jpegrescan/default.nix
index f96742e6c067b..7ec0e478a9b95 100644
--- a/pkgs/applications/graphics/jpegrescan/default.nix
+++ b/pkgs/applications/graphics/jpegrescan/default.nix
@@ -1,15 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, libjpeg_turbo, perl, perlPackages }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages, libjpeg_original }:
 
 stdenv.mkDerivation rec {
   pname = "jpegrescan";
-  date = "2016-06-01";
-  name = "${pname}-${date}";
+  version = "unstable-2019-03-27";
+
+  dontBuild = true;
+  dontConfigure = true;
 
   src = fetchFromGitHub {
     owner = "kud";
     repo = pname;
-    rev = "e5e39cd972b48ccfb2cba4da6855c511385c05f9";
-    sha256 = "0jbx1vzkzif6yjx1fnsm7fjsmq166sh7mn22lf01ll7s245nmpdp";
+    rev = "3a7de06feabeb3c3235c3decbe2557893c1abe51";
+    sha256 = "0cnl46z28lkqc5x27b8rpghvagahivrqcfvhzcsv9w1qs8qbd6dm";
   };
 
   patchPhase = ''
@@ -23,24 +25,23 @@ stdenv.mkDerivation rec {
     mv jpegrescan $out/bin
     chmod +x $out/bin/jpegrescan
 
-    wrapProgram $out/bin/jpegrescan --prefix PERL5LIB : $PERL5LIB
+    wrapProgram $out/bin/jpegrescan \
+      --prefix PATH : "${libjpeg_original}/bin:" \
+      --prefix PERL5LIB : $PERL5LIB
   '';
 
   propagatedBuildInputs = [ perlPackages.FileSlurp ];
 
-  nativeBuildInputs = [
-    makeWrapper
-  ];
+  nativeBuildInputs = [ makeWrapper ];
 
-  buildInputs = [
-    perl libjpeg_turbo
-  ];
+  buildInputs = [ perl ];
 
   meta = with lib; {
-    description = "losslessly shrink any JPEG file";
+    description = "Losslessly shrink any JPEG file";
     homepage = "https://github.com/kud/jpegrescan";
     license = licenses.publicDomain;
-    maintainers = [ maintainers.ramkromberg ];
+    maintainers = with maintainers; [ ramkromberg ];
     platforms = platforms.all;
+    mainProgram = "jpegrescan";
   };
 }
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index 64782cc7fcce8..9ce07df34370c 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
 
   preFixup = optionalString (tiffSupport || jpgSupport) ''
     gappsWrapperArgs+=(
-      --prefix PATH : ${runtimePath}
+      --prefix PATH : ${lib.escapeShellArg runtimePath}
     )
   '';
 
diff --git a/pkgs/applications/graphics/rapcad/default.nix b/pkgs/applications/graphics/rapcad/default.nix
deleted file mode 100644
index 904c9f8f40257..0000000000000
--- a/pkgs/applications/graphics/rapcad/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, cgal, boost, gmp, mpfr, flex, bison, dxflib, readline
-, qtbase, qmake, libGLU
-}:
-
-stdenv.mkDerivation rec {
-  version = "0.9.8";
-  pname = "rapcad";
-
-  src = fetchFromGitHub {
-    owner = "gilesbathgate";
-    repo = "rapcad";
-    rev = "v${version}";
-    sha256 = "0a0sqf6h227zalh0jrz6jpm8iwji7q3i31plqk76i4qm9vsgrhir";
-  };
-
-  patches = [
-    (fetchurl {
-      url = "https://github.com/GilesBathgate/RapCAD/commit/278a8d6c7b8fe08f867002528bbab4a6319a7bb6.patch";
-      sha256 = "1vvkyf0wg79zdzs5zlggfrr1lrp1x75dglzl0mspnycwldsdwznj";
-      name = "disable-QVector-qHash.patch";
-    })
-  ];
-
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase cgal boost gmp mpfr flex bison dxflib readline libGLU ];
-
-  meta = with lib; {
-    license = licenses.gpl3;
-    maintainers = [ maintainers.raskin ];
-    platforms = platforms.linux;
-    description = "Constructive solid geometry package";
-    broken = true; # 2018-04-11
-  };
-}
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
index ccccca8d65c23..98726de0604aa 100644
--- a/pkgs/applications/graphics/rnote/default.nix
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, alsa-lib
 , appstream-glib
 , desktop-file-utils
 , gio-sharp
@@ -21,19 +22,20 @@
 
 stdenv.mkDerivation rec {
   pname = "rnote";
-  version = "0.4.0";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "flxzt";
     repo = "rnote";
     rev = "v${version}";
-    sha256 = "sha256-J7IW329rWFEoB+44762DAkWA8Hq4IVmXgc+QoDQaxV0=";
+    fetchSubmodules = true;
+    hash = "sha256-v4cca4tSv//VFUvOfemkueELxlez2TdtynqbzjCTlB4=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-elXaikB/RemMxA4OXyZNQOgP1alImQMJHng5oX2j480=";
+    hash = "sha256-sK8GOLxNG4mu45oQSaFi467DHYt00Pxu3vMM6Po/YqI=";
   };
 
   nativeBuildInputs = [
@@ -51,6 +53,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    alsa-lib
     gio-sharp
     glib
     gstreamer
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 93a7d75ce45a5..d3c5b1c0b75f2 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -40,18 +40,19 @@ stdenv.mkDerivation {
   buildInputs = [
     avahi
     libgphoto2
-    libieee1284
     libjpeg
     libpng
     libtiff
     libusb1
-    libv4l
-    net-snmp
     curl
-    systemd
     libxml2
     poppler
     gawk
+  ] ++ lib.optionals stdenv.isLinux [
+    libieee1284
+    libv4l
+    net-snmp
+    systemd
   ];
 
   enableParallelBuilding = true;
@@ -113,6 +114,6 @@ stdenv.mkDerivation {
     '';
     homepage = "http://www.sane-project.org/";
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/kde/elisa.nix b/pkgs/applications/kde/elisa.nix
index cdcca2cc9bb23..63639800d5f6a 100644
--- a/pkgs/applications/kde/elisa.nix
+++ b/pkgs/applications/kde/elisa.nix
@@ -21,6 +21,8 @@
 mkDerivation rec {
   pname = "elisa";
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = [ libvlc ];
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix
index 1590887575b71..3db757b497dd8 100644
--- a/pkgs/applications/kde/kgpg.nix
+++ b/pkgs/applications/kde/kgpg.nix
@@ -19,7 +19,7 @@ mkDerivation {
   '';
   meta = {
     homepage = "https://apps.kde.org/kgpg/";
-    description = "Encryption tool";
+    description = "A KDE based interface for GnuPG, a powerful encryption utility";
     license = [ lib.licenses.gpl2 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
diff --git a/pkgs/applications/misc/1password-gui/beta.nix b/pkgs/applications/misc/1password-gui/beta.nix
index 480366921aea2..d9d21f30f3479 100644
--- a/pkgs/applications/misc/1password-gui/beta.nix
+++ b/pkgs/applications/misc/1password-gui/beta.nix
@@ -42,11 +42,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.7.0-49.BETA";
+  version = "8.8.0-11.BETA";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/beta/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "sha256-cYT9Pi2WEjZQ5P7Dr84l65AHyD8tZrYC+m4hFxSsNd4=";
+    sha256 = "sha256-HU+nIz3aKXXdBWEBMSRlbi8yZ+JEsE33o6nfbWRgpBo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index c43df6b5f570c..72b542e24fe43 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -42,11 +42,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.6.1";
+  version = "8.7.0";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "sha256-CbSx1UJAvNrA1gTQyi6r8NgjwQ7H+tqWU9t3TUNrDMg=";
+    sha256 = "sha256-Ubn1KEjK8H8d8+4QNEpEOuclWyD8ujUbO5CpzWr+kSg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index ffd4103e214e2..080d7b0c9fb07 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -12,12 +12,12 @@ let
     if extension == "zip" then fetchzip args else fetchurl args;
 
   pname = "1password-cli";
-  version = "2.1.0";
+  version = "2.2.0";
   sources = rec {
-    aarch64-linux = fetch "linux_arm64" "sha256-DTYWqhawyAQBIxMUksZheyN8WSVPyhCghZC8orxKsBk=" "zip";
-    i686-linux = fetch "linux_386" "sha256-JBjiKxbJnFILSOVnOUIcY3GpbOT2UOJlasTSPRyYz4I=" "zip";
-    x86_64-linux = fetch "linux_amd64" "sha256-PfVOvUF8Rls29VzfIj1U6/VFv1H6lj2K3Dz6DWmh2fs=" "zip";
-    aarch64-darwin = fetch "apple_universal" "sha256-Cn3/+Dvk5hW9rvxu4I9ghHSS1yWSAeQq3gx+6dvFiIk=" "pkg";
+    aarch64-linux = fetch "linux_arm64" "sha256-fKW2qSQkkC4GcnHcLLszX1pcqK67SaofVX017/cIkD0=" "zip";
+    i686-linux = fetch "linux_386" "sha256-TmQ3nWG12DTpAJaxbK+hnJak0RrFhhw6rJWfV7q8wb4=" "zip";
+    x86_64-linux = fetch "linux_amd64" "sha256-66kFScxPmy4WgK9p1W6qBoAeYJwungHgGkTurjEJy+4=" "zip";
+    aarch64-darwin = fetch "apple_universal" "sha256-DD1j093SjnaPtkQ4XuU1zkRi6XPXtwnBxiqC6wZbV+w=" "pkg";
     x86_64-darwin = aarch64-darwin;
   };
   platforms = builtins.attrNames sources;
diff --git a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
index 7b0148457faf4..51ed1def41dbc 100644
--- a/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
+++ b/pkgs/applications/misc/ArchiSteamFarm/deps-aarch64-linux.nix
@@ -76,7 +76,7 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Primitives"; version = "5.0.0"; sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6"; })
   (fetchNuGet { pname = "Microsoft.NET.Test.Sdk"; version = "17.0.0"; sha256 = "0bknyf5kig5icwjxls7pcn51x2b2qf91dz9qv67fl70v6cczaz2r"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm"; version = "6.0.4"; sha256 = "1zm9q9yvglsn5w786c9cjdfj1a8z4sipmvn9rhg3ps23rllxwmcc"; })
-  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-arm64"; version = "6.0.4"; sha256 = "0g1vw0wr88zlfpdg2gz8c0mriasci1kzvjia4nj19j7b0zaga7f0"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Host.linux-x64"; version = "6.0.4"; sha256 = "1x1g3jhd57z1w3js7f6qa72vwvvjayvxzc2xxcqyscm9xy1fb3d4"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-arm64"; version = "6.0.4"; sha256 = "08mrvb71kldzla2j7v10ifxrc6bwsrd4bms2rqfb7rmx00qs6yj0"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.osx-x64"; version = "6.0.4"; sha256 = "0vgjwpy55mf6x22a634cdidckyq5hi941i9p10jqyrbnc637frv2"; })
   (fetchNuGet { pname = "Microsoft.NETCore.App.Host.win-x64"; version = "6.0.4"; sha256 = "1qasm6j25lmcc4xn7f7s3jli1pypz1kfnj7j9dkjlx9mc8r356zp"; })
diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix
index e7146052702b7..c2cf561524fe0 100644
--- a/pkgs/applications/misc/archivy/default.nix
+++ b/pkgs/applications/misc/archivy/default.nix
@@ -49,21 +49,9 @@ buildPythonApplication rec {
     hash = "sha256-o5dVJDbdKgo6hMMU9mKzoouSgVWl7xSAp+Aq61VcfeU=";
   };
 
-  # Relax some dependencies
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace 'WTForms ==' 'WTForms >=' \
-      --replace 'attrs == 20.2.0' 'attrs' \
-      --replace 'elasticsearch ==' 'elasticsearch >=' \
-      --replace 'python_dotenv ==' 'python_dotenv >=' \
-      --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \
-      --replace 'requests ==' 'requests >=' \
-      --replace 'validators ==' 'validators >=' \
-      --replace 'flask-login == ' 'flask-login >= ' \
-      --replace 'tinydb ==' 'tinydb >=' \
-      --replace 'Flask_WTF == 0.14.3' 'Flask_WTF' \
-      --replace 'Flask ==' 'Flask >='
-  '';
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+  pythonRelaxDeps = true;
 
   propagatedBuildInputs = [
     appdirs
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 9f3c1c82b5e04..6f55e5dd17c9d 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.4";
+  version = "1.22.5";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-Mms7Vibq1Rlb2XbxiV4o1UsjDRJcwG5ZZdPOWHjnW2A=";
+    sha256 = "sha256-EuHg8JrI6ZoyTXqD3v4cfk4/NovAj4fF2NY1V2ZF64c=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/authenticator/default.nix b/pkgs/applications/misc/authenticator/default.nix
index ffa34d041e9c2..e100c88073972 100644
--- a/pkgs/applications/misc/authenticator/default.nix
+++ b/pkgs/applications/misc/authenticator/default.nix
@@ -3,11 +3,11 @@
 , fetchFromGitLab
 , fetchpatch
 , appstream-glib
+, clang
 , desktop-file-utils
 , meson
 , ninja
 , pkg-config
-, python3
 , rustPlatform
 , wrapGAppsHook
 , gdk-pixbuf
@@ -15,7 +15,9 @@
 , gst_all_1
 , gtk4
 , libadwaita
+, libclang
 , openssl
+, pipewire
 , sqlite
 , wayland
 , zbar
@@ -23,33 +25,29 @@
 
 stdenv.mkDerivation rec {
   pname = "authenticator";
-  version = "4.0.3";
+  version = "4.1.1";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "Authenticator";
     rev = version;
-    sha256 = "0fvs76f3fm5pxn7wg6sjbqpgip5w2j7xrh4siasdcl2bx6vsld8b";
+    hash = "sha256-wl7wyj0vVDkOB7XKQFOEFzCmffTsrUsaM83fWgZ6tG0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "1s97jyszxf24rs3ni11phiyvmp1wm8sicb0rh1jgwz4bn1cnakx4";
+    hash = "sha256-3SzemDjLsZUXPPtSlDMBQXQf5P3Sz8caJL73mHRv1js=";
   };
 
-  postPatch = ''
-    patchShebangs build-aux
-  '';
-
   nativeBuildInputs = [
     appstream-glib
+    clang
     desktop-file-utils
     meson
     ninja
     pkg-config
-    python3
     wrapGAppsHook
   ] ++ (with rustPlatform; [
     cargoSetupHook
@@ -62,39 +60,23 @@ stdenv.mkDerivation rec {
     glib
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
-
-    # gst-plugins-good needs gtk4 support:
-    # https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/767
-    # We copy the way it is built from the Flatpak:
-    # https://gitlab.gnome.org/World/Authenticator/-/blob/master/build-aux/com.belmoussaoui.Authenticator.Devel.json
-    (gst_all_1.gst-plugins-good.overrideAttrs (old: {
-      patches = old.patches or [ ] ++ [
-        "${src}/build-aux/767.patch"
-      ];
-      mesonFlags = old.mesonFlags ++ [
-        "-Dgtk3=disabled"
-        "-Dgtk4=enabled"
-        "-Dgtk4-experiments=true"
-      ];
-      buildInputs = old.buildInputs ++ [
-        gtk4
-      ];
-    }))
-
     (gst_all_1.gst-plugins-bad.override { enableZbar = true; })
     gtk4
     libadwaita
     openssl
+    pipewire
     sqlite
     wayland
     zbar
   ];
 
-  meta = with lib; {
-    broken = true; # https://gitlab.gnome.org/World/Authenticator/-/issues/271
+  LIBCLANG_PATH = "${lib.getLib libclang}/lib";
+
+  meta = {
     description = "Two-factor authentication code generator for GNOME";
     homepage = "https://gitlab.gnome.org/World/Authenticator";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dotlambda ];
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix
index 1761722362010..f55b6ef791435 100644
--- a/pkgs/applications/misc/bibletime/default.nix
+++ b/pkgs/applications/misc/bibletime/default.nix
@@ -1,29 +1,49 @@
-{ lib, mkDerivation, fetchurl, cmake, pkg-config, sword, boost, clucene_core
-, qtbase, qttools, qtsvg, perlPackages, docbook_xml_dtd_45
-, docbook_xsl_ns }:
+{ lib, mkDerivation
+, fetchFromGitHub
+, cmake
+, docbook_xml_dtd_45
+, pkg-config
+, wrapQtAppsHook
+, boost
+, clucene_core_2
+, docbook_xsl_ns
+, perlPackages
+, qtbase
+, qtsvg
+, qttools
+, sword
+}:
 
 mkDerivation rec {
   pname = "bibletime";
   version = "3.0.2";
 
-  src = fetchurl {
-    url = "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-/JNjnU/DGD4YRtrKzX7t6MgNCZYihdgTJc+Jbr9IYJ4=";
+  src = fetchFromGitHub {
+    owner = "bibletime";
+    repo = "bibletime";
+    rev = "v${version}";
+    hash = "sha256-8X5LkquALFnG0yRayZYjeymHDcOzINBv0MXeVBsOnfI=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config docbook_xml_dtd_45 ];
+  nativeBuildInputs = [
+    cmake
+    docbook_xml_dtd_45
+    pkg-config
+    wrapQtAppsHook
+  ];
+
   buildInputs = [
-    sword
     boost
-    clucene_core
+    clucene_core_2
+    perlPackages.Po4a
     qtbase
-    qttools
     qtsvg
-    perlPackages.Po4a
+    qttools
+    sword
   ];
 
   preConfigure = ''
-    export CLUCENE_HOME=${clucene_core};
+    export CLUCENE_HOME=${clucene_core_2};
     export SWORD_HOME=${sword};
   '';
 
@@ -35,7 +55,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A Qt4 Bible study tool";
+    description = "A powerful cross platform Bible study tool";
     homepage = "http://www.bibletime.info/";
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
diff --git a/pkgs/applications/misc/bicon/default.nix b/pkgs/applications/misc/bicon/default.nix
index 0b3ca09c6d041..dfb424ea9da56 100644
--- a/pkgs/applications/misc/bicon/default.nix
+++ b/pkgs/applications/misc/bicon/default.nix
@@ -1,24 +1,35 @@
 { lib, stdenv
-  , fetchFromGitHub
-  , autoreconfHook
-  , pkg-config
-  , perl
-  , fribidi
-  , kbd
-  , xkbutils
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pkg-config
+, perl
+, fribidi
+, kbd
+, xkbutils
 }:
 
 stdenv.mkDerivation rec {
   pname = "bicon";
-  version = "unstable-2018-09-10";
+  version = "unstable-2020-06-04";
 
   src = fetchFromGitHub {
     owner = "behdad";
     repo = pname;
-    rev = "38725c062a83ab19c4e4b4bc20eb9535561aa76c";
-    sha256 = "0hdslrci8pq300f3rrjsvl5psfrxdwyxf9g2m5g789sr049dksnq";
+    rev = "64ae10c94b94a573735a2c2b1502334b86d3b1f7";
+    sha256 = "0ixsf65j4dbdl2aazjc2j0hiagbp6svvfwfmyivha0i1k5yx12v1";
   };
 
+  patches = [
+    # Fix build on clang-13. Pull the change pending upstream
+    # inclusion: https://github.com/behdad/bicon/pull/29
+    (fetchpatch {
+      name = "clang.patch";
+      url = "https://github.com/behdad/bicon/commit/20f5a79571f222f96e07d7c0c5e76e2c9ff1c59a.patch";
+      sha256 = "0l1dm7w52k57nv3lvz5pkbwp021mlsk3csyalxi90np1lx5sqbd1";
+    })
+  ];
+
   buildInputs = [ fribidi kbd xkbutils perl ];
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
diff --git a/pkgs/applications/misc/binance/default.nix b/pkgs/applications/misc/binance/default.nix
index 86445f25984e0..d5d6f6b5358ea 100644
--- a/pkgs/applications/misc/binance/default.nix
+++ b/pkgs/applications/misc/binance/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "binance";
-  version = "1.30.1";
+  version = "1.35.0";
 
   src = fetchurl {
     url = "https://github.com/binance/desktop/releases/download/v${version}/${pname}-${version}-amd64-linux.deb";
-    sha256 = "sha256-Su8pVf5GSBK770D778MmrgYr0ov/JBTNcnL8EZzoG3U=";
+    sha256 = "sha256-6c7nrdViunnvPqqbt5/LQp2iS4EgZOCQ9PLcG+bY1YQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix
index 55895b8790a0a..242fc499b658b 100644
--- a/pkgs/applications/misc/bottles/default.nix
+++ b/pkgs/applications/misc/bottles/default.nix
@@ -20,13 +20,13 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2022.4.28-trento";
+  version = "2022.5.2-trento";
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PVtjKAwCA9GliUDIoAFMqeVFZYPo2dxCWhW9lSotC6w=";
+    sha256 = "sha256-9auQm8rmySjPQmhueGMRj4DsQiKhCGtE97byc/h+v84=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 8f672deb693b5..753be1eb88cff 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -28,11 +28,11 @@
 
 mkDerivation rec {
   pname = "calibre";
-  version = "5.37.0";
+  version = "5.42.0";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-    hash = "sha256-x2u4v0k05WMATSsuo76NnqChIz8BcTuZfPkZa0uLnMY=";
+    hash = "sha256-pob9GZl3Wiky5aMGGvcNQdDrKh19bo+n5ihdS45X+Vg=";
   };
 
   # https://sources.debian.org/patches/calibre/${version}+dfsg-1
diff --git a/pkgs/applications/misc/cataract/build.nix b/pkgs/applications/misc/cataract/build.nix
index 0adab84830d2d..2c369e64b5d23 100644
--- a/pkgs/applications/misc/cataract/build.nix
+++ b/pkgs/applications/misc/cataract/build.nix
@@ -26,6 +26,12 @@ stdenv.mkDerivation {
     sed -i 's|#include <exiv2/exif.hpp>|#include <exiv2/exiv2.hpp>|' src/jpeg-utils.cpp
   '';
 
+  # Add workaround for -fno-common toolchains like upstream gcc-10 to
+  # avoid build failures like:
+  #   ld: stats.o:/build/cataract-675e647/src/stats.h:24: multiple definition of
+  #     `stats_images'; cgg.o:/build/cataract-675e647/src/stats.h:24: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   installPhase = ''
     mkdir $out/{bin,share} -p
     cp src/cgg{,-dirgen} $out/bin/
diff --git a/pkgs/applications/misc/catclock/default.nix b/pkgs/applications/misc/catclock/default.nix
index fff8101e55a2c..494ed3001e5c1 100644
--- a/pkgs/applications/misc/catclock/default.nix
+++ b/pkgs/applications/misc/catclock/default.nix
@@ -1,14 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, xlibsWrapper, motif }:
+{ stdenv, lib, fetchFromGitHub, xlibsWrapper, motif
+, withAudioTracking ? false, libpulseaudio, aubio }:
 
 stdenv.mkDerivation {
   pname = "catclock";
-  version = "unstable-2015-10-04";
+  version = "unstable-2021-11-15";
 
   src = fetchFromGitHub {
     owner = "BarkyTheDog";
     repo = "catclock";
-    rev = "d20b8825b38477a144e8a2a4bbd4779adb3620ac";
-    sha256 = "0fiv9rj8p8mifv24cxljdrrmh357q70zmzdci9bpbxnhs1gdpr63";
+    rev = "b2f277974b5a80667647303cabf8a89d6d6a4290";
+    sha256 = "0ls02j9waqg155rj6whisqm7ppsdabgkrln92n4rmkgnwv25hdbi";
   };
 
   preInstall = ''
@@ -17,14 +18,15 @@ stdenv.mkDerivation {
     cp xclock.man $out/share/man/man1/xclock.1
   '';
 
-  makeFlags = [
-    "DESTINATION=$(out)/bin/"
-  ];
+  makeFlags = [ "DESTINATION=$(out)/bin/" ]
+    ++ lib.optional withAudioTracking "WITH_TEMPO_TRACKER=1";
 
-  buildInputs = [ xlibsWrapper motif ];
+  buildInputs = [ xlibsWrapper motif ]
+    ++ lib.optionals withAudioTracking [ libpulseaudio aubio ];
 
   meta = with lib; {
     homepage = "http://codefromabove.com/2014/05/catclock/";
+    description = "Analog / Digital / Cat clock for X";
     license = with licenses; mit;
     maintainers = with maintainers; [ ramkromberg ];
     mainProgram = "xclock";
diff --git a/pkgs/applications/misc/charm/default.nix b/pkgs/applications/misc/charm/default.nix
index faaea86a66401..61f0307f7c205 100644
--- a/pkgs/applications/misc/charm/default.nix
+++ b/pkgs/applications/misc/charm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "charm";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "charm";
     rev = "v${version}";
-    sha256 = "sha256-XXKzK5MXJsB3LE7iE5BqnLm0hPs7WbyHR0x9aTldrj4=";
+    sha256 = "sha256-vNy2ai1s7TKCymYznvT0Wo6lg9qEyDzz8l3SYzScz8g=";
   };
 
   vendorSha256 = "sha256-6PGdM7aa1BGNZc3M35PJpmrlPUqkykxfTELdgeKcJD4=";
@@ -18,6 +18,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Manage your charm account on the CLI";
     homepage = "https://github.com/charmbracelet/charm";
+    changelog = "https://github.com/charmbracelet/charm/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ penguwin ];
   };
diff --git a/pkgs/applications/misc/crow-translate/default.nix b/pkgs/applications/misc/crow-translate/default.nix
index 8505c97e1bc11..09a7595765d9c 100644
--- a/pkgs/applications/misc/crow-translate/default.nix
+++ b/pkgs/applications/misc/crow-translate/default.nix
@@ -1,5 +1,5 @@
 { lib
-, mkDerivation
+, stdenv
 , nix-update-script
 , fetchFromGitHub
 , substituteAll
@@ -11,74 +11,30 @@
 , qtmultimedia
 , qtx11extras
 , qttranslations
+, wrapQtAppsHook
 }:
-let
-  singleapplication = fetchFromGitHub {
-    owner = "itay-grudev";
-    repo = "SingleApplication";
-    rev = "v3.2.0";
-    sha256 = "0w3z97dcqcz3bf7w6fja4smkafmx9kvhzb9px4k2nfmmyxh4yfma";
-  };
-  qtaskbarcontrol = fetchFromGitHub {
-    owner = "Skycoder42";
-    repo = "QTaskbarControl";
-    rev = "2.0.2";
-    sha256 = "0iymcvq3pv07fs9l4kh6hi1igqr7957iqndhsmg9fqkalf8nqyad";
-  };
-  qhotkey = fetchFromGitHub {
-    owner = "Skycoder42";
-    repo = "QHotkey";
-    rev = "1.4.2";
-    sha256 = "0391fkqrxqmzpvms4rk06aq05l308k6sadp6y3czq0gx2kng8mn9";
-  };
-  qonlinetranslator = fetchFromGitHub {
-    owner = "crow-translate";
-    repo = "QOnlineTranslator";
-    rev = "1.5.3";
-    sha256 = "sha256-L8y4vazbWD5SC7itxQOjEcX10w0laewxTOGz+Yd+kVM=";
-  };
-  circleflags = fetchFromGitHub {
-    owner = "HatScripts";
-    repo = "circle-flags";
-    rev = "v2.3.0";
-    sha256 = "sha256-KabmewF1Xf/1JQuzolrlRyLJR8O5j+/iT+29/QtOQVE=";
-  };
-  fluent = fetchFromGitHub {
-    owner = "vinceliuice";
-    repo = "Fluent-icon-theme";
-    rev = "2021-08-15";
-    sha256 = "sha256-uBu0vbKfhhnPKGwrnSBjPwS9ncH1iAlmeefAcpckOm4=";
-  };
-in
-mkDerivation rec {
+
+stdenv.mkDerivation rec {
   pname = "crow-translate";
-  version = "2.9.2";
+  version = "2.9.5";
 
   src = fetchFromGitHub {
     owner = "crow-translate";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cxfBdoqGVmtCaXyw6QzXj2V44wKyVal/uqsddwIdvjw=";
+    sha256 = "sha256-AzwJJ85vxXsc0+W3QM8citN5f0AD6APQVd9628cfLgI=";
+    fetchSubmodules = true;
   };
 
   patches = [
     (substituteAll {
-      src = ./dont-fetch-external-libs.patch;
-      inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags fluent;
-    })
-    (substituteAll {
       # See https://github.com/NixOS/nixpkgs/issues/86054
       src = ./fix-qttranslations-path.patch;
       inherit qttranslations;
     })
   ];
 
-  postPatch = ''
-    cp -r ${circleflags}/flags/* data/icons
-    cp -r ${fluent}/src/* data/icons
-  '';
-
-  nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
+  nativeBuildInputs = [ cmake extra-cmake-modules qttools wrapQtAppsHook ];
 
   buildInputs = [ leptonica tesseract4 qtmultimedia qtx11extras ];
 
diff --git a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch b/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
deleted file mode 100644
index 0bfdc9ef2f744..0000000000000
--- a/pkgs/applications/misc/crow-translate/dont-fetch-external-libs.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git i/CMakeLists.txt w/CMakeLists.txt
-index 375b17c..106efa9 100644
---- i/CMakeLists.txt
-+++ w/CMakeLists.txt
-@@ -114,13 +114,11 @@ qt5_add_translation(QM_FILES
- )
- 
- configure_file(src/cmake.h.in cmake.h)
--configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
--configure_file(data/icons/fluent-icon-theme.qrc ${FluentIconTheme_SOURCE_DIR}/src/fluent-icon-theme.qrc COPYONLY)
- 
- add_executable(${PROJECT_NAME}
--    ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
-+    data/icons/flags.qrc
-     ${QM_FILES}
--    ${FluentIconTheme_SOURCE_DIR}/src/fluent-icon-theme.qrc
-+    data/icons/fluent-icon-theme.qrc
-     data/icons/engines/engines.qrc
-     src/addlanguagedialog.cpp
-     src/addlanguagedialog.ui
-diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
-index c92e745..f265f03 100644
---- i/cmake/ExternalLibraries.cmake
-+++ w/cmake/ExternalLibraries.cmake
-@@ -2,34 +2,28 @@ include(FetchContent)
- 
- set(QAPPLICATION_CLASS QApplication)
- FetchContent_Declare(SingleApplication
--    GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication
--    GIT_TAG v3.2.0
-+    SOURCE_DIR @singleapplication@
- )
- 
- FetchContent_Declare(QTaskbarControl
--    GIT_REPOSITORY https://github.com/Skycoder42/QTaskbarControl
--    GIT_TAG 2.0.2
-+    SOURCE_DIR @qtaskbarcontrol@
- )
- 
- option(QHOTKEY_INSTALL OFF)
- FetchContent_Declare(QHotkey
--    GIT_REPOSITORY https://github.com/Skycoder42/QHotkey
--    GIT_TAG 1.4.2
-+    SOURCE_DIR @qhotkey@
- )
- 
- FetchContent_Declare(QOnlineTranslator
--    GIT_REPOSITORY https://github.com/crow-translate/QOnlineTranslator
--    GIT_TAG 1.5.3
-+    SOURCE_DIR @qonlinetranslator@
- )
- 
- FetchContent_Declare(CircleFlags
--    GIT_REPOSITORY https://github.com/HatScripts/circle-flags
--    GIT_TAG v2.3.0
-+    SOURCE_DIR @circleflags@
- )
- 
- FetchContent_Declare(FluentIconTheme
--    GIT_REPOSITORY https://github.com/vinceliuice/Fluent-icon-theme
--    GIT_TAG 2021-08-15
-+    SOURCE_DIR @fluent@
- )
- 
- FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags FluentIconTheme)
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index c5a0bc0fb85a2..439067187c2d2 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -73,6 +73,7 @@
       productTargetPath = "product/community/target/products/org.jkiss.dbeaver.core.product";
 
       platformMap = {
+        aarch64-darwin = "aarch64";
         aarch64-linux = "aarch64";
         x86_64-darwin = "x86_64";
         x86_64-linux  = "x86_64";
@@ -127,7 +128,7 @@
       Teradata, Firebird, Derby, etc.
     '';
     license = licenses.asl20;
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
     maintainers = with maintainers; [ jojosch mkg20001 ];
   };
 }
diff --git a/pkgs/applications/misc/fspy/default.nix b/pkgs/applications/misc/fspy/default.nix
index f3a5094831e82..d2384446ed3c2 100644
--- a/pkgs/applications/misc/fspy/default.nix
+++ b/pkgs/applications/misc/fspy/default.nix
@@ -12,7 +12,7 @@ in appimageTools.wrapType2 {
   inherit pname version src;
 
   extraInstallCommands = ''
-    mv $out/bin/${pname}-v${version} $out/bin/${pname}
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/gmtp/default.nix b/pkgs/applications/misc/gmtp/default.nix
index 1479fe7bc7d85..5f03b8ea7e76e 100644
--- a/pkgs/applications/misc/gmtp/default.nix
+++ b/pkgs/applications/misc/gmtp/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   preFixup = ''
-    gappsWrapperArgs+=(--add-flags "--datapath \"$out/share\"");
+    gappsWrapperArgs+=(--add-flags "--datapath $out/share");
   '';
 
   meta = {
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index 60482a84c9b43..c82de2ae02770 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ callPackage
+, lib
 , stdenv
 , fetchurl
 , nixos
@@ -6,12 +7,12 @@
 , hello
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (finalAttrs: {
   pname = "hello";
   version = "2.12";
 
   src = fetchurl {
-    url = "mirror://gnu/hello/${pname}-${version}.tar.gz";
+    url = "mirror://gnu/hello/hello-${finalAttrs.version}.tar.gz";
     sha256 = "1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g";
   };
 
@@ -27,6 +28,8 @@ stdenv.mkDerivation rec {
         (nixos { environment.noXlibs = true; }).pkgs.hello;
   };
 
+  passthru.tests.run = callPackage ./test.nix { hello = finalAttrs.finalPackage; };
+
   meta = with lib; {
     description = "A program that produces a familiar, friendly greeting";
     longDescription = ''
@@ -34,9 +37,9 @@ stdenv.mkDerivation rec {
       It is fully customizable.
     '';
     homepage = "https://www.gnu.org/software/hello/manual/";
-    changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}";
+    changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${finalAttrs.version}";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.all;
   };
-}
+})
diff --git a/pkgs/applications/misc/hello/test.nix b/pkgs/applications/misc/hello/test.nix
new file mode 100644
index 0000000000000..7acded2a16f2d
--- /dev/null
+++ b/pkgs/applications/misc/hello/test.nix
@@ -0,0 +1,8 @@
+{ runCommand, hello }:
+
+runCommand "hello-test-run" {
+  nativeBuildInputs = [ hello ];
+} ''
+  diff -U3 --color=auto <(hello) <(echo 'Hello, world!')
+  touch $out
+''
diff --git a/pkgs/applications/misc/hstr/default.nix b/pkgs/applications/misc/hstr/default.nix
index 888c7892514b8..bb31be1ad27c9 100644
--- a/pkgs/applications/misc/hstr/default.nix
+++ b/pkgs/applications/misc/hstr/default.nix
@@ -1,27 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, readline, ncurses
+{ lib, stdenv, fetchFromGitHub, readline, ncurses
 , autoreconfHook, pkg-config, gettext }:
 
 stdenv.mkDerivation rec {
   pname = "hstr";
-  version = "2.3";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner  = "dvorka";
     repo   = "hstr";
     rev    = version;
-    sha256 = "1chmfdi1dwg3sarzd01nqa82g65q7wdr6hrnj96l75vikwsg986y";
+    sha256 = "sha256-qIMnU+gRR3HPAOrrrduN68R5E8ZJKROfZ0sEHL0E4XU=";
   };
 
-  patches = [
-    # pull pending upstream inclusion fix for ncurses-6.3:
-    #  https://github.com/dvorka/hstr/pull/435
-    (fetchpatch {
-      name = "ncurses-6.3.patch";
-      url = "https://github.com/dvorka/hstr/commit/7fbd852c464ae3cfcd2f4fed9c62a21fb84c5439.patch";
-      sha256 = "15f0ja4bsh4jnchcg0ray8ijpdraag7k07ss87a6ymfs1rg6i0jr";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ readline ncurses gettext ];
 
diff --git a/pkgs/applications/misc/joshuto/default.nix b/pkgs/applications/misc/joshuto/default.nix
index 32018d7151dbd..024334aca5061 100644
--- a/pkgs/applications/misc/joshuto/default.nix
+++ b/pkgs/applications/misc/joshuto/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, fetchFromGitHub, stdenv, SystemConfiguration }:
+{ lib, rustPlatform, fetchFromGitHub, stdenv, SystemConfiguration, Foundation }:
 
 rustPlatform.buildRustPackage rec {
   pname = "joshuto";
@@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-vhTfAoAwDJ9BjhgUEkV2H+KAetJR1YqwaZ7suF6yMXA=";
 
-  buildInputs = lib.optional stdenv.isDarwin SystemConfiguration;
+  buildInputs = lib.optionals stdenv.isDarwin [ SystemConfiguration Foundation ];
 
   meta = with lib; {
     description = "Ranger-like terminal file manager written in Rust";
diff --git a/pkgs/applications/misc/kiln/default.nix b/pkgs/applications/misc/kiln/default.nix
index dfa114f446a1e..2eb329dd51119 100644
--- a/pkgs/applications/misc/kiln/default.nix
+++ b/pkgs/applications/misc/kiln/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "kiln";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromSourcehut {
     owner = "~adnano";
     repo = pname;
     rev = version;
-    hash = "sha256-c6ed62Nn++qw+U/DCiYeGwF77YsBxexWKZ7UQ3LE4fI=";
+    hash = "sha256-owON9ZNi8BufkeARjC6SwxzM81YJYu+bakhH5quzMrA=";
   };
 
   nativeBuildInputs = [ scdoc ];
 
-  vendorSha256 = "sha256-bMpzebwbVHAbBtw0uuGyWd4wnM9z6tlsEQN4S/iucgk=";
+  vendorSha256 = "sha256-C1ueL/zmPzFbpNo5BF56/t74nwCUvb2Vu1exssPqOPE=";
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/applications/misc/libosmocore/default.nix b/pkgs/applications/misc/libosmocore/default.nix
index 273ca0245a2b8..2b825705b0066 100644
--- a/pkgs/applications/misc/libosmocore/default.nix
+++ b/pkgs/applications/misc/libosmocore/default.nix
@@ -1,16 +1,25 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, pcsclite, talloc, python2, gnutls
+{ lib, stdenv
+, autoreconfHook
+, fetchFromGitHub
+, gnutls
+, libmnl
+, libusb1
+, lksctp-tools
+, pcsclite
+, pkg-config
+, python3
+, talloc
 }:
 
 stdenv.mkDerivation rec {
   pname = "libosmocore";
-  version = "1.2.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "osmocom";
     repo = "libosmocore";
     rev = version;
-    sha256 = "1535y6r4csvslrxcki80ya6zhhc5jw2nvy9bymb55ln77pf853vg";
+    hash = "sha256-AjOyZiLlXhsetbyMBuUssoNxk22LzGOkZpeLt4vKli4=";
   };
 
   propagatedBuildInputs = [
@@ -18,11 +27,17 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook pkg-config
+    autoreconfHook
+    pkg-config
+    python3
   ];
 
   buildInputs = [
-    pcsclite python2 gnutls
+    gnutls
+    libmnl
+    libusb1
+    lksctp-tools
+    pcsclite
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 153e50f9a873d..0d28a38202034 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, curl, expat, gcc, openssl, zlib }:
+{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, git, curl, expat, gcc, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.5";
+  version = "0.6.8";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "WKROcCv0IzRnQd74j5Iget5jlfyDbeJ/PXgZmSNrSsQ=";
+    sha256 = "QPbH7d2RC8DLze44Q3gCQ9IzHOgIq8IB+hZr9+8rTs0=";
     name = "${pname}-${version}.AppImage";
   };
 
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     makeWrapper ${electron}/bin/electron $out/bin/${pname} \
+      --prefix PATH : ${lib.makeBinPath [ git ]} \
       --add-flags $out/share/${pname}/resources/app
   '';
 
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index e48065e6d9a08..58946f227ee24 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -31,7 +31,7 @@
 , pyyaml
 , requests
 , keyring
-, python_magic
+, python-magic
 
   # commands that lutris needs
 , xrandr
@@ -104,7 +104,7 @@ buildPythonApplication rec {
     libnotify
     pango
     webkitgtk
-    python_magic
+    python-magic
   ] ++ gstDeps;
 
   propagatedBuildInputs = [
@@ -117,7 +117,7 @@ buildPythonApplication rec {
     pillow
     dbus-python
     keyring
-    python_magic
+    python-magic
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index 0ce8d8c373db4..fc2c2ad618d5e 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -1,17 +1,16 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, wxGTK30-gtk3
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libmediainfo, wxGTK30-gtk3
 , desktop-file-utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "21.09";
+  version = "22.03";
   pname = "mediainfo-gui";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "0mqcqm8y2whnbdi2ry7jd755gfl5ccdqhwjh67hsyr7c0ajxk3vv";
+    sha256 = "sha256-Yjb5Kh1XqBdLPzDqbd6Kq1ONj2IPcoIk2FE3MWmAK+Q=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libzen libmediainfo wxGTK30-gtk3 desktop-file-utils libSM
-                  imagemagick ];
+  buildInputs = [ libmediainfo wxGTK30-gtk3 desktop-file-utils libSM imagemagick ];
 
   sourceRoot = "./MediaInfo/Project/GNU/GUI/";
 
diff --git a/pkgs/applications/misc/mepo/default.nix b/pkgs/applications/misc/mepo/default.nix
index 1b5178bb14ad2..1afcd3c3f1a76 100644
--- a/pkgs/applications/misc/mepo/default.nix
+++ b/pkgs/applications/misc/mepo/default.nix
@@ -22,13 +22,13 @@ let
   menuInputs = if withX11 then [ dmenu xdotool ] else [ bemenu ];
 in stdenv.mkDerivation rec {
   pname = "mepo";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromSourcehut {
     owner = "~mil";
     repo = pname;
     rev = version;
-    hash = "sha256-soIAQgo8Cyii/zzJapgJmC5hN/ySnHKoSbOg/XgTnGg=";
+    hash = "sha256-k6YXaqB3EwbDPlTvijZf10q+IYwt4/MiqGXL495KIcY=";
   };
 
   nativeBuildInputs = [ pkg-config zig makeWrapper ];
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
deleted file mode 100644
index 403df853343c3..0000000000000
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, qemu, unzip, zip,
-  coreutils, gnugrep, which, gnused, e2fsprogs, autoPatchelfHook, gptfdisk,
-  python3Packages, qt5, runtimeShell, lib, util-linux, wrapQtAppsHook }:
-
-# Note: Multibootusb is tricky to maintain. It relies on the
-# $PYTHONPATH variable containing some of their code, so that
-# something like:
-#
-# from scripts import config
-#
-# works. It also relies on the current directory to find some runtime
-# resources thanks to a use of __file__.
-#
-# https://github.com/mbusb/multibootusb/blob/0d34d70c3868f1d7695cfd141141b17c075de967/scripts/osdriver.py#L59
-
-python3Packages.buildPythonApplication rec {
-  pname = "multibootusb";
-  name = "${pname}-${version}";
-  version = "9.2.0";
-
-  nativeBuildInputs = [
-    wrapQtAppsHook
-    autoPatchelfHook
-    unzip
-    zip
-  ];
-
-  runTimeDeps = [
-    coreutils
-    gnugrep
-    which
-    parted
-    util-linux
-    qemu
-    p7zip
-    gnused
-    mtools
-    procps
-    e2fsprogs
-    gptfdisk
-  ];
-
-  buildInputs = [
-    libxcb
-    python3Packages.python
-    qt5.full
-  ];
-
-  src = fetchFromGitHub {
-    owner = "mbusb";
-    repo = pname;
-    rev = "v${version}";
-
-    sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
-  };
-
-  # Tests can't run inside the NixOS sandbox
-  # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
-  doCheck = false;
-
-  pythonPath = with python3Packages; [
-    dbus-python
-    pyqt5
-    pytest-shutil
-    pyudev
-    six
-  ];
-
-  # multibootusb ships zips with various versions of syslinux, we need to patchelf them
-  postPatch = ''
-    for zip in $(find . -name "*.zip"); do
-      zip=$(readlink -f $zip)
-      target="$(mktemp -d)"
-      pushd $target
-      unzip $zip
-      rm $zip
-      autoPatchelf .
-      zip -r $zip *
-      popd
-    done
-  '';
-
-  postInstall = ''
-    # This script doesn't work and it doesn't add much anyway
-    rm $out/bin/multibootusb-pkexec
-
-    # The installed data isn't sufficient for whatever reason, missing gdisk/gdisk.exe
-    mkdir -p "$out/share/${pname}"
-    cp -r data "$out/share/${pname}/data"
-  '';
-
-  preFixup = ''
-    makeWrapperArgs+=(
-      # Firstly, add all necessary QT variables
-      "''${qtWrapperArgs[@]}"
-
-      # Then, add the installed scripts/ directory to the python path
-      --prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
-
-      # Add some runtime dependencies
-      --prefix "PATH" ":" "${lib.makeBinPath runTimeDeps}"
-
-      # Finally, move to directory that contains data
-      --chdir "$out/share/${pname}"
-    )
-  '';
-
-  meta = with lib; {
-    description = "Multiboot USB creator for Linux live disks";
-    homepage = "http://multibootusb.org/";
-    license = licenses.gpl2;
-    maintainers = []; # Looking for a maintainer!
-    broken = true; # "name 'config' is not defined", added 2021-02-06
-  };
-}
diff --git a/pkgs/applications/misc/nanoblogger/default.nix b/pkgs/applications/misc/nanoblogger/default.nix
index e8fa4d4fd379c..0ae63d210e767 100644
--- a/pkgs/applications/misc/nanoblogger/default.nix
+++ b/pkgs/applications/misc/nanoblogger/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "Small weblog engine written in Bash for the command line";
     homepage = "http://nanoblogger.sourceforge.net/";
     license = lib.licenses.gpl2;
+    mainProgram = "nb";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/nimbo/default.nix b/pkgs/applications/misc/nimbo/default.nix
index 8af9d1471a089..5ad86eeccd448 100644
--- a/pkgs/applications/misc/nimbo/default.nix
+++ b/pkgs/applications/misc/nimbo/default.nix
@@ -52,6 +52,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Run machine learning jobs on AWS with a single command";
     homepage = "https://github.com/nimbo-sh/nimbo";
     license = licenses.bsl11;
-    maintainers = with maintainers; [ alex-eyre noreferences ];
+    maintainers = with maintainers; [ alexeyre noreferences ];
   };
 }
diff --git a/pkgs/applications/misc/ocropus/default.nix b/pkgs/applications/misc/ocropus/default.nix
deleted file mode 100644
index 41c6cdee41cad..0000000000000
--- a/pkgs/applications/misc/ocropus/default.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ lib, fetchFromGitHub, fetchurl, python2Packages, curl }:
-
-let
-  getmodel = name: sha256: {
-    inherit name;
-    src = fetchurl {
-      url = "http://www.tmbdev.net/ocropy/${name}";
-      inherit sha256;
-    };
-  };
-
-  models = [
-    (getmodel "en-default.pyrnn.gz"
-      "1xyi3k3p81mfw0491gb1haisazfyi2i18f1wjs1m34ak39qfqjdp")
-    (getmodel "fraktur.pyrnn.gz"
-      "1wlwvxn91ilgmlri1hj81arl3mbzxc24ycdnkf5icq4hdi4c6y8b")
-  ];
-
-in
-python2Packages.buildPythonApplication rec {
-  pname = "ocropus";
-  version = "1.3.3";
-
-  src = fetchFromGitHub {
-    sha256 = "02p1334mic5cfhvpfphfrbim4036yfd8s2zzpwm0xmm829z71nr7";
-    rev = "v${version}";
-    repo = "ocropy";
-    owner = "tmbdev";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ curl numpy scipy pillow
-    matplotlib beautifulsoup4 pygtk lxml ];
-
-  enableParallelBuilding = true;
-
-  preConfigure = with lib; ''
-    ${concatStrings (map (x: "cp -R ${x.src} models/`basename ${x.name}`;")
-      models)}
-
-    substituteInPlace ocrolib/common.py --replace /usr/local $out
-    substituteInPlace ocrolib/default.py --replace /usr/local $out
-  '';
-
-  doCheck = false;  # fails
-  checkPhase = ''
-    patchShebangs .
-    substituteInPlace ./run-test \
-      --replace 'ocropus-rpred' 'ocropus-rpred -Q $NIX_BUILD_CORES'
-    PATH=".:$PATH" ./run-test
-  '';
-
-  meta = with lib; {
-    description = "Open source document analysis and OCR system";
-    license = licenses.asl20;
-    homepage = "https://github.com/tmbdev/ocropy/";
-    maintainers = with maintainers; [ domenkozar ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/oil-buku/default.nix b/pkgs/applications/misc/oil-buku/default.nix
index e0c0548828861..5f895179f1f47 100644
--- a/pkgs/applications/misc/oil-buku/default.nix
+++ b/pkgs/applications/misc/oil-buku/default.nix
@@ -38,7 +38,8 @@ stdenvNoCC.mkDerivation rec {
     description = "Search-as-you-type cli frontend for the buku bookmarks manager using peco";
     homepage = "https://github.com/AndreiUlmeyda/oil";
     license = licenses.gpl3Only;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ atila ];
+    mainProgram = "oil";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 522c5739a882c..1e726f81bfb14 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -1,31 +1,100 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, gtk2, wxGTK30, libpulseaudio, curl,
-  gettext, glib, portaudio }:
+{ stdenv, lib
+, alsa-utils
+, at-spi2-core
+, cmake
+, curl
+, dbus
+, epoxy
+, fetchFromGitHub
+, flac
+, gtk3
+, jasper
+, libGLU
+, libarchive
+, libdatrie
+, libelf
+, libexif
+, libogg
+, libopus
+, libselinux
+, libsepol
+, libsndfile
+, libthai
+, libunarr
+, libusb
+, libvorbis
+, libxkbcommon
+, lsb-release
+, lz4
+, pcre
+, pkg-config
+, portaudio
+, sqlite
+, tinyxml
+, udev
+, util-linux
+, wxGTK31-gtk3
+, xorg
+}:
 
 stdenv.mkDerivation rec {
-  pname = "opencpn-unstable";
-  version = "2019-11-21";
+  pname = "opencpn";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
-    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
+    rev = "Release_${version}";
+    hash = "sha256-sNZYf/2gtjRrrGPuazVnKTgcuIQpKPazhexqlK21T4g=";
   };
 
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ gtk2 wxGTK30 libpulseaudio curl gettext
-                  glib portaudio ];
-
-  cmakeFlags = [
-    "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include"
-    "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
+  nativeBuildInputs = [ cmake lsb-release pkg-config ];
+  buildInputs = [
+    alsa-utils
+    at-spi2-core
+    curl
+    dbus
+    epoxy
+    flac
+    gtk3
+    jasper
+    libGLU
+    libarchive
+    libdatrie
+    libelf
+    libexif
+    libogg
+    libopus
+    libselinux
+    libsepol
+    libsndfile
+    libthai
+    libunarr
+    libusb
+    libvorbis
+    libxkbcommon
+    lz4
+    pcre
+    portaudio
+    sqlite
+    tinyxml
+    udev
+    util-linux
+    wxGTK31-gtk3
+    xorg.libXdmcp
+    xorg.libXtst
   ];
 
-  meta = {
+
+  cmakeFlags = [ "-DOCPN_BUNDLE_DOCS=true" ];
+
+  doCheck = true;
+
+  meta = with lib; {
     description = "A concise ChartPlotter/Navigator";
-    maintainers = [ lib.maintainers.kragniz ];
+    maintainers = with maintainers; [ kragniz lovesegfault ];
     platforms = [ "x86_64-linux" ];
-    license = lib.licenses.gpl2;
+    license = licenses.gpl2;
     homepage = "https://opencpn.org/";
   };
 }
diff --git a/pkgs/applications/misc/phwmon/default.nix b/pkgs/applications/misc/phwmon/default.nix
deleted file mode 100644
index 719c3dc9998e0..0000000000000
--- a/pkgs/applications/misc/phwmon/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib, stdenv, fetchFromGitLab, python2Packages }:
-
-stdenv.mkDerivation {
-  pname = "phwmon";
-  version = "2017-04-10";
-
-  src = fetchFromGitLab {
-    owner = "o9000";
-    repo = "phwmon";
-    rev = "b162e53dccc4adf8f11f49408d05fd85d9c6c909";
-    sha256 = "1hqmsq66y8bqkpvszw84jyk8haxq3cjnz105hlkmp7786vfmkisq";
-  };
-
-  nativeBuildInputs = [ python2Packages.wrapPython ];
-
-  buildInputs = [ python2Packages.pygtk python2Packages.psutil ];
-
-  pythonPath = [ python2Packages.pygtk python2Packages.psutil ];
-
-  postPatch = ''
-    substituteInPlace install.sh --replace "/usr/local" "$out"
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/applications
-    ./install.sh
-  '';
-
-  postFixup = ''
-    wrapPythonPrograms
-  '';
-
-  meta = {
-    homepage = "https://gitlab.com/o9000/phwmon";
-    description = "Hardware monitor (CPU, memory, network and disk I/O) for the system tray";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.unix;
-    maintainers = [ lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index f737f18d158ef..b670f85f7a60b 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -44,13 +44,13 @@
 
 stdenv.mkDerivation rec {
   pname = "polybar";
-  version = "3.6.2";
+  version = "3.6.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-mLAcA8afGLNhRRU/x/TngCMcSRXdEM5wKWoYZhezJqU=";
+    hash = "sha256-FKkPSAEMzptnjJq3xTk+fpD8XjASQ3smX5imstDyLNE=";
     fetchSubmodules = true;
   };
 
@@ -120,7 +120,7 @@ stdenv.mkDerivation rec {
       having a black belt in shell scripting.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ];
+    maintainers = with maintainers; [ afldcr Br1ght0ne fortuneteller2k ckie ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/privacyidea/default.nix b/pkgs/applications/misc/privacyidea/default.nix
index 2a3a1a47410df..225dfb93637cc 100644
--- a/pkgs/applications/misc/privacyidea/default.nix
+++ b/pkgs/applications/misc/privacyidea/default.nix
@@ -9,7 +9,7 @@ let
         version = "1.3.24";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
+          hash = "sha256-67t3fL+TEjWbiXv4G6ANrg9ctp+6KhgmXcwYpvXvdRk=";
         };
       });
       flask_migrate = super.flask_migrate.overridePythonAttrs (oldAttrs: rec {
diff --git a/pkgs/applications/misc/remnote/default.nix b/pkgs/applications/misc/remnote/default.nix
new file mode 100644
index 0000000000000..d19d27153fa01
--- /dev/null
+++ b/pkgs/applications/misc/remnote/default.nix
@@ -0,0 +1,19 @@
+{ lib, fetchurl, appimageTools }:
+
+appimageTools.wrapType2 rec {
+  pname = "remnote";
+  version = "1.7.6";
+
+  src = fetchurl {
+    url = "https://download.remnote.io/RemNote-${version}.AppImage";
+    sha256 = "sha256-yRUpLev/Fr3mOamkFgevArv2UoXgV4e6zlyv7FaQ4RM=";
+  };
+
+  meta = with lib; {
+    description = "A note-taking application focused on learning and productivity";
+    homepage = "https://remnote.com/";
+    maintainers = with maintainers; [ max-niederman ];
+    license = licenses.unfree;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/rofi-rbw/default.nix b/pkgs/applications/misc/rofi-rbw/default.nix
new file mode 100644
index 0000000000000..6a631d5a95087
--- /dev/null
+++ b/pkgs/applications/misc/rofi-rbw/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonApplication, fetchFromGitHub, configargparse }:
+
+buildPythonApplication rec {
+  pname = "rofi-rbw";
+  version = "0.5.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "fdw";
+    repo = "rofi-rbw";
+    rev = version;
+    hash = "sha256-1RDwb8lKls6+X/XtARbi4F7sK4nT03Iy3Wb9N1LEa5o=";
+  };
+
+  propagatedBuildInputs = [ configargparse ];
+
+  pythonImportsCheck = [ "rofi_rbw" ];
+
+  meta = with lib; {
+    description = "Rofi frontend for Bitwarden";
+    homepage = "https://github.com/fdw/rofi-rbw";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dit7ya ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/rofimoji/default.nix b/pkgs/applications/misc/rofimoji/default.nix
index d0d59af604d4d..1cc78282f6c26 100644
--- a/pkgs/applications/misc/rofimoji/default.nix
+++ b/pkgs/applications/misc/rofimoji/default.nix
@@ -15,13 +15,14 @@
 
 buildPythonApplication rec {
   pname = "rofimoji";
-  version = "5.1.0";
+  version = "5.4.0";
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "fdw";
     repo = "rofimoji";
     rev = version;
-    sha256 = "sha256-bLV0hYDjVH11euvNHUHZFcCVywuceRljkCqyX4aANVs=";
+    sha256 = "sha256-D45XGnKWHUsE0DQThITBcgpghelsfGkSEIdg9jvOJlw=";
   };
 
   # `rofi` and the `waylandSupport` and `x11Support` dependencies
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 05223aeb5c128..9729301f6e74c 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DUDf5FlcNZzZASa8vTc72Z1/Dk+iAhtcgVJtjDUwyEo=";
+    sha256 = "sha256-YEgeeoUqDeBx3jPddTeykl+68lS8gVKD+zdo+gRTaT4=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -47,6 +47,6 @@ python3.pkgs.buildPythonApplication rec {
     description = "Simple terminal user interface for Signal";
     homepage = "https://github.com/isamert/scli";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ alex-eyre ];
+    maintainers = with maintainers; [ alexeyre ];
   };
 }
diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix
index ff74d8b098f3a..e3384ff6dd7f5 100644
--- a/pkgs/applications/misc/sigi/default.nix
+++ b/pkgs/applications/misc/sigi/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sigi";
-  version = "3.2.1";
+  version = "3.3.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA=";
+    sha256 = "sha256-dcfzCac4dT2X1hgTSh30G7h2XtvVj1jMUmrUzqZ11y8=";
   };
 
-  cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U=";
+  cargoSha256 = "sha256-CQofC9Y0y8XASLpjk9B6mMlSQqiXnoGZ8kJh16txiPA=";
   nativeBuildInputs = [ installShellFiles ];
 
   # In case anything goes wrong.
diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix
index e8c6445d5f84d..0f331ef6e2ce4 100644
--- a/pkgs/applications/misc/skytemple/default.nix
+++ b/pkgs/applications/misc/skytemple/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "skytemple";
-  version = "1.3.2";
+  version = "1.3.10";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "1sx2rib0la3mifvh84ia3jnnq4qw9jxc13vxyidsdkp6x82nbvcg";
+    sha256 = "sha256-CyYGTXdQsGpDR/gpqViEQO1xUPHaXTES592nRJixa1o=";
   };
 
   buildInputs = [
@@ -26,7 +26,10 @@ python3Packages.buildPythonApplication rec {
     packaging
     pycairo
     pygal
+    psutil
+    gbulb
     pypresence
+    sentry-sdk
     setuptools
     skytemple-dtef
     skytemple-eventserver
diff --git a/pkgs/applications/misc/ssocr/default.nix b/pkgs/applications/misc/ssocr/default.nix
index 42bd58cd78316..4496f2a595324 100644
--- a/pkgs/applications/misc/ssocr/default.nix
+++ b/pkgs/applications/misc/ssocr/default.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, imlib2, libX11 }:
+{ lib, stdenv, fetchFromGitHub, imlib2, libX11, pkg-config }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "ssocr";
-  version = "unstable-2018-08-11";
+  version = "2.22.1";
 
   src = fetchFromGitHub {
     owner = "auerswal";
     repo = "ssocr";
-    rev = "5e47e26b125a1a13bc79de93a5e87dd0b51354ca";
-    sha256 = "0yzprwflky9a7zxa3zic7gvdwqg0zy49zvrqkdxng2k1ng78k3s7";
+    rev = "v${version}";
+    sha256 = "sha256-j1l1o1wtVQo+G9HfXZ1sJQ8amsUQhuYxFguWFQoRe/s=";
   };
 
-  nativeBuildInputs = [ imlib2 libX11 ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ imlib2 libX11 ];
 
   installFlags = [ "PREFIX=$(out)" ];
 
diff --git a/pkgs/applications/misc/swaynotificationcenter/default.nix b/pkgs/applications/misc/swaynotificationcenter/default.nix
index a93436362adf5..c05778d6aaea3 100644
--- a/pkgs/applications/misc/swaynotificationcenter/default.nix
+++ b/pkgs/applications/misc/swaynotificationcenter/default.nix
@@ -4,6 +4,7 @@
 , meson
 , ninja
 , pkg-config
+, scdoc
 , vala
 , gtk3
 , glib
@@ -20,16 +21,16 @@
 
 stdenv.mkDerivation rec {
   pname = "SwayNotificationCenter";
-  version = "0.3";
+  version = "0.5";
 
   src = fetchFromGitHub {
     owner = "ErikReider";
     repo = "SwayNotificationCenter";
     rev = "v${version}";
-    hash = "sha256-gXo/V2FHkHZBRmaimqJCzi0BqS4tP9IniIlubBmK5u0=";
+    hash = "sha256-Jjbr6GJ0MHlO+T/simPNYQnB5b7Cr85j4GRjRGa5B6s=";
   };
 
-  nativeBuildInputs = [ gobject-introspection meson ninja pkg-config vala wrapGAppsHook ];
+  nativeBuildInputs = [ gobject-introspection meson ninja pkg-config scdoc vala wrapGAppsHook ];
 
   buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 json-glib libhandy librsvg ];
 
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index f2c8e6075d9d3..3ea247f4b080e 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -10,6 +10,7 @@
 , gtk3
 , gsettings-desktop-schemas
 , p7zip
+, autoPatchelfHook
 , libXxf86vm
 , unzip
 }:
@@ -41,14 +42,17 @@ let
     };
 
     postPatch = ''
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
-      patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_x11.so
+      addAutoPatchelfSearchPath ${jre8}/lib/openjdk/jre/lib/
+      autoPatchelf lib
+
+      # Nix cannot see the runtime references to the paths we just patched in
+      # once they've been compressed into the .jar. Scan for and remember them
+      # as plain text so they don't get overlooked.
+      find . -name '*.so' | xargs strings | { grep '/nix/store' || :; } >> ./.jar-paths
     '';
 
-    nativeBuildInputs = [ makeWrapper unzip ];
-    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
+    nativeBuildInputs = [ makeWrapper unzip autoPatchelfHook ];
+    buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas libXxf86vm ];
 
     buildPhase = ''
       runHook preBuild
@@ -80,6 +84,13 @@ let
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
         --add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
 
+
+      # remember the store paths found inside the .jar libraries. note that
+      # which file they are in does not matter in particular, just that some
+      # file somewhere lists them in plain-text
+      mkdir -p $out/nix-support
+      cp .jar-paths $out/nix-support/depends
+
       runHook postInstall
     '';
 
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index 5a12380a4ff87..56baa1e9d8228 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
     homepage = "https://taskwarrior.org";
     license = licenses.mit;
     maintainers = with maintainers; [ marcweber oxalica ];
+    mainProgram = "task";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/translate-shell/default.nix b/pkgs/applications/misc/translate-shell/default.nix
index be2ee1e7a8510..e46f5d2b8c1d7 100644
--- a/pkgs/applications/misc/translate-shell/default.nix
+++ b/pkgs/applications/misc/translate-shell/default.nix
@@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
     description = "Command-line translator using Google Translate, Bing Translator, Yandex.Translate, and Apertium";
     license = licenses.unlicense;
     maintainers = with maintainers; [ ebzzry infinisil ];
+    mainProgram = "trans";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
index 2c4cc1a11c096..e7299326e87db 100644
--- a/pkgs/applications/misc/tut/default.nix
+++ b/pkgs/applications/misc/tut/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tut";
-  version = "0.0.42";
+  version = "0.0.46";
 
   src = fetchFromGitHub {
     owner = "RasmusLindroth";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zWhG9lzerzDqqFN8IG5JSv3voLzvtp/gg6jBisbodMc=";
+    sha256 = "sha256-C9kyA6QuL8sqzCooaPzSP7VOpu7jcSFCUx9oaZLZ7/w=";
   };
 
   vendorSha256 = "sha256-kMGEAN/I2XsIc6zCDbhbbstYlyjDpXQsOPUzjaJqJBk=";
diff --git a/pkgs/applications/misc/twitch-chat-downloader/default.nix b/pkgs/applications/misc/twitch-chat-downloader/default.nix
index a8ffb46c1f88a..779b9ddba63bf 100644
--- a/pkgs/applications/misc/twitch-chat-downloader/default.nix
+++ b/pkgs/applications/misc/twitch-chat-downloader/default.nix
@@ -9,16 +9,22 @@
 
 buildPythonApplication rec {
   pname = "twitch-chat-downloader";
-  version = "3.2.1";
+  version = "3.2.2";
 
   src = fetchPypi {
     inherit version;
     pname = "tcd";
-    sha256 = "f9b5ea2ad3badb7deffdd9604368ccb54170cd7929efbaa2d7b534e089ae6338";
+    sha256 = "ee6a8e22c54ccfd29988554b13fe56b2a1bf524e110fa421d77e27baa8dcaa19";
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace "'pipenv>=2020.5.28'," ""
+    substituteInPlace setup.py \
+      --replace "'pipenv==2022.4.30'," "" \
+      --replace "setuptools==62.1." "setuptools" \
+      --replace "requests==2.27.1" "requests" \
+      --replace "twitch-python==0.0.20" "twitch-python" \
+      --replace "pytz==2022.1" "pytz" \
+      --replace "python-dateutil==2.8.2" "python-dateutil"
   '';
 
   propagatedBuildInputs = [ requests twitch-python pytz python-dateutil ];
diff --git a/pkgs/applications/misc/udiskie/default.nix b/pkgs/applications/misc/udiskie/default.nix
index fb9c7021b15b8..d5d4b766e7752 100644
--- a/pkgs/applications/misc/udiskie/default.nix
+++ b/pkgs/applications/misc/udiskie/default.nix
@@ -1,42 +1,47 @@
 { lib
+, asciidoc
 , fetchFromGitHub
-, buildPythonApplication
-, asciidoc-full
-, docopt
-, gettext
 , gobject-introspection
 , gtk3
-, keyutils
+, installShellFiles
 , libappindicator-gtk3
 , libnotify
 , librsvg
-, nose
-, pygobject3
-, pyyaml
+, python3
 , udisks2
 , wrapGAppsHook
 }:
 
-buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "udiskie";
-  version = "2.4.0";
+  version = "2.4.2";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coldfix";
     repo = "udiskie";
     rev = "v${version}";
-    hash = "sha256-T4kMPMXfehZT7P+TOd1llR2TbHPA/quNL545xxlmJfE=";
+    hash = "sha256-lQMJVSY3JeZYYOFDyV29Ye2j8r+ngE/ta2wQYipy4hU=";
   };
 
-  outputs = [ "out" "man" ];
+  patches = [
+    ./locale-path.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace udiskie/locale.py --subst-var out
+  '';
 
   nativeBuildInputs = [
-    asciidoc-full # Man page
-    gettext
+    asciidoc # Man page
     gobject-introspection
+    installShellFiles
     wrapGAppsHook
   ];
 
+  dontWrapGApps = true;
+
   buildInputs = [
     gobject-introspection
     gtk3
@@ -46,8 +51,9 @@ buildPythonApplication rec {
     udisks2
   ];
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python3.pkgs; [
     docopt
+    keyutils
     pygobject3
     pyyaml
   ];
@@ -57,21 +63,20 @@ buildPythonApplication rec {
   '';
 
   postInstall = ''
-    mkdir -p $man/share/man/man8
-    cp -v doc/udiskie.8 $man/share/man/man8/
+    installManPage doc/udiskie.8
   '';
 
-  checkInputs = [
-    keyutils
-    nose
-  ];
-
-  checkPhase = ''
-    nosetests
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/coldfix/udiskie";
+    changelog = "https://github.com/coldfix/udiskie/blob/${src.rev}/CHANGES.rst";
     description = "Removable disk automounter for udisks";
     longDescription = ''
       udiskie is a udisks2 front-end that allows to manage removeable media such
@@ -88,6 +93,6 @@ buildPythonApplication rec {
       - password caching (requires python keyutils 0.3)
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres dotlambda ];
   };
 }
diff --git a/pkgs/applications/misc/udiskie/locale-path.patch b/pkgs/applications/misc/udiskie/locale-path.patch
new file mode 100644
index 0000000000000..f454bee467dba
--- /dev/null
+++ b/pkgs/applications/misc/udiskie/locale-path.patch
@@ -0,0 +1,17 @@
+diff --git a/udiskie/locale.py b/udiskie/locale.py
+index f12bea9..450e38b 100644
+--- a/udiskie/locale.py
++++ b/udiskie/locale.py
+@@ -10,10 +10,8 @@ from gettext import translation
+ testdirs = [
+     # manual override:
+     os.environ.get('TEXTDOMAINDIR'),
+-    # editable installation:
+-    os.path.join(os.path.dirname(__file__), '../build/locale'),
+-    # user or virtualenv installation:
+-    os.path.join(sys.prefix, 'share/locale'),
++    # Nix installation:
++    os.path.join('@out@', 'share/locale'),
+ ]
+ testfile = 'en_US/LC_MESSAGES/udiskie.mo'
+ localedir = next(
diff --git a/pkgs/applications/misc/upwork/default.nix b/pkgs/applications/misc/upwork/default.nix
index c6a79aa0e61e7..34cc97023989e 100644
--- a/pkgs/applications/misc/upwork/default.nix
+++ b/pkgs/applications/misc/upwork/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "upwork";
-  version = "5.6.10.7";
+  version = "5.6.10.13";
 
   src = fetchurl {
-    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_7_f806fd1250954801/${pname}_${version}_amd64.deb";
-    sha256 = "6fe11cd53ffb66a02aa771153c4f58af34fea25847ee5bc13802fec9b0db0280";
+    url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_6_10_13_3c485d1dd2af4f61/${pname}_${version}_amd64.deb";
+    sha256 = "c3e1ecf14c99596f434edf93a2e08f031fbaa167025d1280cf19f68b829d6b79";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/web-media-controller/default.nix b/pkgs/applications/misc/web-media-controller/default.nix
index 7e0fbb999f5fa..d2b5b924ea8c0 100644
--- a/pkgs/applications/misc/web-media-controller/default.nix
+++ b/pkgs/applications/misc/web-media-controller/default.nix
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
     description = "MPRIS proxy for usage with 'Web Media Controller' web extension";
     license = licenses.unlicense;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "web-media-controller";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix
index 3920a3a86554e..9b8a7f0a348ad 100644
--- a/pkgs/applications/misc/whalebird/default.nix
+++ b/pkgs/applications/misc/whalebird/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, dpkg, autoPatchelfHook, makeWrapper, electron
-, nodePackages, alsa-lib, gtk3, libxshmfence, mesa, nss }:
+, nodePackages, alsa-lib, gtk3, libdbusmenu, libxshmfence, mesa, nss }:
 
 stdenv.mkDerivation rec {
   pname = "whalebird";
-  version = "4.5.2";
+  version = "4.5.4";
 
   src = fetchurl {
     url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
-    sha256 = "sha256-4ksKXVeUGICHfx014s5g9mapS751dbexBjzyqNvk02M=";
+    sha256 = "048c2hpnlzjli8r1lcm7hd32qfsq4p9vkimrgc049yw9f15ndjpr";
   };
 
   nativeBuildInputs = [
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     nodePackages.asar
   ];
 
-  buildInputs = [ alsa-lib gtk3 libxshmfence mesa nss ];
+  buildInputs = [ alsa-lib gtk3 libdbusmenu libxshmfence mesa nss ];
 
   dontConfigure = true;
 
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 9e05e09caefed..2a6bab5ebda77 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -1,25 +1,23 @@
-{ mkDerivation, lib, fetchFromGitHub, autoreconfHook, perl, pkg-config
-, libtool, openssl, qtbase, qttools }:
+{ mkDerivation, lib, fetchFromGitHub, autoreconfHook, pkg-config
+, libtool, openssl, qtbase, qttools, sphinx }:
 
 mkDerivation rec {
   pname = "xca";
-  version = "2.2.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "chris2511";
     repo   = "xca";
     rev    = "RELEASE.${version}";
-    sha256 = "0na2816lkfkkvssh9kmf5vwy6x8kd4x7h138jzy61wrvs69vhnbi";
+    sha256 = "04z0mmjsry72nvib4icmwh1717y4q9pf2gr68ljrzln4vv4ckpwk";
   };
 
-  postPatch = ''
-    substituteInPlace doc/code2html \
-      --replace /usr/bin/perl ${perl}/bin/perl
-  '';
-
   buildInputs = [ libtool openssl qtbase ];
 
-  nativeBuildInputs = [ autoreconfHook pkg-config qttools ];
+  nativeBuildInputs = [ autoreconfHook pkg-config qttools sphinx ];
+
+  # Needed for qcollectiongenerator (see https://github.com/NixOS/nixpkgs/pull/92710)
+  QT_PLUGIN_PATH = "${qtbase}/${qtbase.qtPluginPrefix}";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 927b04d5e210f..58c0c066d8388 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -12,11 +12,11 @@ assert enablePrinting -> cups != null;
 
 stdenv.mkDerivation rec {
   pname = "xpdf";
-  version = "4.03";
+  version = "4.04";
 
   src = fetchzip {
     url = "https://dl.xpdfreader.com/xpdf-${version}.tar.gz";
-    sha256 = "09yhvmh1vxjy763nnmawynygp5bh3j4i8ixqja64j11676yl77n6";
+    hash = "sha256-ujH9KDwFRjPIKwdMg79Mab9BfA2HooY5+2PESUgnGDY=";
   };
 
   # Fix "No known features for CXX compiler", see
diff --git a/pkgs/applications/misc/xplr/default.nix b/pkgs/applications/misc/xplr/default.nix
index db28952c31f2b..578c08b207eda 100644
--- a/pkgs/applications/misc/xplr/default.nix
+++ b/pkgs/applications/misc/xplr/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xplr";
-  version = "0.17.3";
+  version = "0.17.6";
 
   src = fetchFromGitHub {
     owner = "sayanarijit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BbD0Z/WGNaqpPowZqc4kmFLbL9/+JotKm7dWIgS3NjM=";
+    sha256 = "1lgfa1y5vsm3gqxizdgbn816klcamqmshw817mwan5i5yx9nk6xz";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
-  cargoSha256 = "sha256-qsicWf15U5b4xMqkXDOrhGNrQmiZkoxBQwV58asQa8k=";
+  cargoSha256 = "sha256-va+MKnHVdkQNq1SFvvoYnb28tW61W7d97LoCMNzwZHE=";
 
   meta = with lib; {
     description = "A hackable, minimal, fast TUI file explorer";
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index ed9f16066b0d5..a0f15253d6a50 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, wrapGAppsHook
+{ lib, stdenv, fetchurl, wrapGAppsHook, makeWrapper
 , dpkg
 , alsa-lib
 , at-spi2-atk
@@ -49,6 +49,9 @@
 , pulseSupport ? stdenv.isLinux
 , libpulseaudio
 
+# For GPU acceleration support on Wayland (without the lib it doesn't seem to work)
+, libGL
+
 # For video acceleration via VA-API (--enable-features=VaapiVideoDecoder,VaapiVideoEncoder)
 , libvaSupport ? stdenv.isLinux
 , libva
@@ -66,7 +69,7 @@ let
 
   deps = [
     alsa-lib at-spi2-atk at-spi2-core atk cairo cups dbus expat
-    fontconfig freetype gdk-pixbuf glib gtk3 libdrm libX11
+    fontconfig freetype gdk-pixbuf glib gtk3 libdrm libX11 libGL
     libxkbcommon libXScrnSaver libXcomposite libXcursor libXdamage
     libXext libXfixes libXi libXrandr libXrender libxshmfence
     libXtst libuuid mesa nspr nss pango pipewire udev wayland
@@ -87,11 +90,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.38.109";
+  version = "1.38.115";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "sha256-w/Wm8msW4etF6E1UDujLfixhxmKBcnB+uw/CMcj4jGI=";
+    sha256 = "sha256-YQpFsB3VVzsOa7PoZ+TLv10Dzm9z819cmyw7atnG/Cs=";
   };
 
   dontConfigure = true;
@@ -99,7 +102,10 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
   doInstallCheck = true;
 
-  nativeBuildInputs = [ dpkg wrapGAppsHook ];
+  nativeBuildInputs = [
+    dpkg
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+  ];
 
   buildInputs = [
     # needed for GSETTINGS_SCHEMAS_PATH
@@ -128,9 +134,9 @@ stdenv.mkDerivation rec {
       ln -sf $BINARYWRAPPER $out/bin/brave
 
       for exe in $out/opt/brave.com/brave/{brave,chrome_crashpad_handler}; do
-      patchelf \
-          --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath "${rpath}" $exe
+          patchelf \
+              --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+              --set-rpath "${rpath}" $exe
       done
 
       # Fix paths
@@ -170,10 +176,10 @@ stdenv.mkDerivation rec {
       ${optionalString (disableFeatures != []) ''
       --add-flags "--disable-features=${strings.concatStringsSep "," disableFeatures}"
       ''}
-      --add-flags ${escapeShellArg commandLineArgs}
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
       ${optionalString vulkanSupport ''
       --prefix XDG_DATA_DIRS  : "${addOpenGLRunpath.driverLink}/share"
+      --add-flags ${escapeShellArg commandLineArgs}
       ''}
     )
   '';
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 3b22761cbc019..993f95a6bfffb 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -160,6 +160,10 @@ let
       ./patches/no-build-timestamps.patch
       # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags:
       ./patches/widevine-79.patch
+    ] ++ optionals (versionRange "102" "103") [
+      # https://dawn-review.googlesource.com/c/dawn/+/88582
+      # Wrap get_gitHash in try-catch to prevent failures in tarball builds.
+      ./patches/m102-fix-dawn_version_generator-failure.patch
     ];
 
     postPatch = optionalString (chromiumVersionAtLeast "102") ''
diff --git a/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch b/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch
new file mode 100644
index 0000000000000..e9391541e435c
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/m102-fix-dawn_version_generator-failure.patch
@@ -0,0 +1,43 @@
+From e9ffd084ec1ff9f7bfc86879732953dc58256958 Mon Sep 17 00:00:00 2001
+From: Loko Kung <lokokung@google.com>
+Date: Tue, 3 May 2022 00:28:53 +0000
+Subject: [PATCH] Wrap get_gitHash in try-catch to prevent failures in tarball
+ builds.
+
+Bug: chromium:1321370
+Change-Id: If39d2236d1b4d965f7bd189f6bd1cdc70436c41d
+Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/88582
+Commit-Queue: Loko Kung <lokokung@google.com>
+Reviewed-by: Austin Eng <enga@chromium.org>
+Kokoro: Kokoro <noreply+kokoro@google.com>
+(cherry picked from commit 03ddfbb81fb4127ca37ea53e70fcb34fe851e24e)
+---
+ third_party/dawn/generator/dawn_version_generator.py | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/dawn/generator/dawn_version_generator.py b/third_party/dawn/generator/dawn_version_generator.py
+index 1907e88da..3c1927bee 100644
+--- a/third_party/dawn/generator/dawn_version_generator.py
++++ b/third_party/dawn/generator/dawn_version_generator.py
+@@ -23,11 +23,14 @@ def get_git():
+
+
+ def get_gitHash(dawnDir):
+-    result = subprocess.run([get_git(), 'rev-parse', 'HEAD'],
+-                            stdout=subprocess.PIPE,
+-                            cwd=dawnDir)
+-    if result.returncode == 0:
+-        return result.stdout.decode('utf-8').strip()
++    try:
++        result = subprocess.run([get_git(), "rev-parse", "HEAD"],
++                                stdout=subprocess.PIPE,
++                                cwd=dawnDir)
++        if result.returncode == 0:
++            return result.stdout.decode("utf-8").strip()
++    except Exception:
++        return ""
+     # No hash was available (possibly) because the directory was not a git checkout. Dawn should
+     # explicitly handle its absenece and disable features relying on the hash, i.e. caching.
+     return ''
+--
+2.36.0
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 0df1f31fb50d2..031439f75d232 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "101.0.4951.41",
-    "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609",
-    "sha256bin64": "12nzzsp4040mwc7jah5w0p58ckv8s16wv6ylf6vlmfby06a4xlkq",
+    "version": "101.0.4951.64",
+    "sha256": "1xyqm32y9v1hn8ji6qfw6maynqgg3266j58dq4x4aqsm2gj9cn4w",
+    "sha256bin64": "14ijrj7h2y72ppyysz6jv40c01lbnan7z69cl24asch2zjlgwv8v",
     "deps": {
       "gn": {
         "version": "2022-03-14",
@@ -12,16 +12,16 @@
       }
     },
     "chromedriver": {
-      "version": "101.0.4951.15",
-      "sha256_linux": "1i8ay83gh1q6nd0v14qv7gjar9h4fccb50a8b6fg671pg0l6vn24",
-      "sha256_darwin": "0ldxy1dxb99xps0h1d1264njc55q4bd000bdnaaks9kyx2djn54b",
-      "sha256_darwin_aarch64": "14awsldpqz2y187jwbcli8v7f1r6gsybk8yx8jqg26y8iyg3lrx9"
+      "version": "101.0.4951.41",
+      "sha256_linux": "0zsh6cm7h1m0k5mx1cd29knxjxaadjjcbp7m5fr2mx9c21a1nlcr",
+      "sha256_darwin": "09py50436y81lw2vk44256dmzsg8dqj14fd0g0gs1cc3ps6q4awl",
+      "sha256_darwin_aarch64": "0krjijd0zgwg8d44miz43xrjdlvfiymbrrz5r1hzpx64555ch12y"
     }
   },
   "beta": {
-    "version": "102.0.5005.27",
-    "sha256": "0fznry72w50dpijg55yxkaz1hv1zkvvxini3yxadwpfa5y0mpn3m",
-    "sha256bin64": "0k543zz3njsn5kh1wf90hqywll9s6g4xrnh2zqph066l91gj17rx",
+    "version": "102.0.5005.49",
+    "sha256": "16r9mrsagy8lspr4pcrzfpw0vw0ym9m7n41a9yipjhm2arlhw5b2",
+    "sha256bin64": "0lyk6rd9c1gyvxsmq1bl7asr7carzyaan306ddvwxsy5rfh53jxa",
     "deps": {
       "gn": {
         "version": "2022-04-14",
@@ -32,22 +32,22 @@
     }
   },
   "dev": {
-    "version": "103.0.5028.0",
-    "sha256": "06i6kgsdril5gfbjl1sh0z5hqvq64bchhb2z8w0h8cw9977bvqk6",
-    "sha256bin64": "09hxvcv5n1kd4qnwh6pxzmrlnc8xijm7rwb1c8c57v0jjb32x9ry",
+    "version": "103.0.5056.0",
+    "sha256": "1mvi7yc38cxn39wqm8ybrn862gaw293rb6lwcszc6rmzwd9jmd29",
+    "sha256bin64": "06371adaz8llzfjykc72vjvpy3xrgvqzz9kdrr82jdx1pjdbv29d",
     "deps": {
       "gn": {
-        "version": "2022-04-26",
+        "version": "2022-05-09",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "ced9fbfe6943854e65ada4ac1849d1fa4cb19348",
-        "sha256": "14fgjsfqihmma1cr8n30n37vxkf20paa6swq2yxn1agjvfr9cdvl"
+        "rev": "bf4e17dc67b2a2007475415e3f9e1d1cf32f6e35",
+        "sha256": "0d2lb4alsx32zsdw3jxpxbzal350mim237p2y984h4r6fd1ddzyi"
       }
     }
   },
   "ungoogled-chromium": {
-    "version": "101.0.4951.41",
-    "sha256": "0dzsbr309n70jg7fpq2qfnrgcm4553akvdmnzhss1fc85s467609",
-    "sha256bin64": "12nzzsp4040mwc7jah5w0p58ckv8s16wv6ylf6vlmfby06a4xlkq",
+    "version": "101.0.4951.64",
+    "sha256": "1xyqm32y9v1hn8ji6qfw6maynqgg3266j58dq4x4aqsm2gj9cn4w",
+    "sha256bin64": "14ijrj7h2y72ppyysz6jv40c01lbnan7z69cl24asch2zjlgwv8v",
     "deps": {
       "gn": {
         "version": "2022-03-14",
@@ -56,8 +56,8 @@
         "sha256": "0nql15ckjqkm001xajq3qyn4h4q80i7x6dm9zinxxr1a8q5lppx3"
       },
       "ungoogled-patches": {
-        "rev": "101.0.4951.41-1",
-        "sha256": "19m31bd04yvba3w5iymkxfjnmilas3cfp383m9fl6pd4wwhy9md0"
+        "rev": "101.0.4951.64-1",
+        "sha256": "0k7w6xvjf1yzyak9ywvcdw762d8zbx6d8haz35q87jz0mxfn2mr3"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index a294a87080591..f05ccab2975dd 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "100.0b6";
+  version = "101.0b2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ach/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ach/firefox-101.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "6b5ac2e733e44616405f31b16bc995f945740477d00988ce5dd4f16c4ec74085";
+      sha256 = "84d818f3e3533fa8d0f92c00d654023c036238db4a9a9048a0d71c0b60017eb6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/af/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/af/firefox-101.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "5b25ad2870b33002060f493368f79921046f5b19e4adf0c5e1836b7d00347790";
+      sha256 = "1d60a63bdf28d4e0ad1ffe1459cd949704bed08864d0a1118032acb6f9e9cd82";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/an/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/an/firefox-101.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "9fc4a88d9216ba0b5979e939092314f135da9e33a3d8df7cadcf142f19b0b71f";
+      sha256 = "b779cd24703b623d06cf69b60c92e244ed6f8c0df5f30ccf8c3d5d9d08841af1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ar/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ar/firefox-101.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "23f33752d3df64ee98cdbdc569b8cb4cea2dbbae71810a3a14a82a6361f97b9e";
+      sha256 = "b8121d4f1a9b04814933df8e15c7e7c01ed24aba78ce1f43d29ec0130aeb7d50";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ast/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ast/firefox-101.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "a5d357ed9b58fe0a2b7c95e24cb18659c7aee29cb1cda0071b7afdee9c3ac9eb";
+      sha256 = "cffaf3288650509a3d25988ba32bcb0e7af0bd787b7b5ea297490f236ee91d5e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/az/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/az/firefox-101.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "1191a7c0a3222d55a605bbb5f25d064414d08b9bfb6dc6ad74dd1de357177701";
+      sha256 = "c9e62710701996c4d556320583209402dc955296117e8d70a6ead33472e07d0c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/be/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/be/firefox-101.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "69445ca3cf31d63162ddd0aab1538655a08e325aad57a3d343ac310193a942a3";
+      sha256 = "4bb469f3523bdff58e83d9de56a80f1d9396df2fae2c048ea91cefa14d89def2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bg/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bg/firefox-101.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f2ff0a6bf22b9ed16b0656d4e0848c509cee2de9a638d556500909e1352ae5b3";
+      sha256 = "bbe96de47df523971ad2f7e72b4c5ef040b94dcf3d88dcded6a3808098aeb1c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bn/firefox-101.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "1fbfdb8d6f22567eb1112c63ab6192cb439b9d2cd5e57c10401c76f9f9cd215b";
+      sha256 = "0973eae62bf490af5bdf71d5e33dffe291809a2c4389fb8c9cdf33670ab497cb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/br/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/br/firefox-101.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "e05895d70c72aadcb77dc6d84a6a054a8410b29e05d5da6eeac0fdee1b66b130";
+      sha256 = "f693b340a2d7ac5bf40705b51333bf7bc22e9a62a9dd14952e6835a8d5374267";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/bs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/bs/firefox-101.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "ba125689cbd845e9bf8df940bbfd0796326939ba9b45d4bc0c0a8ddf64dd6f61";
+      sha256 = "de631ff909d671164e52e7194c1f5f5ac6156ef66877f4642c5f067e806281b3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ca-valencia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ca-valencia/firefox-101.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "37a5ba26d10cbc2aa8222a2f19133a12710adeb389234ff53a91b43ddd5e901a";
+      sha256 = "eb73e92b05b37a7aa042b8b865a630a95fdeed41e9881f659a3589c2dcf3fd99";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ca/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ca/firefox-101.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "5f11f3a11b93f06235981200b690cb9aaf95ed8d459ea8e1d6ac7c6a73d9d9e4";
+      sha256 = "d227042106358cfc9025f3bdc84e12494550e29ba4a8a622fa6c1b88a6cfe7cc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cak/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cak/firefox-101.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "1d4a103b8c2c601b908a635d2b5edaec068c1a2e644e1924022a94e57e1b2f6a";
+      sha256 = "6831c152ec2fcab6fe7e6792887c7b813c2e226836135acbfc4ca66a9b114014";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cs/firefox-101.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "358b2c3c3c5a9945b35f1c71eadaf7d5305d214ecfe37fda811fd37d326dfd35";
+      sha256 = "c7c52ee04dbc90417e6c6d35cefe315daffddb6b13b7a239254bc15cb22f197c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/cy/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/cy/firefox-101.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "bcbab842e30d22f7d646d2494451e0e676c40c16c1e3532b4c6cd6eb501fb7c2";
+      sha256 = "e6315de3fc02ab229e1e8422f614ceb0ac4ee1aa913492a24f200dd922dfb2ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/da/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/da/firefox-101.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "3b462ea57616171ebe43e218d7fbcc8c45d508fa2b91490d5b107842bf936d25";
+      sha256 = "1dbcc3ad30cae0c8e5cd29dc480373fe80989d8636d42e45698b8f7a76bb7781";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/de/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/de/firefox-101.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "067a586989c84a280366c6021daf270652d443465b63d03e0fb9ff02eeb3f3ee";
+      sha256 = "43189166f2f1e7a3366922270b62e95027f2d750206bd1878b764a5a7572d360";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/dsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/dsb/firefox-101.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "42621cd070dc172b08bdce256c91d6faeede97b116b353f1edf2354c0e37ec3a";
+      sha256 = "2016ca15c4ef78eb8c698646cf6a7ca605f2316cde2df5e1648510c117fa32dc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/el/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/el/firefox-101.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "f079ccc06590277ccf09d4e34b73d3b363d79651d6e2a07d7e127a42ab552bac";
+      sha256 = "7aa33608bd1e9ce1bf3a7b1943644873a7e3d91a5bbc72ac03be5fa1bc4ec8aa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-CA/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-CA/firefox-101.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "e3f239da659c77662a10ba061f806d615f9a57fe89d1207ac04cacc603a9a587";
+      sha256 = "e31cc0e5dd155c22b1b3a6219b154544b729e700496e8d8f83a895174e6ecb7e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-GB/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-GB/firefox-101.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "e41640386bbceef99290458576da3272ea400e78641cbae73ece0e07045396ab";
+      sha256 = "7521c0e6c083d26d1f5a67f695354e64947ec3335d07991e97429e569aa17e23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/en-US/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/en-US/firefox-101.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "7f5888e7c0480f4f1626943f1878945166179ab94d995e23d0b8f5eb9d83ab4e";
+      sha256 = "e1ad655ed971655a6b56446b5e09fb7f0415c8ff09370ad8fccf7f28dbbd17b0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/eo/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/eo/firefox-101.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "6c07749b176c7c533a824357da81a42ef10fc78f09b58e7a090d3e36fd77a6d5";
+      sha256 = "9afae49a33f2a0aa02a346fe6e456d09dbe88a0c655a015be5e50a307c472d95";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-AR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-AR/firefox-101.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "2d23cfea40e6948fd330b2e72f40edab597e5261fb9abcbd539d0b9f513fd946";
+      sha256 = "f8919da0647b6e6a6587f4856ce20be5f6054f4e5b6d71562fbffbac594853cf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-CL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-CL/firefox-101.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "eef75de09e6fa7d21ca4aa799ea4b279dcdeefa79d9b4ef7f3b5266c90c2a8ff";
+      sha256 = "b31b8a41ac391aefff8c1d85a29ab129983bd39474a15672cb3e74d916e0c9eb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-ES/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-ES/firefox-101.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "31d985ab2af1ba15fc6b41580fed4a06fa33fb8cf3dfcf96b1a5ea4e361058f5";
+      sha256 = "f4f6e6100d85050d381beaa4f2dfeb6b5e7170cf2c079257ebbfbd80219904b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/es-MX/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/es-MX/firefox-101.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "1fdc9e77eadf9abb55224bf0db1e555eb99f4a7c525f6021fe226ea7de9db026";
+      sha256 = "c2e3bd2ccbfe64fc5eb1d4f920554ba3d170c0e2e478791d9cc19da955960200";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/et/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/et/firefox-101.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "2df8328fcf9f10b84b2110f31ec32a5dce7054845c37f7e30b023daee4701322";
+      sha256 = "cc0b56f513294b0742023e37a06a462b107a480c1fcab118bfba6894c2e72375";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/eu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/eu/firefox-101.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "30037fbdb33703b894bb0e33b192d23aa1b67ab9b944b1381d27f95e0c44bdf9";
+      sha256 = "8a18e5428a9dc60cd39ff3a1b0900282178efe54c11b43a8015b86d33368804b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fa/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fa/firefox-101.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "37af6700e54f98541fe1f703c13ccad70a72bb7e28200762bf636bd3494b443d";
+      sha256 = "75fce16479f2e95c9a00f369364c279b362c0248e787ade7f14f6aba934cc624";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ff/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ff/firefox-101.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "3612950e42cf9532bb5be99f9f73e2f6b480c58570b1092f8eb337aba1257234";
+      sha256 = "90081b6c7b487292a14e2a488a14e9d560183ff6313a67076f1a07033df54a80";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fi/firefox-101.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "a8a2bace3af643c6b82bdfb043f90d4cd6ec10abfed6ada230786ef7eaaf9ee4";
+      sha256 = "308fbcc9086fc3f899703a58cd95f55b7e10b7ab4fc0c4cac02c01f5dfd2ffc0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fr/firefox-101.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "296f91da1aec6481bdfecf311db4560268082d6f75f0354c6b09ab64494c211c";
+      sha256 = "91cca9bb622e3546d683a8e3af9984ab63e6aff56a8f0b7a61c84795d452e198";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/fy-NL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/fy-NL/firefox-101.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "3bdd5b38483c8a8fdab13767ad8f38d60e9c12359740d8017ec8a7a83338e99d";
+      sha256 = "37f87b1b0df5efce58dbc6366028b069bfd61007bba8a4835b8c72966ebfb584";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ga-IE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ga-IE/firefox-101.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "5f734b553ce52eaa91bc3ee1ac2afea09aefb35e886ba68d56cf3b1e55dfbebc";
+      sha256 = "d4a347e9ee59e1eae54783c9d4c99f88d6fe5eddd541d54f6efb1d2d0c494657";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gd/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gd/firefox-101.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "c2b3ef9590646143e48ffebc75d7f9c4a688ae0d3c3a648683a5f7a02aaee74c";
+      sha256 = "907d68789cfe8e2be69d85cff2b846d91bd9ccf7c3a183891472509db54a5e49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gl/firefox-101.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "513ca5b29b690986d0aef335cb98406d599a18ee44ed2b8fdf7687ff3dc87ba2";
+      sha256 = "1d1e107df695c76652207006ed060fcdf2133508c7ea0fee4f402816a4eed53e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gn/firefox-101.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "4a5974953f144ffff20a946073aa8891225d80e3dcc405d0230bc601973e8634";
+      sha256 = "b62af16daf08e4a2574bb6b96b4a61cfc64967328dc19fdc56ea56cc431019de";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/gu-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/gu-IN/firefox-101.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "a2e780ccad66a9a741551b5f7425be3e91f5a225a50e39ebf5770808fac484d7";
+      sha256 = "ef2f317ae3aaf608e74dc882b202a195ad4146295f00bff2673cda02338ae499";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/he/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/he/firefox-101.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "093fef7512fc82efe8aaef9108bf84ab7a9730e2fa94b8092206c0804068bcd5";
+      sha256 = "4f5cd8a8f6dc9c0588d9a41cc9e68b0f643581cfc42b6f17bde51dc60c3ec2a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hi-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hi-IN/firefox-101.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "1b6955622ff8fda11d439dcb4f425a3d84c16c49ee30b1e6eb246555fa07bd09";
+      sha256 = "16e96c75e96d656d8a5338c6692ee3c4d94af325b51e3e3326a5024549360f6f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hr/firefox-101.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "571c7bc2b25002094425eaa8878aaa4b339027a5932d5a073b23fa7d3cf9c945";
+      sha256 = "55a692fd61adb3c0cfe05317dac407f5804518d07ad1bdb6aa49a6e7d7635270";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hsb/firefox-101.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "7443ddc6143f466712de34ebffb4d41633aec8c0d7b253c3008f68b600a59b3c";
+      sha256 = "d2786cb3a58bfaa5156c9efd5e36743bd30461e922f8d1f8421fc60ba743738f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hu/firefox-101.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "7413002d74a0c2a0dbc19f783e84fb79a71c73fb28034ad4894a7d64d1745b03";
+      sha256 = "e4100b8208dfb367de6ea92252de3730728651d54027a7d8da989f52afae2f10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/hy-AM/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/hy-AM/firefox-101.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "a8169b877a7f2e85bbf363c5f0b6a05b28f2aa948689535b2b608cdb8d4c5af5";
+      sha256 = "5f247f00eb048e01f8ac6f1e7cf8bd9a4e2d012e2534acc2dde7e9cd659ba48e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ia/firefox-101.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "54245a95072f8b98a6d556ccb79547d56291b9f915f7e5723f49ff97a1bc1098";
+      sha256 = "68a040005c7e2db14d380e36a28725d59635ad6166c3a918676e870207a790e6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/id/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/id/firefox-101.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "43fb95f81026dfae3b889d085b2584cbee7f6b1bec6edd0378d3965b056f8c8b";
+      sha256 = "f9dba308d0e9f6e1cdf70c26a914acd234cf8d35aecd5374d8661f2d025492f3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/is/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/is/firefox-101.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "79e94ad99e19f325915231ce35fa741ed617c5595d5a2d1233ff0b2f2cf20733";
+      sha256 = "5d50987e3ffb7a7818479161ad4d019d59b259575cfcbc4ede9a4a6a5cf1b6ab";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/it/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/it/firefox-101.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "0f2147837a3b3d90cddd387125a8579cc576e1613a520fab8265de36ba1039c2";
+      sha256 = "b786c212f61213e69010d930f2eaf5bb3dd9c798446725f4822fc3bb37adc01c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ja/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ja/firefox-101.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "b755262db8331612cc447c6c5c944374338cd7d52fad732803c1b2d3b8744921";
+      sha256 = "825af27cf52551dfbc83d7b95e47e64ed0ac7f7db3095bf1debfea87b39a4378";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ka/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ka/firefox-101.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "3dffe30c39f3fee7ef4fdd0f02e619a79f1d67eb3b49efdf35838090e0c03bd9";
+      sha256 = "e009b3f2944e6a67d85f8937e5e7472c18049b2569bb2c9f234de468e636862c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kab/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kab/firefox-101.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "c675eaf355c484362f3b9586a30eac9362452f548d90fa8f70ede88f33f7b30f";
+      sha256 = "168c16ddfe42858333d1f53ffae9baa16292687a3d65b29fc9f4605411a4a712";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kk/firefox-101.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "cefa5aed2f200c3ebb263695c4192fd16b73861edb20085e956332f9f9c009ab";
+      sha256 = "e12266f2f186570c1aa382067f9cbf1cf78e0b14e14cce4b9c822f29366c2b05";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/km/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/km/firefox-101.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "02f6a77a412311af0ea581fafa12826bec93c333c14ff6d1f9da0dd783c8aa0d";
+      sha256 = "77f90b4c24f1dd8ef8ab06f299abfa734da6d74ae1b4298d3b425b08c28fce9f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/kn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/kn/firefox-101.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "e6dedf44d9a0f1a8d379b8f07add326581b06223b335935f81f7c9a442bac2b0";
+      sha256 = "c9015d588d9e1d07499b7f910d9b2236b81a6c3e5002bcc8d18ea970bf2ee8a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ko/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ko/firefox-101.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "022550ce534cdf4ba489bbcd553052c535fb0ee908155b728718619f33f95630";
+      sha256 = "0c880beec3dad250b3e224c2e7b73b15253bda3bc043110aa874cf555d475094";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lij/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lij/firefox-101.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "f2e075a6ef35fd8c802cd929f9c81043d9221f947269ca13be695b58edd603b8";
+      sha256 = "ba25d461f97dc3f359a4d525143c5a19859a2c051db87017469ba848c421aef4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lt/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lt/firefox-101.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "4ac54a885a81db97df5940cac5429c59442de591fba560c9608cc0f9ba1df74d";
+      sha256 = "e73fe6e7477b4c37d33cb31fb872a845f8a67ab659d93752d936a2ce7a1e3d31";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/lv/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/lv/firefox-101.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "413dee96d7535b5a276a34871db10b37ae9b6ed233df8a81db0d9080b1cc2ae9";
+      sha256 = "4b4d510eac153ceb3c2953d1141e893aeb913000cf6d557e4564f8983adf5b29";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/mk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/mk/firefox-101.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "9fa2653fb6cbd77e874b1306c9c070097c4728deec0972edf9b7b03aa79a2b9d";
+      sha256 = "8a56b192d42351d40e2d35164f5809ffa5ceb52e16e5d6e85f4819f250deb67b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/mr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/mr/firefox-101.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "e26dc9319727f9f7c0fb98efae44d89228499b52edda8f02328586bfae4c79a5";
+      sha256 = "efe2bcf5f97709240a09680c54c61ae25be5e8019003d67bae8cc166bb6de15c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ms/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ms/firefox-101.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "0001655c4a42a6c113f428315200b5cd1eee08cc417fd82464db87c322f5e949";
+      sha256 = "a5a1b3d542478648efdbed1f174f87f885593209dceb1b41d5090948a46f8c8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/my/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/my/firefox-101.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "78fcac093123a0b4b6ebffb1e9f10ee5906d526b96d5be1b249a1e60acc4fcb9";
+      sha256 = "baf5d8a4e2ccfc40fb9383ad84c15d9e47ddb81dca203ac2df5faa2aec6e2031";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nb-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nb-NO/firefox-101.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "6c218dc369434feb3ff30840cd940c19e10d3e900325246445fdb7113c22c284";
+      sha256 = "980c1a26381596b76f5519021327f5d3ab104f231e637e9bade9bf34e9f17df2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ne-NP/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ne-NP/firefox-101.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "9a1a9a2380ebc3da9035066bb212b14b1b8bb6fb80feb6ed220cad1a3969ca6b";
+      sha256 = "15bc3ecc249798080feee3214a76fe843f16a68344673c5cbdfc6557d171b77d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nl/firefox-101.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "6ff75975cb1ba028e78aad213837b17fe0b06e5f522996b3b9cd450beab24b51";
+      sha256 = "cad9d94763528115c4ab4af90a722492eb3752066483bbdacea7d6933d2b4b2d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/nn-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/nn-NO/firefox-101.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "911e765ba62cfc8d69d7e4d68f1a5d44a1b311400731a3593e98ad72516c47dd";
+      sha256 = "27ada324b58968fe5b9e2b6e367dea00097d83d10aa110d4d76db06bd22e9d5b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/oc/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/oc/firefox-101.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "23341acf2319454172a718a0123fa15bc9367028984449c7a2cdb50644a618b7";
+      sha256 = "9c4dfdfd16cfc0bb8502f31359acb01bda905089781edc89e15eeac4e52d0513";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pa-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pa-IN/firefox-101.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "bae2060e37bd636ffdab3d3f84b73078c4dc78d7ec7eb7bb9504be4dbc3398bb";
+      sha256 = "b10709e964787898a2c5e15c0856b8b580a3221dd33ea441073437f833770552";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pl/firefox-101.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "cc397c80e75d00507fa6e170ec43df337450796c829e44d518523b871e33f585";
+      sha256 = "dd8b9baf6d1083f08695fbee6fdf3a3a14e3831d6cc797bc1e9e8ec0818ab0f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pt-BR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pt-BR/firefox-101.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "2bcb44821f106ad7478fe7b61c7952c20be135a2efe1185d91123930729f78a4";
+      sha256 = "14cd1b927d3dcdfdea02026c3b6a6fb0ecd331652d26f8c7fd344233514ee030";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/pt-PT/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/pt-PT/firefox-101.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "7f4c5713972e5bca35b891bd850fd90fcf60d254ebc15435e5b814a212428b44";
+      sha256 = "906bf971747d018c847dd949756618c923cfe72b461636fa4ab809e99c0b0428";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/rm/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/rm/firefox-101.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "67316b932226848b73a95687e6d218983d8056a966771c3bf16344f158578a53";
+      sha256 = "9a4d70191390d408104f77595fb8c3442b9133c529152a14edd8b81eb2a9b91b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ro/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ro/firefox-101.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "7e61a6ce962f1ae0a74ff7a29b6edd7106fe95e4c2df399c22a17f1cf4d0dde9";
+      sha256 = "778a0242484198f61e747680eacf4391061255cc4969e1c1ea7d23261f92182a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ru/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ru/firefox-101.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "bcad404db75ebac101f503fb793572ac010219f41c6716d33cec0552821bb281";
+      sha256 = "f68bd731b44cb75c82f800a0944ff69f738692fb981dd27a097b60efd96bee1f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sco/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sco/firefox-101.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "4b01c6ae78219c122ae455627b24594966be61d335dcca8e8547784e8050051f";
+      sha256 = "f7f92d0fbc485d099a63b5bb71b349148bd4e475c212e8c4e49f1793f4bf16ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/si/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/si/firefox-101.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "5aed65aa84e19c8a270cbf6ad3284c23c83dbff841b4639a15af6cdd9148560f";
+      sha256 = "0b6e76241d452954a0438f9e3849743034c47089d6352cb22c1957b40a674c75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sk/firefox-101.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "a06083cf85f88232898d99dd0174e7999c3e65bc8f893c144775722975410235";
+      sha256 = "aaecf4614bc84130ae7ea552704e375abccbbd80bdde0848718287d46b61a0db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sl/firefox-101.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "fce1013364e0f49f9cf56b4d50be3f17ec92d4dfe77a0ba6672404abbfd954e6";
+      sha256 = "9fcf2320a0b7ce031ee2d607570177ec3eefe56b5a3e05f29022b6f6b1d4df49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/son/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/son/firefox-101.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "be37a85ae43d646b5b0249303c65d6f0e3c7e15b65986da7e221119d3b8537aa";
+      sha256 = "70d0fcc6a8ab38fead293a2bf41a4548e027ab34cb1981c0b5cef12301031e5f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sq/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sq/firefox-101.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "dbbcd4da798dca36965a408f74deef86001cdefdbeedd93d3d5c8c34cfd5e4e6";
+      sha256 = "bfd2966ffc4f244c1af4b115a559865a86358125ca7485df838fa3c4d863237f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sr/firefox-101.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cb8a4d3af1f8e5af4c6121afaab85eb51239d0a98e9caae0e87df435d9d746ad";
+      sha256 = "6f2044c48819edcbb611d7455d30b212206a6427df74c186e7deff84d46607a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/sv-SE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/sv-SE/firefox-101.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "941b3175289f26cc8102c5c436a477cb04af6a35e15861d2473d55b3dc36a04b";
+      sha256 = "9fbd49d8dbb4c89447786380e468e74150ed8a94191fb9d942a3bc5fdd1eed23";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/szl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/szl/firefox-101.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "48fb048a32877082ff1511484cc1eb7847198da4af366c136bcc260879e30970";
+      sha256 = "9248fc2d9ae25129ea1dd440d6f3e8168c33809156c0ac28c89cf7a849ab71b8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ta/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ta/firefox-101.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "16ad13edf164a8867a56dcd59e4bb8c09d2cb3cabbab8c2d7e0a4ed0c02db587";
+      sha256 = "fa62feaac98df16853e98d40796679105efba2f2b133959d57a8c516d7bc679d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/te/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/te/firefox-101.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "9c4e9fb72917b2e7b6abec7872366d687874af3c4e0d2acd862363120e3ceae0";
+      sha256 = "6ff13809cd57fc9415a78776cd809a07ca2731ffc3297c1315f70a80507a402c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/th/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/th/firefox-101.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "2a14cee27f951ec1e9e6e342cafee68a18513ed1b4d210e0490862296b12f0a9";
+      sha256 = "984722c2760f9162ea166c004295b529d50e87e983c30e223c19217bf2957349";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/tl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/tl/firefox-101.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "dd1bf5dbb47615dc2f3a473ab541686fe53cd7d3ac3e5bedab37ce436db5fe07";
+      sha256 = "c7c3570c25909af183593a9cc47dda28417163036af62522b1e762609c906408";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/tr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/tr/firefox-101.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "eb9b3f14fa9c2c57784f1e37e198b9eb4bdb8cd3f11ebb52b2a51ba47cc10ccf";
+      sha256 = "c09188f66bc7e84ecf36c316f6858786a76b6431b223141d7ddcfe5801017efa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/trs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/trs/firefox-101.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "d39ad94019221ecb2cc895ca16d71f4d461a52eef741b5728447ab054ffe12aa";
+      sha256 = "4e0a2711a19e334ea2b0b2b0c9e1f6b2e2dd8946ac5afc017f0b360ce92b1597";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/uk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/uk/firefox-101.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "9fbc6fa34062cb64fc6c5eb09df6e3736865e09124efd465c6b30c1bc8329494";
+      sha256 = "16c3317d11f94a098e3998e18d6af803e6cacd9cebf3d8aa7be64bb031ed4a1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/ur/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/ur/firefox-101.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "ca1ed7e7746e5a2085328158185715b7b850e8129adf77b1d6f4e90580563563";
+      sha256 = "59d7c4dd6cb4a62e01863cfdd176d23dea36c7ba9ffcd0e8f4a87803df25772e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/uz/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/uz/firefox-101.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "ad05af6f178de687697e7f98b18a64c2cbcc1bad2b167d5bb35e13ac57d03880";
+      sha256 = "1874d3bc10804a1bb6ac7b934109649751f694d8eb36ac04c4bfb18df6d7ad49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/vi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/vi/firefox-101.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "22b133203f3bb3c901c225e1275215c0c7e3ab5714e640d218532a9db8c636eb";
+      sha256 = "f4b6bac19de341c1dfec87263e41b4382f8716a9ed1ab61336a29270988bf17e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/xh/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/xh/firefox-101.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "570c959de8351eb8ffaae05292be916bd94f34f51a1ffcc84e3176b7f23d230b";
+      sha256 = "33e01f8d8e6c21afc055f73415c4c4be324cfbc73bfdc42d262ffde0e87301ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/zh-CN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/zh-CN/firefox-101.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "f0e4fa1b580f778be335285b1154abdfde0b95c6d2c67f7547ab07bcc7fd5172";
+      sha256 = "a17b7f914930ebcbe92e5e8fa8ec0ca8fa121939d65c68287ab668db460097f0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-x86_64/zh-TW/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-x86_64/zh-TW/firefox-101.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "cd49d2954a7014a926cc012c1e439926af1f58c5e11234e2f9d2489c417388f7";
+      sha256 = "ad987a76a4f4b5b521c7ac6eb1784c84086a7f11d9f9810f95b9219ed9d22c4c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ach/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ach/firefox-101.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "a3b67450658e8c34ce17f5f3b63afc4116cccdd2d786c72958afdb468c0c7eab";
+      sha256 = "ee933397cb0be5acac1b67853871c5df8ccfca7bf2d8ffbdadd5575218ae317c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/af/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/af/firefox-101.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "c7a9ca1c35ed17fe138df0608d02b345c6e358612a03f3408bd46a792f3bed2b";
+      sha256 = "c6d21ddbd2eda266e11dc5cb132b0549868706e8d6897a12c570044f0eeafa48";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/an/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/an/firefox-101.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "242731960f5b500d25f9b328731437a4229aa4d668fc849d2111506dc4741b97";
+      sha256 = "ae66f452b5ff50aa82867184a0111692d8fcdbfe17a5f8fbc88d2345a058cd1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ar/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ar/firefox-101.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4adf2045f911f74323a9e65b4fd2cf249a5369ad5143daa36eb0b1999b5adacc";
+      sha256 = "1feea62c9a13828854257a5edd93a139881179f52d735558920f21a67c58f895";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ast/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ast/firefox-101.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "d0827bf52bf91304a0a17c9f5edbc6081be1f1d9eaeba6dc24b63e8b251dbe11";
+      sha256 = "05f800f114645ef5859d78d57d3c14ae8af37b27cb0fee766e948faac3548124";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/az/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/az/firefox-101.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "41de2d574563135721d0a975d8d90f4eccac60f3be51d4cca5e957473793629d";
+      sha256 = "7170b694f972a73c88d32b1ce8f95d0c29cd549afc77dcc19b0ddb09bc138a1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/be/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/be/firefox-101.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "736900d6a404a97e13cfeeef68681ec7980266ba983f62c0779fd6a8b502e22b";
+      sha256 = "503e5f53a9fc97e25df4d7b67b5c97fbb809a2bd6a72a99776f1d30acd628f81";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bg/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bg/firefox-101.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "77351b45bc0bd3749c54ea1efb1ebb2ba1ced97f9885906a9b86523e85eb011d";
+      sha256 = "121339b4ced135ecaa3cfa01e8a120f82b8f49d7a12886e81777fddfc9a86d8a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bn/firefox-101.0b2.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "5d9b274d20b5137e531660f92a7ac3b481abd756870af815159ac30e7df47e8d";
+      sha256 = "e94b39bafbcb6d414608b607fda8ac366bc64e498ecc2d6f7ee29f3a807a0cce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/br/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/br/firefox-101.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "22239f50b370747d3029e7f4ab8ac47de15cd5aa8b6d421193299fed9f9b556e";
+      sha256 = "e35d8795752d5389d9cb6dba5657ff03326dc52f53b4523e568cb14a9d7ea812";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/bs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/bs/firefox-101.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "5e2d51cf768f00ab8a30f8d54e2bb88eed75baf20c381e87b7186f5927447137";
+      sha256 = "11ab8f6430b63a8ac4a84418a17bb5d7b347a7a887498b528fa3b07c5f69dc86";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ca-valencia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ca-valencia/firefox-101.0b2.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "cdbee7378c4584d51a7142c695401ebe21a05c87961171fae2fc71e76485e92e";
+      sha256 = "d9d5848da4d1818619e0b9641cffbee9c63358157be344dc6a30ad0e2230faac";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ca/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ca/firefox-101.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "1f8f6e0a3917828f7e30deff842c6d5f0c5a2389c87969783d46950c6b072722";
+      sha256 = "3791d8354df11c7fd77f6e5dae3ee988fe93226ecf57db1d04d31830ee4cfd07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cak/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cak/firefox-101.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "42996e08427b937cb2e2aa4d7ea569b729c9002d293be5288e02ab1588e3cbfc";
+      sha256 = "2d38dc2c29dca9c6618da8bd15a7be4fba88a866247fe975172556378d703a94";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cs/firefox-101.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "692d99947185928b46142ae910c76d4c1ee2328aa2e67212919aef39741d67db";
+      sha256 = "987ab6a31f40aeb3ba4b4321ff755f8909f7bc78ed1568e01bc0936861d756dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/cy/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/cy/firefox-101.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "b2f7ee9c016bc107e63dee850688b048c43f5d1caca1aa81d22cde4ffbe6c964";
+      sha256 = "df843641be4d316cd6630a30158422c023d48bb0a4dd30622cef4e27b97c99ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/da/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/da/firefox-101.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "095ae3d0657a68903c4d60a21240b9c3fc399284063e5c366ccedcf58361c80b";
+      sha256 = "ca5e5b23e9b4615f5a982b9217dd42b82c1f72b832b3aade4955f9f46f0e3e9a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/de/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/de/firefox-101.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "359364e7ee5ed03556c7b7390cdb4b1e91e027598a74231cfc20fd5d5c601b1d";
+      sha256 = "e07f89f21b1952310ce310a54428840053ae8f2dcaad5472b38b1761ef32b649";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/dsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/dsb/firefox-101.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "24f7caf5bbc8edefa104c6b4a646a1afa254da9bb8a1965193b7e4a97ef848ae";
+      sha256 = "c6e32545afdec0bfccc5f568892fc77cb226715fde84bdf2651627ab7d69cbe7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/el/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/el/firefox-101.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "97bfe8f01d8f6024b85a6f25ee084642dc2e2c50dc189d1b6bccfa7835120bad";
+      sha256 = "0a3d7ec83f0a64c6dec14f3649bd6335bb3118120d7b3da50fd0c8498fd899c0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-CA/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-CA/firefox-101.0b2.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "fa534341dcfeeb5778d19d5c38fdd8a56e92e756212d256c2fd40c499435e6cc";
+      sha256 = "ce43791e216aa63a250c3d542c4f89eb7199b6d2805b0994f8479a6871f38bfc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-GB/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-GB/firefox-101.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "a38f383c06a2cce4ddc49fd304b1b5742dcbc2cdd189dd5b6e91b1494231504a";
+      sha256 = "61a60147594bea4ce7755d002edc914066f31ac4bab1f2933948b0c0f8987f01";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/en-US/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/en-US/firefox-101.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "c5ad47cc4f5829eb3d01c7031833e3f8aa24d07947415947d5e86e492be37c20";
+      sha256 = "503b87ed02399c0804edcc99bced3ba07da78781c59616f7469bfbcf8a2ca07e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/eo/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/eo/firefox-101.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "d96ddc5a07581ac62078cac8d702425d6764cbffd93ea1a35ddcbfa5258e01ca";
+      sha256 = "564b49b4ce197b4237c514a7cbd8cba982b3aa979e5b2ada991b951edee4d9e4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-AR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-AR/firefox-101.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "e5c069a162cd02c3449b6b6c800c491f80270cbd9e29bb418351b40ca318d08e";
+      sha256 = "5f0b4e2c1078456a41f74b284ae424fa7fee61e99df08b1d1fce565bc65d1e25";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-CL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-CL/firefox-101.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "e45ea8d1bfc96f500e1061eed4694f2c7c81fb5b5ea76411cb7bdf7df8e74b1b";
+      sha256 = "333b857e916d2a98c38f61561ad9a1203e82cb8ba232f164b4c863c5d5921273";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-ES/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-ES/firefox-101.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "a86e913fce09abd34f69f72f338e5d276360b39584266fcb160aa4cb5ef15e10";
+      sha256 = "ee9ccde18f190f18abed18fb068cbd10fb81ccd16c0644316d22f838ac68191f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/es-MX/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/es-MX/firefox-101.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "d39ac7c519aa5ab3c2b02da50f882480d657672573ac13b76ffa1620a7c31dea";
+      sha256 = "ee18e46695e277001331493060354387cc2dce231e58ddc4c70b693b8a73ea30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/et/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/et/firefox-101.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "2d83aecece8c35f11bd3190da1d91100779c4516292fb683792c09a9df63297b";
+      sha256 = "1d2a7947d04503f57098d3e1384c5cd5462674dc423cb5ee9f60d6055cf8d82b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/eu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/eu/firefox-101.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "acb38b6a8d2111511d31cb967da094d68eb4bc5e1fb4af613392cdb931a81b69";
+      sha256 = "bce92157723f47e97d252be307413b3d2423910e37f2d3064f28065391e4c6be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fa/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fa/firefox-101.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "4c509afe344db0cf9eff8f3bafabdc80b25f78537dfcc931d05a326d97b3793b";
+      sha256 = "33fce9fcd652f9d79cbb4f06f8c6566df7227698ff191d5f2a8135e537018ce8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ff/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ff/firefox-101.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "23c02e6d2f18351c72917c02f6795b1183482e35c6fa5990ecab8e724959c4ce";
+      sha256 = "8f7d299182ca59d040316254a5acad58c133af5f5199b2531388705e9ee74582";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fi/firefox-101.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "30f696e3e0b419017fed38ab434a99ffb303eaa4d9d96bd2525ad84cebb20d51";
+      sha256 = "f8f49abdcd30b1b9df88a38320235f470aa9932c554a274fb802e2b4b52fe8ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fr/firefox-101.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "40d631f78caf08e8a04a4dc1286cd749d66130a9b3f887f8a74d1f15ed7247a3";
+      sha256 = "3be37bda9be1c9a5fc4fe899010680499dec0e71ddb151f19e18e55a6450b771";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/fy-NL/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/fy-NL/firefox-101.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "62563d3d7c5755f1163d956f1bf82cb81c48b5349db293e66185c95b8e65caa6";
+      sha256 = "76598f5d5ab6be41b003e7648458d1f03dac48d82716d1072a47047dd4d0aa28";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ga-IE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ga-IE/firefox-101.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "72914c49d6b5384987942a6c8127891c7eaa088d08bf9192ce448b11342f512e";
+      sha256 = "d297c383365b1ff0fab543b42621671e96d831f0620751209f04b75b8022e1c1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gd/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gd/firefox-101.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "1a127b1a4a8407476f1ed73ebd982fc5d0262e2fc413748b4228d9bc9d28a59e";
+      sha256 = "86bd993b81b67f5d907a87f88666cac72413ecd9450d8c482c31738bd22135e2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gl/firefox-101.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "1a84a2d00d065f69492a73e6917e07de8824b185139e3acb75b0f0dd5f82d604";
+      sha256 = "e33cffea73148da8b24e59dd7a2e203285af2d08e356e0892dab1a70a40cd4b4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gn/firefox-101.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "6ddf864b2b2258d0ced011ac2d0ed13455e99d3c093642a477f95ca13a3349cc";
+      sha256 = "574df608df5b04549b2d89edd99a829afd2eea768a7dd33b12c21b8db4e00612";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/gu-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/gu-IN/firefox-101.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "86688035900e5bf2dabfb7e8c7320dc4ccf33b46d8c9e963216a750ba2e2b300";
+      sha256 = "910a1eae44a979c09edac6d470fd5cf19428028c8ebe5a04b27c8029700ce682";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/he/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/he/firefox-101.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "d35c7ac5d61d9253ab69da2a77bbaef7037e7cfa2339d4730201fe41776adc90";
+      sha256 = "17b634d9c38d21b8dcb6e8b8ae3d89c54099a2b17b68f7acfc56f10191163193";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hi-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hi-IN/firefox-101.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "48872f0b68ccf4df855e58a4520f5f8347b05de318a0991d83088521b4d178e6";
+      sha256 = "e9fb302f798ede6c518ec72eb103dd087aae86826a61f6ff260bba146bd66cd0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hr/firefox-101.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "9c1c1303aadb4071a82b558fd470c96671872cd480e444686ec74f41afd46e2f";
+      sha256 = "a976d4bb564eba983412a3301f3ccea463887d3e3c115fe702fc009059c92490";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hsb/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hsb/firefox-101.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "828330501590e2ad3021397cb7b37a86c015b93536e4e2383fc5c5a1e8d6a6f1";
+      sha256 = "4ef0f578d5deb079d5cbec68e61e756b6c44b36a197740dbbcf473d17576d4d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hu/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hu/firefox-101.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "592c69c6377657bccbf2b81ae54bc8f37fa6d081dc36d0465c20eaf6d673f32f";
+      sha256 = "0aca5d7dea85d3e0b823f8a209e39b54afe405c9a168d92f04cf8893272d8e45";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/hy-AM/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/hy-AM/firefox-101.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "a95989dbd6b7b499840f5cc65a765129ca23392455afd21c0ff865112900b5b6";
+      sha256 = "a9595bab34e8034662f6ffc9827e22a97909793bc632ce20f5a12bde711fe77d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ia/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ia/firefox-101.0b2.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "a9b225d969b0d8c621a2b545cbb42ce7188d78c09c248422d6379d83934201b6";
+      sha256 = "bf9e13c8c9ea858875d8940fa3ac3b8440f88279bd1e520bf2e8df3cfa1209a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/id/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/id/firefox-101.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "304f4d04d3e73a477598a034d3fd016948c5e1662bc236d640219b4b96159690";
+      sha256 = "0a6e0a680e37d53960cfd41c7218dacf359a2dfd9046e4957a64d1cb70cbb9c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/is/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/is/firefox-101.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "3cd144b87e3ef57703ce60c57a09ea8c6ab910408a7c891f9b9b653dca51c55c";
+      sha256 = "1a4029b76fa9239669fabb61daeda9dce78198e92c47b24225d01bf3ab38fd1e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/it/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/it/firefox-101.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "b024d3b0fe4ac5691c6cf1e0c18ce2bff91083746bb988799f2eb3ab74e22e80";
+      sha256 = "45b29a5e11f55e3775b3fb8079549edb7d2d51ab70a1486f9b119dea3cc1c5a8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ja/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ja/firefox-101.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "fe3d9b0c7d0e8f47e9f1bc12429200aeb951b303946365bb32f51c9d807259cf";
+      sha256 = "2ae2d1acb31d8d2cd8aa926b7650b81406444e4abed8fd6e2e1bd245c443405c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ka/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ka/firefox-101.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "2e4d0f5f2eab6787db359c47a48b35a202b713de0807299a41a751b527a9ccf3";
+      sha256 = "730c2582c36982e81a3e86ad8d4c7f817bb32a1812eed3d0ca7692ee45b24180";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kab/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kab/firefox-101.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "49166beef9b6952940d1ce420afd77777fbe84143b65693f9b75db6768b88e01";
+      sha256 = "b72a7e0310bc67576d4e3f882999077e7a8f0604dcbad55aa2c854b2cee858bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kk/firefox-101.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "24aec891a8189714c9299c695346a3d0a4ea52621f08b890d5db63ba36bc627d";
+      sha256 = "9fa815efcb23f0cc91f1de66b33b9d6fa8e76aa5c03179e0f3808632be25bf60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/km/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/km/firefox-101.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "90f5b7811a2f0bdfefd14261d1e0e7fe85466dc96c666316134c97095606c6ce";
+      sha256 = "d4c451d65b82ef753b651b6404240b2bba5e6798285d3fa2737709e4eabee9a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/kn/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/kn/firefox-101.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "e423d1231edbef812e8cbd50f53dba4b48dc9083cbd5d91825392229015c38c8";
+      sha256 = "a1d0ba8d2b61f5c554a7193e1f2e25f3901b667107b1a926f8ab2d8b28fafe1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ko/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ko/firefox-101.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "cadd481242635d64b224e080adc1bdcfff9f7ced4715b0ea9655ab333ac7d039";
+      sha256 = "c52a38a7c830aecea014596aa035dca5f6b2e8cc28e3455657fd58ccc8dc0a4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lij/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lij/firefox-101.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "4798691d44767027a39c1124053b2351523e615a06b32bd2bf4f9da7b858159a";
+      sha256 = "472d0a005d350dc9c358b62b6c428139e5ca784cd6364d73209683c5cdf73a72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lt/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lt/firefox-101.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "ac49b6d34eb8caac4a6900246adb3562eb2228a50fcdc543f79903ea267b339e";
+      sha256 = "e07ebe646f72849afdb0d8e5c41a7654eab3034bf476216cf58a3b7f8e0c3648";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/lv/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/lv/firefox-101.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "4f6e6a26a2b8a23855dbdeabd2363ee0155914542e4c48c655d6b52da6289b34";
+      sha256 = "441ee8be6452b90fe669843410a07b47db7f87ed47795dcbf81d91053ae263d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/mk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/mk/firefox-101.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "522590d926022cbe833ce0050e5d23db47bab2c8de1e1e0ae3e96941b53dfb6c";
+      sha256 = "a2dbd0436ebf1ee64300668771960d0021c744c2dae8ecc5bf976d7a821a1640";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/mr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/mr/firefox-101.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "4df57dacc8b71070aa077281beffc04bfc632666b2b26caedc1fda4e484e59d9";
+      sha256 = "1311f1b8754f93669011358d574f970f258ca8b32cb5638a12266dc7e2a47595";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ms/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ms/firefox-101.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "005506663901ad539817197972864f67812a9f5e3f1055e7418ab4bb052ecdad";
+      sha256 = "8e78f3a12c599a29a01c9a84373ee799c3b8a8478e452b0a8ba27f4be9e7ed93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/my/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/my/firefox-101.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "aeb8445d5425640ceb8d2b823a7dd3e79fbd355f07420d015af4559d2bf2cebe";
+      sha256 = "d6be222fb3161f2737f2e54d0e26f208298162be21197b6b5a6e3c05d8948f1c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nb-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nb-NO/firefox-101.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "d41588beac0fc9a3eeab9f2843b8aef53e61a7c15dcdc34eb89e73838d9dab24";
+      sha256 = "c4a2f49f516a19542759296d61ffd5af32640d0e022aa960d6d7f2ec645bb353";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ne-NP/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ne-NP/firefox-101.0b2.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "c3c981a5a701118e70b6b03338451d7d50325234be03838e403e57b822b6fb61";
+      sha256 = "4b9fba6e4cf8e9ef0878bdda30b12f89b857dba2475adccff386bb492f4efc4f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nl/firefox-101.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "ee902a63548299b6ceb9cfa263991233c32b0bf8534dc5256ce84714eab01f12";
+      sha256 = "2561300f8fd8e53ac16506734f17aea5d9cb5b7d970e4070084f944de54c287c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/nn-NO/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/nn-NO/firefox-101.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "e3fcf444660a2e8b3abe10d9d3a512985e9791fb7916ffafac564d9849816241";
+      sha256 = "f2b880d35f85122c92efa10268f3bacb70063720fb93f85f565ff9d75f4d6a58";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/oc/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/oc/firefox-101.0b2.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "0b80101b082209ead23287d0d7efa136eea099b9895b9a4a8906abafb8a7dbcd";
+      sha256 = "ea51d91008fef8163059b1b35403c049b236441c5e87df06f7cf5319dd480680";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pa-IN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pa-IN/firefox-101.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "14f8fe19c6cea1d38eba2f4aff8a8787875632e7ef867b44a48bcda59ad0c32f";
+      sha256 = "c0332f06388fe11e17599fbd0d2bf4074576d693355f05e0c0ac74b78e8a185a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pl/firefox-101.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "796b575f4ada12cd1aa0fdeae8b5c198eb2e6a327bd0cede066b1beff4961d96";
+      sha256 = "ce584b3d90775742be1c521c6e79bc57248eab426d6ea4bba00da22a7e9ced29";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pt-BR/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pt-BR/firefox-101.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "a1a83e3e317bc7465922b40327031fd48610627c0e1554569710a7b40fedd98c";
+      sha256 = "6ab1beb2ea5aa1390127fc13f8e0de6555f5ccdee64a96fb382dd0d411e5d280";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/pt-PT/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/pt-PT/firefox-101.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "0ff375602235a96b6197366ae22f4c05cbb3c9068d48cdb08a035e3af084d3f3";
+      sha256 = "641396a068e0de827b6feb03edf4f71f343baef24e5409d892c68e4ce48ec51c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/rm/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/rm/firefox-101.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5599c540c50162d1a79ea16196bb15fda9fed825508b60b4961d91255709593d";
+      sha256 = "a7cdb00dddcee0ce416c36c160ce9ab5fedc6de4ad3caaa4c8b14f9a6e1ea05c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ro/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ro/firefox-101.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "771be3da68642a15baa1e054bf23e9df272d0b0ab46f1e42c6fdf35e85035b9f";
+      sha256 = "eb360965ed5379374b31030b0db3a66e6637687c2b1ee6dcc893c0308bf5ee41";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ru/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ru/firefox-101.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "bcca4b9aace48ed4da4c881ed47b0bbc3d20fddd07273ecf1c84758633f350b4";
+      sha256 = "7da4c79b922a9e03c0ba677ae01271f10c0408ed0125d6c020182572bc6989d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sco/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sco/firefox-101.0b2.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "1ca439331c6437dee10d1f2cd72907499894bd98af036dbedc964248217ff510";
+      sha256 = "af1717f13e40806345ca2042fdcaa5105cbf23845ce63f1e89cbf43e57cf8edd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/si/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/si/firefox-101.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "b643cfd20a0bc56b1989dc1c4dc96535d6585a53bb5d13c85ca53bb1027e1732";
+      sha256 = "673f9978ea53996d6021990373484eede873a13e75bd32caab8d9c8a915e046d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sk/firefox-101.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "5aa1dc132c3d2a42b6086cf824c8b6ae7a30d8b55341a05acfc3eaaa8dd4cad0";
+      sha256 = "db60bfe2a7cb89acc6250304c36c4e665de6c27f788dbb133a68989998e87c27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sl/firefox-101.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "92b2a15a04c4cee559e0a6565509a546ac7a2c4e3fadbba0c6197356e99f71f9";
+      sha256 = "22faba05601722a2e01e93bee941dc8065f35bf235037b5ec2259bcbd6c3c229";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/son/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/son/firefox-101.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "8a25e8af341178bbbcc0731788b1116ab64fbb55480836b94ad6e7830b6b5f16";
+      sha256 = "b6d6278671e2c7204b5ca7c357390c0abb8ac3fde1ec3f504c808455db990fb0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sq/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sq/firefox-101.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "66b7ea3b488b980c425576fdad6009d2c246bdb4686b24b519604a54dba6f756";
+      sha256 = "5571154a698ee65c6f10cebd318b425b265b36c20b6deac8a6a1fb8699aedee1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sr/firefox-101.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "1aecc3a24dab4a843a967b8c023bbe01488dc113e451cfd7d39e7c2caac1c153";
+      sha256 = "130bb0c0fcad5bb8c7f54bf274a6d4dcb69bd4dc622fda9c32361a2859166231";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/sv-SE/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/sv-SE/firefox-101.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "d5189ed627ac49286cec9733c8658c271ee99930f2d07754993e776a58eacfa0";
+      sha256 = "02199add3347abd89f5ec93f759cf12fd353b63fd4a2f91ee6b3f094f5512a49";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/szl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/szl/firefox-101.0b2.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "45c48d7381499d5aeca0fe340ecc8af33016821fa8f081f6c52c878a9af3640f";
+      sha256 = "c1a99c03d63bea1b1130a02d30c051778648c73f18f38b294c53be83f7f978dd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ta/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ta/firefox-101.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "1a8a9fe5eb0e9e8d213d667cc1aa478f9f381d5a444f8d2be518fb04926e4f64";
+      sha256 = "c01c7a1f56317f2d415bd777e5434366b0b3b2f4ff3a599a25011ef8b90420c4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/te/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/te/firefox-101.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "1f3aa559af38662aea444f52974c2843ffede5505e71e83d73e331d2c4b92275";
+      sha256 = "fcda6af3a7611243dac789fec6bf78a8517389ba3df5ccbb50157969281aa8fd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/th/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/th/firefox-101.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "05bbf88a5b9e914d86244555d06d560b328e8e873e380e67d40edb6d3971d383";
+      sha256 = "2d38c379f9d8aa9e7b7367eeccdf656cc9374858e5bd0cecc19eddd6b1a51cad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/tl/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/tl/firefox-101.0b2.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "8cd7f71325ce2a54403032bc80fe366acfd7a8ce3e3871ae1a8f4e0b5315ddf9";
+      sha256 = "18e0bc9c89a0e89151b1edfe498760fecdb66b369e49ca4fa7ef3d5fdb0c4151";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/tr/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/tr/firefox-101.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "41275c3dcfc9624390a2d3ce9d0aa0e746c4e3122f433924227299d46ff8ab42";
+      sha256 = "bde092819c9f0771bb463df750fb35eb422862a7e28a308209953461be9c9d9e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/trs/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/trs/firefox-101.0b2.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "c04aafe011c8626d749990e0ba293a22c8a623c6eab9bc4bff2782708832a648";
+      sha256 = "fca0c955097a04619e834f7bbce4d8bd7f65283dc0dc9bcb07cea7b4d31aa526";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/uk/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/uk/firefox-101.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "965f445606d8c81d1745a7028ffd15af7cb9bf2473bfba5e673e3621afeaa6e2";
+      sha256 = "31c97b928c9a5e7e80ffdcbec67485702de9fb82acc4f0a7cfc7195e8d214d75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/ur/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/ur/firefox-101.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "8955e64902aca993d110401fe36b56c84b53a414b2da569525653ee28801d9ca";
+      sha256 = "ec9dc26f00786e8dd084d08e7e9c5612e42ada7e5381e889d940915c9360c837";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/uz/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/uz/firefox-101.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "e05ef7856c3c4777da187ed7212ebab01900881702d1fa8e221a86c57c6ef4f9";
+      sha256 = "9d4de951bfd5d1cf65718f0118807596ce48b2a6a4ce8d29c8ff3c963e39907d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/vi/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/vi/firefox-101.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "baca088760ee065eb8ad86d93c6b0325d23f88d18359693ba9c2a3971e9e5061";
+      sha256 = "12726a8b22fdfe5d3e9637d665d7d4583e8762362032688367d3a8a5b96665a4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/xh/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/xh/firefox-101.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "c679216fca120982454a15087890fda40d21bb269a940d96dbe37428672db65f";
+      sha256 = "64ee875cda3543a780a6da399ea7750027e85e4abe62d3eef4e4b21f3b0daa77";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/zh-CN/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/zh-CN/firefox-101.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "ba77a6dc02a406174a79a99b510c2cf7f8be6f877acc57822ee174cc5a99931d";
+      sha256 = "694bc6bfb4a8ac1bd95f756278fb68514a69e58c17e1a6576aa2574cdafbacd6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/100.0b6/linux-i686/zh-TW/firefox-100.0b6.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/101.0b2/linux-i686/zh-TW/firefox-101.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "108fbd9c48b974cfd533c514d8459990b5d278ac5381ba5cfb8fad8d885dcfac";
+      sha256 = "1a7fb5edb2ce72fb7e2b62f2e6e48f56d44522ef7f11af208b8a2a52e945bd98";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index e1506239f457e..25eb34c95e826 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -23,6 +23,7 @@
 # build time
 , autoconf
 , cargo
+, dump_syms
 , makeWrapper
 , nodejs
 , perl
@@ -80,11 +81,13 @@
 , alsaSupport ? stdenv.isLinux, alsa-lib
 , ffmpegSupport ? true
 , gssSupport ? true, libkrb5
+, jackSupport ? stdenv.isLinux, libjack2
 , jemallocSupport ? true, jemalloc
 , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
 , pgoSupport ? (stdenv.isLinux && stdenv.isx86_64 && stdenv.hostPlatform == stdenv.buildPlatform), xvfb-run
 , pipewireSupport ? waylandSupport && webrtcSupport
 , pulseaudioSupport ? stdenv.isLinux, libpulseaudio
+, sndioSupport ? stdenv.isLinux, sndio
 , waylandSupport ? true, libxkbcommon, libdrm
 
 ## privacy-related options
@@ -94,6 +97,7 @@
 # WARNING: NEVER set any of the options below to `true` by default.
 # Set to `!privacySupport` or `false`.
 
+, crashreporterSupport ? !privacySupport
 , geolocationSupport ? !privacySupport
 , googleAPISupport ? geolocationSupport
 , webrtcSupport ? !privacySupport
@@ -107,10 +111,6 @@
 # `browser.eme.ui.enabled` and `media.gmp-widevinecdm.enabled` accordingly
 , drmSupport ? true
 
-## other
-
-, crashreporterSupport ? false
-
 # As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
 # https://github.com/NixOS/nixpkgs/issues/31843#issuecomment-346372756 we
 # have permission to use the official firefox branding.
@@ -169,6 +169,11 @@ buildStdenv.mkDerivation ({
 
   inherit src unpackPhase meta;
 
+  outputs = [
+    "out"
+    "symbols"
+  ];
+
   # Add another configure-build-profiling run before the final configure phase if we build with pgo
   preConfigurePhases = lib.optionals pgoSupport [
     "configurePhase"
@@ -197,6 +202,7 @@ buildStdenv.mkDerivation ({
   nativeBuildInputs = [
     autoconf
     cargo
+    dump_syms
     llvmPackages.llvm # llvm-objdump
     makeWrapper
     nodejs
@@ -232,13 +238,17 @@ buildStdenv.mkDerivation ({
     # Set consistent remoting name to ensure wmclass matches with desktop file
     export MOZ_APP_REMOTINGNAME="${binaryName}"
 
-    # Use our own python
-    export MACH_USE_SYSTEM_PYTHON=1
-
     # AS=as in the environment causes build failure
     # https://bugzilla.mozilla.org/show_bug.cgi?id=1497286
     unset AS
 
+  '' + lib.optionalString (lib.versionAtLeast version "100.0") ''
+    # Use our own python
+    export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
+  '' + lib.optionalString (lib.versionOlder version "100.0") ''
+    # Use our own python
+    export MACH_USE_SYSTEM_PYTHON=1
+
   '' + lib.optionalString (lib.versionAtLeast version "95.0") ''
     # RBox WASM Sandboxing
     export WASM_CC=${pkgsCross.wasi32.stdenv.cc}/bin/${pkgsCross.wasi32.stdenv.cc.targetPrefix}cc
@@ -303,7 +313,9 @@ buildStdenv.mkDerivation ({
   ++ lib.optional (lib.versionAtLeast version "95") "--with-wasi-sysroot=${wasiSysRoot}"
 
   ++ flag alsaSupport "alsa"
+  ++ flag jackSupport "jack"
   ++ flag pulseaudioSupport "pulseaudio"
+  ++ lib.optional (lib.versionAtLeast version "100") (flag sndioSupport "sndio")
   ++ flag ffmpegSupport "ffmpeg"
   ++ flag jemallocSupport "jemalloc"
   ++ flag geolocationSupport "necko-wifi"
@@ -363,7 +375,9 @@ buildStdenv.mkDerivation ({
   ]
   ++ [ (if (lib.versionAtLeast version "92") then nss_latest else nss_esr) ]
   ++ lib.optional  alsaSupport alsa-lib
+  ++ lib.optional  jackSupport libjack2
   ++ lib.optional  pulseaudioSupport libpulseaudio # only headers are needed
+  ++ lib.optional  (sndioSupport && lib.versionAtLeast version "100") sndio
   ++ lib.optional  gssSupport libkrb5
   ++ lib.optionals waylandSupport [ libxkbcommon libdrm ]
   ++ lib.optional  jemallocSupport jemalloc
@@ -405,7 +419,13 @@ buildStdenv.mkDerivation ({
   # tests were disabled in configureFlags
   doCheck = false;
 
+  # Generate build symbols once after the final build
+  # https://firefox-source-docs.mozilla.org/crash-reporting/uploading_symbol.html
   preInstall = ''
+    ./mach buildsymbols
+    mkdir -p $symbols/
+    cp mozobj/dist/*.crashreporter-symbols.zip $symbols/
+
     cd mozobj
   '';
 
@@ -464,7 +484,9 @@ buildStdenv.mkDerivation ({
     inherit version;
     inherit alsaSupport;
     inherit binaryName;
+    inherit jackSupport;
     inherit pipewireSupport;
+    inherit sndioSupport;
     inherit nspr;
     inherit ffmpegSupport;
     inherit gssSupport;
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
deleted file mode 100644
index 3503f9d65bbf9..0000000000000
--- a/pkgs/applications/networking/browsers/firefox/librewolf/src.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
-  "packageVersion": "99.0.1-4",
-  "source": {
-    "rev": "99.0.1-4",
-    "sha256": "0s0r9smyfr8yhbgp67569ki3lkc2dyv1dw9735njja2gy0nahgni"
-  },
-  "firefox": {
-    "version": "99.0.1",
-    "sha512": "0006b773ef1057a6e0b959d4f39849ad4a79272b38d565da98062b9aaf0effd2b729349c1f9fa10fccf7d2462d2c536b02c167ae6ad4556d6e519c6d22c25a7f"
-  }
-}
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index e34120de9c005..10249aea4ee92 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -1,11 +1,7 @@
-{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests }:
-
-let
-  common = opts: callPackage (import ./common.nix opts) {};
-in
+{ stdenv, lib, callPackage, fetchurl, fetchpatch, nixosTests, buildMozillaMach }:
 
 rec {
-  firefox = common rec {
+  firefox = buildMozillaMach rec {
     pname = "firefox";
     version = "100.0";
     src = fetchurl {
@@ -30,7 +26,7 @@ rec {
     };
   };
 
-  firefox-esr-91 = common rec {
+  firefox-esr-91 = buildMozillaMach rec {
     pname = "firefox-esr";
     version = "91.9.0esr";
     src = fetchurl {
@@ -54,30 +50,4 @@ rec {
       versionSuffix = "esr";
     };
   };
-
-  librewolf =
-  let
-    librewolf-src = callPackage ./librewolf { };
-  in
-  (common rec {
-    pname = "librewolf";
-    binaryName = "librewolf";
-    version = librewolf-src.packageVersion;
-    src = librewolf-src.firefox;
-    inherit (librewolf-src) extraConfigureFlags extraPostPatch extraPassthru;
-
-    meta = {
-      description = "A fork of Firefox, focused on privacy, security and freedom";
-      homepage = "https://librewolf.net/";
-      maintainers = with lib.maintainers; [ squalus ];
-      inherit (firefox.meta) platforms badPlatforms broken maxSilent license;
-    };
-    updateScript = callPackage ./librewolf/update.nix {
-      attrPath = "librewolf-unwrapped";
-    };
-  }).override {
-    crashreporterSupport = false;
-    enableOfficialBranding = false;
-    pgoSupport = false; # Profiling gets stuck and doesn't terminate.
-  };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index d5055f04ed82e..2efd9422328ee 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
-, replace, fetchurl, zip, unzip, jq, xdg-utils, writeText
+, fetchurl, zip, unzip, jq, xdg-utils, writeText
 
 ## various stuff that can be plugged in
 , ffmpeg, xorg, alsa-lib, libpulseaudio, libcanberra-gtk3, libglvnd, libnotify, opensc
@@ -13,6 +13,8 @@
 , mesa # firefox wants gbm for drm+dmabuf
 , cups
 , pciutils
+, sndio
+, libjack2
 }:
 
 ## configurability of the wrapper itself
@@ -53,6 +55,8 @@ let
       gssSupport = browser.gssSupport or false;
       alsaSupport = browser.alsaSupport or false;
       pipewireSupport = browser.pipewireSupport or false;
+      sndioSupport = browser.sndioSupport or false;
+      jackSupport = browser.jackSupport or false;
       # PCSC-Lite daemon (services.pcscd) also must be enabled for firefox to access smartcards
       smartcardSupport = cfg.smartcardSupport or false;
 
@@ -76,6 +80,8 @@ let
             (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsa-lib zlib ])
             ++ lib.optional (config.pulseaudio or true) libpulseaudio
             ++ lib.optional alsaSupport alsa-lib
+            ++ lib.optional sndioSupport sndio
+            ++ lib.optional jackSupport libjack2
             ++ lib.optional smartcardSupport opensc
             ++ pkcs11Modules;
       gtk_modules = [ libcanberra-gtk3 ];
@@ -176,7 +182,7 @@ let
         startupWMClass = wmClass;
       };
 
-      nativeBuildInputs = [ makeWrapper lndir replace jq ];
+      nativeBuildInputs = [ makeWrapper lndir jq ];
       buildInputs = [ browser.gtk3 ];
 
 
@@ -206,48 +212,52 @@ let
         done
 
         # fix links and absolute references
-        cd "${browser}"
 
         find . -type l -print0 | while read -d $'\0' l; do
-          target="$(readlink "$l" | replace-literal -es -- "${browser}" "$out")"
+          target="$(readlink "$l")"
+          target=''${target/#"${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-literal -esfR -- "${browser}" "$out"
 
         # create the wrapper
 
         executablePrefix="$out/bin"
         executablePath="$executablePrefix/${applicationName}"
+        oldWrapperArgs=()
 
-        if [ ! -x "$executablePath" ]
-        then
-            echo "cannot find executable file \`${browser}/bin/${applicationName}'"
-            exit 1
-        fi
-
-        if [ ! -L "$executablePath" ]
-        then
-          # Careful here, the file at executablePath may already be
-          # a wrapper. That is why we postfix it with -old instead
-          # of -wrapped.
-          oldExe="$executablePrefix"/".${applicationName}"-old
-          mv "$executablePath" "$oldExe"
-        else
+        if [[ -L $executablePath ]]; then
+          # Symbolic link: wrap the link's target.
           oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
-        fi
-
-        if [ ! -x "${browser}/bin/${applicationName}" ]
-        then
-            echo "cannot find executable file \`${browser}/bin/${applicationName}'"
-            exit 1
+          rm "$executablePath"
+        elif wrapperCmd=$(strings -dw "$executablePath" | sed -n '/^makeCWrapper/,/^$/ p'); [[ $wrapperCmd ]]; then
+          # If the executable is a binary wrapper, we need to update its target to
+          # point to $out, but we can't just edit the binary in-place because of length
+          # issues. So we extract the command used to create the wrapper and add the
+          # arguments to our wrapper.
+          parseMakeCWrapperCall() {
+            shift # makeCWrapper
+            oldExe=$1; shift
+            for arg do case $arg in
+              --inherit-argv0) oldWrapperArgs+=(--argv0 '$0');; # makeWrapper doesn't understand --inherit-argv0
+              *) oldWrapperArgs+=("$arg");;
+            esac done
+          }
+          eval "parseMakeCWrapperCall ''${wrapperCmd//"${browser}"/"$out"}"
+          rm "$executablePath"
+        else
+          if read -rn2 shebang < "$executablePath" && [[ $shebang == '#!' ]]; then
+            # Shell wrapper: patch in place to point to $out.
+            sed -i "s@${browser}@$out@g" "$executablePath"
+          fi
+          # Suffix the executable with -old, because -wrapped might already be used by the old wrapper.
+          oldExe="$executablePrefix/.${applicationName}"-old
+          mv "$executablePath" "$oldExe"
         fi
 
         makeWrapper "$oldExe" \
-          "$out/bin/${applicationName}${nameSuffix}" \
+          "''${executablePath}${nameSuffix}" \
             --prefix LD_LIBRARY_PATH ':' "$libs" \
             --suffix-each GTK_PATH ':' "$gtk_modules" \
             --prefix PATH ':' "${xdg-utils}/bin" \
@@ -258,9 +268,8 @@ let
             --set MOZ_ALLOW_DOWNGRADE 1 \
             --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
             --suffix XDG_DATA_DIRS : '${gnome.adwaita-icon-theme}/share' \
-            ${lib.optionalString forceWayland ''
-              --set MOZ_ENABLE_WAYLAND "1" \
-            ''}
+            ${lib.optionalString forceWayland "--set MOZ_ENABLE_WAYLAND 1"} \
+            "''${oldWrapperArgs[@]}"
         #############################
         #                           #
         #   END EXTRA PREF CHANGES  #
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 681de76dda3b0..1c573eb1a58b4 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -6,39 +6,45 @@
 , pkg-config
 , fribidi
 , harfbuzz
-, libunistring
 , libwebp
 , mpg123
-, openssl
-, pcre
 , SDL2
+, the-foundation
 , AppKit
 , zip
-, zlib
+, enableTUI ? false, ncurses, sealcurses
 }:
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.12.2";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-AVitXfHIJmCBBkhg+DLkHeCSoyH6YMaTMaa4REDXEFg=";
-    fetchSubmodules = true;
+    sha256 = "sha256-ZCG7i5WmhONockaTt/YCww7N+WvxCX2DIwQIFjAk+K8=";
   };
 
-  postPatch = ''
-    rm -r lib/fribidi lib/harfbuzz
-  '';
-
   nativeBuildInputs = [ cmake pkg-config zip ];
 
-  buildInputs = [ fribidi harfbuzz libunistring libwebp mpg123 openssl pcre SDL2 zlib ]
+  buildInputs = [ the-foundation ]
+    ++ lib.optionals (!enableTUI) [ fribidi harfbuzz libwebp mpg123 SDL2 ]
+    ++ lib.optionals enableTUI [ ncurses sealcurses ]
     ++ lib.optional stdenv.isDarwin AppKit;
 
-  installPhase = lib.optionalString stdenv.isDarwin ''
+  cmakeFlags = lib.optionals enableTUI [
+    "-DENABLE_TUI=YES"
+    "-DENABLE_MPG123=NO"
+    "-DENABLE_WEBP=NO"
+    "-DENABLE_FRIBIDI=NO"
+    "-DENABLE_HARFBUZZ=NO"
+    "-DENABLE_POPUP_MENUS=NO"
+    "-DENABLE_IDLE_SLEEP=NO"
+    "-DCMAKE_INSTALL_DATADIR=${placeholder "out"}/share"
+  ];
+
+  installPhase = lib.optionalString (stdenv.isDarwin && !enableTUI) ''
     mkdir -p $out/Applications
     mv Lagrange.app $out/Applications
   '';
diff --git a/pkgs/applications/networking/browsers/librewolf/default.nix b/pkgs/applications/networking/browsers/librewolf/default.nix
new file mode 100644
index 0000000000000..8f3100de970d4
--- /dev/null
+++ b/pkgs/applications/networking/browsers/librewolf/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, callPackage, buildMozillaMach }:
+
+let
+  librewolf-src = callPackage ./librewolf.nix { };
+in
+(buildMozillaMach 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 ];
+    platforms = lib.platforms.unix;
+    badPlatforms = lib.platforms.darwin;
+    broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory".
+                                           # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
+    maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
+    license = lib.licenses.mpl20;
+  };
+  updateScript = callPackage ./update.nix {
+    attrPath = "librewolf-unwrapped";
+  };
+}).override {
+  crashreporterSupport = false;
+  enableOfficialBranding = false;
+  pgoSupport = false; # Profiling gets stuck and doesn't terminate.
+}
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/default.nix b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
index 10b65e8825c20..68ed776e91c9b 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/default.nix
+++ b/pkgs/applications/networking/browsers/librewolf/librewolf.nix
@@ -1,4 +1,4 @@
-{ callPackage, git }:
+{ callPackage }:
 let
   src = callPackage ./src.nix { };
 in
diff --git a/pkgs/applications/networking/browsers/librewolf/src.json b/pkgs/applications/networking/browsers/librewolf/src.json
new file mode 100644
index 0000000000000..5bad3f1ed7fb1
--- /dev/null
+++ b/pkgs/applications/networking/browsers/librewolf/src.json
@@ -0,0 +1,11 @@
+{
+  "packageVersion": "100.0-3",
+  "source": {
+    "rev": "100.0-3",
+    "sha256": "1n99amk6ngxa7wipc402gffqjv4qmgbaahpz3xydfarxw8gk37pl"
+  },
+  "firefox": {
+    "version": "100.0",
+    "sha512": "29c56391c980209ff94c02a9aba18fe27bea188bdcbcf7fe0c0f27f61e823f4507a3ec343b27cb5285cf3901843e9cc4aca8e568beb623c4b69b7282e662b2aa"
+  }
+}
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.nix b/pkgs/applications/networking/browsers/librewolf/src.nix
index 38c5dc6b593d1..38c5dc6b593d1 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/src.nix
+++ b/pkgs/applications/networking/browsers/librewolf/src.nix
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/update.nix b/pkgs/applications/networking/browsers/librewolf/update.nix
index 5cb5c6168f730..b8bc64afafe07 100644
--- a/pkgs/applications/networking/browsers/firefox/librewolf/update.nix
+++ b/pkgs/applications/networking/browsers/librewolf/update.nix
@@ -20,7 +20,7 @@ writeScript "update-librewolf" ''
   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
+  srcJson=pkgs/applications/networking/browsers/librewolf/src.json
   localRev=$(jq -r .source.rev < $srcJson)
   echo "localRev=$localRev"
 
diff --git a/pkgs/applications/networking/browsers/microsoft-edge/default.nix b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
index 6598ba27a872c..4acdd563d66f7 100644
--- a/pkgs/applications/networking/browsers/microsoft-edge/default.nix
+++ b/pkgs/applications/networking/browsers/microsoft-edge/default.nix
@@ -1,20 +1,20 @@
 {
   beta = import ./browser.nix {
     channel = "beta";
-    version = "99.0.1150.16";
+    version = "101.0.1210.19";
     revision = "1";
-    sha256 = "sha256:0qsgs889d6qwxz9qf42psmjqfhmrqgp07srq5r38npl5pncr137h";
+    sha256 = "sha256:1kgc19ryw69xiqppz90d6sa45g99hzkh7x5yk9d3xlh1gc1xn54p";
   };
   dev = import ./browser.nix {
     channel = "dev";
-    version = "100.0.1163.1";
+    version = "102.0.1227.0";
     revision = "1";
-    sha256 = "sha256:153faqxyw5f5b6cqnvd71dl7941znkzci8dwbcgaxway0b6882jq";
+    sha256 = "sha256:0dnyandri7yg7c9812pnsxqszxyqcssxf87yskjg2vw95hawf11x";
   };
   stable = import ./browser.nix {
     channel = "stable";
-    version = "98.0.1108.56";
+    version = "100.0.1185.44";
     revision = "1";
-    sha256 = "sha256:03jbj2s2fs60fzfgsmyb284q7nckji87qgb86mvl5g0hbl19aza7";
+    sha256 = "sha256:0zv1zyijh620xz36a6nmhv7rbv4ln5f245hyh0w1sngynsl1rz89";
   };
 }
diff --git a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
index b0d954a00d4f8..bba457674c7d0 100644
--- a/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libnsutils.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+    homepage = "https://www.netsurf-browser.org/";
     description = "Generalised utility library for netsurf browser";
     license = licenses.mit;
     maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
diff --git a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
index c7362b998beb2..47b53b4781b56 100644
--- a/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
+++ b/pkgs/applications/networking/browsers/netsurf/libutf8proc.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl, pkg-config
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
 , buildsystem
 }:
 
@@ -9,10 +12,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.netsurf-browser.org/libs/releases/${libname}-${version}-src.tar.gz";
-    sha256 = "sha256-AasdaYnBx3VQkNskw/ZOSflcVgrknCa+xRQrrGgCxHI=";
+    hash = "sha256-AasdaYnBx3VQkNskw/ZOSflcVgrknCa+xRQrrGgCxHI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ buildsystem ];
 
   makeFlags = [
@@ -21,7 +25,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://www.netsurf-browser.org/projects/${libname}/";
+    homepage = "https://www.netsurf-browser.org/";
     description = "UTF8 Processing library for netsurf browser";
     license = licenses.mit;
     maintainers = [ maintainers.vrthra maintainers.AndersonTorres ];
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index eacc66271d5a8..a07ca4e581de5 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -6,7 +6,7 @@
 , dbus
 , dbus-glib
 , desktop-file-utils
-, fetchzip
+, fetchFromGitea
 , ffmpeg
 , fontconfig
 , freetype
@@ -39,19 +39,21 @@
 # https://developer.palemoon.org/build/linux/
 assert stdenv.cc.isGNU;
 assert with lib.strings; (
-  versionAtLeast stdenv.cc.version "4.9"
-  && !hasPrefix "6" stdenv.cc.version
-  && versionOlder stdenv.cc.version "11"
+  versionAtLeast stdenv.cc.version "7.1"
+  && versionOlder stdenv.cc.version "12"
 );
 
 stdenv.mkDerivation rec {
   pname = "palemoon";
-  version = "29.4.6";
-
-  src = fetchzip {
-    name = "${pname}-${version}";
-    url = "http://archive.palemoon.org/source/${pname}-${version}.source.tar.xz";
-    sha256 = "sha256-6bI3AnIhp0x3BCgTvmbOXDBGrJXg3cN+AmwI8XCKD8g=";
+  version = "31.0.0";
+
+  src = fetchFromGitea {
+    domain = "repo.palemoon.org";
+    owner = "MoonchildProductions";
+    repo = "Pale-Moon";
+    rev = "${version}_Release";
+    fetchSubmodules = true;
+    sha256 = "sha256-fIQAQCtjA/9Otft3e9Z4xWgE09sqsdArYQtZqmEgfTc=";
   };
 
   nativeBuildInputs = [
@@ -139,14 +141,9 @@ stdenv.mkDerivation rec {
 
     ./mach install
 
-    # Fix missing icon due to wrong WMClass
-    # https://forum.palemoon.org/viewtopic.php?f=3&t=26746&p=214221#p214221
-    substituteInPlace ./palemoon/branding/official/palemoon.desktop \
-      --replace 'StartupWMClass="pale moon"' 'StartupWMClass=Pale moon'
+    # Install official branding stuff
     desktop-file-install --dir=$out/share/applications \
       ./palemoon/branding/official/palemoon.desktop
-
-    # Install official branding icons
     for iconname in default{16,22,24,32,48,256} mozicon128; do
       n=''${iconname//[^0-9]/}
       size=$n"x"$n
@@ -155,7 +152,7 @@ stdenv.mkDerivation rec {
 
     # Remove unneeded SDK data from installation
     # https://forum.palemoon.org/viewtopic.php?f=37&t=26796&p=214676#p214729
-    rm -rf $out/{include,share/idl,lib/palemoon-devel-${version}}
+    rm -r $out/{include,share/idl,lib/palemoon-devel-${version}}
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/networking/browsers/palemoon/mozconfig b/pkgs/applications/networking/browsers/palemoon/mozconfig
index 0eab96e584691..65143fdac1874 100644
--- a/pkgs/applications/networking/browsers/palemoon/mozconfig
+++ b/pkgs/applications/networking/browsers/palemoon/mozconfig
@@ -20,8 +20,6 @@ ac_add_options --enable-strip
 ac_add_options --enable-devtools
 ac_add_options --enable-av1
 
-ac_add_options --disable-eme
-ac_add_options --disable-webrtc
 ac_add_options --disable-gamepad
 ac_add_options --disable-tests
 ac_add_options --disable-debug
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 56c7083fee69a..9293cc3050d8a 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -87,7 +87,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "11.0.10";
+  version = "11.0.11";
 
   lang = "en-US";
 
@@ -98,7 +98,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "1j39v01bb97hkhkfvz7xyfmv6y0sjjcymvn3sa9ahz2av1xlrplp";
+      sha256 = "1dx92jdnvs7w52mps4zhnnjym6jsl9vwfiav1jw8qq0g8hslgybd";
     };
 
     i686-linux = fetchurl {
@@ -107,7 +107,7 @@ let
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "0vh913z828ncb8pwz461xx61ylxqp44rf9iah7n6lzda7hcw79r3";
+      sha256 = "165mg9gwmlqwskbk3i8lhjjqp4lmpq5vzdvd9zalx69xqh9v85i5";
     };
   };
 in
@@ -357,7 +357,7 @@ stdenv.mkDerivation rec {
       TMPDIR="\''${TMPDIR:-/tmp}" \
       HOME="\$HOME" \
       XAUTHORITY="\''${XAUTHORITY:-\$HOME/.Xauthority}" \
-      DISPLAY="\$DISPLAY" \
+      DISPLAY="\''${DISPLAY:-}" \
       DBUS_SESSION_BUS_ADDRESS="\''${DBUS_SESSION_BUS_ADDRESS:-unix:path=\$XDG_RUNTIME_DIR/bus}" \\
       \
       XDG_DATA_HOME="\$HOME/.local/share" \
@@ -366,10 +366,10 @@ stdenv.mkDerivation rec {
       PULSE_SERVER="\''${PULSE_SERVER:-}" \
       PULSE_COOKIE="\''${PULSE_COOKIE:-}" \
       \
-      MOZ_ENABLE_WAYLAND=\$MOZ_ENABLE_WAYLAND \
-      WAYLAND_DISPLAY="\$WAYLAND_DISPLAY" \
-      XDG_RUNTIME_DIR="\$XDG_RUNTIME_DIR" \
-      XCURSOR_PATH="\$XCURSOR_PATH" \
+      MOZ_ENABLE_WAYLAND="\''${MOZ_ENABLE_WAYLAND:-}" \
+      WAYLAND_DISPLAY="\''${WAYLAND_DISPLAY:-}" \
+      XDG_RUNTIME_DIR="\''${XDG_RUNTIME_DIR:-}" \
+      XCURSOR_PATH="\''${XCURSOR_PATH:-}" \
       \
       APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plug:dmix}" \
       \
@@ -409,9 +409,7 @@ stdenv.mkDerivation rec {
     LD_LIBRARY_PATH=$libPath $TBB_IN_STORE/TorBrowser/Tor/tor --version >/dev/null
 
     echo "Checking tor-browser wrapper ..."
-    DISPLAY="" MOZ_ENABLE_WAYLAND="" WAYLAND_DISPLAY="" XAUTHORITY="" \
-      XCURSOR_PATH="" XDG_RUNTIME_DIR="" XDG_SESSION_TYPE="" \
-      DBUS_SESSION_BUS_ADDRESS="" TBB_HOME=$(mktemp -d) \
+      TBB_HOME=$(mktemp -d) \
       $out/bin/tor-browser --version >/dev/null
   '';
 
diff --git a/pkgs/applications/networking/browsers/vimb/default.nix b/pkgs/applications/networking/browsers/vimb/default.nix
index 240d9a972fbb0..35fece92529b8 100644
--- a/pkgs/applications/networking/browsers/vimb/default.nix
+++ b/pkgs/applications/networking/browsers/vimb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vimb";
-  version = "3.3.0";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "fanglingsu";
     repo = "vimb";
     rev = version;
-    sha256 = "1qg18z2gnsli9qgrqfhqfrsi6g9mcgr90w8yab28nxrq4aha6brf";
+    sha256 = "sha256-Eq4riJSznKpkW9JJDnTCLxZ9oMJTmWkIoGphOiCcSAg=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook pkg-config ];
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index 87be80bda8ce5..6e496c30ecf6a 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -20,11 +20,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.2.2623.39-1";
+  version = "5.2.2623.41-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1dd44b109gdbjqcbf5rhvgyiqb6qi8vpimsh5fb359dmnqfan1hk";
+    sha256 = "1kyjplymibvs82bqyjmm0vyv08yg4acl2jghh24rm9x53si6qf2d";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 566178d8305e1..96cddf0f42a00 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloudflared";
-  version = "2022.4.1";
+  version = "2022.5.1";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    hash   = "sha256-dgvXbWtLP6sXBlqcx/xpw9LIbcE4VlYZQO5rrS34+9I=";
+    hash   = "sha256-yv4ulVkc7WX6T287kXecyE6lFlxh4YKAi2UCGkOf/lk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index beedc41fa8ec3..069307c41e910 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -39,5 +39,6 @@ buildGoModule rec {
     changelog = "https://github.com/cloudfoundry/bosh-cli/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ris ];
+    mainProgram = "bosh";
   };
 }
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 4b5f60b973b49..899b751462239 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.28.1";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-v6NtnCwIAqzlbtvwmWr39wauPxT0I/m5HOykQfmAexQ=";
+    sha256 = "sha256-cn0PhumDaOhTm1vZCj0h9XehnQCDc+mXtne7QQNSbBk=";
   };
 
-  vendorSha256 = "sha256-2mAPOUAv0ORRCMxesmcwZZh9SCa12k94y/iiN/rzUbs=";
+  vendorSha256 = "sha256-bsIPEjD/kCUvkRKP85CjW3JJf1Hyx9b2pMY9S4HlKrA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index 3d8eed801ec38..21e2f00c3e2f8 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.29.5";
-  sha256 = "1nqi7yk5d66fcjf6kyjivm3cbaqkj36ajgfvjm995q7cla2xyawm";
-  manifestsSha256 = "09rq7wiv3ixdp0p8isfp26vikyx523arzdyizi6yb90q6dl6hgc0";
+  version = "0.30.2";
+  sha256 = "0z4f0vf2n7vfp6ff0lxcl5qyl65ihd4absad8cd16hncz15nyjgl";
+  manifestsSha256 = "04dlxzlrhggq54nkywn9nwdagdn43f0rb7cjkqdn3hlm4hwd07pb";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-dQV/8NF+sMiEoFr2wtR/oGqqn72JwH/JGbMREHIr/Tw=";
+  vendorSha256 = "sha256-POziJtCdD4klu23WuGmWdt72Ugr4KwCAjXRTCuzikSk=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
@@ -65,6 +65,7 @@ in buildGoModule rec {
     '';
     homepage = "https://fluxcd.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jlesquembre bryanasdev000 ];
+    maintainers = with maintainers; [ bryanasdev000 jlesquembre superherointj ];
+    mainProgram = "flux";
   };
 }
diff --git a/pkgs/applications/networking/cluster/fluxcd/update.sh b/pkgs/applications/networking/cluster/fluxcd/update.sh
index 89bfbdc535e01..2d25eee6f347e 100755
--- a/pkgs/applications/networking/cluster/fluxcd/update.sh
+++ b/pkgs/applications/networking/cluster/fluxcd/update.sh
@@ -35,7 +35,7 @@ if [ ! "$OLD_VERSION" = "$LATEST_VERSION" ]; then
     fi
 
     # `git` flag here is to be used by local maintainers to speed up the bump process
-    if [ "$1" = "git" ]; then
+    if [ $# -eq 1 ] && [ "$1" = "git" ]; then
         git switch -c "package-fluxcd-${LATEST_VERSION}"
         git add "$FLUXCD_PATH"/default.nix
         git commit -m "fluxcd: ${OLD_VERSION} -> ${LATEST_VERSION}"
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index aeca62764f0d7..3cceae804cff6 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -46,17 +46,15 @@ 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.23.5+k3s1";     # k3s git tag
-  k3sCommit = "313aaca547f030752788dce696fdf8c9568bc035"; # k3s git commit at the above version
-  k3sRepoSha256 = "0vk72609cyyh64irp14jp2zspnxw34jm710cbwgklx0ch6kiz88d";
-  k3sVendorSha256 = "sha256-d7kQsJi/eQbaTUDglp3gFpc5Im6CyD9coKeM3kMrbjI=";
-
-  k3sServerVendorSha256 = "sha256-E3USXNuXY0lzZH+t3O7BOQ8rKNNQ6avOMItgOEi1cEg=";
+  k3sVersion = "1.23.6+k3s1";     # k3s git tag
+  k3sCommit = "418c3fa858b69b12b9cefbcff0526f666a6236b9"; # k3s git commit at the above version
+  k3sRepoSha256 = "0fmw491dn5mpi058mr7sij51i5m4qg2grx30cnl3h2v4s0sdkx2i";
+  k3sVendorSha256 = "sha256-iHg5ySMaiSWXs98YGmxPwdZr4zdBIFma12dNEuf30Hs=";
 
   # 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.14.1";
-  traefikChartSha256 = "09a6cialx7nrh7nwi1gkkh8zcsasxcgb52dyx0r8bjq9ng29simj";
+  traefikChartVersion = "10.19.3";
+  traefikChartSha256 = "04zg5li957svgscdmkzmzjkwljaljyav68rzxmhakkwgav6q9058";
 
   # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
   k3sRootVersion = "0.11.0";
@@ -68,8 +66,8 @@ let
 
   # taken from go.mod, the 'github.com/containerd/containerd' line
   # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
-  containerdVersion = "1.5.10-k3s1";
-  containerdSha256 = "1ff2sfaqpjimq7w0lprci6ibyi6v65ap6b9sr6b0j12gqr2sqwa5";
+  containerdVersion = "1.5.11-k3s2";
+  containerdSha256 = "16132snvrg8r0vwm6c0lz0q6fx686s2ix53nm3aka9a83xs75vf2";
 
   # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
   criCtlVersion = "1.22.0-k3s1";
@@ -175,7 +173,7 @@ let
     version = k3sVersion;
 
     src = k3sRepo;
-    vendorSha256 = k3sServerVendorSha256;
+    vendorSha256 = k3sVendorSha256;
 
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ libseccomp ];
@@ -223,7 +221,6 @@ buildGoModule rec {
   version = k3sVersion;
 
   src = k3sRepo;
-  proxyVendor = true;
   vendorSha256 = k3sVendorSha256;
 
   patches = [
diff --git a/pkgs/applications/networking/cluster/k3s/update.sh b/pkgs/applications/networking/cluster/k3s/update.sh
index 8f199bf9cc0cd..6c9755334cde0 100755
--- a/pkgs/applications/networking/cluster/k3s/update.sh
+++ b/pkgs/applications/networking/cluster/k3s/update.sh
@@ -81,19 +81,6 @@ setKV containerdSha256 ${CONTAINERD_SHA256}
 
 setKV criCtlVersion ${CRI_CTL_VERSION}
 
-setKV k3sServerVendorSha256 "0000000000000000000000000000000000000000000000000000"
-
-set +e
-K3S_SERVER_VENDOR_SHA256=$(nix-build ${NIXPKGS_ROOT} --no-out-link -A k3s 2>&1 >/dev/null | grep "got:" | cut -d':' -f2 | sed 's| ||g')
-set -e
-
-if [ -n "${K3S_SERVER_VENDOR_SHA256:-}" ]; then
-    setKV k3sServerVendorSha256 ${K3S_SERVER_VENDOR_SHA256}
-else
-    echo "Update failed. K3S_SERVER_VENDOR_SHA256 is empty."
-    exit 1
-fi
-
 set +e
 K3S_VENDOR_SHA256=$(nix-prefetch -I nixpkgs=${NIXPKGS_ROOT} "{ sha256 }: (import ${NIXPKGS_ROOT}. {}).k3s.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
 set -e
diff --git a/pkgs/applications/networking/cluster/krelay/default.nix b/pkgs/applications/networking/cluster/krelay/default.nix
index f0a9912ab914e..16e9203bf9c3d 100644
--- a/pkgs/applications/networking/cluster/krelay/default.nix
+++ b/pkgs/applications/networking/cluster/krelay/default.nix
@@ -27,5 +27,6 @@ buildGoModule rec {
     changelog = "https://github.com/knight42/krelay/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ ivankovnatsky ];
+    mainProgram = "kubectl-relay";
   };
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index d4a9ba4af7d30..3ee00d4121a90 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -7,6 +7,7 @@
 , which
 , libvirt
 , vmnet
+, makeWrapper
 }:
 
 buildGoModule rec {
@@ -24,7 +25,7 @@ buildGoModule rec {
     sha256 = "sha256-WIk4ibq7jcqao0Qiz3mz9yfHdxTUlvtPuEh4gApSDBg=";
   };
 
-  nativeBuildInputs = [ installShellFiles pkg-config which ];
+  nativeBuildInputs = [ installShellFiles pkg-config which makeWrapper ];
 
   buildInputs = if stdenv.isDarwin then [ vmnet ] else if stdenv.isLinux then [ libvirt ] else null;
 
@@ -35,9 +36,8 @@ buildGoModule rec {
   installPhase = ''
     install out/minikube -Dt $out/bin
 
+    wrapProgram $out/bin/minikube --set MINIKUBE_WANTUPDATENOTIFICATION false
     export HOME=$PWD
-    export MINIKUBE_WANTUPDATENOTIFICATION=false
-    export MINIKUBE_WANTKUBECTLDOWNLOADMSG=false
 
     for shell in bash zsh fish; do
       $out/bin/minikube completion $shell > minikube.$shell
diff --git a/pkgs/applications/networking/cluster/nomad/1.2.nix b/pkgs/applications/networking/cluster/nomad/1.2.nix
index 81a31de7e506a..a45d5b2e98d94 100644
--- a/pkgs/applications/networking/cluster/nomad/1.2.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.2.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix {
   inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
-  version = "1.2.6";
-  sha256 = "1ik8v1jznky9y4m85bzxgyba256zqmm5fs6d5xsvp5rzcylcdwgd";
-  vendorSha256 = "1mbvpssf7haaxzx6ka9qzixm49jck8i89w8ymkaddgmxhlbxjv05";
+  version = "1.2.7";
+  sha256 = "13whyjl0shr00mn46f361ybz90zwkiyab9ygcs0hrs75lgvkmfm9";
+  vendorSha256 = "177gv0h8bhxd5j78sf4is86zzq8xl9schg1hbyh0hmwg4whhqm8a";
 }
diff --git a/pkgs/applications/networking/cluster/nomad/1.3.nix b/pkgs/applications/networking/cluster/nomad/1.3.nix
new file mode 100644
index 0000000000000..932bbc7270f6c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nomad/1.3.nix
@@ -0,0 +1,12 @@
+{ callPackage
+, buildGoModule
+, nvidia_x11
+, nvidiaGpuSupport
+}:
+
+callPackage ./generic.nix {
+  inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
+  version = "1.3.0";
+  sha256 = "098sg7jl257r6zfi2fsp9dwm0rrzi8m2k85bb097q14n3p4s3pna";
+  vendorSha256 = "037bdgnyv8gkm2hz7h727ss46adnkywg28j6i1canmdacpi3qv5c";
+}
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index bab73c41f5f59..89bbd0cb7d6df 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -60,9 +60,10 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "Build, deploy, and manage your applications with Docker and Kubernetes";
-    license = licenses.asl20;
     homepage = "http://www.openshift.org";
+    license = licenses.asl20;
     maintainers = with maintainers; [ offline bachp moretea stehessel ];
+    mainProgram = "oc";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/roxctl/default.nix b/pkgs/applications/networking/cluster/roxctl/default.nix
new file mode 100644
index 0000000000000..4d62dad4af6e5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/roxctl/default.nix
@@ -0,0 +1,44 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testVersion, roxctl }:
+
+buildGoModule rec {
+  pname = "roxctl";
+  version = "3.69.1";
+
+  src = fetchFromGitHub {
+    owner = "stackrox";
+    repo = "stackrox";
+    rev = version;
+    sha256 = "sha256-fB43C+gMtUOg/Ah1fOTnOWOUmS0TjXkNCzw/TKfMzj4=";
+  };
+
+  vendorSha256 = "sha256-M+ZueycJEaDVzC2bFwQc5EulCrdz6lvzyD8YCoGyW1g=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  subPackages = [ "roxctl" ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/stackrox/rox/pkg/version/internal.MainVersion=${version}"
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd roxctl \
+      --bash <($out/bin/roxctl completion bash) \
+      --fish <($out/bin/roxctl completion fish) \
+      --zsh <($out/bin/roxctl completion zsh)
+  '';
+
+  passthru.tests.version = testVersion {
+    package = roxctl;
+    command = "roxctl version";
+  };
+
+  meta = with lib; {
+    description = "Command-line client of the StackRox Kubernetes Security Platform";
+    license = licenses.asl20;
+    homepage = "https://www.stackrox.io";
+    maintainers = with maintainers; [ stehessel ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
index 2caa0dc228081..1fd71cb8e9914 100644
--- a/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-session-manager-plugin/default.nix
@@ -1,13 +1,13 @@
 { stdenv, lib, fetchurl, autoPatchelfHook, dpkg, awscli, unzip }:
 let
-  ver = "1.2.54.0";
+  ver = "1.2.312.0";
   source =
     if stdenv.isDarwin then {
       url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/mac/sessionmanager-bundle.zip";
-      sha256 = "kgxoQrtu2tsV5t/3oA+Z2juY24hPOznPGjlQMsqOIZg=";
+      sha256 = "50aac34a4dedddf20c20be24989ee5d33b46a72187791715fb9b395b54db8ef9";
     } else {
       url = "https://s3.amazonaws.com/session-manager-downloads/plugin/${ver}/ubuntu_64bit/session-manager-plugin.deb";
-      sha256 = "uug1cT4yRxNQcf+zWz0mi72G4EGa3eZHVuG36INSqrM=";
+      sha256 = "2e51ce5bf8f23a1e590fff866bbdadcf82aa03c5054c671d9115482a1b263cc7";
     };
   archivePath = if stdenv.isDarwin then "sessionmanager-bundle" else "usr/local/sessionmanagerplugin";
 in
diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix
index 7eb4f43e479ef..8476fc810ba43 100644
--- a/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 let
   # look for GO_LDFLAGS getting set in the Makefile
-  version = "1.0.4";
-  sha256 = "sha256-kO48MRQDQGDUvFfsxAt+CAHn2EGU44NMpSKDWnNwAdk=";
-  vendorSha256 = "sha256-QcD5MKQO51ZZ/NvVIiAmDsN6wLI2N8YkhA387KB77W8=";
-  pkgsVersion = "v1.0.0-10-gbf81bd2";
-  extrasVersion = "v1.0.0-2-gc5d3ab0";
+  version = "1.0.5";
+  sha256 = "sha256-xgzIbhgV1AAUa0tooYtzUMqK4Co3PvWQ0YbZuf0JgFE=";
+  vendorSha256 = "sha256-Gp30qCGV+EaJ1lvfleZHRWVL6rdSj0mvpumWsqr9IT0=";
+  pkgsVersion = "v1.0.0-17-g7567bf4";
+  extrasVersion = "v1.0.0-3-g6327c36";
 in
 buildGoModule rec {
   pname = "talosctl";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 26a5171165479..82e0d6ff85173 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -30,10 +30,10 @@
     "owner": "aiven",
     "provider-source-address": "registry.terraform.io/aiven/aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v2.7.2",
-    "sha256": "sha256-1Y3m431KlWU+0cgZsU644WEO1i/9Gp1HomXvuCesVNU=",
+    "rev": "v2.7.3",
+    "sha256": "sha256-ZAYnP2XEa2eJ0YZkqXQedRysmQI31RQ1osg/TqCqthE=",
     "vendorSha256": "sha256-nBVLgOrtINrDziQLdqo5rFWfeY/cOdBW/XVDjtNaNhE=",
-    "version": "2.7.2"
+    "version": "2.7.3"
   },
   "akamai": {
     "owner": "akamai",
@@ -49,10 +49,10 @@
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.165.0",
-    "sha256": "sha256-Mq0Ob6U2v3onn5wIvAzXhbSBzjUCP4kF6irbwREdGFI=",
-    "vendorSha256": "sha256-xxq+VOG6FkX1perAcXOiFtL/bjsHl9IWIJb5dfaIkpY=",
-    "version": "1.165.0"
+    "rev": "v1.166.0",
+    "sha256": "sha256-+aRRsN3ALTmQOnDciHjoVFKV/W+/gjtdZeg3eyJ+0fY=",
+    "vendorSha256": "sha256-2w8o0Fc61ayyUyE4RVcmV4A0heuaIXnOZX040l2ws/Y=",
+    "version": "1.166.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -103,10 +103,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v4.12.1",
-    "sha256": "sha256-z19DTiio6dXIgTmOxehOjIno6XhSUIS/YFtXKocq2Kk=",
-    "vendorSha256": "sha256-zxOiLStuGuylsKTJteR/9Xs/XcVgDlihCBmnMNLTTd4=",
-    "version": "4.12.1"
+    "rev": "v4.13.0",
+    "sha256": "sha256-KEu+7hKMWsrpS1WYxj3El7M43Chy9HTBjePhWO6bXMo=",
+    "vendorSha256": "sha256-Ez6uCriNm1OJ2EyMAyjXihzJ/Pzf2p/oAvJ3HN6fDnA=",
+    "version": "4.13.0"
   },
   "azuread": {
     "owner": "hashicorp",
@@ -121,10 +121,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v3.4.0",
-    "sha256": "sha256-hfjwlW7tbs/b7mvtbmFnNXr82b2exCRC4WxfCdZ6bbw=",
+    "rev": "v3.5.0",
+    "sha256": "sha256-LF2Mqj/w1AtoYVGkZJsFpz81cfoUR80PURIsYoIYfsI=",
     "vendorSha256": null,
-    "version": "3.4.0"
+    "version": "3.5.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -175,10 +175,10 @@
     "owner": "buildkite",
     "provider-source-address": "registry.terraform.io/buildkite/buildkite",
     "repo": "terraform-provider-buildkite",
-    "rev": "v0.8.0",
-    "sha256": "1v4kzsvzkzf0bb6vpyjh0n2kbcfrqa193idvm4jgbcrdb0y3xzn5",
-    "vendorSha256": "12kqjpyy80pfrasicmdi1f43mr846rad3c6xaa4dvzn7hq640q5j",
-    "version": "0.8.0"
+    "rev": "v0.9.0",
+    "sha256": "sha256-k7caRT/9YA198I6K3Qv3UcyQiULpOvJ3Smc816sKHkQ=",
+    "vendorSha256": "sha256-smBADIbH/t2IUt2w0VQ2BOU6iAuxVRa1yu4C5P2VeIo=",
+    "version": "0.9.0"
   },
   "checkly": {
     "owner": "checkly",
@@ -208,14 +208,23 @@
     "vendorSha256": null,
     "version": "1.3.0"
   },
+  "cloudamqp": {
+    "owner": "cloudamqp",
+    "provider-source-address": "registry.terraform.io/cloudamqp/cloudamqp",
+    "repo": "terraform-provider-cloudamqp",
+    "rev": "v1.16.0",
+    "sha256": "sha256-swE4Nr1cQzNQOq8q6o0nZhhYRtgAwTfx6Epm76Jjjqg=",
+    "vendorSha256": "sha256-oPeldPn30uS5Yl6IfXVPy2R7/wsAdZsEbbhVnVHQVwk=",
+    "version": "1.16.0"
+  },
   "cloudflare": {
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.13.0",
-    "sha256": "sha256-ZG8F6cbJOmQdtudkVUGjKsq2Hs4uYlb/pxrF6Fkk4w0=",
-    "vendorSha256": "sha256-4usFr3aseHGGUa/bseSRAjE1NTZxh8UXPd66HG3hwOM=",
-    "version": "3.13.0"
+    "rev": "v3.14.0",
+    "sha256": "sha256-WjtAqL4gzr7NdRLf7mr6OULee35kyyZpr5crR514Mak=",
+    "vendorSha256": "sha256-xqjhSu1bUSpQ1A2Ga2IS2fdyIXcnt/nbQNXhcxVi22Q=",
+    "version": "3.14.0"
   },
   "cloudfoundry": {
     "owner": "cloudfoundry-community",
@@ -339,10 +348,10 @@
     "owner": "dome9",
     "provider-source-address": "registry.terraform.io/dome9/dome9",
     "repo": "terraform-provider-dome9",
-    "rev": "v1.25.3",
-    "sha256": "sha256-0Pde+xVToBP5gavr0ckEIUmgCmRBbqSP5C0YkMthQGQ=",
+    "rev": "v1.25.4",
+    "sha256": "sha256-s/wglGsk/Lm45PWmqNHiVjj6sfQzXue+GnjEALp5yDc=",
     "vendorSha256": null,
-    "version": "1.25.3"
+    "version": "1.25.4"
   },
   "elasticsearch": {
     "owner": "phillbaker",
@@ -411,39 +420,48 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.24.1",
-    "sha256": "sha256-1fwHMN2HIVl+8ZL7OtP1U5ORc41e7Tm3qEpMqIgWL20=",
+    "rev": "v4.25.0-alpha",
+    "sha256": "sha256-9BE19VywtNIeDfjBKzle5nGFPmpS8lHV60w0h2xTztU=",
     "vendorSha256": null,
-    "version": "4.24.1"
+    "version": "4.25.0-alpha"
   },
   "gitlab": {
     "owner": "gitlabhq",
     "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v3.13.0",
-    "sha256": "sha256-Rm7j290Pr65F6JqSNpjK8bR1EhXev/74MpUa7SRNf3o=",
-    "vendorSha256": "sha256-hlcJn54paYJ1nlmqirOvC3Z4y8cMqv6etlDdihV9+R4=",
-    "version": "3.13.0"
+    "rev": "v3.14.0",
+    "sha256": "sha256-KUlFEVeST/ujerpkjHYzdROwkFD4ASx0juHOKWKM14o=",
+    "vendorSha256": "sha256-M03+MK7YB3IPHA/w+yrO6YohPzknCmhguO5b25qzDzw=",
+    "version": "3.14.0"
   },
   "google": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.19.0",
-    "sha256": "sha256-b6oEKiz8REeJIDFLDI80+kA4f32KRjZy/GhKg0qeN24=",
+    "rev": "v4.20.0",
+    "sha256": "sha256-eZNa6V3aVtEgTZgTNgB4EUK3S6iKfk9qI7OnAQ5Mbp4=",
     "vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
-    "version": "4.19.0"
+    "version": "4.20.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.19.0",
-    "sha256": "sha256-MPB/ca0GIIs7yEfIyqeOkzK2mkEdkE/DkEbaSqpaF0U=",
+    "rev": "v4.20.0",
+    "sha256": "sha256-Dr3G7KskfL+4WNOPL3SZCKf+Lo6wP3XS1JrlC6Mv3O8=",
     "vendorSha256": "sha256-l2OviwplP/Sg2ShaEA88pMwVTkREnLkFAzterjr2kvU=",
-    "version": "4.19.0"
+    "version": "4.20.0"
+  },
+  "googleworkspace": {
+    "owner": "hashicorp",
+    "provider-source-address": "registry.terraform.io/hashicorp/googleworkspace",
+    "repo": "terraform-provider-googleworkspace",
+    "rev": "v0.6.0",
+    "sha256": "06cbwkrqrsshnv8ccsnl424l2sq0shi18kxwvrnwg88xvm8qpcfi",
+    "vendorSha256": "1zid2f8c9yfl6zwqiacngaf2rvvgs4w9phqjamgzibz41ijk6655",
+    "version": "0.6.0"
   },
   "grafana": {
     "owner": "grafana",
@@ -494,10 +512,10 @@
     "owner": "loafoe",
     "provider-source-address": "registry.terraform.io/loafoe/htpasswd",
     "repo": "terraform-provider-htpasswd",
-    "rev": "v1.0.1",
-    "sha256": "sha256-RUkPIsKVMooGy2hYsNFkctMFdJ8MEbtbMB9Qak6HJgQ=",
-    "vendorSha256": "sha256-4P3IX7KGDqcWVYRiD6tXoEjF/phI89rz5QdR09xtnAo=",
-    "version": "1.0.1"
+    "rev": "v1.0.2",
+    "sha256": "sha256-U8rArNTOmiB06Vrvet6PnkIuylRzswJvVptijvcuVFQ=",
+    "vendorSha256": "sha256-rotGWkaNbsU+9tGENvkNkR7C3d6334hfPNcvJaZDSKw=",
+    "version": "1.0.2"
   },
   "http": {
     "owner": "hashicorp",
@@ -539,10 +557,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.41.0-beta0",
-    "sha256": "sha256-0SANOw6mSXnH/bLRZRjG2R9aPTsp8jZvqYNNtNsiYPw=",
+    "rev": "v1.41.0",
+    "sha256": "sha256-5kHoTmQlEzTSjDnAJPdEN2y+DF9gB2BHJFHEYLh6h48=",
     "vendorSha256": "sha256-8s32A0qgODZZy3rSrHnnBkQyKLBj0fcCBJ9ja9gXc5Q=",
-    "version": "1.41.0-beta0"
+    "version": "1.41.0"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -584,10 +602,10 @@
     "owner": "mrparkers",
     "provider-source-address": "registry.terraform.io/mrparkers/keycloak",
     "repo": "terraform-provider-keycloak",
-    "rev": "v3.7.0",
-    "sha256": "1qzdm0jgk6f0zyjbv5qaq24h9a37bgb4ghym61vg763lqra69als",
-    "vendorSha256": "1q5z54rz5lqgdv9gfl20gfnzi4in0d65jkfxnmmsx6fjcb9ih4p6",
-    "version": "3.7.0"
+    "rev": "v3.8.0",
+    "sha256": "sha256-TVSP0oORtiVkPGjgiHHJAsaWDhlN5lnpC3eJ4Ogf2Ss=",
+    "vendorSha256": "sha256-8x0MlwAzeA2O6wXXHSk++K0ePmzE9/2lfo2ID83LzRM=",
+    "version": "3.8.0"
   },
   "ksyun": {
     "owner": "kingsoftcloud",
@@ -620,10 +638,10 @@
     "owner": "launchdarkly",
     "provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly",
     "repo": "terraform-provider-launchdarkly",
-    "rev": "v2.6.1",
-    "sha256": "sha256-pdANr7W4d6+8WdAxcqSTpyEIshd6FVYy0+25wfDt4d8=",
+    "rev": "v2.7.0",
+    "sha256": "sha256-V7osiBlNDzJbmVUUhpRUi9tnoY1HccdZ5ub83ciSvbY=",
     "vendorSha256": "sha256-HKea86ck97uc/Gv6geJm9TTRfG6bnpB+q8cuU/jubI8=",
-    "version": "2.6.1"
+    "version": "2.7.0"
   },
   "libvirt": {
     "owner": "dmacvicar",
@@ -638,10 +656,10 @@
     "owner": "linode",
     "provider-source-address": "registry.terraform.io/linode/linode",
     "repo": "terraform-provider-linode",
-    "rev": "v1.27.0",
-    "sha256": "sha256-m2dD/BP5oNRUge3SXhSIptrQhj3Sez4O3hIdrJn45Y4=",
+    "rev": "v1.27.1",
+    "sha256": "sha256-rEXGKytKdlHO3RcZT+3e85cGfQ6b7mhdcFK+unw44ug=",
     "vendorSha256": "sha256-ZJQAZk4TaKT+hLM46gtV1XmBCtwuKwtoom9tPGaOWhc=",
-    "version": "1.27.0"
+    "version": "1.27.1"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -674,10 +692,10 @@
     "owner": "terraform-lxd",
     "provider-source-address": "registry.terraform.io/terraform-lxd/lxd",
     "repo": "terraform-provider-lxd",
-    "rev": "v1.7.1",
-    "sha256": "0r1d0d6fp3rihxhfsxlay0dqp5rmnja9s369msra8jylqyharnrh",
-    "vendorSha256": "11x12jxh4q99hinpljqfchysgkhch93sgv0mz065ws20y0dxzfvs",
-    "version": "1.7.1"
+    "rev": "v1.7.2",
+    "sha256": "sha256-rNqlPyKpBNaIRtiNHB8U8jowWhqdQtDIMxreZ5Dfm3E=",
+    "vendorSha256": "sha256-ervfG/BAaF4M+BXsp0eCDM6nPWQOS3pthClhArsUoYc=",
+    "version": "1.7.2"
   },
   "mailgun": {
     "owner": "wgebis",
@@ -737,10 +755,10 @@
     "owner": "NaverCloudPlatform",
     "provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud",
     "repo": "terraform-provider-ncloud",
-    "rev": "v2.2.6",
-    "sha256": "sha256-Sw3Z6hi+nm/e+lMQQkk8KIa2AK2+q+0gBUe091GnQq0=",
+    "rev": "v2.2.7",
+    "sha256": "sha256-5WZOZBFZkJtPdWmxznv/ML6d+UTr+qw+SbBuaG+bGS8=",
     "vendorSha256": "sha256-ovHg4GcbMzjEi+qJBpdqhR0YUakZCdnpc10SCu8FP8I=",
-    "version": "2.2.6"
+    "version": "2.2.7"
   },
   "netlify": {
     "owner": "AegirHealth",
@@ -755,10 +773,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.43.4",
-    "sha256": "sha256-7ckPPU5ieVEZogW7lWd5vMHyXSlTuSqXj1suxKfEyis=",
-    "vendorSha256": "sha256-HhjTcdw8LbwMJ7P5LcZtgtEojLsqnsiBDrRIp62EZhQ=",
-    "version": "2.43.4"
+    "rev": "v2.44.0",
+    "sha256": "sha256-CR1GPm8K/9ZOFYvgKqMW63sbnRx0HyAYYESC/ZnBNYI=",
+    "vendorSha256": "sha256-2m5T6+GJTUDS345GDOW7Yf8X+JpxvtdYvInBjNvNXlg=",
+    "version": "2.44.0"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -801,28 +819,28 @@
     "owner": "nutanix",
     "provider-source-address": "registry.terraform.io/nutanix/nutanix",
     "repo": "terraform-provider-nutanix",
-    "rev": "v1.5.0-beta.2",
-    "sha256": "sha256-eC42HXh8Tk3TXWtdeVbv4UGMss3lh4vYyGPypB353X0=",
+    "rev": "v1.5.0",
+    "sha256": "sha256-H8wLMLBB4pSbiilmP9C0WPn62fCYHgPhy8OlvtrUYro=",
     "vendorSha256": "sha256-LRIfxQGwG988HE5fftGl6JmBG7tTknvmgpm4Fu1NbWI=",
-    "version": "1.5.0-beta.2"
+    "version": "1.5.0"
   },
   "oci": {
     "owner": "oracle",
     "provider-source-address": "registry.terraform.io/oracle/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.73.0",
-    "sha256": "sha256-duONflOa+ZmWNAOZTcjLJUaeIUSiDR3VC4+SC4UXBBg=",
+    "rev": "v4.74.0",
+    "sha256": "sha256-hZpEhhI2pqOPLQm6XnVGIccyC1kVmLusUzF3KRbAHys=",
     "vendorSha256": null,
-    "version": "4.73.0"
+    "version": "4.74.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.25.1",
-    "sha256": "sha256-+XCpk/vfAD8TWxMdi/WqXxDEh6cEZ684Zr+vkHnNMsI=",
+    "rev": "v3.26.0",
+    "sha256": "sha256-Mnc3JZtKNOB9VpsjXq8WiZz0+zmTmFRfOY23F186tw4=",
     "vendorSha256": "sha256-LHiOQNFkMajqytrv387yIhAyCQCaG2Kw5OCI8Xe7u2k=",
-    "version": "3.25.1"
+    "version": "3.26.0"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -927,10 +945,10 @@
     "owner": "cyrilgdn",
     "provider-source-address": "registry.terraform.io/cyrilgdn/postgresql",
     "repo": "terraform-provider-postgresql",
-    "rev": "v1.15.0",
-    "sha256": "04gm7y5qyvipg0a0glgyx257vjrkk4k5pjrvzik6adyrjyidixw1",
-    "vendorSha256": "0pp9c76zdpfyq57jcwv258gipvmy6hjqi933xdi155hkx45cnixr",
-    "version": "1.15.0"
+    "rev": "v1.16.0",
+    "sha256": "sha256-nueqs2SJZxGNzm/gv/mBo8geXI8nZqmDFQ0e539oV2M=",
+    "vendorSha256": "sha256-o2+Uuz0dStf33WZuTFLkJX5rg4G7sJ23/+q+xtQ4mhE=",
+    "version": "1.16.0"
   },
   "powerdns": {
     "owner": "pan-net",
@@ -999,10 +1017,10 @@
     "owner": "selectel",
     "provider-source-address": "registry.terraform.io/selectel/selectel",
     "repo": "terraform-provider-selectel",
-    "rev": "v3.8.1",
-    "sha256": "sha256-542fWLMJ9nO3Pu/QpUFZtu2eQoQOaAjaaK3aqtyoJPQ=",
+    "rev": "v3.8.2",
+    "sha256": "sha256-Lp2ptLuN/+/fcqeSbIMmL4dmOCoplyZeA10wAsCnYlg=",
     "vendorSha256": "sha256-kmsO9jFoR/93PkOeIo0pkS/OjE+m3QbIspobAv/9+KI=",
-    "version": "3.8.1"
+    "version": "3.8.2"
   },
   "sentry": {
     "owner": "jianyuan",
@@ -1026,10 +1044,10 @@
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.13.0",
-    "sha256": "sha256-te5+WjbvU7RV22o22iWu8rGEnBfPkZNzkigziOlxMQg=",
+    "rev": "v6.13.1",
+    "sha256": "sha256-OtWJgLObTaWCGOjxN8nlkmfW+D6EMS0esht/OkJaioM=",
     "vendorSha256": "sha256-yWqUsObvABwmA6V9ecz8SFtk1Bhdq2/dUpnNLKQtuNM=",
-    "version": "6.13.0"
+    "version": "6.13.1"
   },
   "skytap": {
     "owner": "skytap",
@@ -1044,10 +1062,10 @@
     "owner": "chanzuckerberg",
     "provider-source-address": "registry.terraform.io/chanzuckerberg/snowflake",
     "repo": "terraform-provider-snowflake",
-    "rev": "v0.32.0",
-    "sha256": "sha256-Y4apbAQ4Up1VoQxB9w/4EYwhFX9sqYNLLBVxyOqmffE=",
+    "rev": "v0.33.1",
+    "sha256": "sha256-xFtk1WbMe2/UFGB/ej6QEL07+dZTsWFmqvyVCa2YBw8=",
     "vendorSha256": "sha256-l++IzY3/W4qsdFJY7ik0xF6tZWluLb4EcW5KQtBVY5s=",
-    "version": "0.32.0"
+    "version": "0.33.1"
   },
   "sops": {
     "owner": "carlpett",
@@ -1107,10 +1125,10 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.71.0",
-    "sha256": "sha256-syj6fOBmErKsPQXYQ0U9bFC3butI06FJVLkD6RvWbFE=",
+    "rev": "v1.72.1",
+    "sha256": "sha256-vCCIHp8tpAn7PIIBMVXRSI9G420E1ijfYow9bfC3RKs=",
     "vendorSha256": null,
-    "version": "1.71.0"
+    "version": "1.72.1"
   },
   "tfe": {
     "owner": "hashicorp",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 73f618cb0294f..b4191bbd78c80 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -63,11 +63,10 @@ let
           kalbasit
           marsam
           maxeaubrey
+          techknowlogick
           timstott
-          zimbatm
           zowoq
-          techknowlogick
-        ];
+        ] ++ teams.numtide.members;
       };
     } // attrs');
 
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 48025dfd7f729..57cd5e11df8c6 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.36.6";
+  version = "0.37.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WSvdv4E/m6mJZdo3s9FHMETKaYNB7mltWrQlTHTFJ/E=";
+    sha256 = "sha256-7nil/T6q1crZh9ARTP615UzfjKcgsclpIt2N1ifABBk=";
   };
 
-  vendorSha256 = "sha256-tNgEepKqwiqXhmoRCIEg7VJw7Y0TGt+R+6dZzd8aECg=";
+  vendorSha256 = "sha256-7SUf4r+6r6dkBoBZFg2AUK114QEl0+1lwRA4ymYArFs=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 6ff362bb0e086..65e057b69fd13 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -12,15 +12,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.91";
+  version = "1.2.99";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-ZafIG4D5TvAbXbo07gFajt8orTsju1GfF9a1OR0t1Oo=";
+    sha256 = "sha256-D9NwVZGB0UV0tRe927GpxHzdvAeqcRJOYfocbbj6BRM=";
   };
-  vendorSha256 = "sha256-U4eVQR/ExAENOg2XEYM+mFXANk+basdMLEcqSHuTsh4=";
+  vendorSha256 = "sha256-ZMSTl9WFTF5x+tiQZ37ihVrOuLS0W5PjyXbbzyHJNsI=";
   proxyVendor = true;
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
diff --git a/pkgs/applications/networking/compactor/default.nix b/pkgs/applications/networking/compactor/default.nix
index 459b5652089cf..de96a3ddaa8a0 100644
--- a/pkgs/applications/networking/compactor/default.nix
+++ b/pkgs/applications/networking/compactor/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , asciidoctor, autoreconfHook, pkg-config
-, boost, libctemplate, libmaxminddb, libpcap, libtins, openssl, protobuf, xz, zlib
+, boost, libctemplate, libmaxminddb, libpcap, libtins, openssl, protobuf, xz, zlib, catch2
 , cbor-diag, cddl, diffutils, file, mktemp, netcat, tcpdump, wireshark-cli
 }:
 
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs test-scripts/
+    cp ${catch2}/include/catch2/catch.hpp tests/catch.hpp
   '';
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/feedreaders/feedreader/default.nix b/pkgs/applications/networking/feedreaders/feedreader/default.nix
deleted file mode 100644
index 4eb8da760bff1..0000000000000
--- a/pkgs/applications/networking/feedreaders/feedreader/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3
-, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
-, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas
-, curl, glib, gnome, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
-}:
-
-stdenv.mkDerivation rec {
-  pname = "feedreader";
-  version = "2.11.0";
-
-  src = fetchFromGitHub {
-    owner = "jangernert";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1agy1nkpkdsy2kbrrc8nrwphj5n86rikjjvwkr8klbf88mzl6civ";
-  };
-
-  nativeBuildInputs = [
-    meson ninja pkg-config vala gettext appstream-glib desktop-file-utils
-    libxml2 python3 wrapGAppsHook
-  ];
-
-  buildInputs = [
-    curl glib json-glib libnotify libsecret sqlite gumbo gtk3
-    libgee libpeas gnome.libsoup librest webkitgtk gsettings-desktop-schemas
-    gnome-online-accounts
-  ] ++ (with gst_all_1; [
-    gstreamer gst-plugins-base gst-plugins-good
-  ]);
-
-  postPatch = ''
-    patchShebangs build-aux/meson_post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "A modern desktop application designed to complement existing web-based RSS accounts";
-    homepage = "https://jangernert.github.io/FeedReader/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ edwtjo ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/firewalld/default.nix b/pkgs/applications/networking/firewalld/default.nix
new file mode 100644
index 0000000000000..b937c35a3f969
--- /dev/null
+++ b/pkgs/applications/networking/firewalld/default.nix
@@ -0,0 +1,104 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, bash
+, docbook_xml_dtd_42
+, docbook-xsl-nons
+, glib
+, gobject-introspection
+, gtk3
+, intltool
+, libnotify
+, libxml2
+, libxslt
+, networkmanagerapplet
+, pkg-config
+, python3
+, wrapGAppsNoGuiHook
+, withGui ? false
+}:
+
+let
+  pythonPath = python3.withPackages (ps: with ps; [
+    dbus-python
+    nftables
+    pygobject3
+  ] ++ lib.optionals withGui [
+    pyqt5
+    pyqt5_sip
+  ]);
+in
+stdenv.mkDerivation rec {
+  pname = "firewalld";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "firewalld";
+    repo = "firewalld";
+    rev = "v${version}";
+    sha256 = "sha256-w8TbovIhOhJAUZWbKdBd/+db8Hro/ttlxWZDcrCXX4Q=";
+  };
+
+  patches = [
+    ./respect-xml-catalog-files-var.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace src/firewall/config/__init__.py.in \
+      --replace "/usr/share" "$out/share"
+
+    for file in config/firewall-{applet,config}.desktop.in; do
+      substituteInPlace $file \
+        --replace "/usr/bin/" "$out/bin/"
+    done
+  '' + lib.optionalString withGui ''
+    substituteInPlace src/firewall-applet.in \
+      --replace "/usr/bin/nm-connection-editor" "${networkmanagerapplet}/bin/nm-conenction-editor"
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook_xml_dtd_42
+    docbook-xsl-nons
+    glib
+    intltool
+    libxml2
+    libxslt
+    pkg-config
+    python3
+    python3.pkgs.wrapPython
+  ] ++ lib.optionals withGui [
+    gobject-introspection
+    wrapGAppsNoGuiHook
+  ];
+
+  buildInputs = [
+    bash
+    glib
+  ] ++ lib.optionals withGui [
+    gtk3
+    libnotify
+    pythonPath
+  ];
+
+  dontWrapGApps = true;
+
+  preFixup = lib.optionalString withGui ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
+  postFixup = ''
+    chmod +x $out/share/firewalld/*.py $out/share/firewalld/testsuite/python/*.py $out/share/firewalld/testsuite/{,integration/}testsuite
+    patchShebangs --host $out/share/firewalld/testsuite/{,integration/}testsuite $out/share/firewalld/*.py
+    wrapPythonProgramsIn "$out/bin" "$out ${pythonPath}"
+    wrapPythonProgramsIn "$out/share/firewalld/testsuite/python" "$out ${pythonPath}"
+  '';
+
+  meta = with lib; {
+    description = "Firewall daemon with D-Bus interface";
+    homepage = "https://github.com/firewalld/firewalld";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch
new file mode 100644
index 0000000000000..03a10121c6be1
--- /dev/null
+++ b/pkgs/applications/networking/firewalld/respect-xml-catalog-files-var.patch
@@ -0,0 +1,13 @@
+--- a/m4/jh_path_xml_catalog.m4
++++ b/m4/jh_path_xml_catalog.m4
+@@ -40,8 +40,8 @@ AC_DEFUN([JH_CHECK_XML_CATALOG],
+ [
+   AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+   AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+-  if $jh_found_xmlcatalog && \
+-     AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
++  # empty argument forces libxml to use XML_CATALOG_FILES variable
++  if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
+     AC_MSG_RESULT([found])
+     ifelse([$3],,,[$3
+ ])dnl
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 8421a077d0058..d74378378b968 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.3.8";
+  version = "3.3.9";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
-    rev = "v${version}";
-    hash = "sha256-ZGs5ixNcrkoZ4TRVuIUeNF1FNJwKpYElNv6oPhGiEmU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-29V22B1Nkgj/qc6uyAOSOZ1rrjjtf75I9Eycu8I5ysQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index eae63701d4d98..90a0cd6f53a37 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, lib, fetchurl, dpkg, autoPatchelfHook, makeWrapper
+{ stdenv, lib, fetchurl, dpkg, autoPatchelfHook, makeWrapper, wrapGAppsHook
 , alsa-lib, dbus, fontconfig, freetype, glib, gst_all_1, libGL
 , libinput, libpulseaudio, libsecret, libtiff, libxkbcommon
 , mesa, openssl, systemd, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.42.0";
+  version = "8.44.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-O440sk6OJUsO+5TuzLxkUELnCfxKd5byoxSD+Rs4h1c=";
+    sha256 = "sha256-6BhhUfULtCUO5jZFF+HxGuFCg0XojQ0NJUXHxMtnwN4=";
   };
 
   nativeBuildInputs = [
     dpkg
     makeWrapper
     autoPatchelfHook
+    wrapGAppsHook
   ];
 
   buildInputs = [
@@ -25,6 +26,7 @@ stdenv.mkDerivation rec {
     freetype
     glib
     gst_all_1.gst-plugins-bad
+    gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-base
     libGL
     libinput
@@ -72,7 +74,7 @@ stdenv.mkDerivation rec {
     description = "Video-conferencing application, specialized in virtual online meetings, seminars, training sessions and conferences";
     homepage = "https://alfaview.com";
     license = licenses.unfree;
-    maintainers = with maintainers; [ wolfangaukang ];
+    maintainers = with maintainers; [ wolfangaukang hexchen ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix
index 4be9e03931b26..04e0e91ddc280 100644
--- a/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/default.nix
@@ -1,7 +1,7 @@
 { lib, callPackage, stdenvNoCC }:
 let
   pname = "caprine";
-  version = "2.55.2";
+  version = "2.55.4";
   metaCommon = with lib; {
     description = "An elegant Facebook Messenger desktop app";
     homepage = "https://sindresorhus.com/caprine";
@@ -10,11 +10,11 @@ let
   };
   x86_64-appimage = callPackage ./build-from-appimage.nix {
     inherit pname version metaCommon;
-    sha256 = "J7eHVXjWSIcTpLMM8FlGKZzVh6XgpQ0d82kxfMbPyZ4=";
+    sha256 = "221PyDoCkWqDdewCkFycpjMTcVOcl58blCjrC7O7xyk=";
   };
   x86_64-dmg = callPackage ./build-from-dmg.nix {
     inherit pname version metaCommon;
-    sha256 = "du/9N1BFq1s7spPiEDgDbjjcnkA0x1ExhAEpQvmO3aA=";
+    sha256 = "6SOqlH7Z9DuQVR4i1OltnSb4dJscFUxaXxgNkE5FVUE=";
   };
 in
 (if stdenvNoCC.isDarwin then x86_64-dmg else x86_64-appimage).overrideAttrs (oldAttrs: {
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index 586d49cf96f04..35266eff90092 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -29,7 +29,7 @@
 
 stdenv.mkDerivation rec {
   pname = "chatty";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     repo = "chatty";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-BILi3+i7SCiK7dVbckv3cNMNyEwgKMf0ct0z/J1xysI=";
+    hash = "sha256-uDuSx+tWv6DV93/99QUcUKZaWA9kNW8phHZhetYlG/M=";
   };
 
   postPatch = ''
@@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --prefix PURPLE_PLUGIN_PATH : ${pidgin.makePluginPath plugins}
+      --prefix PURPLE_PLUGIN_PATH : ${lib.escapeShellArg (pidgin.makePluginPath plugins)}
       ${lib.concatMapStringsSep " " (p: p.wrapArgs or "") plugins}
     )
   '';
diff --git a/pkgs/applications/networking/instant-messengers/cinny/default.nix b/pkgs/applications/networking/instant-messengers/cinny/default.nix
index 940d0b6b92b3a..57fb1b58d90f3 100644
--- a/pkgs/applications/networking/instant-messengers/cinny/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cinny/default.nix
@@ -4,11 +4,11 @@ let
   configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
 in stdenv.mkDerivation rec {
   pname = "cinny";
-  version = "1.8.2";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
-    sha256 = "sha256-0harFaO1MWzTmN/Q3e38MC2O7P9yVeQ5ZSy0yiGbtCs=";
+    sha256 = "sha256-qVnNVJK/Y76cZTh8QNeSNHDxHA/Ekbt7X6mKYkYAPNU=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index 05833c1eeaf43..f5d984bf3a67d 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -1,5 +1,5 @@
 { pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
-, makeDesktopItem, lib, stdenv, wrapGAppsHook, alsa-lib, at-spi2-atk
+, makeDesktopItem, lib, stdenv, wrapGAppsHook, makeWrapper, 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
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     libxshmfence
     mesa
     nss
-    wrapGAppsHook
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index a244a2ab2a703..46a64d1b533ca 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.10.11",
+  "version": "1.10.12",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -81,11 +81,11 @@
     "rimraf": "^3.0.2",
     "tar": "^6.1.2",
     "ts-node": "^10.4.0",
-    "typescript": "^4.5.3"
+    "typescript": "4.5.5"
   },
   "hakDependencies": {
-    "matrix-seshat": "^2.3.0",
-    "keytar": "^5.6.0"
+    "matrix-seshat": "^2.3.3",
+    "keytar": "^7.9.0"
   },
   "build": {
     "appId": "im.riot.app",
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index 70b5f7f65efa8..77058ce04c318 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.10.11",
-  "desktopSrcHash": "n74KFmHI6ZQWBEJCR55VZHS//myh2RePcJRVOmZ6XHo=",
-  "desktopYarnHash": "0jm0i1yyfkg1ll11pb3qif1vdxx6rp0yl9kd8jg9nhsg2jzw66pr",
-  "webHash": "02m64bhg1ls4a5igmizkkxnqfmbfhs0xy24ycr75vxmn0zmwa3yd"
+  "version": "1.10.12",
+  "desktopSrcHash": "K1p/+dZRtKb+AiU2EcikAsmiTIKPw0zaVzAfUDzsYZY=",
+  "desktopYarnHash": "09ri87ynfgxrv22sykggiy6nlcf20qwj7zj9qq0rz3c2acr6g9mn",
+  "webHash": "1m7pvliymyggg6qx8gj6l3j2f4rml0km1vmk1zdspxa4l6p0qxd8"
 }
diff --git a/pkgs/applications/networking/instant-messengers/freetalk/default.nix b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
index 4c28e346a124c..ffe82e6708aad 100644
--- a/pkgs/applications/networking/instant-messengers/freetalk/default.nix
+++ b/pkgs/applications/networking/instant-messengers/freetalk/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , guile, pkg-config, glib, loudmouth, gmp, libidn, readline, libtool
 , libunwind, ncurses, curl, jansson, texinfo
 , automake, autoconf }:
@@ -13,6 +13,16 @@ stdenv.mkDerivation rec {
     sha256 = "09jwk2i8qd8c7wrn9xbqcwm32720dwxis22kf3jpbg8mn6w6i757";
   };
 
+  patches = [
+    # Pull pending patch for -fno-common tuulchain support:
+    #   https://github.com/GNUFreetalk/freetalk/pull/39
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/GNUFreetalk/freetalk/commit/f04d6bc8422be44cdf51b29c9a4310f20a18775a.patch";
+      sha256 = "1zjm56cdibnqabgcwl2bx79dj6dmqjf40zghqwwb0lfi60v1njqf";
+    })
+  ];
+
   preConfigure = ''
     ./autogen.sh
   '';
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 3b11f7fc1a89a..306a53f0a3c0e 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -1,51 +1,18 @@
-{ bcg729
-, bctoolbox
-, bcunit
+{ bctoolbox
 , belcard
 , belle-sip
 , belr
-, bzrtp
-, cairo
 , cmake
-, cyrus_sasl
 , fetchFromGitLab
-, fetchurl
-, ffmpeg
-, gdk-pixbuf
-, glib
-, graphviz
-, gtk2
-, intltool
 , lib
-, libexosip
 , liblinphone
-, libmatroska
-, libnotify
-, libosip
-, libsoup
-, libupnp
-, libX11
-, libxml2
-, makeWrapper
-, mbedtls
 , mediastreamer
 , mediastreamer-openh264
 , minizip2
 , mkDerivation
-, openldap
-, ortp
-, pango
-, pkg-config
-, qtbase
 , qtgraphicaleffects
 , qtquickcontrols2
 , qttranslations
-, readline
-, speex
-, sqlite
-
-, udev
-, zlib
 }:
 
 # How to update Linphone? (The Qt desktop app)
@@ -95,57 +62,22 @@ mkDerivation rec {
   # linphone-desktop.
   buildInputs = [
     # Made by BC
-    bcg729
     bctoolbox
     belcard
     belle-sip
     belr
-    bzrtp
     liblinphone
     mediastreamer
     mediastreamer-openh264
-    ortp
-
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
 
-    cairo
-    cyrus_sasl
-    ffmpeg
-    gdk-pixbuf
-    glib
-    gtk2
-    libX11
-    libexosip
-    libnotify
-    libosip
-    libsoup
-    libupnp
-    libxml2
-    mbedtls
     minizip2
-    openldap
-    pango
-    qtbase
     qtgraphicaleffects
     qtquickcontrols2
     qttranslations
-    readline
-    speex
-    sqlite
-    udev
-    zlib
   ];
 
   nativeBuildInputs = [
-    # Made by BC
-    bcunit
-
     cmake
-    graphviz
-    intltool
-    makeWrapper
-    pkg-config
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
index 2992bf22cb311..c1eafe304a9df 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
@@ -2,7 +2,7 @@
 
 {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 {
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
index 9e35279488184..f2b02ebdec4f5 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
@@ -6,13 +6,13 @@
   postInstall = ''
     mkdir "$out/bin"
     echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
-    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+    echo "'${pkgs.nodejs-14_x}/bin/node'" \
          "'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
          '"$@"' >> "$out/bin/matrix-recorder"
     echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
     echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
     echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
-    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+    echo "'${pkgs.nodejs-14_x}/bin/node'" \
          "'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
          '.' >> "$out/bin/matrix-recorder-to-html"
     chmod a+x "$out/bin/matrix-recorder"
diff --git a/pkgs/applications/networking/instant-messengers/profanity/default.nix b/pkgs/applications/networking/instant-messengers/profanity/default.nix
index 2034f1761f2e3..8ffe6f05f5df7 100644
--- a/pkgs/applications/networking/instant-messengers/profanity/default.nix
+++ b/pkgs/applications/networking/instant-messengers/profanity/default.nix
@@ -18,30 +18,23 @@
 , pkg-config
 , readline
 , sqlite
-, autoAwaySupport ? true,       libXScrnSaver ? null, libX11
+, autoAwaySupport ? true,       libXScrnSaver, libX11
 , notifySupport ? true,         libnotify, gdk-pixbuf
 , omemoSupport ? true,          libsignal-protocol-c, libgcrypt
 , pgpSupport ? true,            gpgme
-, pythonPluginSupport ? true,   python
-, traySupport ? true,           gtk
+, pythonPluginSupport ? true,   python3
+, traySupport ? true,           gtk3
 }:
 
-assert autoAwaySupport     -> libXScrnSaver != null && libX11 != null;
-assert notifySupport       -> libnotify != null && gdk-pixbuf != null;
-assert traySupport         -> gtk != null;
-assert pgpSupport          -> gpgme != null;
-assert pythonPluginSupport -> python != null;
-assert omemoSupport        -> libsignal-protocol-c != null && libgcrypt != null;
-
 stdenv.mkDerivation rec {
   pname = "profanity";
-  version = "0.12.0";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "profanity-im";
     repo = "profanity";
     rev = version;
-    hash = "sha256-kmixWp9Q2tMVp+tk5kbTdBfgRNghKk3+48L582hqlm8=";
+    hash = "sha256-yUiiww8yhymdqR6CITRnItxZhfpZiEbu1WyD8bDW+vc=";
   };
 
   patches = [
@@ -75,8 +68,8 @@ stdenv.mkDerivation rec {
     ++ lib.optionals notifySupport       [ libnotify gdk-pixbuf ]
     ++ lib.optionals omemoSupport        [ libsignal-protocol-c libgcrypt ]
     ++ lib.optionals pgpSupport          [ gpgme ]
-    ++ lib.optionals pythonPluginSupport [ python ]
-    ++ lib.optionals traySupport         [ gtk ];
+    ++ lib.optionals pythonPluginSupport [ python3 ]
+    ++ lib.optionals traySupport         [ gtk3 ];
 
   # Enable feature flags, so that build fail if libs are missing
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index aeb20d6779ef5..fe3f90346f1cc 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
 
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1615";
+  version = "1.5.1618";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "sha256-aD+JVGmBWHUav2bH9rXGtgqI+/5lJTMrYLRP7E65JxI=";
+    sha256 = "sha256-ueZYFOZFCPQrg9etZCrY5ZTn7PZMkcuwbXVPPbW9S/A=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
index d227dc4b0fbe3..ef981716ef1d4 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/pin.json
+++ b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
@@ -1,9 +1,9 @@
 {
-  "version": "1.10.4-sc.1",
-  "rev": "v1.10.4-sc.1",
-  "srcHash": "0sxibzskbw9pa6wmbk1y3n7p74cfj9zvm2hsw76sp6wfac1wnbwl",
-  "webYarnHash": "1z8xr35gh74y2iv9kfk6d6b6f3iclcrpkdds5q7rh2irpf14fwpw",
-  "jsSdkYarnHash": "1cwvb0hwq19dh2937fmcbfvnkkfmalk9wrxf1yv81nsbyjnx86di",
-  "reactSdkYarnHash": "0j4rxg11q35idfzvjrpmyrwkz9yqgzpwps3xqx1k4qcs844jjs9f",
-  "desktopYarnHash": "0akmgib212gkygvs2snn9c43k3ika3ipg85d480j3hqyb6yxwqmn"
+  "version": "1.10.12-sc.1",
+  "rev": "v1.10.12-sc.1",
+  "srcHash": "1rpfax6xx731w59a2i7v6jr17l3rnrn79d666f0cjchg36nkqqg9",
+  "webYarnHash": "0m5dnz3m68iz94siwmavzj50wxd6w6wanjsm1zhq76lgymgcbqc2",
+  "jsSdkYarnHash": "1k1jvavbqr7vcbdaxc6yqiq5254kxhywn1s2zndrfny7ap8z5c1c",
+  "reactSdkYarnHash": "0cz7pgrbysljmhpf4m0wqwqjqijxahl3wz5qhczlkj46dvq6qyxb",
+  "desktopYarnHash": "09ri87ynfgxrv22sykggiy6nlcf20qwj7zj9qq0rz3c2acr6g9mn"
 }
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
index a7ad6fb4d9b1d..7041a19684c30 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
@@ -78,13 +78,8 @@ in stdenv.mkDerivation rec {
   buildPhase = ''
     runHook preBuild
 
-    pushd matrix-react-sdk
-    ../element-web/node_modules/.bin/reskindex -h ../element-web/src/header
-    popd
-
     pushd element-web
     node scripts/copy-res.js
-    node_modules/.bin/reskindex -h ../element-web/src/header
     node_modules/.bin/webpack --progress --mode production
     popd
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index c96fb1b58a969..d63c87ee5da55 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, nixosTests
+{ stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, makeWrapper, nixosTests
 , 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
@@ -24,7 +24,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.39.0"; # Please backport all updates to the stable channel.
+  version = "5.43.0"; # 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,13 +34,13 @@ 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-Dy5orMKZvvnHZu/2U5YIJdDR4eDM3SBjXVGHuBv0kgc=";
+    sha256 = "sha256-DYJ3WZbaalKhQXhVQO3qhJiGj92Cc+pwRDx/YBIi6gg=";
   };
 
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
-    wrapGAppsHook
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index c848cb55c0d71..f81b8853c8b26 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220425";
+  version = "20220430";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FWW4rVaoShT55ZWN/siFHoTTNcarnfTa2h/J2GWxLW8=";
+    sha256 = "sha256-clG0B7PgtlpsSnZgglkv7y7SOtMTBvwJMnvMrcTWXdI=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 684fb8454d673..07462b4cc26f8 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, runtimeShell
 , fetchurl
 , autoPatchelfHook
 , wrapGAppsHook
@@ -57,8 +58,6 @@ let
 
     preFixup = ''
       gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
-      gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
-      gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
     '';
 
 
@@ -121,9 +120,13 @@ let
       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'
+      wrapped=$out/bin/.teams-old
+      mv "$out/bin/teams" "$wrapped"
+      cat > "$out/bin/teams" << EOF
+      #! ${runtimeShell}
+      exec $wrapped "\$@" --disable-namespace-sandbox --disable-setuid-sandbox
+      EOF
+      chmod +x "$out/bin/teams"
     '';
   };
 
diff --git a/pkgs/applications/networking/irc/senpai/default.nix b/pkgs/applications/networking/irc/senpai/default.nix
index 0fc0284a183e5..d12ee05d4e246 100644
--- a/pkgs/applications/networking/irc/senpai/default.nix
+++ b/pkgs/applications/networking/irc/senpai/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "senpai";
-  version = "unstable-2021-12-14";
+  version = "unstable-2022-05-10";
 
   src = fetchFromSourcehut {
     owner = "~taiite";
     repo = "senpai";
-    rev = "8091752a67781273944e7a79a803b7a671378313";
-    sha256 = "sha256-tZp0ra/Sq/5MAFlAFHPJ94jYxtHbDiG1wSD4NOH1x7I=";
+    rev = "7a9fe74fdfb3f334b97434df0aa74b2b32e3582e";
+    sha256 = "sha256-uagdJG+YVryzsaZfkg5W2F8mQSc1bpflL77tqMHp1Ck=";
   };
 
-  vendorSha256 = "sha256-xkJh7k8GZmoZqE0HgbFp2xMJQOVDkPEXOZEl6bJZz1A=";
+  vendorSha256 = "sha256-hgojB1D0/SZWLEzJ48EBoT/InYYmqD/1qoTknfk/aTo=";
 
   subPackages = [
     "cmd/senpai"
diff --git a/pkgs/applications/networking/irc/srain/default.nix b/pkgs/applications/networking/irc/srain/default.nix
index 2fb6fed15ca83..302fe96f1eca5 100644
--- a/pkgs/applications/networking/irc/srain/default.nix
+++ b/pkgs/applications/networking/irc/srain/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "srain";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "SrainApp";
     repo = "srain";
     rev = version;
-    sha256 = "sha256-JsXReGmdBtzMXhrT1cFlkBbw8j/SxzgXSeHcHlns2po=";
+    sha256 = "sha256-oeC0zyDyh0lW1IMIJ9bjqryqz3Km4JJzRUxkO6LadoQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
index a900a469e0315..2dc167012221e 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -18,7 +18,7 @@ let
   scriptPython = python.withPackages (ps: with ps; [
     aiohttp
     requests
-    python_magic
+    python-magic
   ]);
 
   version = "0.3.0";
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
index 987271e4ffa29..fd5f376ad2636 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-otr/default.nix
@@ -24,6 +24,9 @@ let
 
     buildInputs = [ gmp ];
 
+    # Tests are relying on old Python 2 modules.
+    doCheck = false;
+
     preConfigure = ''
       sed -i 's,/usr/include,/no-such-dir,' configure
       sed -i "s!,'/usr/include/'!!" setup.py
@@ -66,5 +69,9 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ oxzi ];
     description = "WeeChat script for Off-the-Record messaging";
+    knownVulnerabilities = [
+      "There is no upstream release since 2018-03."
+      "Utilizes deprecated and vulnerable pycrypto library with Debian patches from 2020-04."
+    ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 5d00242452b80..97634c1d2cdb7 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -11,13 +11,13 @@
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromSourcehut {
     owner = "~rjarry";
     repo = pname;
     rev = version;
-    sha256 = "sha256-D4cZVNh3YFaVRHGFn5Nt6kMSRCShj0w5n7pTxgYik2s=";
+    sha256 = "sha256-v1+12UCgBbH/2PxZ9QdDN30LmyzVcfGlYiVNVPYO3zs=";
   };
 
   proxyVendor = true;
diff --git a/pkgs/applications/networking/mailreaders/alot/default.nix b/pkgs/applications/networking/mailreaders/alot/default.nix
index cb49829dce073..d8a4d1066ecb2 100644
--- a/pkgs/applications/networking/mailreaders/alot/default.nix
+++ b/pkgs/applications/networking/mailreaders/alot/default.nix
@@ -40,7 +40,7 @@ with python3.pkgs; buildPythonApplication rec {
     file
     gpgme
     notmuch2
-    python_magic
+    python-magic
     service-identity
     twisted
     urwid
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 43cd7183c5110..2bcfd839e2854 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20220415";
+  version = "20220429";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "sha256-iVKDgVN7YFPEMP+OISS7jRG9Whs2QG60yH1r2kw3MUQ=";
+    sha256 = "sha256-LBY7WtmEMg/PcMS/Tc5XEYunIWjoI4IQfUJURKgy1YA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 18e09326f35f2..06bbf293f1d64 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -79,6 +79,11 @@ stdenv.mkDerivation rec {
   in ''
     mkdir -p test/test-databases
     ln -s ${test-database} test/test-databases/database-v1.tar.xz
+  ''
+  # TODO: restore after resolved upstream
+  # https://www.mail-archive.com/notmuch@notmuchmail.org/msg52808.html
+  + ''
+    rm test/T355-smime.sh
   '';
 
   doCheck = !stdenv.hostPlatform.isDarwin && (lib.versionAtLeast gmime.version "3.0.3");
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index e5edfaa467090..92a8563633c2e 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.91.10";
+  version = "3.95.4";
 
   src = fetchurl {
-    url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
+    url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    sha256 = "sha256-RlEgpXco0lkkjlJ8FZz4MxYznKLPl1Lxkb5MSmhOTzI=";
+    sha256 = "0kkkp0nw4fby4663w7g0k2y1sg89pm336slzii1s3n70h8cak3dx";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/misc/zammad/default.nix b/pkgs/applications/networking/misc/zammad/default.nix
index ca5e2222c8e17..b7d5dbae760a1 100644
--- a/pkgs/applications/networking/misc/zammad/default.nix
+++ b/pkgs/applications/networking/misc/zammad/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "zammad";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = applyPatches {
 
diff --git a/pkgs/applications/networking/misc/zammad/gemset.nix b/pkgs/applications/networking/misc/zammad/gemset.nix
index 2f9e77d425317..ceb3ef12958b3 100644
--- a/pkgs/applications/networking/misc/zammad/gemset.nix
+++ b/pkgs/applications/networking/misc/zammad/gemset.nix
@@ -664,10 +664,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04vxmjr200akcil9fqxc9ghbb9q0lyrh2q03xxncycd5vln910fi";
+      sha256 = "1pfk942d6qwhw151hxaz7n4knk6whyxqvvywdx2cdw9yhykyaqzq";
       type = "gem";
     };
-    version = "6.2.0";
+    version = "6.2.1";
   };
   factory_bot_rails = {
     dependencies = ["factory_bot" "railties"];
@@ -1452,10 +1452,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.4";
   };
   nori = {
     groups = ["default"];
@@ -1700,10 +1700,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19mf9f5zx23cjjn0p77wz1igzpfr22mxhljgavffl8fwqq74v4ih";
+      sha256 = "01ldw5ba6xfn2k97n75n52qs4f0fy8xmn58c4247xf476nfvg035";
       type = "gem";
     };
-    version = "3.2.5";
+    version = "3.2.6";
   };
   power_assert = {
     groups = ["default" "development" "test"];
@@ -1786,10 +1786,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xvkz9xrd1cqnlm0qac1iwwxzndx3cc17zrjncpa4lzjfwbxhsnm";
+      sha256 = "0df9bknc2dllk8v9fhgidzbvbryaxa8fgifrk40cdz9csjsphbky";
       type = "gem";
     };
-    version = "4.3.11";
+    version = "4.3.12";
   };
   pundit = {
     dependencies = ["activesupport"];
@@ -1833,6 +1833,17 @@
     };
     version = "2.2.3";
   };
+  rack-attack = {
+    dependencies = ["rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1rc6simyql7ax5zzp667x6krl0xxxh3asc1av6gcn8j6cyl86wsx";
+      type = "gem";
+    };
+    version = "6.6.0";
+  };
   rack-livereload = {
     dependencies = ["rack"];
     groups = ["development" "test"];
@@ -2273,10 +2284,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "134zg0dzd7216lyczkhv01v27ikkmipjihcy2bzi0qv72p1i923i";
+      sha256 = "1wybcipkfawg4pragmayiig03xc084x3hbwywsh1dr9x9pa8f9hj";
       type = "gem";
     };
-    version = "1.1.5";
+    version = "1.1.6";
   };
   slack-notifier = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/misc/zammad/package.json b/pkgs/applications/networking/misc/zammad/package.json
index 00c22263200bd..28fd3fdf11263 100644
--- a/pkgs/applications/networking/misc/zammad/package.json
+++ b/pkgs/applications/networking/misc/zammad/package.json
@@ -14,5 +14,5 @@
     "stylelint-prettier": "^2.0.0"
   },
   "name": "Zammad",
-  "version": "5.1.0"
+  "version": "5.1.1"
 }
diff --git a/pkgs/applications/networking/misc/zammad/source.json b/pkgs/applications/networking/misc/zammad/source.json
index 76e1321433f14..03e8e1103b1a3 100644
--- a/pkgs/applications/networking/misc/zammad/source.json
+++ b/pkgs/applications/networking/misc/zammad/source.json
@@ -1,7 +1,8 @@
 {
   "owner": "zammad",
   "repo": "zammad",
-  "rev": "eefae45c2ad6e6a96b8df631d2f50f290ecbd27d",
-  "sha256": "EjowvM//+UsAfEH9/0jgLkiD7EWH34M1NQ9U2DotBqc=",
+  "rev": "d71bd90ef964426230664cdfbaa2572325bfed4f",
+  "sha256": "yzDTkjnRBl71REtSKRblkanJWhj7gp/+exhWjxGCFWw=",
   "fetchSubmodules": true
 }
+
diff --git a/pkgs/applications/networking/modem-manager-gui/default.nix b/pkgs/applications/networking/modem-manager-gui/default.nix
index 2723f34204368..0eb0a02ed01f9 100644
--- a/pkgs/applications/networking/modem-manager-gui/default.nix
+++ b/pkgs/applications/networking/modem-manager-gui/default.nix
@@ -2,6 +2,7 @@
 , pkg-config
 , python3
 , fetchFromGitLab
+, fetchpatch
 , gtk3
 , glib
 , gdbm
@@ -44,6 +45,20 @@ stdenv.mkDerivation rec {
     libayatana-appindicator-gtk3
   ];
 
+  patches = [
+    # Fix missing tray icon
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/modem-manager-gui/-/raw/7c3e67a1cf7788d7a4b86be12803870d79aa27f2/debian/patches/fix-tray-icon.patch";
+      sha256 = "sha256-9LjCEQl8YfraVlO1W7+Yy7egLAPu5YfnvGvCI3uGFh8=";
+    })
+    # Fix build with meson 0.61
+    # appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
+    (fetchpatch {
+      url = "https://salsa.debian.org/debian/modem-manager-gui/-/raw/7c3e67a1cf7788d7a4b86be12803870d79aa27f2/debian/patches/meson0.61.patch";
+      sha256 = "sha256-B+tBPIz5RxOwZWYEWttqSKGw2Wbfk0mnBY0Zy0evvAQ=";
+    })
+  ];
+
   postPatch = ''
     patchShebangs man/manhelper.py
   '';
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index 72b4c7720480d..84ac952846f3c 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -1,9 +1,8 @@
-{ pkgs, nodejs-14_x, stdenv, lib }:
+{ pkgs, nodejs-16_x, stdenv, lib, nixosTests }:
 
 let
   nodePackages = import ./node-composition.nix {
     inherit pkgs;
-    nodejs = nodejs-14_x;
     inherit (stdenv.hostPlatform) system;
   };
 in
@@ -12,7 +11,17 @@ nodePackages.n8n.override {
     node-pre-gyp
   ];
 
-  passthru.updateScript = ./generate-dependencies.sh;
+  dontNpmInstall = true;
+
+  postInstall = ''
+    mkdir -p $out/bin
+    ln -s $out/lib/node_modules/n8n/bin/n8n $out/bin/n8n
+  '';
+
+  passthru = {
+    updateScript = ./generate-dependencies.sh;
+    tests = nixosTests.n8n;
+  };
 
   meta = with lib; {
     description = "Free and open fair-code licensed node based Workflow Automation Tool";
diff --git a/pkgs/applications/networking/n8n/generate-dependencies.sh b/pkgs/applications/networking/n8n/generate-dependencies.sh
index f7412bc5e5e26..7c1b90a040343 100755
--- a/pkgs/applications/networking/n8n/generate-dependencies.sh
+++ b/pkgs/applications/networking/n8n/generate-dependencies.sh
@@ -13,7 +13,7 @@
 cd "$(dirname $(readlink -f $0))"
 
 node2nix \
-  --14 \
+  --nodejs-16 \
   --strip-optional-dependencies \
   --node-env node-env.nix \
   --input package.json \
diff --git a/pkgs/applications/networking/n8n/node-composition.nix b/pkgs/applications/networking/n8n/node-composition.nix
index 53bdef1f98646..ca76a98f5a657 100644
--- a/pkgs/applications/networking/n8n/node-composition.nix
+++ b/pkgs/applications/networking/n8n/node-composition.nix
@@ -1,8 +1,8 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-16_x"}:
 
 let
   nodeEnv = import ./node-env.nix {
diff --git a/pkgs/applications/networking/n8n/node-env.nix b/pkgs/applications/networking/n8n/node-env.nix
index 5f055785791ba..2590dd267a4ef 100644
--- a/pkgs/applications/networking/n8n/node-env.nix
+++ b/pkgs/applications/networking/n8n/node-env.nix
@@ -98,7 +98,7 @@ let
       ''
       + (lib.concatMapStrings (dependency:
         ''
-          if [ ! -e "${dependency.name}" ]; then
+          if [ ! -e "${dependency.packageName}" ]; then
               ${composePackage dependency}
           fi
         ''
@@ -257,8 +257,8 @@ let
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
           if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
+            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+            process.exit(1);
           }
 
           if(packageLock.dependencies !== undefined) {
@@ -390,7 +390,7 @@ let
   buildNodePackage =
     { name
     , packageName
-    , version
+    , version ? null
     , dependencies ? []
     , buildInputs ? []
     , production ? true
@@ -409,7 +409,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "${name}-${version}";
+      name = "${name}${if version == null then "" else "-${version}"}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -441,6 +441,14 @@ let
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
+
+            # Patch the shebang lines of all the executables
+            ls $out/bin/* | while read i
+            do
+                file="$(readlink -f "$i")"
+                chmod u+rwx "$file"
+                patchShebangs "$file"
+            done
         fi
 
         # Create symlinks to the deployed manual page folders, if applicable
@@ -471,7 +479,7 @@ let
   buildNodeDependencies =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -489,7 +497,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
     in
       stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
+        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
 
         buildInputs = [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
@@ -519,6 +527,7 @@ let
             if [ -f ${src}/package-lock.json ]
             then
                 cp ${src}/package-lock.json .
+                chmod 644 package-lock.json
             fi
           ''}
 
@@ -541,7 +550,7 @@ let
   buildNodeShell =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -557,9 +566,10 @@ let
 
     let
       nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
     in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
+    stdenv.mkDerivation ({
+      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
 
       buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
@@ -578,7 +588,7 @@ let
         export NODE_PATH=${nodeDependencies}/lib/node_modules
         export PATH="${nodeDependencies}/bin:$PATH"
       '';
-    };
+    } // extraArgs);
 in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index c0a2b9a5fd983..1c0eeeb8266de 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
 let
   sources = {
-    "@azure/abort-controller-1.0.5" = {
+    "@azure/abort-controller-1.1.0" = {
       name = "_at_azure_slash_abort-controller";
       packageName = "@azure/abort-controller";
-      version = "1.0.5";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.0.5.tgz";
-        sha512 = "G5sjKExiVsbFQo+4YY5MBPOSsh3EUv6XmqjgJaF/VCjckWLGGKPUPGfbCSn6Xal6gzGoPQMOQ+wCCGNCX9NAPg==";
+        url = "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz";
+        sha512 = "TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==";
       };
     };
     "@azure/core-asynciterator-polyfill-1.0.2" = {
@@ -31,13 +31,13 @@ let
         sha512 = "7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==";
       };
     };
-    "@azure/core-http-2.2.4" = {
+    "@azure/core-http-2.2.5" = {
       name = "_at_azure_slash_core-http";
       packageName = "@azure/core-http";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.4.tgz";
-        sha512 = "QmmJmexXKtPyc3/rsZR/YTLDvMatzbzAypJmLzvlfxgz/SkgnqV/D4f6F2LsK6tBj1qhyp8BoXiOebiej0zz3A==";
+        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.5.tgz";
+        sha512 = "kctMqSQ6zfnlFpuYzfUKadeTyOQYbIQ+3Rj7dzVC3Dk1dOnHroTwR9hLYKX8/n85iJpkyaksaXpuh5L7GJRYuQ==";
       };
     };
     "@azure/core-lro-2.2.4" = {
@@ -463,6 +463,15 @@ let
         sha512 = "L7wFlX3t9GsGgNS0oxLt6zbAZZGgsdptMmciL4cdxHmbL3Hz4Lysh8YqAR34eHsJ1uacJITcZBBDl5XpQlxPpQ==";
       };
     };
+    "@types/generic-pool-3.1.10" = {
+      name = "_at_types_slash_generic-pool";
+      packageName = "@types/generic-pool";
+      version = "3.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/generic-pool/-/generic-pool-3.1.10.tgz";
+        sha512 = "WRT/9taXh9XJRA9yvrbC02IqGZhK9GbFE/vuP2LeSLrqmDzz5wdXsH0Ige/F+3+rbbZfwH3LEazDsU0JiSV3vA==";
+      };
+    };
     "@types/json-diff-0.5.2" = {
       name = "_at_types_slash_json-diff";
       packageName = "@types/json-diff";
@@ -589,13 +598,13 @@ let
         sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
       };
     };
-    "@types/snowflake-sdk-1.6.3" = {
+    "@types/snowflake-sdk-1.6.4" = {
       name = "_at_types_slash_snowflake-sdk";
       packageName = "@types/snowflake-sdk";
-      version = "1.6.3";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/snowflake-sdk/-/snowflake-sdk-1.6.3.tgz";
-        sha512 = "YGlCPN88p6WYQCjBDIXwe2aWPkWNzKPW5/XJOGGnaXIacqULfKO6puq2a4OU02WCzfWr+XvOEj1MKWnxBhm+jw==";
+        url = "https://registry.npmjs.org/@types/snowflake-sdk/-/snowflake-sdk-1.6.4.tgz";
+        sha512 = "v3QjPbvd2dhyI5fPU5whxgUjhf9O19acIGiL65aUPCnkLIla5Z0ZqOiP3Jw5eyghunZHWohKfvtV+UdesCi29g==";
       };
     };
     "@types/tough-cookie-2.3.8" = {
@@ -976,13 +985,13 @@ let
         sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
       };
     };
-    "aws-sdk-2.1125.0" = {
+    "aws-sdk-2.1131.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1125.0";
+      version = "2.1131.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1125.0.tgz";
-        sha512 = "2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1131.0.tgz";
+        sha512 = "Ic3f2fSgVhYDQ0OBGxE6ODtSwaKyxBPGrI2RGrYt2Oj0Z8f227P7dB90o9X7y2MtnuJ4WoAzkf3Vc1c1UnnZlA==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1804,13 +1813,13 @@ let
         sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     };
-    "convict-6.2.2" = {
+    "convict-6.2.3" = {
       name = "convict";
       packageName = "convict";
-      version = "6.2.2";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-6.2.2.tgz";
-        sha512 = "3MsROJiEFN3BAzeFit1t87t7EUFzd44MNd13MLSikV2dsnDl7znwKgtYPPONtnDzxiDW0nBAsxVhSRNrjUrTTg==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.3.tgz";
+        sha512 = "mTY04Qr7WrqiXifdeUYXr4/+Te4hPFWDvz6J2FVIKCLc2XBhq63VOSSYAKJ+unhZAYOAjmEdNswTOeHt7s++pQ==";
       };
     };
     "cookie-0.4.1" = {
@@ -1858,13 +1867,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.22.3" = {
+    "core-js-3.22.5" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.22.3";
+      version = "3.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz";
-        sha512 = "1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz";
+        sha512 = "VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -2344,13 +2353,13 @@ let
         sha512 = "2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==";
       };
     };
-    "es-abstract-1.19.5" = {
+    "es-abstract-1.20.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.19.5";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz";
-        sha512 = "Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz";
+        sha512 = "URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -2641,13 +2650,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.9" = {
+    "follow-redirects-1.15.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.9";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     };
     "for-each-0.3.3" = {
@@ -2776,6 +2785,24 @@ let
         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
+    "function.prototype.name-1.1.5" = {
+      name = "function.prototype.name";
+      packageName = "function.prototype.name";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
+        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
+      };
+    };
+    "functions-have-names-1.2.3" = {
+      name = "functions-have-names";
+      packageName = "functions-have-names";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
+        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
+      };
+    };
     "gauge-3.0.2" = {
       name = "gauge";
       packageName = "gauge";
@@ -3847,13 +3874,13 @@ let
         sha512 = "xOqorG21Va+3CjpFOfFTU7SWohHH2uIX9ZY4Byz6J+lvpfvc486tOAT/G9GfbrKtJ9O7NCX9o0aC2lxqbnZ9EA==";
       };
     };
-    "libphonenumber-js-1.9.52" = {
+    "libphonenumber-js-1.9.53" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.9.52";
+      version = "1.9.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.52.tgz";
-        sha512 = "8k83chc+zMj+J/RkaBxi0PpSTAdzHmpqzCMqquSJVRfbZFr8DCp6vPC7ms2PIPGxeqajZLI6CBLW5nLCJCJrYg==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.53.tgz";
+        sha512 = "3cuMrA2CY3TbKVC0wKye5dXYgxmVVi4g13gzotprQSguFHMqf0pIrMM2Z6ZtMsSWqvtIqi5TuQhGjMhxz0O9Mw==";
       };
     };
     "libqp-1.1.0" = {
@@ -4144,13 +4171,13 @@ let
         sha512 = "IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==";
       };
     };
-    "luxon-2.3.2" = {
+    "luxon-2.4.0" = {
       name = "luxon";
       packageName = "luxon";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/luxon/-/luxon-2.3.2.tgz";
-        sha512 = "MlAQQVMFhGk4WUA6gpfsy0QycnKP0+NlCBJRVRNPxxSIbjrCbQ65nrpJD3FVyJNZLuJ0uoqL57ye6BmDYgHaSw==";
+        url = "https://registry.npmjs.org/luxon/-/luxon-2.4.0.tgz";
+        sha512 = "w+NAwWOUL5hO0SgwOHsMBAmZ15SoknmQXhSO0hIbJCAmPKSsGeK8MlmhYh2w6Iib38IxN2M+/ooXWLbeis7GuA==";
       };
     };
     "mailparser-3.5.0" = {
@@ -4522,22 +4549,22 @@ let
         sha512 = "qIcmHAtVJotgiYo3vVMLwC9qaU5ih5ti4+aPu2I1onD6WEu8GMNF38AzIAceYl6U8EhvDB+DOsF/SjYHfl26iw==";
       };
     };
-    "n8n-editor-ui-0.142.0" = {
+    "n8n-editor-ui-0.142.1" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.142.0";
+      version = "0.142.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.0.tgz";
-        sha512 = "aDXm64Y+tcLicd0z9pIxhSfqCb/JjsMIAOJ7DB35HKg7riOE7TGBHkWQ6F61XEjusJLl6ZGr15V+9EoCTu+02g==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.1.tgz";
+        sha512 = "Me8fk76HeWUmTPnksH4kzG0bKOp1yLFjAC4F+EcEllIIf+x75kjN+gSH4uwgvspzGCVO88ZnppWoGQwvHQpXQw==";
       };
     };
-    "n8n-nodes-base-0.173.0" = {
+    "n8n-nodes-base-0.174.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.173.0";
+      version = "0.174.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.173.0.tgz";
-        sha512 = "9ya0cgRMk6iz01m2shZHahe4KurL89/T+iGLywrUZdPdIRni7LR4ywSG51B4jko73+zsKPNYjya650BGNz7TaQ==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.174.0.tgz";
+        sha512 = "2yYWeSkfI08BtgGZvOksmQOpjNPYmhvkqO2SBTuTAqkryZ1AHiw6RtILsf2575prQDdep2clxIZxW7owxxFmLA==";
       };
     };
     "n8n-workflow-0.98.0" = {
@@ -4567,13 +4594,13 @@ let
         sha512 = "wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==";
       };
     };
-    "nanoid-3.3.3" = {
+    "nanoid-3.3.4" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.3";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz";
-        sha512 = "p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
       };
     };
     "native-duplexpair-1.0.0" = {
@@ -4693,13 +4720,13 @@ let
         sha512 = "KUdDsspqx89sD4UUyUKzdlUOper3hRkDVkrKh/89G+d9WKsU5ox51NWS4tB1XR5dPUdR4SP0E3molyEfOvSa3g==";
       };
     };
-    "nodemailer-6.7.4" = {
+    "nodemailer-6.7.5" = {
       name = "nodemailer";
       packageName = "nodemailer";
-      version = "6.7.4";
+      version = "6.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.4.tgz";
-        sha512 = "TBSS3qS8WG45ycUwEvEA/3UM1o3sLz9jUl4TPUKPz4ImWWM6UgRCb5pLO+HOouDKEj57yNLOrzQlO8+9IjWZoA==";
+        url = "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.5.tgz";
+        sha512 = "6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==";
       };
     };
     "nopt-5.0.0" = {
@@ -5791,6 +5818,15 @@ let
         sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
+    "regexp.prototype.flags-1.4.3" = {
+      name = "regexp.prototype.flags";
+      packageName = "regexp.prototype.flags";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
+        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
+      };
+    };
     "reinterval-1.1.0" = {
       name = "reinterval";
       packageName = "reinterval";
@@ -6367,13 +6403,13 @@ let
         sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
       };
     };
-    "sqlite3-5.0.6" = {
+    "sqlite3-5.0.8" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.6.tgz";
-        sha512 = "uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.8.tgz";
+        sha512 = "f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==";
       };
     };
     "sqlstring-2.3.3" = {
@@ -6493,22 +6529,22 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string.prototype.trimend-1.0.4" = {
+    "string.prototype.trimend-1.0.5" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
+        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
       };
     };
-    "string.prototype.trimstart-1.0.4" = {
+    "string.prototype.trimstart-1.0.5" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
+        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -7534,13 +7570,13 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.175.0";
+    version = "0.176.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.175.0.tgz";
-      sha512 = "FKIroWsEZNZ/HUdM6iQ8QY6WxYs4uQufodBoKpbcu6JJKF/ufYO4U8lpIM0nV2YCMaB+JAVvswim0SUDB6KF3A==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.176.0.tgz";
+      sha512 = "eJTzCFcujAfJegWKQhGi+upAsfTEpW1/2HC5vwV2btdgm8XCMyhVBMJJR7ZJMozFNDz8ErLhwtlIfQCQSXRP0A==";
     };
     dependencies = [
-      (sources."@azure/abort-controller-1.0.5" // {
+      (sources."@azure/abort-controller-1.1.0" // {
         dependencies = [
           sources."tslib-2.4.0"
         ];
@@ -7551,7 +7587,7 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      (sources."@azure/core-http-2.2.4" // {
+      (sources."@azure/core-http-2.2.5" // {
         dependencies = [
           sources."tough-cookie-4.0.0"
           sources."tslib-2.4.0"
@@ -7652,6 +7688,7 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/express-unless-0.5.3"
       sources."@types/ftp-0.3.33"
+      sources."@types/generic-pool-3.1.10"
       sources."@types/json-diff-0.5.2"
       sources."@types/jsonwebtoken-8.5.8"
       sources."@types/lodash-4.14.182"
@@ -7669,7 +7706,7 @@ in
       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.3"
+      sources."@types/snowflake-sdk-1.6.4"
       sources."@types/tough-cookie-2.3.8"
       sources."@types/tunnel-0.0.3"
       sources."@xmldom/xmldom-0.7.5"
@@ -7725,7 +7762,7 @@ in
         ];
       })
       sources."avsc-5.7.4"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1131.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7898,11 +7935,11 @@ in
       })
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."convict-6.2.2"
+      sources."convict-6.2.3"
       sources."cookie-0.4.1"
       sources."cookie-parser-1.4.6"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."crc-32-1.2.2"
       sources."cron-1.7.2"
@@ -7966,7 +8003,7 @@ in
       sources."entities-2.2.0"
       sources."env-variable-0.0.6"
       sources."err-code-2.0.3"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."es5-ext-0.8.2"
       sources."escalade-3.1.1"
@@ -8012,7 +8049,7 @@ in
       })
       sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-4.0.0"
@@ -8024,6 +8061,8 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gauge-3.0.2"
       sources."generate-function-2.3.1"
       sources."generic-pool-3.8.2"
@@ -8168,7 +8207,7 @@ in
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."libphonenumber-js-1.9.52"
+      sources."libphonenumber-js-1.9.53"
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
       sources."linkify-it-4.0.0"
@@ -8212,7 +8251,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      sources."luxon-2.3.2"
+      sources."luxon-2.4.0"
       (sources."mailparser-3.5.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
@@ -8282,8 +8321,8 @@ in
       sources."mz-2.7.0"
       sources."n8n-core-0.116.0"
       sources."n8n-design-system-0.19.0"
-      sources."n8n-editor-ui-0.142.0"
-      (sources."n8n-nodes-base-0.173.0" // {
+      sources."n8n-editor-ui-0.142.1"
+      (sources."n8n-nodes-base-0.174.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
@@ -8296,7 +8335,7 @@ in
         ];
       })
       sources."nanoclone-0.2.1"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."native-duplexpair-1.0.0"
       (sources."nearley-2.20.1" // {
         dependencies = [
@@ -8317,7 +8356,7 @@ in
       sources."node-html-parser-5.3.3"
       sources."node-ssh-12.0.4"
       sources."nodeify-1.0.1"
-      sources."nodemailer-6.7.4"
+      sources."nodemailer-6.7.5"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-wheel-1.0.1"
@@ -8469,6 +8508,7 @@ in
       sources."redis-parser-3.0.0"
       sources."reflect-metadata-0.1.13"
       sources."regenerator-runtime-0.13.9"
+      sources."regexp.prototype.flags-1.4.3"
       sources."reinterval-1.1.0"
       sources."remove-trailing-separator-1.1.0"
       sources."remove-trailing-slash-0.1.1"
@@ -8577,7 +8617,7 @@ in
         ];
       })
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-5.0.6"
+      sources."sqlite3-5.0.8"
       sources."sqlstring-2.3.3"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
@@ -8591,8 +8631,8 @@ in
       sources."stream-shift-1.0.1"
       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.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.1"
       sources."strtok3-6.3.0"
diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix
index fe5588d81f88a..880ebdd2d4ef7 100644
--- a/pkgs/applications/networking/netperf/default.nix
+++ b/pkgs/applications/networking/netperf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "netperf";
-  version = "20180613";
+  version = "20210121";
 
   src = fetchFromGitHub {
     owner = "HewlettPackard";
     repo = "netperf";
-    rev = "bcb868bde7f0203bbab69609f65d4088ba7398db";
-    sha256 = "1wbbgdvhadd3qs3afv6i777argdpcyxkwz4yv6aqp223n8ki6dm8";
+    rev = "3bc455b23f901dae377ca0a558e1e32aa56b31c4";
+    sha256 = "s4G1ZN+6LERdEMDkc+12ZQgTi6K+ppUYUCGn4faCS9c=";
   };
 
   buildInputs = lib.optional (with stdenv.hostPlatform; isx86 && isLinux) libsmbios;
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Benchmark to measure the performance of many different types of networking";
     homepage = "http://www.netperf.org/netperf/";
-    license = "Hewlett-Packard BSD-like license";
+    license = lib.licenses.mit;
 
     platforms = lib.platforms.unix;
     maintainers = [ lib.maintainers.mmlb ];
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index f4e4c8279de84..4d62cc4c828e2 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "liferea";
-  version = "1.12.9";
+  version = "1.13.8";
 
   src = fetchurl {
     url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
-    sha256 = "06ybr1wjlfir8iqjx6x0v1knd4b2hsy30qmkk4kssy6ky2ahc66q";
+    sha256 = "0x2857nhn98hlzqxmxb2h2wcasr5jkhciih71wcnp0cja60aw20h";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/newsreaders/raven-reader/default.nix b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
new file mode 100644
index 0000000000000..0858b4690bb81
--- /dev/null
+++ b/pkgs/applications/networking/newsreaders/raven-reader/default.nix
@@ -0,0 +1,38 @@
+{ lib, fetchurl, appimageTools }:
+
+let
+  pname = "raven-reader";
+  version = "1.0.72";
+  src = fetchurl {
+    url = "https://github.com/hello-efficiency-inc/raven-reader/releases/download/v${version}/Raven-Reader-${version}.AppImage";
+    sha256 = "sha256-Sx02VMAgmncT9f5Hvs0LugzhD6Z8cWXHx4kn8IG9seU=";
+  };
+  appimageContents = appimageTools.extractType2 { inherit pname version src; };
+
+in
+appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+    mkdir -p $out/share/${pname}
+    cp -a ${appimageContents}/locales $out/share/${pname}
+    cp -a ${appimageContents}/resources $out/share/${pname}
+
+    install -m 444 -D ${appimageContents}/raven-reader.desktop -t $out/share/applications
+
+    cp -a ${appimageContents}/usr/share/icons $out/share/
+
+    substituteInPlace $out/share/applications/raven-reader.desktop \
+      --replace 'Exec=AppRun' 'Exec=raven-reader'
+  '';
+
+  meta = with lib; {
+    description = "Open source desktop news reader with flexible settings to optimize your experience";
+    homepage = "https://ravenreader.app/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ wolfangaukang ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 2c07d637bd41f..52e2e083ca173 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -1,11 +1,13 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , extra-cmake-modules
 , inotify-tools
 , installShellFiles
 , libcloudproviders
+, librsvg
 , libsecret
 , openssl
 , pcre
@@ -20,7 +22,6 @@
 , plasma5Packages
 , sphinx
 , sqlite
-, inkscape
 , xdg-utils
 }:
 
@@ -41,6 +42,11 @@ mkDerivation rec {
     # Explicitly move dbus configuration files to the store path rather than `/etc/dbus-1/services`.
     ./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
     ./0001-When-creating-the-autostart-entry-do-not-use-an-abso.patch
+    # don't write cacheDir into home directory
+    (fetchpatch {
+      url = "https://github.com/nextcloud/desktop/commit/3a8aa8a2a88bc9b68098b7866e2a07aa23d3a33c.patch";
+      sha256 = "sha256-OviPANvXap3mg4haxRir/CK1aq8maWZDM/IVsN+OHgk=";
+    })
   ];
 
   postPatch = ''
@@ -50,18 +56,15 @@ mkDerivation rec {
     done
   '';
 
-  # required to not include inkscape in the wrapper
-  strictDeps = true;
-
   nativeBuildInputs = [
     pkg-config
     cmake
-    inkscape
+    extra-cmake-modules
+    librsvg
     sphinx
   ];
 
   buildInputs = [
-    extra-cmake-modules
     inotify-tools
     libcloudproviders
     libsecret
diff --git a/pkgs/applications/networking/p2p/mldonkey/default.nix b/pkgs/applications/networking/p2p/mldonkey/default.nix
index 41b8a7d0b6c2e..374f2419b96d4 100644
--- a/pkgs/applications/networking/p2p/mldonkey/default.nix
+++ b/pkgs/applications/networking/p2p/mldonkey/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, ocamlPackages, zlib }:
+{ lib, stdenv, fetchurl, fetchpatch, ocamlPackages, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "mldonkey";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "b926e7aa3de4b4525af73c88f1724d576b4add56ef070f025941dd51cb24a794";
   };
 
+  patches = [
+    # Fixes C++17 compat
+    (fetchpatch {
+      url = "https://github.com/ygrek/mldonkey/pull/66/commits/20ff84c185396f3d759cf4ef46b9f0bd33a51060.patch";
+      hash = "sha256-MCqx0jVfOaLkZhhv0b1cTdO6BK2/f6TxTWmx+NZjXME=";
+    })
+  ];
+
   preConfigure = ''
     substituteInPlace Makefile --replace '+camlp4' \
       '${ocamlPackages.camlp4}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib/camlp4'
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index da7633221a5a1..a0e2388d16cc7 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -1,30 +1,38 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, unzip, fpc, lazarus,
-libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, makeDesktopItem, fetchpatch, unzip
+, fpc, lazarus, libX11, glib, gtk2, gdk-pixbuf, pango, atk, cairo, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "transgui";
-  version = "5.18.0";
+  version = "unstable-2022-02-02";
 
   src = fetchFromGitHub {
     owner = "transmission-remote-gui";
     repo = "transgui";
-    rev = "v${version}";
-    sha256 = "1dyx778756zhvz5sxgdvy49p2c0x44w4nmcfd90wqrmgfknncnf5";
+    rev = "0e2c2a07c1b21b1704c0a4945a111a8aa1050a1a";
+    sha256 = "1x9wzii3q9zanpik4xc99jqsfrqch8vjmlx12jrvczxcfy51b1ba";
   };
 
+  patches = [
+    # TDDO: remove when transgui updates for transmission-daemon v3 rpc protocol
+    (fetchpatch {
+      url = "https://github.com/transmission-remote-gui/transgui/commit/9275c3fb877dd753a1940d1b900630cdc09a0cc2.patch";
+      sha256 = "0w2x7gcxp5kqczdz7ckfqhdz9hhkm62k8gcws54d6km7x9vc1023";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config unzip ];
   buildInputs = [
-    fpc lazarus stdenv.cc
-    libX11 glib gtk2 gdk-pixbuf pango atk cairo openssl
+    fpc lazarus stdenv.cc libX11 glib gtk2 gdk-pixbuf
+    pango atk cairo openssl
   ];
 
-  NIX_LDFLAGS = "
-    -L${stdenv.cc.cc.lib}/lib
-    -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0
-    -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 -lcairo -lc -lcrypto
-  ";
+  NIX_LDFLAGS = ''
+    -L${stdenv.cc.cc.lib}/lib -lX11 -lglib-2.0 -lgtk-x11-2.0
+    -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 -lcairo
+    -lc -lcrypto
+  '';
 
-  prePatch = ''
+  postPatch = ''
     substituteInPlace restranslator.pas --replace /usr/ $out/
   '';
 
@@ -33,23 +41,19 @@ stdenv.mkDerivation rec {
     lazbuild -B transgui.lpr --lazarusdir=${lazarus}/share/lazarus
   '';
 
-  makeFlags = [
-    "FPC=fpc"
-    "PP=fpc"
-    "INSTALL_PREFIX=$(out)"
-  ];
+  makeFlags = [ "FPC=fpc" "PP=fpc" "INSTALL_PREFIX=$(out)" ];
 
   LCL_PLATFORM = "gtk2";
 
-  desktopItem = makeDesktopItem rec {
-    name = "transgui";
-    exec = name + " %U";
-    icon = name;
+  desktopItem = makeDesktopItem {
+    name = pname;
+    exec = "${pname} %U";
+    icon = pname;
     type = "Application";
     comment = meta.description;
     desktopName = "Transmission Remote GUI";
     genericName = "BitTorrent Client";
-    categories = [ "Application" "Network" "FileTransfer" "P2P" "GTK" ];
+    categories = [ "Network" "FileTransfer" "P2P" "GTK" ];
     startupNotify = true;
     mimeTypes = [ "application/x-bittorrent" "x-scheme-handler/magnet" ];
   };
@@ -64,10 +68,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description = "A cross platform front-end for the Transmission Bit-Torrent client";
+    description = "A cross platform front-end for the Transmission BitTorrent client";
     homepage = "https://sourceforge.net/p/transgui";
     license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ ramkromberg ];
-    platforms = lib.platforms.linux;
+    mainProgram = "transgui";
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/networking/p2p/transmission/default.nix b/pkgs/applications/networking/p2p/transmission/default.nix
index 7f48ad2d3b48f..f5a8188334ce6 100644
--- a/pkgs/applications/networking/p2p/transmission/default.nix
+++ b/pkgs/applications/networking/p2p/transmission/default.nix
@@ -86,8 +86,6 @@ in stdenv.mkDerivation {
   ++ lib.optionals stdenv.isLinux [ inotify-tools ]
   ;
 
-  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
-
   postInstall = ''
     mkdir $apparmor
     cat >$apparmor/bin.transmission-daemon <<EOF
diff --git a/pkgs/applications/networking/p2p/tremc/default.nix b/pkgs/applications/networking/p2p/tremc/default.nix
index ea6b92c08e7e4..6ff10989b1d3e 100644
--- a/pkgs/applications/networking/p2p/tremc/default.nix
+++ b/pkgs/applications/networking/p2p/tremc/default.nix
@@ -44,7 +44,7 @@ python3Packages.buildPythonApplication rec {
   dontBuild = true;
   doCheck = false;
 
-  makeWrapperArgs = ["--prefix PATH : ${wrapperPath}"];
+  makeWrapperArgs = ["--prefix PATH : ${lib.escapeShellArg wrapperPath}"];
 
   installPhase = ''
     make DESTDIR=$out install
diff --git a/pkgs/applications/networking/p2p/twister/default.nix b/pkgs/applications/networking/p2p/twister/default.nix
deleted file mode 100644
index 979ac955caf31..0000000000000
--- a/pkgs/applications/networking/p2p/twister/default.nix
+++ /dev/null
@@ -1,70 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, pkg-config, python2
-, boost, db, openssl, geoip, libiconv, miniupnpc, srcOnly
-}:
-
-let
-  twisterHTML = srcOnly {
-    name = "twister-html";
-    src = fetchFromGitHub {
-      owner = "miguelfreitas";
-      repo = "twister-html";
-      rev = "01e7f7ca9b7e42ed90f91bc42da2c909ca5c0b9b";
-      sha256 = "sha256-Hi/VAEwujWhKAPaYIuvrxRIuPQa9AYwXiHUGbWxckmk=";
-    };
-  };
-
-  boostPython = boost.override {
-    enablePython = true;
-    python = python2;
-  };
-
-in stdenv.mkDerivation rec {
-  pname = "twister";
-  version = "2019-08-19";
-
-  src = fetchFromGitHub {
-    owner = "miguelfreitas";
-    repo = "twister-core";
-    rev = "31faf3f63e461ea0a9b23081567a4a552cf06873";
-    sha256 = "0xh1lgnl9nd86jr0mp7m8bkd7r5j4d6chd0y73h2xv4aq5sld0sp";
-  };
-
-  configureFlags = [
-    "--with-libgeoip"
-    "--with-libiconv"
-    "--disable-deprecated-functions"
-    "--enable-tests"
-    "--enable-python-binding"
-    "--with-boost-libdir=${boostPython.out}/lib"
-  ];
-
-  nativeBuildInputs = [ pkg-config automake autoconf ];
-  buildInputs = [
-    libtool python2
-    boostPython db openssl geoip miniupnpc libiconv
-  ];
-
-  postPatch = ''
-    sed -i -e '/-htmldir/s|(default: [^)]*)|(default: ${twisterHTML})|' \
-      src/init.cpp
-    sed -i -e '/GetDataDir.*html/s|path *= *[^;]*|path = "${twisterHTML}"|' \
-      src/util.cpp
-  '';
-
-  preConfigure = ''
-    sh autotool.sh
-  '';
-
-  installPhase = ''
-    install -vD twisterd "$out/bin/twisterd"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://www.twister.net.co/";
-    description = "Peer-to-peer microblogging";
-    license = lib.licenses.mit;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/protonvpn-cli/2.nix b/pkgs/applications/networking/protonvpn-cli/2.nix
new file mode 100644
index 0000000000000..c3e9bd2ac2159
--- /dev/null
+++ b/pkgs/applications/networking/protonvpn-cli/2.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonApplication
+, fetchFromGitHub
+, pythonOlder
+, requests
+, docopt
+, pythondialog
+, jinja2
+, distro
+, dialog
+, iptables
+, openvpn }:
+
+buildPythonApplication rec {
+  pname = "protonvpn-cli_2";
+  version = "2.2.11";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "Rafficer";
+    repo = "linux-cli-community";
+    # There is a tag and branch with the same name
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-CWQpisJPBXbf+d5tCGuxfSQQZBeF36WFF4b6OSUn3GY=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    docopt
+    pythondialog
+    jinja2
+    distro
+    dialog
+    openvpn
+    iptables
+  ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Linux command-line client for ProtonVPN using Openvpn";
+    homepage = "https://github.com/Rafficer/linux-cli-community";
+    maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    mainProgram = "protonvpn";
+  };
+}
diff --git a/pkgs/applications/networking/protonvpn-cli/default.nix b/pkgs/applications/networking/protonvpn-cli/default.nix
index e46909d2a7c32..5182b5c256f37 100644
--- a/pkgs/applications/networking/protonvpn-cli/default.nix
+++ b/pkgs/applications/networking/protonvpn-cli/default.nix
@@ -1,37 +1,41 @@
-{ lib, fetchFromGitHub, python3Packages, openvpn, dialog, iptables }:
+{ lib
+, buildPythonApplication
+, pythonOlder
+, fetchFromGitHub
+, protonvpn-nm-lib
+, pythondialog
+, dialog
+}:
 
-python3Packages.buildPythonApplication rec {
-  pname = "protonvpn-linux-cli";
-  version = "2.2.6";
+buildPythonApplication rec {
+  pname = "protonvpn-cli";
+  version = "3.11.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "protonvpn";
     repo = "linux-cli";
-    rev = "v${version}";
-    sha256 = "0y7v9ikrmy5dbjlpbpacp08gy838i8z54m8m4ps7ldk1j6kyia3n";
+    rev = version;
+    sha256 = "sha256-u+POtUz7NoGS23aOmvDCZPUp2HW1xXGtfbZR88cWCBc=";
   };
 
-  propagatedBuildInputs = (with python3Packages; [
-      requests
-      docopt
-      setuptools
-      jinja2
-      pythondialog
-    ]) ++ [
-      dialog
-      openvpn
-      iptables
-    ];
+  propagatedBuildInputs = [
+    protonvpn-nm-lib
+    pythondialog
+    dialog
+  ];
 
-  # No tests
+  # Project has a dummy test
   doCheck = false;
 
   meta = with lib; {
     description = "Linux command-line client for ProtonVPN";
     homepage = "https://github.com/protonvpn/linux-cli";
-    maintainers = with maintainers; [ jtcoolen jefflabonte shamilton ];
+    maintainers = with maintainers; [ wolfangaukang ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
-    mainProgram = "protonvpn";
+    mainProgram = "protonvpn-cli";
   };
 }
diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix
index 00289e5c62869..7ee1cc9ab4fa3 100644
--- a/pkgs/applications/networking/remote/teamviewer/default.nix
+++ b/pkgs/applications/networking/remote/teamviewer/default.nix
@@ -6,11 +6,11 @@
 
 mkDerivation rec {
   pname = "teamviewer";
-  version = "15.26.4";
+  version = "15.29.4";
 
   src = fetchurl {
     url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
-    sha256 = "sha256-2CprtdKHHTLxS8jA4bRVoHvj/8zyVUV0aGPzU7mNxM8=";
+    sha256 = "sha256-jkFqOtU+D62S7QmNPvz58Z8wJ79lkN11pWQrtNdD+Uk=";
   };
 
   unpackPhase = ''
@@ -30,7 +30,7 @@ mkDerivation rec {
       $out/share/teamviewer/config \
       $out/share/teamviewer/tv_bin/RTlib \
       $out/share/teamviewer/tv_bin/xdg-utils \
-      $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh}
+      $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,tv-delayed-start.sh}
 
     ln -s $out/share/teamviewer/tv_bin/script/teamviewer $out/bin
     ln -s $out/share/teamviewer/tv_bin/teamviewerd $out/bin
diff --git a/pkgs/applications/networking/seafile-client/default.nix b/pkgs/applications/networking/seafile-client/default.nix
index f4d79d00d8b1c..adda284a6b8c0 100644
--- a/pkgs/applications/networking/seafile-client/default.nix
+++ b/pkgs/applications/networking/seafile-client/default.nix
@@ -9,7 +9,9 @@ mkDerivation rec {
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile-client";
-    rev = "v${version}";
+    # Tag v8.0.7 used to point to this commit, but was re-tagged later to a state
+    # that fails to link properly
+    rev = "8b96abf64e6aa19e3beeff6b322bcd6d28120bdd";
     sha256 = "00wfr7dvbyl7pg1xgssgz8a94c7c4n5r9266lhy9qcbz456hdcgj";
   };
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 7384f7c350a5a..f584eea5cca59 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -8,18 +8,18 @@
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "E1TX3GBVKn0tXloNhyiXOtDwSlO7mwXJ6zaOSHKZEFc=";
+    sha256 = "clLSkby7bmjScUpSZkVvHt5nSIoQOaYrxsoLqiuQZik=";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "sha256-sPb49tRUHhwow7+IKiN33sgWYAa3lTpOD1vh8e5Wy68=";
+  vendorSha256 = "sha256-XVLsmU4EfOTFVpF5he+FCyDr/NuApUBC9R00nO1HJrg=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
diff --git a/pkgs/applications/networking/sync/backintime/common.nix b/pkgs/applications/networking/sync/backintime/common.nix
index 335ba4a4de146..0b02b87a1b2f6 100644
--- a/pkgs/applications/networking/sync/backintime/common.nix
+++ b/pkgs/applications/networking/sync/backintime/common.nix
@@ -7,13 +7,13 @@ let
   apps = lib.makeBinPath [ openssh python' cron rsync sshfs-fuse encfs ];
 in stdenv.mkDerivation rec {
   pname = "backintime-common";
-  version = "1.2.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "bit-team";
     repo = "backintime";
     rev = "v${version}";
-    sha256 = "mBjheLY7DHs995heZmxVnDdvABkAROCjRJ4a/uJmJcg=";
+    sha256 = "sha256-7iTQZ7SiESsKK8F8BpLrRNkj8JhHo64kliaOvMvYGvw=";
   };
 
   nativeBuildInputs = [ makeWrapper gettext ];
diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix
index 68af0bd2890a3..a76be3d318c3c 100644
--- a/pkgs/applications/networking/sync/onedrive/default.nix
+++ b/pkgs/applications/networking/sync/onedrive/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "onedrive";
-  version = "2.4.16";
+  version = "2.4.17";
 
   src = fetchFromGitHub {
     owner = "abraunegg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GoufEcCu/Cg2Fu0RcjTi4te/7+gZfQRTj+AtK0YnF5I=";
+    hash = "sha256-+ADAPxAZNDqLKLz6rAProqSDINDiTZhc2trxJFFMQeA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix
index 4927bc51b232c..96420ff04de1c 100644
--- a/pkgs/applications/networking/syncplay/default.nix
+++ b/pkgs/applications/networking/syncplay/default.nix
@@ -14,7 +14,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [ twisted certifi ]
-    ++ twisted.extras.tls
+    ++ twisted.extras-require.tls
     ++ lib.optional enableGUI pyside2;
   nativeBuildInputs = lib.optionals enableGUI [ qt5.wrapQtAppsHook ];
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index e4088c3c460e8..fc10b706bdce7 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,21 +4,21 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.19.2";
+      version = "1.20.1";
 
       src = fetchFromGitHub {
-        owner  = "syncthing";
-        repo   = "syncthing";
-        rev    = "v${version}";
-        sha256 = "sha256-Zday5lBsRCl00vnnXNKu6VMlq8zmwgI0I+73Pir7ss4=";
+        owner = "syncthing";
+        repo = "syncthing";
+        rev = "v${version}";
+        hash = "sha256-QJevD/meVPEHnfwT1Eu3cwfVFU+ab/16eJBl6cuhGdA=";
       };
 
-      vendorSha256 = "sha256-2yK0eE34cA7U1nDWRp/JigFpeveipmCuL4jP+94T3Sg=";
+      vendorSha256 = "sha256-NuiT2GytWaGkgSyl+qoe9DjCCL7wSHc6FU8C6rsy6Vc=";
 
       doCheck = false;
 
-      BUILD_USER="nix";
-      BUILD_HOST="nix";
+      BUILD_USER = "nix";
+      BUILD_HOST = "nix";
 
       buildPhase = ''
         runHook preBuild
@@ -45,11 +45,13 @@ let
         changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
         license = licenses.mpl20;
         maintainers = with maintainers; [ joko peterhoeg andrew-d ];
+        mainProgram = target;
         platforms = platforms.unix;
       };
     };
 
-in {
+in
+{
   syncthing = common {
     stname = "syncthing";
     target = "syncthing";
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index b96210529e723..30a2570cada77 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -13,7 +13,7 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.39.0";
+  version = "7.40.2";
 
   src = fetchurl {
     # find the latest version with
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
     # and the sha512 with
     # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_sha512' -r
-    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_111.snap";
-    sha512 = "1c90f249fd1802d4ed032b85ee835ca04e84e673caff339b6ce9b35188fec65a3ccce0e2a8a9afef46354ed5886ab17c612468ad7281c660c904b180753a1729";
+    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_113.snap";
+    sha512 = "33f8f367a9fe232cf359869dfa0aa55c9be6f6c0e1ebdf7d65ae4616afe0fe2b61c57697f6d67d5e71f5dffd163eb601d8f2d2757712b01d0d32eb027018c2d3";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/networking/tmpmail/default.nix b/pkgs/applications/networking/tmpmail/default.nix
index 535f5ce6d9d55..d29d5816f449d 100644
--- a/pkgs/applications/networking/tmpmail/default.nix
+++ b/pkgs/applications/networking/tmpmail/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitHub, stdenvNoCC, w3m, curl, jq, makeWrapper, installShellFiles }:
+{ lib, fetchFromGitHub, stdenvNoCC, w3m, curl, jq, makeWrapper, installShellFiles, xclip }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "tmpmail";
-  version = "1.1.9";
+  version = "1.2.3";
 
    src = fetchFromGitHub {
     owner = "sdushantha";
     repo = "tmpmail";
     rev = "v${version}";
-    sha256 = "sha256-sWcsmBUHSfo7sICXyhNhbfRFSHumObnWc7stWxcwVTg=";
+    sha256 = "sha256-s4c1M4YHK/CNpH7nPt7rRqlkLUZrpBXvAVS/qxCai9c=";
   };
 
   dontConfigure = true;
@@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation rec {
     mkdir -p $out/bin
     install -Dm755 -t $out/bin tmpmail
     installManPage tmpmail.1
-    wrapProgram $out/bin/tmpmail --prefix PATH : ${lib.makeBinPath [ w3m curl jq ]}
+    wrapProgram $out/bin/tmpmail --prefix PATH : ${lib.makeBinPath [ w3m curl jq xclip ]}
   '';
 
    meta = with lib; {
diff --git a/pkgs/applications/networking/twtxt/default.nix b/pkgs/applications/networking/twtxt/default.nix
index 27420f8bd3395..792c13aa23fa8 100644
--- a/pkgs/applications/networking/twtxt/default.nix
+++ b/pkgs/applications/networking/twtxt/default.nix
@@ -23,6 +23,11 @@ buildPythonApplication rec {
 
   checkInputs = [ pytestCheckHook tox ];
 
+  disabledTests = [
+     # Disable test using relative date and time
+     "test_tweet_relative_datetime"
+  ];
+
   meta = with lib; {
     description = "Decentralised, minimalist microblogging service for hackers";
     homepage = "https://github.com/buckket/twtxt";
diff --git a/pkgs/applications/networking/zerobin/default.nix b/pkgs/applications/networking/zerobin/default.nix
index 56d5274751fce..ca55085d8085f 100644
--- a/pkgs/applications/networking/zerobin/default.nix
+++ b/pkgs/applications/networking/zerobin/default.nix
@@ -40,7 +40,7 @@ python3Packages.buildPythonApplication rec {
     # relax version constraints of some dependencies
     substituteInPlace setup.cfg \
       --replace "clize==4.1.1" "clize" \
-      --replace "bleach==3.1.5" "bleach>=3.1.5,<5" \
+      --replace "bleach==3.1.5" "bleach>=3.1.5,<6" \
       --replace "bottle==0.12.18" "bottle>=0.12.18,<1" \
       --replace "Paste==3.4.3" "Paste>=3.4.3,<4"
   '';
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 6e7f0f3d517bd..1e34b7918da14 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
       --add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${
         lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
       } de.willuhn.jameica.Main" \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \
+      --prefix LD_LIBRARY_PATH : ${lib.escapeShellArg (lib.makeLibraryPath buildInputs)} \
       --chdir "$out/share/java/"
   '';
 
diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix
index 0ea9b908ada63..83c47848bc4a0 100644
--- a/pkgs/applications/office/ledger/default.nix
+++ b/pkgs/applications/office/ledger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, cmake, boost, gmp, mpfr, libedit, python3
-, texinfo, gnused, usePython ? true }:
+, fetchpatch, installShellFiles, texinfo, gnused, usePython ? true }:
 
 stdenv.mkDerivation rec {
   pname = "ledger";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     gmp mpfr libedit gnused
   ] ++ lib.optional usePython python3;
 
-  nativeBuildInputs = [ cmake texinfo ];
+  nativeBuildInputs = [ cmake texinfo installShellFiles ];
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_LIBDIR=lib"
@@ -34,8 +34,21 @@ stdenv.mkDerivation rec {
       --replace 'DESTINATION ''${Python_SITEARCH}' 'DESTINATION "${python3.sitePackages}"'
   '';
 
+  patches = [
+    # Add support for $XDG_CONFIG_HOME. Remove with the next release
+    (fetchpatch {
+      url = "https://github.com/ledger/ledger/commit/c79674649dee7577d6061e3d0776922257520fd0.patch";
+      sha256 = "sha256-vwVQnY9EUCXPzhDJ4PSOmQStb9eF6H0yAOiEmL6sAlk=";
+      excludes = [ "doc/NEWS.md" ];
+    })
+  ];
+
   installTargets = [ "doc" "install" ];
 
+  postInstall = ''
+    installShellCompletion --cmd ledger --bash $src/contrib/ledger-completion.bash
+  '';
+
   meta = with lib; {
     homepage = "https://ledger-cli.org/";
     description = "A double-entry accounting system with a command-line reporting interface";
@@ -49,6 +62,6 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = platforms.all;
-    maintainers = with maintainers; [ jwiegley ];
+    maintainers = with maintainers; [ jwiegley marsam ];
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 5ebde5e10dece..74a4c156b8307 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -1,29 +1,125 @@
-{ stdenv, fetchurl, lib, pam, python3, libxslt, perl, ArchiveZip, box2d, gettext
-, IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, curl, fontconfig, libsndfile, neon
-, bison, flex, zip, unzip, gtk3, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, cups, xorg, fontforge, jre_minimal
-, openssl, gperf, cppunit, poppler, util-linux
-, librsvg, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
-, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
-, libwpg, dbus-glib, clucene_core, libcdr, lcms
-, unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
-, fontsConf, pkg-config, bluez5, libtool, carlito
-, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
-, librevenge, libe-book, libmwaw, glm, gst_all_1
-, gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
-, gnome, glib, ncurses, libepoxy, gpgme
+{ stdenv
+, fetchurl
+, lib
+, pam
+, python3
+, libxslt
+, perl
+, ArchiveZip
+, box2d
+, gettext
+, IOCompress
+, zlib
+, libjpeg
+, expat
+, freetype
+, libwpd
+, libxml2
+, db
+, curl
+, fontconfig
+, libsndfile
+, neon
+, bison
+, flex
+, zip
+, unzip
+, gtk3
+, libmspack
+, getopt
+, file
+, cairo
+, which
+, icu
+, boost
+, jdk
+, ant
+, cups
+, xorg
+, fontforge
+, jre_minimal
+, openssl
+, gperf
+, cppunit
+, poppler
+, util-linux
+, librsvg
+, libGLU
+, libGL
+, bsh
+, CoinMP
+, libwps
+, libabw
+, libmysqlclient
+, autoconf
+, automake
+, openldap
+, bash
+, hunspell
+, librdf_redland
+, nss
+, nspr
+, libwpg
+, dbus-glib
+, clucene_core
+, libcdr
+, lcms
+, unixODBC
+, mdds
+, sane-backends
+, mythes
+, libexttextcat
+, libvisio
+, fontsConf
+, pkg-config
+, bluez5
+, libtool
+, carlito
+, libatomic_ops
+, graphite2
+, harfbuzz
+, libodfgen
+, libzmf
+, librevenge
+, libe-book
+, libmwaw
+, glm
+, gst_all_1
+, gdb
+, commonsLogging
+, librdf_rasqal
+, wrapGAppsHook
+, gnome
+, glib
+, ncurses
+, libepoxy
+, gpgme
+, abseil-cpp
 , langs ? [ "ca" "cs" "da" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ro" "ru" "sl" "uk" "zh-CN" ]
 , withHelp ? true
-, kdeIntegration ? false, mkDerivation ? null, qtbase ? null, qtx11extras ? null
-, ki18n ? null, kconfig ? null, kcoreaddons ? null, kio ? null, kwindowsystem ? null
+, kdeIntegration ? false
+, mkDerivation ? null
+, qtbase ? null
+, qtx11extras ? null
+, ki18n ? null
+, kconfig ? null
+, kcoreaddons ? null
+, kio ? null
+, kwindowsystem ? null
 , wrapQtAppsHook ? null
 , variant ? "fresh"
+, symlinkJoin
 } @ args:
 
 assert builtins.elem variant [ "fresh" "still" ];
 
 let
+  inherit (lib)
+    flatten flip
+    concatMapStrings concatMapStringsSep concatStringsSep
+    getDev getLib
+    optional optionals optionalString;
+
   jre' = jre_minimal.override {
     modules = [ "java.base" "java.desktop" "java.logging" ];
   };
@@ -34,27 +130,43 @@ let
 
   inherit (primary-src) major minor subdir version;
 
-  langsSpaces = lib.concatStringsSep " " langs;
+  langsSpaces = concatStringsSep " " langs;
 
   mkDrv = if kdeIntegration then mkDerivation else stdenv.mkDerivation;
 
   srcs = {
     third_party =
-      map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      (importVariant "download.nix" ++ [
-        (rec {
-          name = "unowinreg.dll";
-          url = "https://dev-www.libreoffice.org/extern/${md5name}";
-          sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
-          md5 = "185d60944ea767075d27247c3162b3bc";
-          md5name = "${md5}-${name}";
-        })
-      ]);
+      map (x: ((fetchurl { inherit (x) url sha256 name; }) // { inherit (x) md5name md5; }))
+        (importVariant "download.nix" ++ [
+          (rec {
+            name = "unowinreg.dll";
+            url = "https://dev-www.libreoffice.org/extern/${md5name}";
+            sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
+            md5 = "185d60944ea767075d27247c3162b3bc";
+            md5name = "${md5}-${name}";
+          })
+        ]);
 
     translations = primary-src.translations;
     help = primary-src.help;
   };
-in (mkDrv rec {
+
+  # See `postPatch` for details
+  kdeDeps = symlinkJoin {
+    name = "libreoffice-kde-dependencies-${version}";
+    paths = flatten (map (e: [ (getDev e) (getLib e) ]) [
+      qtbase
+      qtx11extras
+      kconfig
+      kcoreaddons
+      ki18n
+      kio
+      kwindowsystem
+    ]);
+  };
+
+in
+(mkDrv rec {
   pname = "libreoffice";
   inherit version;
 
@@ -71,10 +183,10 @@ in (mkDrv rec {
 
   postUnpack = ''
     mkdir -v $sourceRoot/${tarballPath}
-  '' + (lib.flip lib.concatMapStrings srcs.third_party (f: ''
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
-    ''))
+  '' + (flip concatMapStrings srcs.third_party (f: ''
+    ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
+    ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
+  ''))
   + ''
     ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
     ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
@@ -90,20 +202,27 @@ in (mkDrv rec {
       url = "https://github.com/archlinux/svntogit-packages/raw/f82958b9538f86e41b51f1ba7134968d2f3788d1/trunk/poppler-22.03.0.patch";
       sha256 = "5h4qJmx6Q3Q3dHUlSi8JXBziN2mAswGVWk5aDTLTwls=";
     })
+
+    # Fix build with poppler 22.04
+    ./poppler-22-04-0.patch
   ];
 
   ### QT/KDE
   #
-  # We have to resort to the ugly patching of configure.ac as it assumes that
-  # the first directory that contains headers and libraries during the check
-  # contains all the relevant headers/libs which doesn't work with both as they
-  # are in multiple directories due to each having their own derivation.
-  postPatch = let
-    inc = e: path:
-      "${lib.getDev e}/include/KF5/${path}";
-    libs = list:
-      lib.concatMapStringsSep " " (e: "-L${lib.getLib e}/lib") list;
-  in ''
+  # configure.ac assumes that the first directory that contains headers and
+  # libraries during its checks contains *all* the relevant headers/libs which
+  # obviously doesn't work for us, so we have 2 options:
+  #
+  # 1. patch configure.ac in order to specify the direct paths to various Qt/KDE
+  # dependencies which is ugly and brittle, or
+  #
+  # 2. use symlinkJoin to pull in the relevant dependencies and just patch in
+  # that path which is *also* ugly, but far less likely to break
+  #
+  # The 2nd option is not very Nix'y, but I'll take robust over nice any day.
+  # Additionally, it's much easier to fix if LO breaks on the next upgrade (just
+  # add the missing dependencies to it).
+  postPatch = ''
     substituteInPlace shell/source/unix/exec/shellexec.cxx \
       --replace /usr/bin/xdg-open ${if kdeIntegration then "kde-open5" else "xdg-open"}
 
@@ -116,21 +235,12 @@ in (mkDrv rec {
     substituteInPlace configure.ac --replace \
       'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
       'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
-  '' + lib.optionalString kdeIntegration ''
-      substituteInPlace configure.ac \
-        --replace kcoreaddons_version.h KCoreAddons/kcoreaddons_version.h \
-        --replace '$QT5INC'             ${qtbase.dev}/include \
-        --replace '$QT5LIB'             ${qtbase.out}/lib \
-        --replace '-I$qt5_incdir '      '-I${qtx11extras.dev}/include '\
-        --replace '-L$qt5_libdir '      '${libs [ qtbase qtx11extras ]} ' \
-        --replace '$KF5INC'             ${kcoreaddons.dev}/include \
-        --replace '$KF5LIB'             ${kcoreaddons.out}/lib \
-        --replace '$kf5_incdir/KCore'   ${inc kcoreaddons "KCore"} \
-        --replace '$kf5_incdir/KI18n'   ${inc ki18n "KI18n"} \
-        --replace '$kf5_incdir/KConfig' ${inc kconfig "KConfig"} \
-        --replace '$kf5_incdir/KWindow' ${inc kwindowsystem "KWindow"} \
-        --replace '$kf5_incdir/KIO'     ${inc kio "KIO"} \
-        --replace '-L$kf5_libdir '      '${libs [ kconfig kcoreaddons ki18n kio kwindowsystem ]} '
+  '' + optionalString kdeIntegration ''
+    substituteInPlace configure.ac \
+      --replace '$QT5INC ' '$QT5INC ${kdeDeps}/include ' \
+      --replace '$QT5LIB ' '$QT5LIB ${kdeDeps}/lib ' \
+      --replace '$KF5INC ' '$KF5INC ${kdeDeps}/include ${kdeDeps}/include/KF5 '\
+      --replace '$KF5LIB ' '$KF5LIB ${kdeDeps}/lib '
   '';
 
   dontUseCmakeConfigure = true;
@@ -174,7 +284,6 @@ in (mkDrv rec {
       # this I actually hate, this should be a data consistency test!
       sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
       # rendering-dependent test
-      sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
       # tilde expansion in path processing checks the existence of $HOME
       sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
       # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
@@ -187,9 +296,6 @@ in (mkDrv rec {
       # one more fragile test?
       sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
       # rendering-dependent tests
-      sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
       sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
       sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
       sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
@@ -220,37 +326,6 @@ in (mkDrv rec {
       sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
       sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
       sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
       sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
       sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
       sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
@@ -271,18 +346,16 @@ in (mkDrv rec {
     ''
     # This to avoid using /lib:/usr/lib at linking
     + ''
-    sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
+      sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
 
-    find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
+      find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
     '';
 
   makeFlags = [ "SHELL=${bash}/bin/bash" ];
 
   enableParallelBuilding = true;
 
-  buildPhase = ''
-    make build-nocheck
-  '';
+  buildTargets = [ "build-nocheck" ];
 
   doCheck = true;
 
@@ -310,19 +383,18 @@ in (mkDrv rec {
 
     mkdir -p $dev
     cp -r include $dev
-  '' + lib.optionalString kdeIntegration ''
-      for prog in $out/bin/*
-      do
-        wrapQtApp $prog
-      done
+  '' + optionalString kdeIntegration ''
+    for prog in $out/bin/*; do
+      wrapQtApp $prog
+    done
   '';
 
   dontWrapQtApps = true;
 
   configureFlags = [
     (if withHelp then "" else "--without-help")
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
+    "--with-boost=${getDev boost}"
+    "--with-boost-libdir=${getLib boost}/lib"
     "--with-beanshell-jar=${bsh}"
     "--with-vendor=NixOS"
     "--disable-report-builder"
@@ -331,7 +403,7 @@ in (mkDrv rec {
     "--enable-dbus"
     "--enable-release-build"
     "--enable-epm"
-    "--with-ant-home=${ant}/lib/ant"
+    "--with-ant-home=${getLib ant}/lib/ant"
     "--with-system-cairo"
     "--with-system-libs"
     "--with-system-headers"
@@ -379,44 +451,128 @@ in (mkDrv rec {
     # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
     "--without-system-orcus"
     "--without-system-xmlsec"
-  ] ++ lib.optionals kdeIntegration [
+  ] ++ optionals kdeIntegration [
     "--enable-kf5"
     "--enable-qt5"
     "--enable-gtk3-kde5"
   ];
 
-  checkPhase = ''
-    make unitcheck
-    make slowcheck
-  '';
+  checkTarget = concatStringsSep " " [
+    "unitcheck"
+    "slowcheck"
+  ];
 
   nativeBuildInputs = [
-    gdb fontforge autoconf automake bison pkg-config libtool jdk
-  ] ++ lib.optional (!kdeIntegration) wrapGAppsHook
-    ++ lib.optional kdeIntegration wrapQtAppsHook;
-
-  buildInputs = with xorg;
-    [ ant ArchiveZip boost box2d cairo clucene_core
-      IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
-      freetype getopt gperf gtk3
-      hunspell icu jre' lcms libcdr libexttextcat unixODBC libjpeg
-      libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
-      libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU libGL mythes
-      glib libmysqlclient
-      neon nspr nss openldap openssl pam perl pkg-config poppler
-      python3 sane-backends unzip which zip zlib
-      mdds bluez5 libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz gpgme util-linux
-      librevenge libe-book libmwaw glm ncurses libepoxy
-      libodfgen CoinMP librdf_rasqal gnome.adwaita-icon-theme gettext
-    ]
-    ++ (with gst_all_1; [
-      gstreamer
-      gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
-      gst-libav
-    ])
-    ++ lib.optional kdeIntegration [ qtbase qtx11extras kcoreaddons kio ];
+    autoconf
+    automake
+    bison
+    fontforge
+    gdb
+    jdk
+    libtool
+    pkg-config
+  ]
+  ++ [ (if kdeIntegration then wrapQtAppsHook else wrapGAppsHook) ];
+
+  buildInputs = with xorg; [
+    ArchiveZip
+    CoinMP
+    IOCompress
+    abseil-cpp
+    ant
+    bluez5
+    boost
+    box2d
+    cairo
+    clucene_core
+    cppunit
+    cups
+    curl
+    db
+    dbus-glib
+    expat
+    file
+    flex
+    fontconfig
+    freetype
+    getopt
+    gettext
+    glib
+    glm
+    gnome.adwaita-icon-theme
+    gperf
+    gpgme
+    graphite2
+    gtk3
+    harfbuzz
+    hunspell
+    icu
+    jre'
+    lcms
+    libGL
+    libGLU
+    libX11
+    libXaw
+    libXdmcp
+    libXext
+    libXi
+    libXinerama
+    libXtst
+    libabw
+    libatomic_ops
+    libcdr
+    libe-book
+    libepoxy
+    libexttextcat
+    libjpeg
+    libmspack
+    libmwaw
+    libmysqlclient
+    libodfgen
+    libpthreadstubs
+    librdf_rasqal
+    librdf_redland
+    librevenge
+    librsvg
+    libsndfile
+    libvisio
+    libwpd
+    libwpg
+    libwps
+    libxml2
+    libxshmfence
+    libxslt
+    libzmf
+    mdds
+    mythes
+    ncurses
+    neon
+    nspr
+    nss
+    openldap
+    openssl
+    pam
+    perl
+    pkg-config
+    poppler
+    python3
+    sane-backends
+    unixODBC
+    unzip
+    util-linux
+    which
+    zip
+    zlib
+  ]
+  ++ (with gst_all_1; [
+    gst-libav
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+    gstreamer
+  ])
+  ++ optionals kdeIntegration [ qtbase qtx11extras kcoreaddons kio ];
 
   passthru = {
     inherit srcs;
diff --git a/pkgs/applications/office/libreoffice/poppler-22-04-0.patch b/pkgs/applications/office/libreoffice/poppler-22-04-0.patch
new file mode 100644
index 0000000000000..c907bf1680b4f
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/poppler-22-04-0.patch
@@ -0,0 +1,100 @@
+Patch from OpenSUSE
+https://build.opensuse.org/package/view_file/LibreOffice:Factory/libreoffice/poppler-22-04-0.patch?expand=1&rev=45e176f964509ebe3560d0dbf1ec8be9
+Index: libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+===================================================================
+--- libreoffice-7.3.3.1.orig/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
++++ libreoffice-7.3.3.1/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
+@@ -474,12 +474,21 @@ int PDFOutDev::parseFont( long long nNew
+     {
+         // TODO(P3): Unfortunately, need to read stream twice, since
+         // we must write byte count to stdout before
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++        auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
++        if ( pBuf )
++        {
++            aNewFont.isEmbedded = true;
++            nSize = pBuf->size();
++        }
++#else
+         char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
+         if( pBuf )
+         {
+             aNewFont.isEmbedded = true;
+             gfree(pBuf);
+         }
++#endif
+     }
+ 
+     m_aFontMap[ nNewId ] = aNewFont;
+@@ -492,21 +501,35 @@ void PDFOutDev::writeFontFile( GfxFont*
+         return;
+ 
+     int nSize = 0;
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++    auto pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef());
++    if ( !pBuf )
++        return;
++    nSize = pBuf->size();
++#else
+     char* pBuf = gfxFont->readEmbFontFile( m_pDoc->getXRef(), &nSize );
+     if( !pBuf )
+         return;
++#endif
+ 
+     // ---sync point--- see SYNC STREAMS above
+     fflush(stdout);
+ 
++#if POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
++    if( fwrite(pBuf->data(), sizeof(unsigned char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
++    {
++#else
+     if( fwrite(pBuf, sizeof(char), nSize, g_binary_out) != static_cast<size_t>(nSize) )
+     {
+         gfree(pBuf);
++#endif
+         exit(1); // error
+     }
+     // ---sync point--- see SYNC STREAMS above
+     fflush(g_binary_out);
++#if !POPPLER_CHECK_VERSION(22, 04, 0) // readEmbFontFile signature changed
+     gfree(pBuf);
++#endif
+ }
+ 
+ #if POPPLER_CHECK_VERSION(0, 83, 0)
+@@ -759,7 +782,11 @@ void PDFOutDev::updateFont(GfxState *sta
+ {
+     assert(state);
+ 
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++    std::shared_ptr<GfxFont> gfxFont = state->getFont();
++#else
+     GfxFont *gfxFont = state->getFont();
++#endif
+     if( !gfxFont )
+         return;
+ 
+@@ -776,7 +803,11 @@ void PDFOutDev::updateFont(GfxState *sta
+         m_aFontMap.find( fontID );
+     if( it == m_aFontMap.end() )
+     {
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++        nEmbedSize = parseFont( fontID, gfxFont.get(), state );
++#else
+         nEmbedSize = parseFont( fontID, gfxFont, state );
++#endif
+         it = m_aFontMap.find( fontID );
+     }
+ 
+@@ -806,7 +837,11 @@ void PDFOutDev::updateFont(GfxState *sta
+ 
+     if (nEmbedSize)
+     {
++#if POPPLER_CHECK_VERSION(22, 04, 0)
++        writeFontFile(gfxFont.get());
++#else
+         writeFontFile(gfxFont);
++#endif
+     }
+ }
+ 
diff --git a/pkgs/applications/office/libreoffice/soffice-template.desktop b/pkgs/applications/office/libreoffice/soffice-template.desktop
new file mode 100644
index 0000000000000..4adb91284a955
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/soffice-template.desktop
@@ -0,0 +1,6 @@
+[Desktop Entry]
+Name=LibreOffice @app@...
+Comment=Enter LibreOffice @app@ filename:
+Type=Link
+URL=.source/soffice.@ext@
+Icon=libreoffice-oasis-@type@
diff --git a/pkgs/applications/office/libreoffice/src-fresh/download.nix b/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 9bfccf4c30694..5ed0517e944c2 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -21,11 +21,11 @@
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_75_0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz";
-    sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b";
+    name = "boost_1_77_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz";
+    sha256 = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e";
     md5 = "";
-    md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz";
+    md5name = "9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e-boost_1_77_0.tar.xz";
   }
   {
     name = "box2d-2.3.1.tar.gz";
@@ -56,11 +56,11 @@
     md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
   }
   {
-    name = "cairo-1.16.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/cairo-1.16.0.tar.xz";
-    sha256 = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331";
+    name = "cairo-1.17.4.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/cairo-1.17.4.tar.xz";
+    sha256 = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705";
     md5 = "";
-    md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
+    md5name = "74b24c1ed436bbe87499179a3b27c43f4143b8676d8ad237a6fa787401959705-cairo-1.17.4.tar.xz";
   }
   {
     name = "libcdr-0.1.7.tar.xz";
@@ -126,11 +126,11 @@
     md5name = "7e8d8ff34f27831aca3bc6f9cc532c2f90d2057c778963b884ff3d1e34dfe1f9-libe-book-0.1.3.tar.xz";
   }
   {
-    name = "libepoxy-1.5.3.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.3.tar.xz";
-    sha256 = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d";
+    name = "libepoxy-1.5.9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libepoxy-1.5.9.tar.xz";
+    sha256 = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4";
     md5 = "";
-    md5name = "002958c5528321edd53440235d3c44e71b5b1e09b9177e8daf677450b6c4433d-libepoxy-1.5.3.tar.xz";
+    md5name = "d168a19a6edfdd9977fef1308ccf516079856a4275cf876de688fb7927e365e4-libepoxy-1.5.9.tar.xz";
   }
   {
     name = "epm-3.7.tar.gz";
@@ -154,11 +154,11 @@
     md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
   }
   {
-    name = "expat-2.4.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
-    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
+    name = "expat-2.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
+    sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
     md5 = "";
-    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
+    md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
   }
   {
     name = "Firebird-3.0.7.33374-0.tar.bz2";
@@ -168,11 +168,11 @@
     md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
   }
   {
-    name = "fontconfig-2.13.91.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.91.tar.gz";
-    sha256 = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5";
+    name = "fontconfig-2.13.94.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/fontconfig-2.13.94.tar.xz";
+    sha256 = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c";
     md5 = "";
-    md5name = "19e5b1bc9d013a52063a44e1307629711f0bfef35b9aca16f9c793971e2eb1e5-fontconfig-2.13.91.tar.gz";
+    md5name = "a5f052cb73fd479ffb7b697980510903b563bbb55b8f7a2b001fcfb94026003c-fontconfig-2.13.94.tar.xz";
   }
   {
     name = "crosextrafonts-20130214.tar.gz";
@@ -315,25 +315,25 @@
     md5name = "0e422d1564a6dbf22a9af598535425271e583514c0f7ba7d9091676420de34ac-libfreehand-0.1.2.tar.xz";
   }
   {
-    name = "freetype-2.9.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/freetype-2.9.1.tar.bz2";
-    sha256 = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d";
+    name = "freetype-2.11.0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/freetype-2.11.0.tar.xz";
+    sha256 = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7";
     md5 = "";
-    md5name = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d-freetype-2.9.1.tar.bz2";
+    md5name = "8bee39bd3968c4804b70614a0a3ad597299ad0e824bc8aad5ce8aaf48067bde7-freetype-2.11.0.tar.xz";
   }
   {
-    name = "glm-0.9.9.7.zip";
-    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.7.zip";
-    sha256 = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95";
+    name = "glm-0.9.9.8.zip";
+    url = "https://dev-www.libreoffice.org/src/glm-0.9.9.8.zip";
+    sha256 = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad";
     md5 = "";
-    md5name = "c5e167c042afd2d7ad642ace6b643863baeb33880781983563e1ab68a30d3e95-glm-0.9.9.7.zip";
+    md5name = "6bba5f032bed47c73ad9397f2313b9acbfb56253d0d0576b5873d3dcb25e99ad-glm-0.9.9.8.zip";
   }
   {
-    name = "gpgme-1.13.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/gpgme-1.13.1.tar.bz2";
-    sha256 = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46";
+    name = "gpgme-1.16.0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/gpgme-1.16.0.tar.bz2";
+    sha256 = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0";
     md5 = "";
-    md5name = "c4e30b227682374c23cddc7fdb9324a99694d907e79242a25a4deeedb393be46-gpgme-1.13.1.tar.bz2";
+    md5name = "6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0-gpgme-1.16.0.tar.bz2";
   }
   {
     name = "graphite2-minimal-1.3.14.tgz";
@@ -343,11 +343,11 @@
     md5name = "b8e892d8627c41888ff121e921455b9e2d26836978f2359173d19825da62b8fc-graphite2-minimal-1.3.14.tgz";
   }
   {
-    name = "harfbuzz-2.6.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.6.0.tar.xz";
-    sha256 = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966";
+    name = "harfbuzz-2.8.2.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/harfbuzz-2.8.2.tar.xz";
+    sha256 = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7";
     md5 = "";
-    md5name = "9cf7d117548265f95ca884e2f4c9fafaf4e17d45a67b11107147b79eed76c966-harfbuzz-2.6.0.tar.xz";
+    md5name = "d58461395ce28b9dc03903254374dd70c38c8c28c5046db123c08f7ab9417be7-harfbuzz-2.8.2.tar.xz";
   }
   {
     name = "hsqldb_1_8_0.zip";
@@ -371,18 +371,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-69_1-src.tgz";
-    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz";
-    sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745";
+    name = "icu4c-70_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-70_1-src.tgz";
+    sha256 = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5";
     md5 = "";
-    md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz";
+    md5name = "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5-icu4c-70_1-src.tgz";
   }
   {
-    name = "icu4c-69_1-data.zip";
-    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip";
-    sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf";
+    name = "icu4c-70_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-70_1-data.zip";
+    sha256 = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e";
     md5 = "";
-    md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip";
+    md5name = "c72723ddba3300ffb231d6b09e2a728ea6e89de10ed5927f74bacbd77042336e-icu4c-70_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -462,18 +462,18 @@
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
-    name = "libjpeg-turbo-1.5.3.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.3.tar.gz";
-    sha256 = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523";
+    name = "libjpeg-turbo-2.1.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libjpeg-turbo-2.1.1.tar.gz";
+    sha256 = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4";
     md5 = "";
-    md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
+    md5name = "20e9cd3e5f517950dfb7a300ad344543d88719c254407ffb5ad88d891bf701c4-libjpeg-turbo-2.1.1.tar.gz";
   }
   {
-    name = "language-subtag-registry-2021-08-06.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-08-06.tar.bz2";
-    sha256 = "08452d3997c78e21f2d81e31409dc46557707be6dc1df3129674019659e5ff9b";
+    name = "language-subtag-registry-2021-12-29.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
+    sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
     md5 = "";
-    md5name = "08452d3997c78e21f2d81e31409dc46557707be6dc1df3129674019659e5ff9b-language-subtag-registry-2021-08-06.tar.bz2";
+    md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -483,18 +483,18 @@
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
-    name = "lcms2-2.11.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/lcms2-2.11.tar.gz";
-    sha256 = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e";
+    name = "lcms2-2.12.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/lcms2-2.12.tar.gz";
+    sha256 = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5";
     md5 = "";
-    md5name = "dc49b9c8e4d7cdff376040571a722902b682a795bf92985a85b48854c270772e-lcms2-2.11.tar.gz";
+    md5name = "18663985e864100455ac3e507625c438c3710354d85e5cbb7cd4043e11fe10f5-lcms2-2.12.tar.gz";
   }
   {
-    name = "libassuan-2.5.3.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.3.tar.bz2";
-    sha256 = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702";
+    name = "libassuan-2.5.5.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libassuan-2.5.5.tar.bz2";
+    sha256 = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4";
     md5 = "";
-    md5name = "91bcb0403866b4e7c4bc1cc52ed4c364a9b5414b3994f718c70303f7f765e702-libassuan-2.5.3.tar.bz2";
+    md5name = "8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4-libassuan-2.5.5.tar.bz2";
   }
   {
     name = "libatomic_ops-7.6.8.tar.gz";
@@ -511,11 +511,11 @@
     md5name = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a-libeot-0.01.tar.bz2";
   }
   {
-    name = "libexttextcat-3.4.5.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.5.tar.xz";
-    sha256 = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8";
+    name = "libexttextcat-3.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libexttextcat-3.4.6.tar.xz";
+    sha256 = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df";
     md5 = "";
-    md5name = "13fdbc9d4c489a4d0519e51933a1aa21fe3fb9eb7da191b87f7a63e82797dac8-libexttextcat-3.4.5.tar.xz";
+    md5name = "6d77eace20e9ea106c1330e268ede70c9a4a89744ddc25715682754eca3368df-libexttextcat-3.4.6.tar.xz";
   }
   {
     name = "libffi-3.3.tar.gz";
@@ -525,25 +525,25 @@
     md5name = "72fba7922703ddfa7a028d513ac15a85c8d54c8d67f55fa5a4802885dc652056-libffi-3.3.tar.gz";
   }
   {
-    name = "libgpg-error-1.37.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.37.tar.bz2";
-    sha256 = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763";
+    name = "libgpg-error-1.43.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/libgpg-error-1.43.tar.bz2";
+    sha256 = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf";
     md5 = "";
-    md5name = "b32d6ff72a73cf79797f7f2d039e95e9c6f92f0c1450215410840ab62aea9763-libgpg-error-1.37.tar.bz2";
+    md5name = "a9ab83ca7acc442a5bd846a75b920285ff79bdb4e3d34aa382be88ed2c3aebaf-libgpg-error-1.43.tar.bz2";
   }
   {
-    name = "liblangtag-0.6.2.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
-    sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
+    name = "liblangtag-0.6.3.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liblangtag-0.6.3.tar.bz2";
+    sha256 = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd";
     md5 = "";
-    md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
+    md5name = "1f12a20a02ec3a8d22e54dedb8b683a43c9c160bda1ba337bf1060607ae733bd-liblangtag-0.6.3.tar.bz2";
   }
   {
-    name = "libnumbertext-1.0.7.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.7.tar.xz";
-    sha256 = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc";
+    name = "libnumbertext-1.0.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.10.tar.xz";
+    sha256 = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb";
     md5 = "";
-    md5name = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc-libnumbertext-1.0.7.tar.xz";
+    md5name = "a285573864eaac8d36a0f66d946e9b1d3cf01c5d93d31fda00264a76f2633beb-libnumbertext-1.0.10.tar.xz";
   }
   {
     name = "ltm-1.0.zip";
@@ -553,25 +553,25 @@
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.32.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz";
-    sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043";
+    name = "xmlsec1-1.2.33.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.33.tar.gz";
+    sha256 = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931";
     md5 = "";
-    md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz";
+    md5name = "26041d35a20a245ed5a2fb9ee075f10825664d274220cb5190340fa87a4d0931-xmlsec1-1.2.33.tar.gz";
   }
   {
-    name = "libxml2-2.9.12.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
-    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
+    name = "libxml2-2.9.13.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
+    sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
     md5 = "";
-    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
+    md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
   }
   {
-    name = "libxslt-1.1.34.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
-    sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
+    name = "libxslt-1.1.35.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
+    sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
     md5 = "";
-    md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
+    md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
@@ -595,11 +595,11 @@
     md5name = "431434d3926f4bcce2e5c97240609983f60d7ff50df5a72083934759bb863f7b-mariadb-connector-c-3.1.8-src.tar.gz";
   }
   {
-    name = "mdds-1.7.0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/mdds-1.7.0.tar.bz2";
-    sha256 = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf";
+    name = "mdds-2.0.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/mdds-2.0.1.tar.bz2";
+    sha256 = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6";
     md5 = "";
-    md5name = "a66a2a8293a3abc6cd9baff7c236156e2666935cbfb69a15d64d38141638fecf-mdds-1.7.0.tar.bz2";
+    md5name = "3ab33fce58e6acf9540cc1a52264be6863ef80f55ac287194cc98cda48e71fe6-mdds-2.0.1.tar.bz2";
   }
   {
     name = "mDNSResponder-878.200.35.tar.gz";
@@ -616,11 +616,11 @@
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.19.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz";
-    sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af";
+    name = "libmwaw-0.3.21.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.21.tar.xz";
+    sha256 = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c";
     md5 = "";
-    md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz";
+    md5name = "e8750123a78d61b943cef78b7736c8a7f20bb0a649aa112402124fba794fc21c-libmwaw-0.3.21.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
@@ -679,11 +679,11 @@
     md5name = "0b7a3e5e59c34827fe0c3a74b7ec8baef302b98fa80088d7f9153aa16fa76bd1-openssl-1.1.1l.tar.gz";
   }
   {
-    name = "liborcus-0.16.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/liborcus-0.16.1.tar.bz2";
-    sha256 = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4";
+    name = "liborcus-0.17.2.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/liborcus-0.17.2.tar.bz2";
+    sha256 = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143";
     md5 = "";
-    md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
+    md5name = "2a86c405a5929f749b27637509596421d46805753364ab258b035fd01fbde143-liborcus-0.17.2.tar.bz2";
   }
   {
     name = "libpagemaker-0.0.4.tar.xz";
@@ -693,18 +693,18 @@
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-4500.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2";
-    sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304";
+    name = "pdfium-4699.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4699.tar.bz2";
+    sha256 = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf";
     md5 = "";
-    md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2";
+    md5name = "ee80fe0a3b20ef5c5babc494cd655d1b1a0bdec710acb04524789df500c563bf-pdfium-4699.tar.bz2";
   }
   {
-    name = "pixman-0.34.0.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
-    sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
-    md5 = "e80ebae4da01e77f68744319f01d52a3";
-    md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
+    name = "pixman-0.40.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/pixman-0.40.0.tar.gz";
+    sha256 = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc";
+    md5 = "";
+    md5name = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc-pixman-0.40.0.tar.gz";
   }
   {
     name = "libpng-1.6.37.tar.xz";
@@ -791,11 +791,11 @@
     md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
   }
   {
-    name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
-    sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d";
+    name = "skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
+    sha256 = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177";
     md5 = "";
-    md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    md5name = "97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177-skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
@@ -861,11 +861,11 @@
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
-    name = "zlib-1.2.11.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
-    sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
+    name = "zlib-1.2.12.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/zlib-1.2.12.tar.xz";
+    sha256 = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18";
     md5 = "";
-    md5name = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066-zlib-1.2.11.tar.xz";
+    md5name = "7db46b8d7726232a621befaab4a1c870f00a90805511c0e0090441dac57def18-zlib-1.2.12.tar.xz";
   }
   {
     name = "libzmf-0.0.2.tar.xz";
@@ -875,10 +875,17 @@
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
   }
   {
-    name = "zxing-cpp-1.1.1.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz";
-    sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86";
+    name = "zxing-cpp-1.2.0.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.2.0.tar.gz";
+    sha256 = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a";
+    md5 = "";
+    md5name = "653d9e44195d86cf64a36af9ff3a1978ec5599df3882439fefa56e7064f55e8a-zxing-cpp-1.2.0.tar.gz";
+  }
+  {
+    name = "libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
+    sha256 = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e";
     md5 = "";
-    md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz";
+    md5name = "471dd83a813ed2816c2246c373004470ad0f6612c7ce72038929dc5161cdd58e-libcuckoo-93217f8d391718380c508a722ab9acd5e9081233.tar.gz";
   }
 ]
diff --git a/pkgs/applications/office/libreoffice/src-fresh/override.nix b/pkgs/applications/office/libreoffice/src-fresh/override.nix
index 1e0ee64bd1f82..ace442176dd91 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/override.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -3,9 +3,21 @@ attrs:
 {
   postConfigure = attrs.postConfigure + ''
     sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
+    sed -e '/CPPUNIT_ASSERT(!bRTL);/d' -i './vcl/qa/cppunit/text.cxx'
+
+    sed -e '/CPPUNIT_ASSERT_EQUAL(0, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(4, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(11, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(18, nMinRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+
+    sed -e '/CPPUNIT_ASSERT_EQUAL(3, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(9, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(17, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(22, nEndRunPos);/d' -i './vcl/qa/cppunit/text.cxx'
   '';
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
     "--without-system-zxing"
+    "--without-system-cuckoo"
   ];
 }
diff --git a/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 7d13558b93579..50b28e6cf6b57 100644
--- a/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -7,8 +7,8 @@ rec {
   };
 
   major = "7";
-  minor = "2";
-  patch = "5";
+  minor = "3";
+  patch = "3";
   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-Z8G/sFnUMyhrAlKpFWJ7M69ju19LbslQnRO53UdVEqc=";
+    sha256 = "sha256-7hK9vhYhwg4nRLxbbFlngQ8lpXYLmKxYEtVQqwCWhoU=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-9rnuRifsEX7RAUdsX6VVw/xQS6dZeS3RbKnoC39uMd8=";
+    sha256 = "sha256-uRsKSC+kLVnhYF85o5FxZuf/dr+o6bYtbu8KmwSzNRw=";
   };
 
   # 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-6vERLWh0fkQcSRkC37fw2HBqxVtbr9kPEhOyWXjMrfM=";
+    sha256 = "sha256-aIY07MuALBVklhJLOUwOxeIQWam2zQCVkw+edvnu/ps=";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/download.nix b/pkgs/applications/office/libreoffice/src-still/download.nix
index 57eebe6ec6dd7..dddb89671b0d7 100644
--- a/pkgs/applications/office/libreoffice/src-still/download.nix
+++ b/pkgs/applications/office/libreoffice/src-still/download.nix
@@ -7,13 +7,6 @@
     md5name = "e763a9dc21c3d2667402d66e202e3f8ef4db51b34b79ef41f56cacb86dcd6eed-libabw-0.1.3.tar.xz";
   }
   {
-    name = "commons-logging-1.2-src.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
-    sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
-    md5 = "";
-    md5name = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81-commons-logging-1.2-src.tar.gz";
-  }
-  {
     name = "apr-1.5.2.tar.gz";
     url = "https://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
     sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
@@ -28,11 +21,11 @@
     md5name = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_71_0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/boost_1_71_0.tar.xz";
-    sha256 = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543";
+    name = "boost_1_75_0.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/boost_1_75_0.tar.xz";
+    sha256 = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b";
     md5 = "";
-    md5name = "35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543-boost_1_71_0.tar.xz";
+    md5name = "cc378a036a1cfd3af289f3da24deeb8dba7a729f61ab104c7b018a622e22d21b-boost_1_75_0.tar.xz";
   }
   {
     name = "box2d-2.3.1.tar.gz";
@@ -42,11 +35,11 @@
     md5name = "58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c-box2d-2.3.1.tar.gz";
   }
   {
-    name = "breakpad.zip";
-    url = "https://dev-www.libreoffice.org/src/breakpad.zip";
-    sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
+    name = "breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
+    sha256 = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91";
     md5 = "";
-    md5name = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9-breakpad.zip";
+    md5name = "c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91-breakpad-b324760c7f53667af128a6b77b790323da04fcb9.tar.xz";
   }
   {
     name = "bsh-2.0b6-src.zip";
@@ -56,11 +49,11 @@
     md5name = "beeca87be45ec87d241ddd0e1bad80c1-bsh-2.0b6-src.zip";
   }
   {
-    name = "bzip2-1.0.6.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
-    sha256 = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd";
-    md5 = "00b516f4704d4a7cb50a1d97e6e8e15b";
-    md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
+    name = "bzip2-1.0.8.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/bzip2-1.0.8.tar.gz";
+    sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269";
+    md5 = "";
+    md5name = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269-bzip2-1.0.8.tar.gz";
   }
   {
     name = "cairo-1.16.0.tar.xz";
@@ -70,11 +63,11 @@
     md5name = "5e7b29b3f113ef870d1e3ecf8adf21f923396401604bda16d44be45e66052331-cairo-1.16.0.tar.xz";
   }
   {
-    name = "libcdr-0.1.6.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.6.tar.xz";
-    sha256 = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861";
+    name = "libcdr-0.1.7.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libcdr-0.1.7.tar.xz";
+    sha256 = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4";
     md5 = "";
-    md5name = "01cd00b04a030977e544433c2d127c997205332cd9b8e35ec0ee17110da7f861-libcdr-0.1.6.tar.xz";
+    md5name = "5666249d613466b9aa1e987ea4109c04365866e9277d80f6cd9663e86b8ecdd4-libcdr-0.1.7.tar.xz";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
@@ -119,11 +112,11 @@
     md5name = "1f467e5bb703f12cbbb09d5cf67ecf4a-converttexttonumber-1-5-0.oxt";
   }
   {
-    name = "curl-7.78.0.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/curl-7.78.0.tar.xz";
-    sha256 = "be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5";
+    name = "curl-7.79.1.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/curl-7.79.1.tar.xz";
+    sha256 = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689";
     md5 = "";
-    md5name = "be42766d5664a739c3974ee3dfbbcbe978a4ccb1fe628bb1d9b59ac79e445fb5-curl-7.78.0.tar.xz";
+    md5name = "0606f74b1182ab732a17c11613cbbaf7084f2e6cca432642d0e3ad7c224c3689-curl-7.79.1.tar.xz";
   }
   {
     name = "libe-book-0.1.3.tar.xz";
@@ -154,25 +147,25 @@
     md5name = "03e084b994cbeffc8c3dd13303b2cb805f44d8f2c3b79f7690d7e3fc7f6215ad-libepubgen-0.1.1.tar.xz";
   }
   {
-    name = "libetonyek-0.1.9.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.9.tar.xz";
-    sha256 = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a";
+    name = "libetonyek-0.1.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libetonyek-0.1.10.tar.xz";
+    sha256 = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a";
     md5 = "";
-    md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
+    md5name = "b430435a6e8487888b761dc848b7981626eb814884963ffe25eb26a139301e9a-libetonyek-0.1.10.tar.xz";
   }
   {
-    name = "expat-2.4.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
-    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
+    name = "expat-2.4.6.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.6.tar.xz";
+    sha256 = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b";
     md5 = "";
-    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
+    md5name = "de55794b7a9bc214852fdc075beaaecd854efe1361597e6268ee87946951289b-expat-2.4.6.tar.xz";
   }
   {
-    name = "Firebird-3.0.0.32483-0.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
-    sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
+    name = "Firebird-3.0.7.33374-0.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/Firebird-3.0.7.33374-0.tar.bz2";
+    sha256 = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76";
     md5 = "";
-    md5name = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860-Firebird-3.0.0.32483-0.tar.bz2";
+    md5name = "acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76-Firebird-3.0.7.33374-0.tar.bz2";
   }
   {
     name = "fontconfig-2.13.91.tar.gz";
@@ -217,11 +210,11 @@
     md5name = "8879d89b5ff7b506c9fc28efc31a5c0b954bbe9333e66e5283d27d20a8519ea3-liberation-narrow-fonts-ttf-1.07.6.tar.gz";
   }
   {
-    name = "liberation-fonts-ttf-2.00.4.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.00.4.tar.gz";
-    sha256 = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45";
+    name = "liberation-fonts-ttf-2.1.4.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/liberation-fonts-ttf-2.1.4.tar.gz";
+    sha256 = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef";
     md5 = "";
-    md5name = "c40e95fc5e0ecb73d4be565ae2afc1114e2bc7dc5253e00ee92d8fd6cc4adf45-liberation-fonts-ttf-2.00.4.tar.gz";
+    md5name = "26f85412dd0aa9d061504a1cc8aaf0aa12a70710e8d47d8b65a1251757c1a5ef-liberation-fonts-ttf-2.1.4.tar.gz";
   }
   {
     name = "LinLibertineG-20120116.zip";
@@ -266,11 +259,11 @@
     md5name = "29acc15a4c4d6b51201ba5d60f303dfbc2e5acbfdb70413c9ae1ed34fa259994-noto-fonts-20171024.tar.gz";
   }
   {
-    name = "culmus-0.131.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/culmus-0.131.tar.gz";
-    sha256 = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b";
+    name = "culmus-0.133.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/culmus-0.133.tar.gz";
+    sha256 = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05";
     md5 = "";
-    md5name = "dcf112cfcccb76328dcfc095f4d7c7f4d2f7e48d0eed5e78b100d1d77ce2ed1b-culmus-0.131.tar.gz";
+    md5name = "c0c6873742d07544f6bacf2ad52eb9cb392974d56427938dc1dfbc8399c64d05-culmus-0.133.tar.gz";
   }
   {
     name = "libre-hebrew-1.0.tar.gz";
@@ -378,18 +371,18 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-68_1-src.tgz";
-    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-src.tgz";
-    sha256 = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d";
+    name = "icu4c-69_1-src.tgz";
+    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-src.tgz";
+    sha256 = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745";
     md5 = "";
-    md5name = "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d-icu4c-68_1-src.tgz";
+    md5name = "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745-icu4c-69_1-src.tgz";
   }
   {
-    name = "icu4c-68_1-data.zip";
-    url = "https://dev-www.libreoffice.org/src/icu4c-68_1-data.zip";
-    sha256 = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510";
+    name = "icu4c-69_1-data.zip";
+    url = "https://dev-www.libreoffice.org/src/icu4c-69_1-data.zip";
+    sha256 = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf";
     md5 = "";
-    md5name = "03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510-icu4c-68_1-data.zip";
+    md5name = "4fc2d8cfc3343673123586fca3967404abd4e346fba5515829204533b3bae4bf-icu4c-69_1-data.zip";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -476,11 +469,11 @@
     md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
   }
   {
-    name = "language-subtag-registry-2021-03-05.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-03-05.tar.bz2";
-    sha256 = "ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a";
+    name = "language-subtag-registry-2021-12-29.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2021-12-29.tar.bz2";
+    sha256 = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837";
     md5 = "";
-    md5name = "ce80e8face06bf2ada363e0c159e3f990c4116fdae9232ca43e6369aa82bf16a-language-subtag-registry-2021-03-05.tar.bz2";
+    md5name = "d9dcf20be5ad4856daef023087421bedc1477f9b4247fc8ea53bb32e07c97837-language-subtag-registry-2021-12-29.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -560,25 +553,25 @@
     md5name = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.30.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.30.tar.gz";
-    sha256 = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8";
+    name = "xmlsec1-1.2.32.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/xmlsec1-1.2.32.tar.gz";
+    sha256 = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043";
     md5 = "";
-    md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
+    md5name = "e383702853236004e5b08e424b8afe9b53fe9f31aaa7a5382f39d9533eb7c043-xmlsec1-1.2.32.tar.gz";
   }
   {
-    name = "libxml2-2.9.12.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
-    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
+    name = "libxml2-2.9.13.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.13.tar.xz";
+    sha256 = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e";
     md5 = "";
-    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
+    md5name = "276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e-libxml2-2.9.13.tar.xz";
   }
   {
-    name = "libxslt-1.1.34.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.34.tar.gz";
-    sha256 = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f";
+    name = "libxslt-1.1.35.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libxslt-1.1.35.tar.xz";
+    sha256 = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79";
     md5 = "";
-    md5name = "98b1bd46d6792925ad2dfe9a87452ea2adebf69dcb9919ffd55bf926a7f93f7f-libxslt-1.1.34.tar.gz";
+    md5name = "8247f33e9a872c6ac859aa45018bc4c4d00b97e2feac9eebc10c93ce1f34dd79-libxslt-1.1.35.tar.xz";
   }
   {
     name = "lp_solve_5.5.tar.gz";
@@ -623,11 +616,11 @@
     md5name = "ef36c1a1aabb2ba3b0bedaaafe717bf4480be2ba8de6f3894be5fd3702b013ba-libmspub-0.1.4.tar.xz";
   }
   {
-    name = "libmwaw-0.3.17.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.17.tar.xz";
-    sha256 = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c";
+    name = "libmwaw-0.3.19.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libmwaw-0.3.19.tar.xz";
+    sha256 = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af";
     md5 = "";
-    md5name = "8e1537eb1de1b4714f4bf0a20478f342c5d71a65bf99307a694b1e9e30bb911c-libmwaw-0.3.17.tar.xz";
+    md5name = "b272e234eefc828c4bb8344af0f047a62e070f530e9e2fba11b04c8db8eda5af-libmwaw-0.3.19.tar.xz";
   }
   {
     name = "mythes-1.2.4.tar.gz";
@@ -651,11 +644,11 @@
     md5name = "07a9e5b70f121a62706140d4cacc3006d3efb869da40f3a2bf7a65d37847f4d9-nss-3.73-with-nspr-4.32.tar.gz";
   }
   {
-    name = "libodfgen-0.1.6.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
-    sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
+    name = "libodfgen-0.1.8.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libodfgen-0.1.8.tar.xz";
+    sha256 = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625";
     md5 = "";
-    md5name = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2-libodfgen-0.1.6.tar.bz2";
+    md5name = "55200027fd46623b9bdddd38d275e7452d1b0ff8aeddcad6f9ae6dc25f610625-libodfgen-0.1.8.tar.xz";
   }
   {
     name = "odfvalidator-0.9.0-RC2-SNAPSHOT-jar-with-dependencies-2726ab578664434a545f8379a01a9faffac0ae73.jar";
@@ -672,11 +665,11 @@
     md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
   }
   {
-    name = "openldap-2.4.45.tgz";
-    url = "https://dev-www.libreoffice.org/src/openldap-2.4.45.tgz";
-    sha256 = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824";
+    name = "openldap-2.4.59.tgz";
+    url = "https://dev-www.libreoffice.org/src/openldap-2.4.59.tgz";
+    sha256 = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34";
     md5 = "";
-    md5name = "cdd6cffdebcd95161a73305ec13fc7a78e9707b46ca9f84fb897cd5626df3824-openldap-2.4.45.tgz";
+    md5name = "99f37d6747d88206c470067eda624d5e48c1011e943ec0ab217bae8712e22f34-openldap-2.4.59.tgz";
   }
   {
     name = "openssl-1.1.1l.tar.gz";
@@ -693,13 +686,6 @@
     md5name = "c700d1325f744104d9fca0d5a019434901e9d51a16eedfb05792f90a298587a4-liborcus-0.16.1.tar.bz2";
   }
   {
-    name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-    sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
-    md5 = "";
-    md5name = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
-  }
-  {
     name = "libpagemaker-0.0.4.tar.xz";
     url = "https://dev-www.libreoffice.org/src/libpagemaker-0.0.4.tar.xz";
     sha256 = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d";
@@ -707,11 +693,11 @@
     md5name = "66adacd705a7d19895e08eac46d1e851332adf2e736c566bef1164e7a442519d-libpagemaker-0.0.4.tar.xz";
   }
   {
-    name = "pdfium-4306.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/pdfium-4306.tar.bz2";
-    sha256 = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8";
+    name = "pdfium-4500.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/pdfium-4500.tar.bz2";
+    sha256 = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304";
     md5 = "";
-    md5name = "eca406d47ac7e2a84dcc86f93c08f96e591d409589e881477fa75e488e4851d8-pdfium-4306.tar.bz2";
+    md5name = "26a03dd60e5ed0979cdaba9cc848242895110ddfdf347d40989ce2f14020f304-pdfium-4500.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
@@ -728,32 +714,32 @@
     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 = "postgresql-13.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/postgresql-13.1.tar.bz2";
-    sha256 = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f";
+    name = "poppler-data-0.4.10.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/poppler-data-0.4.10.tar.gz";
+    sha256 = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30";
     md5 = "";
-    md5name = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f-postgresql-13.1.tar.bz2";
+    md5name = "6e2fcef66ec8c44625f94292ccf8af9f1d918b410d5aa69c274ce67387967b30-poppler-data-0.4.10.tar.gz";
   }
   {
-    name = "Python-3.8.8rc1.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/Python-3.8.8rc1.tar.xz";
-    sha256 = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6";
+    name = "postgresql-13.5.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/postgresql-13.5.tar.bz2";
+    sha256 = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3";
     md5 = "";
-    md5name = "bd746ed1ad9ccfa9b2a8d13736a5c452025c3600913d000078e6ed1df3d767b6-Python-3.8.8rc1.tar.xz";
+    md5name = "9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3-postgresql-13.5.tar.bz2";
   }
   {
-    name = "QR-Code-generator-1.4.0.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/QR-Code-generator-1.4.0.tar.gz";
-    sha256 = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a";
+    name = "Python-3.8.10.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/Python-3.8.10.tar.xz";
+    sha256 = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9";
     md5 = "";
-    md5name = "fcdf9fd69fde07ae4dca2351d84271a9de8093002f733b77c70f52f1630f6e4a-QR-Code-generator-1.4.0.tar.gz";
+    md5name = "6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9-Python-3.8.10.tar.xz";
   }
   {
     name = "libqxp-0.0.2.tar.xz";
@@ -798,18 +784,18 @@
     md5name = "798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip";
   }
   {
-    name = "serf-1.2.1.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
-    sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
+    name = "serf-1.3.9.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/serf-1.3.9.tar.bz2";
+    sha256 = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc";
     md5 = "";
-    md5name = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700-serf-1.2.1.tar.bz2";
+    md5name = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf7a87cc-serf-1.3.9.tar.bz2";
   }
   {
-    name = "skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
-    url = "https://dev-www.libreoffice.org/src/skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
-    sha256 = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301";
+    name = "skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
+    sha256 = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d";
     md5 = "";
-    md5name = "f293656a15342a53bb407b932fc907c6894178a162f09728bd383e24d84b1301-skia-m88-59bafeeaa7de9eb753e3778c414e01dcf013dcd8.tar.xz";
+    md5name = "abe0b94d54edb717c58d74263f4ed3d27824d2ce9e9f2ce85a21ab38d993f94d-skia-m90-45c57e116ee0ce214bdf78405a4762722e4507d9.tar.xz";
   }
   {
     name = "libstaroffice-0.0.7.tar.xz";
@@ -888,4 +874,11 @@
     md5 = "";
     md5name = "27051a30cb057fdb5d5de65a1f165c7153dc76e27fe62251cbb86639eb2caf22-libzmf-0.0.2.tar.xz";
   }
+  {
+    name = "zxing-cpp-1.1.1.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/zxing-cpp-1.1.1.tar.gz";
+    sha256 = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86";
+    md5 = "";
+    md5name = "e595b3fa2ec320beb0b28f6af56b1141853257c2611686685639cebb3b248c86-zxing-cpp-1.1.1.tar.gz";
+  }
 ]
diff --git a/pkgs/applications/office/libreoffice/src-still/override.nix b/pkgs/applications/office/libreoffice/src-still/override.nix
index 186f4b17d6aaa..75fb085b9c91c 100644
--- a/pkgs/applications/office/libreoffice/src-still/override.nix
+++ b/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -3,11 +3,46 @@ attrs:
 {
   postConfigure = attrs.postConfigure + ''
     sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/inc/swmodeltestbase.hxx'
+    sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
+    sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
+    sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
+    sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
+    sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
+    sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
   '';
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
-    "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
-    "--without-system-qrcodegen"
+    "--without-system-zxing"
   ];
-  patches = attrs.patches or [] ++ [ ../xdg-open-brief.patch ]; # drop this when switching to 7.2
+
+  patches = attrs.patches or [];
 }
diff --git a/pkgs/applications/office/libreoffice/src-still/primary.nix b/pkgs/applications/office/libreoffice/src-still/primary.nix
index 83179f2a136af..52226fdc2d931 100644
--- a/pkgs/applications/office/libreoffice/src-still/primary.nix
+++ b/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -7,9 +7,9 @@ rec {
   };
 
   major = "7";
-  minor = "1";
-  patch = "8";
-  tweak = "1";
+  minor = "2";
+  patch = "6";
+  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-TGcR2/TSQJOjq7G1vXSa4MaEA6fG95rHVZfnjoiqeJM=";
+    sha256 = "sha256-SDdlqYuS2Q6MjHNeCNM8KjS1/h+8jn9rH5x0rRoUHjE=";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "sha256-jy5dUzKCEBYiTXh6dBwgdfW1Ok5l1iDGyL13icQHWEM=";
+    sha256 = "sha256-fUZflmrCi4mOa6iZTm+K9IvRTlSjcI4UJ4EoyK/HHck=";
   };
 
   # 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-tr2hmCeRRyft03Nfk8afSaurCV6DJSYuxKo4GPK/It4=";
+    sha256 = "sha256-TjAgz7yV7y5VNrEuT2eElkNGZzh6J58T1TC3u2Ap2o4=";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/wrapper.nix b/pkgs/applications/office/libreoffice/wrapper.nix
index 08b01a4a051bd..fd9ef63dc73fd 100644
--- a/pkgs/applications/office/libreoffice/wrapper.nix
+++ b/pkgs/applications/office/libreoffice/wrapper.nix
@@ -1,19 +1,32 @@
-{ libreoffice, runCommand, dbus, bash }:
-let
-  jdk = libreoffice.jdk;
-in
-(runCommand libreoffice.name {
-  inherit dbus libreoffice jdk bash;
-} ''
+{ lib, runCommand
+, libreoffice, dbus, bash, substituteAll
+, dolphinTemplates ? true
+}:
+runCommand libreoffice.name {
+  inherit (libreoffice) jdk meta;
+  inherit dbus libreoffice bash;
+} (''
   mkdir -p "$out/bin"
-  ln -s "${libreoffice}/share" "$out/share"
   substituteAll "${./wrapper.sh}" "$out/bin/soffice"
   chmod a+x "$out/bin/soffice"
 
   for i in $(ls "${libreoffice}/bin/"); do
     test "$i" = "soffice" || ln -s soffice "$out/bin/$(basename "$i")"
   done
-'') // {
-  inherit libreoffice dbus;
-  meta = libreoffice.meta;
-}
+
+  mkdir -p "$out/share"
+  ln -s "${libreoffice}/share"/* $out/share
+'' + lib.optionalString dolphinTemplates ''
+  # Add templates to dolphin "Create new" menu - taken from debian
+
+  # We need to unpack the core source since the necessary files aren't available in the libreoffice output
+  unpackFile "${libreoffice.src}"
+
+  install -D "${libreoffice.name}"/extras/source/shellnew/soffice.* --target-directory="$out/share/templates/.source"
+
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Writer";  ext="odt"; type="text";        }} $out/share/templates/soffice.odt.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Calc";    ext="ods"; type="spreadsheet"; }} $out/share/templates/soffice.ods.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Impress"; ext="odp"; type="presentation";}} $out/share/templates/soffice.odp.desktop
+  cp ${substituteAll {src = ./soffice-template.desktop; app="Draw";    ext="odg"; type="drawing";     }} $out/share/templates/soffice.odg.desktop
+'')
+
diff --git a/pkgs/applications/office/libreoffice/xdg-open-brief.patch b/pkgs/applications/office/libreoffice/xdg-open-brief.patch
deleted file mode 100644
index 0a2f02e71fedc..0000000000000
--- a/pkgs/applications/office/libreoffice/xdg-open-brief.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh
-index 4519e01f26e2..8985711a2c01 100755
---- a/shell/source/unix/misc/senddoc.sh
-+++ b/shell/source/unix/misc/senddoc.sh
-@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in
-             MAILER=/usr/bin/kde-open
-         elif [ -x /usr/bin/xdg-open ] ; then
-             MAILER=/usr/bin/xdg-open
-+        elif type -p xdg-open >/dev/null 2>&1 ; then
-+            MAILER="$(type -p xdg-open)"
-         else
-             echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
-             exit 2
diff --git a/pkgs/applications/office/paperless-ngx/default.nix b/pkgs/applications/office/paperless-ngx/default.nix
index ec83da852aba4..17a1a56b769ae 100644
--- a/pkgs/applications/office/paperless-ngx/default.nix
+++ b/pkgs/applications/office/paperless-ngx/default.nix
@@ -106,7 +106,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     python-dotenv
     python-gnupg
     python-Levenshtein
-    python_magic
+    python-magic
     pytz
     pyyaml
     redis
@@ -122,7 +122,7 @@ py.pkgs.pythonPackages.buildPythonApplication rec {
     threadpoolctl
     tika
     tqdm
-    twisted.extras.tls
+    twisted.extras-require.tls
     txaio
     tzlocal
     urllib3
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 5e1545109409a..653e72a163eb3 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.57.1";
+  version = "0.57.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-uEEFkHyApf+TObcu+Yo5vBOs2Erq0IXGhbjzlEe8NmI=";
+    sha256 = "sha256-ftLKlNzr46iL/V+P3J1wtoUByGHHl7wrh4xctU4JYkM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 8617d62335602..3fd9c3410693a 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "22.4.1";
+  version = "22.5.0";
 
   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 = "b9ce77ecd5bb48bd6534068b0582dfaa3b828f800b19ddec80387a84e00766da";
+    sha256 = "52a81401a4a03c77e28f37f56c3ebdc6696ff43c75cc9330d10ba7e801f48ccd";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index 754c9ba03d4eb..d3f706bbf0549 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -84,6 +84,11 @@ mkDerivation rec {
       url = "https://github.com/scribusproject/scribus/commit/48263954a7dee0be815b00f417ae365ab26cdd85.patch";
       sha256 = "1WE9kALFw79bQH88NUafXaZ1Y/vJEKTIWxlk5c+opsQ=";
     })
+    # For Poppler 22.04
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/f2237b8f0b5cf7690e864a22ef7a63a6d769fa36.patch";
+      sha256 = "FXpLoX/a2Jy3GcfzrUUyVUfEAp5wAy2UfzfVA5lhwJw=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/shelf/default.nix b/pkgs/applications/office/shelf/default.nix
new file mode 100644
index 0000000000000..7ad3b915188c1
--- /dev/null
+++ b/pkgs/applications/office/shelf/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+, poppler
+}:
+
+mkDerivation rec {
+  pname = "shelf";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "shelf";
+    rev = "v${version}";
+    sha256 = "sha256-0a5UHrYrkLR35cezjin+K9cTk3+aLeUAkvBbmKMK61w=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+    poppler
+  ];
+
+  meta = with lib; {
+    description = "Document and EBook collection manager";
+    homepage = "https://invent.kde.org/maui/shelf";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/office/teapot/default.nix b/pkgs/applications/office/teapot/default.nix
index 62a48cebf19b2..d2d44511bc63f 100644
--- a/pkgs/applications/office/teapot/default.nix
+++ b/pkgs/applications/office/teapot/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchzip
+, fetchFromGitHub
 , cmake
 , libtirpc
 , ncurses
@@ -10,12 +10,18 @@ stdenv.mkDerivation rec {
   pname = "teapot";
   version = "2.3.0";
 
-  src = fetchzip {
+  src = fetchFromGitHub {
     name = "${pname}-${version}";
-    url = "https://www.syntax-k.de/projekte/teapot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-wzAwZwOMeTsuR5LhfjspGdejT6X1V8YJ8B7v9pcbxaY=";
+    owner = "museoa";
+    repo = pname;
+    rev = version;
+    hash = "sha256-38XFjRzOGasr030f+mRYT+ptlabpnVJfa+1s7ZAjS+k=";
   };
 
+  prePatch = ''
+    cd src
+  '';
+
   patches = [
     # include a local file in order to make cc happy
     ./001-fix-warning.patch
@@ -41,8 +47,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://www.syntax-k.de/projekte/teapot/";
-    description = "Table Editor And Planner, Or: Teapot!";
+    inherit (src.meta) homepage;
+    description = "Table Editor And Planner, Or: Teapot";
     longDescription = ''
       Teapot is a compact spreadsheet software originally written by Michael
       Haardt. It features a (n)curses-based text terminal interface, and
@@ -70,4 +76,4 @@ stdenv.mkDerivation rec {
   };
 }
 # TODO: patch/fix FLTK building
-# TODO: add documentation from
+# TODO: add documentation
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index 477ae48b5f4bf..aa591c225ad06 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -7,35 +7,30 @@
 }:
 
 let
-  version = "3.9.1";
+  version = "4.8.0";
   pname = "timeular";
-  name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/timeular-desktop-packages/linux/production/Timeular-${version}.AppImage";
-    sha256 = "103hy443p697jdkz6li8s1n6kg1r55jmiw2vbjz12kskf7njg4y4";
+    sha256 = "sha256:0y2asw3jf2n4c7y0yr669jfqw4frp5nzzv3lffimfdr78gihma66";
   };
 
   appimageContents = appimageTools.extractType2 {
-    inherit name src;
+    inherit pname version src;
   };
 in appimageTools.wrapType2 rec {
-  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
-  '';
+  inherit pname version src;
 
   extraPkgs = pkgs: with pkgs; [
     libsecret
   ];
 
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
+    mv $out/bin/{${pname}-${version},${pname}}
     install -m 444 -D ${appimageContents}/timeular.desktop $out/share/applications/timeular.desktop
     install -m 444 -D ${appimageContents}/timeular.png $out/share/icons/hicolor/512x512/apps/timeular.png
     substituteInPlace $out/share/applications/timeular.desktop \
-      --replace 'Exec=AppRun' 'Exec=${pname}'
+      --replace "Exec=AppRun --no-sandbox %U" "Exec=$out/bin/${pname}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
index 0e06cf2f65a1c..fbeea83996278 100644
--- a/pkgs/applications/office/todo.txt-cli/default.nix
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -23,6 +23,7 @@ in stdenv.mkDerivation {
     description = "Simple plaintext todo list manager";
     homepage = "http://todotxt.com";
     license = lib.licenses.gpl3;
+    mainProgram = "todo.sh";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 7190fe90040d2..9e2752e163f05 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.50.3";
+  version = "0.51.2";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "sha256-0N2+NcdZGxaj4LcG5edyd3ry+0dSQSfUQRqZEYFfWqQ=";
+    sha256 = "17bqcnpvflpi5dlz9m294diwd6as5wha5jcv9a3qvhh4pq0nyr4z";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "sha256-za32yRhusReoGIRdbfx30CPH63BVXz2Z7jkhxtb7XSo=";
+    sha256 = "0jjvg75a4va5d81x8dvpzmzax7p0bqd7psv0alkkl13m91gai6ig";
   };
 
 in {
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index 5bfc8ebc97039..f23e88a323c23 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -21,7 +21,8 @@ let
   };
 
 in appimageTools.wrapType2 rec {
-  name = "${pname}-v${version}";
+  inherit pname version;
+
   src = fetchurl {
     url = "https://github.com/klaussinani/tusk/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
     sha256 = "02q7wsnhlyq8z74avflrm7805ny8fzlmsmz4bmafp4b4pghjh5ky";
@@ -36,7 +37,7 @@ in appimageTools.wrapType2 rec {
   multiPkgs = null; # no 32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
   extraInstallCommands = ''
-    mv $out/bin/{${name},${pname}}
+    mv $out/bin/{${pname}-${version},${pname}}
     mkdir "$out/share"
     ln -s "${desktopItem}/share/applications" "$out/share/"
   '';
diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix
index 5df1d93f9c829..4c0bcfb4ed38e 100644
--- a/pkgs/applications/printing/pappl/default.nix
+++ b/pkgs/applications/printing/pappl/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub
+, fetchpatch
 , avahi
 , cups
 , gnutls
@@ -21,6 +22,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-FsmR0fFb9bU9G3oUyJU1eDLcoZ6OQ2//TINlPrW6lU0=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "file-offset-bits-64-linux.patch";
+      url = "https://github.com/michaelrsweet/pappl/commit/7ec4ce4331b6637c54a37943269e05d15ff6dd47.patch";
+      sha256 = "sha256-x5lriopWw6Mn2qjv19flsleEzPMHU4jYWRy0y6hTL5k=";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/flex-ndax/default.nix b/pkgs/applications/radio/flex-ndax/default.nix
index 8be72ef3d6b50..9e29249c06591 100644
--- a/pkgs/applications/radio/flex-ndax/default.nix
+++ b/pkgs/applications/radio/flex-ndax/default.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoModule, fetchFromGitHub, pulseaudio }:
+{ lib, buildGoModule, fetchFromGitHub, libpulseaudio }:
 
 buildGoModule rec {
   pname = "flex-ndax";
-  version = "0.2-20211111.0";
+  version = "0.2-20220427";
 
   src = fetchFromGitHub {
     owner = "kc2g-flex-tools";
     repo = "nDAX";
     rev = "v${version}";
-    sha256 = "0m2hphj0qvgq25pfm3s76naf672ll43jv7gll8cfs7276ckg1904";
+    hash = "sha256-KmvTLfGC6xzXcWYAzmBYiYSF65lqMdsdMQjUEk3siqc=";
   };
 
-  buildInputs = [ pulseaudio ];
+  buildInputs = [ libpulseaudio ];
 
-  vendorSha256 = "1bf0iidb8ggzahy3fvxispf3g940mv6vj9wqd8i3rldc6ca2i3pf";
+  vendorSha256 = "sha256-u/5LiVo/ZOefprEKr/L1+3+OfYb0a4wq+CWoUjYNvzg=";
 
   meta = with lib; {
     homepage = "https://github.com/kc2g-flex-tools/nDAX";
diff --git a/pkgs/applications/radio/gnss-sdr/default.nix b/pkgs/applications/radio/gnss-sdr/default.nix
index f6e834d53fb3e..6aac0112f9614 100644
--- a/pkgs/applications/radio/gnss-sdr/default.nix
+++ b/pkgs/applications/radio/gnss-sdr/default.nix
@@ -21,13 +21,13 @@
 
 gnuradio.pkgs.mkDerivation rec {
   pname = "gnss-sdr";
-  version = "0.0.16";
+  version = "0.0.17";
 
   src = fetchFromGitHub {
     owner = "gnss-sdr";
     repo = "gnss-sdr";
     rev = "v${version}";
-    sha256 = "sha256-ODe4k6PDGtDX11FrbggEbN3tc4UtATaItUIpCKl4JjM=";
+    sha256 = "sha256-0aAjkrVAswoRL/KANBSZ5Jq4Y9VwOHZKUKLpXDdKtk8=";
   };
 
   patches = [
@@ -35,11 +35,6 @@ gnuradio.pkgs.mkDerivation rec {
     # cpu_features which is bundled in the source. NOTE: Perhaps this patch
     # should be sent upstream.
     ./fix_libcpu_features_install_path.patch
-    # Fixes a compilation issue, should be removed on next release.
-    (fetchpatch {
-      url = "https://github.com/gnss-sdr/gnss-sdr/commit/8a42967c854e575f2dd9ee7ca81a2522eebb864b.patch";
-      sha256 = "sha256-W8BwC08QVtW0LUj5Q+j28aYG+713s+vQIzsWyrNUs1Q=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
index cfeb0bd416b40..46925e741a1c2 100644
--- a/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
+++ b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
@@ -1,6 +1,6 @@
---- 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 @@
+--- i/CMakeLists.txt
++++ w/CMakeLists.txt
+@@ -1210,7 +1210,7 @@ if(NOT VOLKGNSSSDR_FOUND)
              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>
@@ -9,16 +9,16 @@
              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}
-                 )
+@@ -1248,7 +1248,7 @@ if(NOT VOLKGNSSSDR_FOUND)
+                     )
+                     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()
              endif()
-             ExternalProject_Add(volk_gnsssdr_module
-@@ -1256,7 +1256,7 @@
+@@ -1261,7 +1261,7 @@ if(NOT VOLKGNSSSDR_FOUND)
                  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>
@@ -27,7 +27,7 @@
                  DOWNLOAD_COMMAND ""
                  UPDATE_COMMAND ""
                  PATCH_COMMAND ""
-@@ -1271,7 +1271,7 @@
+@@ -1280,7 +1280,7 @@ if(NOT VOLKGNSSSDR_FOUND)
                  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>
@@ -36,9 +36,9 @@
                  DOWNLOAD_COMMAND ""
                  UPDATE_COMMAND ""
                  PATCH_COMMAND ""
-@@ -1310,7 +1310,7 @@
+@@ -1319,7 +1319,7 @@ if(NOT VOLKGNSSSDR_FOUND)
          if(CMAKE_VERSION VERSION_GREATER 3.0 AND SUPPORTED_CPU_FEATURES_ARCH)
-             if(NOT CpuFeatures_FOUND)
+             if(NOT CPUFEATURES_FOUND AND ENABLE_CPUFEATURES)
                  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}
diff --git a/pkgs/applications/radio/kalibrate-rtl/default.nix b/pkgs/applications/radio/kalibrate-rtl/default.nix
index eb5937bbc3c3b..b463faa4a255d 100644
--- a/pkgs/applications/radio/kalibrate-rtl/default.nix
+++ b/pkgs/applications/radio/kalibrate-rtl/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation {
     '';
     homepage = "https://github.com/steve-m/kalibrate-rtl";
     license = licenses.bsd2;
-    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ bjornfor viraptor ];
+    mainProgram = "kal";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/radio/rtl_433/default.nix b/pkgs/applications/radio/rtl_433/default.nix
index 54dfe21ce04e6..e04a8a907d191 100644
--- a/pkgs/applications/radio/rtl_433/default.nix
+++ b/pkgs/applications/radio/rtl_433/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, fetchpatch
 , libusb1, rtl-sdr, soapysdr-with-plugins
 }:
 
@@ -13,6 +13,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-KoDKyI7KDdGSe79ZTuL9ObKnOJsqTN4wrMq+/cvQ/Xk=";
   };
 
+  patches = [( fetchpatch {
+    name = "CVE-2022-27419";
+    url = "https://github.com/merbanan/rtl_433/commit/37455483889bd1c641bdaafc493d1cc236b74904.patch";
+    sha256 = "172jndh8x5nlcbx2jp5y8fgfxsawwfz95037pcjp170gf93ijy88";
+  })];
+
   nativeBuildInputs = [ pkg-config cmake ];
 
   buildInputs = [ libusb1 rtl-sdr soapysdr-with-plugins ];
@@ -23,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "Decode traffic from devices that broadcast on 433.9 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz";
     homepage = "https://github.com/merbanan/rtl_433";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ earldouglas ];
+    maintainers = with maintainers; [ earldouglas markuskowa ];
     platforms = platforms.all;
   };
 
diff --git a/pkgs/applications/radio/soapysdr/default.nix b/pkgs/applications/radio/soapysdr/default.nix
index 79dcab19acb42..1e5052d4f9bed 100644
--- a/pkgs/applications/radio/soapysdr/default.nix
+++ b/pkgs/applications/radio/soapysdr/default.nix
@@ -42,7 +42,7 @@ in stdenv.mkDerivation {
     done
     # Needed for at least the remote plugin server
     for file in $out/bin/*; do
-        wrapProgram "$file" --prefix SOAPY_SDR_PLUGIN_PATH : ${extraPackagesSearchPath}
+        wrapProgram "$file" --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.escapeShellArg extraPackagesSearchPath}
     done
   '';
 
@@ -51,6 +51,7 @@ in stdenv.mkDerivation {
     description = "Vendor and platform neutral SDR support library";
     license = licenses.boost;
     maintainers = with maintainers; [ markuskowa ];
+    mainProgram = "SoapySDRUtil";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/biology/bayescan/default.nix b/pkgs/applications/science/biology/bayescan/default.nix
index 656e59a55ba53..cd5bb3210364e 100644
--- a/pkgs/applications/science/biology/bayescan/default.nix
+++ b/pkgs/applications/science/biology/bayescan/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     cp -r ../*pdf ../input_examples ../"R functions" $out/share/doc/bayescan
   '';
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   meta = with lib; {
     description = "Detecting natural selection from population-based genetic data";
     homepage = "http://cmpg.unibe.ch/software/BayeScan";
diff --git a/pkgs/applications/science/biology/bowtie/default.nix b/pkgs/applications/science/biology/bowtie/default.nix
index 81cdaecf2c1cd..ccb797d8a227e 100644
--- a/pkgs/applications/science/biology/bowtie/default.nix
+++ b/pkgs/applications/science/biology/bowtie/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "bowtie";
@@ -11,6 +11,26 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-mWItmrTMPst/NnzSpxxTHcBztDqHPCza9yOsZPwp7G4=";
   };
 
+  patches = [
+    # Without this patch, compiling with clang on an M1 Mac fails because
+    # 'cpuid.h' is included. It only works on x86 and throws an error.
+    (fetchpatch {
+      name = "fix_compilation_on_arm64";
+      url = "https://github.com/BenLangmead/bowtie/commit/091d72f4cb69ca0713704d38bd7f9b37e6c4ff2d.patch";
+      sha256 = "sha256-XBvgICUBnE5HKpJ36IHTDiKjJgLFKETsIaJC46uN+2I=";
+    })
+
+    # Without this patch, compilation adds the current source directory to the
+    # include search path, and #include <version> in standard library code can
+    # end up picking the unrelated VERSION source code file on case-insensitive
+    # file systems.
+    (fetchpatch {
+      name = "fix_include_search_path";
+      url = "https://github.com/BenLangmead/bowtie/commit/c208b9db936eab0bc3ffdf0182b4f59a9017a1c4.patch";
+      sha256 = "sha256-772EE+oWFWXssSMabPryb0AfIS1tC10mPTRCBm7RrUs=";
+    })
+  ];
+
   buildInputs = [ zlib ];
 
   installFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/applications/science/biology/bwa/default.nix b/pkgs/applications/science/biology/bwa/default.nix
index a2a11b1d4517f..801ad00876bf5 100644
--- a/pkgs/applications/science/biology/bwa/default.nix
+++ b/pkgs/applications/science/biology/bwa/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, zlib }:
+{ lib, stdenv, fetchurl, fetchpatch, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "bwa";
@@ -9,6 +9,16 @@ stdenv.mkDerivation rec {
     sha256 = "1zfhv2zg9v1icdlq4p9ssc8k01mca5d1bd87w71py2swfi74s6yy";
   };
 
+  patches = [
+    # Pull upstream patch for -fno-common toolchain support like upstream
+    # gcc-10: https://github.com/lh3/bwa/pull/267
+    (fetchpatch {
+      name  = "fno-common.patch";
+      url = "https://github.com/lh3/bwa/commit/2a1ae7b6f34a96ea25be007ac9d91e57e9d32284.patch";
+      sha256 = "1lihfxai6vcshv5vr3m7yhk833bdivkja3gld6ilwrc4z28f6wqy";
+    })
+  ];
+
   buildInputs = [ zlib ];
 
   # Avoid hardcoding gcc to allow environments with a different
@@ -17,6 +27,8 @@ stdenv.mkDerivation rec {
     sed -i '/^CC/d' Makefile
   '';
 
+  makeFlags = lib.optional stdenv.hostPlatform.isStatic "AR=${stdenv.cc.targetPrefix}ar";
+
   # it's unclear which headers are intended to be part of the public interface
   # so we may find ourselves having to add more here over time
   installPhase = ''
diff --git a/pkgs/applications/science/biology/megahit/default.nix b/pkgs/applications/science/biology/megahit/default.nix
index ee2f16f389b25..45cb7560502dc 100644
--- a/pkgs/applications/science/biology/megahit/default.nix
+++ b/pkgs/applications/science/biology/megahit/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib ];
 
+  cmakeFlags = lib.optional stdenv.hostPlatform.isStatic [
+    "-DSTATIC_BUILD=ON"
+    ];
   meta = with lib; {
     description = "An ultra-fast single-node solution for large and complex metagenomics assembly via succinct de Bruijn graph";
     license     = licenses.gpl3;
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 98b0394c35f1f..ec61e0bd7ce43 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -22,8 +22,15 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib ncurses htslib ];
 
+  preConfigure = lib.optional stdenv.hostPlatform.isStatic ''
+    export LIBS="-lz -lbz2 -llzma"
+  '';
+  makeFlags = lib.optional stdenv.hostPlatform.isStatic "AR=${stdenv.cc.targetPrefix}ar";
+
   configureFlags = [ "--with-htslib=${htslib}" ]
-    ++ lib.optional (ncurses == null) "--without-curses";
+    ++ lib.optional (ncurses == null) "--without-curses"
+    ++ lib.optional stdenv.hostPlatform.isStatic ["--without-curses" ]
+    ;
 
   preCheck = ''
     patchShebangs test/
diff --git a/pkgs/applications/science/chemistry/chemtool/default.nix b/pkgs/applications/science/chemistry/chemtool/default.nix
index bf78aeb825d5d..37057e1c604a4 100644
--- a/pkgs/applications/science/chemistry/chemtool/default.nix
+++ b/pkgs/applications/science/chemistry/chemtool/default.nix
@@ -24,6 +24,12 @@ stdenv.mkDerivation rec {
     fig2dev
   ];
 
+  # Workaround build on -fno-common toolchains like upstream gcc-10.
+  # Otherwise built fails as:
+  #   ld: inout.o:/build/chemtool-1.6.14/ct1.h:279: multiple definition of
+  #     `outtype'; draw.o:/build/chemtool-1.6.14/ct1.h:279: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   preFixup = ''
     gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ fig2dev ]}")
   '';
diff --git a/pkgs/applications/science/chemistry/gwyddion/default.nix b/pkgs/applications/science/chemistry/gwyddion/default.nix
index 584554232ab20..8ab389afaee52 100644
--- a/pkgs/applications/science/chemistry/gwyddion/default.nix
+++ b/pkgs/applications/science/chemistry/gwyddion/default.nix
@@ -1,36 +1,22 @@
 { lib, stdenv, fetchurl, gtk2, pkg-config, fftw, file,
-  pythonSupport ? false, pythonPackages ? null,
-  gnome2 ? null,
-  openexrSupport ? true, openexr ? null,
-  libzipSupport ? true, libzip ? null,
-  libxml2Support ? true, libxml2 ? null,
-  libwebpSupport ? true, libwebp ? null,
+  pythonSupport ? false, python2Packages,
+  gnome2,
+  openexrSupport ? true, openexr,
+  libzipSupport ? true, libzip,
+  libxml2Support ? true, libxml2,
+  libwebpSupport ? true, libwebp,
   # libXmu is not used if libunique is.
-  libXmuSupport ? false, xorg ? null,
-  libxsltSupport ? true, libxslt ? null,
-  fitsSupport ? true, cfitsio ? null,
-  zlibSupport ? true, zlib ? null,
-  libuniqueSupport ? true, libunique ? null,
-  libpngSupport ? true, libpng ? null,
+  libXmuSupport ? false, xorg,
+  libxsltSupport ? true, libxslt,
+  fitsSupport ? true, cfitsio,
+  zlibSupport ? true, zlib,
+  libuniqueSupport ? true, libunique,
+  libpngSupport ? true, libpng,
   openglSupport ? !stdenv.isDarwin
 }:
 
-assert openexrSupport -> openexr != null;
-assert libzipSupport -> libzip != null;
-assert libxml2Support -> libxml2 != null;
-assert libwebpSupport -> libwebp != null;
-assert libXmuSupport -> xorg != null;
-assert libxsltSupport -> libxslt != null;
-assert fitsSupport -> cfitsio != null;
-assert zlibSupport -> zlib != null;
-assert libuniqueSupport -> libunique != null;
-assert libpngSupport -> libpng != null;
-assert openglSupport -> gnome2 != null;
-assert pythonSupport -> (pythonPackages != null && gnome2 != null);
-
 let
-    inherit (pythonPackages) pygtk pygobject2 python;
-
+    inherit (python2Packages) pygtk pygobject2 python;
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix
index 03f7c6c2b40f1..fc5c18e4ccdff 100644
--- a/pkgs/applications/science/chemistry/molden/default.nix
+++ b/pkgs/applications/science/chemistry/molden/default.nix
@@ -19,7 +19,11 @@ stdenv.mkDerivation rec {
                                   --replace '-I/usr/X11R6/include' "" \
                                   --replace '/usr/local/' $out/ \
                                   --replace 'sudo' "" \
-                                  --replace '-C surf depend' '-C surf'
+                                  --replace '-C surf depend' '-C surf' \
+                                  --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
+
+     substituteInPlace ambfor/makefile --replace 'FFLAGS =' 'FFLAGS = -fallow-argument-mismatch'
+
      sed -in '/^# DO NOT DELETE THIS LINE/q;' surf/Makefile
   '';
 
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 86addd5bd6960..25749b8947c4a 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -11,13 +11,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "octopus";
-  version = "11.3";
+  version = "11.4";
 
   src = fetchFromGitLab {
     owner = "octopus-code";
     repo = "octopus";
     rev = version;
-    sha256 = "0n04yvnc0rg3lvnkkdpbwkfl6zg544260p3s65vwkc5dflrhk34r";
+    sha256 = "1z423sjpc4ajjy3s7623z3rfwmp2hgis7iiiy8gb5apw73k33dyv";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/chemistry/openmolcas/MKL-MPICH.patch b/pkgs/applications/science/chemistry/openmolcas/MKL-MPICH.patch
new file mode 100644
index 0000000000000..c1bc211a68e4f
--- /dev/null
+++ b/pkgs/applications/science/chemistry/openmolcas/MKL-MPICH.patch
@@ -0,0 +1,24 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 276ae4e..5e56176 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1304,9 +1304,9 @@ if (LINALG STREQUAL "MKL")
+       endif ()
+     else ()
+       if (ADDRMODE EQUAL 64)
+-        set (libpath "${MKLROOT}/lib/intel64")
++        set (libpath "${MKLROOT}/lib")
+       elseif (ADDRMODE EQUAL 32)
+-        set (libpath "${MKLROOT}/lib/ia32")
++        set (libpath "${MKLROOT}/lib")
+       endif ()
+     endif ()
+     set (MKL_LIBRARY_PATH ${libpath} CACHE PATH "location of MKL libraries." FORCE)
+@@ -1380,7 +1380,7 @@ if (LINALG STREQUAL "MKL")
+     find_library (LIBMKL_BLACS NAMES "mkl_blacs_intelmpi_ilp64"
+                   PATHS ${MKL_LIBRARY_PATH} NO_DEFAULT_PATH)
+   elseif (MPI_IMPLEMENTATION STREQUAL "mpich")
+-    find_library (LIBMKL_BLACS NAMES "mkl_blacs_ilp64"
++    find_library (LIBMKL_BLACS NAMES "mkl_blacs_intelmpi_ilp64"
+                   PATHS ${MKL_LIBRARY_PATH} NO_DEFAULT_PATH)
+   endif ()
diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix
index 1c3203354873d..c5f60c395ae27 100644
--- a/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -1,30 +1,35 @@
 { lib, stdenv, fetchFromGitLab, cmake, gfortran, perl
-, openblas, hdf5-cpp, python3, texlive
-, armadillo, mpi, globalarrays, openssh
-, makeWrapper
+, blas-ilp64, hdf5-cpp, python3, texlive
+, armadillo, libxc, makeWrapper
+# Note that the CASPT2 module is broken with MPI
+# See https://gitlab.com/Molcas/OpenMolcas/-/issues/169
+, enableMpi ? false
+, mpi, globalarrays
 } :
 
-let
-  version = "21.10";
-  # The tag keeps moving, fix a hash instead
-  gitLabRev = "117305462bac932106e8e3a0347238b768bcb058";
+assert blas-ilp64.isILP64;
+assert lib.elem blas-ilp64.passthru.implementation [ "openblas" "mkl" ];
 
-  python = python3.withPackages (ps : with ps; [ six pyparsing ]);
+let
+  python = python3.withPackages (ps : with ps; [ six pyparsing numpy h5py ]);
 
 in stdenv.mkDerivation {
   pname = "openmolcas";
-  inherit version;
+  version = "22.02";
 
   src = fetchFromGitLab {
     owner = "Molcas";
     repo = "OpenMolcas";
-    rev = gitLabRev;
-    sha256 = "sha256-GMi2dsNBog+TmpmP6fhQcp6Z5Bh2LelV//MqLnvRP5c=";
+    # The tag keeps moving, fix a hash instead
+    rev = "f8df69cf87b241a15ebc82d72a8f9a031a385dd4"; # 2022-02-10
+    sha256 = "0p2xj8kgqdk5kb1jv5k77acbiqkbl2sh971jnz9p00cmbh556r6a";
   };
 
   patches = [
     # Required to handle openblas multiple outputs
     ./openblasPath.patch
+    # Required for MKL builds
+    ./MKL-MPICH.patch
   ];
 
   nativeBuildInputs = [
@@ -36,27 +41,35 @@ in stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    openblas
+    blas-ilp64.passthru.provider
     hdf5-cpp
     python
     armadillo
+    libxc
+  ] ++ lib.optionals enableMpi [
     mpi
     globalarrays
-    openssh
   ];
 
+  passthru = lib.optionalAttrs enableMpi { inherit mpi; };
+
   cmakeFlags = [
     "-DOPENMP=ON"
-    "-DGA=ON"
-    "-DMPI=ON"
     "-DLINALG=OpenBLAS"
     "-DTOOLS=ON"
     "-DHDF5=ON"
     "-DFDE=ON"
-    "-DOPENBLASROOT=${openblas.dev}"
+    "-DEXTERNAL_LIBXC=${libxc}"
+  ] ++ lib.optionals (blas-ilp64.passthru.implementation == "openblas") [
+    "-DOPENBLASROOT=${blas-ilp64.passthru.provider.dev}" "-DLINALG=OpenBLAS"
+  ] ++ lib.optionals (blas-ilp64.passthru.implementation == "mkl") [
+    "-DMKLROOT=${blas-ilp64.passthru.provider}" "-DLINALG=MKL"
+  ] ++ lib.optionals enableMpi [
+    "-DGA=ON"
+    "-DMPI=ON"
   ];
 
-  preConfigure = ''
+  preConfigure = lib.optionalString enableMpi ''
     export GAROOT=${globalarrays};
   '';
 
@@ -68,6 +81,8 @@ in stdenv.mkDerivation {
 
   postInstall = ''
     mv $out/pymolcas $out/bin
+    find $out/Tools -type f -exec mv \{} $out/bin \;
+    rm -r $out/Tools
   '';
 
   postFixup = ''
@@ -84,6 +99,7 @@ in stdenv.mkDerivation {
     maintainers = [ maintainers.markuskowa ];
     license = licenses.lgpl21Only;
     platforms = [ "x86_64-linux" ];
+    mainProgram = "pymolcas";
   };
 }
 
diff --git a/pkgs/applications/science/chemistry/siesta/default.nix b/pkgs/applications/science/chemistry/siesta/default.nix
index 7ee46f7d7e22f..f49b9d1f45f9f 100644
--- a/pkgs/applications/science/chemistry/siesta/default.nix
+++ b/pkgs/applications/science/chemistry/siesta/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     sha256 = "0lz8rfl5xwdj17zn7a30ipi7cgjwqki21a7wg9rdg7iwx27bpnmg";
   };
 
+  postPatch = ''
+    substituteInPlace Src/siesta_init.F --replace '/bin/rm' 'rm'
+  '';
+
   passthru = {
     inherit mpi;
   };
@@ -25,7 +29,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ blas lapack ]
     ++ lib.optionals useMpi [ mpi scalapack ];
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;  # Started making trouble with gcc-11
 
   # Must do manualy becuase siesta does not do the regular
   # ./configure; make; make install
@@ -35,17 +39,23 @@ stdenv.mkDerivation rec {
     cp gfortran.make arch.make
   '';
 
-  preBuild = if useMpi then ''
+  preBuild = ''
+    # See https://gitlab.com/siesta-project/siesta/-/commit/a10bf1628e7141ba263841889c3503c263de1582
+    # This may be fixed in the next release.
     makeFlagsArray=(
+        FFLAGS="-fallow-argument-mismatch"
+    )
+    '' + (if useMpi then ''
+    makeFlagsArray+=(
         CC="mpicc" FC="mpifort"
         FPPFLAGS="-DMPI" MPI_INTERFACE="libmpi_f90.a" MPI_INCLUDE="."
         COMP_LIBS="" LIBS="-lblas -llapack -lscalapack"
     );
   '' else ''
-    makeFlagsArray=(
+    makeFlagsArray+=(
       COMP_LIBS="" LIBS="-lblas -llapack"
     );
-  '';
+  '');
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/science/electronics/alliance/default.nix b/pkgs/applications/science/electronics/alliance/default.nix
index cf135b9469a77..f4333be8475e8 100644
--- a/pkgs/applications/science/electronics/alliance/default.nix
+++ b/pkgs/applications/science/electronics/alliance/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "alliance";
-  version = "unstable-2021-09-15";
+  version = "unstable-2022-01-13";
 
   src = fetchFromGitLab {
     domain = "gitlab.lip6.fr";
     owner = "vlsi-eda";
     repo = "alliance";
-    rev = "5e83c92d0307cce9d599f7099fb0023f81d26d65";
-    sha256 = "Vd3MTT4eKn4FMt0/F4fQUPcWq25kH0FpeGxQUOetKPY=";
+    rev = "ebece102e15c110fc79f1da50524c68fd9523f0c";
+    hash = "sha256-NGtE3ZmN9LrgXG4NIKrp7dFRVzrKMoudlPUtYYKrZjY=";
   };
 
   prePatch = "cd alliance/src";
diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix
index c5723dbab98ea..668a34b511d49 100644
--- a/pkgs/applications/science/electronics/fritzing/default.nix
+++ b/pkgs/applications/science/electronics/fritzing/default.nix
@@ -78,7 +78,7 @@ mkDerivation rec {
     description = "An open source prototyping tool for Arduino-based projects";
     homepage = "https://fritzing.org/";
     license = with licenses; [ gpl3 cc-by-sa-30 ];
-    maintainers = with maintainers; [ robberer musfay ];
+    maintainers = with maintainers; [ robberer muscaln ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/electronics/horizon-eda/default.nix b/pkgs/applications/science/electronics/horizon-eda/default.nix
index 6029bf5a9948a..f18afb77587c1 100644
--- a/pkgs/applications/science/electronics/horizon-eda/default.nix
+++ b/pkgs/applications/science/electronics/horizon-eda/default.nix
@@ -8,10 +8,11 @@
 , glm
 , gtkmm3
 , lib
+, libarchive
 , libgit2
 , librsvg
+, libspnav
 , libuuid
-, libzip
 , opencascade
 , pkg-config
 , podofo
@@ -23,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "horizon-eda";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "horizon-eda";
     repo = "horizon";
     rev = "v${version}";
-    sha256 = "sha256-MUS1dIsULDJ5DahCtDpbHZq56nltHShli7+uoW1/Tqw=";
+    sha256 = "0lw5j1zqd2wdafgxl4ahcphaabs7vlw4kaa1c566hwfjxs46dmg9";
   };
 
   buildInputs = [
@@ -38,10 +39,11 @@ stdenv.mkDerivation rec {
     libepoxy
     glm
     gtkmm3
+    libarchive
     libgit2
     librsvg
+    libspnav
     libuuid
-    libzip
     opencascade
     podofo
     python3
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index 9adfac344b38b..658223dc4ec66 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,45 +3,45 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.4";
+      version =			"6.0.5";
       src = {
-        rev =			"6f826c9f35a3dc9a104bb24a0a89a2e04b2d9721";
-        sha256 =		"0lki59ws0ncqkp9wxrhyni1ck2sx5z07mmpkjg0d9jpkync9hx9y";
+        rev =			"a6ca702e916df70e499615d8613102e780e96a40";
+        sha256 =		"19mg672h1gjdvnkp13cpkhk67xpwms72y4gd6g8983fcsxr8nq23";
       };
     };
     libVersion = {
-      version =			"6.0.4";
+      version =			"6.0.5";
       libSources = {
-        symbols.rev =		"9d00fbb9373571e54d9f29985b21a03d862795a4";
-        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
-        templates.rev =		"c4f4fe4b821e062a3ddd275f9313d5d81ff8f8d7";
+        symbols.rev =		"c7f82c947ab3a1afec8d7b602ee7c6bfdfb24693";
+        symbols.sha256 =	"1dhgdp08ah08fc5nvwkqmgpl2any9vgy1gykmyzsd4dl8hhvznh5";
+        templates.rev =		"5ec65bfd3ecefaf85f79db02981f0568fe8b0eb8";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c48d3dfcfa6ce58ec11e10b7a74878bb69fae580";
-        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
-        packages3d.rev =	"b1de0b5c3edc16999602b809a05017da62ff52cc";
-        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
+        footprints.rev =	"35e3d08f1ab23b5b08ba903572776aab6de7499f";
+        footprints.sha256 =	"0sxzd4dr1g12ck8b2wsyg9r2s1j3472nksrjrwpzjdyfc8rqbjai";
+        packages3d.rev =	"6ea94caf40c4bdccecb569e81ed82b902d4c104e";
+        packages3d.sha256 =	"00i6mybg3pprzb283b26z5b2g7a8sbghlvc0fwk9gwrp3wz1yqzc";
       };
     };
   };
   "kicad-unstable" = {
     kicadVersion = {
-      version =			"2022-03-19";
+      version =			"2022-05-06";
       src = {
-        rev =			"58c146a7c00ee64ca07cacbcc594121f40aa2aeb";
-        sha256 =		"0gcbl11pq0dgp590hdwsh5np7spixk5kgva0v8mx9rqd374z4bdm";
+        rev =			"dfdedfa605f58711d286d6e24e4ae9b5f75444e6";
+        sha256 =		"1bs7s2x0zh3wbk2hawg47v1s3nidmcl0xaardbpiafrrnh1qprf2";
       };
     };
     libVersion = {
-      version =			"2022-03-19";
+      version =			"2022-05-06";
       libSources = {
-        symbols.rev =		"9b8d3163450172a7f368462c6d005841ad199144";
-        symbols.sha256 =	"12lyc187337bf2frl3jvwqdwwnd69f7l414k3kxhccs3sa2mcf1y";
+        symbols.rev =		"e1d70243a68a721a9f94a7df1d04c9c6ebc056ef";
+        symbols.sha256 =	"0gbl22g73cms9jrk9f6dlgd3ksnhiik39aywfm15m98jfglnlbg8";
         templates.rev =		"a27d83f0a20f0be0c1ab04b139a0c518da51a5d4";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c871df2c81a894bc5e91d2d517b76884d5a918aa";
-        footprints.sha256 =	"0px2g9jansky0rvc0bdjylbmv8xwhc0q63g88hd2nzbknqli9f1y";
-        packages3d.rev =	"6ff98426fd51d53c55bc48025d66d3d0b0c5df92";
-        packages3d.sha256 =	"0ms9py93qyihxrhh9wm2ziycmdn88m36r8adx22ynjnxixw1f9ja";
+        footprints.rev =	"25bb68c2d0e61d1e1e31375adfcf0b6ccdb33ff9";
+        footprints.sha256 =	"0sxzd4dr1g12ck8b2wsyg9r2s1j3472nksrjrwpzjdyfc8rqbjai";
+        packages3d.rev =	"ac7189ed55d5a3bf5eaa87d31fb97a3e7b5ad80e";
+        packages3d.sha256 =	"00i6mybg3pprzb283b26z5b2g7a8sbghlvc0fwk9gwrp3wz1yqzc";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/nanovna-saver/default.nix b/pkgs/applications/science/electronics/nanovna-saver/default.nix
index af78fc71ebf30..06b77294da7ea 100644
--- a/pkgs/applications/science/electronics/nanovna-saver/default.nix
+++ b/pkgs/applications/science/electronics/nanovna-saver/default.nix
@@ -1,36 +1,23 @@
-{ lib
-, python3
-, fetchFromGitHub
-, wrapQtAppsHook
+{
+  lib,
+  python3,
+  fetchFromGitHub,
+  wrapQtAppsHook,
 }:
-
-let
-  python = python3.override {
-    packageOverrides = self: super: {
-      scipy = super.scipy.overridePythonAttrs (oldAttrs: rec {
-        version = "1.4.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0ndw7zyxd2dj37775mc75zm4fcyiipnqxclc45mkpxy8lvrvpqfy";
-        };
-        doCheck = false;
-      });
-    };
-  };
-in python.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "nanovna-saver";
-  version = "0.3.8";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "NanoVNA-Saver";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0z83rwpnbbs1n74mx8dgh1d1crp90mannj9vfy161dmy4wzc5kpv";
+    sha256 = "1n1bh46spdyk7kgvv95hyfy9f904czhzlvk41vliqkak56hj2ss1";
   };
 
   nativeBuildInputs = [ wrapQtAppsHook ];
 
-  propagatedBuildInputs = with python.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     cython
     scipy
     pyqt5
diff --git a/pkgs/applications/science/electronics/qucs-s/default.nix b/pkgs/applications/science/electronics/qucs-s/default.nix
index 6507198a790f4..9c692865f6e3a 100644
--- a/pkgs/applications/science/electronics/qucs-s/default.nix
+++ b/pkgs/applications/science/electronics/qucs-s/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     # Make custom kernels avaible from qucs-s
-    gappsWrapperArgs+=(--prefix PATH ":" ${lib.makeBinPath kernels})
+    gappsWrapperArgs+=(--prefix PATH ":" ${lib.escapeShellArg (lib.makeBinPath kernels)})
   '';
 
   QTDIR=qt4;
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index 13876430822a5..05d7d0388f0d8 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.220";
+  version = "4.222";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Y0j6j8kPCONlegFoWl46LXtfoiLhzMsHCVv+kLe7UyE=";
+    sha256 = "sha256-AvjcStbiXDdhJnaSJJ5Mp6zscvaxhb+A2J+0gpm2rFI=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/electronics/vhd2vl/default.nix b/pkgs/applications/science/electronics/vhd2vl/default.nix
index f0dd990a35bc8..089ebb9bb1988 100644
--- a/pkgs/applications/science/electronics/vhd2vl/default.nix
+++ b/pkgs/applications/science/electronics/vhd2vl/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , bison
 , flex
 , verilog
@@ -19,12 +18,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = lib.optionals (!stdenv.isAarch64) [
-    # fix build with verilog 11.0 - https://github.com/ldoolitt/vhd2vl/pull/15
-    # for some strange reason, this is not needed for aarch64
-    (fetchpatch {
-      url = "https://github.com/ldoolitt/vhd2vl/commit/ce9b8343ffd004dfe8779a309f4b5a594dbec45e.patch";
-      sha256 = "1qaqhm2mk66spb2dir9n91b385rarglc067js1g6pcg8mg5v3hhf";
-    })
+    # fix build with verilog 11.0
+    ./test.patch
   ];
 
   nativeBuildInputs = [
@@ -37,6 +32,13 @@ stdenv.mkDerivation rec {
     verilog
   ];
 
+  # the "translate" target both (a) builds the software and (b) runs
+  # the tests (without validating the results)
+  buildTargets = [ "translate" ];
+
+  # the "diff" target examines the test results
+  checkTarget = "diff";
+
   installPhase = ''
     runHook preInstall
     install -D -m755 src/vhd2vl $out/bin/vdh2vl
diff --git a/pkgs/applications/science/electronics/vhd2vl/test.patch b/pkgs/applications/science/electronics/vhd2vl/test.patch
new file mode 100644
index 0000000000000..85b91964e3922
--- /dev/null
+++ b/pkgs/applications/science/electronics/vhd2vl/test.patch
@@ -0,0 +1,35 @@
+--- a/translated_examples/fifo.v  1970-01-01 00:00:01.000000000 +0000
++++ a/temp/verilog/fifo.v 2022-05-11 03:44:43.173604945 +0000
+@@ -107,7 +107,7 @@
+   //--- Read address counter --------------
+   //---------------------------------------
+   assign add_RD_CE = (iempty == 1'b1) ? 1'b0 : (RD == 1'b0) ? 1'b0 : 1'b1;
+-  assign n_add_RD = (add_RD) + 4'h1;
++  assign n_add_RD = add_RD + 4'h1;
+   always @(posedge clk_RD, posedge rst) begin
+     if((rst == 1'b1)) begin
+       add_RD <= {5{1'b0}};
+diff -u '--exclude=Makefile' '--exclude-from=examples/exclude' translated_examples/test.v temp/verilog/test.v
+--- a/translated_examples/test.v  1970-01-01 00:00:01.000000000 +0000
++++ a/temp/verilog/test.v 2022-05-11 03:44:43.189604945 +0000
+@@ -125,7 +125,7 @@
+     endcase
+   end
+
+-  assign code1[1:0] = a[6:5] ^ ({a[4],b[6]});
++  assign code1[1:0] = a[6:5] ^ {a[4],b[6]};
+   // Asynch process
+   always @(we, addr, config1, bip) begin
+     if(we == 1'b1) begin
+diff -u '--exclude=Makefile' '--exclude-from=examples/exclude' translated_examples/withselect.v temp/verilog/withselect.v
+--- a/translated_examples/withselect.v    1970-01-01 00:00:01.000000000 +0000
++++ a/temp/verilog/withselect.v   2022-05-11 03:44:43.193604945 +0000
+@@ -33,7 +33,7 @@
+     endcase
+   end
+
+-  assign code1[1:0] = a[6:5] ^ ({a[4],b[6]});
++  assign code1[1:0] = a[6:5] ^ {a[4],b[6]};
+   assign foo = {(((1 + 1))-((0))+1){1'b0}};
+   assign egg = {78{1'b0}};
+   assign baz = {(((bus_width * 4))-((bus_width * 3 - 1))+1){1'b1}};
diff --git a/pkgs/applications/science/logic/abc/default.nix b/pkgs/applications/science/logic/abc/default.nix
index 20c33f0fbae55..4e808dd8f19e8 100644
--- a/pkgs/applications/science/logic/abc/default.nix
+++ b/pkgs/applications/science/logic/abc/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     description = "A tool for squential logic synthesis and formal verification";
     homepage    = "https://people.eecs.berkeley.edu/~alanmi/abc";
     license     = licenses.mit;
-    platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
+    mainProgram = "abc";
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
index fc16423b671ef..02f6dba4dedb8 100644
--- a/pkgs/applications/science/logic/aspino/default.nix
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -9,13 +9,13 @@ in
 
 stdenv.mkDerivation {
   pname = "aspino";
-  version = "unstable-2017-03-09";
+  version = "unstable-2018-03-24";
 
   src = fetchFromGitHub {
     owner = "alviano";
     repo = "aspino";
-    rev = "e31c3b4e5791a454e6602439cb26bd98d23c4e78";
-    sha256 = "0annsjs2prqmv1lbs0lxr7yclfzh47xg9zyiq6mdxcc02rxsi14f";
+    rev = "4d7483e328bdf9a00ef1eb7f2868e7b0f2a82d56";
+    hash = "sha256-R1TpBDGdq+NQQzmzqk0wYaz2Hns3qru0AkAyFPQasPA=";
   };
 
   buildInputs = [ zlib boost ];
diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix
new file mode 100644
index 0000000000000..5f28ca73c4e73
--- /dev/null
+++ b/pkgs/applications/science/logic/easycrypt/default.nix
@@ -0,0 +1,50 @@
+{ lib, stdenv, fetchFromGitHub, ocamlPackages, why3 }:
+
+stdenv.mkDerivation rec {
+  pname = "easycrypt";
+  version = "2022.04";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "r${version}";
+    sha256 = "sha256:09rdwcj70lkamkhd895p284rfpz4bcnsf55mcimhiqncd2a21ml7";
+  };
+
+  nativeBuildInputs = with ocamlPackages; [
+    dune_3
+    findlib
+    menhir
+    ocaml
+  ];
+  buildInputs = with ocamlPackages; [
+    batteries
+    dune-build-info
+    inifiles
+    yojson
+    zarith
+  ];
+
+  propagatedBuildInputs = [ why3 ];
+
+  strictDeps = true;
+
+  postPatch = ''
+    substituteInPlace dune-project --replace '(name easycrypt)' '(name easycrypt)(version ${version})'
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    dune install --prefix $out ${pname}
+    rm $out/bin/ec-runtest
+    runHook postInstall
+  '';
+
+  meta = {
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.vbgl ];
+    platforms = lib.platforms.all;
+    homepage = "https://easycrypt.info/";
+    description = "Computer-Aided Cryptographic Proofs";
+  };
+}
diff --git a/pkgs/applications/science/logic/easycrypt/runtest.nix b/pkgs/applications/science/logic/easycrypt/runtest.nix
new file mode 100644
index 0000000000000..79a034b936937
--- /dev/null
+++ b/pkgs/applications/science/logic/easycrypt/runtest.nix
@@ -0,0 +1,24 @@
+{ python3Packages, easycrypt }:
+
+python3Packages.buildPythonApplication rec {
+  inherit (easycrypt) src version;
+
+  pname = "easycrypt-runtest";
+
+  dontConfigure = true;
+  dontBuild = true;
+  doCheck = false;
+
+  pythonPath = with python3Packages; [ pyyaml ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp scripts/testing/runtest $out/bin/ec-runtest
+    runHook postInstall
+  '';
+
+  meta = easycrypt.meta // {
+    description = "Testing program for EasyCrypt formalizations";
+  };
+}
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
index aee1a9c63f8fe..5a48abfc4aa48 100644
--- a/pkgs/applications/science/logic/key/default.nix
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -115,6 +115,7 @@ in stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2;
     maintainers = with maintainers; [ fgaz ];
+    mainProgram = executable-name;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/science/logic/monosat/default.nix b/pkgs/applications/science/logic/monosat/default.nix
index 1356c88d478fc..e49c80db9d6e6 100644
--- a/pkgs/applications/science/logic/monosat/default.nix
+++ b/pkgs/applications/science/logic/monosat/default.nix
@@ -65,7 +65,7 @@ let
     };
   };
 
-  python = { buildPythonPackage, cython }: buildPythonPackage {
+  python = { buildPythonPackage, cython, pytestCheckHook }: buildPythonPackage {
     inherit pname version src patches;
 
     propagatedBuildInputs = [ core cython ];
@@ -85,5 +85,12 @@ let
       substituteInPlace setup.py \
         --replace 'library_dir = "../../../../"' 'library_dir = "${core}/lib/"'
     '';
+
+    checkInputs = [ pytestCheckHook ];
+
+    disabledTests = [
+      "test_assertAtMostOne"
+      "test_assertEqual"
+    ];
   };
 in core
diff --git a/pkgs/applications/science/logic/ott/default.nix b/pkgs/applications/science/logic/ott/default.nix
index 8752c4ef59d43..4b7166ad99865 100644
--- a/pkgs/applications/science/logic/ott/default.nix
+++ b/pkgs/applications/science/logic/ott/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ott";
-  version = "0.31";
+  version = "0.32";
 
   src = fetchFromGitHub {
     owner = "ott-lang";
     repo = "ott";
     rev = version;
-    sha256 = "0l81126i2qkz11fs5yrjdgymnqgjcs5avb7f951h61yh1s68jpnn";
+    sha256 = "sha256-vdDsfsIi1gRW1Sowf29VyQ4C5UKyQZaVgS2uTb8VeW4=";
   };
 
   nativeBuildInputs = [ pkg-config opaline ];
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
index e13fd578927d1..d84f0b2abf699 100644
--- a/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ gtk3 ];
 
-  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [
+    makeWrapper
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+  ];
 
   dontWrapGApps = true;
 
diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix
index dc947a94001b1..399fa3a3c544a 100644
--- a/pkgs/applications/science/math/gurobi/default.nix
+++ b/pkgs/applications/science/math/gurobi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gurobi";
-  version = "9.5.0";
+  version = "9.5.1";
 
   src = fetchurl {
     url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
-    sha256 = "sha256-u1QuWl0WhfbjZOrwXqbFVySF/8N6IkUWnPPLQCiLwp4=";
+    sha256 = "sha256-+oKFnTPwj7iuudpmsPvZFxjtVzxTT1capSNyyd64kdo=";
   };
 
   sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
diff --git a/pkgs/applications/science/math/mathematica/10.nix b/pkgs/applications/science/math/mathematica/10.nix
index 6fed10da18bc0..d1397d228df00 100644
--- a/pkgs/applications/science/math/mathematica/10.nix
+++ b/pkgs/applications/science/math/mathematica/10.nix
@@ -1,19 +1,30 @@
-{ lib, stdenv
-, coreutils
+{ lib
 , patchelf
 , requireFile
+, stdenv
+# arguments from default.nix
+, lang
+, meta
+, name
+, src
+, version
+# dependencies
 , alsa-lib
+, coreutils
+, cudaPackages
 , fontconfig
 , freetype
 , gcc
 , glib
+, libuuid
+, libxml2
 , ncurses
 , opencv2
 , openssl
 , unixODBC
 , xorg
-, libxml2
-, libuuid
+# options
+, cudaSupport
 }:
 
 let
@@ -24,20 +35,10 @@ let
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
 stdenv.mkDerivation rec {
-  version = "10.0.2";
+  inherit meta src version;
 
   pname = "mathematica";
 
-  src = requireFile rec {
-    name = "Mathematica_${version}_LINUX.sh";
-    message = ''
-      This nix expression requires that ${name} is
-      already part of the store. Find the file on your Mathematica CD
-      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
-    '';
-    sha256 = "1d2yaiaikzcacjamlw64g3xkk81m3pb4vz4an12cv8nb7kb20x9l";
-  };
-
   buildInputs = [
     coreutils
     patchelf
@@ -127,10 +128,4 @@ stdenv.mkDerivation rec {
 
   # we did this in prefixup already
   dontPatchELF = true;
-
-  meta = {
-    description = "Wolfram Mathematica computational software system";
-    homepage = "http://www.wolfram.com/mathematica/";
-    license = lib.licenses.unfree;
-  };
 }
diff --git a/pkgs/applications/science/math/mathematica/11.nix b/pkgs/applications/science/math/mathematica/11.nix
index f6f0046d2725a..50f2644a10b72 100644
--- a/pkgs/applications/science/math/mathematica/11.nix
+++ b/pkgs/applications/science/math/mathematica/11.nix
@@ -1,14 +1,26 @@
-{ lib, stdenv
-, coreutils
+{ lib
 , patchelf
 , requireFile
-, callPackage
+, stdenv
+# arguments from default.nix
+, lang
+, meta
+, name
+, src
+, version
+# dependencies
 , alsa-lib
+, coreutils
+, cudaPackages
 , dbus
 , fontconfig
 , freetype
 , gcc
 , glib
+, libGL
+, libGLU
+, libuuid
+, libxml2
 , ncurses
 , opencv2
 , openssl
@@ -16,23 +28,12 @@
 , xkeyboard_config
 , xorg
 , zlib
-, libxml2
-, libuuid
-, lang ? "en"
-, libGL
-, libGLU
+# options
+, cudaSupport
 }:
 
-let
-  l10n =
-    import ./l10ns.nix {
-      lib = lib;
-      inherit requireFile lang;
-      majorVersion = "11";
-    };
-in
 stdenv.mkDerivation rec {
-  inherit (l10n) version name src;
+  inherit meta name src version;
 
   buildInputs = [
     coreutils
@@ -141,10 +142,4 @@ stdenv.mkDerivation rec {
 
   # we did this in prefixup already
   dontPatchELF = true;
-
-  meta = {
-    description = "Wolfram Mathematica computational software system";
-    homepage = "http://www.wolfram.com/mathematica/";
-    license = lib.licenses.unfree;
-  };
 }
diff --git a/pkgs/applications/science/math/mathematica/9.nix b/pkgs/applications/science/math/mathematica/9.nix
index 90a7ada99504b..c3d74d8a00277 100644
--- a/pkgs/applications/science/math/mathematica/9.nix
+++ b/pkgs/applications/science/math/mathematica/9.nix
@@ -1,9 +1,17 @@
 { lib
-, stdenv
-, coreutils
 , patchelf
 , requireFile
+, stdenv
+# arguments from default.nix
+, lang
+, meta
+, name
+, src
+, version
+# dependencies
 , alsa-lib
+, coreutils
+, cudaPackages
 , fontconfig
 , freetype
 , gcc
@@ -13,6 +21,8 @@
 , openssl
 , unixODBC
 , xorg
+# options
+, cudaSupport
 }:
 
 let
@@ -23,18 +33,8 @@ let
       throw "Mathematica requires i686-linux or x86_64 linux";
 in
 stdenv.mkDerivation rec {
+  inherit meta src version;
   pname = "mathematica";
-  version = "9.0.0";
-
-  src = requireFile {
-    name = "Mathematica_${version}_LINUX.sh";
-    message = ''
-      This nix expression requires that Mathematica_9.0.0_LINUX.sh is
-      already part of the store. Find the file on your Mathematica CD
-      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
-    '';
-    sha256 = "106zfaplhwcfdl9rdgs25x83xra9zcny94gb22wncbfxvrsk3a4q";
-  };
 
   buildInputs = [
     coreutils
@@ -114,10 +114,4 @@ stdenv.mkDerivation rec {
 
   # we did this in prefixup already
   dontPatchELF = true;
-
-  meta = {
-    description = "Wolfram Mathematica computational software system";
-    homepage = "http://www.wolfram.com/mathematica/";
-    license = lib.licenses.unfree;
-  };
 }
diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix
index d24cff9e86cee..e48af60cc2fb7 100644
--- a/pkgs/applications/science/math/mathematica/default.nix
+++ b/pkgs/applications/science/math/mathematica/default.nix
@@ -1,173 +1,48 @@
-{ lib
-, stdenv
-, autoPatchelfHook
-, buildEnv
-, makeWrapper
-, requireFile
-, alsa-lib
-, cups
-, dbus
-, flite
-, fontconfig
-, freetype
-, gcc-unwrapped
-, glib
-, gmpxx
-, keyutils
-, libGL
-, libGLU
-, libpcap
-, libtins
-, libuuid
-, libxkbcommon
-, libxml2
-, llvmPackages_12
-, matio
-, mpfr
-, ncurses
-, opencv4
-, openjdk11
-, openssl
-, pciutils
-, tre
-, unixODBC
-, xkeyboard_config
-, xorg
-, zlib
+{ callPackage
+, config
+, lib
+, cudaPackages
+, cudaSupport ? config.cudaSupport or false
 , lang ? "en"
+, version ? null
 }:
 
-let
-  l10n = import ./l10ns.nix {
-    inherit lib requireFile lang;
-  };
-in stdenv.mkDerivation {
-  inherit (l10n) version name src;
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    makeWrapper
-  ];
-
-  buildInputs = [
-    alsa-lib
-    cups.lib
-    dbus
-    flite
-    fontconfig
-    freetype
-    glib
-    gmpxx
-    keyutils.lib
-    libGL
-    libGLU
-    libpcap
-    libtins
-    libuuid
-    libxkbcommon
-    libxml2
-    llvmPackages_12.libllvm.lib
-    matio
-    mpfr
-    ncurses
-    opencv4
-    openjdk11
-    openssl
-    pciutils
-    tre
-    unixODBC
-    xkeyboard_config
-  ] ++ (with xorg; [
-    libICE
-    libSM
-    libX11
-    libXScrnSaver
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXinerama
-    libXmu
-    libXrandr
-    libXrender
-    libXtst
-    libxcb
-  ]);
-
-  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 = ''
-    runHook preUnpack
-
-    # Find offset from file
-    offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
-    tail -c +$(($offset + 1)) $src | tar -xf -
-
-    runHook postUnpack
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    cd "$TMPDIR/Unix/Installer"
-
-    mkdir -p "$out/lib/udev/rules.d"
-
-    # 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 = ''
-    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
-  preferLocalBuild = true;
-
-  # All binaries are already stripped
-  dontStrip = true;
-
-  # NOTE: Some deps are still not found; ignore for now
-  autoPatchelfIgnoreMissingDeps = true;
-
+let versions = callPackage ./versions.nix { };
+
+    matching-versions =
+      lib.sort (v1: v2: lib.versionAtLeast v1.version v2.version) (lib.filter
+        (v: v.lang == lang
+            && (if version == null then true else isMatching v.version version))
+        versions);
+
+    found-version =
+      if matching-versions == []
+      then throw ("No registered Mathematica version found to match"
+                  + " version=${version} and language=${lang}")
+      else lib.head matching-versions;
+
+    specific-drv = ./. + "/(lib.versions.major found-version.version).nix";
+
+    real-drv = if lib.pathExists specific-drv
+               then specific-drv
+               else ./generic.nix;
+
+    isMatching = v1: v2:
+      let as      = lib.splitVersion v1;
+          bs      = lib.splitVersion v2;
+          n       = lib.min (lib.length as) (lib.length bs);
+          sublist = l: lib.sublist 0 n l;
+      in lib.compareLists lib.compare (sublist as) (sublist bs) == 0;
+
+in
+
+callPackage real-drv {
+  inherit cudaSupport cudaPackages;
+  inherit (found-version) version lang src;
+  name = ("mathematica"
+          + lib.optionalString cudaSupport "-cuda"
+          + "-${found-version.version}"
+          + lib.optionalString (lang != "en") "-${lang}");
   meta = with lib; {
     description = "Wolfram Mathematica computational software system";
     homepage = "http://www.wolfram.com/mathematica/";
diff --git a/pkgs/applications/science/math/mathematica/generic.nix b/pkgs/applications/science/math/mathematica/generic.nix
new file mode 100644
index 0000000000000..0f4819172cea9
--- /dev/null
+++ b/pkgs/applications/science/math/mathematica/generic.nix
@@ -0,0 +1,192 @@
+{ addOpenGLRunpath
+, autoPatchelfHook
+, lib
+, makeWrapper
+, requireFile
+, runCommand
+, stdenv
+, symlinkJoin
+# arguments from default.nix
+, lang
+, meta
+, name
+, src
+, version
+# dependencies
+, alsa-lib
+, cudaPackages
+, cups
+, dbus
+, flite
+, fontconfig
+, freetype
+, gcc-unwrapped
+, glib
+, gmpxx
+, keyutils
+, libGL
+, libGLU
+, libpcap
+, libtins
+, libuuid
+, libxkbcommon
+, libxml2
+, llvmPackages_12
+, matio
+, mpfr
+, ncurses
+, opencv4
+, openjdk11
+, openssl
+, pciutils
+, tre
+, unixODBC
+, xkeyboard_config
+, xorg
+, zlib
+# options
+, cudaSupport
+}:
+
+let cudaEnv = symlinkJoin {
+      name = "mathematica-cuda-env";
+      paths = with cudaPackages; [
+        cuda_cudart cuda_nvcc libcublas libcufft libcurand libcusparse
+      ];
+      postBuild = ''
+        ln -s ${addOpenGLRunpath.driverLink}/lib/libcuda.so $out/lib
+        ln -s lib $out/lib64
+      '';
+    };
+
+in stdenv.mkDerivation {
+  inherit meta name src version;
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    makeWrapper
+  ] ++ lib.optional cudaSupport addOpenGLRunpath;
+
+  buildInputs = [
+    alsa-lib
+    cups.lib
+    dbus
+    flite
+    fontconfig
+    freetype
+    glib
+    gmpxx
+    keyutils.lib
+    libGL
+    libGLU
+    libpcap
+    libtins
+    libuuid
+    libxkbcommon
+    libxml2
+    llvmPackages_12.libllvm.lib
+    matio
+    mpfr
+    ncurses
+    opencv4
+    openjdk11
+    openssl
+    pciutils
+    tre
+    unixODBC
+    xkeyboard_config
+  ] ++ (with xorg; [
+    libICE
+    libSM
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXinerama
+    libXmu
+    libXrandr
+    libXrender
+    libXtst
+    libxcb
+  ]) ++ lib.optional cudaSupport cudaEnv;
+
+  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"
+  ] ++ lib.optionals cudaSupport [
+    "--set CUDA_PATH ${cudaEnv}"
+    "--set NVIDIA_DRIVER_LIBRARY_PATH ${addOpenGLRunpath.driverLink}/lib/libnvidia-tls.so"
+    "--set CUDA_LIBRARY_PATH ${addOpenGLRunpath.driverLink}/lib/libcuda.so"
+  ];
+
+  unpackPhase = ''
+    runHook preUnpack
+
+    # Find offset from file
+    offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src)
+    tail -c +$(($offset + 1)) $src | tar -xf -
+
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    cd "$TMPDIR/Unix/Installer"
+
+    mkdir -p "$out/lib/udev/rules.d"
+
+    # 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 = ''
+    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
+  preferLocalBuild = true;
+
+  # All binaries are already stripped
+  dontStrip = true;
+
+  # NOTE: Some deps are still not found; ignore for now
+  autoPatchelfIgnoreMissingDeps = true;
+}
diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix
deleted file mode 100644
index 60841eaa3ee2b..0000000000000
--- a/pkgs/applications/science/math/mathematica/l10ns.nix
+++ /dev/null
@@ -1,106 +0,0 @@
-{ lib
-, requireFile
-, lang
-, majorVersion ? null
-}:
-
-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";
-      sha256 = "15bbad39a5995031325d1d178f63b00e71706d3ec9001eba6d1681fbc991d3e1";
-      installer = "Mathematica_13.0.0_BNDL_LINUX.sh";
-    }
-    {
-      version = "12.3.1";
-      lang = "en";
-      language = "English";
-      sha256 = "51b9cab12fd91b009ea7ad4968a2c8a59e94dc55d2e6cc1d712acd5ba2c4d509";
-      installer = "Mathematica_12.3.1_LINUX.sh";
-    }
-    {
-      version = "12.3.0";
-      lang = "en";
-      language = "English";
-      sha256 = "045df045f6e796ded59f64eb2e0f1949ac88dcba1d5b6e05fb53ea0a4aed7215";
-      installer = "Mathematica_12.3.0_LINUX.sh";
-    }
-    {
-      version = "12.2.0";
-      lang = "en";
-      language = "English";
-      sha256 = "3b6676a203c6adb7e9c418a5484b037974287b5be09c64e7dfea74ddc0e400d7";
-      installer = "Mathematica_12.2.0_LINUX.sh";
-    }
-    {
-      version = "12.1.1";
-      lang = "en";
-      language = "English";
-      sha256 = "02mk8gmv8idnakva1nc7r7mx8ld02lk7jgsj1zbn962aps3bhixd";
-      installer = "Mathematica_12.1.1_LINUX.sh";
-    }
-    {
-      version = "12.1.0";
-      lang = "en";
-      language = "English";
-      sha256 = "15m9l20jvkxh5w6mbp81ys7mx2lx5j8acw5gz0il89lklclgb8z7";
-      installer = "Mathematica_12.1.0_LINUX.sh";
-    }
-    {
-      version = "12.0.0";
-      lang = "en";
-      language = "English";
-      sha256 = "b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7";
-      installer = "Mathematica_12.0.0_LINUX.sh";
-    }
-    {
-      version = "11.3.0";
-      lang = "en";
-      language = "English";
-      sha256 = "0fcfe208c1eac8448e7be3af0bdb84370b17bd9c5d066c013928c8ee95aed10e";
-      installer = "Mathematica_11.3.0_LINUX.sh";
-    }
-    {
-      version = "11.2.0";
-      lang = "ja";
-      language = "Japanese";
-      sha256 = "916392edd32bed8622238df435dd8e86426bb043038a3336f30df10d819b49b1";
-      installer = "Mathematica_11.2.0_ja_LINUX.sh";
-    }
-  ]
-  ({ version, lang, language, sha256, installer }: {
-    inherit version lang;
-    name = "mathematica-${version}" + optionalString (lang != "en") "-${lang}";
-    src = requireFile {
-      name = installer;
-      message = ''
-        This nix expression requires that ${installer} is
-        already part of the store. Find the file on your Mathematica CD
-        and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
-      '';
-      inherit sha256;
-    };
-  });
-minVersion =
-  with lib;
-  if majorVersion == null
-  then elemAt (builtins.splitVersion (elemAt allVersions 0).version) 0
-  else majorVersion;
-maxVersion = toString (1 + builtins.fromJSON minVersion);
-in
-with lib;
-findFirst (l: (l.lang == lang
-               && l.version >= minVersion
-               && l.version < maxVersion))
-          (throw "Version ${minVersion} in language ${lang} not supported")
-          allVersions
diff --git a/pkgs/applications/science/math/mathematica/versions.nix b/pkgs/applications/science/math/mathematica/versions.nix
new file mode 100644
index 0000000000000..8f056a2342700
--- /dev/null
+++ b/pkgs/applications/science/math/mathematica/versions.nix
@@ -0,0 +1,103 @@
+{ lib, requireFile }:
+
+let versions = [
+  {
+    version = "13.0.1";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-NnKpIMG0rxr9SAcz9tZ2Zbr4JYdX3+WabtbXRAzybbo=";
+    installer = "Mathematica_13.0.1_BNDL_LINUX.sh";
+  }
+  {
+    version = "13.0.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-FbutOaWZUDEyXR0Xj2OwDnFwbT7JAB66bRaB+8mR0+E=";
+    installer = "Mathematica_13.0.0_BNDL_LINUX.sh";
+  }
+  {
+    version = "12.3.1";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-UbnKsS/ZGwCep61JaKLIpZ6U3FXS5swdcSrNW6LE1Qk=";
+    installer = "Mathematica_12.3.1_LINUX.sh";
+  }
+  {
+    version = "12.3.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-BF3wRfbnlt7Vn2TrLg8ZSayI3LodW24F+1PqCkrtchU=";
+    installer = "Mathematica_12.3.0_LINUX.sh";
+  }
+  {
+    version = "12.2.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-O2Z2ogPGrbfpxBilSEsDeXQoe1vgnGTn3+p03cDkANc=";
+    installer = "Mathematica_12.2.0_LINUX.sh";
+  }
+  {
+    version = "12.1.1";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-rUe4hr5KmGTXD1I/eSYVoFHU68mH2aD2VLZFtOtDswo=";
+    installer = "Mathematica_12.1.1_LINUX.sh";
+  }
+  {
+    version = "12.1.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-56P1KKOTJkQj+K9wppAsnYpej/YB3VUNL7DPLYGgqZY=";
+    installer = "Mathematica_12.1.0_LINUX.sh";
+  }
+  {
+    version = "12.0.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-uftx4a/MHXLCABlv+kNFEtII+ikg4geHhDP1BOWK6dc=";
+    installer = "Mathematica_12.0.0_LINUX.sh";
+  }
+  {
+    version = "11.3.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-D8/iCMHqyESOe+OvC9uENwsXvZxdBmwBOSjI7pWu0Q4=";
+    installer = "Mathematica_11.3.0_LINUX.sh";
+  }
+  {
+    version = "11.2.0";
+    lang = "ja";
+    language = "Japanese";
+    sha256 = "sha256-kWOS7dMr7YYiI430Nd2OhkJrsEMDijM28w3xDYGbSbE=";
+    installer = "Mathematica_11.2.0_ja_LINUX.sh";
+  }
+  {
+    version = "9.0.0";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-mKgxdd7dLWa5EOuR5C37SeU+UC9Cv5YTbY5xSK9y34A=";
+    installer = "Mathematica_9.0.0_LINUX.sh";
+  }
+  {
+    version = "10.0.2";
+    lang = "en";
+    language = "English";
+    sha256 = "sha256-NHUg1jzLos1EsIr8TdYdNaA5+3jEcFqVZIr9GVVUXrQ=";
+    installer = "Mathematica_10.0.2_LINUX.sh";
+  }
+];
+
+in
+
+lib.flip map versions ({ version, lang, language, sha256, installer }: {
+  inherit version lang;
+  src = requireFile {
+    name = installer;
+    message = ''
+      This nix expression requires that ${installer} is
+      already part of the store. Find the file on your Mathematica CD
+      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
+    '';
+    inherit sha256;
+  };
+})
diff --git a/pkgs/applications/science/math/primecount/default.nix b/pkgs/applications/science/math/primecount/default.nix
new file mode 100644
index 0000000000000..993092c4653fc
--- /dev/null
+++ b/pkgs/applications/science/math/primecount/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, primesieve
+}:
+
+stdenv.mkDerivation rec {
+  pname = "primecount";
+  version = "7.3";
+
+  src = fetchFromGitHub {
+    owner = "kimwalisch";
+    repo = "primecount";
+    rev = "v${version}";
+    hash = "sha256-hxnn1uiGSB6XRC7yK+SXTwTsJfjhemWXsMNhhL7Ghek=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ primesieve ];
+
+  cmakeFlags = [
+    "-DBUILD_LIBPRIMESIEVE=ON"
+    "-DBUILD_PRIMECOUNT=ON"
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_STATIC_LIBS=OFF"
+    "-DBUILD_TESTS=ON"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/kimwalisch/primecount";
+    description = "Fast prime counting function implementations";
+    longDescription = ''
+      primecount is a command-line program and C/C++ library that counts the
+      primes below an integer x ≤ 10^31 using highly optimized implementations
+      of the combinatorial prime counting algorithms.
+
+      primecount includes implementations of all important combinatorial prime
+      counting algorithms known up to this date all of which have been
+      parallelized using OpenMP. primecount contains the first ever open source
+      implementations of the Deleglise-Rivat algorithm and Xavier Gourdon's
+      algorithm (that works). primecount also features a novel load balancer
+      that is shared amongst all implementations and that scales up to hundreds
+      of CPU cores. primecount has already been used to compute several prime
+      counting function world records.
+    '';
+    license = licenses.bsd2;
+    inherit (primesieve.meta) maintainers platforms;
+  };
+}
diff --git a/pkgs/applications/science/math/primesieve/default.nix b/pkgs/applications/science/math/primesieve/default.nix
new file mode 100644
index 0000000000000..c57e2d71f1ee4
--- /dev/null
+++ b/pkgs/applications/science/math/primesieve/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "primesieve";
+  version = "7.9";
+
+  src = fetchFromGitHub {
+    owner = "kimwalisch";
+    repo = "primesieve";
+    rev = "v${version}";
+    hash = "sha256-lwT+adKFoNI125y5FuJMovtMh8sFi9oqMLYGLabzrCI=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    homepage = "https://primesieve.org/";
+    description = "Fast C/C++ prime number generator";
+    longDescription = ''
+      primesieve is a command-line program and C/C++ library for quickly
+      generating prime numbers. It is very cache efficient, it detects your
+      CPU's L1 & L2 cache sizes and allocates its main data structures
+      accordingly. It is also multi-threaded by default, it uses all available
+      CPU cores whenever possible i.e. if sequential ordering is not
+      required. primesieve can generate primes and prime k-tuplets up to 264.
+    '';
+    license = licenses.bsd2;
+    maintainers = teams.sage.members ++
+      (with maintainers; [ abbradar AndersonTorres ]);
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/math/ripser/default.nix b/pkgs/applications/science/math/ripser/default.nix
index 21f0d00339151..50ccee58f5039 100644
--- a/pkgs/applications/science/math/ripser/default.nix
+++ b/pkgs/applications/science/math/ripser/default.nix
@@ -1,5 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub
-, assembleReductionMatrix ? false
+{ lib, stdenv, fetchFromGitHub
 , useCoefficients ? false
 , indicateProgress ? false
 , useGoogleHashmap ? false, sparsehash ? null
@@ -14,7 +13,7 @@ assert useGoogleHashmap -> sparsehash != null;
 
 let
   inherit (lib) optional;
-  version = "1.0";
+  version = "1.2.1";
 in
 stdenv.mkDerivation {
   pname = "ripser";
@@ -23,25 +22,17 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "Ripser";
     repo = "ripser";
-    rev = "f69c6af6ca6883dd518c48faf41cf8901c379598";
-    sha256 = "1mw2898s7l29hgajsaf75bs9bjn2sn4g2mvmh41a602jpwp9r0rz";
+    rev = "v${version}";
+    sha256 = "sha256-BxmkPQ/nl5cF+xwQMTjXnLgkLgdmT/39y7Kzl2wDfpE=";
   };
 
-  #Patch from dev branch to make compilation work.
-  #Will be removed when it gets merged into master.
-  patches = [(fetchurl {
-    url = "https://github.com/Ripser/ripser/commit/dc78d8ce73ee35f3828f0aad67a4e53620277ebf.patch";
-    sha256 = "1y93aqpqz8fm1cxxrf90dhh67im3ndkr8dnxgbw5y96296n4r924";
-  })];
-
   buildInputs = optional useGoogleHashmap sparsehash;
 
   buildFlags = [
     "-std=c++11"
-    "-Ofast"
+    "-O3"
     "-D NDEBUG"
   ]
-  ++ optional assembleReductionMatrix "-D ASSEMBLE_REDUCTION_MATRIX"
   ++ optional useCoefficients "-D USE_COEFFICIENTS"
   ++ optional indicateProgress "-D INDICATE_PROGRESS"
   ++ optional useGoogleHashmap "-D USE_GOOGLE_HASHMAP"
diff --git a/pkgs/applications/science/math/singular/default.nix b/pkgs/applications/science/math/singular/default.nix
index 23712061160e4..aad3eaf529a0a 100644
--- a/pkgs/applications/science/math/singular/default.nix
+++ b/pkgs/applications/science/math/singular/default.nix
@@ -4,6 +4,7 @@
 , buildPackages
 , sharutils
 , file
+, getconf
 , flint
 , ntl
 , cddlib
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
     latex2html
     texinfo4
     texlive.combined.scheme-small
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ getconf ];
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   preAutoreconf = ''
diff --git a/pkgs/applications/science/math/wolfram-engine/default.nix b/pkgs/applications/science/math/wolfram-engine/default.nix
index df9e2f88dfca5..cf9364ffac174 100644
--- a/pkgs/applications/science/math/wolfram-engine/default.nix
+++ b/pkgs/applications/science/math/wolfram-engine/default.nix
@@ -101,7 +101,7 @@ stdenv.mkDerivation rec {
     # Fix the installation script
     patchShebangs MathInstaller
     substituteInPlace MathInstaller \
-      --replace "`hostname`" "" \
+      --replace '`hostname`' "" \
       --replace "chgrp" "# chgrp" \
       --replace "chown" ": # chown"
 
@@ -112,10 +112,14 @@ stdenv.mkDerivation rec {
 
     # Fix library paths
     cd $out/libexec/${dirName}/Executables
-    for path in MathKernel WolframKernel math mcc wolfram; do
+    for path in MathKernel math mcc wolfram; do
       makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path --set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}"
     done
 
+    for path in WolframKernel wolframscript; do
+      makeWrapper $out/libexec/${dirName}/SystemFiles/Kernel/Binaries/Linux-x86-64/$path $out/bin/$path --set LD_LIBRARY_PATH "${zlib}/lib:${stdenv.cc.cc.lib}/lib:${libssh2}/lib:\''${LD_LIBRARY_PATH}"
+    done
+
     # ... and xkeyboard config path for Qt
     for path in WolframPlayer wolframplayer; do
       makeWrapper $out/libexec/${dirName}/Executables/$path $out/bin/$path \
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 0249752797c19..66acf07f8e4d7 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "7.5.0";
+  version = "7.6.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-KIKuV6DVHn3dDY/rJG1zNWM79tdDB6GGVH9/kYn6XaE=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-mIl5c+HR2kqgJzbLVTQjJlf4Ca/+Icqg9G49yIUyipc=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/science/physics/elmerfem/default.nix b/pkgs/applications/science/physics/elmerfem/default.nix
index 63dfe6c283730..a203db1204cb3 100644
--- a/pkgs/applications/science/physics/elmerfem/default.nix
+++ b/pkgs/applications/science/physics/elmerfem/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, qt4, qwt6_qt4, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade, libsForQt5, vtkWithQt5}:
 
 stdenv.mkDerivation rec {
   pname = "elmerfem";
@@ -13,19 +13,44 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  nativeBuildInputs = [ cmake gfortran pkg-config git ];
-  buildInputs = [ mpi blas liblapack qt4 qwt6_qt4 ];
+  nativeBuildInputs = [
+    cmake
+    gfortran
+    pkg-config
+    libsForQt5.wrapQtAppsHook
+  ];
+  buildInputs = [
+    mpi
+    blas
+    liblapack
+    libsForQt5.qtbase
+    libsForQt5.qtscript
+    libsForQt5.qwt
+    libGL
+    libGLU
+    opencascade
+    vtkWithQt5
+  ];
 
   preConfigure = ''
     patchShebangs ./
   '';
 
+  patches = [
+    ./patches/0001-fix-import-of-QPainterPath.patch
+    ./patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
+    ./patches/0003-ignore-qwt_compat.patch
+  ];
+
   storepath = placeholder "out";
 
   cmakeFlags = [
   "-DELMER_INSTALL_LIB_DIR=${storepath}/lib"
   "-DWITH_OpenMP:BOOLEAN=TRUE"
   "-DWITH_MPI:BOOLEAN=TRUE"
+  "-DWITH_QT5:BOOLEAN=TRUE"
+  "-DWITH_OCC:BOOLEAN=TRUE"
+  "-DWITH_VTK:BOOLEAN=TRUE"
   "-DWITH_ELMERGUI:BOOLEAN=TRUE"
   "-DCMAKE_INSTALL_LIBDIR=lib"
   "-DCMAKE_INSTALL_INCLUDEDIR=include"
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch b/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch
new file mode 100644
index 0000000000000..a9e1ba442b452
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0001-fix-import-of-QPainterPath.patch
@@ -0,0 +1,24 @@
+From 87885de957aa3f891fe963503c94685675c24f49 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Wed, 27 Apr 2022 19:16:42 +0200
+Subject: [PATCH] fix import of QPainterPath
+
+---
+ ElmerGUI/Application/twod/renderarea.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ElmerGUI/Application/twod/renderarea.cpp b/ElmerGUI/Application/twod/renderarea.cpp
+index 4c2515c5..65128ea9 100644
+--- a/ElmerGUI/Application/twod/renderarea.cpp
++++ b/ElmerGUI/Application/twod/renderarea.cpp
+@@ -38,6 +38,7 @@
+  *                                                                           *
+  *****************************************************************************/
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QMouseEvent>
+ #include <QFile>
+ #include <QTextStream>
+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch b/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
new file mode 100644
index 0000000000000..6c2782b9e0bd8
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0002-fem-rename-loopvars-to-avoid-redefinition.patch
@@ -0,0 +1,82 @@
+From 06634e5fd46a27dca11b87d4a38e9ead561de3d5 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Thu, 28 Apr 2022 15:47:07 +0200
+Subject: [PATCH] fem: rename loopvars to avoid redefinition
+
+---
+ fem/src/modules/DCRComplexSolve.F90 | 28 ++++++++++++++--------------
+ 1 file changed, 14 insertions(+), 14 deletions(-)
+
+diff --git a/fem/src/modules/DCRComplexSolve.F90 b/fem/src/modules/DCRComplexSolve.F90
+index 469214ee..268591fd 100644
+--- a/fem/src/modules/DCRComplexSolve.F90
++++ b/fem/src/modules/DCRComplexSolve.F90
+@@ -502,14 +502,14 @@ CONTAINS
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
+-           Tensor( i,1:n ) = Hwrk( i,1,1:n )
++        DO k=1,MIN(3,SIZE(Hwrk,1))
++           Tensor( k,1:n ) = Hwrk( k,1,1:n )
+         END DO
+ 
+       END IF
+@@ -1391,21 +1391,21 @@ contains
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE IF ( SIZE(Hwrk,2) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,1))
+-            Tensor(i,i,1:n) = Hwrk(i,1,1:n)
++         DO k=1,MIN(3,SIZE(Hwrk,1))
++            Tensor(k,k,1:n) = Hwrk(k,1,1:n)
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
++        DO k=1,MIN(3,SIZE(Hwrk,1))
+            DO j=1,MIN(3,SIZE(Hwrk,2))
+-              Tensor( i,j,1:n ) = Hwrk(i,j,1:n)
++              Tensor( k,j,1:n ) = Hwrk(k,j,1:n)
+            END DO
+         END DO
+ 
+@@ -1443,14 +1443,14 @@ contains
+ 
+       IF ( SIZE(Hwrk,1) == 1 ) THEN
+ 
+-         DO i=1,MIN(3,SIZE(Hwrk,2))
+-            Tensor( i,1:n ) = Hwrk( 1,1,1:n )
++         DO k=1,MIN(3,SIZE(Hwrk,2))
++            Tensor( k,1:n ) = Hwrk( 1,1,1:n )
+          END DO
+ 
+       ELSE
+ 
+-        DO i=1,MIN(3,SIZE(Hwrk,1))
+-           Tensor( i,1:n ) = Hwrk( i,1,1:n )
++        DO k=1,MIN(3,SIZE(Hwrk,1))
++           Tensor( k,1:n ) = Hwrk( k,1,1:n )
+         END DO
+ 
+       END IF
+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch b/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch
new file mode 100644
index 0000000000000..26954008d5d40
--- /dev/null
+++ b/pkgs/applications/science/physics/elmerfem/patches/0003-ignore-qwt_compat.patch
@@ -0,0 +1,36 @@
+From 26601fec36a4978e805aad40e6d0cbf268c653d2 Mon Sep 17 00:00:00 2001
+From: grindhold <grindhold@gmx.net>
+Date: Thu, 28 Apr 2022 17:13:06 +0200
+Subject: [PATCH] ignore qwt_compat
+
+---
+ ElmerGUI/Application/src/convergenceview.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ElmerGUI/Application/src/convergenceview.h b/ElmerGUI/Application/src/convergenceview.h
+index 377b644b..64250149 100755
+--- a/ElmerGUI/Application/src/convergenceview.h
++++ b/ElmerGUI/Application/src/convergenceview.h
+@@ -52,7 +52,7 @@
+ #include <qwt_plot_grid.h>

+ #include <qwt_legend.h>

+ /*#include <qwt_data.h> <-- deprecated in Qwt6, using qwt_compat.h instead*/

+-#include <qwt_compat.h>

++/*#include <qwt_compat.h>*/

+ #include <qwt_text.h>

+ #include <qwt_scale_engine.h>

+ 

+@@ -76,8 +76,8 @@ public:
+   

+ private:

+   int d_count;

+-  QwtArray<double> d_x;

+-  QwtArray<double> d_y;

++  QVector<double> d_x;

++  QVector<double> d_y;

+ };

+ 

+ class Curve

+-- 
+2.33.3
+
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index afd05c3e8f711..7a75c8edb2b36 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -68,6 +68,12 @@ mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    # fix build problems caused by https://github.com/mavlink/qgroundcontrol/pull/10132
+    # remove once updated past 4.2.0
+    ./fix-10132.patch
+  ];
+
   meta = with lib; {
     description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks";
     homepage = "http://qgroundcontrol.com/";
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch b/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch
new file mode 100644
index 0000000000000..0a666132f9319
--- /dev/null
+++ b/pkgs/applications/science/robotics/qgroundcontrol/fix-10132.patch
@@ -0,0 +1,62 @@
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
+index 2b314e0..ad1425e 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqsgtexture.cc
+@@ -35,7 +35,7 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+ 
+ GstQSGTexture::GstQSGTexture ()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   initializeOpenGLFunctions();
+ 
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
+index 3a68576..5203d13 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/gstqtglutility.cc
+@@ -58,7 +58,7 @@ gst_qt_get_gl_display ()
+ {
+   GstGLDisplay *display = NULL;
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
+index f031b36..3c6722a 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtitem.cc
+@@ -106,7 +106,7 @@ void InitializeSceneGraph::run()
+ 
+ QtGLVideoItem::QtGLVideoItem()
+ {
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   if (g_once_init_enter (&_debug)) {
+     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
+diff --git a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
+index 8bf14ae..2f88aa9 100644
+--- a/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
++++ b/libs/qmlglsink/gst-plugins-good/ext/qt/qtwindow.cc
+@@ -107,7 +107,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) :
+   QQuickWindow( parent ), source (src)
+ {
+   QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+-  static volatile gsize _debug;
++  static gsize _debug;
+ 
+   g_assert (app != NULL);
+ 
+@@ -156,7 +156,7 @@ QtGLWindow::beforeRendering()
+ 
+   g_mutex_lock (&this->priv->lock);
+ 
+-  static volatile gsize once = 0;
++  static gsize once = 0;
+   if (g_once_init_enter(&once)) {
+     this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch();
+     g_once_init_leave(&once,1);
+
diff --git a/pkgs/applications/search/recoll/default.nix b/pkgs/applications/search/recoll/default.nix
index 4c8a4b7850bdc..78b1901be4c05 100644
--- a/pkgs/applications/search/recoll/default.nix
+++ b/pkgs/applications/search/recoll/default.nix
@@ -35,14 +35,14 @@
 
 mkDerivation rec {
   pname = "recoll";
-  version = "1.31.0";
+  version = "1.32.0";
 
   src = fetchurl {
     url = "https://www.lesbonscomptes.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-TtkfohzeT0HO6ywCMNxrODW1DnJg5KMFkx9AbDfQt+c=";
+    sha256 = "sha256-4kt6g5MVZTyYLSH7q2z72nzAsU6fatC0vTebEKhSA6E=";
   };
 
-  configureFlags = [ "--enable-recollq" "--disable-webkit" ]
+  configureFlags = [ "--enable-recollq" "--disable-webkit" "--without-systemd" ]
     ++ lib.optionals (!withGui) [ "--disable-qtgui" "--disable-x11mon" ]
     ++ (if stdenv.isLinux then [ "--with-inotify" ] else [ "--without-inotify" ]);
 
@@ -87,6 +87,9 @@ mkDerivation rec {
     done
   '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace  $f --replace '"lyx"' '"${lib.getBin lyx}/bin/lyx"'
+  '' + lib.optionalString (stdenv.isDarwin && withGui) ''
+    mkdir $out/Applications
+    mv $out/bin/recoll.app $out/Applications
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/terminal-emulators/eterm/default.nix b/pkgs/applications/terminal-emulators/eterm/default.nix
index 769104fea4317..a0bccbfcb1edd 100644
--- a/pkgs/applications/terminal-emulators/eterm/default.nix
+++ b/pkgs/applications/terminal-emulators/eterm/default.nix
@@ -13,7 +13,7 @@
 
 stdenv.mkDerivation rec {
   pname = "eterm";
-  version = "0.9.6-unstable=2020-03-03";
+  version = "0.9.6+date=2020-03-03";
 
   src = fetchFromGitHub {
     owner = "mej";
@@ -43,7 +43,10 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
     knownVulnerabilities = [
-      "Usage of ANSI escape sequences causes unexpected newline-termination, leading to unexpected command execution (https://www.openwall.com/lists/oss-security/2021/05/17/1)"
+      ''Usage of ANSI escape sequences causes unexpected newline-termination,
+        leading to unexpected command execution. More info at:
+        - https://www.cve.org/CVERecord?id=CVE-2021-33477
+        - https://www.openwall.com/lists/oss-security/2021/05/17/1''
     ];
   };
 }
diff --git a/pkgs/applications/terminal-emulators/foot/default.nix b/pkgs/applications/terminal-emulators/foot/default.nix
index 41154cc1034fc..abcea5f69a066 100644
--- a/pkgs/applications/terminal-emulators/foot/default.nix
+++ b/pkgs/applications/terminal-emulators/foot/default.nix
@@ -27,7 +27,7 @@
 }:
 
 let
-  version = "1.11.0";
+  version = "1.12.1";
 
   # 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 = "1d9bk8lhmw5lc8k0mw80g0vbwgxyh3gw5c7ppy3sir07s9y0y0fn";
+    sha256 = "14jqs4sarxbrgi5pxz0afqa9jxq90cb5ayqd21qj2n65whqa5bpk";
   };
 
   depsBuildBuild = [
@@ -144,6 +144,7 @@ stdenv.mkDerivation rec {
   mesonBuildType = "release";
 
   # See https://codeberg.org/dnkl/foot/src/tag/1.9.2/INSTALL.md#options
+  # TODO(@sternenseemann): install systemd user units
   mesonFlags = [
     # Use lto
     "-Db_lto=true"
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 52e691f985045..65e15a12cc7a4 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -58,7 +58,7 @@ buildPythonApplication rec {
   ] ++ lib.optionals stdenv.isLinux [
     fontconfig libunistring libcanberra libX11
     libXrandr libXinerama libXcursor libxkbcommon libXi libXext
-    wayland-protocols wayland dbus
+    wayland-protocols wayland dbus libGL
   ];
 
   nativeBuildInputs = [
@@ -75,8 +75,6 @@ buildPythonApplication rec {
     libicns  # For the png2icns tool.
   ];
 
-  propagatedBuildInputs = lib.optional stdenv.isLinux libGL;
-
   outputs = [ "out" "terminfo" "shell_integration" ];
 
   patches = [
diff --git a/pkgs/applications/version-management/cvs2svn/default.nix b/pkgs/applications/version-management/cvs2svn/default.nix
index 9f1df695a1743..a5903b7266e46 100644
--- a/pkgs/applications/version-management/cvs2svn/default.nix
+++ b/pkgs/applications/version-management/cvs2svn/default.nix
@@ -1,6 +1,7 @@
 { lib, fetchurl, makeWrapper
 , pypy2Packages
 , cvs, subversion, git, breezy
+, installShellFiles
 }:
 
 pypy2Packages.buildPythonApplication  rec {
@@ -12,7 +13,7 @@ pypy2Packages.buildPythonApplication  rec {
     sha256 = "1ska0z15sjhyfi860rjazz9ya1gxbf5c0h8dfqwz88h7fccd22b4";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   checkInputs = [ subversion git breezy ];
 
@@ -24,13 +25,15 @@ pypy2Packages.buildPythonApplication  rec {
     for i in bzr svn git; do
       wrapProgram $out/bin/cvs2$i \
           --prefix PATH : "${lib.makeBinPath [ cvs ]}"
+      $out/bin/cvs2$i --man > csv2$i.1
+      installManPage csv2$i.1
     done
   '';
 
   meta = with lib; {
     description = "A tool to convert CVS repositories to Subversion repositories";
     homepage = "https://github.com/mhagger/cvs2svn";
-    maintainers = [ maintainers.makefu ];
+    maintainers = with maintainers; [ makefu viraptor ];
     platforms = platforms.unix;
     license = licenses.asl20;
   };
diff --git a/pkgs/applications/version-management/fnc/default.nix b/pkgs/applications/version-management/fnc/default.nix
index 1e234dea5e3e6..564bcdc5897bc 100644
--- a/pkgs/applications/version-management/fnc/default.nix
+++ b/pkgs/applications/version-management/fnc/default.nix
@@ -1,12 +1,12 @@
-{ lib, fetchurl, stdenv, zlib, ncurses, libiconv }:
+{ lib, fetchurl, fetchpatch, stdenv, zlib, ncurses, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "fnc";
-  version = "0.10";
+  version = "0.12";
 
   src = fetchurl {
     url = "https://fnc.bsdbox.org/tarball/${version}/fnc-${version}.tar.gz";
-    sha256 = "1phqxh0afky7q2qmhgjlsq1awbv4254yd8wpzxlww4p7a57cp0lk";
+    sha256 = "05cg8id4d1ia8y60y3x23167bl1rn2fdpkf1jfj3aklhlihvkbxd";
   };
 
   buildInputs = [ libiconv ncurses zlib ];
@@ -17,14 +17,6 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-    test "$($out/bin/fnc --version)" = '${pname} ${version}'
-    runHook postInstallCheck
-  '';
-
   meta = with lib; {
     description = "Interactive ncurses browser for Fossil repositories";
     longDescription = ''
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index c1f2c281c7a08..92914f4549681 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "sha256-khW+Ri+MZytMZcd2tRXhc/D6kOOhk+LP6MsS+GijjQM=";
+    sha256 = "sha256-5h4epV3RORZiynW1fkFLImqPunC3PZ/YzLiSrzescww=";
   };
 
-  cargoSha256 = "sha256-SD1y+l86wqlJUUaG4ae4PXXSMS+4CPth3F4pLYbXMVc=";
+  cargoSha256 = "sha256-4dPTcrT8Gx3WfT0sauqnCSmcGE9LrgIqgHrY5l503ZA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/gfold/default.nix b/pkgs/applications/version-management/git-and-tools/gfold/default.nix
index ee280c6620c05..d3b960208fc92 100644
--- a/pkgs/applications/version-management/git-and-tools/gfold/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gfold/default.nix
@@ -1,28 +1,43 @@
-{ lib, fetchFromGitHub, gitMinimal, makeWrapper, rustPlatform }:
+{ fetchFromGitHub
+, gitMinimal
+, gfold
+, lib
+, libiconv
+, makeWrapper
+, rustPlatform
+, Security
+, stdenv
+, testVersion
+}:
 
-rustPlatform.buildRustPackage rec {
+let
   pname = "gfold";
-  version = "3.0.0";
+  version = "4.0.0";
+in
+rustPlatform.buildRustPackage {
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "nickgerace";
     repo = pname;
     rev = version;
-    sha256 = "0ss6vfrc6h3jlh5qilh82psd3vdnfawf1wl4cf64mfm4hm9dda63";
+    sha256 = "1yh5173qhi9bd41zss9k21nm0xnr2sa918kvlyr5xvzhq47rrwz5";
   };
 
-  cargoSha256 = "09ywwgxm8l1p0jypp65zpqryjnb2g4gririf1dmqb9148dsj29x2";
+  cargoSha256 = "sha256-o2fMIlj+veTmhfqi7BVpxr3520SOwWLmVS2UU83EVjo=";
 
-  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  postInstall = ''
-    wrapProgram "$out/bin/gfold" --prefix PATH : "${gitMinimal}/bin"
-  '';
+  passthru.tests.version = testVersion {
+    package = gfold;
+    command = "gfold --version";
+    inherit version;
+  };
 
   meta = with lib; {
-    inherit (src.meta) homepage;
     description =
-      "A tool to help keep track of your Git repositories, written in Rust";
+      "CLI tool to help keep track of your Git repositories, written in Rust";
+    homepage = "https://github.com/nickgerace/gfold";
     license = licenses.asl20;
     maintainers = [ maintainers.shanesveller ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 43311216e65f0..78ec57b9059ec 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.9.0";
+  version = "2.10.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-k8td9YKtlkit3YzpAncocZE7+Cl8v9ZNyPD4ZysCFRI=";
+    sha256 = "sha256-2lIHEO4+oW9+C7VSulmVwZJ1l6RYBbV6wlKMvdOGqi8=";
   };
 
-  vendorSha256 = "sha256-YLkNua0Pz0gVIYnWOzOlV5RuLBaoZ4l7l1Pf4QIfUVQ=";
+  vendorSha256 = "sha256-EFJfd6sUK5iquFW0kXaiH6tLiNqbZNe9awpIqmqhp7I=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-codereview/default.nix b/pkgs/applications/version-management/git-and-tools/git-codereview/default.nix
index 9028140784859..43de62876858d 100644
--- a/pkgs/applications/version-management/git-and-tools/git-codereview/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-codereview/default.nix
@@ -1,17 +1,22 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, git }:
 
-buildGoPackage {
+buildGoModule rec {
   pname = "git-codereview";
-  version = "2020-01-15";
-  goPackagePath = "golang.org/x/review";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "golang";
     repo = "review";
-    rev = "f51a73253c4da005cfdf18a036e11185c04c8ce3";
-    sha256 = "0c4vsyy5zp7pngqn4q87xipndghxyw2x57dkv1kxnrffckx1s3pc";
+    rev = "v${version}";
+    sha256 = "sha256-Hyo2UWGlxxeSz3E73DeA0VoOnBJ1VedvpshnATJGbFo=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkInputs = [ git ];
+
   meta = with lib; {
     description = "Manage the code review process for Git changes using a Gerrit server";
     homepage = "https://golang.org/x/review/git-codereview";
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index 6b6da70bb942d..d5fc50ff3fd62 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonApplication
+, pytest-mock
+, pytestCheckHook
 , fetchFromGitHub
 , installShellFiles
 , git
@@ -10,18 +12,18 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AuF4KUayMRQ2TsvjzpMHpppM+0e6igs7MrAXzGP9yp0=";
+    sha256 = "sha256-/oX3x5F5/gV8YuRLzAviE7RM+Gen0gIypHs34iUnVOM=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
-  checkInputs = [ git ];
+  checkInputs = [ git pytest-mock pytestCheckHook ];
 
   postInstall = ''
     installShellCompletion --bash --name git-machete completion/git-machete.completion.bash
diff --git a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index 87d92e72a8fec..d5791f6506cdf 100644
--- a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -2,17 +2,17 @@
 
 let
   pname = "radicle-upstream";
-  version = "0.2.12";
+  version = "0.3.0";
   name = "${pname}-${version}";
 
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://releases.radicle.xyz/radicle-upstream-${version}.AppImage";
-      sha256 = "7520c7feb94234df6f8523689d098e0d19510e2ac0122e482d1e01086c9b02fe";
+      sha256 = "sha256-Y7V89G+nXRtknOukvBN8Q+sNx91YNPDT0p5hrFYe/Sk=";
     };
     x86_64-darwin = fetchurl {
       url = "https://releases.radicle.xyz/radicle-upstream-${version}.dmg";
-      sha256 = "8bbff051f169f029044e4c4965cad88f48e939b945fd5c253f0c39665a19ce44";
+      sha256 = "sha256-EuWGbn6qggi8/9Rci8iaXfuVKE+QXb1BHEYDvotR/q4=";
     };
   };
   src = srcs.${stdenv.hostPlatform.system};
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 4585eda494742..cc8cd00b7d14e 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.10.1",
-  "repo_hash": "13868wb0zr862xaxapp8nxh16gjsawklw66rlxx95bhhm3r81nrp",
+  "version": "14.10.2",
+  "repo_hash": "0f7cfc1wrzz4m5yhd6jnp3dqpdy7vbj8bf826zjsi2ss48430bk0",
   "yarn_hash": "17wxqvig34namf8kvh8bwci3y0f3k2nl4zs99jcvskdad9p45rlc",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.10.1-ee",
+  "rev": "v14.10.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.10.1",
+    "GITALY_SERVER_VERSION": "14.10.2",
     "GITLAB_PAGES_VERSION": "1.56.1",
     "GITLAB_SHELL_VERSION": "13.25.1",
-    "GITLAB_WORKHORSE_VERSION": "14.10.1"
+    "GITLAB_WORKHORSE_VERSION": "14.10.2"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 3126ce718e854..127a4ec461fc4 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -11,7 +11,7 @@ let
     gemdir = ./.;
   };
 
-  version = "14.10.1";
+  version = "14.10.2";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -23,7 +23,7 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-4TbCfe41Nea1p0aDqGbF4SskUl5r9LRHKA16DH97jMI=";
+    sha256 = "sha256-hLTzkW5GDq1AgTwe1pVj6Tiyd0JpJ76ATFu3Q+m9MVg=";
   };
 
   vendorSha256 = "sha256-ZL61t+Ii2Ns3TmitiF93exinod54+RCqrbdpU67HeY0=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 602d8650f3376..2613fe85f81bd 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.10.1";
+  version = "14.10.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitless/default.nix b/pkgs/applications/version-management/gitless/default.nix
index a721834725889..31ab40d79478f 100644
--- a/pkgs/applications/version-management/gitless/default.nix
+++ b/pkgs/applications/version-management/gitless/default.nix
@@ -15,16 +15,15 @@ python3.pkgs.buildPythonApplication rec {
     hash = "sha256-xo5EWtP2aN8YzP8ro3bnxZwUGUp0PHD0g8hk+Y+gExE=";
   };
 
+  nativeBuildInputs = [ python3.pkgs.pythonRelaxDepsHook ];
+
   propagatedBuildInputs = with python3.pkgs; [
     sh
     pygit2
     clint
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "pygit2==0.28.2" "pygit2>=0.28.2"
-  '';
+  pythonRelaxDeps = [ "pygit2" ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index 9e444fb3b39e0..f38bb042c435f 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -1,17 +1,17 @@
-{ lib, stdenv, fetchurl, pkg-config, openssl, libuuid, libmd, zlib, ncurses }:
+{ lib, stdenv, fetchurl, pkg-config, openssl, libbsd, libuuid, libmd, zlib, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.68.1";
+  version = "0.69";
 
   src = fetchurl {
     url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "122wignzrhsw00mfnh7mxcxvjyp9rk73yxzfyvmg7f5kmb0hng35";
+    sha256 = "1cnl0yk866wzjwgas587kvb08njq7db71b5xqsdrwd1varp010vm";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl libuuid libmd zlib ncurses ];
+  buildInputs = [ openssl libbsd libuuid libmd zlib ncurses ];
 
   doInstallCheck = true;
 
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 462744641e3b1..f8f58cdcaba29 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -36,6 +36,13 @@ python3.pkgs.buildPythonApplication rec {
       url  = "https://gitlab.gnome.org/GNOME/meld/-/commit/cc7746c141d976a4779cf868774fae1fe7627a6d.patch";
       sha256 = "sha256-4uJZyF00Z6svzrOebByZV1hutCZRkIQYC4rUxQr5fdQ=";
     })
+
+    # Fix view not rendering with adwaita-icon-theme 42 due to removed icons.
+    # https://gitlab.gnome.org/GNOME/meld/-/merge_requests/83
+    (fetchpatch {
+      url  = "https://gitlab.gnome.org/GNOME/meld/-/commit/f850cdf3eaf0f08abea003d5fae118a5e92a3d61.patch";
+      sha256 = "PaK8Rpv79UwMUligm9pIY16JW/dm7eVXntAwTV4hnbE=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 4898729159907..96dc830248857 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,11 +21,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial${lib.optionalString fullBuild "-full"}";
-    version = "6.1.1";
+    version = "6.1.2";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-V7ikYdDOE9muOBfYqL35Ay407fqsPbzLO2a4NdzpM4g=";
+      sha256 = "sha256-pSgQ/AFAmCjEl00Lwsu1yA6UjVtYTPsadpliPpJKLyo=";
     };
 
     format = "other";
@@ -35,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "mercurial-${version}";
-      sha256 = "sha256-HYH7+OD11kdZdxFrx1KVle1NesS3fAgwVXJpAeiXDTo=";
+      sha256 = "sha256-OSaeOp+SjQ5n61jV8UthtQQqkneBYJhESoQDCwRSTco=";
       sourceRoot = "mercurial-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
@@ -151,6 +151,8 @@ let
     EOF
 
     export HGTEST_REAL_HG="${mercurial}/bin/hg"
+    # include tests for native components
+    export HGMODULEPOLICY="rust+c"
     # 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
diff --git a/pkgs/applications/version-management/p4v/default.nix b/pkgs/applications/version-management/p4v/default.nix
index 476df99d2324e..2e0e01e5c9862 100644
--- a/pkgs/applications/version-management/p4v/default.nix
+++ b/pkgs/applications/version-management/p4v/default.nix
@@ -1,12 +1,38 @@
-{ stdenv, fetchurl, lib, qtbase, qtmultimedia, qtscript, qtsensors, qtwebengine, qtwebkit, openssl, xkeyboard_config, patchelfUnstable, wrapQtAppsHook }:
+{ stdenv
+, fetchurl
+, lib
+, qtbase
+, qtwebengine
+, qtdeclarative
+, qtwebchannel
+, syntax-highlighting
+, openssl
+, xkeyboard_config
+, patchelfUnstable
+, wrapQtAppsHook
+, writeText
+}:
+let
+  # This abomination exists because p4v calls CRYPTO_set_mem_functions and
+  # expects it to succeed. The function will fail if CRYPTO_malloc has already
+  # been called, which happens at init time via qtwebengine -> ... -> libssh. I
+  # suspect it was meant to work with a version of Qt where openssl is
+  # statically linked or some other library is used.
+  crypto-hack = writeText "crypto-hack.c" ''
+      #include <stddef.h>
+      int CRYPTO_set_mem_functions(
+            void *(*m)(size_t, const char *, int),
+            void *(*r)(void *, size_t, const char *, int),
+            void (*f)(void *, const char *, int)) { return 1; }
+    '';
 
-stdenv.mkDerivation rec {
+in stdenv.mkDerivation rec {
   pname = "p4v";
-  version = "2020.1.1966006";
+  version = "2021.3.2186916";
 
   src = fetchurl {
-    url = "https://cdist2.perforce.com/perforce/r20.1/bin.linux26x86_64/p4v.tgz";
-    sha256 = "0zc70d7jgdrd2jli338n1h05hgb7jmmv8hvq205wh78vvllrlv10";
+    url = "http://web.archive.org/web/20211118024745/https://cdist2.perforce.com/perforce/r21.3/bin.linux26x86_64/p4v.tgz";
+    sha256 = "1zldg21xq4srww9pcfbv3p8320ghjnh333pz5r70z1gwbq4vf3jq";
   };
 
   dontBuild = true;
@@ -15,11 +41,10 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.makeLibraryPath [
       stdenv.cc.cc.lib
       qtbase
-      qtmultimedia
-      qtscript
-      qtsensors
       qtwebengine
-      qtwebkit
+      qtdeclarative
+      qtwebchannel
+      syntax-highlighting
       openssl
   ];
 
@@ -29,14 +54,17 @@ stdenv.mkDerivation rec {
     cp -r bin $out
     mkdir -p $out/lib
     cp -r lib/P4VResources $out/lib
+    $CC -fPIC -shared -o $out/lib/libcrypto-hack.so ${crypto-hack}
 
     for f in $out/bin/*.bin ; do
       patchelf --set-rpath $ldLibraryPath --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $f
       # combining this with above breaks rpath (patchelf bug?)
-      patchelf --add-needed libstdc++.so $f \
+      patchelf --add-needed libstdc++.so \
+               --add-needed $out/lib/libcrypto-hack.so \
                --clear-symbol-version _ZNSt20bad_array_new_lengthD1Ev \
                --clear-symbol-version _ZTVSt20bad_array_new_length \
                --clear-symbol-version _ZTISt20bad_array_new_length \
+               --clear-symbol-version _ZdlPvm \
                $f
       wrapQtApp $f \
         --suffix QT_XKB_CONFIG_ROOT : ${xkeyboard_config}/share/X11/xkb
diff --git a/pkgs/applications/version-management/rapidsvn/default.nix b/pkgs/applications/version-management/rapidsvn/default.nix
index 60d011b653d4e..bcb90c20698b7 100644
--- a/pkgs/applications/version-management/rapidsvn/default.nix
+++ b/pkgs/applications/version-management/rapidsvn/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python2 }:
+{ lib, stdenv, fetchurl, wxGTK, subversion, apr, aprutil, python3, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "rapidsvn";
@@ -9,13 +9,28 @@ stdenv.mkDerivation rec {
     sha256 = "1bmcqjc12k5w0z40k7fkk8iysqv4fw33i80gvcmbakby3d4d4i4p";
   };
 
-  buildInputs = [ wxGTK subversion apr aprutil python2 ];
+  buildInputs = [ wxGTK subversion apr aprutil python3 ];
+
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
 
   configureFlags = [ "--with-svn-include=${subversion.dev}/include"
     "--with-svn-lib=${subversion.out}/lib" ];
 
   patches = [
     ./fix-build.patch
+    # Python 3 compatibility patches
+    (fetchpatch {
+      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/2e26fd5d6a413d6c3a055c17ac4840b95d1537e9.patch";
+      hash = "sha256-8acABzscgZh1bfAt35KHfU+nfaiO7P1b+lh34Bj0REI=";
+    })
+    (fetchpatch {
+      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/92927af764f92b3731333ed3dba637f98611167a.patch";
+      hash = "sha256-4PdShGcfFwxjdI3ygbnKFAa8l9dGERq/xSl54WisgKM=";
+    })
+    (fetchpatch {
+      url = "https://github.com/RapidSVN/RapidSVN/pull/44/commits/3e375f11d94cb8faddb8b7417354a9fb51f304ec.patch";
+      hash = "sha256-BUpCMEH7jctOLtJktDUE52bxexfLemLItZ0IgdAnq9g=";
+    })
   ];
 
   meta = {
@@ -23,5 +38,7 @@ stdenv.mkDerivation rec {
     homepage = "http://rapidsvn.tigris.org/";
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.viric ];
+    platforms = lib.platforms.unix;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/version-management/rcshist/default.nix b/pkgs/applications/version-management/rcshist/default.nix
new file mode 100644
index 0000000000000..a9c7bbefc1318
--- /dev/null
+++ b/pkgs/applications/version-management/rcshist/default.nix
@@ -0,0 +1,22 @@
+{ lib
+, stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation {
+  pname = "rcshist";
+  version = "1.04";
+
+  src = fetchurl {
+    url = "https://web.archive.org/web/20220508220019/https://invisible-island.net/datafiles/release/rcshist.tar.gz";
+    sha256 = "01ab3xwgm934lxr8bm758am3vxwx4hxx7cc9prbgqj5nh30vdg1n";
+  };
+
+  meta = {
+    description = "Utitity to display complete revision history of a set of RCS files";
+    homepage = "https://invisible-island.net/rcshist/rcshist.html";
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.kaction ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/applications/version-management/sublime-merge/default.nix b/pkgs/applications/version-management/sublime-merge/default.nix
index fc8e5d4e4b17f..6526fdb2d1bed 100644
--- a/pkgs/applications/version-management/sublime-merge/default.nix
+++ b/pkgs/applications/version-management/sublime-merge/default.nix
@@ -4,13 +4,13 @@ let
   common = opts: callPackage (import ./common.nix opts);
 in {
   sublime-merge = common {
-    buildVersion = "2068";
-    sha256 = "sha256-CseZQgjqr8B66Slf/yFZZsnRFc3zqCGKFAzSdMRQdNI=";
+    buildVersion = "2071";
+    sha256 = "xYVk5Fx6VdoHzf0cbmhwKyEr5HDEZgPgDoBWQg/tS0U=";
   } {};
 
   sublime-merge-dev = common {
-    buildVersion = "2067";
-    sha256 = "sha256-ViBBi9Ghh4dHg7Gmg4i/B+Q4OgDd4XiHNIs12qffZdg=";
+    buildVersion = "2070";
+    sha256 = "2AA2HBF19g34ov6ytjL2caqS7Ro4eyj18vzwINm0CTw=";
     dev = true;
   } {};
 }
diff --git a/pkgs/applications/video/byzanz/default.nix b/pkgs/applications/video/byzanz/default.nix
index 2919cb10ca3f8..5e60bb7fd9086 100644
--- a/pkgs/applications/video/byzanz/default.nix
+++ b/pkgs/applications/video/byzanz/default.nix
@@ -1,13 +1,26 @@
-{ lib, stdenv, fetchgit, wrapGAppsHook, which, gnome, glib, intltool, pkg-config, libtool, cairo, gtk3, gst_all_1, xorg }:
+{ lib, stdenv
+, fetchgit
+, wrapGAppsHook
+, cairo
+, glib
+, gnome
+, gst_all_1
+, gtk3
+, intltool
+, libtool
+, pkg-config
+, which
+, xorg
+}:
 
 stdenv.mkDerivation {
-  version = "0.2.3.alpha";
   pname = "byzanz";
+  version = "unstable-2016-03-12";
 
   src = fetchgit {
     url = "https://gitlab.gnome.org/Archive/byzanz";
-    rev = "1875a7f6a3903b83f6b1d666965800f47db9286a";
-    sha256 = "0a72fw2mxl8vdcdnzy0bwis4jk28pd7nc8qgr4vhyw5pd48dynvh";
+    rev = "81235d235d12c9687897f7fc6ec0de1feaed6623";
+    hash = "sha256-3DUwXCPBAmeCRlDkiPUgwNyBa6bCvC/TLguMCK3bo4E=";
   };
 
   patches = [ ./add-amflags.patch ];
@@ -16,11 +29,31 @@ stdenv.mkDerivation {
     ./autogen.sh --prefix=$out
   '';
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+  NIX_CFLAGS_COMPILE = builtins.concatStringsSep " " [
+    "-Wno-error=deprecated-declarations"
+    "-Wno-error=incompatible-pointer-types"
+  ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ which gnome.gnome-common glib intltool libtool cairo gtk3 xorg.xwininfo xorg.libXdamage ]
-  ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad gst-plugins-good gst-plugins-ugly gst-libav wrapGAppsHook ]);
+  buildInputs = [
+    which
+    gnome.gnome-common
+    glib
+    intltool
+    libtool
+    cairo
+    gtk3
+    xorg.xwininfo
+    xorg.libXdamage
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    gst-plugins-good
+    gst-plugins-ugly
+    gst-libav
+    wrapGAppsHook
+  ]);
 
   meta = with lib; {
     description = "Tool to record a running X desktop to an animation suitable for presentation in a web browser";
diff --git a/pkgs/applications/video/clip/default.nix b/pkgs/applications/video/clip/default.nix
new file mode 100644
index 0000000000000..43f9437c57ad2
--- /dev/null
+++ b/pkgs/applications/video/clip/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-filebrowsing
+, qtmultimedia
+, qtquickcontrols2
+, taglib
+, ffmpeg
+}:
+
+mkDerivation rec {
+  pname = "clip";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "clip";
+    rev = "v${version}";
+    sha256 = "sha256-vW3A0PKJSC2QNs+QVZ9w0g4aVmcndhahrpkd4wWoUko=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-filebrowsing
+    qtmultimedia
+    qtquickcontrols2
+    taglib
+    ffmpeg
+  ];
+
+  meta = with lib; {
+    description = "Video player and video collection manager";
+    homepage = "https://invent.kde.org/maui/clip";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix
index b89193617274f..1f5d23a684a8a 100644
--- a/pkgs/applications/video/epgstation/default.nix
+++ b/pkgs/applications/video/epgstation/default.nix
@@ -23,18 +23,6 @@ let
     sha256 = "K1cAvmqWEfS6EY4MKAtjXb388XLYHtouxNM70PWgFig=";
   };
 
-  workaround-opencollective-buildfailures = stdenv.mkDerivation {
-    # FIXME: This should be removed when a complete fix is available
-    # https://github.com/svanderburg/node2nix/issues/145
-    name = "workaround-opencollective-buildfailures";
-    dontUnpack = true;
-    installPhase = ''
-      mkdir -p $out/bin
-      touch $out/bin/opencollective-postinstall
-      chmod +x $out/bin/opencollective-postinstall
-    '';
-  };
-
   client = nodePackages.epgstation-client.override (drv: {
     # FIXME: remove this option if possible
     #
@@ -49,21 +37,14 @@ let
   server = nodePackages.epgstation.override (drv: {
     inherit src;
 
-    bypassCache = false;
-
     # This is set to false to keep devDependencies at build time. Build time
     # dependencies are pruned afterwards.
     production = false;
 
-    buildInputs = [ bash ];
-    nativeBuildInputs = [
-      nodejs
-      workaround-opencollective-buildfailures
+    buildInputs = (drv.buildInputs or [ ]) ++ [ bash ];
+    nativeBuildInputs = (drv.nativeBuildInputs or [ ]) ++ [
       makeWrapper
-    ] ++ (with nodePackages; [
-      node-pre-gyp
-      node-gyp-build
-    ]);
+    ];
 
     preRebuild = ''
       # Fix for not being able to connect to mysql using domain sockets.
diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix
index 9331471c747e6..7f705bc3526df 100644
--- a/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.22.9";
+  version = "1.23.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RBrCIDinPXbXKqrrhqVf3rV4rfi+2PttIaYxUKOk7hs=";
+    sha256 = "sha256-DSBh3m7gGm5fWH47YWALlyhi4x6A2RcVrpuDDpXolSI=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
index 7698e6619d91c..1319f72f4e975 100644
--- a/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstreamhelper/default.nix
@@ -2,11 +2,11 @@
 buildKodiAddon rec {
   pname = "inputstreamhelper";
   namespace = "script.module.inputstreamhelper";
-  version = "0.5.8+matrix.1";
+  version = "0.5.10+matrix.1";
 
   src = fetchzip {
     url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
-    sha256 = "xdsUzmz8ji9JcYLEUFWwvXq0Oig5i08VPQD93K8R9hk=";
+    sha256 = "FcOktwtOT7kDM+3y9qPDk3xU1qVeCduyAdUzebtJzv4=";
   };
 
   passthru = {
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 0c435bfbe158d..6d280e71b8610 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -1,60 +1,37 @@
 { 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
-, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
-, xineramaSupport ? true, libXinerama ? null
-, xvSupport ? true, libXv ? null
-, alsaSupport ? stdenv.isLinux, alsa-lib ? null
-, screenSaverSupport ? true, libXScrnSaver ? null
-, vdpauSupport ? false, libvdpau ? null
-, cddaSupport ? !stdenv.isDarwin, cdparanoia ? null
-, dvdnavSupport ? !stdenv.isDarwin, libdvdnav ? null
-, dvdreadSupport ? true, libdvdread ? null
-, bluraySupport ? true, libbluray ? null
-, amrSupport ? false, amrnb ? null, amrwb ? null
-, cacaSupport ? true, libcaca ? null
-, lameSupport ? true, lame ? null
-, speexSupport ? true, speex ? null
-, theoraSupport ? true, libtheora ? null
-, x264Support ? false, x264 ? null
-, jackaudioSupport ? false, libjack2 ? null
-, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null
-, bs2bSupport ? false, libbs2b ? null
-, v4lSupport ? false, libv4l ? null
+, aalibSupport ? true, aalib
+, fontconfigSupport ? true, fontconfig, freefont_ttf
+, fribidiSupport ? true, fribidi
+, x11Support ? true, libX11, libXext, libGLU, libGL
+, xineramaSupport ? true, libXinerama
+, xvSupport ? true, libXv
+, alsaSupport ? stdenv.isLinux, alsa-lib
+, screenSaverSupport ? true, libXScrnSaver
+, vdpauSupport ? false, libvdpau
+, cddaSupport ? !stdenv.isDarwin, cdparanoia
+, dvdnavSupport ? !stdenv.isDarwin, libdvdnav
+, dvdreadSupport ? true, libdvdread
+, bluraySupport ? true, libbluray
+, amrSupport ? false, amrnb, amrwb
+, cacaSupport ? true, libcaca
+, lameSupport ? true, lame
+, speexSupport ? true, speex
+, theoraSupport ? true, libtheora
+, x264Support ? false, x264
+, jackaudioSupport ? false, libjack2
+, pulseSupport ? config.pulseaudio or false, libpulseaudio
+, bs2bSupport ? false, libbs2b
+, v4lSupport ? false, libv4l
 # For screenshots
-, libpngSupport ? true, libpng ? null
-, libjpegSupport ? true, libjpeg ? null
+, libpngSupport ? true, libpng
+, libjpegSupport ? true, libjpeg
 , useUnfreeCodecs ? false
-, darwin ? null
+, darwin
 , buildPackages
 }:
 
-assert fontconfigSupport -> (fontconfig != null);
-assert (!fontconfigSupport) -> (freefont_ttf != null);
-assert fribidiSupport -> (fribidi != null);
-assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
-assert xineramaSupport -> (libXinerama != null && x11Support);
-assert xvSupport -> (libXv != null && x11Support);
-assert alsaSupport -> alsa-lib != null;
-assert screenSaverSupport -> libXScrnSaver != null;
-assert vdpauSupport -> libvdpau != null;
-assert cddaSupport -> cdparanoia != null;
-assert dvdnavSupport -> libdvdnav != null;
-assert dvdreadSupport -> libdvdread != null;
-assert bluraySupport -> libbluray != null;
-assert amrSupport -> (amrnb != null && amrwb != null);
-assert cacaSupport -> libcaca != null;
-assert lameSupport -> lame != null;
-assert speexSupport -> speex != null;
-assert theoraSupport -> libtheora != null;
-assert x264Support -> x264 != null;
-assert jackaudioSupport -> libjack2 != null;
-assert pulseSupport -> libpulseaudio != null;
-assert bs2bSupport -> libbs2b != null;
-assert libpngSupport -> libpng != null;
-assert libjpegSupport -> libjpeg != null;
-assert v4lSupport -> libv4l != null;
+assert xineramaSupport -> x11Support;
+assert xvSupport -> x11Support;
 
 let
 
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
index d21d78c42b2a2..20c49692b8d3d 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-gstreamer.nix
@@ -10,21 +10,21 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-gstreamer";
-  version = "0.2.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "fzwoch";
     repo = "obs-gstreamer";
     rev = "v${version}";
-    sha256 = "1fdpwr8br8x9cnrhr3j4f0l81df26n3bj2ibi3cg96rl86054nid";
+    hash = "sha256-KhSBZcV2yILTf5+aNoYWDfNwPiJoyYPeIOQMDFvOusg=";
   };
 
   nativeBuildInputs = [ pkg-config meson ninja ];
-  buildInputs = [ gst_all_1.gstreamermm obs-studio ];
+  buildInputs = with gst_all_1; [ gstreamer gst-plugins-base obs-studio ];
 
   meta = with lib; {
     description = "An OBS Studio source, encoder and video filter plugin to use GStreamer elements/pipelines in OBS Studio";
-    homepage = "https://github.com/fswoch/obs-gstreamer";
+    homepage = "https://github.com/fzwoch/obs-gstreamer";
     maintainers = with maintainers; [ ahuzik ];
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" ];
diff --git a/pkgs/applications/video/ogmtools/default.nix b/pkgs/applications/video/ogmtools/default.nix
index 9f7e08a9ddf4a..48f1b98f6e537 100644
--- a/pkgs/applications/video/ogmtools/default.nix
+++ b/pkgs/applications/video/ogmtools/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libogg libvorbis libdvdread ];
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   meta = {
     description = "Tools for modifying and inspecting OGG media streams";
     longDescription = ''
diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix
index 04984212b249c..431d2dae4f049 100644
--- a/pkgs/applications/video/vdr/wrapper.nix
+++ b/pkgs/applications/video/vdr/wrapper.nix
@@ -17,7 +17,7 @@ in symlinkJoin {
   postBuild = ''
     wrapProgram $out/bin/vdr \
       --add-flags "-L $out/lib/vdr --localedir=$out/share/locale" \
-      --prefix XINE_PLUGIN_PATH ":" ${makeXinePluginPath requiredXinePlugins}
+      --prefix XINE_PLUGIN_PATH ":" ${lib.escapeShellArg (makeXinePluginPath requiredXinePlugins)}
   '';
 
   meta = with vdr.meta; {
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index c19b8fa15cd16..700730a57fc97 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -82,11 +82,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "${optionalString onlyLibVLC "lib"}vlc";
-  version = "3.0.17";
+  version = "3.0.17.3";
 
   src = fetchurl {
     url = "http://get.videolan.org/vlc/${version}/vlc-${version}.tar.xz";
-    sha256 = "sha256-SL2b8zeqEHoVJOulfFLcSpHin1qX+97pL2pNupA4PNA=";
+    sha256 = "sha256-b36Q74lz0x2W3mTbgXFz40UVCClxepQISxu4MhzeIBQ=";
   };
 
   # VLC uses a *ton* of libraries for various pieces of functionality, many of
diff --git a/pkgs/applications/video/vvave/default.nix b/pkgs/applications/video/vvave/default.nix
new file mode 100644
index 0000000000000..1612ce4200121
--- /dev/null
+++ b/pkgs/applications/video/vvave/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-accounts
+, mauikit-filebrowsing
+, qtmultimedia
+, qtquickcontrols2
+, taglib
+}:
+
+mkDerivation rec {
+  pname = "vvave";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "vvave";
+    rev = "v${version}";
+    sha256 = "sha256-ykX1kd3106KTDTJQIGk6miSgbj+oROiXQl/nkCjTphE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-accounts
+    mauikit-filebrowsing
+    qtmultimedia
+    qtquickcontrols2
+    taglib
+  ];
+
+  meta = with lib; {
+    description = "Multi-platform media player";
+    homepage = "https://invent.kde.org/maui/vvave";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
+
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index b6318dae7bb6b..c1302ac2de492 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.6.3";
+  version = "1.6.4";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-mVnZsvhpKx/5dHMF0Z8BfuUSqwoIhOtPkA/1BSrVVqA=";
+    sha256 = "sha256-425BcVHCliAHFQqGn6sWH/ahDX3JR6l/sYZWHpgmZW0=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/docker/compose.nix b/pkgs/applications/virtualization/docker/compose.nix
index fc264cdc59083..1b58b4ee9cf6a 100644
--- a/pkgs/applications/virtualization/docker/compose.nix
+++ b/pkgs/applications/virtualization/docker/compose.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "docker-compose";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "docker";
     repo = "compose";
     rev = "v${version}";
-    sha256 = "sha256-6yc+7Fc22b8xN8thRrxxpjdEz19aBYCWxgkh/nra784=";
+    sha256 = "sha256-gb2XFIzYU1dZh8WPheb4073AOLdfT7CbBD89HxobY9Y=";
   };
 
-  vendorSha256 = "sha256-N+paN3zEXzzUFb2JPVIDZYZ0h0iu7naiw4pSVnGsuKQ=";
+  vendorSha256 = "sha256-2pWBMXVnmKE4D7JXaKOqtuCz7nsX2a/58lyLp58OTYI=";
 
   ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index ef9050f47d969..125061bedaf2c 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -186,7 +186,7 @@ rec {
       export BUILDTIME="1970-01-01T00:00:00Z"
       source ./scripts/build/.variables
       export CGO_ENABLED=1
-      go build -tags pkcs11 --ldflags "$LDFLAGS" github.com/docker/cli/cmd/docker
+      go build -tags pkcs11 --ldflags "$GO_LDFLAGS" github.com/docker/cli/cmd/docker
       cd -
     '';
 
@@ -243,19 +243,19 @@ rec {
   # Get revisions from
   # https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
   docker_20_10 = callPackage dockerGen rec {
-    version = "20.10.14";
+    version = "20.10.15";
     rev = "v${version}";
-    sha256 = "sha256-eDwgqFx4io++SMOjhxMxVzqzcOgOnv6Xe/qmmPCvZts=";
+    sha256 = "sha256-uzwnXDomho5/Px4Ou/zP8Vedo2J9hVfcaFzM9vWh2Mo=";
     moby-src = fetchFromGitHub {
       owner = "moby";
       repo = "moby";
       rev = "v${version}";
-      sha256 = "sha256-I5oxpFLH789I2Sb29OXDaM4fCbQT/KvPq0DYcAVp0aI=";
+      sha256 = "sha256-+Eds5WI+Ujz/VxkWb1ToaGLk7wROTwWwJYpiZRIxAf0";
     };
-    runcRev = "v1.0.3";
-    runcSha256 = "sha256-Tl/JKbIpao+FCjngPzaVkxse50zo3XQ9Mg/AdkblMcI=";
-    containerdRev = "v1.5.11";
-    containerdSha256 = "sha256-YzFtv6DIjImSK0SywxhZrEeEmCnHTceAi3pfwnPubKg=";
+    runcRev = "v1.1.1";
+    runcSha256 = "sha256-6g2km+Y45INo2MTWMFFQFhfF8DAR5Su+YrJS8k3LYBY=";
+    containerdRev = "v1.6.4";
+    containerdSha256 = "sha256-425BcVHCliAHFQqGn6sWH/ahDX3JR6l/sYZWHpgmZW0=";
     tiniRev = "v0.19.0";
     tiniSha256 = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
   };
diff --git a/pkgs/applications/virtualization/libnvidia-container/default.nix b/pkgs/applications/virtualization/libnvidia-container/default.nix
index c7743bf44fc03..c74416ac33ba7 100644
--- a/pkgs/applications/virtualization/libnvidia-container/default.nix
+++ b/pkgs/applications/virtualization/libnvidia-container/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , lib
+, addOpenGLRunpath
 , fetchFromGitHub
 , pkg-config
 , libelf
@@ -8,25 +9,31 @@
 , rpcsvc-proto
 , libtirpc
 , makeWrapper
+, substituteAll
+, go
 }:
 let
-  modp-ver = "450.57";
+  modprobeVersion = "495.44";
   nvidia-modprobe = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "nvidia-modprobe";
-    rev = modp-ver;
-    sha256 = "0r4f6lpbbqqs9932xd2mr7bxn6a3xdalcwq332fc1amrrkgzfyv7";
+    rev = modprobeVersion;
+    sha256 = "sha256-Y3ZOfge/EcmhqI19yWO7UfPqkvY1CHHvFC5l9vYyGuU=";
+  };
+  modprobePatch = substituteAll {
+    src = ./modprobe.patch;
+    inherit modprobeVersion;
   };
 in
 stdenv.mkDerivation rec {
   pname = "libnvidia-container";
-  version = "1.5.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b9yQ1mEo1EkjXMguV0t98OvFEQO4h76EVu154MsB2II=";
+    sha256 = "sha256-7OTawWwjeKU8wIa8I/+aSvAJli4kEua94nJSNyCajpE=";
   };
 
   patches = [
@@ -36,18 +43,8 @@ stdenv.mkDerivation rec {
     # path.
     ./libnvc-ldconfig-and-path-fixes.patch
 
-    # the libnvidia-container Makefile wants to build and install static
-    # libtirpc libraries; this patch prevents that from happening
-    ./avoid-static-libtirpc-build.patch
-  ];
-
-  makeFlags = [
-    "WITH_LIBELF=yes"
-    "prefix=$(out)"
-    # we can't use the WITH_TIRPC=yes flag that exists in the Makefile for the
-    # same reason we patch out the static library use of libtirpc so we set the
-    # define in CFLAGS
-    "CFLAGS=-DWITH_TIRPC"
+    # fix bogus struct declaration
+    ./inline-c-struct.patch
   ];
 
   postPatch = ''
@@ -56,27 +53,61 @@ stdenv.mkDerivation rec {
       -e 's/^COMPILER :=.*/COMPILER = $(CC)/' \
       mk/common.mk
 
-    mkdir -p deps/src/nvidia-modprobe-${modp-ver}
-    cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modp-ver}
+    mkdir -p deps/src/nvidia-modprobe-${modprobeVersion}
+    cp -r ${nvidia-modprobe}/* deps/src/nvidia-modprobe-${modprobeVersion}
     chmod -R u+w deps/src
     pushd deps/src
-    patch -p0 < ${./modprobe.patch}
-    touch nvidia-modprobe-${modp-ver}/.download_stamp
+
+    patch -p0 < ${modprobePatch}
+    touch nvidia-modprobe-${modprobeVersion}/.download_stamp
     popd
+
+    # 1. replace DESTDIR=$(DEPS_DIR) with empty strings to prevent copying
+    #    things into deps/src/nix/store
+    # 2. similarly, remove any paths prefixed with DEPS_DIR
+    # 3. prevent building static libraries because we don't build static
+    #    libtirpc (for now)
+    # 4. prevent installation of static libraries because of step 3
+    # 5. prevent installation of libnvidia-container-go.so twice
+    sed -i Makefile \
+      -e 's#DESTDIR=\$(DEPS_DIR)#DESTDIR=""#g' \
+      -e 's#\$(DEPS_DIR)\$#\$#g' \
+      -e 's#all: shared static tools#all: shared tools#g' \
+      -e '/$(INSTALL) -m 644 $(LIB_STATIC) $(DESTDIR)$(libdir)/d' \
+      -e '/$(INSTALL) -m 755 $(libdir)\/$(LIBGO_SHARED) $(DESTDIR)$(libdir)/d'
   '';
 
-  postInstall = ''
-    wrapProgram $out/bin/nvidia-container-cli \
-      --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:/run/opengl-driver-32/lib
+  enableParallelBuilding = true;
+
+  preBuild = ''
+    HOME="$(mktemp -d)"
   '';
 
   NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
   NIX_LDFLAGS = [ "-L${libtirpc.dev}/lib" "-ltirpc" ];
 
-  nativeBuildInputs = [ pkg-config rpcsvc-proto makeWrapper ];
+  nativeBuildInputs = [ pkg-config go rpcsvc-proto makeWrapper ];
 
   buildInputs = [ libelf libcap libseccomp libtirpc ];
 
+  makeFlags = [
+    "WITH_LIBELF=yes"
+    "prefix=$(out)"
+    # we can't use the WITH_TIRPC=yes flag that exists in the Makefile for the
+    # same reason we patch out the static library use of libtirpc so we set the
+    # define in CFLAGS
+    "CFLAGS=-DWITH_TIRPC"
+  ];
+
+  postInstall =
+    let
+      inherit (addOpenGLRunpath) driverLink;
+      libraryPath = lib.makeLibraryPath [ "$out" driverLink "${driverLink}-32" ];
+    in
+    ''
+      wrapProgram $out/bin/nvidia-container-cli --prefix LD_LIBRARY_PATH : ${libraryPath}
+    '';
+
   meta = with lib; {
     homepage = "https://github.com/NVIDIA/libnvidia-container";
     description = "NVIDIA container runtime library";
diff --git a/pkgs/applications/virtualization/libnvidia-container/inline-c-struct.patch b/pkgs/applications/virtualization/libnvidia-container/inline-c-struct.patch
new file mode 100644
index 0000000000000..dab574e58398c
--- /dev/null
+++ b/pkgs/applications/virtualization/libnvidia-container/inline-c-struct.patch
@@ -0,0 +1,14 @@
+diff --git a/src/nvcgo.c b/src/nvcgo.c
+index 98789a3..47ad02b 100644
+--- a/src/nvcgo.c
++++ b/src/nvcgo.c
+@@ -33,7 +33,8 @@
+ void nvcgo_program_1(struct svc_req *, register SVCXPRT *);
+ 
+ static struct nvcgo_ext {
+-        struct nvcgo;
++        struct rpc rpc;
++        struct libnvcgo api;
+         bool initialized;
+         void *dl_handle;
+ } global_nvcgo_context;
diff --git a/pkgs/applications/virtualization/libnvidia-container/modprobe.patch b/pkgs/applications/virtualization/libnvidia-container/modprobe.patch
index 8e7b0a723ec0c..c28b6bad291db 100644
--- a/pkgs/applications/virtualization/libnvidia-container/modprobe.patch
+++ b/pkgs/applications/virtualization/libnvidia-container/modprobe.patch
@@ -1,6 +1,6 @@
-diff -ruN nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c
---- nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c	2020-07-09 17:06:05.000000000 +0000
-+++ nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c	2020-08-18 12:43:03.223871514 +0000
+diff -ruN nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.c nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.c
+--- nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.c	2020-07-09 17:06:05.000000000 +0000
++++ nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.c	2020-08-18 12:43:03.223871514 +0000
 @@ -840,10 +840,10 @@
      return mknod_helper(major, minor_num, vgpu_dev_name, NV_PROC_REGISTRY_PATH);
  }
@@ -16,9 +16,9 @@ diff -ruN nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.c nvidia-m
  {
      char field[32];
      FILE *fp;
-diff -ruN nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h
---- nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h	2020-07-09 17:06:05.000000000 +0000
-+++ nvidia-modprobe-450.57/modprobe-utils/nvidia-modprobe-utils.h	2020-08-18 12:43:44.227745050 +0000
+diff -ruN nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.h nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.h
+--- nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.h	2020-07-09 17:06:05.000000000 +0000
++++ nvidia-modprobe-@modprobeVersion@/modprobe-utils/nvidia-modprobe-utils.h	2020-08-18 12:43:44.227745050 +0000
 @@ -81,6 +81,7 @@
  int nvidia_nvswitch_get_file_state(int minor);
  int nvidia_cap_mknod(const char* cap_file_path, int *minor);
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 89568129918da..0c9ecf7e4d8ff 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,13 +17,13 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "4.0.3";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-o/CIs+3LnbaUUpOQI1hijrxH7f1qBnrQw56TJ18jKQw=";
+    sha256 = "sha256-3MR4ZhkhMLAK3KHu7JEV9z1/wlyCkxfx1i267TGxwt8=";
   };
 
   vendorSha256 = null;
@@ -97,5 +97,8 @@ buildGoModule rec {
     changelog = "https://github.com/containers/podman/blob/v${version}/RELEASE_NOTES.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
+    # requires >= 10.13 SDK https://github.com/NixOS/nixpkgs/issues/101229
+    # Undefined symbols for architecture x86_64: "_utimensat"
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index fa3a50bc53575..48a08f5184457 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -76,5 +76,5 @@ in runCommand podman.name {
   ln -s ${podman-unwrapped}/share $out/share
   makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \
     --set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \
-    --prefix PATH : ${binPath}
+    --prefix PATH : ${lib.escapeShellArg binPath}
 ''
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index ac661ea330c1b..9f9b0389cedf0 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -103,6 +103,12 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-gTRf9XENAfbFB3asYCXnw4OV4Af6VE1W56K2xpYDhgM=";
       revert = true;
     })
+    # make nixos tests that boot from USB more stable
+    # https://lists.nongnu.org/archive/html/qemu-devel/2022-05/msg01484.html
+    (fetchpatch {
+      url = "https://gitlab.com/raboof/qemu/-/commit/3fb5e8fe4434130b1167a995b2a01c077cca2cd5.patch";
+      sha256 = "sha256-evzrN3i4ntc/AFG0C0rezQpQbWcnx74nXO+5DLErX8o=";
+    })
   ]
     ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
 
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index e295a51637a7e..dbe434578963b 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -16,13 +16,13 @@
 
 buildGoModule rec {
   pname = "runc";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "opencontainers";
     repo = "runc";
     rev = "v${version}";
-    sha256 = "sha256-6g2km+Y45INo2MTWMFFQFhfF8DAR5Su+YrJS8k3LYBY=";
+    sha256 = "sha256-tMneqB81w8lQp5RWWCjALyKbOY3xog+oqb6cYKasG/8=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/virtualization/vmware-workstation/default.nix b/pkgs/applications/virtualization/vmware-workstation/default.nix
new file mode 100755
index 0000000000000..58cd4092a95d5
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/default.nix
@@ -0,0 +1,341 @@
+{ stdenv
+, buildFHSUserEnv
+, fetchurl
+, lib
+, zlib
+, gdbm
+, bzip2
+, libxslt
+, libxml2
+, libuuid
+, readline
+, xz
+, cups
+, glibc
+, libaio
+, vulkan-loader
+, alsa-lib
+, libpulseaudio
+, libGL
+, numactl
+, libX11
+, libXi
+, kmod
+, python3
+, autoPatchelfHook
+, makeWrapper
+, sqlite
+, enableInstaller ? false
+}:
+
+let
+  vmware-unpack-env = buildFHSUserEnv rec {
+    name = "vmware-unpack-env";
+    targetPkgs = pkgs: [ zlib ];
+  };
+  gdbm3 = gdbm.overrideAttrs (old: rec {
+    version = "1.8.3";
+
+    src = fetchurl {
+      url = "mirror://gnu/gdbm/gdbm-${version}.tar.gz";
+      sha256 = "sha256-zDQDOKLii0AFirnrU1SiHVP4ihWC6iG6C7GFw3ooHck=";
+    };
+
+    installPhase = ''
+      mkdir -p $out/lib
+      cp .libs/libgdbm*.so* $out/lib/
+    '';
+  });
+in
+stdenv.mkDerivation rec {
+  pname = "vmware-workstation";
+  version = "16.2.3";
+  build = "19376536";
+
+  buildInputs = [
+    libxslt
+    libxml2
+    libuuid
+    gdbm3
+    readline
+    xz
+    cups
+    glibc
+    libaio
+    vulkan-loader
+    alsa-lib
+    libpulseaudio
+    libGL
+    numactl
+    libX11
+    libXi
+    kmod
+  ];
+
+  nativeBuildInputs = [ python3 vmware-unpack-env autoPatchelfHook makeWrapper ]
+    ++ lib.optionals enableInstaller [ sqlite bzip2 ];
+
+  src = fetchurl {
+    url = "https://download3.vmware.com/software/WKST-1623-LX-New/VMware-Workstation-Full-${version}-${build}.x86_64.bundle";
+    sha256 = "sha256-+JE1KnRfawcaBannIyEr1TNZTF7YXRYYaFMVq0/erbM=";
+  };
+
+  unpackPhase = ''
+    ${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} --extract unpacked"
+  '';
+
+  installPhase = ''
+    mkdir -p \
+      $out/bin \
+      $out/etc/vmware \
+      $out/etc/init.d \
+      $out/lib/vmware \
+      $out/share/doc
+
+    #### Replicate vmware-installer's order but VMX first because of appLoader
+    ${lib.optionalString enableInstaller ''
+      ## VMware installer
+      echo "Installing VMware Installer"
+      unpacked="unpacked/vmware-installer"
+      vmware_installer_version=$(cat "unpacked/vmware-installer/manifest.xml" | grep -oPm1 "(?<=<version>)[^<]+")
+      dest="$out/lib/vmware-installer/$vmware_installer_version"
+
+      mkdir -p $dest
+      cp -r $unpacked/vmis* $dest/
+      cp -r $unpacked/sopython $dest/
+      cp -r $unpacked/python $dest/
+      cp -r $unpacked/cdsHelper $dest/
+      cp -r $unpacked/vmware* $dest/
+      cp -r $unpacked/bin $dest/
+      cp -r $unpacked/lib $dest/
+
+      chmod +x $dest/vmis-launcher $dest/sopython/* $dest/python/init.sh $dest/vmware-*
+      ln -s $dest/vmware-installer $out/bin/vmware-installer
+
+      mkdir -p $out/etc/vmware-installer
+      cp ${./vmware-installer-bootstrap} $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@INSTALLERDIR@@,$dest," $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@IVERSION@@,$vmware_installer_version," $out/etc/vmware-installer/bootstrap
+      sed -i -e "s,@@BUILD@@,${build}," $out/etc/vmware-installer/bootstrap
+
+      # create database of vmware guest tools (avoids vmware fetching them later)
+      mkdir -p $out/etc/vmware-installer/components
+      database_filename=$out/etc/vmware-installer/database
+      touch $database_filename
+      sqlite3 "$database_filename" "CREATE TABLE settings(key VARCHAR PRIMARY KEY, value VARCHAR NOT NULL, component_name VARCHAR NOT NULL);"
+      sqlite3 "$database_filename" "INSERT INTO settings(key,value,component_name) VALUES('db.schemaVersion','2','vmware-installer');"
+      sqlite3 "$database_filename" "CREATE TABLE components(id INTEGER PRIMARY KEY, name VARCHAR NOT NULL, version VARCHAR NOT NULL, buildNumber INTEGER NOT NULL, component_core_id INTEGER NOT NULL, longName VARCHAR NOT NULL, description VARCHAR, type INTEGER NOT NULL);"
+      for folder in unpacked/**/.installer ; do
+        component="$(basename $(dirname $folder))"
+        component_version=$(cat unpacked/$component/manifest.xml | grep -oPm1 "(?<=<version>)[^<]+")
+        component_core_id=$([ "$component" == "vmware-installer" ] && echo "-1" || echo "1")
+        type=$([ "$component" == "vmware-workstation" ] && echo "0" || echo "1")
+        sqlite3 "$database_filename" "INSERT INTO components(name,version,buildNumber,component_core_id,longName,description,type) VALUES(\"$component\",\"$component_version\",\"${build}\",$component_core_id,\"$component\",\"$component\",$type);"
+        mkdir -p $out/etc/vmware-installer/components/$component
+        cp -r $folder/* $out/etc/vmware-installer/components/$component
+      done
+    ''}
+
+    ## VMware Bootstrap
+    echo "Installing VMware Bootstrap"
+    cp ${./vmware-bootstrap} $out/etc/vmware/bootstrap
+    sed -i -e "s,@@PREFIXDIR@@,$out," $out/etc/vmware/bootstrap
+
+    ## VMware Config
+    echo "Installing VMware Config"
+    cp ${./vmware-config} $out/etc/vmware/config
+    sed -i -e "s,@@VERSION@@,${version}," $out/etc/vmware/config
+    sed -i -e "s,@@BUILD@@,${build}," $out/etc/vmware/config
+    sed -i -e "s,@@PREFIXDIR@@,$out," $out/etc/vmware/config
+
+    ## VMware VMX
+    echo "Installing VMware VMX"
+    unpacked="unpacked/vmware-vmx"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/etc/modprobe.d $out/etc/
+    cp -r $unpacked/etc/init.d/* $out/etc/init.d/
+    cp -r $unpacked/roms $out/lib/vmware/
+    cp -r $unpacked/sbin/* $out/bin/
+
+    cp -r $unpacked/lib/libconf $out/lib/vmware/
+    cp -r $unpacked/lib/bin $out/lib/vmware/
+    cp -r $unpacked/lib/lib $out/lib/vmware/
+    cp -r $unpacked/lib/scripts $out/lib/vmware/
+    cp -r $unpacked/lib/icu $out/lib/vmware/
+    cp -r $unpacked/lib/share $out/lib/vmware/
+    cp -r $unpacked/lib/modules $out/lib/vmware/
+    cp -r $unpacked/lib/include $out/lib/vmware/
+
+    cp -r $unpacked/extra/checkvm $out/bin/
+    cp -r $unpacked/extra/modules.xml $out/lib/vmware/modules/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-vmblock-fuse
+    ln -s $out/lib/vmware/icu $out/etc/vmware/icu
+
+    # Replace vmware-modconfig with simple error dialog
+    cp ${./vmware-modconfig} $out/bin/vmware-modconfig
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware," $out/bin/vmware-modconfig
+
+    # Patch dynamic libs in
+    for binary in "mksSandbox" "mksSandbox-debug" "mksSandbox-stats" "vmware-vmx" "vmware-vmx-debug" "vmware-vmx-stats"
+    do
+      patchelf \
+        --add-needed ${libaio}/lib/libaio.so.1 \
+        --add-needed ${vulkan-loader}/lib/libvulkan.so.1 \
+        --add-needed ${alsa-lib}/lib/libasound.so \
+        --add-needed ${libpulseaudio}/lib/libpulse.so.0 \
+        --add-needed ${libGL}/lib/libEGL.so.1 \
+        --add-needed ${numactl}/lib/libnuma.so.1 \
+        --add-needed ${libX11}/lib/libX11.so.6 \
+        --add-needed ${libXi}/lib/libXi.so.6 \
+        --add-needed ${libGL}/lib/libGL.so.1 \
+        $out/lib/vmware/bin/$binary
+    done
+
+    ## VMware USB Arbitrator
+    echo "Installing VMware USB Arbitrator"
+    unpacked="unpacked/vmware-usbarbitrator"
+    cp -r $unpacked/etc/init.d/* $out/etc/init.d/
+    cp -r $unpacked/bin/* $out/bin/
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-usbarbitrator
+
+    ## VMware Player Setup
+    echo "Installing VMware Player Setup"
+    unpacked="unpacked/vmware-player-setup"
+    mkdir -p $out/lib/vmware/setup
+    cp $unpacked/vmware-config $out/lib/vmware/setup/
+
+    ## VMware Network Editor
+    echo "Installing VMware Network Editor"
+    unpacked="unpacked/vmware-network-editor"
+    cp -r $unpacked/lib $out/lib/vmware/
+
+    ## VMware Tools + Virtual Printer
+    echo "Installing VMware Tools + Virtual Printer"
+    mkdir -p $out/lib/vmware/isoimages/
+    cp unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \
+       unpacked/vmware-tools-windows/windows.iso \
+       unpacked/vmware-tools-winPreVista/winPreVista.iso \
+       unpacked/vmware-virtual-printer/VirtualPrinter-Linux.iso \
+       unpacked/vmware-virtual-printer/VirtualPrinter-Windows.iso \
+       unpacked/vmware-tools-winPre2k/winPre2k.iso \
+       unpacked/vmware-tools-linux/linux.iso \
+       unpacked/vmware-tools-netware/netware.iso \
+       unpacked/vmware-tools-solaris/solaris.iso \
+       $out/lib/vmware/isoimages/
+
+    ## VMware Player Application
+    echo "Installing VMware Player Application"
+    unpacked="unpacked/vmware-player-app"
+    cp -r $unpacked/lib/* $out/lib/vmware/
+    cp -r $unpacked/etc/* $out/etc/
+    cp -r $unpacked/share/* $out/share/
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/doc/* $out/share/doc/ # Licences
+
+    mkdir -p $out/etc/thnuclnt
+    cp -r $unpacked/extras/.thnumod $out/etc/thnuclnt/
+
+    mkdir -p $out/lib/cups/filter
+    cp -r $unpacked/extras/thnucups $out/lib/cups/filter/
+
+    for target in "vmplayer" "vmware-enter-serial" "vmware-setup-helper" "licenseTool" "vmware-mount" "vmware-fuseUI" "vmware-app-control" "vmware-zenity"
+    do
+      ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/$target
+    done
+
+    ln -s $out/lib/vmware/bin/vmware-mount $out/bin/vmware-mount
+    ln -s $out/lib/vmware/bin/vmware-fuseUI $out/bin/vmware-fuseUI
+    ln -s $out/lib/vmware/bin/vmrest $out/bin/vmrest
+
+    # Patch vmplayer
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware," $out/bin/vmplayer
+    sed -i -e "s,/sbin/modprobe,${kmod}/bin/modprobe," $out/bin/vmplayer
+    sed -i -e "s,@@BINARY@@,$out/bin/vmplayer," $out/share/applications/vmware-player.desktop
+
+    ## VMware OVF Tool compoment
+    echo "Installing VMware OVF Tool for Linux"
+    unpacked="unpacked/vmware-ovftool"
+    mkdir -p $out/lib/vmware-ovftool/
+
+    cp -r $unpacked/* $out/lib/vmware-ovftool/
+    chmod 755 $out/lib/vmware-ovftool/ovftool*
+    makeWrapper "$out/lib/vmware-ovftool/ovftool.bin" "$out/bin/ovftool"
+
+    ## VMware Network Editor User Interface
+    echo "Installing VMware Network Editor User Interface"
+    unpacked="unpacked/vmware-network-editor-ui"
+    cp -r $unpacked/share/* $out/share/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-netcfg
+    ln -s $out/lib/vmware/bin/vmware-netcfg $out/bin/vmware-netcfg
+
+    # Patch network editor ui
+
+    sed -i -e "s,@@BINARY@@,$out/bin/vmware-netcfg," $out/share/applications/vmware-netcfg.desktop
+
+    ## VMware VIX Core Library
+    echo "Installing VMware VIX Core Library"
+    unpacked="unpacked/vmware-vix-core"
+    mkdir -p $out/lib/vmware-vix
+    cp -r $unpacked/lib/* $out/lib/vmware-vix/
+    cp -r $unpacked/bin/* $out/bin/
+    cp $unpacked/*.txt $out/lib/vmware-vix/
+
+    mkdir -p $out/share/doc/vmware-vix/
+    cp -r $unpacked/doc/* $out/share/doc/vmware-vix/
+
+    mkdir -p $out/include/
+    cp -r $unpacked/include/* $out/include/
+
+    ## VMware VIX Workstation-16.0.0 Library
+    echo "Installing VMware VIX Workstation-16.0.0 Library"
+    unpacked="unpacked/vmware-vix-lib-Workstation1600"
+    cp -r $unpacked/lib/* $out/lib/vmware-vix/
+
+    ## VMware VProbes component for Linux
+    echo "Installing VMware VProbes component for Linux"
+    unpacked="unpacked/vmware-vprobe"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/lib/* $out/lib/vmware/
+
+    ## VMware Workstation
+    echo "Installing VMware Workstation"
+    unpacked="unpacked/vmware-workstation"
+    cp -r $unpacked/bin/* $out/bin/
+    cp -r $unpacked/lib/* $out/lib/vmware/
+    cp -r $unpacked/share/* $out/share/
+    cp -r $unpacked/man $out/share/
+    cp -r $unpacked/doc $out/share/
+
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-tray
+    ln -s $out/lib/vmware/bin/appLoader $out/lib/vmware/bin/vmware-vprobe
+
+    # Patch vmware
+    sed -i -e "s,ETCDIR=/etc/vmware,ETCDIR=$out/etc/vmware,g" $out/bin/vmware
+    sed -i -e "s,/sbin/modprobe,${kmod}/bin/modprobe,g" $out/bin/vmware
+    sed -i -e "s,@@BINARY@@,$out/bin/vmware," $out/share/applications/vmware-workstation.desktop
+
+    chmod +x $out/bin/* $out/lib/vmware/bin/* $out/lib/vmware/setup/*
+
+    # Harcoded pkexec hack
+    for lib in "lib/vmware/lib/libvmware-mount.so/libvmware-mount.so" "lib/vmware/lib/libvmwareui.so/libvmwareui.so" "lib/vmware/lib/libvmware-fuseUI.so/libvmware-fuseUI.so"
+    do
+      sed -i -e "s,/usr/local/sbin,/run/vmware/bin," "$out/$lib"
+    done
+
+    # SUID hack
+    wrapProgram $out/lib/vmware/bin/vmware-vmx
+    rm $out/lib/vmware/bin/vmware-vmx
+    ln -s /run/wrappers/bin/vmware-vmx $out/lib/vmware/bin/vmware-vmx
+  '';
+
+  meta = with lib; {
+    description = "Industry standard desktop hypervisor for x86-64 architecture";
+    homepage = "https://www.vmware.com/products/workstation-pro.html";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ deinferno ];
+  };
+}
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap b/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap
new file mode 100644
index 0000000000000..93787870ec3cf
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-bootstrap
@@ -0,0 +1,11 @@
+PREFIX="@@PREFIXDIR@@"
+BINDIR="@@PREFIXDIR@@/bin"
+SBINDIR="@@PREFIXDIR@@/sbin"
+LIBDIR="@@PREFIXDIR@@/lib"
+DATADIR="@@PREFIXDIR@@/share"
+SYSCONFDIR="@@PREFIXDIR@@/etc"
+DOCDIR="@@PREFIXDIR@@/share/doc"
+MANDIR="@@PREFIXDIR@@/share/man"
+INCLUDEDIR="@@PREFIXDIR@@/include"
+INITDIR="@@PREFIXDIR@@/etc"
+INITSCRIPTDIR="@@PREFIXDIR@@/etc/init.d"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-config b/pkgs/applications/virtualization/vmware-workstation/vmware-config
new file mode 100644
index 0000000000000..9b3714bc3136c
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-config
@@ -0,0 +1,21 @@
+.encoding = "UTF-8"
+product.name = "VMware Workstation"
+product.version = "@@VERSION@@"
+product.buildNumber = "@@BUILD@@"
+workstation.product.version = "@@VERSION@@"
+player.product.version = "@@VERSION@@"
+vix.config.version = "1"
+bindir = "@@PREFIXDIR@@/bin"
+libdir = "@@PREFIXDIR@@/lib/vmware"
+vix.libdir = "@@PREFIXDIR@@/lib/vmware-vix"
+initscriptdir = "@@PREFIXDIR@@/lib/systemd/scripts"
+vmware.fullpath = "@@PREFIXDIR@@/bin/vmware"
+authd.fullpath = "@@PREFIXDIR@@/bin/vmware-authd"
+gksu.rootMethod = "su"
+NETWORKING = "yes"
+installerDefaults.autoSoftwareUpdateEnabled = "no"
+installerDefaults.dataCollectionEnabled = "no"
+installerDefaults.componentDownloadEnabled = "no"
+installerDefaults.transferVersion = "1"
+acceptOVFEULA = "yes"
+acceptEULA = "yes"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap b/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap
new file mode 100644
index 0000000000000..4db8f7a1b458f
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-installer-bootstrap
@@ -0,0 +1,5 @@
+VMWARE_INSTALLER="@@INSTALLERDIR@@"
+VERSION="@@IVERSION@@" # For backwards compability
+VMISVERSION="@@IVERSION@@"
+VMISBUILDNUM="@@BUILD@@"
+VMISPYVERSION="39"
diff --git a/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig b/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig
new file mode 100644
index 0000000000000..c93a371579667
--- /dev/null
+++ b/pkgs/applications/virtualization/vmware-workstation/vmware-modconfig
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+set -e
+
+ETCDIR=/etc/vmware
+. $ETCDIR/bootstrap
+
+exec "$LIBDIR"/vmware/bin/vmware-zenity --error --text "Reboot is required to load VMware kernel modules (make sure that 'virtualisation.vmware.host.enable' is enabled)"
diff --git a/pkgs/applications/window-managers/i3/blocks-gaps.nix b/pkgs/applications/window-managers/i3/blocks-gaps.nix
index 4acc2fb669c6a..deb0c99c313ac 100644
--- a/pkgs/applications/window-managers/i3/blocks-gaps.nix
+++ b/pkgs/applications/window-managers/i3/blocks-gaps.nix
@@ -28,17 +28,21 @@ stdenv.mkDerivation rec {
   buildInputs = optional (contains_any scripts perlscripts) perl;
   nativeBuildInputs = [ makeWrapper ];
 
-  postFixup = ''
+  postFixup = optionalString (elem "bandwidth" scripts) ''
     wrapProgram $out/libexec/i3blocks/bandwidth \
-      --prefix PATH : ${makeBinPath (optional (elem "bandwidth" scripts) iproute2)}
+      --prefix PATH : ${makeBinPath [ iproute2 ]}
+  '' + optionalString (elem "battery" scripts) ''
     wrapProgram $out/libexec/i3blocks/battery \
-      --prefix PATH : ${makeBinPath (optional (elem "battery" scripts) acpi)}
+      --prefix PATH : ${makeBinPath [ acpi ]}
+  '' + optionalString (elem "cpu_usage" scripts) ''
     wrapProgram $out/libexec/i3blocks/cpu_usage \
-      --prefix PATH : ${makeBinPath (optional (elem "cpu_usage" scripts) sysstat)}
+      --prefix PATH : ${makeBinPath [ sysstat ]}
+  '' + optionalString (elem "iface" scripts) ''
     wrapProgram $out/libexec/i3blocks/iface \
-      --prefix PATH : ${makeBinPath (optional (elem "iface" scripts) iproute2)}
+      --prefix PATH : ${makeBinPath [ iproute2 ]}
+  '' + optionalString (elem "volume" scripts) ''
     wrapProgram $out/libexec/i3blocks/volume \
-      --prefix PATH : ${makeBinPath (optional (elem "volume" scripts) alsa-utils)}
+      --prefix PATH : ${makeBinPath [ alsa-utils ]}
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/window-managers/oroborus/default.nix b/pkgs/applications/window-managers/oroborus/default.nix
index d24abb68fb7e7..275db56dadaea 100644
--- a/pkgs/applications/window-managers/oroborus/default.nix
+++ b/pkgs/applications/window-managers/oroborus/default.nix
@@ -1,27 +1,54 @@
-{ lib, stdenv, fetchurl, pkg-config
-, freetype, fribidi
-, libSM, libICE, libXt, libXaw, libXmu
-, libXext, libXft, libXpm, libXrandr
-, libXrender, xorgproto, libXinerama }:
+{ lib
+, stdenv
+, fetchurl
+, freetype
+, fribidi
+, libICE
+, libSM
+, libXaw
+, libXext
+, libXft
+, libXinerama
+, libXmu
+, libXpm
+, libXrandr
+, libXrender
+, libXt
+, pkg-config
+, xorgproto
+}:
 
-with lib;
 stdenv.mkDerivation rec {
-
   pname = "oroborus";
   version = "2.0.20";
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ freetype fribidi libSM libICE libXt libXaw libXmu libXext
-                  libXft libXpm libXrandr libXrender xorgproto libXinerama ];
-
   src = fetchurl {
     url = "mirror://debian/pool/main/o/oroborus/oroborus_${version}.tar.gz";
-    sha256 = "12bvk8x8rfnymbfbwmdcrd9g8m1zxbcq7rgvfdkjr0gnpi0aa82j";
+    hash = "sha256-UiClQLz2gSxnc/vlg9nqP1T0UsusVb7cqt66jDqae4k=a";
   };
 
-  meta = {
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    freetype
+    fribidi
+    libICE
+    libSM
+    libXaw
+    libXext
+    libXft
+    libXinerama
+    libXmu
+    libXpm
+    libXrandr
+    libXrender
+    libXt
+    xorgproto
+  ];
+
+  meta = with lib; {
+    homepage = "https://web.archive.org/web/20191129172107/https://www.oroborus.org/";
     description = "A really minimalistic X window manager";
-    homepage = "https://www.oroborus.org/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/window-managers/sway/bg.nix b/pkgs/applications/window-managers/sway/bg.nix
index e98adefa4476a..7ef4a7d1f6ad5 100644
--- a/pkgs/applications/window-managers/sway/bg.nix
+++ b/pkgs/applications/window-managers/sway/bg.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-Lt/hn/K+CjcmU3Bs5wChiZq0VGNcraH4tSVYsmYnKjc=";
   };
 
+  strictDeps = true;
   depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols cairo gdk-pixbuf ];
diff --git a/pkgs/applications/window-managers/sway/contrib.nix b/pkgs/applications/window-managers/sway/contrib.nix
index caf34e543b7b4..a221eb7a8e65b 100644
--- a/pkgs/applications/window-managers/sway/contrib.nix
+++ b/pkgs/applications/window-managers/sway/contrib.nix
@@ -10,6 +10,7 @@
 , slurp
 , grim
 , jq
+, bash
 
 , python3Packages
 }:
@@ -27,8 +28,9 @@ grimshot = stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" ];
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper installShellFiles ];
-
+  buildInputs = [ bash ];
   installPhase = ''
     installManPage contrib/grimshot.1
 
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 727d9b4e6b36b..1b66257513457 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
     ./sway-config-nixos-paths.patch
   ];
 
+  strictDeps = true;
   depsBuildBuild = [
     pkg-config
   ];
diff --git a/pkgs/applications/window-managers/sway/idle.nix b/pkgs/applications/window-managers/sway/idle.nix
index da23386d41ce8..4b2909eac2160 100644
--- a/pkgs/applications/window-managers/sway/idle.nix
+++ b/pkgs/applications/window-managers/sway/idle.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "06iq12p4438d6bv3jlqsf01wjaxrzlnj1bnicn41kad563aq41xl";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols ]
                 ++ lib.optionals systemdSupport [ systemd ];
diff --git a/pkgs/applications/window-managers/sway/lock-effects.nix b/pkgs/applications/window-managers/sway/lock-effects.nix
index 9e919d3f88e15..6f1f337d23eec 100644
--- a/pkgs/applications/window-managers/sway/lock-effects.nix
+++ b/pkgs/applications/window-managers/sway/lock-effects.nix
@@ -1,13 +1,13 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , meson
 , ninja
 , pkg-config
 , scdoc
 , wayland
 , wayland-protocols
+, wayland-scanner
 , libxkbcommon
 , cairo
 , gdk-pixbuf
@@ -16,27 +16,21 @@
 
 stdenv.mkDerivation rec {
   pname = "swaylock-effects";
-  version = "1.6-3";
+  version = "unstable-2021-10-21";
 
   src = fetchFromGitHub {
     owner = "mortie";
     repo = "swaylock-effects";
-    rev = "v${version}";
-    sha256 = "sha256-71IX0fC4xCPP6pK63KtvDMb3KoP1rw/Iz3S7BgiLSpg=";
+    rev = "a8fc557b86e70f2f7a30ca9ff9b3124f89e7f204";
+    sha256 = "sha256-GN+cxzC11Dk1nN9wVWIyv+rCrg4yaHnCePRYS1c4JTk=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/mortie/swaylock-effects/commit/dfff235b09b475e79d75a040a0307a359974d360.patch";
-      sha256 = "t8Xz2wRSBlwGtkpWZyIGWX7V/y0P1r/50P8MfauMh4c=";
-    })
-  ];
-
   postPatch = ''
     sed -iE "s/version: '1\.3',/version: '${version}',/" meson.build
   '';
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
   mesonFlags = [
@@ -53,6 +47,6 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     license = licenses.mit;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ gnxlxnxx ];
+    maintainers = with maintainers; [ gnxlxnxx ma27 ];
   };
 }
diff --git a/pkgs/applications/window-managers/sway/lock-fancy.nix b/pkgs/applications/window-managers/sway/lock-fancy.nix
index 8c2a7e91649ab..8ca1dd7787756 100644
--- a/pkgs/applications/window-managers/sway/lock-fancy.nix
+++ b/pkgs/applications/window-managers/sway/lock-fancy.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, coreutils, grim, gawk, jq, swaylock
-, imagemagick, getopt, fontconfig, wmctrl, makeWrapper
+, imagemagick, getopt, fontconfig, wmctrl, makeWrapper, bash
 }:
 
 let
@@ -30,7 +30,9 @@ in stdenv.mkDerivation rec {
       --replace "/usr/share" "$out/share"
   '';
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bash ];
 
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
diff --git a/pkgs/applications/window-managers/sway/lock.nix b/pkgs/applications/window-managers/sway/lock.nix
index b70160b1dbfd6..970fdfe371fe8 100644
--- a/pkgs/applications/window-managers/sway/lock.nix
+++ b/pkgs/applications/window-managers/sway/lock.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , meson, ninja, pkg-config, scdoc, wayland-scanner
 , wayland, wayland-protocols, libxkbcommon, cairo, gdk-pixbuf, pam
 }:
@@ -14,6 +14,17 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-VVGgidmSQWKxZNx9Cd6z52apxpxVfmX3Ut/G9kzfDcY=";
   };
 
+  patches = [
+    # remove once when updating to 1.7
+    # https://github.com/swaywm/swaylock/pull/235
+    (fetchpatch {
+      url = "https://github.com/swaywm/swaylock/commit/5a1e6ad79aa7d79b32d36cda39400f3e889b8f8f.diff";
+      sha256 = "sha256-ZcZVImUzvng7sluC6q2B5UL8sVunLe4PIfc+tyw48RQ=";
+    })
+  ];
+
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon cairo gdk-pixbuf pam ];
 
diff --git a/pkgs/applications/window-managers/sway/wrapper.nix b/pkgs/applications/window-managers/sway/wrapper.nix
index c1f531683d70b..1eb9693379e62 100644
--- a/pkgs/applications/window-managers/sway/wrapper.nix
+++ b/pkgs/applications/window-managers/sway/wrapper.nix
@@ -37,6 +37,7 @@ in symlinkJoin {
   paths = (optional withBaseWrapper baseWrapper)
     ++ [ sway ];
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ]
     ++ (optional withGtkWrapper wrapGAppsHook);
 
diff --git a/pkgs/applications/window-managers/wmfs/default.nix b/pkgs/applications/window-managers/wmfs/default.nix
index 9169aea4f51a6..eaafac71b6c18 100644
--- a/pkgs/applications/window-managers/wmfs/default.nix
+++ b/pkgs/applications/window-managers/wmfs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub,
+{ lib, stdenv, fetchFromGitHub, fetchpatch,
   libX11, libXinerama, libXrandr, libXpm, libXft, imlib2 }:
 stdenv.mkDerivation {
   pname = "wmfs";
@@ -12,6 +12,17 @@ stdenv.mkDerivation {
     rev = "b7b8ff812d28c79cb22a73db2739989996fdc6c2";
   };
 
+  patches = [
+    # Pull patch pending upstream inclusion to fix build on
+    # -fno-common toolchain like upstream gcc-10:
+    #  https://github.com/xorg62/wmfs/pull/104
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/xorg62/wmfs/commit/e4ec12618f4689d791892ebb49df9610a25d24d3.patch";
+      sha256 = "0qvwry9sikvr85anzha9x4gcx0r2ckwdxqw2in2l6bl9z9d9c0w2";
+    })
+  ];
+
   buildInputs = [
     imlib2
     libX11
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 169edb171db41..9b9a21a1469c0 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -97,7 +97,7 @@ rec {
   };
   # Same example, but re-fetches every time the fetcher implementation changes.
   # NOTE: Only use this for testing, or you'd be wasting a lot of time, network and space.
-  testNixFromDockerHub = pkgs.invalidateFetcherByDrvHash pullImage {
+  testNixFromDockerHub = pkgs.testers.invalidateFetcherByDrvHash pullImage {
     imageName = "nixos/nix";
     imageDigest = "sha256:85299d86263a3059cf19f419f9d286cc9f06d3c13146a8ebbb21b3437f598357";
     sha256 = "19fw0n3wmddahzr20mhdqv6jkjn1kanh6n2mrr08ai53dr8ph5n7";
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
index 0e2650da51ca8..cd1c401735da8 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-build-hook.sh
@@ -28,8 +28,8 @@ dotnetBuildHook() {
                 --configuration "@buildType@" \
                 --no-restore \
                 ${versionFlag-} \
-                "${dotnetBuildFlags[@]}"  \
-                "${dotnetFlags[@]}"
+                ${dotnetBuildFlags[@]}  \
+                ${dotnetFlags[@]}
     done
 
     runHook postBuild
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
index f8ba8b8df2e96..1686c15d26937 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-configure-hook.sh
@@ -20,8 +20,8 @@ dotnetConfigureHook() {
                 -p:Deterministic=true \
                 --source "@nugetSource@/lib" \
                 ${parallelFlag-} \
-                "${dotnetRestoreFlags[@]}" \
-                "${dotnetFlags[@]}"
+                ${dotnetRestoreFlags[@]} \
+                ${dotnetFlags[@]}
     done
 
     runHook postConfigure
diff --git a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
index ac9bc873ee951..fcd3e7459006e 100644
--- a/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
+++ b/pkgs/build-support/dotnet/build-dotnet-module/hooks/dotnet-install-hook.sh
@@ -15,8 +15,8 @@ dotnetInstallHook() {
                 --configuration "@buildType@" \
                 --no-build \
                 --no-self-contained \
-                "${dotnetInstallFlags[@]}"  \
-                "${dotnetFlags[@]}"
+                ${dotnetInstallFlags[@]}  \
+                ${dotnetFlags[@]}
     done
 
     if [[ "${packNupkg-}" ]]; then
@@ -28,8 +28,8 @@ dotnetInstallHook() {
                     --output "$out/share" \
                     --configuration "@buildType@" \
                     --no-build \
-                    "${dotnetPackFlags[@]}"  \
-                    "${dotnetFlags[@]}"
+                    ${dotnetPackFlags[@]}  \
+                    ${dotnetFlags[@]}
         done
     fi
 
diff --git a/pkgs/build-support/fetchfirefoxaddon/tests.nix b/pkgs/build-support/fetchfirefoxaddon/tests.nix
index c407d0e74b821..fd70d0f82ac04 100644
--- a/pkgs/build-support/fetchfirefoxaddon/tests.nix
+++ b/pkgs/build-support/fetchfirefoxaddon/tests.nix
@@ -1,7 +1,7 @@
-{ invalidateFetcherByDrvHash, fetchFirefoxAddon, fetchurl, ... }:
+{ testers, fetchFirefoxAddon, fetchurl, ... }:
 
 {
-  simple = invalidateFetcherByDrvHash fetchFirefoxAddon {
+  simple = testers.invalidateFetcherByDrvHash fetchFirefoxAddon {
     name = "image-search-options";
     # Chosen because its only 147KB
     url = "https://addons.mozilla.org/firefox/downloads/file/3059971/image_search_options-3.0.12-fx.xpi";
@@ -14,7 +14,7 @@
         sha256 = "sha256-H73YWX/DKxvhEwKpWOo7orAQ7c/rQywpljeyxYxv0Gg=";
       };
     in
-    invalidateFetcherByDrvHash fetchFirefoxAddon {
+    testers.invalidateFetcherByDrvHash fetchFirefoxAddon {
       name = "image-search-options";
       src = image-search-options;
     };
diff --git a/pkgs/build-support/fetchgit/tests.nix b/pkgs/build-support/fetchgit/tests.nix
index c558fb6efa4d7..b9ab66d9353c1 100644
--- a/pkgs/build-support/fetchgit/tests.nix
+++ b/pkgs/build-support/fetchgit/tests.nix
@@ -1,14 +1,14 @@
-{ invalidateFetcherByDrvHash, fetchgit, ... }:
+{ testers, fetchgit, ... }:
 
 {
-  simple = invalidateFetcherByDrvHash fetchgit {
+  simple = testers.invalidateFetcherByDrvHash fetchgit {
     name = "nix-source";
     url = "https://github.com/NixOS/nix";
     rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
     sha256 = "sha256-7DszvbCNTjpzGRmpIVAWXk20P0/XTrWZ79KSOGLrUWY=";
   };
 
-  sparseCheckout = invalidateFetcherByDrvHash fetchgit {
+  sparseCheckout = testers.invalidateFetcherByDrvHash fetchgit {
     name = "nix-source";
     url = "https://github.com/NixOS/nix";
     rev = "9d9dbe6ed05854e03811c361a3380e09183f4f4a";
diff --git a/pkgs/build-support/fetchpatch/tests.nix b/pkgs/build-support/fetchpatch/tests.nix
index ff2b81bf3a1dc..a42b7cd7d14b3 100644
--- a/pkgs/build-support/fetchpatch/tests.nix
+++ b/pkgs/build-support/fetchpatch/tests.nix
@@ -1,18 +1,18 @@
-{ invalidateFetcherByDrvHash, fetchpatch, ... }:
+{ testers, fetchpatch, ... }:
 
 {
-  simple = invalidateFetcherByDrvHash fetchpatch {
+  simple = testers.invalidateFetcherByDrvHash fetchpatch {
     url = "https://github.com/facebook/zstd/pull/2724/commits/e1f85dbca3a0ed5ef06c8396912a0914db8dea6a.patch";
     sha256 = "sha256-PuYAqnJWAE+L9bsroOnnBGJhERW8LHrGSLtIEkKU9vg=";
   };
 
-  relative = invalidateFetcherByDrvHash fetchpatch {
+  relative = testers.invalidateFetcherByDrvHash fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
     relative = "include";
     sha256 = "sha256-KlmIbixcds6GyKYt1fx5BxDIrU7msrgDdYo9Va/KJR4=";
   };
 
-  full = invalidateFetcherByDrvHash fetchpatch {
+  full = testers.invalidateFetcherByDrvHash fetchpatch {
     url = "https://github.com/boostorg/math/commit/7d482f6ebc356e6ec455ccb5f51a23971bf6ce5b.patch";
     relative = "test";
     stripLen = 1;
diff --git a/pkgs/build-support/kernel/compress-firmware-xz.nix b/pkgs/build-support/kernel/compress-firmware-xz.nix
new file mode 100644
index 0000000000000..56595131c891d
--- /dev/null
+++ b/pkgs/build-support/kernel/compress-firmware-xz.nix
@@ -0,0 +1,16 @@
+{ runCommand }:
+
+firmware:
+
+runCommand "${firmware.name}-xz" {} ''
+  mkdir -p $out/lib
+  (cd ${firmware} && find lib/firmware -type d -print0) |
+      (cd $out && xargs -0 mkdir -v --)
+  (cd ${firmware} && find lib/firmware -type f -print0) |
+      (cd $out && xargs -0tP "$NIX_BUILD_CORES" -n1 \
+          sh -c 'xz -9c -T1 -C crc32 --lzma2=dict=2MiB "${firmware}/$1" > "$1.xz"' --)
+  (cd ${firmware} && find lib/firmware -type l) | while read link; do
+      target="$(readlink "${firmware}/$link")"
+      ln -vs -- "''${target/^${firmware}/$out}.xz" "$out/$link.xz"
+  done
+''
diff --git a/pkgs/build-support/kernel/modules-closure.sh b/pkgs/build-support/kernel/modules-closure.sh
index 3b3a38ea1d33e..74bc490eb15c9 100644
--- a/pkgs/build-support/kernel/modules-closure.sh
+++ b/pkgs/build-support/kernel/modules-closure.sh
@@ -81,8 +81,12 @@ for module in $(cat closure); do
     for i in $(modinfo -b $kernel --set-version "$version" -F firmware $module | grep -v '^name:'); do
         mkdir -p "$out/lib/firmware/$(dirname "$i")"
         echo "firmware for $module: $i"
-        cp "$firmware/lib/firmware/$i" "$out/lib/firmware/$i" 2>/dev/null \
-            || echo "WARNING: missing firmware $i for module $module"
+        for name in "$i" "$i.xz" ""; do
+            [ -z "$name" ] && echo "WARNING: missing firmware $i for module $module"
+            if cp "$firmware/lib/firmware/$name" "$out/lib/firmware/$name" 2>/dev/null; then
+                break
+            fi
+        done
     done
 done
 
diff --git a/pkgs/build-support/node/fetch-yarn-deps/tests/default.nix b/pkgs/build-support/node/fetch-yarn-deps/tests/default.nix
index a781dad830725..19451466f24fd 100644
--- a/pkgs/build-support/node/fetch-yarn-deps/tests/default.nix
+++ b/pkgs/build-support/node/fetch-yarn-deps/tests/default.nix
@@ -1,15 +1,15 @@
-{ invalidateFetcherByDrvHash, fetchYarnDeps, ... }:
+{ testers, fetchYarnDeps, ... }:
 
 {
-  simple = invalidateFetcherByDrvHash fetchYarnDeps {
+  simple = testers.invalidateFetcherByDrvHash fetchYarnDeps {
     yarnLock = ./simple.lock;
     sha256 = "sha256-Erdkw2E8wWT09jFNLXGkrdwKl0HuSZWnUDJUrV95vSE=";
   };
-  gitDep = invalidateFetcherByDrvHash fetchYarnDeps {
+  gitDep = testers.invalidateFetcherByDrvHash fetchYarnDeps {
     yarnLock = ./git.lock;
     sha256 = "sha256-lAqN4LpoE+jgsQO1nDtuORwcVEO7ogEV53jCu2jFJUI=";
   };
-  githubDep = invalidateFetcherByDrvHash fetchYarnDeps {
+  githubDep = testers.invalidateFetcherByDrvHash fetchYarnDeps {
     yarnLock = ./github.lock;
     sha256 = "sha256-Tsfgyjxz8x6gNmfN0xR7G/NQNoEs4svxRN/N+26vfJU=";
   };
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index eea1e3baeecaf..e122871f8f5a7 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -346,6 +346,9 @@ crate_: lib.makeOverridable
       outputs = if buildTests then [ "out" ] else [ "out" "lib" ];
       outputDev = if buildTests then [ "out" ] else [ "lib" ];
 
+      meta = {
+        mainProgram = crateName;
+      };
     } // extraDerivationAttrs
     )
   )
diff --git a/pkgs/build-support/rust/build-rust-package/default.nix b/pkgs/build-support/rust/build-rust-package/default.nix
index 2cfd8d172869e..e4772592e46cf 100644
--- a/pkgs/build-support/rust/build-rust-package/default.nix
+++ b/pkgs/build-support/rust/build-rust-package/default.nix
@@ -59,8 +59,8 @@ assert buildType == "release" || buildType == "debug";
 let
 
   cargoDeps =
-    if cargoVendorDir == null
-    then if cargoLock != null then importCargoLock cargoLock
+    if cargoVendorDir != null then null
+    else if cargoLock != null then importCargoLock cargoLock
     else fetchCargoTarball ({
       inherit src srcs sourceRoot unpackPhase cargoUpdateHook;
       name = cargoDepsName;
@@ -69,8 +69,7 @@ let
       hash = args.cargoHash;
     } // lib.optionalAttrs (args ? cargoSha256) {
       sha256 = args.cargoSha256;
-    } // depsExtraArgs)
-    else null;
+    } // depsExtraArgs);
 
   # If we have a cargoSha256 fixed-output derivation, validate it at build time
   # against the src fixed-output derivation to check consistency.
diff --git a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
index 986be5b9e1137..3931b37c24295 100644
--- a/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-binary-wrapper.sh
@@ -33,6 +33,7 @@ assertExecutable() {
 # To troubleshoot a binary wrapper after you compiled it,
 # use the `strings` command or open the binary file in a text editor.
 makeWrapper() {
+    local NIX_CFLAGS_COMPILE= NIX_CFLAGS_LINK=
     local original="$1"
     local wrapper="$2"
     shift 2
@@ -44,6 +45,7 @@ makeWrapper() {
     makeDocumentedCWrapper "$original" "$@" | \
       @CC@ \
         -Wall -Werror -Wpedantic \
+        -Wno-overlength-strings \
         -Os \
         -x c \
         -o "$wrapper" -
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
index d0ea088bf71e8..8c10f67c152ce 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , makeSetupHook
-, makeWrapper
+, makeBinaryWrapper
 , gobject-introspection
 , isGraphical ? true
 , gtk3
@@ -34,7 +34,7 @@ makeSetupHook {
   ] ++ [
 
     # We use the wrapProgram function.
-    makeWrapper
+    makeBinaryWrapper
   ];
   substitutions = {
     passthru.tests = let
@@ -59,8 +59,8 @@ makeSetupHook {
         tested = basic;
       in testLib.runTest "basic-contains-dconf" (
         testLib.skip stdenv.isDarwin ''
-          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
-          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES=" "${dconf.lib}/lib/gio/modules"}
+          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"}
+          ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GIO_EXTRA_MODULES" "${dconf.lib}/lib/gio/modules"}
         ''
       );
 
@@ -98,8 +98,8 @@ makeSetupHook {
       typelib-user-has-gi-typelib-path = let
         tested = typelib-user;
       in testLib.runTest "typelib-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Mahjong}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Mahjong}/lib/girepository-1.0"}
       '';
 
       # Simple derivation containing a gobject-introspection typelib in lib output.
@@ -143,8 +143,8 @@ makeSetupHook {
       typelib-multiout-user-has-gi-typelib-path = let
         tested = typelib-multiout-user;
       in testLib.runTest "typelib-multiout-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-Bechamel.lib}/lib/girepository-1.0"}
       '';
 
       # Simple derivation that contains a typelib as well as a program using it.
@@ -169,8 +169,8 @@ makeSetupHook {
       typelib-self-user-has-gi-typelib-path = let
         tested = typelib-self-user;
       in testLib.runTest "typelib-self-user-has-gi-typelib-path" ''
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
-        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH=" "${typelib-self-user}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/bin/foo" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"}
+        ${expectSomeLineContainingYInFileXToMentionZ "${tested}/libexec/bar" "GI_TYPELIB_PATH" "${typelib-self-user}/lib/girepository-1.0"}
       '';
     };
   };
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
index 1757bdbbe2500..42866c3419ddf 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/tests/lib.nix
@@ -1,5 +1,4 @@
-{ runCommand
-}:
+{ lib, runCommand }:
 
 rec {
   runTest = name: body: runCommand name { } ''
@@ -19,12 +18,14 @@ rec {
   '';
 
   expectSomeLineContainingYInFileXToMentionZ = file: filter: expected: ''
-    if ! cat "${file}" | grep "${filter}"; then
-        ${fail "The file “${file}†should include a line containing “${filter}â€."}
+    file=${lib.escapeShellArg file} filter=${lib.escapeShellArg filter} expected=${lib.escapeShellArg expected}
+
+    if ! grep --text --quiet "$filter" "$file"; then
+        ${fail "The file “$file†should include a line containing “$filterâ€."}
     fi
 
-    if ! cat "${file}" | grep "${filter}" | grep ${expected}; then
-        ${fail "The file “${file}†should include a line containing “${filter}†that also contains “${expected}â€."}
+    if ! grep --text "$filter" "$file" | grep --text --quiet "$expected"; then
+        ${fail "The file “$file†should include a line containing “$filter†that also contains “$expectedâ€."}
     fi
   '';
 }
diff --git a/pkgs/build-support/skaware/build-skaware-package.nix b/pkgs/build-support/skaware/build-skaware-package.nix
index cd65196540748..1988d95212c30 100644
--- a/pkgs/build-support/skaware/build-skaware-package.nix
+++ b/pkgs/build-support/skaware/build-skaware-package.nix
@@ -22,7 +22,7 @@
 , postInstall
   # : list Maintainer
 , maintainers ? [ ]
-  # : passtrhu arguments (e.g. tests)
+  # : passthru arguments (e.g. tests)
 , passthru ? { }
 
 }:
diff --git a/pkgs/build-support/testers/default.nix b/pkgs/build-support/testers/default.nix
index 8b79843b8332f..3ab97760e725d 100644
--- a/pkgs/build-support/testers/default.nix
+++ b/pkgs/build-support/testers/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, lib, callPackage, runCommand }:
+{ pkgs, lib, callPackage, runCommand, stdenv }:
 # Documentation is in doc/builders/testers.chapter.md
 {
   testEqualDerivation = callPackage ./test-equal-derivation.nix { };
@@ -15,4 +15,49 @@
         echo "$output" >&2 && exit 1
       fi
     '';
+
+  # See doc/builders/testers.chapter.md or
+  # https://nixos.org/manual/nixpkgs/unstable/#tester-invalidateFetcherByDrvHash
+  invalidateFetcherByDrvHash = f: args:
+    let
+      drvPath = (f args).drvPath;
+      # It's safe to discard the context, because we don't access the path.
+      salt = builtins.unsafeDiscardStringContext (lib.substring 0 12 (baseNameOf drvPath));
+      # New derivation incorporating the original drv hash in the name
+      salted = f (args // { name = "${args.name or "source"}-salted-${salt}"; });
+      # Make sure we did change the derivation. If the fetcher ignores `name`,
+      # `invalidateFetcherByDrvHash` doesn't work.
+      checked =
+        if salted.drvPath == drvPath
+        then throw "invalidateFetcherByDrvHash: Adding the derivation hash to the fixed-output derivation name had no effect. Make sure the fetcher's name argument ends up in the derivation name. Otherwise, the fetcher will not be re-run when its implementation changes. This is important for testing."
+        else salted;
+    in checked;
+
+  # See doc/builders/testers.chapter.md or
+  # https://nixos.org/manual/nixpkgs/unstable/#tester-invalidateFetcherByDrvHash
+  nixosTest =
+    let
+      /* The nixos/lib/testing-python.nix module, preapplied with arguments that
+       * make sense for this evaluation of Nixpkgs.
+       */
+      nixosTesting =
+        (import ../../../nixos/lib/testing-python.nix {
+          inherit (stdenv.hostPlatform) system;
+          inherit pkgs;
+          extraConfigurations = [(
+            { lib, ... }: {
+              config.nixpkgs.pkgs = lib.mkDefault pkgs;
+            }
+          )];
+        });
+    in
+      test:
+        let
+          loadedTest = if builtins.typeOf test == "path"
+            then import test
+            else test;
+          calledTest = lib.toFunction loadedTest pkgs;
+        in
+          nixosTesting.makeTest calledTest;
+
 }
diff --git a/pkgs/build-support/testers/test/README.md b/pkgs/build-support/testers/test/README.md
new file mode 100644
index 0000000000000..2d6b4bdc43fea
--- /dev/null
+++ b/pkgs/build-support/testers/test/README.md
@@ -0,0 +1,8 @@
+# Tests _for the testers_
+
+    cd nixpkgs
+    nix-build -A tests.testers
+
+Tests generally derive their own correctness from simplicity, which in the
+case of testers (themselves functions) does not always work out.
+Hence the need for tests that test the testers.
diff --git a/pkgs/build-support/testers/test/default.nix b/pkgs/build-support/testers/test/default.nix
new file mode 100644
index 0000000000000..30e778cf652ea
--- /dev/null
+++ b/pkgs/build-support/testers/test/default.nix
@@ -0,0 +1,27 @@
+{ testers, lib, pkgs, ... }:
+let
+  pkgs-with-overlay = pkgs.extend(final: prev: {
+    proof-of-overlay-hello = prev.hello;
+  });
+
+  dummyVersioning = {
+    revision = "test";
+    versionSuffix = "test";
+    label = "test";
+  };
+
+in
+lib.recurseIntoAttrs {
+  # Check that the wiring of nixosTest is correct.
+  # Correct operation of the NixOS test driver should be asserted elsewhere.
+  nixosTest-example = pkgs-with-overlay.testers.nixosTest ({ lib, pkgs, figlet, ... }: {
+    name = "nixosTest-test";
+    nodes.machine = { pkgs, ... }: {
+      system.nixos = dummyVersioning;
+      environment.systemPackages = [ pkgs.proof-of-overlay-hello figlet ];
+    };
+    testScript = ''
+      machine.succeed("hello | figlet >/dev/console")
+    '';
+  });
+}
diff --git a/pkgs/build-support/trivial-builders/test/references.nix b/pkgs/build-support/trivial-builders/test/references.nix
index 989722121cb02..3e1eb16eecd0b 100644
--- a/pkgs/build-support/trivial-builders/test/references.nix
+++ b/pkgs/build-support/trivial-builders/test/references.nix
@@ -1,4 +1,4 @@
-{ lib, nixosTest, pkgs, writeText, hello, figlet, stdenvNoCC }:
+{ lib, testers, pkgs, writeText, hello, figlet, stdenvNoCC }:
 
 # -------------------------------------------------------------------------- #
 #
@@ -22,7 +22,7 @@ let
       lib.attrValues (import file { inherit pkgs; })
     );
 in
-nixosTest {
+testers.nixosTest {
   name = "nixpkgs-trivial-builders";
   nodes.machine = { ... }: {
     virtualisation.writableStore = true;
diff --git a/pkgs/data/documentation/nginx-doc/default.nix b/pkgs/data/documentation/nginx-doc/default.nix
new file mode 100644
index 0000000000000..c367912d6f982
--- /dev/null
+++ b/pkgs/data/documentation/nginx-doc/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, libxml2, libxslt, fetchhg }:
+
+# Upstream maintains documentation (sources of https://nginx.org) in separate
+# mercurial repository, which do not correspond to particular git commit, but at
+# least has "introduced in version X.Y" comments.
+#
+# In other words, documentation does not necessary matches capabilities of
+# $out/bin/nginx, but we have no better options.
+stdenv.mkDerivation {
+  pname = "nginx-doc-unstable";
+  version = "2022-05-05";
+  src = fetchhg {
+    url = "https://hg.nginx.org/nginx.org";
+    rev = "a3aee2697d4e";
+    sha256 = "029n4mnmjw94h01qalmjgf1c2h3h7wm798xv5knk3padxiy4m28b";
+  };
+  patches = [ ./exclude-google-analytics.patch ];
+  nativeBuildInputs = [ libxslt libxml2 ];
+
+  # Generated documentation is not local-friendly, since it assumes that link to directory
+  # is the same as link to index.html in that directory, which is not how browsers behave
+  # with local filesystem.
+  #
+  # TODO: patch all relative links that do not end with .html.
+
+  # /en subdirectory must exist, relative links expect it.
+  installPhase = ''
+    mkdir -p $out/share/doc/nginx
+    mv libxslt/en $out/share/doc/nginx
+  '';
+
+  meta = with lib; {
+    description = "A reverse proxy and lightweight webserver (documentation)";
+    homepage    = "https://nginx.org/";
+    license     = licenses.bsd2;
+    platforms   = platforms.all;
+    priority    = 6;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/pkgs/data/documentation/nginx-doc/exclude-google-analytics.patch b/pkgs/data/documentation/nginx-doc/exclude-google-analytics.patch
new file mode 100644
index 0000000000000..c2f3f520c3d10
--- /dev/null
+++ b/pkgs/data/documentation/nginx-doc/exclude-google-analytics.patch
@@ -0,0 +1,29 @@
+Kill google analytics from local documentation.
+
+diff -r bb0a2fbdc886 xslt/ga.xslt
+--- a/xslt/ga.xslt	Mon Apr 06 11:17:11 2020 +0100
++++ b/xslt/ga.xslt	Thu Apr 09 10:29:02 2020 -0400
+@@ -6,23 +6,6 @@
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+ 
+ <xsl:template name="ga">
+-
+-    <script>
+-        (function(w, d, s, l, i) {
+-            w[l] = w[l] || [];
+-            w[l].push({
+-                'gtm.start': new Date().getTime(),
+-                event: 'gtm.js'
+-            });
+-            var f = d.getElementsByTagName(s)[0],
+-                j = d.createElement(s),
+-                dl = l != 'dataLayer' ? '&amp;l=' + l : '';
+-            j.async = true;
+-            j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl;
+-            f.parentNode.insertBefore(j, f);
+-        })(window, document, 'script', 'dataLayer', 'GTM-TPSP33');
+-    </script>
+-
+ </xsl:template>
+ 
+ </xsl:stylesheet>
diff --git a/pkgs/data/fonts/font-awesome-5/default.nix b/pkgs/data/fonts/font-awesome/default.nix
index 7f251232ebc10..3403660b1e8ff 100644
--- a/pkgs/data/fonts/font-awesome-5/default.nix
+++ b/pkgs/data/fonts/font-awesome/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub }:
 let
-  font-awesome = { version, sha256, rev ? version}: fetchFromGitHub {
+  font-awesome = { version, sha256, rev ? version }: fetchFromGitHub {
     name = "font-awesome-${version}";
 
 
@@ -21,18 +21,20 @@ let
         Font Awesome gives you scalable vector icons that can instantly be customized.
         This package includes only the OTF font. For full CSS etc. see the project website.
       '';
-      homepage = "http://fortawesome.github.io/Font-Awesome/";
+      homepage = "https://fontawesome.com/";
       license = licenses.ofl;
       platforms = platforms.all;
       maintainers = with maintainers; [ abaldeau johnazoidberg ];
     };
   };
-in {
-  # Keeping version 4 because version 5 is incompatible for some icons. That
+in
+{
+  # Keeping version 4 and 5 because version 6 is incompatible for some icons. That
   # means that projects which depend on it need to actively convert the
   # symbols. See:
   # https://github.com/greshake/i3status-rust/issues/130
   # https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4
+  # https://fontawesome.com/v6/docs/web/setup/upgrade/
   v4 = font-awesome {
     version = "4.7.0";
     rev = "v4.7.0";
@@ -42,4 +44,8 @@ in {
     version = "5.15.3";
     sha256 = "sha256-EDxk/yO3nMmtM/ytrAEgPYSBbep3rA3NrKkiqf3OsU0=";
   };
+  v6 = font-awesome {
+    version = "6.1.1";
+    sha256 = "sha256-BjK1PJQFWtKDvfQ2Vh7BoOPqYucyvOG+2Pu/Kh+JpAA";
+  };
 }
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index c24c507695e53..f040506649252 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "6.0.0";
+  version = "6.0.1";
 
 in fetchzip {
   name = "ibm-plex-${version}";
@@ -13,7 +13,7 @@ in fetchzip {
     unzip -j $downloadedFile "OpenType/*/*.otf" -x "OpenType/IBM-Plex-Sans-JP/unhinted/*" -d $out/share/fonts/opentype
   '';
 
-  sha256 = "0zv9kw4hmchf374pl0iajzybmx5wklsplg56j115m46i4spij6mr";
+  sha256 = "sha256-HxO0L5Q6WJQBqtg64cczzuRcSYi4jEqbOzEWxDmqFp8=";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index 859dae4e49cbe..fbf16d16fd66b 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -11,7 +11,7 @@ let
     (builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
 in stdenv.mkDerivation rec {
   pname = "${name}-bin";
-  version = "15.2.0";
+  version = "15.3.0";
 
   src = fetchurl {
     url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";
diff --git a/pkgs/data/fonts/iosevka/variants.nix b/pkgs/data/fonts/iosevka/variants.nix
index 3e9e69ae9dfce..181aa44e01880 100644
--- a/pkgs/data/fonts/iosevka/variants.nix
+++ b/pkgs/data/fonts/iosevka/variants.nix
@@ -1,95 +1,95 @@
 # This file was autogenerated. DO NOT EDIT!
 {
-  iosevka = "0yyz8vmpi8pww0p9na564lvbkwhdhpk4bcyrli91dn5gq0pc1pvv";
-  iosevka-aile = "1lciycahvxgvmcniq4h3m1v3rc42nmv8ydb0fpbl9g4sc0qp81hq";
-  iosevka-curly = "02jvrj7kzd4bx3maj1bq2p9j746b8c5713d8lqkxx4fn9fm0zppq";
-  iosevka-curly-slab = "1bhvf95xs74wm8srsvl4yxwvl36llk93mpl1y9acc5z9rdcpzjqq";
-  iosevka-etoile = "1zmgfxfsbxv1k4fwnc7g2jlfhmlzp5kap8m3f10fqanpnkd0yf08";
-  iosevka-slab = "1qy86kdl6lgq5k1qb97adibpfjm4vg1wdnxbqizhqka5bc7avyzb";
-  iosevka-ss01 = "1k451iv9fvp86arw0z685xyixlkpnsg3mxl6k9s47xxf9r82ab2a";
-  iosevka-ss02 = "066l1jamvlnksl1jn4l5qqll4wi19w0jr9x7bw0lpdic9478cs8g";
-  iosevka-ss03 = "0qh5ds9s7rghmar90ymxvcninmcm2hc05f83ixjadjfg9a27sff7";
-  iosevka-ss04 = "1zl2m68wqync8n93n06yj49r6n652yakrvdcsdvqm3agajnz0wnk";
-  iosevka-ss05 = "0rxakr04kwrwjfq7a6y2vdyjfgn162d8353pn7nc9wsfyrjbqpc2";
-  iosevka-ss06 = "0lfv6cvqy1mcn7zds7c6w68ky4y3clmvxcrg5knilm7sfql1jis1";
-  iosevka-ss07 = "1cc15rnnq2vzp22p8ld94jl2lyn6k8bra5792yqvyg23lf493jk2";
-  iosevka-ss08 = "0ysrq40kpvgfiapk1x9nzvvd81r0kyl1jlywwhmm3f4qca86a3ja";
-  iosevka-ss09 = "1535y8gmlkd1nqywcbmp7x9y9ahmskmwgs138baaj642jbq85l1b";
-  iosevka-ss10 = "01z7nwyqqda6jw819ajr9cd691yxd0b3irj4amdwnl6b46a278q7";
-  iosevka-ss11 = "0zi2n6h7jqf4vbg6r5vjzk0y8fj1lfjifsa1s3j0dmgs05m2bzc8";
-  iosevka-ss12 = "1h5bw4fp6kgszzwd9dpi461yf3mnkm0b5cgpaliyl2qpd8jivmm1";
-  iosevka-ss13 = "06v5angxqnbz9a53358ls0w78ib1d57g3svnfyplw7ynd0rrvw93";
-  iosevka-ss14 = "0ic0hh6xh1pl1jzkmp1ddbzhvfzislimlgwsdcnimzxk6ga5k44j";
-  iosevka-ss15 = "1mg363g47j90z00dpha81jk0n2ck59ca172g165m7cmz1bb425iq";
-  iosevka-ss16 = "0bs3rhwgnv9cwzgmsgzgjgv6awz5igxcvq64xpycw0dp17wbfl1z";
-  iosevka-ss17 = "0ssi56j8jdkhpsq7acczy3z9v8q3amr6a6jxv49rd4473fxzh3zc";
-  iosevka-ss18 = "13s77f1ki09szpa64qb00421kj2n5q2lv0vb2ahnlvphsbgik1j6";
-  sgr-iosevka = "0pqhpm13q23f82lkcimk8pinm41j6xmdlqxmfzg1y7m50gzdm10r";
-  sgr-iosevka-aile = "1malyfkc9dd552p04vq2b2nlv613pjzw84q8gnlpy8bycgx5np3s";
-  sgr-iosevka-curly = "0b8gnk8hsily9wp91hi66xjyj5hwqcab7j64x1xzzdc7fnfaz0qq";
-  sgr-iosevka-curly-slab = "0i9k38a7fb9z6jwds92kz3pgf1ryjz1m12ad1mslwq82kwy00h3f";
-  sgr-iosevka-etoile = "0rw4dhivxf3yls28zs34xia56dzx1w2as2j619ji36dpmh1v3ljn";
-  sgr-iosevka-fixed = "1zcr7zcpca5bhgaisjjlbn7zn1ih6mz6k4nj27y4ya8hnasfqxlh";
-  sgr-iosevka-fixed-curly = "17jvx2rvfqx6ip8h8srr6iwy55nnwvkrrflr4hxdyv8ggi8d8y7d";
-  sgr-iosevka-fixed-curly-slab = "01s3wz0r2wmybws96s1mcplx7zrbciqabsgaa5jy4kwn8rg0ajpi";
-  sgr-iosevka-fixed-slab = "1xbsrywi413r6gkmwc11yw8pkrc6hkf5309dfr25qwnn6c8wvqiy";
-  sgr-iosevka-fixed-ss01 = "17776y4lv7vyqhcanmayvksh85v0907vys4f3hpxjbw86497f4zj";
-  sgr-iosevka-fixed-ss02 = "0cwz8bfj05vr2800r35nd8d7r05hr4fd2wbx26dga3qnddawcgbp";
-  sgr-iosevka-fixed-ss03 = "1df1aigpy5g46g68l9fln2af4fafl9fs197nz49biw66ndraym4c";
-  sgr-iosevka-fixed-ss04 = "02g22kfd4nw8cvfkcjw9mixvw2abfzpbalcwcqidyn8qd3s51x1v";
-  sgr-iosevka-fixed-ss05 = "12zwmzh0ilclkpw18lqkp4dpawngwf21ah90ywi3spzl9whqk5wc";
-  sgr-iosevka-fixed-ss06 = "01ajn8gwqljx8da9fv9dlawwafcnqvf9pld9h8lygrg67kf3p1j6";
-  sgr-iosevka-fixed-ss07 = "000sk29gfp9z7690880kixmk08swnwpp8zs89idgpg5qhs5479qm";
-  sgr-iosevka-fixed-ss08 = "1fcw4wmz12ar5hy3r5hmagwss46yjsckk4hxhjfphbapznmyw2dx";
-  sgr-iosevka-fixed-ss09 = "0jxpf854njzjw7r1q1jaizbfhaal7idhs9v5l64c03q40s2cycxr";
-  sgr-iosevka-fixed-ss10 = "0n40gl7ygcc03n6673rkjdfqshd6fx7f0a831fz007s61c38rdl9";
-  sgr-iosevka-fixed-ss11 = "0r0wlmpa5nmgwx92f6x2jimgyh5x05id39wsmxpyhjfrl4dchkgm";
-  sgr-iosevka-fixed-ss12 = "02dvkr2vim8zyd1gngjk41bbg5ncjr6yfxigy5l9gjm64x6q2szz";
-  sgr-iosevka-fixed-ss13 = "14vz894yxw5252krpwh9981hmslwmyxdgp96kpq37lp35w7bhkc0";
-  sgr-iosevka-fixed-ss14 = "0jaz1g89dj27s3xgcginxx4s3kr7114x7wqqda96jyc1zrg79am4";
-  sgr-iosevka-fixed-ss15 = "1h12kcik341vp3yra8izcbj3490payjqy8b0y739s4bj6zmx7zb3";
-  sgr-iosevka-fixed-ss16 = "0yiyxbi1snd33ys8ip29xprwm0876j818g3fr2g6d955lp94crkp";
-  sgr-iosevka-fixed-ss17 = "1sv4zf5w7amhd591cjky7z2fc90hiiwj1g987scwcbvc0fb5gj86";
-  sgr-iosevka-fixed-ss18 = "09yh76152ar2lkw1gavd9x5i6a6vswhw9qyic0zixzr2rmcm2j35";
-  sgr-iosevka-slab = "0xdljj5bh4jsbwjgicpbi91hkjqvzxis9asd4g0vy3qqdr393i9k";
-  sgr-iosevka-ss01 = "0fllywsy23d6nfvgpb98af76cwbq8pizjvcah0p8j4qql6353d5y";
-  sgr-iosevka-ss02 = "0mlp4l3bbm2rm9gjb4pa8k730x3yb85qck7a1n5wdfz881mz6z59";
-  sgr-iosevka-ss03 = "0kcimy2i28a82s74987f6dxkdxzr06fzsi6rb7wz5v4rn5v7vmm9";
-  sgr-iosevka-ss04 = "0ynrq7di10349lfqm34vzr6z9z5hx6lz4q2z73ri91si224qsgih";
-  sgr-iosevka-ss05 = "1p2062x9wd5kkas3j5aqkx7r4asm2727i0sjf207w4lh3r37k9by";
-  sgr-iosevka-ss06 = "0zcpnw5mk3js5rc0cgpn5fncqqwf5s032z04xbaagzsmp7f3f1p9";
-  sgr-iosevka-ss07 = "09h686i2jq2p9i0684kjmsfgdpfwkbncbg3zxhz4m1x4wpfblhk8";
-  sgr-iosevka-ss08 = "0jbzr6saijbmbj1dkc4djawr75agp2c8krsnwskqr9dhisrmnjfk";
-  sgr-iosevka-ss09 = "10ffzi57gibz6w7yn4ign8vn6cagc680jrv81aqdkgav2bx71z9g";
-  sgr-iosevka-ss10 = "0d0wn7564zyvfk79hfqgnm3aa94k8xbddgmmxpq5jk918a1m6614";
-  sgr-iosevka-ss11 = "1zmbnhr1jz53yhighcn8dkj72s4y66ma61qjf5y3z64j7ql99kxi";
-  sgr-iosevka-ss12 = "06czjy90yx7pv958agwwnwn2vpfv1ha2j90bmcjg2c6shvnz5hsr";
-  sgr-iosevka-ss13 = "19k47hb167l6jsymznivdy6mgz228vcc4r5mzjjcszy4ba6n5qvg";
-  sgr-iosevka-ss14 = "0nkj7jmpbwfq7pl7s3ih30zs0szqf7xsbjn70w5i5x2g8fc3sffj";
-  sgr-iosevka-ss15 = "18l78cg3vxibngdbx2ikqhgz1v499ihf7bmdd5w92wrkkjgd0q8m";
-  sgr-iosevka-ss16 = "00mn81r50aw3ymp3mnwb8j6z6n98y03z0g5b8jfybpah65rgsrra";
-  sgr-iosevka-ss17 = "07vpvldkph4wn50vj5179h6zrw7vaf9mylksscw4wyqalinhiiqk";
-  sgr-iosevka-ss18 = "1h0jq8d2lbh0lfsmqcwbw6q9fbhbfrnn3c58xnknr9ys32xc88l2";
-  sgr-iosevka-term = "1j7sv5k4pbrq278nwfxshw23f7hdigy90w82a11s8nkq5b7f81wd";
-  sgr-iosevka-term-curly = "1v3vcvq6p4a3y1alkg45l2jipf0mwsv4x57yxl0dd41fb30araxw";
-  sgr-iosevka-term-curly-slab = "05is4yw7v32yf1h3b5j86wmz0x9fgbp5q99jw2zgn5lmv8x71dgh";
-  sgr-iosevka-term-slab = "1a0fn07ykx93y2myxdmg4xnz67dwmdl66n8la8x1h502b4hacqpl";
-  sgr-iosevka-term-ss01 = "1bwnyd6g0c185ny3d34pza1szc8pzkj15hk76g7s3jancgyajcj8";
-  sgr-iosevka-term-ss02 = "17srbkd4pbr2wwzcw6ycm1c4n5jlk4p5wlm1baqfzvffldbp609k";
-  sgr-iosevka-term-ss03 = "1w9ydkm0lsd0chyhi3b24n6syns55jwgnxkbnn7z7hh9llglplsj";
-  sgr-iosevka-term-ss04 = "1znabmm2plb5w5f8qj61shzm4v6kdqdak547j64w768g6pgc61hh";
-  sgr-iosevka-term-ss05 = "0pg3zannb29pxbfcjarj39my2lhwnid3yr7sbhk5i6sxy8klwjdv";
-  sgr-iosevka-term-ss06 = "0n25hc5gfi4zcc2zr0r5zh0q8v16z8ak2iphh5406pdgj3n9lmi9";
-  sgr-iosevka-term-ss07 = "0kmv8p689wf3mpiaq3749a3361nsckg0v4hsaw2mlshvhp4159h4";
-  sgr-iosevka-term-ss08 = "04g0q2pgimj73hgxr9nv8qmbc6n6fsadhy5x3l3cwcw7wh7s0g37";
-  sgr-iosevka-term-ss09 = "19qssfrmkvdq7bl0bg3a9v6sgnn2hg93kq0qh4j9chr7ffxnlmb2";
-  sgr-iosevka-term-ss10 = "1qc3cfw9f959h1gafhsddrlw2cbvazv17yllsj6rw4rff3bqscaq";
-  sgr-iosevka-term-ss11 = "1jbz5qg2vgrqmhbz8yvmampv7zkmksilvd7y2zrz4h5s2jbr32sg";
-  sgr-iosevka-term-ss12 = "0afcjcpb4dw4d3dggm82yls09rl71x4jqavbil4z7br96vgipdg9";
-  sgr-iosevka-term-ss13 = "04zbhi5mpycb9c6gf5ci1h6pbghy8vmajmzifcpg8d0fb9vyz370";
-  sgr-iosevka-term-ss14 = "0bps3zgarjdq5xn92rgdasnhcqlrmxwpa4bv9wr40df7zxhlvkr4";
-  sgr-iosevka-term-ss15 = "0ylxgmrsl596zdlph2f2lcfy9a37wi0x7418y53g43bdd33kcpxp";
-  sgr-iosevka-term-ss16 = "1ql8x3r19sa36424wijrzxnl3mfz7rjnwlavd0bz8qinfdvjvdsf";
-  sgr-iosevka-term-ss17 = "0plhqk7j64wfs61snly0m49lghk4srmribfqlzdk9xrvnv9h7zv1";
-  sgr-iosevka-term-ss18 = "1h7z1cnd4ia1pbyj5sq1718z8n747cq8kdy97c4vdmw6gjl8wp5x";
+  iosevka = "0nh0vsm9gpl5fsyfp11f8ks5jk4wf5r0nhqq92p7fdyrv6x8ygci";
+  iosevka-aile = "0hjys81klq8f2vhk68bmd2vd6fzpbhvkx74jxbfi6fq487a5g6ix";
+  iosevka-curly = "06npnjgwn3a78p3i5pdjs4bg69r3jz7y25qdii6wri3zna21w55r";
+  iosevka-curly-slab = "0mr8v0k8v9b45hyylmyjqa2npi16zq0ga4kdx7782qy5x96fxkwh";
+  iosevka-etoile = "0q1w9xqjr7zfghpvqp1c54y8z1i353fgfshj11bva3bb1vcgllk7";
+  iosevka-slab = "1pppsjj8nwg76lidv52z0swlhrg44lw5y0kcv5hw56cgz17vnhw0";
+  iosevka-ss01 = "1xj6zsadpxd7rcx5sklvzbcis09xpkdj0rcxjb87d6da6x52897a";
+  iosevka-ss02 = "0nj50p4wbin3cjsyw1mviy4s4asy77z8kgmbwl43cqyh8693q61i";
+  iosevka-ss03 = "0ksdy6dz5nh13j95vq6r0z56lgzw9rxk6w3c1g4h9qr8x0h81i9s";
+  iosevka-ss04 = "0qyrycc0ly69hs8zva0mqlbpxqcx4kcpw05li96bbigjv481li5g";
+  iosevka-ss05 = "01kyjl53afz6s21ca7csr1pmn2b80cr55raq9maacx7dkphs85pk";
+  iosevka-ss06 = "0ay7qzh17l3fpsfj48kiadbvs02v8jh3g0xz6rr6948z08sw2qx2";
+  iosevka-ss07 = "0wwn88y7k6gxwvg34wpfg95biip45viarm5h4dv06ygfl8sjva1a";
+  iosevka-ss08 = "00y5l3zb1b3l6yh0m5v80jwhkdj1njnk165wnjbg1w5qgl0yr3ww";
+  iosevka-ss09 = "1f42cwz34zqc8dkw1ahypj5f31fsxs9rx3zyqk58w7pn85sjq3n6";
+  iosevka-ss10 = "0bvip0lvmh11x0l0pj94n1akn0y18srai0k737xdn5s1h86jg2nf";
+  iosevka-ss11 = "0m4h9i7fmicxh3g57fprcgfhh4255vyc5sdkvd5iv225bwsfr4mr";
+  iosevka-ss12 = "13qxfz3d2h1w8gicssadgfr5inr6i7mmyjni4wi2ij6p4y0dlg5f";
+  iosevka-ss13 = "0q5xkxv040j1h1p11w6b0ngyzjkhhfzclxssrcyaxfkcnn7nkfqq";
+  iosevka-ss14 = "0xkhcjzha9kkgymcq18n50jp1ikd0n8nisii40ihibiifcgrfp28";
+  iosevka-ss15 = "17m7v4p62apnj7i86b6gm6yg1kyyawjly9qch1ii1wawj6aixyrp";
+  iosevka-ss16 = "1amyc0f1mmwqz161m9jxgasgij6bzxazm6r4r1y1z800z6zd03hm";
+  iosevka-ss17 = "0ia2p364avlad7v0z50zvzkaj33c2ys90dywy8i877nh2hzj61ky";
+  iosevka-ss18 = "12rfjmfc8vkj6r91idlic2gpmr7gba2dg79s71jgiclkfr0fsb1m";
+  sgr-iosevka = "1wqcx09aps43yavm5gm43xgq5xzrs0bs6abspqxzg7hpzfh0s5fn";
+  sgr-iosevka-aile = "0335bfjc0ddia8y2sv6h5x4hdg1abwsdfy3cb59w25y46l7vlk3k";
+  sgr-iosevka-curly = "1clspm5b30253d5qg23sklvgvvcnvrhb7hjxgyglg6abksw1r7xj";
+  sgr-iosevka-curly-slab = "0m9km2bvjmd09nj4gqwnjxik4iq7qabcaa42r5kdkj2b214hz622";
+  sgr-iosevka-etoile = "0yg0086d4dl5faadcvv20kbppi75msc8680v8w8g8db2w6b0ahfh";
+  sgr-iosevka-fixed = "19msi71p9d2kvm2yr6gxg08wzhnhx3vxn7ivq89yxs4793mznbza";
+  sgr-iosevka-fixed-curly = "0fxwlcpl8mxkk4gcs53fadfcc3fayyg3vpplvvhq6vj6rh4fsmjd";
+  sgr-iosevka-fixed-curly-slab = "1kfvzan5h6b790ci9b8dsv3k89l181fj39x0yn2i4va10vhrif8j";
+  sgr-iosevka-fixed-slab = "0h7rnmrabay0qvs2l40s2sn5hlx1q02n1wdl9zbjnc0mkhlyhpav";
+  sgr-iosevka-fixed-ss01 = "0ssyd2x43bxv7b3giirsnxr6mp33l27iph8gcfnb7bqxb6iy8iar";
+  sgr-iosevka-fixed-ss02 = "0vliidfhihkvhslhbd39kj4f909k9m3jl0dkjvlyxhwcabydcqwp";
+  sgr-iosevka-fixed-ss03 = "1l2b2svij67m2dgv036a0sv66w84j64wgizv1m4zk1i70i529l4a";
+  sgr-iosevka-fixed-ss04 = "0g32q7l5ppl15jvfdhl3hr1a3jm48bzsqsdw5zby1qi9v004bcq6";
+  sgr-iosevka-fixed-ss05 = "0rf36r4yidjfid5rxvsg2pxmlzhk48vb307ilyqahdlffhncac9f";
+  sgr-iosevka-fixed-ss06 = "170m8fsgy0spv311ddg11nzhpf030b0psxd7q654xylfcbldzwxa";
+  sgr-iosevka-fixed-ss07 = "16vym343hp6m9ln4swlypws9sbwn4grj772yxckfdj1w91hk9a3a";
+  sgr-iosevka-fixed-ss08 = "13xrjbxss2dahqnxalr5afky8056ysdrw9m2schnd9r885lfjdaw";
+  sgr-iosevka-fixed-ss09 = "1v11x60fnrchghvj0m10dzi17b2i844588gkrn71bz5xjdvd2cf9";
+  sgr-iosevka-fixed-ss10 = "1hi5wsf2fjs1j6iahlv9pyhfzswz1sly89wi2lw4ll5s42na31qb";
+  sgr-iosevka-fixed-ss11 = "1mzz3rvg35k796rra19rb5zmffwhjfr6q8q5632cjygiqizd99k2";
+  sgr-iosevka-fixed-ss12 = "11k9z0k0p0nf9c6yi5m19nnzf6pbq6zqjlcp9cz4snz91wg4py9b";
+  sgr-iosevka-fixed-ss13 = "1mdwd5xb0c5ypjbr6bgd378kid01lqq2knmrbvlq7py145c8wnhq";
+  sgr-iosevka-fixed-ss14 = "0qzr0iw1axpn1dv5zpkcnk5r7678093q7cas9kbf4nb69r59zg3w";
+  sgr-iosevka-fixed-ss15 = "13aqp10x0zdah7337pl8wr0v0w61yj70pracxh9znwl5a62rq98l";
+  sgr-iosevka-fixed-ss16 = "082zh32xghi7vavadgkx85lbqsmmzn9dv26ywvzkw9kf8v1kp931";
+  sgr-iosevka-fixed-ss17 = "0biijj9iwpa8i5sg721r3a6i3mbmyz9hc7j35dqxjvzyxa1c8lqf";
+  sgr-iosevka-fixed-ss18 = "07s5lq0cm00ja3l0wq01y5nky7jhjsizx71rz63p1ln7iakq84fl";
+  sgr-iosevka-slab = "1sqw8v56qgs5hvnm48psdv27gs83mn37hiqzskgqbyx1njkncrw1";
+  sgr-iosevka-ss01 = "094bx7vkqjx4wpc0wqylviwy0k00w4wshngw6nk4mgsxbirxlvnm";
+  sgr-iosevka-ss02 = "1m7ny32qx7s42lvnq6xw45ij7l270wj1nk2dkjdpfsagfyg869kv";
+  sgr-iosevka-ss03 = "1z947mrpr9lz7wk3357y81yb8adqi8hn32bqm14bp330n658a5jj";
+  sgr-iosevka-ss04 = "0jn0g2hy7l98sw3z1wvr263fqca6a4cmljsfam6qm48z3izcya2n";
+  sgr-iosevka-ss05 = "0k5s1q84ssy95k4szd614y9f8cibhj7an9lalb5h4ds4mbmhsc4y";
+  sgr-iosevka-ss06 = "170jz7fppj4zc1ik033jbkp71grkm2fyfybvy48zdbdzan050b87";
+  sgr-iosevka-ss07 = "1s8y27fv0klijsz9wac7nyxcj8mqcj3a09qmifaqvx80zl50yjwy";
+  sgr-iosevka-ss08 = "0002i1411s82qm75hmdshry4k5fs1bsj4s8ardy8llpfs3z9w501";
+  sgr-iosevka-ss09 = "16l3099djsxb42j51yr21xjamws731f87c2dgrkxhf2hy8rr2pv4";
+  sgr-iosevka-ss10 = "1r67zpqai0c4cjpfslapdp411c62vlbjsf2qdwws5fk0s6sk4wra";
+  sgr-iosevka-ss11 = "0y2qbrgsfcssqwq8ljqhz7wzpyg5z7ji5a35w9dp7wfaz4fmiifh";
+  sgr-iosevka-ss12 = "1zy4972m7wdawjx4rlwkf78fg6l53gyqc368dk8c0ng5sz5s5jc9";
+  sgr-iosevka-ss13 = "0yrg0pdandgqcz3dqjm5y8kaapryxynrj9v2br542vh6vp0w13zn";
+  sgr-iosevka-ss14 = "1c0bh3qach06wiprpi3mglnkzmmb6asah9d1s9g2vpx825vvwf6f";
+  sgr-iosevka-ss15 = "0qqqjh1rlz3al9qs09iqzgmsjww1cnp4vy700b2hmdhl46rjjipy";
+  sgr-iosevka-ss16 = "030x1234vhnryvy4hlw5b42blx2yrm0kikr07clmp8fqvdba1wy1";
+  sgr-iosevka-ss17 = "0k1sjpphgajdxk1l41fhfl93mj58ijhyba40m4h261p58ygbnszv";
+  sgr-iosevka-ss18 = "1sf5zcp3js6hsm47mr4kbx7q4x1kk999080jfx118yfvgj5whmq1";
+  sgr-iosevka-term = "0vxgcp3mi1brbcz6xvf6y3kbfd11x35blkf2aa82f47yqh26n96w";
+  sgr-iosevka-term-curly = "0fgvsq28g63xbcxbcfrkbina5cvvj6c677mgadhbvyjml4lm57pz";
+  sgr-iosevka-term-curly-slab = "0sqi5iz4pz7l5jqxw0a150j3nffzivlpzsaglzfrq50xcqqk3an1";
+  sgr-iosevka-term-slab = "1yihqfandm61rfkiifw7mxi10b59cvf41k4mgviw9ylrg7ca47km";
+  sgr-iosevka-term-ss01 = "10phwnsc4my2gr38974mf1qy4fwp9bqd06bwqcafxvp776s0ya1x";
+  sgr-iosevka-term-ss02 = "0zvi1114hw4xp68cgyp8n4i7lfm547l9awz1ffkvj07l5zshhjpf";
+  sgr-iosevka-term-ss03 = "1g1l9dq0fgywfxzdlwc0h8a8x8178m7x74rms6vwsgjgjfz83cca";
+  sgr-iosevka-term-ss04 = "13gcv4nn06jwafm74km0j48lmfjyi5x0hcgf1wrbhrabd06vrbc5";
+  sgr-iosevka-term-ss05 = "13i912b8s42gjcxrhiqp26779zfpy38rr8pf2gyb5njv4pvxxk6m";
+  sgr-iosevka-term-ss06 = "1k631gf37maz6zi1cf46nr93x7lvdmdl43ri4c9mbx1q5f36ys8w";
+  sgr-iosevka-term-ss07 = "0zr85cmrg4my5f255wbg27rhlkflsbp2jksrhgm4f6a2fn2qn0fy";
+  sgr-iosevka-term-ss08 = "1y9ly507xqp6h3bldfw1fji1gxszpj3jxv1by4b3r1as63vdhqkj";
+  sgr-iosevka-term-ss09 = "198myb085pp427lwf7ih2kddh52jpn1930p6a8q1n6fig1vbk76x";
+  sgr-iosevka-term-ss10 = "1csdkbfffjpcqhhf9n7c3gxar2403x2zwqg7nlsnih1hgpvhvxx8";
+  sgr-iosevka-term-ss11 = "0yid9w70jqvy4a6mglfi3n12g0k0ad52zdx0szgjsrbw98mfrqdr";
+  sgr-iosevka-term-ss12 = "08ad3mwp3rfd3mikah9nhcn4d3is5gqqfza3vz3ddnj48fdqd4sm";
+  sgr-iosevka-term-ss13 = "0myic6pzhdbmcp8fdhc5idsspsrrrxvb7m7ycc8vigqd1inmz091";
+  sgr-iosevka-term-ss14 = "1yw6zv4hfksmkdh0403l6dmc54hd04qfzafhvhc5r53kd4ja1k93";
+  sgr-iosevka-term-ss15 = "1y9gclnvidhadcr842ah3s16wrv0mbil7z5varri9hambaryz3z5";
+  sgr-iosevka-term-ss16 = "0qn3k93scc6hsxayfzagdgxqiv40vgz0ac0fa93zdyp5krb46rff";
+  sgr-iosevka-term-ss17 = "1l7jfb3x83kxlhj4zi8w1adxzf6k66zdzp93zif0mhvk9718ckws";
+  sgr-iosevka-term-ss18 = "19ip13fmkrismwm1ymhwfsv9a4w57460dkjmngpk2kp1av5nqc0m";
 }
diff --git a/pkgs/data/fonts/khmeros/default.nix b/pkgs/data/fonts/khmeros/default.nix
new file mode 100644
index 0000000000000..28db0d00981dc
--- /dev/null
+++ b/pkgs/data/fonts/khmeros/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "5.0";
+in
+fetchzip {
+  name = "khmeros-${version}";
+  url = "mirror://debian/pool/main/f/fonts-khmeros/fonts-khmeros_${version}.orig.tar.xz";
+  sha256 = "sha256-pS+7RQbGwlBxdCfSVxHmARCAkZrZttwYNlV/CrxqI+w=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "KhmerOS Unicode fonts for the Khmer language";
+    homepage = "http://www.khmeros.info/";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/lklug-sinhala/default.nix b/pkgs/data/fonts/lklug-sinhala/default.nix
new file mode 100644
index 0000000000000..45f907f1cf079
--- /dev/null
+++ b/pkgs/data/fonts/lklug-sinhala/default.nix
@@ -0,0 +1,23 @@
+{ fetchzip, lib }:
+
+let
+  version = "0.6";
+in
+fetchzip {
+  name = "lklug-sinhala-${version}";
+  url = "mirror://debian/pool/main/f/fonts-lklug-sinhala/fonts-lklug-sinhala_${version}.orig.tar.xz";
+  sha256 = "sha256-Fy+QnAajA4yLf/I1vOQll5pRd0ZLfLe8UXq4XMC9qNc=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts fonts-lklug-sinhala-${version}/lklug.ttf
+  '';
+
+  meta = with lib; {
+    description = "Unicode Sinhala font by Lanka Linux User Group";
+    homepage = "http://www.lug.lk/fonts/lklug";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/nanum/default.nix b/pkgs/data/fonts/nanum/default.nix
new file mode 100644
index 0000000000000..1aac2c53d8219
--- /dev/null
+++ b/pkgs/data/fonts/nanum/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "20170925";
+in
+fetchzip {
+  name = "nanum-${version}";
+  url = "mirror://ubuntu/pool/universe/f/fonts-nanum/fonts-nanum_${version}.orig.tar.xz";
+  sha256 = "sha256-lSTeQEuMmlQxiQqrx9tNScifE8nMOUDJF3lCfoAFIJk=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Nanum Korean font set";
+    homepage = "https://hangeul.naver.com/font";
+    license = licenses.ofl;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/public-sans/default.nix b/pkgs/data/fonts/public-sans/default.nix
index 88da0cb5d558a..be75da9e6654d 100644
--- a/pkgs/data/fonts/public-sans/default.nix
+++ b/pkgs/data/fonts/public-sans/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "2.000";
+  version = "2.001";
 in fetchzip {
   name = "public-sans-${version}";
 
@@ -13,11 +13,12 @@ in fetchzip {
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
   '';
 
-  sha256 = "0r34h9mim5c3h48cpq2m2ixkdqhv3i594pip10pavkmskldpbha5";
+  sha256 = "sha256-Ba7D4J72GZQsGn0KINRib9BmHsAnoEsAwAOC+M3CkMU=";
 
   meta = with lib; {
     description = "A strong, neutral, principles-driven, open source typeface for text or display";
     homepage = "https://public-sans.digital.gov/";
+    changelog = "https://github.com/uswds/public-sans/raw/v${version}/FONTLOG.txt";
     license = licenses.ofl;
     maintainers = with maintainers; [ dtzWill ];
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/sil-abyssinica/default.nix b/pkgs/data/fonts/sil-abyssinica/default.nix
new file mode 100644
index 0000000000000..c884b5567dd72
--- /dev/null
+++ b/pkgs/data/fonts/sil-abyssinica/default.nix
@@ -0,0 +1,23 @@
+{ fetchzip, lib }:
+
+let
+  version = "1.500";
+in
+fetchzip {
+  name = "sil-abyssinica-${version}";
+  url = "mirror://debian/pool/main/f/fonts-sil-abyssinica/fonts-sil-abyssinica_${version}.orig.tar.xz";
+  sha256 = "sha256-fCa88wG2JfHTaHaBkuvoncbcbrh3XNzc8ewS3W+W/fM=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts AbyssinicaSIL-${version}/AbyssinicaSIL-R.ttf
+  '';
+
+  meta = with lib; {
+    description = "Unicode font for Ethiopian and Erythrean scripts (Amharic et al.)";
+    homepage = "https://software.sil.org/abyssinica/";
+    license = licenses.ofl;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/sil-padauk/default.nix b/pkgs/data/fonts/sil-padauk/default.nix
new file mode 100644
index 0000000000000..1b574e2da2de7
--- /dev/null
+++ b/pkgs/data/fonts/sil-padauk/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "3.003";
+in
+fetchzip {
+  name = "sil-padauk-${version}";
+  url = "mirror://debian/pool/main/f/fonts-sil-padauk/fonts-sil-padauk_${version}.orig.tar.xz";
+  sha256 = "sha256-oK+EufbvsqXunTgcWj+DiNdfpRl+VPO60Wc9KYjZv5A=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Burmese Unicode 6 TrueType font";
+    homepage = "https://software.sil.org/padauk";
+    license = licenses.ofl;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/takao/default.nix b/pkgs/data/fonts/takao/default.nix
new file mode 100644
index 0000000000000..dcbce858e0118
--- /dev/null
+++ b/pkgs/data/fonts/takao/default.nix
@@ -0,0 +1,27 @@
+{ fetchzip, lib }:
+
+let
+  version = "00303.01";
+in
+fetchzip {
+  name = "takao-${version}";
+  url = "mirror://ubuntu/pool/universe/f/fonts-takao/fonts-takao_${version}.orig.tar.gz";
+  sha256 = "sha256-TlPq3iIv8vHlxYu5dkX/Lf6ediYKQaQ5uMbFvypQM/w=";
+
+  postFetch = ''
+    unpackDir="$TMPDIR/unpack"
+    mkdir "$unpackDir"
+    cd "$unpackDir"
+    tar xf "$downloadedFile" --strip-components=1
+    mkdir -p $out/share/fonts
+    cp *.ttf $out/share/fonts
+  '';
+
+  meta = with lib; {
+    description = "Japanese TrueType Gothic, P Gothic, Mincho, P Mincho fonts";
+    homepage = "https://launchpad.net/takao-fonts";
+    license = licenses.ipa;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/tibetan-machine/default.nix b/pkgs/data/fonts/tibetan-machine/default.nix
new file mode 100644
index 0000000000000..67393a9c4ab94
--- /dev/null
+++ b/pkgs/data/fonts/tibetan-machine/default.nix
@@ -0,0 +1,22 @@
+{ fetchzip, lib }:
+
+let
+  version = "1.901b";
+in
+fetchzip {
+  name = "tibetan-machine-${version}";
+  url = "mirror://debian/pool/main/f/fonts-tibetan-machine/fonts-tibetan-machine_${version}.orig.tar.bz2";
+  sha256 = "sha256-A+RgpFLsP4iTzl0PMRHaNzWGbDR5Qa38lRegNJ96ULo=";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    tar xf $downloadedFile --strip-components=1 -C $out/share/fonts ttf-tmuni-${version}/TibMachUni-${version}.ttf
+  '';
+
+  meta = with lib; {
+    description = "Tibetan Machine - an OpenType Tibetan, Dzongkha and Ladakhi font";
+    license = licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ serge ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/work-sans/default.nix b/pkgs/data/fonts/work-sans/default.nix
index 16a0e9ac021af..49722fc3e01ab 100644
--- a/pkgs/data/fonts/work-sans/default.nix
+++ b/pkgs/data/fonts/work-sans/default.nix
@@ -1,23 +1,19 @@
-{ lib, fetchFromGitHub }:
+{ lib, fetchzip }:
 
 let
-  version = "1.6";
-in fetchFromGitHub {
+  version = "2.010";
+in
+fetchzip {
   name = "work-sans-${version}";
 
-  owner = "weiweihuanghuang";
-  repo = "Work-Sans";
-  rev = "v${version}";
+  url = "https://github.com/weiweihuanghuang/Work-Sans/archive/refs/tags/v${version}.zip";
 
   postFetch = ''
-    tar xf $downloadedFile --strip=1
-    install -m444 -Dt $out/share/fonts/opentype/ fonts/desktop/*.otf
-    install -m444 -Dt $out/share/fonts/truetype/ fonts/webfonts/ttf/*.ttf
-    install -m444 -Dt $out/share/fonts/woff/     fonts/webfonts/woff/*.woff
-    install -m444 -Dt $out/share/fonts/woff2/    fonts/webfonts/woff2/*.woff2
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile "*/fonts/*.ttf" -d $out/share/fonts/opentype
   '';
 
-  sha256 = "01kjidk6zv80rqxapcdwhd9wxzrjfc6lj4gkf6dwa4sskw5x3b8a";
+  sha256 = "sha256-S4O5EoKY4w/p+MHeHRCmPyQRAOUfEwNiETxMgNcsrws=";
 
   meta = with lib; {
     description = "A grotesque sans";
diff --git a/pkgs/data/misc/cldr-annotations/default.nix b/pkgs/data/misc/cldr-annotations/default.nix
index 14c8d36f28bf2..cdc7a978e6bf4 100644
--- a/pkgs/data/misc/cldr-annotations/default.nix
+++ b/pkgs/data/misc/cldr-annotations/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchzip }:
 
 let
-  version = "40.0";
+  version = "41.0";
 in fetchzip rec {
   name = "cldr-annotations-${version}";
 
-  url = "https://unicode.org/Public/cldr/40/cldr-common-${version}.zip";
+  url = "https://unicode.org/Public/cldr/${lib.versions.major version}/cldr-common-${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/unicode/cldr
     unzip -d $out/share/unicode/cldr $downloadedFile 'common/annotations/*' 'common/annotationsDerived/*'
   '';
 
-  sha256 = "sha256-L4NSMNFYKJWV3qKQhio9eMABtDlLieT9VeMZfzeAkbM=";
+  sha256 = "sha256-3dHVZGx3FmR97fzhlTSx/xp6YTAV+sMExl6gpLzl1MY=";
 
   meta = with lib; {
     description = "Names and keywords for Unicode characters from the Common Locale Data Repository";
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index e99d660bcf30d..06bdca4f11142 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "762464dcc5ce93f1c6a9a746feb6bd1bd0c47006",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/762464dcc5ce93f1c6a9a746feb6bd1bd0c47006.tar.gz",
-  "sha256": "0k1qp34lsc08a99p669v8n0fxs6mdzwc2bz87v0hdah4qagi4z4g",
-  "msg": "Update from Hackage at 2022-04-20T23:34:08Z"
+  "commit": "38aa99a1623af5371157721c2a4b033b828e9938",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/38aa99a1623af5371157721c2a4b033b828e9938.tar.gz",
+  "sha256": "0phak7cjg3nrj5i3ih2k95hcwx25s6zijbp81ycqd0yb108gvw34",
+  "msg": "Update from Hackage at 2022-05-10T13:45:20Z"
 }
diff --git a/pkgs/data/themes/flat-remix-gnome/default.nix b/pkgs/data/themes/flat-remix-gnome/default.nix
index 475f9ecdfe342..c418d10eb66bf 100644
--- a/pkgs/data/themes/flat-remix-gnome/default.nix
+++ b/pkgs/data/themes/flat-remix-gnome/default.nix
@@ -7,25 +7,25 @@
 let
   # make install will use dconf to find desktop background file uri.
   # consider adding an args to allow specify pictures manually.
-  # https://github.com/daniruiz/flat-remix-gnome/blob/20220422/Makefile#L38
+  # https://github.com/daniruiz/flat-remix-gnome/blob/20220510/Makefile#L38
   fake-dconf = writeScriptBin "dconf" "echo -n";
 in
 stdenv.mkDerivation rec {
   pname = "flat-remix-gnome";
-  version = "20220422";
+  version = "20220510";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    hash = "sha256-W/BNn10SggtBacelNljPh42jVMBfykJFRWBCaj/ar7U=";
+    hash = "sha256-sqHX3APeblZai6NBgY+bnRnkzn6CGXwppiQ4pb8HTTw=";
   };
 
   nativeBuildInputs = [ glib fake-dconf ];
   makeFlags = [ "PREFIX=$(out)" ];
   preInstall = ''
     # make install will back up this file, it will fail if the file doesn't exist.
-    # https://github.com/daniruiz/flat-remix-gnome/blob/20220422/Makefile#L56
+    # https://github.com/daniruiz/flat-remix-gnome/blob/20220510/Makefile#L56
     mkdir -p $out/share/gnome-shell/
     touch $out/share/gnome-shell/gnome-shell-theme.gresource
   '';
diff --git a/pkgs/data/themes/qogir/default.nix b/pkgs/data/themes/qogir/default.nix
index e3e3b6e485b8d..528ff53be378c 100644
--- a/pkgs/data/themes/qogir/default.nix
+++ b/pkgs/data/themes/qogir/default.nix
@@ -7,17 +7,18 @@
 , librsvg
 , sassc
 , which
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "qogir-theme";
-  version = "2021-12-25";
+  version = "2022-04-29";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "1h10yqz3i59bxhkk2r2p8as8g9ibx38bbpdxi7jgg2pxr581mn4f";
+    sha256 = "oFGJ29He7ZmryW/Eg+JLM9C3FzNjmKjzNtyXDHGuhwo=";
   };
 
   nativeBuildInputs = [
@@ -38,12 +39,14 @@ stdenv.mkDerivation rec {
   installPhase = ''
     patchShebangs .
     mkdir -p $out/share/themes
-    name= ./install.sh -t all -d $out/share/themes
+    name= HOME="$TMPDIR" ./install.sh -t all -d $out/share/themes
     mkdir -p $out/share/doc/${pname}
     cp -a src/firefox $out/share/doc/${pname}
     rm $out/share/themes/*/{AUTHORS,COPYING}
   '';
 
+  passthru.updateScript = gitUpdater { inherit pname version; };
+
   meta = with lib; {
     description = "Flat Design theme for GTK based desktop environments";
     homepage = "https://vinceliuice.github.io/Qogir-theme";
diff --git a/pkgs/desktops/arcan/arcan/003-freetype.patch b/pkgs/desktops/arcan/arcan/003-freetype.patch
deleted file mode 100644
index e38d329b02601..0000000000000
--- a/pkgs/desktops/arcan/arcan/003-freetype.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur source-old/src/CMakeLists.txt source-new/src/CMakeLists.txt
---- source-old/src/CMakeLists.txt	1969-12-31 21:00:01.000000000 -0300
-+++ source-new/src/CMakeLists.txt	2021-10-29 12:03:06.461399341 -0300
-@@ -317,9 +317,7 @@
- 		find_package(BZip2 REQUIRED QUIET)
- 		pkg_check_modules(HARFBUZZ REQUIRED QUIET harfbuzz)
- 		ExternalProject_Add(Freetype
--			SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/freetype"
--			UPDATE_COMMAND ""
--			GIT_REPOSITORY "${EXTERNAL_SRC_DIR}/git/freetype"
-+			SOURCE_DIR "${EXTERNAL_SRC_DIR}/git/freetype"
- 			${EXTERNAL_DEFS}
- 			${CMAKE_EXTERNAL_DEFS}
- 			-DWITH_ZLIB=OFF
diff --git a/pkgs/desktops/arcan/arcan/default.nix b/pkgs/desktops/arcan/arcan/default.nix
index f3f4be2fcc4a4..a15d5ac6be93c 100644
--- a/pkgs/desktops/arcan/arcan/default.nix
+++ b/pkgs/desktops/arcan/arcan/default.nix
@@ -48,13 +48,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arcan" + lib.optionalString useStaticOpenAL "-static-openal";
-  version = "0.6.1";
+  version = "0.6.1.1";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = "arcan";
     rev = version;
-    hash = "sha256-2do4+6KB0AAcJk22mN0IA/e/bPaeGipLjI4RSTPqLBg=";
+    hash = "sha256-+dJaBSKGbHOwzA26/jDyh2UF9YRwGUcysJIeAM4kvfc=";
   };
 
   nativeBuildInputs = [
@@ -106,7 +106,6 @@ stdenv.mkDerivation rec {
     ./000-openal.patch
     ./001-luajit.patch
     ./002-libuvc.patch
-    ./003-freetype.patch
   ];
 
   # Emulate external/git/clone.sh
diff --git a/pkgs/desktops/arcan/default.nix b/pkgs/desktops/arcan/default.nix
index 9d9f28a795383..3db4d4eb819ca 100644
--- a/pkgs/desktops/arcan/default.nix
+++ b/pkgs/desktops/arcan/default.nix
@@ -1,6 +1,6 @@
-{ callPackage, lib, pkgs }:
+{ config, lib, pkgs }:
 
-rec {
+lib.makeScope pkgs.newScope (self: with self; {
   # Dependencies
 
   espeak = pkgs.espeak-ng;
@@ -40,4 +40,4 @@ rec {
     name = "all-wrapped";
     appls = [ durden pipeworld ];
   };
-}
+})
diff --git a/pkgs/desktops/arcan/durden/default.nix b/pkgs/desktops/arcan/durden/default.nix
index 46012d69d2ddc..5447105d35816 100644
--- a/pkgs/desktops/arcan/durden/default.nix
+++ b/pkgs/desktops/arcan/durden/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "durden";
-  version = "0.6.1+date=2022-03-11";
+  version = "0.6.1+date=2022-04-16";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "fec2a1051500df28becce188d932645743091efa";
-    hash = "sha256-uZ7oTnkWG3P/4ETgn6MQ9v47mRAJnvyzglQS7jlabPA=";
+    rev = "b07ba6535addf0d36a64385745cd9595f7d214b1";
+    hash = "sha256-nDSuJrJvJOVpRax+AwuNAZ3Ioqfoo10EGCab1EiPbIY=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/arcan/pipeworld/default.nix b/pkgs/desktops/arcan/pipeworld/default.nix
index 09f809aa47181..86ab425964027 100644
--- a/pkgs/desktops/arcan/pipeworld/default.nix
+++ b/pkgs/desktops/arcan/pipeworld/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pipeworld";
-  version = "0.pre+date=2021-12-03";
+  version = "0.pre+date=2022-04-03";
 
   src = fetchFromGitHub {
     owner = "letoram";
     repo = pname;
-    rev = "c653414670cafb0c73a57492aa3d9510460b16a9";
-    hash = "sha256-XuAsuTC+P6yoNlDnsT2fiWoqKW+1JKc9NF+Vn/ta0pk=";
+    rev = "f60d0b93fcd5462f47b1c928c109f5b4cbd74eef";
+    hash = "sha256-PNziP5LaUODZwtAHvg8uYt/EyoD3mB5aWIfp7n5a82E=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index c7da1e43a15cd..dbe3665f1ef88 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -2,7 +2,6 @@
 , lib
 , stdenv
 , substituteAll
-, fetchpatch
 , accountsservice
 , adwaita-icon-theme
 , colord
@@ -64,11 +63,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-BzLvp8QXHOCg7UEGWAtM41pXsQFSwOo20jkTSRN3fto=";
+    sha256 = "sha256-+zCv+Q++HSrVYQfW6fX4pKOq82NbvYiSDXW1aLt3Z4U=";
   };
 
   patches = [
@@ -79,13 +78,6 @@ stdenv.mkDerivation rec {
       inherit glibc libgnomekbd tzdata;
       inherit cups networkmanagerapplet;
     })
-
-    # Fix Online Accounts configuration on X11
-    # https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1272
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/7fe322b9cedae313cd9af6f403eab9bfc6027674.patch";
-      sha256 = "cv1abqv0Kbfkfu7mZzEaZKXPE85yVBcQbjNHW+8ODFE=";
-    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 1083fe1110661..2815c3d53ea8d 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "42.0";
+  version = "42.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "PuZbdbGv2LzKCioD2psohHh+1A4leogdmqbvfIcnYC8=";
+    sha256 = "LYjv61d+2viqrkMcd5um5uuWHuvd8FzKLsyhqgTbekA=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 1ad36f7e96b74..e3b8d6c344da9 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -67,13 +67,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "M9QE+zyTud5CmE8BEKKWnWpKckfCf+f14kxn7P7HUJQ=";
+    sha256 = "9e6KYVj6EiYnQScmy4gATn4tBGrcMiFQViROWbdAY+o=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index f92b162476ae4..415fd7b80c94c 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -47,13 +47,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0eJARGt/jNij/52q4zbByQFhk7p+B2nHml5sA4SQIuU=";
+    sha256 = "cZQhi/7EW5o+/avOb4RQ7Uw5dyIaHqQBTC5Fii/poVQ=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/extensions/collisions.json b/pkgs/desktops/gnome/extensions/collisions.json
index b389b947d94ff..7d3f120e867f8 100644
--- a/pkgs/desktops/gnome/extensions/collisions.json
+++ b/pkgs/desktops/gnome/extensions/collisions.json
@@ -32,6 +32,10 @@
       "noannoyance@sindex.com",
       "noannoyance@daase.net"
     ],
+    "somafm-internet-radio": [
+      "SomaFm-Radio@alireza6677.gmail.com",
+      "SomaFm-Radio@cajhne.gmail.com"
+    ],
     "transparent-window": [
       "transparent-window@pbxqdown.github.com",
       "transparentwindows.mdirshad07"
@@ -79,6 +83,10 @@
       "noannoyance@sindex.com",
       "noannoyance@daase.net"
     ],
+    "somafm-internet-radio": [
+      "SomaFm-Radio@alireza6677.gmail.com",
+      "SomaFm-Radio@cajhne.gmail.com"
+    ],
     "fuzzy-clock": [
       "fuzzy-clock@keepawayfromfire.co.uk",
       "FuzzyClock@johngoetz"
@@ -87,10 +95,6 @@
       "panel-date-format@keiii.github.com",
       "panel-date-format@atareao.es"
     ],
-    "fullscreen-hot-corner": [
-      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
-      "fullscreen-hot-corner@richardblaha.cz"
-    ],
     "disable-unredirect-fullscreen-windows": [
       "unredirect@vaina.lt",
       "unredirect@aunetx"
@@ -133,10 +137,6 @@
       "fuzzy-clock@keepawayfromfire.co.uk",
       "FuzzyClock@johngoetz"
     ],
-    "fullscreen-hot-corner": [
-      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
-      "fullscreen-hot-corner@richardblaha.cz"
-    ],
     "disable-unredirect-fullscreen-windows": [
       "unredirect@vaina.lt",
       "unredirect@aunetx"
@@ -167,10 +167,6 @@
       "lockkeys@vaina.lt",
       "lockkeys@fawtytoo"
     ],
-    "fullscreen-hot-corner": [
-      "fullscreen-hot-corner@sorrow.about.alice.pm.me",
-      "fullscreen-hot-corner@richardblaha.cz"
-    ],
     "wireguard-indicator": [
       "wireguard-indicator@gregos.me",
       "wireguard-indicator@atareao.es"
diff --git a/pkgs/desktops/gnome/extensions/extensionRenames.nix b/pkgs/desktops/gnome/extensions/extensionRenames.nix
index 9e55eb498c3da..fdf82456d0d0e 100644
--- a/pkgs/desktops/gnome/extensions/extensionRenames.nix
+++ b/pkgs/desktops/gnome/extensions/extensionRenames.nix
@@ -9,9 +9,6 @@
   "apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
   "Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
 
-  "fullscreen-hot-corner@sorrow.about.alice.pm.me" = "fullscreen-hot-corner";
-  "fullscreen-hot-corner@richardblaha.cz" = "fullscreen-hot-corner-2";
-
   "lockkeys@vaina.lt" = "lock-keys";
   "lockkeys@fawtytoo" = "lock-keys-2";
 
@@ -57,6 +54,9 @@
   "noannoyance@sindex.com" = "noannoyance";
   "noannoyance@daase.net" = "noannoyance-2";
 
+  "SomaFm-Radio@alireza6677.gmail.com" = "somafm-internet-radio";
+  "SomaFm-Radio@cajhne.gmail.com" = "somafm-internet-radio-2";
+
   "panel-date-format@keiii.github.com" = "panel-date-format";
   "panel-date-format@atareao.es" = "panel-date-format-2";
 
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index 8cdc7b1a90127..66c874ff4bf2f 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -28,25 +28,25 @@
 , {"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="}}}
 , {"uuid": "dash-to-dock@micxgx.gmail.com", "name": "Dash to Dock", "pname": "dash-to-dock", "description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", "link": "https://extensions.gnome.org/extension/307/dash-to-dock/", "shell_version_map": {"38": {"version": "69", "sha256": "1nmqg875lxbxn8plwgmsrkhq126hcv56yl6iyq5wc4ljp98niaw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbWljaGVsZWcuZ2l0aHViLmlvL2Rhc2gtdG8tZG9jay8iLAogICJ1dWlkIjogImRhc2gtdG8tZG9ja0BtaWN4Z3guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDY5Cn0="}, "40": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}, "41": {"version": "71", "sha256": "071zxnbkh946x1fm16ddwlknaig15cm0dl7kvw97vhx6cw6668c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZG9jayBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBvdXQgb2YgdGhlIG92ZXJ2aWV3IHRyYW5zZm9ybWluZyBpdCBpbiBhIGRvY2sgZm9yIGFuIGVhc2llciBsYXVuY2hpbmcgb2YgYXBwbGljYXRpb25zIGFuZCBhIGZhc3RlciBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzIGFuZCBkZXNrdG9wcy4gU2lkZSBhbmQgYm90dG9tIHBsYWNlbWVudCBvcHRpb25zIGFyZSBhdmFpbGFibGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaHRvZG9jayIsCiAgIm5hbWUiOiAiRGFzaCB0byBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9taWNoZWxlZy5naXRodWIuaW8vZGFzaC10by1kb2NrLyIsCiAgInV1aWQiOiAiZGFzaC10by1kb2NrQG1pY3hneC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNzEKfQ=="}}}
 , {"uuid": "mythtv-fnx@fnxweb.com", "name": "MythTV", "pname": "mythtv", "description": "Displays MythTV status (free space and upcoming recordings)", "link": "https://extensions.gnome.org/extension/321/mythtv/", "shell_version_map": {"38": {"version": "10", "sha256": "070h11gk5zpxn5xbc71skdz174hbb72l0isia2vp7d9wy4ackl0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIE15dGhUViBzdGF0dXMgKGZyZWUgc3BhY2UgYW5kIHVwY29taW5nIHJlY29yZGluZ3MpIiwKICAibmFtZSI6ICJNeXRoVFYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbnh3ZWIvZ25vbWUtc2hlbGwtbXl0aHR2IiwKICAidXVpZCI6ICJteXRodHYtZm54QGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
-, {"uuid": "middleclickclose@paolo.tranquilli.gmail.com", "name": "Quick Close in Overview", "pname": "middle-click-to-close-in-overview", "description": "Close windows with a button click (the middle one by default) when in overview mode", "link": "https://extensions.gnome.org/extension/352/middle-click-to-close-in-overview/", "shell_version_map": {"38": {"version": "17", "sha256": "1nv6cjyiz1i7fddh21h0zmrvzfi3y70y1f0xsv2zd0rfg6rf0r77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJRdWljayBDbG9zZSBpbiBPdmVydmlldyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiUGFvbG8gVHJhbnF1aWxsaSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}}}
+, {"uuid": "middleclickclose@paolo.tranquilli.gmail.com", "name": "Quick Close in Overview", "pname": "middle-click-to-close-in-overview", "description": "Close windows with a button click (the middle one by default) when in overview mode", "link": "https://extensions.gnome.org/extension/352/middle-click-to-close-in-overview/", "shell_version_map": {"38": {"version": "17", "sha256": "1nv6cjyiz1i7fddh21h0zmrvzfi3y70y1f0xsv2zd0rfg6rf0r77", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAibG9jYWxlIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJRdWljayBDbG9zZSBpbiBPdmVydmlldyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAiUGFvbG8gVHJhbnF1aWxsaSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "41": {"version": "23", "sha256": "1zbnizandqdsakncs3q7p6ylagdf49v5wz658vx47mh4mzbmisfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3A5MXBhdWwvbWlkZGxlY2xpY2tjbG9zZSIsCiAgInV1aWQiOiAibWlkZGxlY2xpY2tjbG9zZUBwYW9sby50cmFucXVpbGxpLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMwp9"}, "42": {"version": "25", "sha256": "1f4xppshgyh8mzc6jslscd2rjj1qj4vb6ikc1lrrqsn2i5lb76pw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHdpbmRvd3Mgd2l0aCBhIGJ1dHRvbiBjbGljayAodGhlIG1pZGRsZSBvbmUgYnkgZGVmYXVsdCkgd2hlbiBpbiBvdmVydmlldyBtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWlkZGxlY2xpY2tjbG9zZSIsCiAgImxvY2FsZSI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiUXVpY2sgQ2xvc2UgaW4gT3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIlBhb2xvIFRyYW5xdWlsbGkiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pZGRsZWNsaWNrY2xvc2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcDkxcGF1bC9taWRkbGVjbGlja2Nsb3NlIiwKICAidXVpZCI6ICJtaWRkbGVjbGlja2Nsb3NlQHBhb2xvLnRyYW5xdWlsbGkuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "status-area-horizontal-spacing@mathematical.coffee.gmail.com", "name": "Status Area Horizontal Spacing", "pname": "status-area-horizontal-spacing", "description": "Reduce the horizontal spacing between icons in the top-right status area", "link": "https://extensions.gnome.org/extension/355/status-area-horizontal-spacing/", "shell_version_map": {"38": {"version": "16", "sha256": "05hhj10hlcpbgd9sbvq89vxzqj6ndf21syas8zidy6yfy613b6l3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjQiLAogICAgIjMuNiIsCiAgICAiMy44IiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "41": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}, "42": {"version": "21", "sha256": "1szpxz6ybvq76di2a6bkyv234v0afw2bn12xjcgdzpzvxzr9y3da", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlZHVjZSB0aGUgaG9yaXpvbnRhbCBzcGFjaW5nIGJldHdlZW4gaWNvbnMgaW4gdGhlIHRvcC1yaWdodCBzdGF0dXMgYXJlYSIsCiAgImRldi12ZXJzaW9uIjogIjIuMS40IiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAibmFtZSI6ICJTdGF0dXMgQXJlYSBIb3Jpem9udGFsIFNwYWNpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RhdHVzLWFyZWEtaG9yaXpvbnRhbC1zcGFjaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcDkxcGF1bC9zdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJzdGF0dXMtYXJlYS1ob3Jpem9udGFsLXNwYWNpbmdAbWF0aGVtYXRpY2FsLmNvZmZlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
 , {"uuid": "activities-config@nls1729", "name": "Activities Configurator", "pname": "activities-configurator", "description": "Activities Configurator, activities-config@nls1729 -  Effective March 29, 2021 the extension is NOT MAINTAINED.  I give my permission to anyone who may want to become the maintainer.  I do not have the free time or energy necessary to maintain the extension.\n\nConfigure the Activities Button and Top Panel. Select an icon. Change the text. Disable Hot Corner or set the Hot Corner Threshold. Set Panel Background color and transparency plus much more to enhance your desktop.  Click the icon or text with the secondary mouse button to launch the GS Extension Prefs.", "link": "https://extensions.gnome.org/extension/358/activities-configurator/", "shell_version_map": {"38": {"version": "89", "sha256": "1z00smimg5fj6ri35g80bvfzzy5xxxrgwy4idsakphszdwryi8ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2aXRpZXMgQ29uZmlndXJhdG9yLCBhY3Rpdml0aWVzLWNvbmZpZ0BubHMxNzI5IC0gIEVmZmVjdGl2ZSBNYXJjaCAyOSwgMjAyMSB0aGUgZXh0ZW5zaW9uIGlzIE5PVCBNQUlOVEFJTkVELiAgSSBnaXZlIG15IHBlcm1pc3Npb24gdG8gYW55b25lIHdobyBtYXkgd2FudCB0byBiZWNvbWUgdGhlIG1haW50YWluZXIuICBJIGRvIG5vdCBoYXZlIHRoZSBmcmVlIHRpbWUgb3IgZW5lcmd5IG5lY2Vzc2FyeSB0byBtYWludGFpbiB0aGUgZXh0ZW5zaW9uLlxuXG5Db25maWd1cmUgdGhlIEFjdGl2aXRpZXMgQnV0dG9uIGFuZCBUb3AgUGFuZWwuIFNlbGVjdCBhbiBpY29uLiBDaGFuZ2UgdGhlIHRleHQuIERpc2FibGUgSG90IENvcm5lciBvciBzZXQgdGhlIEhvdCBDb3JuZXIgVGhyZXNob2xkLiBTZXQgUGFuZWwgQmFja2dyb3VuZCBjb2xvciBhbmQgdHJhbnNwYXJlbmN5IHBsdXMgbXVjaCBtb3JlIHRvIGVuaGFuY2UgeW91ciBkZXNrdG9wLiAgQ2xpY2sgdGhlIGljb24gb3IgdGV4dCB3aXRoIHRoZSBzZWNvbmRhcnkgbW91c2UgYnV0dG9uIHRvIGxhdW5jaCB0aGUgR1MgRXh0ZW5zaW9uIFByZWZzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJhY3Rpdml0aWVzLWNvbmZpZyIsCiAgImdldHRleHQtZG9tYWluIjogImFjdGl2aXRpZXMtY29uZmlnLWV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBDb25maWd1cmF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWN0aXZpdGllcy1jb25maWciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmxzMTcyOS5naXRodWIuaW8vYWN0aXZpdGllc19jb25maWcuaHRtbCIsCiAgInV1aWQiOiAiYWN0aXZpdGllcy1jb25maWdAbmxzMTcyOSIsCiAgInZlcnNpb24iOiA4OQp9"}}}
 , {"uuid": "calc@danigm.wadobo.com", "name": "calc", "pname": "calc", "description": "Simple run dialog calculation", "link": "https://extensions.gnome.org/extension/388/calc/", "shell_version_map": {"40": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0zp9riszgiagai57mkl9pzj34fwg30l33ib611dddapvvj19y5cg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBydW4gZGlhbG9nIGNhbGN1bGF0aW9uIiwKICAibmFtZSI6ICJjYWxjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNhbGNAZGFuaWdtLndhZG9iby5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "remmina-search-provider@alexmurray.github.com", "name": "Remmina Search Provider", "pname": "remmina-search-provider", "description": "Search for Remmina Remote Desktop Connections\n\nEasily search for and launch connections to remote machines by name and protocol.", "link": "https://extensions.gnome.org/extension/473/remmina-search-provider/", "shell_version_map": {"40": {"version": "13", "sha256": "04wxydmbx0nm5ss2i10y4alxsr6fkia2is85ln23k25bqn8b4csi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBmb3IgUmVtbWluYSBSZW1vdGUgRGVza3RvcCBDb25uZWN0aW9uc1xuXG5FYXNpbHkgc2VhcmNoIGZvciBhbmQgbGF1bmNoIGNvbm5lY3Rpb25zIHRvIHJlbW90ZSBtYWNoaW5lcyBieSBuYW1lIGFuZCBwcm90b2NvbC4iLAogICJuYW1lIjogIlJlbW1pbmEgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleG11cnJheS9yZW1taW5hLXNlYXJjaC1wcm92aWRlci8iLAogICJ1dWlkIjogInJlbW1pbmEtc2VhcmNoLXByb3ZpZGVyQGFsZXhtdXJyYXkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "uptime-indicator@gniourfgniourf.gmail.com", "name": "Uptime Indicator", "pname": "uptime-indicator", "description": "Indicates uptime in status area. When clicked, a popup menu indicates the date when the system was started.", "link": "https://extensions.gnome.org/extension/508/uptime-indicator/", "shell_version_map": {"38": {"version": "18", "sha256": "1pzcbkc8a1f886wn7avpdw81vqch9zcyjr0pr961rfw3nykd073c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0duaW91cmYvVXB0aW1lLUluZGljYXRvciIsCiAgInV1aWQiOiAidXB0aW1lLWluZGljYXRvckBnbmlvdXJmZ25pb3VyZi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "18", "sha256": "1pzcbkc8a1f886wn7avpdw81vqch9zcyjr0pr961rfw3nykd073c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0duaW91cmYvVXB0aW1lLUluZGljYXRvciIsCiAgInV1aWQiOiAidXB0aW1lLWluZGljYXRvckBnbmlvdXJmZ25pb3VyZi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
+, {"uuid": "uptime-indicator@gniourfgniourf.gmail.com", "name": "Uptime Indicator", "pname": "uptime-indicator", "description": "Indicates uptime in status area. When clicked, a popup menu indicates the date when the system was started.", "link": "https://extensions.gnome.org/extension/508/uptime-indicator/", "shell_version_map": {"38": {"version": "19", "sha256": "0028ndjfvsq48fnzpkx353b0nzcj04lqs92fz8fr4il6rmkx8a5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HbmlvdXJmL1VwdGltZS1JbmRpY2F0b3IiLAogICJ1dWlkIjogInVwdGltZS1pbmRpY2F0b3JAZ25pb3VyZmduaW91cmYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "0028ndjfvsq48fnzpkx353b0nzcj04lqs92fz8fr4il6rmkx8a5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HbmlvdXJmL1VwdGltZS1JbmRpY2F0b3IiLAogICJ1dWlkIjogInVwdGltZS1pbmRpY2F0b3JAZ25pb3VyZmduaW91cmYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "0028ndjfvsq48fnzpkx353b0nzcj04lqs92fz8fr4il6rmkx8a5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB1cHRpbWUgaW4gc3RhdHVzIGFyZWEuIFdoZW4gY2xpY2tlZCwgYSBwb3B1cCBtZW51IGluZGljYXRlcyB0aGUgZGF0ZSB3aGVuIHRoZSBzeXN0ZW0gd2FzIHN0YXJ0ZWQuIiwKICAibmFtZSI6ICJVcHRpbWUgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HbmlvdXJmL1VwdGltZS1JbmRpY2F0b3IiLAogICJ1dWlkIjogInVwdGltZS1pbmRpY2F0b3JAZ25pb3VyZmduaW91cmYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"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": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}, "41": {"version": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}, "42": {"version": "41", "sha256": "0b3as6l7gd2k0swrgl0dah92l5gyia2slikllrakp2dfvpvxyd2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiA0MQp9"}}}
 , {"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": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "40": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "41": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}, "42": {"version": "107", "sha256": "0hcja35hvwlsgan7344j2bs8ky8p67icnqc0dpghb2aayn6wa103", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTA3Cn0="}}}
 , {"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": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}, "42": {"version": "23", "sha256": "14n41x3808gp35wkd89cwprxgmh9w5sqfi5jx7i8rpa0cb1jzw34", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaWFkL2dub21lLWhkYXRlIiwKICAidXVpZCI6ICJoZGF0ZUBoYXR1bC5pbmZvIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
-, {"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": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}, "42": {"version": "37", "sha256": "0nixk7nwn987qrkmcbf5lkq2yj4ijq4hszmhz7fqrvvhlivp8xix", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzcKfQ=="}}}
+, {"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/todo.txt-gnome-shell-extension/todo-txt-gnome-shell-extension/raw/master/CHANGELOG.md", "link": "https://extensions.gnome.org/extension/570/todotxt/", "shell_version_map": {"38": {"version": "33", "sha256": "0vk73vygk6p46f6axsyl9k33jmk2hhvrrynix3rq113nl5qwmy2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS90b2RvLnR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24vdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0b2RvLnR4dEBiYXJ0LmxpYmVydC5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "35", "sha256": "0wh8wlic0qhfvyfvngm1vh7qhrs4709npn231q8vljgxav088p5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "41": {"version": "37", "sha256": "0zmvkzak62akb95wkk0794cqr4zrzi78amljlfawnjw25i0sc8hd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RvZG8udHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}, "42": {"version": "37", "sha256": "0zmvkzak62akb95wkk0794cqr4zrzi78amljlfawnjw25i0sc8hd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vdG9kby50eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi9yYXcvbWFzdGVyL0NIQU5HRUxPRy5tZCIsCiAgIm5hbWUiOiAiVG9kby50eHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3RvZG8udHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbi90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNwp9"}}}
 , {"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": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "41": {"version": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}, "42": {"version": "27", "sha256": "0wgsnqnn5mgrr2sn1bsjrsl028swbwfdmf9zclb7sz859ia88zlp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgYmF0dGVyeSBpY29uIGluIHRvcCBwYW5lbCwgaWYgYmF0dGVyeSBpcyBmdWxseSBjaGFyZ2VkIGFuZCBBQyBpcyBjb25uZWN0ZWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhdXRvaGlkZS1iYXR0ZXJ5IiwKICAibmFtZSI6ICJBdXRvaGlkZSBCYXR0ZXJ5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWkvYXV0b2hpZGUtYmF0dGVyeSIsCiAgInV1aWQiOiAiYXV0b2hpZGUtYmF0dGVyeUBzaXRuaWsucnUiLAogICJ2ZXJzaW9uIjogMjcKfQ=="}}}
 , {"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=="}, "42": {"version": "34", "sha256": "1vx1dbb8sq5ss3ilqah92nja6ivqnijywj2wkg29akz8ijbss19f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBsYXVuY2ggYSBuZXcgaW5zdGFuY2Ugd2hlbiBjbGlja2luZyBpbiB0aGUgZGFzaCBvciB0aGUgYXBwbGljYXRpb24gdmlldy5cblRoaXMgZXh0ZW5zaW9uIGlzIHBhcnQgb2YgQ2xhc3NpYyBNb2RlIGFuZCBpcyBvZmZpY2lhbGx5IHN1cHBvcnRlZCBieSBHTk9NRS4gUGxlYXNlIGRvIG5vdCByZXBvcnQgYnVncyB1c2luZyB0aGUgZm9ybSBiZWxvdywgdXNlIEdOT01FJ3MgR2l0TGFiIGluc3RhbmNlIGluc3RlYWQuIiwKICAiZXh0ZW5zaW9uLWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2UiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGF1bmNoLW5ldy1pbnN0YW5jZSIsCiAgIm5hbWUiOiAiTGF1bmNoIG5ldyBpbnN0YW5jZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5sYXVuY2gtbmV3LWluc3RhbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL2dub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJ1dWlkIjogImxhdW5jaC1uZXctaW5zdGFuY2VAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzQKfQ=="}}}
 , {"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=="}, "42": {"version": "43", "sha256": "1dslg2dn48jqjd8mh2bcxrzp98skf1wgfhygw3l9fjaw41jvv1jv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgYSB3aW5kb3cgbGlzdCBhdCB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uXG5UaGlzIGV4dGVuc2lvbiBpcyBwYXJ0IG9mIENsYXNzaWMgTW9kZSBhbmQgaXMgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgR05PTUUuIFBsZWFzZSBkbyBub3QgcmVwb3J0IGJ1Z3MgdXNpbmcgdGhlIGZvcm0gYmVsb3csIHVzZSBHTk9NRSdzIEdpdExhYiBpbnN0YW5jZSBpbnN0ZWFkLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aW5kb3ctbGlzdCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi13aW5kb3ctbGlzdCIsCiAgIm5hbWUiOiAiV2luZG93IExpc3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud2luZG93LWxpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAid2luZG93LWxpc3RAZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy5nY2FtcGF4LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"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": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "40": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "41": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}, "42": {"version": "42", "sha256": "0141f3y8vhk3q9v0w295hb5j679rh04isqnmsnihmsjdnw61b7fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgQXBwSW5kaWNhdG9yLCBLU3RhdHVzTm90aWZpZXJJdGVtIGFuZCBsZWdhY3kgVHJheSBpY29ucyBzdXBwb3J0IHRvIHRoZSBTaGVsbCIsCiAgImdldHRleHQtZG9tYWluIjogIkFwcEluZGljYXRvckV4dGVuc2lvbiIsCiAgIm5hbWUiOiAiQXBwSW5kaWNhdG9yIGFuZCBLU3RhdHVzTm90aWZpZXJJdGVtIFN1cHBvcnQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXBwaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdWJ1bnR1L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hcHBpbmRpY2F0b3IiLAogICJ1dWlkIjogImFwcGluZGljYXRvcnN1cHBvcnRAcmdjam9uYXMuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQyCn0="}}}
-, {"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": "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=="}, "42": {"version": "66", "sha256": "0a1156n4ding1ypjnxm1xz5cqihrf5m2d4bf2zmci29nsjina9c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgaW5mbyBvbiB2YXJpb3VzIGNyeXB0by1jdXJyZW5jeSBleGNoYW5nZXMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzIiwKICAiZ2l0LXZlcnNpb24iOiAidjY2IiwKICAibmFtZSI6ICJCaXRjb2luIE1hcmtldHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYml0Y29pbi1tYXJrZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtYml0Y29pbi1tYXJrZXRzLyIsCiAgInV1aWQiOiAiYml0Y29pbi1tYXJrZXRzQG90dG9hbGxtZW5kaW5nZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Ngp9"}}}
 , {"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": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "41": {"version": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}, "42": {"version": "28", "sha256": "068y5dy81ykmxy3cxi45xq0a0jg061fp22x9zhd4965kmvzqiq4g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNyZWF0b3IiOiAiTmVpIiwKICAiZGVzY3JpcHRpb24iOiAiRGlzcGxheSBDaGluZXNlIEx1bmFyIENhbGVuZGFyIGluIHBhbmVsXG5cblx1MjZhMFx1MjZhMFx1MjZhMCBkZXBlbmRlbmN5OiB0eXBlbGliLTFfMC1MdW5hckRhdGUtM18wIC8gZ2lyMS4yLWx1bmFyLWRhdGUtMi4wIiwKICAibmFtZSI6ICJMdW5hciBDYWxlbmRhciBcdTUxOWNcdTUzODYiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubHVuYXItY2FsZW5kYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibHVuYXJjYWxAYWlsaW4ubmVtdWkiLAogICJ2ZXJzaW9uIjogMjgKfQ=="}}}
 , {"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 -&gt;  https://github.com/EasyScreenCast/EasyScreenCast\n\nVIDEO -&gt;  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": "44", "sha256": "0ycmlv5j3r6y3kvb7nr4wbf3zk4307is9kdnd2xax522467fi2af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "40": {"version": "44", "sha256": "0ycmlv5j3r6y3kvb7nr4wbf3zk4307is9kdnd2xax522467fi2af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "44", "sha256": "0ycmlv5j3r6y3kvb7nr4wbf3zk4307is9kdnd2xax522467fi2af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "42": {"version": "44", "sha256": "0ycmlv5j3r6y3kvb7nr4wbf3zk4307is9kdnd2xax522467fi2af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNpbXBsaWZpZXMgdGhlIHVzZSBvZiB0aGUgdmlkZW8gcmVjb3JkaW5nIGZ1bmN0aW9uIGludGVncmF0ZWQgaW4gZ25vbWUgc2hlbGwsIGFsbG93cyBxdWlja2x5IHRvIGNoYW5nZSB0aGUgdmFyaW91cyBzZXR0aW5ncyBvZiB0aGUgZGVza3RvcCByZWNvcmRpbmcuXG5cblNPVVJDRSBDT0RFIC0mZ3Q7ICBodHRwczovL2dpdGh1Yi5jb20vRWFzeVNjcmVlbkNhc3QvRWFzeVNjcmVlbkNhc3RcblxuVklERU8gLSZndDsgIGh0dHBzOi8veW91dHUuYmUvODFFOUFydXJhS1VcblxuKipOT1RJQ0UqKlxuaWYgYW4gZXJyb3Igb2NjdXJzIGR1cmluZyB0aGUgdXBkYXRlIGlzIHJlY29tbWVuZGVkIHRvIHJlbG9hZCBHTk9NRSBTaGVsbCAoQWx0ICsgRjIsICdyJykgYW5kIHJlbG9hZCB0aGUgZXh0ZW5zaW9uJ3MgaW5zdGFsbGF0aW9uIHBhZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiRWFzeVNjcmVlbkNhc3RAaWFjb3BvZGVlbm9zZWUuZ21haWwuY29tIiwKICAibmFtZSI6ICJFYXN5U2NyZWVuQ2FzdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5FYXN5U2NyZWVuQ2FzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0Vhc3lTY3JlZW5DYXN0L0Vhc3lTY3JlZW5DYXN0IiwKICAidXVpZCI6ICJFYXN5U2NyZWVuQ2FzdEBpYWNvcG9kZWVub3NlZS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}}}
@@ -56,7 +56,7 @@
 , {"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": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "40": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "41": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}, "42": {"version": "26", "sha256": "1i284r5443cypw7jq31rrbc4f075piaq872331qnrrynv4s1k8cn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBpeGVsIFNhdmVyIGlzIGRlc2lnbmVkIHRvIHNhdmUgcGl4ZWwgYnkgZnVzaW5nIGFjdGl2aXR5IGJhciBhbmQgdGl0bGUgYmFyIGluIGEgbmF0dXJhbCB3YXkiLAogICJuYW1lIjogIlBpeGVsIFNhdmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MC4yIiwKICAgICI0MC4zIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIiwKICAgICI0MS4xIiwKICAgICI0MS4yIiwKICAgICI0MS4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVhZGFsbml4L3BpeGVsLXNhdmVyIiwKICAidXVpZCI6ICJwaXhlbC1zYXZlckBkZWFkYWxuaXgubWUiLAogICJ2ZXJzaW9uIjogMjYKfQ=="}}}
 , {"uuid": "breakreminder@danielfalk22.gmail.com", "name": "Break Reminder", "pname": "break-reminder", "description": "Get a reminder to take a break", "link": "https://extensions.gnome.org/extension/734/break-reminder/", "shell_version_map": {"38": {"version": "6", "sha256": "0k21wj98ldx52m7s8sgndqziqnn7n0g2j45lsi31kfjydhyj3dmk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBhIHJlbWluZGVyIHRvIHRha2UgYSBicmVhayIsCiAgIm5hbWUiOiAiQnJlYWsgUmVtaW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYW5pZWxmYWxrL2dub21lM2JyZWFrcmVtaW5kZXIiLAogICJ1dWlkIjogImJyZWFrcmVtaW5kZXJAZGFuaWVsZmFsazIyLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "Hide_Activities@shay.shayel.org", "name": "Hide Activities Button", "pname": "hide-activities-button", "description": "Hides the Activities button from the status bar (the hot corner and keyboard shortcut keeps working). To disable top left hot corner use 'No Topleft Hot Corner' extension — https://extensions.gnome.org/extension/118/no-topleft-hot-corner/ .", "link": "https://extensions.gnome.org/extension/744/hide-activities-button/", "shell_version_map": {"38": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0kr8ygb5wv2p2fzkd5gm7v9kcc54mdcrb4v1v3x1sniqgq69d856", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBmcm9tIHRoZSBzdGF0dXMgYmFyICh0aGUgaG90IGNvcm5lciBhbmQga2V5Ym9hcmQgc2hvcnRjdXQga2VlcHMgd29ya2luZykuIFRvIGRpc2FibGUgdG9wIGxlZnQgaG90IGNvcm5lciB1c2UgJ05vIFRvcGxlZnQgSG90IENvcm5lcicgZXh0ZW5zaW9uIFx1MjAxNCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTgvbm8tdG9wbGVmdC1ob3QtY29ybmVyLyAuIiwKICAibmFtZSI6ICJIaWRlIEFjdGl2aXRpZXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQWN0aXZpdGllc0BzaGF5LnNoYXllbC5vcmciLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
-, {"uuid": "openweather-extension@jenslody.de", "name": "OpenWeather", "pname": "openweather", "description": "Display weather information for any location on Earth in the GNOME Shell", "link": "https://extensions.gnome.org/extension/750/openweather/", "shell_version_map": {"38": {"version": "105", "sha256": "0mz63xcvd8v6kyak2n0fs0rd07vwy2j3mdbj9nzvcd71askdm5rd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL2xvY2FsL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDUKfQ=="}, "40": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}, "41": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}, "42": {"version": "107", "sha256": "1j5q7m2mig0yamhpgq9bh9amwc9dxxqlkfvkbs4j1w1yk8syji3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiT3BlbldlYXRoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9za3Jld2JhbGwvb3BlbndlYXRoZXIiLAogICJ1dWlkIjogIm9wZW53ZWF0aGVyLWV4dGVuc2lvbkBqZW5zbG9keS5kZSIsCiAgInZlcnNpb24iOiAxMDcKfQ=="}}}
+, {"uuid": "openweather-extension@jenslody.de", "name": "OpenWeather", "pname": "openweather", "description": "Display weather information for any location on Earth in the GNOME Shell\n\nIf you get an error after updating, try one of the following:\n- Restart your GNOME session\n- Log out completely and log back in\n- Reboot", "link": "https://extensions.gnome.org/extension/750/openweather/", "shell_version_map": {"38": {"version": "105", "sha256": "0z04lg2ym84x838ydcs5v7kfj4zpfi143mya148slvvlvfsynsg4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbFxuXG5JZiB5b3UgZ2V0IGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCB0cnkgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4tIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uXG4tIExvZyBvdXQgY29tcGxldGVseSBhbmQgbG9nIGJhY2sgaW5cbi0gUmVib290IiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NrcmV3YmFsbC9vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDEwNQp9"}, "40": {"version": "113", "sha256": "15dgsz7675j6pva2dqd43z7lngs0flqbkjyimajqhkfmlybww86b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbFxuXG5JZiB5b3UgZ2V0IGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCB0cnkgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4tIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uXG4tIExvZyBvdXQgY29tcGxldGVseSBhbmQgbG9nIGJhY2sgaW5cbi0gUmVib290IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW9wZW53ZWF0aGVyIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVud2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NrcmV3YmFsbC9vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDExMwp9"}, "41": {"version": "113", "sha256": "15dgsz7675j6pva2dqd43z7lngs0flqbkjyimajqhkfmlybww86b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbFxuXG5JZiB5b3UgZ2V0IGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCB0cnkgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4tIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uXG4tIExvZyBvdXQgY29tcGxldGVseSBhbmQgbG9nIGJhY2sgaW5cbi0gUmVib290IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW9wZW53ZWF0aGVyIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVud2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NrcmV3YmFsbC9vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDExMwp9"}, "42": {"version": "113", "sha256": "15dgsz7675j6pva2dqd43z7lngs0flqbkjyimajqhkfmlybww86b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgd2VhdGhlciBpbmZvcm1hdGlvbiBmb3IgYW55IGxvY2F0aW9uIG9uIEVhcnRoIGluIHRoZSBHTk9NRSBTaGVsbFxuXG5JZiB5b3UgZ2V0IGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCB0cnkgb25lIG9mIHRoZSBmb2xsb3dpbmc6XG4tIFJlc3RhcnQgeW91ciBHTk9NRSBzZXNzaW9uXG4tIExvZyBvdXQgY29tcGxldGVseSBhbmQgbG9nIGJhY2sgaW5cbi0gUmVib290IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW9wZW53ZWF0aGVyIiwKICAibmFtZSI6ICJPcGVuV2VhdGhlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vcGVud2VhdGhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NrcmV3YmFsbC9vcGVud2VhdGhlciIsCiAgInV1aWQiOiAib3BlbndlYXRoZXItZXh0ZW5zaW9uQGplbnNsb2R5LmRlIiwKICAidmVyc2lvbiI6IDExMwp9"}}}
 , {"uuid": "audio-output-switcher@anduchs", "name": "Audio Output Switcher", "pname": "audio-output-switcher", "description": "Adds a switch for choosing audio output to the system menu.", "link": "https://extensions.gnome.org/extension/751/audio-output-switcher/", "shell_version_map": {"38": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "02z1smlc0k308sr462l9pwf2gsldqdzjalbc364i4b7286qyakxc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzd2l0Y2ggZm9yIGNob29zaW5nIGF1ZGlvIG91dHB1dCB0byB0aGUgc3lzdGVtIG1lbnUuIiwKICAibmFtZSI6ICJBdWRpbyBPdXRwdXQgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2FkYXhpL2F1ZGlvLW91dHB1dC1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYXVkaW8tb3V0cHV0LXN3aXRjaGVyQGFuZHVjaHMiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "hibernate-status@dromi", "name": "Hibernate Status Button", "pname": "hibernate-status-button", "description": "Adds a Hibernate button in Status menu. Using Alt modifier, you can also select Hybrid Sleep instead.", "link": "https://extensions.gnome.org/extension/755/hibernate-status-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0yqzg2nz040vsv0ilwkjkza03qxns18gq4055gq0c3k051jy6d4v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAibmFtZSI6ICJIaWJlcm5hdGUgU3RhdHVzIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FyZWxhbmdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaWJlcm5hdGUtc3RhdHVzIiwKICAidXVpZCI6ICJoaWJlcm5hdGUtc3RhdHVzQGRyb21pIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "42": {"version": "33", "sha256": "181j95bhmrkvxvpam8ysrxzsaznfkgnn92xxfkg86lavvyl1alv5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBIaWJlcm5hdGUgYnV0dG9uIGluIFN0YXR1cyBtZW51LiBVc2luZyBBbHQgbW9kaWZpZXIsIHlvdSBjYW4gYWxzbyBzZWxlY3QgSHlicmlkIFNsZWVwIGluc3RlYWQuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlLXN0YXR1cy1idXR0b24iLAogICJuYW1lIjogIkhpYmVybmF0ZSBTdGF0dXMgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXJlbGFuZ2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpYmVybmF0ZS1zdGF0dXMiLAogICJ1dWlkIjogImhpYmVybmF0ZS1zdGF0dXNAZHJvbWkiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "minimizeall@scharlessantos.org", "name": "Minimize All", "pname": "minimize-all", "description": "Minimize all windows in current workspace", "link": "https://extensions.gnome.org/extension/760/minimize-all/", "shell_version_map": {"38": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "15v6h4wcznrylip57spjdkz0jk6y7hcp47607pj0yx5dmxjaws86", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplIGFsbCB3aW5kb3dzIGluIGN1cnJlbnQgd29ya3NwYWNlIiwKICAibmFtZSI6ICJNaW5pbWl6ZSBBbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vc2NoYXJsZXNzYW50b3MvbWluaW1pemVhbGwiLAogICJ1dWlkIjogIm1pbmltaXplYWxsQHNjaGFybGVzc2FudG9zLm9yZyIsCiAgInZlcnNpb24iOiAyMAp9"}}}
@@ -95,7 +95,7 @@
 , {"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="}, "42": {"version": "36", "sha256": "06ayifrf49bdf61y9502fcwf9937py3zlmcf1idlp1f3y18s5i8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM2Cn0="}}}
-, {"uuid": "keyboard_modifiers_status@sneetsher", "name": "Keyboard Modifiers Status", "pname": "keyboard-modifiers-status", "description": "Shows keyboard modifiers status. It's useful when sticky keys are active.", "link": "https://extensions.gnome.org/extension/975/keyboard-modifiers-status/", "shell_version_map": {"38": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "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": "15", "sha256": "19dpaiv865arviam5pdjmk0i64af4k5bnz9wkjjkgr0m9nrz5b4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NuZWV0c2hlci9LZXlib2FyZC1Nb2RpZmllcnMtU3RhdHVzIiwKICAidXVpZCI6ICJrZXlib2FyZF9tb2RpZmllcnNfc3RhdHVzQHNuZWV0c2hlciIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "19dpaiv865arviam5pdjmk0i64af4k5bnz9wkjjkgr0m9nrz5b4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NuZWV0c2hlci9LZXlib2FyZC1Nb2RpZmllcnMtU3RhdHVzIiwKICAidXVpZCI6ICJrZXlib2FyZF9tb2RpZmllcnNfc3RhdHVzQHNuZWV0c2hlciIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "19dpaiv865arviam5pdjmk0i64af4k5bnz9wkjjkgr0m9nrz5b4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NuZWV0c2hlci9LZXlib2FyZC1Nb2RpZmllcnMtU3RhdHVzIiwKICAidXVpZCI6ICJrZXlib2FyZF9tb2RpZmllcnNfc3RhdHVzQHNuZWV0c2hlciIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "19dpaiv865arviam5pdjmk0i64af4k5bnz9wkjjkgr0m9nrz5b4w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NuZWV0c2hlci9LZXlib2FyZC1Nb2RpZmllcnMtU3RhdHVzIiwKICAidXVpZCI6ICJrZXlib2FyZF9tb2RpZmllcnNfc3RhdHVzQHNuZWV0c2hlciIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"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": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "40": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "30", "sha256": "064bma3maxx82f0mgnb7nfmmgjf2wk1z09kqrnlqlvlbqrigyanh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}}}
 , {"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=="}}}
@@ -120,16 +120,16 @@
 , {"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": "Hide title bar clock", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0vxlc72gzin16xl5h6i0ixlmm6x9ahp3w3phyg0jk8b0q7qdflzq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdGl0bGUgYmFyIGNsb2NrIiwKICAibmFtZSI6ICJIaWRlIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiSGlkZV9DbG9ja0BncmFudG1jd2lsbGlhbXMuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}, "41": {"version": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}, "42": {"version": "68", "sha256": "1py94s1v5vjnf8w7as7ypprbk2504a0kkh6p6ppm9glcr2vl8w2r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2OCIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNjgKfQ=="}}}
-, {"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": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "0grrdxdyzl3fyr2hnl312pwfpqglyprzlvy14dyyh1hvlymi9ssd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"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.\n\nthis gnome-shell extension always keeps your microphone muted, unless you actually have something to say.\n\ntl;dr:\n\nmicrophone icon in the top bar, only visible when recording is active\none-click mute/unmute using the icon\nkeyboard shortcut to mute/unmute, with push-to-talk\nosd and sound notifications for microphone events\n\nDO NOT REPORT ISSUES HERE. USE GITHUB", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "1rkqn75xrr9wq1szq4jcphcg0qiywfi82mwir8nbrch44671m2g9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS5cblxudGhpcyBnbm9tZS1zaGVsbCBleHRlbnNpb24gYWx3YXlzIGtlZXBzIHlvdXIgbWljcm9waG9uZSBtdXRlZCwgdW5sZXNzIHlvdSBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBzYXkuXG5cbnRsO2RyOlxuXG5taWNyb3Bob25lIGljb24gaW4gdGhlIHRvcCBiYXIsIG9ubHkgdmlzaWJsZSB3aGVuIHJlY29yZGluZyBpcyBhY3RpdmVcbm9uZS1jbGljayBtdXRlL3VubXV0ZSB1c2luZyB0aGUgaWNvblxua2V5Ym9hcmQgc2hvcnRjdXQgdG8gbXV0ZS91bm11dGUsIHdpdGggcHVzaC10by10YWxrXG5vc2QgYW5kIHNvdW5kIG5vdGlmaWNhdGlvbnMgZm9yIG1pY3JvcGhvbmUgZXZlbnRzXG5cbkRPIE5PVCBSRVBPUlQgSVNTVUVTIEhFUkUuIFVTRSBHSVRIVUIiLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "16", "sha256": "1jq60v1x9ny3kbpszp3jqqlzgm17xpr7fp0wj558hyskjd8dkfw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS5cblxudGhpcyBnbm9tZS1zaGVsbCBleHRlbnNpb24gYWx3YXlzIGtlZXBzIHlvdXIgbWljcm9waG9uZSBtdXRlZCwgdW5sZXNzIHlvdSBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBzYXkuXG5cbnRsO2RyOlxuXG5taWNyb3Bob25lIGljb24gaW4gdGhlIHRvcCBiYXIsIG9ubHkgdmlzaWJsZSB3aGVuIHJlY29yZGluZyBpcyBhY3RpdmVcbm9uZS1jbGljayBtdXRlL3VubXV0ZSB1c2luZyB0aGUgaWNvblxua2V5Ym9hcmQgc2hvcnRjdXQgdG8gbXV0ZS91bm11dGUsIHdpdGggcHVzaC10by10YWxrXG5vc2QgYW5kIHNvdW5kIG5vdGlmaWNhdGlvbnMgZm9yIG1pY3JvcGhvbmUgZXZlbnRzXG5cbkRPIE5PVCBSRVBPUlQgSVNTVUVTIEhFUkUuIFVTRSBHSVRIVUIiLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1jq60v1x9ny3kbpszp3jqqlzgm17xpr7fp0wj558hyskjd8dkfw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS5cblxudGhpcyBnbm9tZS1zaGVsbCBleHRlbnNpb24gYWx3YXlzIGtlZXBzIHlvdXIgbWljcm9waG9uZSBtdXRlZCwgdW5sZXNzIHlvdSBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBzYXkuXG5cbnRsO2RyOlxuXG5taWNyb3Bob25lIGljb24gaW4gdGhlIHRvcCBiYXIsIG9ubHkgdmlzaWJsZSB3aGVuIHJlY29yZGluZyBpcyBhY3RpdmVcbm9uZS1jbGljayBtdXRlL3VubXV0ZSB1c2luZyB0aGUgaWNvblxua2V5Ym9hcmQgc2hvcnRjdXQgdG8gbXV0ZS91bm11dGUsIHdpdGggcHVzaC10by10YWxrXG5vc2QgYW5kIHNvdW5kIG5vdGlmaWNhdGlvbnMgZm9yIG1pY3JvcGhvbmUgZXZlbnRzXG5cbkRPIE5PVCBSRVBPUlQgSVNTVUVTIEhFUkUuIFVTRSBHSVRIVUIiLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "1jq60v1x9ny3kbpszp3jqqlzgm17xpr7fp0wj558hyskjd8dkfw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS5cblxudGhpcyBnbm9tZS1zaGVsbCBleHRlbnNpb24gYWx3YXlzIGtlZXBzIHlvdXIgbWljcm9waG9uZSBtdXRlZCwgdW5sZXNzIHlvdSBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBzYXkuXG5cbnRsO2RyOlxuXG5taWNyb3Bob25lIGljb24gaW4gdGhlIHRvcCBiYXIsIG9ubHkgdmlzaWJsZSB3aGVuIHJlY29yZGluZyBpcyBhY3RpdmVcbm9uZS1jbGljayBtdXRlL3VubXV0ZSB1c2luZyB0aGUgaWNvblxua2V5Ym9hcmQgc2hvcnRjdXQgdG8gbXV0ZS91bm11dGUsIHdpdGggcHVzaC10by10YWxrXG5vc2QgYW5kIHNvdW5kIG5vdGlmaWNhdGlvbnMgZm9yIG1pY3JvcGhvbmUgZXZlbnRzXG5cbkRPIE5PVCBSRVBPUlQgSVNTVUVTIEhFUkUuIFVTRSBHSVRIVUIiLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICIzLjM2LjkiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"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": "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": "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": "24", "sha256": "1icvdlrdg9078xwrawh5wv9z7x4aw65zawjdygsbcd67z158iviw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlnRS9kZXNrLWNoYW5nZXIvIiwKICAidXVpZCI6ICJkZXNrLWNoYW5nZXJAZXJpYy5nYWNoLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}, "40": {"version": "24", "sha256": "1icvdlrdg9078xwrawh5wv9z7x4aw65zawjdygsbcd67z158iviw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlnRS9kZXNrLWNoYW5nZXIvIiwKICAidXVpZCI6ICJkZXNrLWNoYW5nZXJAZXJpYy5nYWNoLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "1icvdlrdg9078xwrawh5wv9z7x4aw65zawjdygsbcd67z158iviw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlnRS9kZXNrLWNoYW5nZXIvIiwKICAidXVpZCI6ICJkZXNrLWNoYW5nZXJAZXJpYy5nYWNoLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}, "42": {"version": "24", "sha256": "1icvdlrdg9078xwrawh5wv9z7x4aw65zawjdygsbcd67z158iviw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlnRS9kZXNrLWNoYW5nZXIvIiwKICAidXVpZCI6ICJkZXNrLWNoYW5nZXJAZXJpYy5nYWNoLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"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": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "41": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}, "42": {"version": "34", "sha256": "0mjifm9dx3gwswdrjk1qr2kfan87dapkgn6adg2vw87dz0291q0k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZXMgYSBjYXRlZ29yeS1iYXNlZCBhcHBsaWNhdGlvbiBsYXVuY2hlciBpbiB0aGUgYWN0aXZpdGllcyB3aW5kb3cuIElNUE9SVEFOVDogaXQgbmVlZHMgdGhlICdnbm9tZS1tZW51cycgYW5kICdsaWJnbm9tZS1tZW51LTMtZGV2JzsgdGhleSBtdXN0IGJlIGluc3RhbGxlZCBpbiB0aGUgc3lzdGVtIGJlZm9yZSBpbnN0YWxsaW5nIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiQWN0aXZpdHkgQXBwIExhdW5jaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9hY3Rpdml0eUFwcExhdW5jaGVyIiwKICAidXVpZCI6ICJhY3Rpdml0eUFwcExhdW5jaGVyQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
 , {"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="}}}
-, {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize & Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "1v9n4g9gx5kv21mb15i7b3k6svcv7jynw4zjfi2gh2pr7ii98b5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "44", "sha256": "0vdi0dznbawdavqr9j8w480av04r8m0k9czizzvk9bia33cqryi1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG9tZS1zd2VldC1nbm9tZS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "50", "sha256": "09zz5z5djnpzjhglh863djvmanl4hr3z0b6iqb0c8r0g420jfkrm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}, "42": {"version": "50", "sha256": "09zz5z5djnpzjhglh863djvmanl4hr3z0b6iqb0c8r0g420jfkrm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSAmIE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}}}
+, {"uuid": "dash-to-panel@jderose9.github.com", "name": "Dash to Panel", "pname": "dash-to-panel", "description": "An icon taskbar for the Gnome Shell. This extension moves the dash into the gnome main panel so that the application launchers and system tray are combined into a single panel, similar to that found in KDE Plasma and Windows 7+. A separate dock is no longer needed for easy access to running and favorited applications.\n\nFor a more traditional experience, you may also want to use Tweak Tool to enable Windows > Titlebar Buttons > Minimize > Maximize.\n\nFor the best support, please report any issues on Github. Dash-to-panel is developed and maintained by @jderose9 and @charlesg99.", "link": "https://extensions.gnome.org/extension/1160/dash-to-panel/", "shell_version_map": {"38": {"version": "42", "sha256": "0lv1qijfipl81s2f696jznrzjdgzblwm4q2fhz7755bplvy09sbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSA+IE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ob21lLXN3ZWV0LWdub21lL2Rhc2gtdG8tcGFuZWwiLAogICJ1dWlkIjogImRhc2gtdG8tcGFuZWxAamRlcm9zZTkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Mgp9"}, "40": {"version": "44", "sha256": "0i9cn34gvb6k2jjw5xzbdmhvag0qsz565nib1210y88k8w3xvaj3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSA+IE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaG9tZS1zd2VldC1nbm9tZS9kYXNoLXRvLXBhbmVsIiwKICAidXVpZCI6ICJkYXNoLXRvLXBhbmVsQGpkZXJvc2U5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "50", "sha256": "05rij4wnwdwa7y96x07d8pxfxkqrg4na90lzjl1q1kf8qljkd5kc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSA+IE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}, "42": {"version": "50", "sha256": "05rij4wnwdwa7y96x07d8pxfxkqrg4na90lzjl1q1kf8qljkd5kc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gdGFza2JhciBmb3IgdGhlIEdub21lIFNoZWxsLiBUaGlzIGV4dGVuc2lvbiBtb3ZlcyB0aGUgZGFzaCBpbnRvIHRoZSBnbm9tZSBtYWluIHBhbmVsIHNvIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGxhdW5jaGVycyBhbmQgc3lzdGVtIHRyYXkgYXJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgcGFuZWwsIHNpbWlsYXIgdG8gdGhhdCBmb3VuZCBpbiBLREUgUGxhc21hIGFuZCBXaW5kb3dzIDcrLiBBIHNlcGFyYXRlIGRvY2sgaXMgbm8gbG9uZ2VyIG5lZWRlZCBmb3IgZWFzeSBhY2Nlc3MgdG8gcnVubmluZyBhbmQgZmF2b3JpdGVkIGFwcGxpY2F0aW9ucy5cblxuRm9yIGEgbW9yZSB0cmFkaXRpb25hbCBleHBlcmllbmNlLCB5b3UgbWF5IGFsc28gd2FudCB0byB1c2UgVHdlYWsgVG9vbCB0byBlbmFibGUgV2luZG93cyA+IFRpdGxlYmFyIEJ1dHRvbnMgPiBNaW5pbWl6ZSA+IE1heGltaXplLlxuXG5Gb3IgdGhlIGJlc3Qgc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIG9uIEdpdGh1Yi4gRGFzaC10by1wYW5lbCBpcyBkZXZlbG9wZWQgYW5kIG1haW50YWluZWQgYnkgQGpkZXJvc2U5IGFuZCBAY2hhcmxlc2c5OS4iLAogICJleHRlbnNpb24taWQiOiAiZGFzaC10by1wYW5lbCIsCiAgImdldHRleHQtZG9tYWluIjogImRhc2gtdG8tcGFuZWwiLAogICJuYW1lIjogIkRhc2ggdG8gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hvbWUtc3dlZXQtZ25vbWUvZGFzaC10by1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC10by1wYW5lbEBqZGVyb3NlOS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUwCn0="}}}
 , {"uuid": "emoji-selector@maestroschan.fr", "name": "Emoji Selector", "pname": "emoji-selector", "description": "This extension provides a parametrable popup menu displaying most emojis, clicking on an emoji copies it to the clipboard. An appropriate font like 'Twitter Color Emoji' or 'JoyPixels Color' should be installed on your system for a better visual result.", "link": "https://extensions.gnome.org/extension/1162/emoji-selector/", "shell_version_map": {"38": {"version": "20", "sha256": "1i6py149m46xig5a0ry7y5v887nlzw644mw72gcr2hkfsn8b0gnd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgcGFyYW1ldHJhYmxlIHBvcHVwIG1lbnUgZGlzcGxheWluZyBtb3N0IGVtb2ppcywgY2xpY2tpbmcgb24gYW4gZW1vamkgY29waWVzIGl0IHRvIHRoZSBjbGlwYm9hcmQuIEFuIGFwcHJvcHJpYXRlIGZvbnQgbGlrZSAnVHdpdHRlciBDb2xvciBFbW9qaScgb3IgJ0pveVBpeGVscyBDb2xvcicgc2hvdWxkIGJlIGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbSBmb3IgYSBiZXR0ZXIgdmlzdWFsIHJlc3VsdC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJlbW9qaS1zZWxlY3RvciIsCiAgIm5hbWUiOiAiRW1vamkgU2VsZWN0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZW1vamktc2VsZWN0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovZW1vamktc2VsZWN0b3ItZm9yLWdub21lIiwKICAidXVpZCI6ICJlbW9qaS1zZWxlY3RvckBtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"uuid": "gnome-kinit@bonzini.gnu.org", "name": "Kerberos login", "pname": "kerberos-login", "description": "Provide a system menu item to renew Kerberos tickets", "link": "https://extensions.gnome.org/extension/1165/kerberos-login/", "shell_version_map": {"40": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "08rp128drriv5929lwwv9yy77yhn1arfc6snwsipibaby0c5jvsf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyLjIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUta2luaXRAYm9uemluaS5nbnUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "7", "sha256": "1rrp6iqm4j83qk9z470ipmw6wrw9akl5dp8gzplijaq5sw4kpvvv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYSBzeXN0ZW0gbWVudSBpdGVtIHRvIHJlbmV3IEtlcmJlcm9zIHRpY2tldHMiLAogICJuYW1lIjogIktlcmJlcm9zIGxvZ2luIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnbm9tZS1raW5pdEBib256aW5pLmdudS5vcmciLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "calculator-button@amivaleo", "name": "Calculator Button", "pname": "calculator-button", "description": "A button to easily open gnome-calculator.\n Credits to extensions.gnome.org/extension/939/display-button/\n\nv10:\n1 - added support for gnome 3.38\n2 - added support for flatpak version of gnome-calculator", "link": "https://extensions.gnome.org/extension/1168/calculator-button/", "shell_version_map": {"38": {"version": "10", "sha256": "1c6b53im6xj4yaf4skvchvgipxfjs2yh3i5r75cw9avnw7imnwk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYnV0dG9uIHRvIGVhc2lseSBvcGVuIGdub21lLWNhbGN1bGF0b3IuXG4gQ3JlZGl0cyB0byBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vOTM5L2Rpc3BsYXktYnV0dG9uL1xuXG52MTA6XG4xIC0gYWRkZWQgc3VwcG9ydCBmb3IgZ25vbWUgMy4zOFxuMiAtIGFkZGVkIHN1cHBvcnQgZm9yIGZsYXRwYWsgdmVyc2lvbiBvZiBnbm9tZS1jYWxjdWxhdG9yIiwKICAibmFtZSI6ICJDYWxjdWxhdG9yIEJ1dHRvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FtaXZhbGVvL0NhbGN1bGF0b3ItQnV0dG9uIiwKICAidXVpZCI6ICJjYWxjdWxhdG9yLWJ1dHRvbkBhbWl2YWxlbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
@@ -143,7 +143,7 @@
 , {"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. Required package: cups-bsd", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "1q2k5b4z159nfr5mn4ah8fz9x8dq35x5sz99s8yhalbkb0ba0d1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "41": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "42": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "move-osd-windows@maestroschan.fr", "name": "Move OSD Windows", "pname": "move-osd-windows", "description": "Change the position of OSD windows (sound & luminosity popups).", "link": "https://extensions.gnome.org/extension/1220/move-osd-windows/", "shell_version_map": {"38": {"version": "3", "sha256": "1nmvbx7qbr9a9al5wirnsfwn4qb1qbql2w9f7fpajipasill9hkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgT1NEIHdpbmRvd3MgKHNvdW5kICYgbHVtaW5vc2l0eSBwb3B1cHMpLiIsCiAgImdldHRleHQtZG9tYWluIjogIm1vdmUtb3NkLXdpbmRvd3MiLAogICJuYW1lIjogIk1vdmUgT1NEIFdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWVzdHJvc2NoYW4vTW92ZS1PU0QtV2luZG93cy1HTk9NRS1FeHRlbnNpb24iLAogICJ1dWlkIjogIm1vdmUtb3NkLXdpbmRvd3NAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## Unmaintained Project ##\n\nThis project and all related repositories have been officially archived. \n\nYou can now locate the Forked ArcMenu project, which is currently maintained and developed by Andrew Zeach, the URL is below.\n\n-- https://extensions.gnome.org/extension/3628/arcmenu/\n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "0mabrw2fxhjiyvmjdmbhbjmwljlvnz9g7jrwvr9xpsjzcr8qxfyg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVubWFpbnRhaW5lZCBQcm9qZWN0ICMjXG5cblRoaXMgcHJvamVjdCBhbmQgYWxsIHJlbGF0ZWQgcmVwb3NpdG9yaWVzIGhhdmUgYmVlbiBvZmZpY2lhbGx5IGFyY2hpdmVkLiBcblxuWW91IGNhbiBub3cgbG9jYXRlIHRoZSBGb3JrZWQgQXJjTWVudSBwcm9qZWN0LCB3aGljaCBpcyBjdXJyZW50bHkgbWFpbnRhaW5lZCBhbmQgZGV2ZWxvcGVkIGJ5IEFuZHJldyBaZWFjaCwgdGhlIFVSTCBpcyBiZWxvdy5cblxuLS0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzYyOC9hcmNtZW51L1xuXG5LaW5kIFJlZ2FyZHMgLSBMaW54R2VtMzMgKEFuZHkgQykiLAogICJleHRlbnNpb24taWQiOiAiYXJjLW1lbnUiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhcmMtbWVudSIsCiAgIm5hbWUiOiAiQXJjIE1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9MaW54R2VtMzMvQXJjLU1lbnUiLAogICJ1dWlkIjogImFyYy1tZW51QGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogNDkKfQ=="}}}
+, {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## Unmaintained Project ##\n\nThis project and all related repositories have been officially archived. \n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "1h2ry7vf024kq3rxgvv09d08iq7wxrb9xm1qvl126ppq6x15sgr4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVubWFpbnRhaW5lZCBQcm9qZWN0ICMjXG5cblRoaXMgcHJvamVjdCBhbmQgYWxsIHJlbGF0ZWQgcmVwb3NpdG9yaWVzIGhhdmUgYmVlbiBvZmZpY2lhbGx5IGFyY2hpdmVkLiBcblxuS2luZCBSZWdhcmRzIC0gTGlueEdlbTMzIChBbmR5IEMpIiwKICAiZXh0ZW5zaW9uLWlkIjogImFyYy1tZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjLW1lbnUiLAogICJuYW1lIjogIkFyYyBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFyYy1tZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vTGlueEdlbTMzL0FyYy1NZW51IiwKICAidXVpZCI6ICJhcmMtbWVudUBsaW54Z2VtMzMuY29tIiwKICAidmVyc2lvbiI6IDQ5Cn0="}}}
 , {"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": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "41": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}, "42": {"version": "33", "sha256": "0bdhgv3sgsdfh1zrdjc2iyg1dwjg2mn9gx287yhljl7v2yd73i5m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3b3Jrc3BhY2UgbGlrZSB1c2luZyBBTFQrVEFCIGtleSB0byBzd2l0Y2ggd2luZG93cyBcblxuIERlZmF1bHQgc2hvcnRjdXQga2V5IHRvIHN3aXRjaCB3b3Jrc3BhY2UgaXMgQ3RybCtBYm92ZV9UYWIgLiIsCiAgIm5hbWUiOiAiU3dpdGNoIFdvcmtzcGFjZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3Vud3hnL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zd2l0Y2h3b3Jrc3BhY2UiLAogICJ1dWlkIjogInN3aXRjaFdvcmtTcGFjZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzMwp9"}}}
 , {"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=="}}}
@@ -175,7 +175,7 @@
 , {"uuid": "mprisindicatorbutton@JasonLG1979.github.io", "name": "Mpris Indicator Button", "pname": "mpris-indicator-button", "description": "A full featured MPRIS indicator.", "link": "https://extensions.gnome.org/extension/1379/mpris-indicator-button/", "shell_version_map": {"38": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "weatherintheclock@JasonLG1979.github.io", "name": "Weather In The Clock", "pname": "weather-in-the-clock", "description": "Display the current Weather in the Clock. GNOME Weather is required for this extension to function.", "link": "https://extensions.gnome.org/extension/1380/weather-in-the-clock/", "shell_version_map": {"38": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "LyricsFinder@alireza6677.gmail.com", "name": "Lyrics Finder", "pname": "lyrics-finder", "description": "Finding lyrics has never been easier\nJust play some music!\n\nIf you want to report a bug please don't forget to mention:\n- Gnome shell version\n- Your Linux distro\n- Extension version\n- Error messages (If you see any)\n", "link": "https://extensions.gnome.org/extension/1383/lyrics-finder/", "shell_version_map": {"40": {"version": "14", "sha256": "1x9d3npil0wgf44p276dslw5adw4gziij03r0jlw174yy87mn2lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbmRpbmcgbHlyaWNzIGhhcyBuZXZlciBiZWVuIGVhc2llclxuSnVzdCBwbGF5IHNvbWUgbXVzaWMhXG5cbklmIHlvdSB3YW50IHRvIHJlcG9ydCBhIGJ1ZyBwbGVhc2UgZG9uJ3QgZm9yZ2V0IHRvIG1lbnRpb246XG4tIEdub21lIHNoZWxsIHZlcnNpb25cbi0gWW91ciBMaW51eCBkaXN0cm9cbi0gRXh0ZW5zaW9uIHZlcnNpb25cbi0gRXJyb3IgbWVzc2FnZXMgKElmIHlvdSBzZWUgYW55KVxuIiwKICAibmFtZSI6ICJMeXJpY3MgRmluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmx5cmljcy1maW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL1RoZVdlaXJkRGV2L2x5cmljcy1maW5kZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJMeXJpY3NGaW5kZXJAYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
-, {"uuid": "NotificationCounter@coolllsk", "name": "Notification Counter", "pname": "notification-counter", "description": "Shows number of notifications in queue.", "link": "https://extensions.gnome.org/extension/1386/notification-counter/", "shell_version_map": {"40": {"version": "4", "sha256": "0lld50jlnqgrm66030s6djy1gs5wd29l5l2is6mwqzxm8kypxpx7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG51bWJlciBvZiBub3RpZmljYXRpb25zIGluIHF1ZXVlLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIENvdW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmtyaXphbi9Ob3RpZmljYXRpb25Db3VudGVyIiwKICAidXVpZCI6ICJOb3RpZmljYXRpb25Db3VudGVyQGNvb2xsbHNrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "NotificationCounter@coolllsk", "name": "Notification Counter", "pname": "notification-counter", "description": "Shows number of notifications in queue.", "link": "https://extensions.gnome.org/extension/1386/notification-counter/", "shell_version_map": {"40": {"version": "5", "sha256": "0x4xx9msy6zhix2vmm09wf55mfnh0v8zzm7kk9gl52ayclf4221b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG51bWJlciBvZiBub3RpZmljYXRpb25zIGluIHF1ZXVlLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIENvdW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Zrcml6YW4vTm90aWZpY2F0aW9uQ291bnRlciIsCiAgInV1aWQiOiAiTm90aWZpY2F0aW9uQ291bnRlckBjb29sbGxzayIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0x4xx9msy6zhix2vmm09wf55mfnh0v8zzm7kk9gl52ayclf4221b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG51bWJlciBvZiBub3RpZmljYXRpb25zIGluIHF1ZXVlLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIENvdW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Zrcml6YW4vTm90aWZpY2F0aW9uQ291bnRlciIsCiAgInV1aWQiOiAiTm90aWZpY2F0aW9uQ291bnRlckBjb29sbGxzayIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "you2ber@konkor", "name": "you2ber", "pname": "you2ber", "description": "Gnome Youtube Downloader\n\n Simple helper for youtube-dl project. It allows you to save locally desired media content without any browser extensions. Just copy URL address of a media content to the clipboard and select desired quality profile or custom format for the item in the extension menu to store it.\n * Required the installation of ffmpeg (youtube-dl dependency for media manipulation)\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1392/you2ber/", "shell_version_map": {"40": {"version": "10", "sha256": "0dx5x22imwagx2j07xnayvd7zgsk7cyby7gh4jl935ndxmdp05fc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIFlvdXR1YmUgRG93bmxvYWRlclxuXG4gU2ltcGxlIGhlbHBlciBmb3IgeW91dHViZS1kbCBwcm9qZWN0LiBJdCBhbGxvd3MgeW91IHRvIHNhdmUgbG9jYWxseSBkZXNpcmVkIG1lZGlhIGNvbnRlbnQgd2l0aG91dCBhbnkgYnJvd3NlciBleHRlbnNpb25zLiBKdXN0IGNvcHkgVVJMIGFkZHJlc3Mgb2YgYSBtZWRpYSBjb250ZW50IHRvIHRoZSBjbGlwYm9hcmQgYW5kIHNlbGVjdCBkZXNpcmVkIHF1YWxpdHkgcHJvZmlsZSBvciBjdXN0b20gZm9ybWF0IGZvciB0aGUgaXRlbSBpbiB0aGUgZXh0ZW5zaW9uIG1lbnUgdG8gc3RvcmUgaXQuXG4gKiBSZXF1aXJlZCB0aGUgaW5zdGFsbGF0aW9uIG9mIGZmbXBlZyAoeW91dHViZS1kbCBkZXBlbmRlbmN5IGZvciBtZWRpYSBtYW5pcHVsYXRpb24pXG5cbkZvciBtb3JlIGluZm9ybWF0aW9uIGFuZCBob3ctdG8gc2VlIFJFQURNRS5tZCIsCiAgIm5hbWUiOiAieW91MmJlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcua29ua29yLnlvdTJiZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29ua29yL3lvdTJiZXIiLAogICJ1dWlkIjogInlvdTJiZXJAa29ua29yIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "files-view@argonauta.framagit.org", "name": "Files View", "pname": "files-view", "description": "", "link": "https://extensions.gnome.org/extension/1395/files-view/", "shell_version_map": {"38": {"version": "11", "sha256": "0367kzrpzbx1b2l1m68n2pmazlsy4207a1anvyr2n1a4xpq3vwb0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgImdldHRleHQtZG9tYWluIjogImZpbGVzLXZpZXciLAogICJuYW1lIjogIkZpbGVzIFZpZXciLAogICJyZWNlbnRseS1vcGVuLXBlcnNpc3RlbnQtZmlsZW5hbWUiOiAicmVjZW50bHktb3Blbi1mb2xkZXJzLWZpbGVzLXZpZXctZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLmpzb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZmlsZXMtdmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJmaWxlcy12aWV3QGFyZ29uYXV0YS5mcmFtYWdpdC5vcmciLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "bluetooth-quick-connect@bjarosze.gmail.com", "name": "Bluetooth Quick Connect", "pname": "bluetooth-quick-connect", "description": "Allow to connect to paired devices from gnome control panel.\n", "link": "https://extensions.gnome.org/extension/1401/bluetooth-quick-connect/", "shell_version_map": {"38": {"version": "16", "sha256": "1fkx12xx1m8pchyfvq0vmyd21m79s9s0jw4ackqg1nqcpwyqd1c3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "41": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "42": {"version": "29", "sha256": "0nb8glzh9gn8i22rmnv74gxyky6pbj67h4dcql92saqj3wa4bkpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHRvIGNvbm5lY3QgdG8gcGFpcmVkIGRldmljZXMgZnJvbSBnbm9tZSBjb250cm9sIHBhbmVsLlxuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJuYW1lIjogIkJsdWV0b290aCBRdWljayBDb25uZWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aC1xdWljay1jb25uZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmphcm9zemUvZ25vbWUtYmx1ZXRvb3RoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogImJsdWV0b290aC1xdWljay1jb25uZWN0QGJqYXJvc3plLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
@@ -187,11 +187,11 @@
 , {"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=="}, "42": {"version": "24", "sha256": "18d34l47mf4v04kd0vx8ljyfwlrr9jjygi5hl526v1bddyz8xy5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0b2NrcyBFeHRlbnNpb24gYnJpbmdzIHN0b2NrIHF1b3RlcyB0byB5b3VyIEdOT01FIFNoZWxsIFBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlN0b2NrcyBFeHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3RvY2tzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NpbmF0aWMvc3RvY2tzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAic3RvY2tzQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
 , {"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=="}}}
 , {"uuid": "Current_screen_only_for_Alternate_Tab@bourcereau.fr", "name": "Current screen only on window switcher", "pname": "current-screen-only-for-alternate-tab", "description": "Limits the windows shown on the switcher to those of the current monitor", "link": "https://extensions.gnome.org/extension/1437/current-screen-only-for-alternate-tab/", "shell_version_map": {"40": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1808015iaci5pknzdcgh0icakxd2wmina10winii7hf644gxjcdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpbWl0cyB0aGUgd2luZG93cyBzaG93biBvbiB0aGUgc3dpdGNoZXIgdG8gdGhvc2Ugb2YgdGhlIGN1cnJlbnQgbW9uaXRvciIsCiAgIm5hbWUiOiAiQ3VycmVudCBzY3JlZW4gb25seSBvbiB3aW5kb3cgc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tbWFpL0N1cnJlbnRfc2NyZWVuX29ubHlfb25fd2luZG93X3N3aXRjaGVyIiwKICAidXVpZCI6ICJDdXJyZW50X3NjcmVlbl9vbmx5X2Zvcl9BbHRlcm5hdGVfVGFiQGJvdXJjZXJlYXUuZnIiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"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": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "13fcxxj49cr4dagcwqcvqhc604xiq8cx59ngy853l85ldvlr83q0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
+, {"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": "19", "sha256": "00jyil5cx99ghgf0fa3a64cxvxrmn4di9s9wqq0x4b909fax8cs1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "00jyil5cx99ghgf0fa3a64cxvxrmn4di9s9wqq0x4b909fax8cs1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "00jyil5cx99ghgf0fa3a64cxvxrmn4di9s9wqq0x4b909fax8cs1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIGt1YmUgY29uZmlnIGNvbnRleHQiLAogICJuYW1lIjogIkt1YmUgQ29uZmlnIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmUtY29uZmlnIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnZib2dkYW5vdjg3L2dub21lLXNoZWxsLWV4dGVuc2lvbi1rdWJlY29uZmlnIiwKICAidXVpZCI6ICJrdWJlX2NvbmZpZ0B2dmJvZ2Rhbm92ODcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
 , {"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": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "1cygayp1kaykm7ldsdbn6qpxi80ddipvlhl6i89sca33yrwisz3n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"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": "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 (or shift + click): 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": "135mg4d49cm6ba72z9174kv31y49wpvlfddh04pmbj2cy95wai46", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "42": {"version": "14", "sha256": "0ylnjpwvdzxsdh68k197rk5dhv1211vcrjhc5w9k39hd2mdhw4ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmkgcHJldmlldyBvZiBhbm90aGVyIHdpbmRvdyAobGlrZSBwaWN0dXJlLWluLXBpY3R1cmUgb24gYSBUVilcbi0gTGVmdC1tb3VzZSBkcmFnOiBtb3ZlIHByZXZpZXcgd2luZG93XG4tIFJpZ2h0LW1vdXNlIGRyYWcgKG9yIGN0cmwgKyBsZWZ0IG1vdXNlIGRyYWcpOiByZXNpemUgcHJldmlldyB3aW5kb3dcbi0gU2Nyb2xsIHdoZWVsIChvciBzaGlmdCArIGNsaWNrKTogY2hhbmdlIHRhcmdldCB3aW5kb3dcbi0gRG91YmxlIGNsaWNrOiByYWlzZSB0YXJnZXQgd2luZG93XG4tIFNoaWZ0ICsgRjEyOiB0b2dnbGUgcHJldmlldyB3aW5kb3cgKHRoaXMgY2FuIGJlIGNoYW5nZWQgb3IgZGlzYWJsZWQgaW4gcHJlZmVyZW5jZXMpXG4tIEN0cmwgKyBzY3JvbGwgd2hlZWw6IGFkanVzdCBvcGFjaXR5IiwKICAiZXh0ZW5zaW9uLWlkIjogIm1pbml2aWV3IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWluaXZpZXciLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgInRoZXNlY3JldGFyeW9md2FyQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubWluaXZpZXciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pYW1sZW1lYy9taW5pdmlldyIsCiAgInV1aWQiOiAibWluaXZpZXdAdGhlc2VjcmV0YXJ5b2Z3YXIuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
-, {"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": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "40": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "41": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}, "42": {"version": "53", "sha256": "0zifd8v3qf90fdr3l6fmff2649jcw98b97ilqxxav9fj735nkqjm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1Mwp9"}}}
+, {"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": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "40": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "41": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}, "42": {"version": "54", "sha256": "1wfaxzsbzkmnzvszwpapxwj1370idgpxwmyg8a0drvb1jxxq3v1y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA1NAp9"}}}
 , {"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": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "0afqf8hkmg1fmnz0nn6jq6k7yl7vs69w0malqhf1bqfsn5w7ksdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vS0VJSUkvZ25vbWUtc2hlbGwtcGFuZWwtZGF0ZS1mb3JtYXQiLAogICJ1dWlkIjogInBhbmVsLWRhdGUtZm9ybWF0QGtlaWlpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "desktop-icons@csoriano", "name": "Desktop Icons", "pname": "desktop-icons", "description": "Add icons to the desktop", "link": "https://extensions.gnome.org/extension/1465/desktop-icons/", "shell_version_map": {"38": {"version": "19", "sha256": "01qdh1kigl3ck1mzgha1a9218lpam5b54ai72mpvr64gkaax2mcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBpY29ucyB0byB0aGUgZGVza3RvcCIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29ybGQvU2hlbGxFeHRlbnNpb25zL2Rlc2t0b3AtaWNvbnMiLAogICJ1dWlkIjogImRlc2t0b3AtaWNvbnNAY3Nvcmlhbm8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "fullbattery@categulario.tk", "name": "Full Battery indicator", "pname": "full-battery-indicator", "description": "Notifies when battery is full", "link": "https://extensions.gnome.org/extension/1466/full-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -219,12 +219,12 @@
 , {"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": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "00klclxdknknbv30acqsgzz43wsbp8gxmfgammm1xjg9kncp030j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zb2FsL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mdWxsc2NyZWVuLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tbm90aWZpY2F0aW9uc0Bzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"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": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "151813j8hhh4apgfj4dmxy07jwym1lixyn86937r2dz1qvk1s9l2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIHdvcmtzcGFjZSBieSBtb3VzZSBzY3JvbGwgb24gdGhlIHBhbmVsLlxuUG9pbnRlciBvbiBsZWZ0IG9mIHBhbmVsLCBzd2l0Y2ggd2luZG93cy5cblBvaW50ZXIgb24gcmlnaHQgb2YgcGFuZWwsIHN3aXRjaCB3b3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAicGFuZWwgc2Nyb2xsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tcGFuZWxTY3JvbGwiLAogICJ1dWlkIjogInBhbmVsU2Nyb2xsQHN1bi53eGdAZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"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": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "0jpamw200p1q0g7h1llvaq3hrqijgzkp7apgyvbgw8mg529q3xyj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS8wcnkwbi9SZXNvdXJjZV9Nb25pdG9yLyIsCiAgInV1aWQiOiAiUmVzb3VyY2VfTW9uaXRvckBPcnkwbiIsCiAgInZlcnNpb24iOiAxNgp9"}}}
+, {"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": "17", "sha256": "0582rhb7jj7nr4hlkv33vyrvc2y93in2wfksn4ghcmags44g6g2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "0582rhb7jj7nr4hlkv33vyrvc2y93in2wfksn4ghcmags44g6g2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "0582rhb7jj7nr4hlkv33vyrvc2y93in2wfksn4ghcmags44g6g2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJHaXVzZXBwZSBTaWx2ZXN0cm8iLAogICJkZXNjcmlwdGlvbiI6ICJNb25pdG9yIHRoZSB1c2Ugb2Ygc3lzdGVtIHJlc291cmNlcyBsaWtlIGNwdSwgcmFtLCBkaXNrLCBuZXR3b3JrIGFuZCBkaXNwbGF5IHRoZW0gaW4gZ25vbWUgc2hlbGwgdG9wIGJhci4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjb20tZ2l0aHViLU9yeTBuLVJlc291cmNlX01vbml0b3IiLAogICJuYW1lIjogIlJlc291cmNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5Pcnkwbi5SZXNvdXJjZV9Nb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vMHJ5MG4vUmVzb3VyY2VfTW9uaXRvci8iLAogICJ1dWlkIjogIlJlc291cmNlX01vbml0b3JAT3J5MG4iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"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": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "0wzpzn3pq05p9qqibb0436kckgh4y16xcm3wgr7xmxx68zpd87p4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlB1dCBHbm9tZSBUd2Vha3MgYW5kIEV4dGVuc2lvbnMgKG9uIFNoZWxsIDQwIGFuZCBsYXRlcikgaW4gdGhlIFN5c3RlbSBtZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogInR3ZWFrcy1zeXN0ZW0tbWVudSIsCiAgIm5hbWUiOiAiVHdlYWtzICYgRXh0ZW5zaW9ucyBpbiBTeXN0ZW0gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzUuOTIiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9GLWktZi90d2Vha3Mtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogInR3ZWFrcy1zeXN0ZW0tbWVudUBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxOC0wLWczMTE4ZmI4IiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"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": "13", "sha256": "1q9zzjcy8pyifqm51p51wb290casl3464k1w1p5ijgwf492va6gf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9waWNvbnNmaXhAYWxlc2t2YUBkZXZudWxsbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "1q9zzjcy8pyifqm51p51wb290casl3464k1w1p5ijgwf492va6gf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9waWNvbnNmaXhAYWxlc2t2YUBkZXZudWxsbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "1q9zzjcy8pyifqm51p51wb290casl3464k1w1p5ijgwf492va6gf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9waWNvbnNmaXhAYWxlc2t2YUBkZXZudWxsbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "1q9zzjcy8pyifqm51p51wb290casl3464k1w1p5ijgwf492va6gf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGxlZ2FjeSB0cmF5IGljb25zIG9uIHRvcCBcdTIwMTMgdGhlIGZpeGVkIHZlcnNpb24gb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDk1L3RvcGljb25zLyIsCiAgIm5hbWUiOiAiVG9wSWNvbnNGaXgiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9waWNvbnNmaXhAYWxlc2t2YUBkZXZudWxsbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"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="}}}
 , {"uuid": "drawOnYourScreen@abakkk.framagit.org", "name": "Draw On You Screen", "pname": "draw-on-you-screen", "description": "", "link": "https://extensions.gnome.org/extension/1683/draw-on-you-screen/", "shell_version_map": {"38": {"version": "11", "sha256": "0kbgngcb2n234snnavbm8giwi6zhvr48bs0qy4f511d52l2wyawy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXdPbllvdXJTY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkcmF3LW9uLXlvdXItc2NyZWVuIiwKICAibmFtZSI6ICJEcmF3IE9uIFlvdSBTY3JlZW4iLAogICJwZXJzaXN0ZW50LWZpbGUtbmFtZSI6ICJwZXJzaXN0ZW50IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRyYXctb24teW91ci1zY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZHJhd09uWW91clNjcmVlbkBhYmFra2suZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "Always-Show-Titles-In-Overview@gmail.com", "name": "Always Show Titles In Overview", "pname": "always-show-titles-in-overview", "description": "Customize Gnome 3 overview.\n\n- Always show titles of all window thumbnails\n- Show/hide app icons\n- App icon position: Bottom, Center\n- Show/hide the app icon when a window is in fullscreen mode\n- Tweak the window thumbnail active size increment (from 5 to 60, the default is 15)\n- Show/hide the background\n- Hide/show icons for Video/TV players, like SMPlayer \n\n", "link": "https://extensions.gnome.org/extension/1689/always-show-titles-in-overview/", "shell_version_map": {"38": {"version": "10", "sha256": "1vnbj1li9ci5n25b49swxps9zqajgr10vfgv5lcn9f9brzm373fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "19", "sha256": "01b9cqjwh0i5xf31ri28va4ax775lw5cymsd73ghlzp69p35yc4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL0Fsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlldyIsCiAgInV1aWQiOiAiQWx3YXlzLVNob3ctVGl0bGVzLUluLU92ZXJ2aWV3QGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "01b9cqjwh0i5xf31ri28va4ax775lw5cymsd73ghlzp69p35yc4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL0Fsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlldyIsCiAgInV1aWQiOiAiQWx3YXlzLVNob3ctVGl0bGVzLUluLU92ZXJ2aWV3QGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}}}
+, {"uuid": "Always-Show-Titles-In-Overview@gmail.com", "name": "Always Show Titles In Overview", "pname": "always-show-titles-in-overview", "description": "Customize Gnome 3 overview.\n\n- Always show titles of all window thumbnails\n- Show/hide app icons\n- App icon position: Bottom, Center\n- Show/hide the app icon when a window is in fullscreen mode\n- Tweak the window thumbnail active size increment (from 5 to 60, the default is 15)\n- Show/hide the background\n- Hide/show icons for Video/TV players, like SMPlayer \n\n", "link": "https://extensions.gnome.org/extension/1689/always-show-titles-in-overview/", "shell_version_map": {"38": {"version": "10", "sha256": "1vnbj1li9ci5n25b49swxps9zqajgr10vfgv5lcn9f9brzm373fp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "20", "sha256": "1i5n357fbazzgyvalwf72kfb25lzx228pba2l5haba19kzi3gf94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "1i5n357fbazzgyvalwf72kfb25lzx228pba2l5haba19kzi3gf94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "42": {"version": "20", "sha256": "1i5n357fbazzgyvalwf72kfb25lzx228pba2l5haba19kzi3gf94", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSBHbm9tZSAzIG92ZXJ2aWV3LlxuXG4tIEFsd2F5cyBzaG93IHRpdGxlcyBvZiBhbGwgd2luZG93IHRodW1ibmFpbHNcbi0gU2hvdy9oaWRlIGFwcCBpY29uc1xuLSBBcHAgaWNvbiBwb3NpdGlvbjogQm90dG9tLCBDZW50ZXJcbi0gU2hvdy9oaWRlIHRoZSBhcHAgaWNvbiB3aGVuIGEgd2luZG93IGlzIGluIGZ1bGxzY3JlZW4gbW9kZVxuLSBUd2VhayB0aGUgd2luZG93IHRodW1ibmFpbCBhY3RpdmUgc2l6ZSBpbmNyZW1lbnQgKGZyb20gNSB0byA2MCwgdGhlIGRlZmF1bHQgaXMgMTUpXG4tIFNob3cvaGlkZSB0aGUgYmFja2dyb3VuZFxuLSBIaWRlL3Nob3cgaWNvbnMgZm9yIFZpZGVvL1RWIHBsYXllcnMsIGxpa2UgU01QbGF5ZXIgXG5cbiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgVGl0bGVzIEluIE92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmxwc3VnZS9BbHdheXMtU2hvdy1UaXRsZXMtSW4tT3ZlcnZpZXciLAogICJ1dWlkIjogIkFsd2F5cy1TaG93LVRpdGxlcy1Jbi1PdmVydmlld0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"uuid": "overview-navigation@nathanielsimard.github.com", "name": "Overview Navigation", "pname": "overview-navigation", "description": "This extension aims to make Gnome Shell easier to navigate using only the keyboard. It is inspired by the vim plugins of Firefox and Chrome.", "link": "https://extensions.gnome.org/extension/1702/overview-navigation/", "shell_version_map": {"38": {"version": "14", "sha256": "10i2j0klcyi22qakmw1f338ldc87w54a0jlg1bwq84ifflmnm8nq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uYXRoYW5pZWxzaW1hcmQvb3ZlcnZpZXctbmF2aWdhdGlvbiIsCiAgInV1aWQiOiAib3ZlcnZpZXctbmF2aWdhdGlvbkBuYXRoYW5pZWxzaW1hcmQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNAp9"}, "40": {"version": "15", "sha256": "03ah1cx6kjw7698b9wwhz7ag8pag15g8zkxzfrsrcmving9syynd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmF0aGFuaWVsc2ltYXJkL292ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LW5hdmlnYXRpb25AbmF0aGFuaWVsc2ltYXJkLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "16", "sha256": "1qdqbsrmxnvx01hlaq17nps124xah1rkqvr0rpxms7f3klkgkw0d", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmF0aGFuaWVsc2ltYXJkL292ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LW5hdmlnYXRpb25AbmF0aGFuaWVsc2ltYXJkLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "17", "sha256": "0zhwl4j982jgyxcbdj50bdp98plfqs2hzgc8zl5rxv498662700w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFpbXMgdG8gbWFrZSBHbm9tZSBTaGVsbCBlYXNpZXIgdG8gbmF2aWdhdGUgdXNpbmcgb25seSB0aGUga2V5Ym9hcmQuIEl0IGlzIGluc3BpcmVkIGJ5IHRoZSB2aW0gcGx1Z2lucyBvZiBGaXJlZm94IGFuZCBDaHJvbWUuIiwKICAibmFtZSI6ICJPdmVydmlldyBOYXZpZ2F0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmF0aGFuaWVsc2ltYXJkL292ZXJ2aWV3LW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LW5hdmlnYXRpb25AbmF0aGFuaWVsc2ltYXJkLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "transparent-top-bar@zhanghai.me", "name": "Transparent Top Bar", "pname": "transparent-top-bar", "description": "Bring back the transparent top bar when free-floating in GNOME Shell 3.32.\n\nThis basically comes from the feature implementation removed in GNOME Shell 3.32, and I modified the code a bit to make it an extension. Enjoy!", "link": "https://extensions.gnome.org/extension/1708/transparent-top-bar/", "shell_version_map": {"38": {"version": "9", "sha256": "0i34ns1rm2iis9mvbyjvckb0l1b0zzzczzan7591y8lqfjplsmzr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5naGFpL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQHpoYW5naGFpLm1lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "14", "sha256": "0sdf46n4yxyknlwi6s87shsms6ggh8x54pplq6f5xwisw32zlrpi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemhhbmdoYWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAemhhbmdoYWkubWUiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "0sdf46n4yxyknlwi6s87shsms6ggh8x54pplq6f5xwisw32zlrpi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemhhbmdoYWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAemhhbmdoYWkubWUiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "0sdf46n4yxyknlwi6s87shsms6ggh8x54pplq6f5xwisw32zlrpi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIGJhY2sgdGhlIHRyYW5zcGFyZW50IHRvcCBiYXIgd2hlbiBmcmVlLWZsb2F0aW5nIGluIEdOT01FIFNoZWxsIDMuMzIuXG5cblRoaXMgYmFzaWNhbGx5IGNvbWVzIGZyb20gdGhlIGZlYXR1cmUgaW1wbGVtZW50YXRpb24gcmVtb3ZlZCBpbiBHTk9NRSBTaGVsbCAzLjMyLCBhbmQgSSBtb2RpZmllZCB0aGUgY29kZSBhIGJpdCB0byBtYWtlIGl0IGFuIGV4dGVuc2lvbi4gRW5qb3khIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemhhbmdoYWkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAemhhbmdoYWkubWUiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "ssh-search-provider@extensions.gnome-shell.fifi.org", "name": "SSH Search Provider Reborn", "pname": "ssh-search-provider-reborn", "description": "Provide SSH search results in overview.\n\nThis is a fork of the original \"SSH Search Provider\", updated to work with newer Gnome-Shells.", "link": "https://extensions.gnome.org/extension/1714/ssh-search-provider-reborn/", "shell_version_map": {"38": {"version": "11", "sha256": "1dyzkbzy2lg2h3ixz1i86hbrh69irw70whbrl8vw0m5yypfm15wm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2M2M0NjZjIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1dyzkbzy2lg2h3ixz1i86hbrh69irw70whbrl8vw0m5yypfm15wm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2M2M0NjZjIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1dyzkbzy2lg2h3ixz1i86hbrh69irw70whbrl8vw0m5yypfm15wm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2M2M0NjZjIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1dyzkbzy2lg2h3ixz1i86hbrh69irw70whbrl8vw0m5yypfm15wm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgU1NIIHNlYXJjaCByZXN1bHRzIGluIG92ZXJ2aWV3LlxuXG5UaGlzIGlzIGEgZm9yayBvZiB0aGUgb3JpZ2luYWwgXCJTU0ggU2VhcmNoIFByb3ZpZGVyXCIsIHVwZGF0ZWQgdG8gd29yayB3aXRoIG5ld2VyIEdub21lLVNoZWxscy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAibmFtZSI6ICJTU0ggU2VhcmNoIFByb3ZpZGVyIFJlYm9ybiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zc2gtc2VhcmNoLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjMzLjkwIiwKICAgICIzLjM2IiwKICAgICIzLjM1LjkyIiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRi1pLWYvc3NoLXNlYXJjaC1wcm92aWRlciIsCiAgInV1aWQiOiAic3NoLXNlYXJjaC1wcm92aWRlckBleHRlbnNpb25zLmdub21lLXNoZWxsLmZpZmkub3JnIiwKICAidmNzX3JldmlzaW9uIjogInYxMS0wLWc2M2M0NjZjIiwKICAidmVyc2lvbiI6IDExCn0="}}}
@@ -246,7 +246,7 @@
 , {"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": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "42": {"version": "25", "sha256": "1810bd4wqxblwc8y4gzwlc8ld4li2ggb6xpiqilag6aa8pz8y1yq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vU2hvdy1BcHBsaWNhdGlvbi1WaWV3LVdoZW4tV29ya3NwYWNlLUVtcHR5IiwKICAidXVpZCI6ICJhcHBsaWNhdGlvbl92aWV3X3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"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": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "028nrx3hakj8mcr3n6nsnrzg2mfikn49m4j2pjyq67y7vikjr4af", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uX21lbnVAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "40": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "41": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}, "42": {"version": "44", "sha256": "0nr4xcyvl4133ms7ph96gxps1h5fkc1b5r2npafw5fqw4v3969ls", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ0Cn0="}}}
+, {"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": "46", "sha256": "1kfbnnvj9y9xwqccf5xyhppylah4agd5mhwhq834swi6163z3lih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "40": {"version": "46", "sha256": "1kfbnnvj9y9xwqccf5xyhppylah4agd5mhwhq834swi6163z3lih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "41": {"version": "46", "sha256": "1kfbnnvj9y9xwqccf5xyhppylah4agd5mhwhq834swi6163z3lih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "42": {"version": "46", "sha256": "1kfbnnvj9y9xwqccf5xyhppylah4agd5mhwhq834swi6163z3lih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmFzdGVyc29mdC9kZXNrdG9wLWljb25zLW5nIiwKICAidXVpZCI6ICJkaW5nQHJhc3RlcnNvZnQuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
 , {"uuid": "order-extensions@wa4557.github.com", "name": "Order Gnome Shell extensions", "pname": "order-gnome-shell-extensions", "description": "Fixes order of gnome-shell extensions\n\nhttps://github.com/andia89/order-icons", "link": "https://extensions.gnome.org/extension/2114/order-gnome-shell-extensions/", "shell_version_map": {"38": {"version": "6", "sha256": "1nc7kg43xv02ndy1c9q2a32ca558ah21kdpwqy98xp0gyxc3sppy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICIzLjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "12v52sr6yfgxjmpva5c4navgx7h16cm4a5dq88jqwzkq0a9iilic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zXG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9hbmRpYTg5L29yZGVyLWljb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"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="}}}
@@ -261,7 +261,7 @@
 , {"uuid": "Denon_AVR_controler@sylter.fr", "name": "Denon AVR controler", "pname": "denon-avr-controler", "description": "Control a Denon audio video receiver through the network.\n- on/off switch\n- volume adjustment", "link": "https://extensions.gnome.org/extension/2371/denon-avr-controler/", "shell_version_map": {"38": {"version": "4", "sha256": "0c8ky3v70arnblix717jz9fsksr42673as9nmzfyh2p2h1zm03wq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgYSBEZW5vbiBhdWRpbyB2aWRlbyByZWNlaXZlciB0aHJvdWdoIHRoZSBuZXR3b3JrLlxuLSBvbi9vZmYgc3dpdGNoXG4tIHZvbHVtZSBhZGp1c3RtZW50IiwKICAibmFtZSI6ICJEZW5vbiBBVlIgY29udHJvbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2ZyYW1hZ2l0Lm9yZy9zeWx0ZXIvZGVub24tYXZyLWNvbnRyb2xlciIsCiAgInV1aWQiOiAiRGVub25fQVZSX2NvbnRyb2xlckBzeWx0ZXIuZnIiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "hide-universal-access@akiirui.github.io", "name": "Hide Universal Access", "pname": "hide-universal-access", "description": "Hide Universal Access icon from the status bar", "link": "https://extensions.gnome.org/extension/2398/hide-universal-access/", "shell_version_map": {"38": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1fxkn512cb24gv4gp5bih9mzjh5y4w7f5jml8hr5x6q1a42zakab", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyBpY29uIGZyb20gdGhlIHN0YXR1cyBiYXIiLAogICJuYW1lIjogIkhpZGUgVW5pdmVyc2FsIEFjY2VzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FraWlydWkvaGlkZS11bml2ZXJzYWwtYWNjZXNzIiwKICAidXVpZCI6ICJoaWRlLXVuaXZlcnNhbC1hY2Nlc3NAYWtpaXJ1aS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "roundrobintaborder@scottworley.com", "name": "Round Robin Tab Order", "pname": "round-robin-tab-order", "description": "Window switch order becomes round-robin instead of most-recently-used", "link": "https://extensions.gnome.org/extension/2446/round-robin-tab-order/", "shell_version_map": {"40": {"version": "3", "sha256": "0p2qfv6i43pi0hjsyz8xzxkxijr06b0d20q618y8gfj4ar82glv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdyBzd2l0Y2ggb3JkZXIgYmVjb21lcyByb3VuZC1yb2JpbiBpbnN0ZWFkIG9mIG1vc3QtcmVjZW50bHktdXNlZCIsCiAgIm5hbWUiOiAiUm91bmQgUm9iaW4gVGFiIE9yZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2NodWNrL3JvdW5kLXJvYmluLXRhYi1vcmRlciIsCiAgInV1aWQiOiAicm91bmRyb2JpbnRhYm9yZGVyQHNjb3R0d29ybGV5LmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "bubblemail@razer.framagit.org", "name": "Bubblemail", "pname": "bubblemail", "description": "New and unread mail indicator (Local, Imap, Pop3, Gmail, Yahoo mail...)\nIndicator for new mails from local mail boxes (MBOX, MAILDIR), POP3 or IMAP server.\n\nBE AWARE THAT THIS EXTENSION REQUIRES BUBBLEMAIL SERVICE INSTALLATION\nCheck your distribution packaging system for availability. Besides, packages for distributions and source tarballs can be found here :\nhttp://bubblemail.free.fr\n\nBubblemail is a complete rewrite of the mailnag project, with a lot of new features including :\n* Gnome online accounts are automaticaly synced\n* Avatars provided by the server, with default colorized icons for senders without specific avatar\n* Reports for connexion errors.\n\n Please report any issue on the gitlab pages of the project :\nhttps://framagit.org/razer/bubblemail/issues\nhttps://framagit.org/razer/bubblemail-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/2458/bubblemail/", "shell_version_map": {"38": {"version": "16", "sha256": "0s4280x43sn5pa7jc0g5qqcl1rm58a0sjxpmbmal6pkvjm3mpjdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "0s4280x43sn5pa7jc0g5qqcl1rm58a0sjxpmbmal6pkvjm3mpjdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "0s4280x43sn5pa7jc0g5qqcl1rm58a0sjxpmbmal6pkvjm3mpjdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0s4280x43sn5pa7jc0g5qqcl1rm58a0sjxpmbmal6pkvjm3mpjdl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgdW5yZWFkIG1haWwgaW5kaWNhdG9yIChMb2NhbCwgSW1hcCwgUG9wMywgR21haWwsIFlhaG9vIG1haWwuLi4pXG5JbmRpY2F0b3IgZm9yIG5ldyBtYWlscyBmcm9tIGxvY2FsIG1haWwgYm94ZXMgKE1CT1gsIE1BSUxESVIpLCBQT1AzIG9yIElNQVAgc2VydmVyLlxuXG5CRSBBV0FSRSBUSEFUIFRISVMgRVhURU5TSU9OIFJFUVVJUkVTIEJVQkJMRU1BSUwgU0VSVklDRSBJTlNUQUxMQVRJT05cbkNoZWNrIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2luZyBzeXN0ZW0gZm9yIGF2YWlsYWJpbGl0eS4gQmVzaWRlcywgcGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cbkJ1YmJsZW1haWwgaXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBtYWlsbmFnIHByb2plY3QsIHdpdGggYSBsb3Qgb2YgbmV3IGZlYXR1cmVzIGluY2x1ZGluZyA6XG4qIEdub21lIG9ubGluZSBhY2NvdW50cyBhcmUgYXV0b21hdGljYWx5IHN5bmNlZFxuKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIsIHdpdGggZGVmYXVsdCBjb2xvcml6ZWQgaWNvbnMgZm9yIHNlbmRlcnMgd2l0aG91dCBzcGVjaWZpYyBhdmF0YXJcbiogUmVwb3J0cyBmb3IgY29ubmV4aW9uIGVycm9ycy5cblxuIFBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
+, {"uuid": "bubblemail@razer.framagit.org", "name": "Bubblemail", "pname": "bubblemail", "description": "Indicator for new and unread mail (Yahoo, Gmail, Microsoft, Outlook, Aol, Icloud, Protonmail, Gmx...)\n * Multiple accounts support\n * Local mail support for Maildir and Mbox formats\n * Remote mail support for Pop3, Imap and Exchange protocols\n * Automatic imports of Gnome Online Accounts\n * Plugin support with default ones : spam filter, sound alert, libnotify, user script\n * Avatars provided by the server or default colorized ones\n * Reports for connection errors.\n\nBE AWARE THAT THIS EXTENSION REQUIRES BUBBLEMAIL SERVICE INSTALLATION\nCheck your distribution packaging system for availability.\nPackages for distributions and source tarballs can be found here :\nhttp://bubblemail.free.fr\n\nPlease report any issue on the gitlab pages of the project :\nhttps://framagit.org/razer/bubblemail/issues\nhttps://framagit.org/razer/bubblemail-gnome-shell/issues", "link": "https://extensions.gnome.org/extension/2458/bubblemail/", "shell_version_map": {"38": {"version": "17", "sha256": "1jb2p3ag1fb21z3qgxr4xd08q0qlfrs1sy4pkzr1krgdz53b4zc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBmb3IgbmV3IGFuZCB1bnJlYWQgbWFpbCAoWWFob28sIEdtYWlsLCBNaWNyb3NvZnQsIE91dGxvb2ssIEFvbCwgSWNsb3VkLCBQcm90b25tYWlsLCBHbXguLi4pXG4gKiBNdWx0aXBsZSBhY2NvdW50cyBzdXBwb3J0XG4gKiBMb2NhbCBtYWlsIHN1cHBvcnQgZm9yIE1haWxkaXIgYW5kIE1ib3ggZm9ybWF0c1xuICogUmVtb3RlIG1haWwgc3VwcG9ydCBmb3IgUG9wMywgSW1hcCBhbmQgRXhjaGFuZ2UgcHJvdG9jb2xzXG4gKiBBdXRvbWF0aWMgaW1wb3J0cyBvZiBHbm9tZSBPbmxpbmUgQWNjb3VudHNcbiAqIFBsdWdpbiBzdXBwb3J0IHdpdGggZGVmYXVsdCBvbmVzIDogc3BhbSBmaWx0ZXIsIHNvdW5kIGFsZXJ0LCBsaWJub3RpZnksIHVzZXIgc2NyaXB0XG4gKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIgb3IgZGVmYXVsdCBjb2xvcml6ZWQgb25lc1xuICogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbkJFIEFXQVJFIFRIQVQgVEhJUyBFWFRFTlNJT04gUkVRVUlSRVMgQlVCQkxFTUFJTCBTRVJWSUNFIElOU1RBTExBVElPTlxuQ2hlY2sgeW91ciBkaXN0cmlidXRpb24gcGFja2FnaW5nIHN5c3RlbSBmb3IgYXZhaWxhYmlsaXR5LlxuUGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cblBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "40": {"version": "17", "sha256": "1jb2p3ag1fb21z3qgxr4xd08q0qlfrs1sy4pkzr1krgdz53b4zc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBmb3IgbmV3IGFuZCB1bnJlYWQgbWFpbCAoWWFob28sIEdtYWlsLCBNaWNyb3NvZnQsIE91dGxvb2ssIEFvbCwgSWNsb3VkLCBQcm90b25tYWlsLCBHbXguLi4pXG4gKiBNdWx0aXBsZSBhY2NvdW50cyBzdXBwb3J0XG4gKiBMb2NhbCBtYWlsIHN1cHBvcnQgZm9yIE1haWxkaXIgYW5kIE1ib3ggZm9ybWF0c1xuICogUmVtb3RlIG1haWwgc3VwcG9ydCBmb3IgUG9wMywgSW1hcCBhbmQgRXhjaGFuZ2UgcHJvdG9jb2xzXG4gKiBBdXRvbWF0aWMgaW1wb3J0cyBvZiBHbm9tZSBPbmxpbmUgQWNjb3VudHNcbiAqIFBsdWdpbiBzdXBwb3J0IHdpdGggZGVmYXVsdCBvbmVzIDogc3BhbSBmaWx0ZXIsIHNvdW5kIGFsZXJ0LCBsaWJub3RpZnksIHVzZXIgc2NyaXB0XG4gKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIgb3IgZGVmYXVsdCBjb2xvcml6ZWQgb25lc1xuICogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbkJFIEFXQVJFIFRIQVQgVEhJUyBFWFRFTlNJT04gUkVRVUlSRVMgQlVCQkxFTUFJTCBTRVJWSUNFIElOU1RBTExBVElPTlxuQ2hlY2sgeW91ciBkaXN0cmlidXRpb24gcGFja2FnaW5nIHN5c3RlbSBmb3IgYXZhaWxhYmlsaXR5LlxuUGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cblBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "1jb2p3ag1fb21z3qgxr4xd08q0qlfrs1sy4pkzr1krgdz53b4zc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBmb3IgbmV3IGFuZCB1bnJlYWQgbWFpbCAoWWFob28sIEdtYWlsLCBNaWNyb3NvZnQsIE91dGxvb2ssIEFvbCwgSWNsb3VkLCBQcm90b25tYWlsLCBHbXguLi4pXG4gKiBNdWx0aXBsZSBhY2NvdW50cyBzdXBwb3J0XG4gKiBMb2NhbCBtYWlsIHN1cHBvcnQgZm9yIE1haWxkaXIgYW5kIE1ib3ggZm9ybWF0c1xuICogUmVtb3RlIG1haWwgc3VwcG9ydCBmb3IgUG9wMywgSW1hcCBhbmQgRXhjaGFuZ2UgcHJvdG9jb2xzXG4gKiBBdXRvbWF0aWMgaW1wb3J0cyBvZiBHbm9tZSBPbmxpbmUgQWNjb3VudHNcbiAqIFBsdWdpbiBzdXBwb3J0IHdpdGggZGVmYXVsdCBvbmVzIDogc3BhbSBmaWx0ZXIsIHNvdW5kIGFsZXJ0LCBsaWJub3RpZnksIHVzZXIgc2NyaXB0XG4gKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIgb3IgZGVmYXVsdCBjb2xvcml6ZWQgb25lc1xuICogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbkJFIEFXQVJFIFRIQVQgVEhJUyBFWFRFTlNJT04gUkVRVUlSRVMgQlVCQkxFTUFJTCBTRVJWSUNFIElOU1RBTExBVElPTlxuQ2hlY2sgeW91ciBkaXN0cmlidXRpb24gcGFja2FnaW5nIHN5c3RlbSBmb3IgYXZhaWxhYmlsaXR5LlxuUGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cblBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "42": {"version": "17", "sha256": "1jb2p3ag1fb21z3qgxr4xd08q0qlfrs1sy4pkzr1krgdz53b4zc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBmb3IgbmV3IGFuZCB1bnJlYWQgbWFpbCAoWWFob28sIEdtYWlsLCBNaWNyb3NvZnQsIE91dGxvb2ssIEFvbCwgSWNsb3VkLCBQcm90b25tYWlsLCBHbXguLi4pXG4gKiBNdWx0aXBsZSBhY2NvdW50cyBzdXBwb3J0XG4gKiBMb2NhbCBtYWlsIHN1cHBvcnQgZm9yIE1haWxkaXIgYW5kIE1ib3ggZm9ybWF0c1xuICogUmVtb3RlIG1haWwgc3VwcG9ydCBmb3IgUG9wMywgSW1hcCBhbmQgRXhjaGFuZ2UgcHJvdG9jb2xzXG4gKiBBdXRvbWF0aWMgaW1wb3J0cyBvZiBHbm9tZSBPbmxpbmUgQWNjb3VudHNcbiAqIFBsdWdpbiBzdXBwb3J0IHdpdGggZGVmYXVsdCBvbmVzIDogc3BhbSBmaWx0ZXIsIHNvdW5kIGFsZXJ0LCBsaWJub3RpZnksIHVzZXIgc2NyaXB0XG4gKiBBdmF0YXJzIHByb3ZpZGVkIGJ5IHRoZSBzZXJ2ZXIgb3IgZGVmYXVsdCBjb2xvcml6ZWQgb25lc1xuICogUmVwb3J0cyBmb3IgY29ubmVjdGlvbiBlcnJvcnMuXG5cbkJFIEFXQVJFIFRIQVQgVEhJUyBFWFRFTlNJT04gUkVRVUlSRVMgQlVCQkxFTUFJTCBTRVJWSUNFIElOU1RBTExBVElPTlxuQ2hlY2sgeW91ciBkaXN0cmlidXRpb24gcGFja2FnaW5nIHN5c3RlbSBmb3IgYXZhaWxhYmlsaXR5LlxuUGFja2FnZXMgZm9yIGRpc3RyaWJ1dGlvbnMgYW5kIHNvdXJjZSB0YXJiYWxscyBjYW4gYmUgZm91bmQgaGVyZSA6XG5odHRwOi8vYnViYmxlbWFpbC5mcmVlLmZyXG5cblBsZWFzZSByZXBvcnQgYW55IGlzc3VlIG9uIHRoZSBnaXRsYWIgcGFnZXMgb2YgdGhlIHByb2plY3QgOlxuaHR0cHM6Ly9mcmFtYWdpdC5vcmcvcmF6ZXIvYnViYmxlbWFpbC9pc3N1ZXNcbmh0dHBzOi8vZnJhbWFnaXQub3JnL3JhemVyL2J1YmJsZW1haWwtZ25vbWUtc2hlbGwvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYnViYmxlbWFpbC1nbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiQnViYmxlbWFpbCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAicmF6ZXJyYXpAZnJlZS5mciIsCiAgICAienVsdTk5QGdteC5uZXQiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJ1YmJsZW1haWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9idWJibGVtYWlsLmZyZWUuZnIiLAogICJ1dWlkIjogImJ1YmJsZW1haWxAcmF6ZXIuZnJhbWFnaXQub3JnIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
 , {"uuid": "keypadTiling@abakkk.framagit.org", "name": "Keypad Tiling", "pname": "keypad-tiling", "description": "", "link": "https://extensions.gnome.org/extension/2473/keypad-tiling/", "shell_version_map": {"38": {"version": "4", "sha256": "1v0hxg96l482wngrszh0xabgj95q7rmyimd2rxnbkddd2gascnya", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgImdldHRleHQtZG9tYWluIjogImtleXBhZC10aWxpbmciLAogICJuYW1lIjogIktleXBhZCBUaWxpbmciLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2V5cGFkLXRpbGluZyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJrZXlwYWRUaWxpbmdAYWJha2trLmZyYW1hZ2l0Lm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "reminder_alarm_clock@trifonovkv.gmail.com", "name": "Reminder Alarm Clock", "pname": "reminder-alarm-clock", "description": "The reminder alarm clock will remind you of an important event at the appointed time.", "link": "https://extensions.gnome.org/extension/2482/reminder-alarm-clock/", "shell_version_map": {"38": {"version": "40", "sha256": "0yljdig44gly3fky4ls42shbpvf2387kgnn1dfla9zmxxzjdkryq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSByZW1pbmRlciBhbGFybSBjbG9jayB3aWxsIHJlbWluZCB5b3Ugb2YgYW4gaW1wb3J0YW50IGV2ZW50IGF0IHRoZSBhcHBvaW50ZWQgdGltZS4iLAogICJuYW1lIjogIlJlbWluZGVyIEFsYXJtIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90cmlmb25vdmt2L1JlbWluZGVyQWxhcm1DbG9jayIsCiAgInV1aWQiOiAicmVtaW5kZXJfYWxhcm1fY2xvY2tAdHJpZm9ub3Zrdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNDAKfQ=="}}}
 , {"uuid": "TaskBar@c0ldplasma", "name": "TaskBar 2020", "pname": "taskbar-updated", "description": "!!! Development stopped !!!!  Look at Dash to Panel as an alternative: https://extensions.gnome.org/extension/1160/dash-to-panel/\n\n----------------------------------------------------------------------\n\nTaskBar 2020 displays icons of running applications and favorites on the top panel or alternatively on a new bottom panel. Activate, minimize or close tasks with a simple click. \n\nTaskBar 2020 is a dock-like windows list on the top/bottom bar. \n\nFork of zpydr/gnome-shell-extension-taskbar to support newer versions of GNOME", "link": "https://extensions.gnome.org/extension/2506/taskbar-updated/", "shell_version_map": {"38": {"version": "5", "sha256": "09yn1p0vmq70ll7vi3jdjvj479cm38r4am0mw08nca8hl4zdiamj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2MwbGRwbGFzbWEvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhc2tiYXIiLAogICJ1dWlkIjogIlRhc2tCYXJAYzBsZHBsYXNtYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "8", "sha256": "0a2fwmm1n5n2ifryb6yfzh4nj4h11qkphpxvp876fyll03y9p2m5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiEhISBEZXZlbG9wbWVudCBzdG9wcGVkICEhISEgIExvb2sgYXQgRGFzaCB0byBQYW5lbCBhcyBhbiBhbHRlcm5hdGl2ZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblRhc2tCYXIgMjAyMCBkaXNwbGF5cyBpY29ucyBvZiBydW5uaW5nIGFwcGxpY2F0aW9ucyBhbmQgZmF2b3JpdGVzIG9uIHRoZSB0b3AgcGFuZWwgb3IgYWx0ZXJuYXRpdmVseSBvbiBhIG5ldyBib3R0b20gcGFuZWwuIEFjdGl2YXRlLCBtaW5pbWl6ZSBvciBjbG9zZSB0YXNrcyB3aXRoIGEgc2ltcGxlIGNsaWNrLiBcblxuVGFza0JhciAyMDIwIGlzIGEgZG9jay1saWtlIHdpbmRvd3MgbGlzdCBvbiB0aGUgdG9wL2JvdHRvbSBiYXIuIFxuXG5Gb3JrIG9mIHpweWRyL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIHRvIHN1cHBvcnQgbmV3ZXIgdmVyc2lvbnMgb2YgR05PTUUiLAogICJuYW1lIjogIlRhc2tCYXIgMjAyMCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jMGxkcGxhc21hL2dub21lLXNoZWxsLWV4dGVuc2lvbi10YXNrYmFyIiwKICAidXVpZCI6ICJUYXNrQmFyQGMwbGRwbGFzbWEiLAogICJ2ZXJzaW9uIjogOAp9"}}}
@@ -271,10 +271,10 @@
 , {"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": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "006pxfxpvw41fjbqpyyifr9r7fai5ghvfgb0wmdl8xm9ix1sh4j2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHRoZSBuZXcgbWVzc2FnZXMgaW5kaWNhdG9yIG9uIG5ldyBtZXNzYWdlcy4gRmVhdHVyZXM6IDEpIE5ldyBtZXNzYWdlIGluZGljYXRvciBpcyBhbHdheXMgc2hvd24gaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIDIpIFRoZSBjb2xvciBvZiB0aGUgaW5kaWNhdG9yIGNhbiBiZSBjdXN0b21pemVkLiAzKSBJZiAnZG8gbm90IGRpc3R1cmInIGlzIGFjdGl2ZSwgdGhlIGljb24gaXMgZGlzcGxheWVkIGluIHRoZSBjdXN0b20gY29sb3IgaWYgdGhlcmUgYXJlIG5vdGlmaWNhdGlvbnMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx3YXlzLWluZGljYXRvciIsCiAgIm5hbWUiOiAiQWx3YXlzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHdheXMtaW5kaWNhdG9yLXNldHRpbmdzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXp1ci9nbm9tZS1zaGVsbC1hbHdheXMtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJhbHdheXMtaW5kaWNhdG9yQG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"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": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "42": {"version": "25", "sha256": "12klzvzv28im89pdd74zyzhj8xhnbvqlh85q1i5ca4r81mmg7q3s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgdGhlIEVydXB0aW9uIExpbnV4IGlucHV0IGFuZCBMRUQgZHJpdmVyIGZvciBrZXlib2FyZHMsIG1pY2UgYW5kIG90aGVyIGRldmljZXMiLAogICJuYW1lIjogIkVydXB0aW9uIFByb2ZpbGUgU3dpdGNoZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXJ1cHRpb24tcHJvZmlsZS1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
+, {"uuid": "eruption-profile-switcher@x3n0m0rph59.org", "name": "Eruption Profile Switcher", "pname": "eruption-profile-switcher", "description": "Runtime profile switcher for Eruption\nhttps://eruption-project.org/", "link": "https://extensions.gnome.org/extension/2621/eruption-profile-switcher/", "shell_version_map": {"38": {"version": "15", "sha256": "0x9j2bpml8f9whlq04l7f5axws39jpxp3xpdngxszf5b0xnf7782", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgRXJ1cHRpb25cbmh0dHBzOi8vZXJ1cHRpb24tcHJvamVjdC5vcmcvIiwKICAibmFtZSI6ICJFcnVwdGlvbiBQcm9maWxlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1gzbjBtMHJwaDU5L2VydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJ1dWlkIjogImVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXJAeDNuMG0wcnBoNTkub3JnIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "25", "sha256": "0px5p8lg6s6b585g5a6p6mkvcprhwgkjg2bx9fa8m7s1f0hipx9m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgRXJ1cHRpb25cbmh0dHBzOi8vZXJ1cHRpb24tcHJvamVjdC5vcmcvIiwKICAibmFtZSI6ICJFcnVwdGlvbiBQcm9maWxlIFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLmJldGEiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9YM24wbTBycGg1OS9lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJlcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyQHgzbjBtMHJwaDU5Lm9yZyIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "0px5p8lg6s6b585g5a6p6mkvcprhwgkjg2bx9fa8m7s1f0hipx9m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgRXJ1cHRpb25cbmh0dHBzOi8vZXJ1cHRpb24tcHJvamVjdC5vcmcvIiwKICAibmFtZSI6ICJFcnVwdGlvbiBQcm9maWxlIFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLmJldGEiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9YM24wbTBycGg1OS9lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJlcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyQHgzbjBtMHJwaDU5Lm9yZyIsCiAgInZlcnNpb24iOiAyNQp9"}, "42": {"version": "25", "sha256": "0px5p8lg6s6b585g5a6p6mkvcprhwgkjg2bx9fa8m7s1f0hipx9m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJ1bnRpbWUgcHJvZmlsZSBzd2l0Y2hlciBmb3IgRXJ1cHRpb25cbmh0dHBzOi8vZXJ1cHRpb24tcHJvamVjdC5vcmcvIiwKICAibmFtZSI6ICJFcnVwdGlvbiBQcm9maWxlIFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmVydXB0aW9uLXByb2ZpbGUtc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLmJldGEiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9YM24wbTBycGg1OS9lcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJlcnVwdGlvbi1wcm9maWxlLXN3aXRjaGVyQHgzbjBtMHJwaDU5Lm9yZyIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"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=="}, "42": {"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": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "00b2mv92c5zvyajkgqs3nm781aqgc47m2jix8phx1fbbgi2vx2a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"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": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "02nm3nxz3adx6zs6qblmmkwnh01bxfv2zzka2imw36s09agc5g2s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmlnbS9oaWRlLW1pbmltaXplZCIsCiAgInV1aWQiOiAiaGlkZS1taW5pbWl6ZWRAZGFuaWdtLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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\nThere 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": "14kfnf2cjdv15s41fdvfyb7z11bbv5ajvpmsggwy3m4lwxn0p9bw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "30", "sha256": "11mavab95dmzjz6cn37zrhz4zp175rjvdmcsbfc4dl5wbi8rkj5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "41": {"version": "30", "sha256": "11mavab95dmzjz6cn37zrhz4zp175rjvdmcsbfc4dl5wbi8rkj5k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzMAp9"}, "42": {"version": "31", "sha256": "125cx5jv23c5kwldlvqkyxm528zs4p8dlfk2igsv00ryw6nxpnji", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMzEKfQ=="}}}
 , {"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": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "178yi4wm7h52al01a9l0q765rm6hwj0j19sg29jw4pgm0c11kywq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hc3F1ZXJhZGUtQ2lyY3VzL2dub21lLXRpbWV6b25lcy1leHRlbnNpb24iLAogICJ1dWlkIjogInRpbWV6b25lc0BtYXNxdWVyYWRlLWNpcmN1cy5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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=="}, "42": {"version": "4", "sha256": "1af8hyfvrpl7slqc1sdnc82zkrqrrvw16qw47qqxfdiybyk7381z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -286,7 +286,7 @@
 , {"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="}}}
 , {"uuid": "customgestures@raushankumar27.github.com", "name": "Custom 3 Finger Gestures", "pname": "custom-3-finger-gestures", "description": "3 Finger touchpad gestures into gnome-shell", "link": "https://extensions.gnome.org/extension/2781/custom-3-finger-gestures/", "shell_version_map": {"38": {"version": "7", "sha256": "1a51rlf5fjlzlm2y3cv1ncf4glqa48rkpi0z1b8hd5m1fzgdx6m9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgRmluZ2VyIHRvdWNocGFkIGdlc3R1cmVzIGludG8gZ25vbWUtc2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b21nZXN0dXJlcyIsCiAgIm5hbWUiOiAiQ3VzdG9tIDMgRmluZ2VyIEdlc3R1cmVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbWdlc3R1cmVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmF1c2hhbmt1bWFyMjcvY3VzdG9tZ2VzdHVyZSIsCiAgInV1aWQiOiAiY3VzdG9tZ2VzdHVyZXNAcmF1c2hhbmt1bWFyMjcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "overview-improved@human.experience", "name": "Overview Improved", "pname": "overview-improved", "description": "Improved, more Unity like overview\n\n* Dash-To-Dock or Ubuntu Dock integration creates Unity-like experience showing windows of specific type\n* Windows search in overview\nConfigurable keybinding (Super+w) to trigger current window overlay\n* Clicking empty space in overview closes\n* Do not show overview when showing application on multiple monitors\n* Multi Monitors Add-On Overview integration\n\nCaveat: may clash with other extensions that modify overview experience", "link": "https://extensions.gnome.org/extension/2802/overview-improved/", "shell_version_map": {"38": {"version": "8", "sha256": "0pzk6kzhbm15rmd540gv2sc0yqbiv31lil4ra3k5k7cpnr9ipsy6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVkLCBtb3JlIFVuaXR5IGxpa2Ugb3ZlcnZpZXdcblxuKiBEYXNoLVRvLURvY2sgb3IgVWJ1bnR1IERvY2sgaW50ZWdyYXRpb24gY3JlYXRlcyBVbml0eS1saWtlIGV4cGVyaWVuY2Ugc2hvd2luZyB3aW5kb3dzIG9mIHNwZWNpZmljIHR5cGVcbiogV2luZG93cyBzZWFyY2ggaW4gb3ZlcnZpZXdcbkNvbmZpZ3VyYWJsZSBrZXliaW5kaW5nIChTdXBlcit3KSB0byB0cmlnZ2VyIGN1cnJlbnQgd2luZG93IG92ZXJsYXlcbiogQ2xpY2tpbmcgZW1wdHkgc3BhY2UgaW4gb3ZlcnZpZXcgY2xvc2VzXG4qIERvIG5vdCBzaG93IG92ZXJ2aWV3IHdoZW4gc2hvd2luZyBhcHBsaWNhdGlvbiBvbiBtdWx0aXBsZSBtb25pdG9yc1xuKiBNdWx0aSBNb25pdG9ycyBBZGQtT24gT3ZlcnZpZXcgaW50ZWdyYXRpb25cblxuQ2F2ZWF0OiBtYXkgY2xhc2ggd2l0aCBvdGhlciBleHRlbnNpb25zIHRoYXQgbW9kaWZ5IG92ZXJ2aWV3IGV4cGVyaWVuY2UiLAogICJuYW1lIjogIk92ZXJ2aWV3IEltcHJvdmVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm92ZXJ2aWV3LWltcHJvdmVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9odW1hbi5leHBlcmllbmNlL2dub21lLXNoZWxsLW92ZXJ2aWV3LWltcHJvdmVkIiwKICAidXVpZCI6ICJvdmVydmlldy1pbXByb3ZlZEBodW1hbi5leHBlcmllbmNlIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"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": "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": "5", "sha256": "1ppgcx1p7qn137w85iz440ng3vh2925dds66qyxvsmm818lhy6dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtYnJpZ2h0bmVzcy1wYW5lbC1tZW51LWluZGljYXRvciIsCiAgInV1aWQiOiAiYnJpZ2h0bmVzc3BhbmVsbWVudWluZGljYXRvckBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1ppgcx1p7qn137w85iz440ng3vh2925dds66qyxvsmm818lhy6dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtYnJpZ2h0bmVzcy1wYW5lbC1tZW51LWluZGljYXRvciIsCiAgInV1aWQiOiAiYnJpZ2h0bmVzc3BhbmVsbWVudWluZGljYXRvckBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1ppgcx1p7qn137w85iz440ng3vh2925dds66qyxvsmm818lhy6dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtYnJpZ2h0bmVzcy1wYW5lbC1tZW51LWluZGljYXRvciIsCiAgInV1aWQiOiAiYnJpZ2h0bmVzc3BhbmVsbWVudWluZGljYXRvckBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1ppgcx1p7qn137w85iz440ng3vh2925dds66qyxvsmm818lhy6dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklmIGEgYmFja2xpZ2h0IGRldmljZSBpcyBhdmFpbGFibGUsIHRoaXMgZXh0ZW5zaW9uIHNob3dzIGEgYnJpZ2h0bmVzcyBpbmRpY2F0b3Igb24gcGFuZWwgbWVudSwgdGhhdCBhbGxvd3MgY2hhbmdpbmcgYnJpZ2h0bmVzcyB0aHJvdWdoIHNjcm9sbGluZyBvbiBpdC4gVXNlZnVsLCB3aGVuIHVzaW5nIGRkY2NpLWRyaXZlci1saW51eCBvbiBhIGRlc2t0b3AgUEMgd2l0aG91dCBuYXRpdmUga2V5Ym9hcmQgYnV0dG9ucyB0byBjaGFuZ2UgYnJpZ2h0bmVzcy4iLAogICJuYW1lIjogIkJyaWdodG5lc3MgUGFuZWwgTWVudSBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtYnJpZ2h0bmVzcy1wYW5lbC1tZW51LWluZGljYXRvciIsCiAgInV1aWQiOiAiYnJpZ2h0bmVzc3BhbmVsbWVudWluZGljYXRvckBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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: \"BTC/USDT\"\ncomplete list on binance: https://www.binance.com/indexSpa.html\n\n** if it faced error after update:\n**Restart Gnome-shell. (ALT+F2, r, Enter)", "link": "https://extensions.gnome.org/extension/2817/crypto-price-tracker/", "shell_version_map": {"40": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}, "42": {"version": "20", "sha256": "1bm2ycybxdbkasviij4q61pf9cy7jwk99w9qvinghyd4iagsvxwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdG8gdHJhY2sgcHJpY2Ugb2YgQ3J5cHRvIEN1cnJlbmNpZXNcblxuYWRkIGNvaW5zIGJ5IEJpbmFuY2Ugc3ltYm9scywgZm9yIGV4YW1wbGU6IFwiQlRDL1VTRFRcIlxuY29tcGxldGUgbGlzdCBvbiBiaW5hbmNlOiBodHRwczovL3d3dy5iaW5hbmNlLmNvbS9pbmRleFNwYS5odG1sXG5cbioqIGlmIGl0IGZhY2VkIGVycm9yIGFmdGVyIHVwZGF0ZTpcbioqUmVzdGFydCBHbm9tZS1zaGVsbC4gKEFMVCtGMiwgciwgRW50ZXIpIiwKICAibmFtZSI6ICJDcnlwdG8gUHJpY2UgVHJhY2tlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG8tdHJhY2tlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsaXBpcnBpcmFuL0NyeXB0by1QcmljZS1UcmFja2VyLWZvci1Hbm9tZS1TaGVsbCIsCiAgInV1aWQiOiAiY3J5cHRvQGFsaXBpcnBpcmFuLmdpdGh1YiIsCiAgInZlcnNpb24iOiAyMAp9"}}}
 , {"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="}, "42": {"version": "38", "sha256": "0crdw1z2yan0mbc36v8vw0iinqbv4lyqzsvdyhz8zsi9q4asrlg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrZXIgb2YgSUJ1cyBmb3Igb3JpZW50YXRpb24sIHRoZW1lLCBmb250LCBpbnB1dCBtb2RlIGFuZCBjbGlwYm9hcmQgaGlzdG9yeVxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24taWJ1cy10d2Vha2VyIiwKICAibmFtZSI6ICJJQnVzIFR3ZWFrZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaWJ1cy10d2Vha2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvaWJ1cy10d2Vha2VyIiwKICAidXVpZCI6ICJpYnVzLXR3ZWFrZXJAdHViZXJyeS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
 , {"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": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0kvniacvxv57f6jfcrlrd7ggwj4h0bfs60r59p150m6nldm9zf23", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGV4dCAmIGljb24gb24gc3lzdHJheSB1c2luZyBEQlVTIiwKICAibmFtZSI6ICJHZW5lcmljIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHA6Ly9pbmRlZmVyby5zb3V0YWRlLmZyL3AvZ2VuZXJpY21vbml0b3IiLAogICJ1dWlkIjogImdlbmVyaWMtbW9uaXRvckBnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
@@ -301,7 +301,7 @@
 , {"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": "11", "sha256": "0yfc6n7x5fdk8r5knf2q266m6xhrd86v2x4xs77n8niwgb89p26h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXR0aW5nc0NlbnRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "0yfc6n7x5fdk8r5knf2q266m6xhrd86v2x4xs77n8niwgb89p26h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXR0aW5nc0NlbnRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "0yfc6n7x5fdk8r5knf2q266m6xhrd86v2x4xs77n8niwgb89p26h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXR0aW5nc0NlbnRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"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": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "41": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}, "42": {"version": "28", "sha256": "16iql7ca0l5r8wwkhhaq32j9jf2n2986whakf6ri3p1ha2jq438g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOAp9"}}}
+, {"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": "29", "sha256": "18b945hcy8a13dm0s2d1x9dc6d8b2pxgmhaqshk8wbcmxjwiv866", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "40": {"version": "29", "sha256": "18b945hcy8a13dm0s2d1x9dc6d8b2pxgmhaqshk8wbcmxjwiv866", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "41": {"version": "29", "sha256": "18b945hcy8a13dm0s2d1x9dc6d8b2pxgmhaqshk8wbcmxjwiv866", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "42": {"version": "29", "sha256": "18b945hcy8a13dm0s2d1x9dc6d8b2pxgmhaqshk8wbcmxjwiv866", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9CcmluZy1PdXQtU3VibWVudS1vZi1Qb3dlci1PZmYtTG9nb3V0IiwKICAidXVpZCI6ICJCcmluZ091dFN1Ym1lbnVPZlBvd2VyT2ZmTG9nb3V0QnV0dG9uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "batterytimepercentagecompact@sagrland.de", "name": "Battery Time (Percentage) Compact", "pname": "battery-time-percentage-compact", "description": "Show 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": "8", "sha256": "143gj2xmi1hhma2fjggk6vaq3sx7p0glszayds1jbnz7003xc89q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "143gj2xmi1hhma2fjggk6vaq3sx7p0glszayds1jbnz7003xc89q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "143gj2xmi1hhma2fjggk6vaq3sx7p0glszayds1jbnz7003xc89q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "143gj2xmi1hhma2fjggk6vaq3sx7p0glszayds1jbnz7003xc89q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIHJlbWFpbmluZyB0aW1lIHVudGlsIGZ1bGx5IGNoYXJnZWQvZGlzY2hhcmdlZCBhcyB3ZWxsIGFzIHBlcmNlbnRhZ2Ugb2YgYmF0dGVyeSBjaGFyZ2UgaW4gdGhlIHBhbmVsLiIsCiAgImdldHRleHQtZG9tYWluIjogImJhdHRlcnl0aW1lcGVyY2VudGFnZWNvbXBhY3QiLAogICJuYW1lIjogIkJhdHRlcnkgVGltZSAoUGVyY2VudGFnZSkgQ29tcGFjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"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": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "42": {"version": "18", "sha256": "0qrpjz455jx4kd82y9wkmdl6mj46kpknbs2bh4fjm5jlvrjb92ak", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9yYXVqb25hcy9leGVjdXRvciIsCiAgInV1aWQiOiAiZXhlY3V0b3JAcmF1am9uYXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"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": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "42": {"version": "18", "sha256": "0wxyfkd9nyrnxzlcp1sp0kb2q0zsjnhs5s0lgg85rnn72x8wnnbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
@@ -322,13 +322,14 @@
 , {"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": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1cbbdgbgnara45152byr5yx52cbsfd48dpkick93ih2plk1gbm3l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldyBhbmQgbWF4aW1pemVkIHdpbmRvd3Mgd2lsbCBiZSBtb3ZlZCB0byBlbXB0eSB3b3Jrc3BhY2VzLlxuU3VwcG9ydHMgbXVsdGlwbGUgbW9uaXRvcnMuIiwKICAibmFtZSI6ICJNYXhpbWl6ZSBUbyBFbXB0eSBXb3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWlzZXJhY20vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1heGltaXplLXRvLWVtcHR5LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiTWF4aW1pemVUb0VtcHR5V29ya3NwYWNlLWV4dGVuc2lvbkBrYWlzZXJzaXRlLmRlIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"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": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "15d8w18s0chk5w0b9bfm9xyhnlrwmgkf833yg144wxc1l5c23lrz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gZXllIHRvIHRoZSBpbmRpY2F0b3IgYmFyIHRoYXQgZm9sbG93cyB5b3VyIGN1cnNvciBcbllvdSBjYW4gYWxzbyBkaXNwbGF5IHRoZSBtb3VzZSBpbmRpY2F0b3IsIHBlcmhhcHMgaXQgd2lsbCBoZWxwIHlvdSB3aXRoIHRoZSBwcm9ibGVtIG9mIGRpc3BsYXlpbmcgdGhlIG1vdXNlIGN1cnNvciBpbiBTa3lwZSIsCiAgImdldHRleHQtZG9tYWluIjogIkV5ZUV4dGVuZGVkIiwKICAibmFtZSI6ICJFeWUgYW5kIE1vdXNlIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImt6LmFscy5leWUtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYuMCIsCiAgICAiMy4zOC4wIiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxleGV5bG92Y2hpa292L2V5ZS1leHRlbmRlZC1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImV5ZS1leHRlbmRlZEBhbHMua3oiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"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="}, "42": {"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\nYou can support my work by sponsoring me on:\n- github: https://github.com/sponsors/aunetx\n- ko-fi: https://ko-fi.com/aunetx\n\nNote: if the extension shows an error after updating, please make sure to restart your session to see if it persists. This is due to a bug in gnome shell, which I can't fix by myself.", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "1ss5vhzjkp2bpllxpjlk1l2i8n7p4xjpzkn0q6jg3gd472kkanfx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJsdXItbXktc2hlbGwiLAogICJ1dWlkIjogImJsdXItbXktc2hlbGxAYXVuZXR4IiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "32", "sha256": "1w97pa6w90xvrc5qs3xaj0mw8yydlxl1ri977wbh1pqzid1l0pk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQGF1bmV0eC5kZXYiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdXItbXktc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAzMgp9"}}}
+, {"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\n\nNote: if the extension shows an error after updating, please make sure to restart your session to see if it persists. This is due to a bug in gnome shell, which I can't fix by myself.", "link": "https://extensions.gnome.org/extension/3193/blur-my-shell/", "shell_version_map": {"38": {"version": "22", "sha256": "1ss5vhzjkp2bpllxpjlk1l2i8n7p4xjpzkn0q6jg3gd472kkanfx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJsdXItbXktc2hlbGwiLAogICJ1dWlkIjogImJsdXItbXktc2hlbGxAYXVuZXR4IiwKICAidmVyc2lvbiI6IDIyCn0="}, "40": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "41": {"version": "29", "sha256": "09zflyqk5mlybc4avm812hqr32q0yzrkkw0qy5q4lbkdid7cpqpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F1bmV0eC9nbm9tZS1zaGVsbC1leHRlbnNpb24tYmx1ci1teS1zaGVsbCIsCiAgInV1aWQiOiAiYmx1ci1teS1zaGVsbEBhdW5ldHgiLAogICJ2ZXJzaW9uIjogMjkKfQ=="}, "42": {"version": "35", "sha256": "0jkjl88p8aldnyldnk8apirf8pci9c052icf6rmr6diqc2jc5204", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBibHVyIGxvb2sgdG8gZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBHTk9NRSBTaGVsbCwgaW5jbHVkaW5nIHRoZSB0b3AgcGFuZWwsIGRhc2ggYW5kIG92ZXJ2aWV3LlxuXG5Zb3UgY2FuIHN1cHBvcnQgbXkgd29yayBieSBzcG9uc29yaW5nIG1lIG9uOlxuLSBnaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9zcG9uc29ycy9hdW5ldHhcbi0ga28tZmk6IGh0dHBzOi8va28tZmkuY29tL2F1bmV0eFxuXG5Ob3RlOiBpZiB0aGUgZXh0ZW5zaW9uIHNob3dzIGFuIGVycm9yIGFmdGVyIHVwZGF0aW5nLCBwbGVhc2UgbWFrZSBzdXJlIHRvIHJlc3RhcnQgeW91ciBzZXNzaW9uIHRvIHNlZSBpZiBpdCBwZXJzaXN0cy4gVGhpcyBpcyBkdWUgdG8gYSBidWcgaW4gZ25vbWUgc2hlbGwsIHdoaWNoIEkgY2FuJ3QgZml4IGJ5IG15c2VsZi4iLAogICJuYW1lIjogIkJsdXIgbXkgU2hlbGwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIm1lQGF1bmV0eC5kZXYiCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdXItbXktc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXVuZXR4L2dub21lLXNoZWxsLWV4dGVuc2lvbi1ibHVyLW15LXNoZWxsIiwKICAidXVpZCI6ICJibHVyLW15LXNoZWxsQGF1bmV0eCIsCiAgInZlcnNpb24iOiAzNQp9"}}}
 , {"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": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "12jycfdlywlc2gf7hcpa1draqsy8jgb2dgr8sihh2f97b31dk1nh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBPdmVydmlldyB3aXRoIGEgc2luZ2xlIEVTQyBwcmVzcyB3aGVuIHNlYXJjaGJveCBpcyBlbXB0eS5cblxuVGhlIGRlZmF1bHQgZ25vbWUtc2hlbGwgYmVoYXZpb3VyIGlzLCBkdXJpbmcgZmlyc3QgRVNDIHByZXNzLCBjbGVhbiB0aGUgc2VhcmNoYm94LCB0aGVuIHNlY29uZCBFU0MgcHJlc3MgZ2V0IGJhY2sgdG8gQWN0aXZpdGllcyBvdmVydmlldyBhbmQgdGhlbiB0aGlyZCBFU0MgcHJlc3Mgd2lsbCBmaW5hbGx5IGNsb3NlIHRoZSBvdmVydmlldy4iLAogICJuYW1lIjogIkVTQ2FwZSBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhZWxnYy9lc2NhcGUtb3ZlcnZpZXciLAogICJ1dWlkIjogImVzY2FwZS1vdmVydmlld0ByYWVsZ2MiLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to compiz plugin engine.\n\nDoes NOT requires any external library\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": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "1j7nrd7j8376d6l8v4n2rkgx986msdpkaqrlszl5sz8mjg7n044j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
+, {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to compiz plugin engine.\n\nDoes NOT requires any external library\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": "17", "sha256": "1cb0k92gg4jqghxgay8qdafvjqca77mm6cbb73b6bzswa08dgrx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1cb0k92gg4jqghxgay8qdafvjqca77mm6cbb73b6bzswa08dgrx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1cb0k92gg4jqghxgay8qdafvjqca77mm6cbb73b6bzswa08dgrx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "42": {"version": "17", "sha256": "1cb0k92gg4jqghxgay8qdafvjqca77mm6cbb73b6bzswa08dgrx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGNvbXBpeiBwbHVnaW4gZW5naW5lLlxuXG5Eb2VzIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeVxuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKVxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBWaWRlb1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmh0dHBzOi8veW91dHUuYmUvRzhiQVZJQjlBN0EiLAogICJuYW1lIjogIkNvbXBpeiB3aW5kb3dzIGVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"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": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0ay3cfysw23y5pdhm7mhjihcwwmpcj4d0rridsvfxxxnzrq1c9df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"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": "7", "sha256": "1c1ri2qqkxc0aw47yci9ndplgqpx2i1dnpwlsjjrwqszdmm0nxwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1c1ri2qqkxc0aw47yci9ndplgqpx2i1dnpwlsjjrwqszdmm0nxwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1c1ri2qqkxc0aw47yci9ndplgqpx2i1dnpwlsjjrwqszdmm0nxwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "42": {"version": "7", "sha256": "1c1ri2qqkxc0aw47yci9ndplgqpx2i1dnpwlsjjrwqszdmm0nxwd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VubWF4aW1pemUtZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bm1heGltaXplX2RvdWJsZV9jbGlja0Bnb256YS5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"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": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1f0izmzksy1vf4kaa8gwzz3pkjxihg2mzswn8mw50cybq5p596gi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5pdHktbGlrZS1zd2l0Y2hlci1nbm9tZS1leHQiLAogICJ1dWlkIjogInVuaXR5LWxpa2UtYXBwc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
+, {"uuid": "ssh-quick-connect@ibrokemy.computer", "name": "SSH Quick Connect", "pname": "ssh-quick-connect", "description": "This extension puts an icon in the panel with a simple dropdown menu that launches items from your ssh configs.", "link": "https://extensions.gnome.org/extension/3237/ssh-quick-connect/", "shell_version_map": {"40": {"version": "2", "sha256": "0cl71bwl9hq19wfhawcwn8b3xc41s63jq44sfwy0vpfp6cm94jc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgd2l0aCBhIHNpbXBsZSBkcm9wZG93biBtZW51IHRoYXQgbGF1bmNoZXMgaXRlbXMgZnJvbSB5b3VyIHNzaCBjb25maWdzLiIsCiAgIm5hbWUiOiAiU1NIIFF1aWNrIENvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vd3d3LmdpdGh1Yi5jb20vaWJyb2tlbXljb21wdXRlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3NoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogInNzaC1xdWljay1jb25uZWN0QGlicm9rZW15LmNvbXB1dGVyIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0cl71bwl9hq19wfhawcwn8b3xc41s63jq44sfwy0vpfp6cm94jc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgd2l0aCBhIHNpbXBsZSBkcm9wZG93biBtZW51IHRoYXQgbGF1bmNoZXMgaXRlbXMgZnJvbSB5b3VyIHNzaCBjb25maWdzLiIsCiAgIm5hbWUiOiAiU1NIIFF1aWNrIENvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vd3d3LmdpdGh1Yi5jb20vaWJyb2tlbXljb21wdXRlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3NoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogInNzaC1xdWljay1jb25uZWN0QGlicm9rZW15LmNvbXB1dGVyIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "0cl71bwl9hq19wfhawcwn8b3xc41s63jq44sfwy0vpfp6cm94jc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgd2l0aCBhIHNpbXBsZSBkcm9wZG93biBtZW51IHRoYXQgbGF1bmNoZXMgaXRlbXMgZnJvbSB5b3VyIHNzaCBjb25maWdzLiIsCiAgIm5hbWUiOiAiU1NIIFF1aWNrIENvbm5lY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vd3d3LmdpdGh1Yi5jb20vaWJyb2tlbXljb21wdXRlci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3NoLXF1aWNrLWNvbm5lY3QiLAogICJ1dWlkIjogInNzaC1xdWljay1jb25uZWN0QGlicm9rZW15LmNvbXB1dGVyIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"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"}, "42": {"version": "7", "sha256": "1ljj2d2fl6pa8dikvgqlc569x2nq2vlj4v7r18wf6jxsqlcpx36l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"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=="}}}
@@ -352,7 +353,7 @@
 , {"uuid": "volume-mixer@evermiss.net", "name": "Application Volume Mixer", "pname": "application-volume-mixer", "description": "Control volume output per-application", "link": "https://extensions.gnome.org/extension/3499/application-volume-mixer/", "shell_version_map": {"38": {"version": "10", "sha256": "1rw73vgim4lkliy7prn3mfyc2jzk0yi72maf74iybk9kqpyiv5wp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL215bWluZHN0b3JtL2dub21lLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAidm9sdW1lLW1peGVyQGV2ZXJtaXNzLm5ldCIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "1rw73vgim4lkliy7prn3mfyc2jzk0yi72maf74iybk9kqpyiv5wp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL215bWluZHN0b3JtL2dub21lLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAidm9sdW1lLW1peGVyQGV2ZXJtaXNzLm5ldCIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1rw73vgim4lkliy7prn3mfyc2jzk0yi72maf74iybk9kqpyiv5wp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL215bWluZHN0b3JtL2dub21lLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAidm9sdW1lLW1peGVyQGV2ZXJtaXNzLm5ldCIsCiAgInZlcnNpb24iOiAxMAp9"}, "42": {"version": "10", "sha256": "1rw73vgim4lkliy7prn3mfyc2jzk0yi72maf74iybk9kqpyiv5wp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdm9sdW1lIG91dHB1dCBwZXItYXBwbGljYXRpb24iLAogICJuYW1lIjogIkFwcGxpY2F0aW9uIFZvbHVtZSBNaXhlciIsCiAgIm9yZ2luYWwtYXV0aG9yIjogIm15bWluZHN0b3JtQGV2ZXJtaXNzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL215bWluZHN0b3JtL2dub21lLXZvbHVtZS1taXhlciIsCiAgInV1aWQiOiAidm9sdW1lLW1peGVyQGV2ZXJtaXNzLm5ldCIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "creative-control@sau.li", "name": "Creative Sound Blaster control", "pname": "creative-sound-blaster-control", "description": "Control Creative Sound Blaster", "link": "https://extensions.gnome.org/extension/3505/creative-sound-blaster-control/", "shell_version_map": {"38": {"version": "2", "sha256": "0pqps21c2p8fqndy9hd77j979h0wjbw0yzbmv6jmwk7rskv6zysg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgQ3JlYXRpdmUgU291bmQgQmxhc3RlciIsCiAgIm5hbWUiOiAiQ3JlYXRpdmUgU291bmQgQmxhc3RlciBjb250cm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaXNhdWwzMi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY3JlYXRpdmUtY29udHJvbCIsCiAgInV1aWQiOiAiY3JlYXRpdmUtY29udHJvbEBzYXUubGkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "day-night-wallpaper@swapnilmadavi.github.io", "name": "Day Night Wallpaper", "pname": "day-night-wallpaper", "description": "Set separate wallpapers for day and night time.", "link": "https://extensions.gnome.org/extension/3512/day-night-wallpaper/", "shell_version_map": {"38": {"version": "2", "sha256": "082wrffxsa6qnp120ghlvhkb3isnnf9qizxfk6bbgqbzcvsax059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBzZXBhcmF0ZSB3YWxscGFwZXJzIGZvciBkYXkgYW5kIG5pZ2h0IHRpbWUuIiwKICAibmFtZSI6ICJEYXkgTmlnaHQgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRheS1uaWdodC13YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zd2FwbmlsbWFkYXZpL2RheS1uaWdodC13YWxscGFwZXItZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkYXktbmlnaHQtd2FsbHBhcGVyQHN3YXBuaWxtYWRhdmkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"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": "transparent-shell@siroj42.github.io", "name": "Transparent Shell", "pname": "transparent-shell", "description": "Make the main shell components (Top bar, dash, workspace view) transparent.", "link": "https://extensions.gnome.org/extension/3518/transparent-shell/", "shell_version_map": {"38": {"version": "6", "sha256": "11xdqaf7w2ki0q2m0798hk2am0ygglnbd4cq9hd77jl8akr8m20c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgd29ya3NwYWNlIHZpZXcpIHRyYW5zcGFyZW50LiIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgU2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "9", "sha256": "0q83lylm0albagn8bnjp0538j0zcksvsqzz9gq6al6dyq5fvf7yz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgd29ya3NwYWNlIHZpZXcpIHRyYW5zcGFyZW50LiIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgU2hlbGwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNwYXJlbnQtc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0q83lylm0albagn8bnjp0538j0zcksvsqzz9gq6al6dyq5fvf7yz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgd29ya3NwYWNlIHZpZXcpIHRyYW5zcGFyZW50LiIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgU2hlbGwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNwYXJlbnQtc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "0q83lylm0albagn8bnjp0538j0zcksvsqzz9gq6al6dyq5fvf7yz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIG1haW4gc2hlbGwgY29tcG9uZW50cyAoVG9wIGJhciwgZGFzaCwgd29ya3NwYWNlIHZpZXcpIHRyYW5zcGFyZW50LiIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgU2hlbGwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJhbnNwYXJlbnQtc2hlbGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TaXJvajQyL2dub21lLWV4dGVuc2lvbi10cmFuc3BhcmVudC1zaGVsbCIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtc2hlbGxAc2lyb2o0Mi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"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": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "062501b7i5abrl32hcpdshbrrd9sjyr9830xvg5w5879ynsyc874", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludmVydHMgdGhlIGNvbG9yIG9mIGluZGl2aWR1YWwgd2luZG93cyBzbyB0aGV5IGFyZSBodWUtcHJlc2VydmVkLlxuRGVmYXVsdCBzaG9ydGN1dCBpcyBTdXBlcitJIiwKICAibmFtZSI6ICJUcnVlIENvbG9yIEludmVydCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cnVlLWNvbG9yLWludmVydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2phY2trZW5uZXkvZ25vbWUtdHJ1ZS1jb2xvci1pbnZlcnQiLAogICJ1dWlkIjogInRydWUtY29sb3ItaW52ZXJ0QGphY2trZW5uZXkiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"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"}, "42": {"version": "7", "sha256": "063d61mk4wavrclf09vxbl1qxd66475fblqhnl2yq5rv7zrl5ys6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdExhYiBleHRlbnNpb24gdXRpbGl6ZXMgdGhlIG9mZmljaWFsIEdpdExhYiBBUEkgdG8gcHJvdmlkZSBhIGNvbWZvcnRhYmxlIG92ZXJ2aWV3IGFib3V0IHlvdXIgcHJvamVjdHMsIGNvbW1pdHMgJiBwaXBlbGluZXMuXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tZ2l0bGFiIiwKICAibG9jYWxlZGlyIjogIi91c3IvbG9jYWwvc2hhcmUvbG9jYWxlIiwKICAibmFtZSI6ICJHaXRMYWIgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdpdGxhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2dpdGxhYi1leHRlbnNpb24iLAogICJ1dWlkIjogImdpdGxhYi1leHRlbnNpb25AaW5maW5pY29kZS5kZSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "0dmkjqmn2x7bg7fndq4fdvllhpzd3in39z2ykm1g6f0zyv4gq2i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRleHQgb2YgeW91ciBjaG9pY2UgYWNyb3NzIHRoZSBzY3JlZW4uIENhbiBzaW11bGF0ZSBsZWF2ZXMsIHNub3csIGZpcmV3b3JrcywgdWZvcywgYW5kIG1vcmUhIiwKICAibmFtZSI6ICJEb3duRmFsbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RvcmN1bHVzL0Rvd25GYWxsIiwKICAidXVpZCI6ICJkb3duZmFsbEB0b3JjdWx1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
@@ -364,7 +365,7 @@
 , {"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="}}}
 , {"uuid": "blur-provider@corvettecole.github.com", "name": "blur-provider", "pname": "blur-provider", "description": "Provides an easy way for applications to request blur, and allows users to set blur on applications", "link": "https://extensions.gnome.org/extension/3607/blur-provider/", "shell_version_map": {"38": {"version": "2", "sha256": "1p0cyq1bfi18ysk1fvydjvk6qdl87qi9p3kpc165q5i0d4b41ffp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGVzIGFuIGVhc3kgd2F5IGZvciBhcHBsaWNhdGlvbnMgdG8gcmVxdWVzdCBibHVyLCBhbmQgYWxsb3dzIHVzZXJzIHRvIHNldCBibHVyIG9uIGFwcGxpY2F0aW9ucyIsCiAgImV4dGVuc2lvbi1pZCI6ICJibHVyLXByb3ZpZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiYmx1ci1wcm92aWRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ibHVyLXByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29ydmV0dGVjb2xlL2JsdXItcHJvdmlkZXIiLAogICJ1dWlkIjogImJsdXItcHJvdmlkZXJAY29ydmV0dGVjb2xlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"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": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0fg5pmy4npdh84yjzbhi6q7zm2vha7n0pyg7fp2286bqs1yk9i05", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vd2lyZWd1YXJkLWluZGljYXRvciIsCiAgInV1aWQiOiAid2lyZWd1YXJkLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"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": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "19", "sha256": "01c8v8nh0qixilhzhff9fbi90hc3cw07myhwhlaf2i4f3ykkvmbl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
+, {"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": "20", "sha256": "19642998h9h8m52nmrg2xy36qhjkcrvs8jp8mhrq06lxfib9x5mm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "19642998h9h8m52nmrg2xy36qhjkcrvs8jp8mhrq06lxfib9x5mm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "19642998h9h8m52nmrg2xy36qhjkcrvs8jp8mhrq06lxfib9x5mm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "19642998h9h8m52nmrg2xy36qhjkcrvs8jp8mhrq06lxfib9x5mm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY3ItaXIvZ25vbWUtc2hhbXNpLWNhbGVuZGFyIiwKICAidXVpZCI6ICJzaGFtc2ktY2FsZW5kYXJAZ25vbWUuc2NyLmlyIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"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 Shell\n\nFeatures include: various menu layouts, built in GNOME search, quick access to system shortcuts, and much more!\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": "1w6br4q9yvngyprl6w1iddv90nssd89rqqqi5ragsxvpbgd448rc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgInV1aWQiOiAiYXJjbWVudUBhcmNtZW51LmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "27", "sha256": "01h4r7alddj1fly4l4rxpji17ilmf0v56559rdnsl0sy1lx8bkrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "41": {"version": "27", "sha256": "01h4r7alddj1fly4l4rxpji17ilmf0v56559rdnsl0sy1lx8bkrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "42": {"version": "32", "sha256": "109fjxmbm3wqb7zqdkn6iq11a4rndwhk8k9300ca8sbxi9j1ky08", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIG1lbnUgZm9yIEdOT01FIFNoZWxsXG5cbkZlYXR1cmVzIGluY2x1ZGU6IHZhcmlvdXMgbWVudSBsYXlvdXRzLCBidWlsdCBpbiBHTk9NRSBzZWFyY2gsIHF1aWNrIGFjY2VzcyB0byBzeXN0ZW0gc2hvcnRjdXRzLCBhbmQgbXVjaCBtb3JlIVxuXG5Db21tb24gc29sdXRpb25zIGZvciBFUlJPUiBtZXNzYWdlOlxuIC0gUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbiAtIEluc3RhbGwgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFja2FnZXM6ICdnaXIxLjItZ21lbnUtMy4wJyBvciAnZ25vbWUtbWVudXMnXG5cbkdlbmVyYWwgSGVscDpcbiAtIFZpc2l0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUvLS93aWtpcy9ob21lXG5cblBsZWFzZSByZXBvcnQgYWxsIGJ1Z3Mgb3IgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJleHRlbnNpb24taWQiOiAiYXJjbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyY21lbnUiLAogICJuYW1lIjogIkFyY01lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYXJjbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}}}
 , {"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"}}}
@@ -378,10 +379,10 @@
 , {"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": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "40": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "41": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}, "42": {"version": "35", "sha256": "0nh00iach2mnrdij1ywp5l6vr064q9dfwwjv4g2n4mqiz9jxr1lv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTmV0IFNwZWVkIGV4dGVuc2lvbiBXaXRoIExvYWRzIG9mIEN1c3RvbWl6YXRpb24uIEZvcmsgb2Ygc2ltcGxlbmV0c3BlZWQgXG4gXG5XaGF0J3MgbmV3XG5cdTI2MWUgQWRkIFVzZSBTeXN0ZW0gQ29sb3IgU2NoZW1lIG9wdGlvbiBcblx1MjYxZSBVcGRhdGUgUHJlZmVyZW5jZXMgbG9naWMgXG5cdTI2MWUgRmlsdGVyIG1vcmUgZGV2aWNlcyBmb3IgbmV0IHNwZWVkIGluZGljYXRvciBcblxuRnVsbCBDSEFOR0VMT0cgY2FuIGJlIGZvdW5kIG9uIGdpdGh1YiByZWxlYXNlcyBwYWdlIFxuXG5GZWF0dXJlcyBcbjEuIENsZWFuIFVJIFxuMi4gQWRqdXN0YWJsZSBSZWZyZXNoIHJhdGUgXG4zLiBQcmVmZXJlbmNlcyB0byBtYW5hZ2UgZXh0ZW5zaW9uIFxuNC4gVmVydGljYWwgQWxpZ25tZW50IFN1cHBvcnQgXG41LiBUd28gSWNvbiBzZXRzIGZvciBJbmRpY2F0b3JzIFxuXG5GZWF0dXJlIEhpZ2hsaWdodHMgZm9yIFByZWZlcmVuY2VzIFxuMS4gTG9jayBNb3VzZSBBY3Rpb25zIG9wdGlvbiBcbjIuIEFkdmFuY2UgUG9zaXRpb24gb3B0aW9ucyB0byBwaW5wb2ludCB3aGVyZSB0byBwbGFjZSB0aGUgaW5kaWNhdG9yIG9uIHRoZSBQYW5lbC4gXG4zLiBSZWZyZXNoIHRpbWUgb3B0aW9uIGJ5IHdoaWNoIHlvdSBjYW4gY2hhbmdlIHJlZnJlc2ggcmF0ZSB2YWx1ZSBiZXR3ZWVuIDEuMCBzZWMgdG8gMTAuMCBzZWMuIFxuNC4gU2hvdyBVcGxvYWQgRmlyc3Qgb3B0aW9uIHRvIHNob3cgdXBsb2FkIHNwZWVkIGZpcnN0IFxuNS4gQ29sb3IgQ3VzdG9taXphdGlvbnMgZm9yIHNwZWVkIGluZGljYXRvcnMgXG42LiBIaWRlIHdoZW4gRGlzY29ubmVjdGVkIG9wdGlvbiBcbjcuIFVzZSBTaG9ydGVuIFVuaXRzIG9wdGlvbiBcbjguIExpbWl0IFVuaXQgb3B0aW9uIGFuZCBtb3JlLi4uIFxuXG5Nb2RlcyBcbi0gVG90YWwgbmV0IHNwZWVkIGluIGIvcywga2IvcywgLi4uIFxuLSBUb3RhbCBuZXQgc3BlZWQgaW4gQi9zLCBLQi9zLCAuLi4gXG4tIFVwICYgZG93biBzcGVlZCBpbiBiL3MsIGtiL3MsIC4uLiBcbi0gVXAgJiBkb3duIHNwZWVkIGluIEIvcywgS0IvcywgLi4uIFxuLSBUb3RhbCBkb3dubG9hZHMgaW4gQiwgS0IsIC4uLiAoUmlnaHQgY2xpY2sgdG8gcmVzZXQgY291bnRlcikgXG5cbk1vdXNlIEV2ZW50cyBcbi0gTGVmdCBjbGljayB0byBjaGFuZ2UgbW9kZXMgXG4tIFJpZ2h0IGNsaWNrKGluIDEtNCBtb2Rlcyk6IFRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0b3RhbCBsb2FkZWQuIFxuLSBSaWdodCBjbGljayhpbiA1dGggbW9kZSk6IFJlc2V0IHRvdGFsIGRvd25sb2FkZWQuIFxuLSBSaWdodCBDbGljayhGb3VyIGNvbnNlY3V0aXZlIHRpbWVzKTogVG9nZ2xlIHRocm91Z2ggaG9yaXpvbnRhbC92ZXJ0aWNhbCBhbGlnbm1lbnQuIFxuLSBNaWRkbGUgY2xpY2s6IEN5Y2xlIHRocm91Z2ggdGhlIGZvbnQgc2l6ZXMuIiwKICAibmFtZSI6ICJOZXQgc3BlZWQgU2ltcGxpZmllZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ByYXRlZWttZWRpYS9uZXRzcGVlZHNpbXBsaWZpZWQiLAogICJ1dWlkIjogIm5ldHNwZWVkc2ltcGxpZmllZEBwcmF0ZWVrbWVkaWEuZXh0ZW5zaW9uIiwKICAidmVyc2lvbiI6IDM1Cn0="}}}
 , {"uuid": "cpupower-governors@icar.github.com", "name": "CPU Power Governor", "pname": "cpu-power-governor", "description": "Enables the ability to swap between kernel governors for the CPU useful for laptops.\n\nRequires: polkit, cpupower\nGithub: https://github.com/juxuanu/cpupower-governors", "link": "https://extensions.gnome.org/extension/3727/cpu-power-governor/", "shell_version_map": {"38": {"version": "2", "sha256": "1hb239w4cpz6yzs3pzd3hhrwswh6w5c5xw6dqn57m26cazh843qk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gc3dhcCBiZXR3ZWVuIGtlcm5lbCBnb3Zlcm5vcnMgZm9yIHRoZSBDUFUgdXNlZnVsIGZvciBsYXB0b3BzLlxuXG5SZXF1aXJlczogcG9sa2l0LCBjcHVwb3dlclxuR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vanV4dWFudS9jcHVwb3dlci1nb3Zlcm5vcnMiLAogICJuYW1lIjogIkNQVSBQb3dlciBHb3Zlcm5vciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjcHVwb3dlci1nb3Zlcm5vcnNAaWNhci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "floating-dock@nandoferreira_prof@hotmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "A Custom Floating Dock fork, now you can change the margin and border radius of the dock.", "link": "https://extensions.gnome.org/extension/3730/floating-dock/", "shell_version_map": {"38": {"version": "1", "sha256": "0giksm5fvrj412v8xnf2hi4s0yi2mqd9prd84npv8jxkfv78y414", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm5hbmRvZmVycmVpcmFfcHJvZkBob3RtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "Expand GNOME's 2 column tiling and add a Windows-snap-assist-inspired popup...", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "23", "sha256": "1b9hpll26ggwhw4f52wgflzjfqksmyfy5wyg1rpz41lr1dmva8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L1RpbGluZy1Bc3Npc3RhbnQiLAogICJ1dWlkIjogInRpbGluZy1hc3Npc3RhbnRAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
-, {"uuid": "airpods-battery-status@ju.wtf", "name": "Airpods Battery status", "pname": "airpods-battery-status", "description": "Show Airpods battery level in top bar\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": "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="}, "42": {"version": "33", "sha256": "18c7qbn29zxkjs24yw2y4fcj8pf56qscgsr7w9975qp2fym1wkx7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9UaWxpbmctQXNzaXN0YW50IiwKICAidXVpZCI6ICJ0aWxpbmctYXNzaXN0YW50QGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
+, {"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": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "1dyiqinjzjlh89vas00q78dzalh5mgj7q1a3vp8k13xfki4l0gzd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "🇺🇦 Glory to Ukraine! 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": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "41": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "42": {"version": "22", "sha256": "142f388airvnlfyr4b6zwrbnrg8a76z7ic425rbij2fwl0xch1yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRlNiBHbG9yeSB0byBVa3JhaW5lISBUaGlzIGV4dGVuc2lvbiBjb250cm9scyBQaGlsaXBzIEh1ZSBjb21wYXRpYmxlIGxpZ2h0cyB1c2luZyBQaGlsaXBzIEh1ZSBCcmlkZ2Ugb24geW91ciBsb2NhbCBuZXR3b3JrLCBpdCBhbHNvIGFsbG93cyBjb250cm9sbGluZyBQaGlsaXBzIEh1ZSBTeW5jIEJveC4gSWYgeW91IGFyZSBleHBlcmllbmNpbmcgYW4gZXJyb3Igb24gdGhlIHVwZ3JhZGUsIHBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaHVlLWxpZ2h0cyIsCiAgIm5hbWUiOiAiSHVlIExpZ2h0cyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vaHVlLWxpZ2h0cyIsCiAgInV1aWQiOiAiaHVlLWxpZ2h0c0BjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
-, {"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": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "1ffki7rmdxrz3xr285jnlyxp1a4h6h4q17y4dj3c8p64hy145yyp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "1km8fmymx7127lva1hz0rfc1nash9hc3h8wya04hgiz64m596y5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGVybWVzODMvY29tcGl6LWFsaWtlLW1hZ2ljLWxhbXAtZWZmZWN0IiwKICAidXVpZCI6ICJjb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3RAaGVybWVzODMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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": "4", "sha256": "1fgv36inchycwgsykc2mqv1l6jbm4jq2rysd2paknbka14vqx37r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0L2Jsb2IvbWFzdGVyL3RvdWNocGFkX3dpbmRvd19zd2l0Y2hlciU0MGdvbnphLmNvbS9vdmVydmlld0NsZWFuZXIuanMiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2NsZWFuZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1fgv36inchycwgsykc2mqv1l6jbm4jq2rysd2paknbka14vqx37r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0L2Jsb2IvbWFzdGVyL3RvdWNocGFkX3dpbmRvd19zd2l0Y2hlciU0MGdvbnphLmNvbS9vdmVydmlld0NsZWFuZXIuanMiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2NsZWFuZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1fgv36inchycwgsykc2mqv1l6jbm4jq2rysd2paknbka14vqx37r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0L2Jsb2IvbWFzdGVyL3RvdWNocGFkX3dpbmRvd19zd2l0Y2hlciU0MGdvbnphLmNvbS9vdmVydmlld0NsZWFuZXIuanMiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2NsZWFuZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1fgv36inchycwgsykc2mqv1l6jbm4jq2rysd2paknbka14vqx37r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0L2Jsb2IvbWFzdGVyL3RvdWNocGFkX3dpbmRvd19zd2l0Y2hlciU0MGdvbnphLmNvbS9vdmVydmlld0NsZWFuZXIuanMiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2NsZWFuZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -393,7 +394,7 @@
 , {"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": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1az6bbfzsq57nn83i4f4jl61z1n965iayfk7aavwya9z965lyafk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGFsbG93cyBjb25maWd1cmluZyB0aGUgc2FtZSB0aW1lb3V0IGZvciBhbGwgbm90aWZpY2F0aW9ucy4gSXQgYWxzbyBhbGxvd3MgaWdub3JpbmcgdGhlIGlkbGUgc3RhdGUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90aWZpY2F0aW9uLXRpbWVvdXQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbiBUaW1lb3V0IiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS9ub3RpZmljYXRpb24tdGltZW91dCIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXRpbWVvdXRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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=="}}}
 , {"uuid": "wacom-indicator@fthx", "name": "Wacom Indicator", "pname": "wacom-indicator", "description": "Wacom tablet indicator in the top bar: connection state and power level.\n\n On click: open GNOME Settings Wacom section. On hover or every minute: update connection state and power level.\n\n Settings (in extension.js file headers): show/hide model label, refresh delay, update/do nothing on indicator hover, show/hide if disconnected.", "link": "https://extensions.gnome.org/extension/3809/wacom-indicator/", "shell_version_map": {"38": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "9", "sha256": "0hp93b4s1lcvsc6fwda9mrwcv5bwqya178zhyqpx37fm7r7kz9vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "0hp93b4s1lcvsc6fwda9mrwcv5bwqya178zhyqpx37fm7r7kz9vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0hp93b4s1lcvsc6fwda9mrwcv5bwqya178zhyqpx37fm7r7kz9vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "0hp93b4s1lcvsc6fwda9mrwcv5bwqya178zhyqpx37fm7r7kz9vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "click-to-close-overview@l3nn4rt.github.io", "name": "Click to close overview", "pname": "click-to-close-overview", "description": "Close the overview by clicking empty space.", "link": "https://extensions.gnome.org/extension/3826/click-to-close-overview/", "shell_version_map": {"38": {"version": "3", "sha256": "17xd3k1xpsn8ma6f11f4sr26y5xbcs3hiw7lv1qqrn80lyjj2vz1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbDNubjRydC9jbGljay10by1jbG9zZS1vdmVydmlldyIsCiAgInV1aWQiOiAiY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "6", "sha256": "08m7d6shrghpqfbxikipxasxc4rxh1m030ljhjrirs856man6qxb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbDNubjRydC9jbGljay10by1jbG9zZS1vdmVydmlldyIsCiAgInV1aWQiOiAiY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "08m7d6shrghpqfbxikipxasxc4rxh1m030ljhjrirs856man6qxb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbDNubjRydC9jbGljay10by1jbG9zZS1vdmVydmlldyIsCiAgInV1aWQiOiAiY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "08m7d6shrghpqfbxikipxasxc4rxh1m030ljhjrirs856man6qxb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbDNubjRydC9jbGljay10by1jbG9zZS1vdmVydmlldyIsCiAgInV1aWQiOiAiY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "just-perfection-desktop@just-perfection", "name": "Just Perfection", "pname": "just-perfection", "description": "Tweak Tool to Customize GNOME Shell, Change the Behavior and Disable UI Elements\n\n- Accessibility Menu Visibility\n- Activities Button Icon Visibility\n- Activities button Visibility\n- Always Show Workspace Switcher on Dynamic Workspaces (40, 41)\n- Animation Speed or Disable it\n- App Gesture (3.36, 3.38)\n- Applications Button Visibility\n- App Menu Icon Visibility\n- App Menu Visibility\n- Background Menu Visibility\n- Calendar Visibility\n- Clock Menu Position\n- Clock Menu Visibility\n- Dash Icon Size\n- Dash Visibility\n- Disable Type to Search\n- Double Super Key to App Grid\n- Events in Clock Menu Visibility\n- GNOME Shell Theme Override\n- Hot Corner (3.36, 3.38, 40)\n- Keyboard Layout Visibility\n- Notification Banner Position\n- OSD Visibility\n- Panel Arrow Visibility(3.36, 3.38)\n- Panel Button Padding Size\n- Panel Height\n- Panel icon size \n- Panel Indicator Padding Size\n- Panel Notification icon Visibility\n- Panel Position\n- Panel Round Corner Size (3.36, 3.38, 40, 41)\n- Panel Visibility\n- Panel Visibility in Overview\n- Power Icon Visibility\n- Ripple Box\n- Search Visibility\n- Startup Status(40, 41)\n- System Menu (Aggregate Menu) Visibility\n- Weather Visibility\n- Window Demands Attention Focus\n- Window Picker Caption Visibility\n- Window Picker Close Button Visibility\n- Window Picker Icon(40, 41)\n- Workspace Background Corner Size in Overview(40, 41)\n- Workspace Popup Visibility\n- Workspaces in app grid Visibility (40, 41)\n- Workspace Switcher Size (40, 41)\n- Workspace Switcher Visibility\n- Workspace Wraparound\n- World Clock Visibility", "link": "https://extensions.gnome.org/extension/3843/just-perfection/", "shell_version_map": {"38": {"version": "20", "sha256": "0wz7fw8mv9av1b7653gi2c0kvh9333sfl74g12b3vnxrlpbr210q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENhbGVuZGFyIFZpc2liaWxpdHlcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBDbG9jayBNZW51IFZpc2liaWxpdHlcbi0gRGFzaCBJY29uIFNpemVcbi0gRGFzaCBWaXNpYmlsaXR5XG4tIERpc2FibGUgVHlwZSB0byBTZWFyY2hcbi0gRG91YmxlIFN1cGVyIEtleSB0byBBcHAgR3JpZFxuLSBFdmVudHMgaW4gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIEdOT01FIFNoZWxsIFRoZW1lIE92ZXJyaWRlXG4tIEhvdCBDb3JuZXIgKDMuMzYsIDMuMzgsIDQwKVxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgaWNvbiBzaXplIFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdlYXRoZXIgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuLSBXb3JsZCBDbG9jayBWaXNpYmlsaXR5IiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0wz7fw8mv9av1b7653gi2c0kvh9333sfl74g12b3vnxrlpbr210q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENhbGVuZGFyIFZpc2liaWxpdHlcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBDbG9jayBNZW51IFZpc2liaWxpdHlcbi0gRGFzaCBJY29uIFNpemVcbi0gRGFzaCBWaXNpYmlsaXR5XG4tIERpc2FibGUgVHlwZSB0byBTZWFyY2hcbi0gRG91YmxlIFN1cGVyIEtleSB0byBBcHAgR3JpZFxuLSBFdmVudHMgaW4gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIEdOT01FIFNoZWxsIFRoZW1lIE92ZXJyaWRlXG4tIEhvdCBDb3JuZXIgKDMuMzYsIDMuMzgsIDQwKVxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgaWNvbiBzaXplIFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdlYXRoZXIgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuLSBXb3JsZCBDbG9jayBWaXNpYmlsaXR5IiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0wz7fw8mv9av1b7653gi2c0kvh9333sfl74g12b3vnxrlpbr210q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENhbGVuZGFyIFZpc2liaWxpdHlcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBDbG9jayBNZW51IFZpc2liaWxpdHlcbi0gRGFzaCBJY29uIFNpemVcbi0gRGFzaCBWaXNpYmlsaXR5XG4tIERpc2FibGUgVHlwZSB0byBTZWFyY2hcbi0gRG91YmxlIFN1cGVyIEtleSB0byBBcHAgR3JpZFxuLSBFdmVudHMgaW4gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIEdOT01FIFNoZWxsIFRoZW1lIE92ZXJyaWRlXG4tIEhvdCBDb3JuZXIgKDMuMzYsIDMuMzgsIDQwKVxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgaWNvbiBzaXplIFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdlYXRoZXIgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuLSBXb3JsZCBDbG9jayBWaXNpYmlsaXR5IiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDIwCn0="}, "42": {"version": "20", "sha256": "0wz7fw8mv9av1b7653gi2c0kvh9333sfl74g12b3vnxrlpbr210q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENhbGVuZGFyIFZpc2liaWxpdHlcbi0gQ2xvY2sgTWVudSBQb3NpdGlvblxuLSBDbG9jayBNZW51IFZpc2liaWxpdHlcbi0gRGFzaCBJY29uIFNpemVcbi0gRGFzaCBWaXNpYmlsaXR5XG4tIERpc2FibGUgVHlwZSB0byBTZWFyY2hcbi0gRG91YmxlIFN1cGVyIEtleSB0byBBcHAgR3JpZFxuLSBFdmVudHMgaW4gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIEdOT01FIFNoZWxsIFRoZW1lIE92ZXJyaWRlXG4tIEhvdCBDb3JuZXIgKDMuMzYsIDMuMzgsIDQwKVxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgaWNvbiBzaXplIFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdlYXRoZXIgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZFxuLSBXb3JsZCBDbG9jayBWaXNpYmlsaXR5IiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "workspaces-bar@fthx", "name": "Workspaces Bar", "pname": "workspaces-bar", "description": "Replace 'Activities' button by all current workspaces buttons. Switch workspace or toggle overview by clicking on these buttons.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/3851/workspaces-bar/", "shell_version_map": {"38": {"version": "13", "sha256": "1pmbdzm5ingnqx1i6hd7br14fcmyss6nyrclq74ld5zbpzgy6sih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd29ya3NwYWNlcy1iYXIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "1pmbdzm5ingnqx1i6hd7br14fcmyss6nyrclq74ld5zbpzgy6sih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd29ya3NwYWNlcy1iYXIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "1pmbdzm5ingnqx1i6hd7br14fcmyss6nyrclq74ld5zbpzgy6sih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd29ya3NwYWNlcy1iYXIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "1pmbdzm5ingnqx1i6hd7br14fcmyss6nyrclq74ld5zbpzgy6sih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd29ya3NwYWNlcy1iYXIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
@@ -407,7 +408,7 @@
 , {"uuid": "sticky-terminal@fthx", "name": "Sticky Terminal", "pname": "sticky-terminal", "description": "Toggle a sticky GNOME terminal window. Your terminal window will always be in foreground while you use another app.\n\nA button in panel allows to toggle the visibility of the terminal. Window is resizeable.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file.", "link": "https://extensions.gnome.org/extension/3915/sticky-terminal/", "shell_version_map": {"38": {"version": "2", "sha256": "0j65ihfhama6scp2b8qbqr1h4gamy4v0w1ygxrfglhvl3jhjm5zz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBHTk9NRSB0ZXJtaW5hbCB3aW5kb3cuIFlvdXIgdGVybWluYWwgd2luZG93IHdpbGwgYWx3YXlzIGJlIGluIGZvcmVncm91bmQgd2hpbGUgeW91IHVzZSBhbm90aGVyIGFwcC5cblxuQSBidXR0b24gaW4gcGFuZWwgYWxsb3dzIHRvIHRvZ2dsZSB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgdGVybWluYWwuIFdpbmRvdyBpcyByZXNpemVhYmxlLlxuXG5Zb3UgY2FuIGVhc2lseSBjaGFuZ2UgaXQgdG8gZGVmYXVsdCBhbm90aGVyIHRlcm1pbmFsIGFwcCBvciBhbm90aGVyIGFwcC4gU29tZSBvdGhlciBzZXR0aW5ncy4gU2VlIGNvbW1lbnRzIGluIGV4dGVuc2lvbi5qcyBmaWxlLiIsCiAgIm5hbWUiOiAiU3RpY2t5IFRlcm1pbmFsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9zdGlja3ktdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS10ZXJtaW5hbEBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "sticky-r-terminal@fthx", "name": "Sticky R Terminal", "pname": "sticky-r-terminal", "description": "Toggle a sticky R terminal window. Your R window will always be in foreground while you use another app.\n\nYou can easily change it to default another terminal app or another app. Some other settings. See comments in extension.js file. Same extension only running a terminal: https://extensions.gnome.org/extension/3915/sticky-terminal . You can use it with R if this extension does not work for your R installation setup.\n\nKeywords: stat, stats, statistics, statistical, r-cran.", "link": "https://extensions.gnome.org/extension/3916/sticky-r-terminal/", "shell_version_map": {"38": {"version": "1", "sha256": "17x84g6fb785jmcl5jz41nw4rgzaad48mc5zllh5b3a485731f0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBhIHN0aWNreSBSIHRlcm1pbmFsIHdpbmRvdy4gWW91ciBSIHdpbmRvdyB3aWxsIGFsd2F5cyBiZSBpbiBmb3JlZ3JvdW5kIHdoaWxlIHlvdSB1c2UgYW5vdGhlciBhcHAuXG5cbllvdSBjYW4gZWFzaWx5IGNoYW5nZSBpdCB0byBkZWZhdWx0IGFub3RoZXIgdGVybWluYWwgYXBwIG9yIGFub3RoZXIgYXBwLiBTb21lIG90aGVyIHNldHRpbmdzLiBTZWUgY29tbWVudHMgaW4gZXh0ZW5zaW9uLmpzIGZpbGUuIFNhbWUgZXh0ZW5zaW9uIG9ubHkgcnVubmluZyBhIHRlcm1pbmFsOiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zOTE1L3N0aWNreS10ZXJtaW5hbCAuIFlvdSBjYW4gdXNlIGl0IHdpdGggUiBpZiB0aGlzIGV4dGVuc2lvbiBkb2VzIG5vdCB3b3JrIGZvciB5b3VyIFIgaW5zdGFsbGF0aW9uIHNldHVwLlxuXG5LZXl3b3Jkczogc3RhdCwgc3RhdHMsIHN0YXRpc3RpY3MsIHN0YXRpc3RpY2FsLCByLWNyYW4uIiwKICAibmFtZSI6ICJTdGlja3kgUiBUZXJtaW5hbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvc3RpY2t5LXItdGVybWluYWwiLAogICJ1dWlkIjogInN0aWNreS1yLXRlcm1pbmFsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "onedrive@diegobazzanella.com", "name": "One Drive", "pname": "one-drive", "description": "One Drive extension", "link": "https://extensions.gnome.org/extension/3919/one-drive/", "shell_version_map": {"38": {"version": "4", "sha256": "0h37rr9hw6azrlf465ngl7w7miii9bm4sh33wkr0x8q51rz62ydd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZSBEcml2ZSBleHRlbnNpb24iLAogICJuYW1lIjogIk9uZSBEcml2ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RiYXp6YS9vbmVEcml2ZSIsCiAgInV1aWQiOiAib25lZHJpdmVAZGllZ29iYXp6YW5lbGxhLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "snowy@exposedcat", "name": "Snowy", "pname": "snowy", "description": "Make you festive mood with falling snow on your GNOME DE system", "link": "https://extensions.gnome.org/extension/3921/snowy/", "shell_version_map": {"40": {"version": "12", "sha256": "17y10r06dmfilbax4f55jxn2xxsjfbykrijxc4b96p3szi69110r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "17y10r06dmfilbax4f55jxn2xxsjfbykrijxc4b96p3szi69110r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91IGZlc3RpdmUgbW9vZCB3aXRoIGZhbGxpbmcgc25vdyBvbiB5b3VyIEdOT01FIERFIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
+, {"uuid": "snowy@exposedcat", "name": "Snowy", "pname": "snowy", "description": "Adds snow to your system", "link": "https://extensions.gnome.org/extension/3921/snowy/", "shell_version_map": {"40": {"version": "12", "sha256": "1nn50xliraczsdsbkxj37yy35291c1gw8nbn8ig7gl8cpg56v1pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc25vdyB0byB5b3VyIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1nn50xliraczsdsbkxj37yy35291c1gw8nbn8ig7gl8cpg56v1pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc25vdyB0byB5b3VyIHN5c3RlbSIsCiAgIm5hbWUiOiAiU25vd3kiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0V4cG9zZWRDYXQvc25vd3kiLAogICJ1dWlkIjogInNub3d5QGV4cG9zZWRjYXQiLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"uuid": "focus@scaryrawr.github.io", "name": "Focus", "pname": "focus", "description": "Transparent inactive windows", "link": "https://extensions.gnome.org/extension/3924/focus/", "shell_version_map": {"38": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "01sh4wxnizgszwggrkp5l5j7iiayrz1wys06hnrq03014kgkd829", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zcGFyZW50IGluYWN0aXZlIHdpbmRvd3MiLAogICJuYW1lIjogIkZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zY2FyeXJhd3IvZ25vbWUtZm9jdXMiLAogICJ1dWlkIjogImZvY3VzQHNjYXJ5cmF3ci5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "autoselectheadset@josephlbarnett.github.com", "name": "Auto select headset", "pname": "auto-select-headset", "description": "Auto selects headsets when possible instead of showing a dialog", "link": "https://extensions.gnome.org/extension/3928/auto-select-headset/", "shell_version_map": {"38": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1lzn5ah6djggb8qcj9r70fmnvs5dpd342f5izx1scpk6h48rna8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG8gc2VsZWN0cyBoZWFkc2V0cyB3aGVuIHBvc3NpYmxlIGluc3RlYWQgb2Ygc2hvd2luZyBhIGRpYWxvZyIsCiAgIm5hbWUiOiAiQXV0byBzZWxlY3QgaGVhZHNldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2pvc2VwaGxiYXJuZXR0L2F1dG9zZWxlY3RoZWFkc2V0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXV0b3NlbGVjdGhlYWRzZXRAam9zZXBobGJhcm5ldHQuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "toggle-night-light@cansozbir.github.io", "name": "Toggle Night Light", "pname": "toggle-night-light", "description": "This extension lets you toggle night-light from the top-bar by clicking it.", "link": "https://extensions.gnome.org/extension/3933/toggle-night-light/", "shell_version_map": {"38": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "13s25az5g1n500jih7n1n7mprm70c2mg4r9cfdrxvivvmy080s5b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IHRvZ2dsZSBuaWdodC1saWdodCBmcm9tIHRoZSB0b3AtYmFyIGJ5IGNsaWNraW5nIGl0LiIsCiAgIm5hbWUiOiAiVG9nZ2xlIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2Fuc296YmlyL2dub21lLXNoZWxsLXRvZ2dsZS1uaWdodC1saWdodC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZ2dsZS1uaWdodC1saWdodEBjYW5zb3piaXIuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
@@ -420,14 +421,14 @@
 , {"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": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0yhc4rrxdqkd2in0vi3kxc7q3llbk88r47fqbvvlbcf8viv7blkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQ3phcmxpZS9nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAidXVpZCI6ICJnbm9tZS1mdXp6eS1hcHAtc2VhcmNoQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuQ3phcmxpZS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"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": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "1illvhj3916g081cd42lx108fssg5m60w118ihj19qqkvpdq96gw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
+, {"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": "12", "sha256": "1nxfa4zgxjlp2msq95b4q5asm516bkfca0zzns02ss8696lyg501", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1nxfa4zgxjlp2msq95b4q5asm516bkfca0zzns02ss8696lyg501", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "1nxfa4zgxjlp2msq95b4q5asm516bkfca0zzns02ss8696lyg501", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYW1hcmlvcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhciIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtdG9wLWJhckBmdHBpeC5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"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": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0nxigrl7pzjzkb7vi68agkmgda75m08j3vdjch3m5x3qs3rwbyj6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01pY2hhZWxBcXVpbGluYS9pbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJpbXByb3ZlZC13b3Jrc3BhY2UtaW5kaWNhdG9yQG1pY2hhZWxhcXVpbGluYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "42": {"version": "15", "sha256": "10i86kx5j5rd1hamj8b3kn6lhmv9zb9xid98f2l5l1sna74xh161", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
 , {"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"}, "42": {"version": "21", "sha256": "1pbldn51jjfq45d3bl7nfciff1mn3krl7dhiwp9hqrp3hchlassd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
-, {"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": "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": "3", "sha256": "03svlpgsjz8i3a7y75m8whx7yr7pqiv5c2x6vgp399h4wjxdl4br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI1NTUxMzk0YTFmNmYxMDlkZDgxNzhkNTg5ODNhN2MwMTE1YzVmYmRjIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FwYW5rb3dza2kvemlsZW5jZSIsCiAgInV1aWQiOiAiemlsZW5jZUBhcGFua293c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "03svlpgsjz8i3a7y75m8whx7yr7pqiv5c2x6vgp399h4wjxdl4br", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI1NTUxMzk0YTFmNmYxMDlkZDgxNzhkNTg5ODNhN2MwMTE1YzVmYmRjIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FwYW5rb3dza2kvemlsZW5jZSIsCiAgInV1aWQiOiAiemlsZW5jZUBhcGFua293c2tpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "40": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}, "41": {"version": "26", "sha256": "07p56424nlhcs8rmbxyywc86jvhrr83hwzs1xq4jv338kiprp04j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyNgp9"}}}
-, {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {"38": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0yvz5mlbksgk2jgv0rzszcqrx0jkyir5b465dmy8lv950224g77v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiBJUHY2IGFuZCBWUE4gaW4gdGhlIEdOT01FIHBhbmVsLiBDbGljayBvbiB0aGUgYWRkcmVzcyB0byBjeWNsZSB0cm91Z2ggZGlmZmVyZW50IGludGVyZmFjZXMuIiwKICAibmFtZSI6ICJBbGwgSVAgQWRkcmVzc2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGhhdmVrZXMvZ25vbWUtZXh0ZW5zaW9uLWFsbC1pcC1hZGRyZXNzZXMiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzQGhhdmVrZXMuZXUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "gnome-extension-all-ip-addresses@havekes.eu", "name": "All IP Addresses", "pname": "all-ip-addresses", "description": "Show IP addresses for LAN, WAN, IPv6 and VPN in the GNOME panel. Click on the address to cycle trough different interfaces.", "link": "https://extensions.gnome.org/extension/3994/all-ip-addresses/", "shell_version_map": {"38": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "0yl2fxs1pl9i9yfgks1ypvzdpyzagjf5s51x0lxnw76ciwrrg47v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSVAgYWRkcmVzc2VzIGZvciBMQU4sIFdBTiwgSVB2NiBhbmQgVlBOIGluIHRoZSBHTk9NRSBwYW5lbC4gQ2xpY2sgb24gdGhlIGFkZHJlc3MgdG8gY3ljbGUgdHJvdWdoIGRpZmZlcmVudCBpbnRlcmZhY2VzLiIsCiAgIm5hbWUiOiAiQWxsIElQIEFkZHJlc3NlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BoYXZla2VzL2dub21lLWV4dGVuc2lvbi1hbGwtaXAtYWRkcmVzc2VzIiwKICAidXVpZCI6ICJnbm9tZS1leHRlbnNpb24tYWxsLWlwLWFkZHJlc3Nlc0BoYXZla2VzLmV1IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "app-grid-tweaks@Selenium-H", "name": "App Grid Tweaks", "pname": "app-grid-tweaks", "description": "Customize the application grid view.\n\nSet the rows, columns and the app icon size for a particular configuration to work.\nIf the screen space is out numbered, reduce the icon size to fit all the rows and columns.\nOr reduce the number of rows and columns.\n\nPress the Refresh button on the left of header bar to apply changes", "link": "https://extensions.gnome.org/extension/3997/app-grid-tweaks/", "shell_version_map": {"38": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "17hriwcwhkjp3n20q7bm7iylr8862ghvnagf2xk0ci2hxwwbyc92", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuIiwKICAiZGVzY3JpcHRpb24iOiAiQ3VzdG9taXplIHRoZSBhcHBsaWNhdGlvbiBncmlkIHZpZXcuXG5cblNldCB0aGUgcm93cywgY29sdW1ucyBhbmQgdGhlIGFwcCBpY29uIHNpemUgZm9yIGEgcGFydGljdWxhciBjb25maWd1cmF0aW9uIHRvIHdvcmsuXG5JZiB0aGUgc2NyZWVuIHNwYWNlIGlzIG91dCBudW1iZXJlZCwgcmVkdWNlIHRoZSBpY29uIHNpemUgdG8gZml0IGFsbCB0aGUgcm93cyBhbmQgY29sdW1ucy5cbk9yIHJlZHVjZSB0aGUgbnVtYmVyIG9mIHJvd3MgYW5kIGNvbHVtbnMuXG5cblByZXNzIHRoZSBSZWZyZXNoIGJ1dHRvbiBvbiB0aGUgbGVmdCBvZiBoZWFkZXIgYmFyIHRvIGFwcGx5IGNoYW5nZXMiLAogICJuYW1lIjogIkFwcCBHcmlkIFR3ZWFrcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcHAtZ3JpZC10d2Vha3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJzdGF0dXMiOiAiIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TZWxlbml1bS1IL0FwcC1HcmlkLVR3ZWFrcyIsCiAgInV1aWQiOiAiYXBwLWdyaWQtdHdlYWtzQFNlbGVuaXVtLUgiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "babar@fthx", "name": "BaBar Task Bar", "pname": "babar", "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). Persistent window preview with right-click (right-click again or click on preview to close it). You can move this preview anywhere. Change 'Places' label to an icon. Settings in preferences UI.\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.\n\n Changelog: https://github.com/fthx/babar/issues/2", "link": "https://extensions.gnome.org/extension/4000/babar/", "shell_version_map": {"38": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "40": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "41": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}, "42": {"version": "58", "sha256": "0sgsz9skc0d3rx9lap6g8fnmb5ki4ylr8s5f8yk5wkpvzvh3gkgy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBQZXJzaXN0ZW50IHdpbmRvdyBwcmV2aWV3IHdpdGggcmlnaHQtY2xpY2sgKHJpZ2h0LWNsaWNrIGFnYWluIG9yIGNsaWNrIG9uIHByZXZpZXcgdG8gY2xvc2UgaXQpLiBZb3UgY2FuIG1vdmUgdGhpcyBwcmV2aWV3IGFueXdoZXJlLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gU2V0dGluZ3MgaW4gcHJlZmVyZW5jZXMgVUkuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuXG5cbiBDaGFuZ2Vsb2c6IGh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2JhYmFyL2lzc3Vlcy8yIiwKICAibmFtZSI6ICJCYUJhciBUYXNrIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXIiLAogICJ1dWlkIjogImJhYmFyQGZ0aHgiLAogICJ2ZXJzaW9uIjogNTgKfQ=="}}}
 , {"uuid": "kitsch@fopdoodle.net", "name": "Kitsch", "pname": "kitsch", "description": "Kitsch is a collection of cheap, popular, and marketable improvements to Gnome. One could consider it applying a cosmetic surgery to Gnome.\n\nKitsch can easily be configured and offers the following features:\n- remove application menu from the top bar\n- remove the activity button from the top bar\n- periodically change the background picture\n\nThis extension does not come with any button on the panel. Visit the website for a documentation.", "link": "https://extensions.gnome.org/extension/4001/kitsch/", "shell_version_map": {"38": {"version": "2", "sha256": "16zwz0p4f8zizr14k4jmdixgnjd0a67d0i3w6clrqgfl49cpdcdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "0qil706632ff90f2m9fc1a2zlrsiyjzx56b8xxxv7f0jdj08rp1n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktpdHNjaCBpcyBhIGNvbGxlY3Rpb24gb2YgY2hlYXAsIHBvcHVsYXIsIGFuZCBtYXJrZXRhYmxlIGltcHJvdmVtZW50cyB0byBHbm9tZS4gT25lIGNvdWxkIGNvbnNpZGVyIGl0IGFwcGx5aW5nIGEgY29zbWV0aWMgc3VyZ2VyeSB0byBHbm9tZS5cblxuS2l0c2NoIGNhbiBlYXNpbHkgYmUgY29uZmlndXJlZCBhbmQgb2ZmZXJzIHRoZSBmb2xsb3dpbmcgZmVhdHVyZXM6XG4tIHJlbW92ZSBhcHBsaWNhdGlvbiBtZW51IGZyb20gdGhlIHRvcCBiYXJcbi0gcmVtb3ZlIHRoZSBhY3Rpdml0eSBidXR0b24gZnJvbSB0aGUgdG9wIGJhclxuLSBwZXJpb2RpY2FsbHkgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIHBpY3R1cmVcblxuVGhpcyBleHRlbnNpb24gZG9lcyBub3QgY29tZSB3aXRoIGFueSBidXR0b24gb24gdGhlIHBhbmVsLiBWaXNpdCB0aGUgd2Vic2l0ZSBmb3IgYSBkb2N1bWVudGF0aW9uLiIsCiAgIm5hbWUiOiAiS2l0c2NoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmtpdHNjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VudGU3Ni9raXRzY2gvIiwKICAidXVpZCI6ICJraXRzY2hAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA2Cn0="}}}
@@ -436,7 +437,7 @@
 , {"uuid": "alttab-mod@leleat-on-github", "name": "AltTab Mod", "pname": "alttab-mod", "description": "Add some QoL changes to the App Switcher (Alt/Super+Tab)...\n- use `WASD`, `hjkl` or the arrow keys for navigation\n- `Q` only closes the selected window instead of the entire app\n- only raise the first window instead of every instance\n- optionally: only show windows from the current workspace\n- optionally: only show windows from the current monitor\n- optionally: remove the App Switcher's delayed appearance", "link": "https://extensions.gnome.org/extension/4007/alttab-mod/", "shell_version_map": {"38": {"version": "6", "sha256": "1010nmdyga6lqk78vlc9r02h3kcgimlvamb7xhp5vw7i71gay4jv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "7", "sha256": "1kxrjyhqh0f1dc21sv0y0hq852nrh5sxjamqn54vjki9k4jqpw0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvQWx0VGFiLU1vZCIsCiAgInV1aWQiOiAiYWx0dGFiLW1vZEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1kxrjyhqh0f1dc21sv0y0hq852nrh5sxjamqn54vjki9k4jqpw0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvQWx0VGFiLU1vZCIsCiAgInV1aWQiOiAiYWx0dGFiLW1vZEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "8", "sha256": "1wg4cgnkf0z1lackj13w55vpn07pal15nljc6c0imnm3fc34hjx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzb21lIFFvTCBjaGFuZ2VzIHRvIHRoZSBBcHAgU3dpdGNoZXIgKEFsdC9TdXBlcitUYWIpLi4uXG4tIHVzZSBgV0FTRGAsIGBoamtsYCBvciB0aGUgYXJyb3cga2V5cyBmb3IgbmF2aWdhdGlvblxuLSBgUWAgb25seSBjbG9zZXMgdGhlIHNlbGVjdGVkIHdpbmRvdyBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYXBwXG4tIG9ubHkgcmFpc2UgdGhlIGZpcnN0IHdpbmRvdyBpbnN0ZWFkIG9mIGV2ZXJ5IGluc3RhbmNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgd29ya3NwYWNlXG4tIG9wdGlvbmFsbHk6IG9ubHkgc2hvdyB3aW5kb3dzIGZyb20gdGhlIGN1cnJlbnQgbW9uaXRvclxuLSBvcHRpb25hbGx5OiByZW1vdmUgdGhlIEFwcCBTd2l0Y2hlcidzIGRlbGF5ZWQgYXBwZWFyYW5jZSIsCiAgIm5hbWUiOiAiQWx0VGFiIE1vZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hbHRUYWItbW9kIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9BbHRUYWItTW9kIiwKICAidXVpZCI6ICJhbHR0YWItbW9kQGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "personalize@Selenium-H", "name": "Personalize", "pname": "personalize", "description": "Personalize the looks of GNOME Desktop.\n\nSet the theme variant, window corner curvature and select accent color.\nThe Colors section contains colors generated from the selected accent color.\nThe color generation is not accurate. However, individual colors can be customised.\n\nNot all settings are applied automatically.\nPress Refresh button on the left of the headerbar to reload the extension \n\nCurrently, only Adwaita theme is supported. Also, Adwaita and Adwaita-dark gtk-2 themes\nmust be installed for the extension to work properly. Not all widgets are themed perfectly.", "link": "https://extensions.gnome.org/extension/4010/personalize/", "shell_version_map": {"38": {"version": "1", "sha256": "1rgh2zq7086ymf0222pbrx5n8q11v3f45095w4x3ikw7k12j9s0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiUGVyc29uYWxpemUgR05PTUUgdGhlbWUgYW5kIGN1c3RvbWl6ZSB0aGVtLiIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNvbmFsaXplIHRoZSBsb29rcyBvZiBHTk9NRSBEZXNrdG9wLlxuXG5TZXQgdGhlIHRoZW1lIHZhcmlhbnQsIHdpbmRvdyBjb3JuZXIgY3VydmF0dXJlIGFuZCBzZWxlY3QgYWNjZW50IGNvbG9yLlxuVGhlIENvbG9ycyBzZWN0aW9uIGNvbnRhaW5zIGNvbG9ycyBnZW5lcmF0ZWQgZnJvbSB0aGUgc2VsZWN0ZWQgYWNjZW50IGNvbG9yLlxuVGhlIGNvbG9yIGdlbmVyYXRpb24gaXMgbm90IGFjY3VyYXRlLiBIb3dldmVyLCBpbmRpdmlkdWFsIGNvbG9ycyBjYW4gYmUgY3VzdG9taXNlZC5cblxuTm90IGFsbCBzZXR0aW5ncyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuUHJlc3MgUmVmcmVzaCBidXR0b24gb24gdGhlIGxlZnQgb2YgdGhlIGhlYWRlcmJhciB0byByZWxvYWQgdGhlIGV4dGVuc2lvbiBcblxuQ3VycmVudGx5LCBvbmx5IEFkd2FpdGEgdGhlbWUgaXMgc3VwcG9ydGVkLiBBbHNvLCBBZHdhaXRhIGFuZCBBZHdhaXRhLWRhcmsgZ3RrLTIgdGhlbWVzXG5tdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhlIGV4dGVuc2lvbiB0byB3b3JrIHByb3Blcmx5LiBOb3QgYWxsIHdpZGdldHMgYXJlIHRoZW1lZCBwZXJmZWN0bHkuIiwKICAibmFtZSI6ICJQZXJzb25hbGl6ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wZXJzb25hbGl6ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJzdGF0dXMiOiAiICIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VsZW5pdW0tSC9QZXJzb25hbGl6ZSIsCiAgInV1aWQiOiAicGVyc29uYWxpemVAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "gnomebedtime@ionutbortis.gmail.com", "name": "Bedtime Mode", "pname": "gnome-bedtime", "description": "Hey Gnome, it's bedtime! Converts to grayscale the entire Gnome workspace by using a smooth transition. Best to use during evening/night.\n\nThis behaviour is similar to Android's bedtime mode which converts the phone screen to grayscale. It should somewhat make your device less appealing and limit the usage of it before bedtime. On my side, at least, it still requires a fair amount of self control in order to make that happen.\n\nThe extension has a nice Settings UI where you can customize it to your liking:\n- Set an automatic schedule for turning on/off the Bedtime Mode\n- Add an On Demand button to Top Bar or System Menu to manually toggle the mode\n- Control the On Demand button visibility, appearance and position in Top Bar\n- Choose another color preset and intensity, if you prefer a different color scheme\n- Change color intensity on the fly by scrolling over the On Demand button in Top Bar\n\nMulti language support is also available, please check the GitHub page if you want to help with the translations. So far, the extension is fully translated to Spanish, Dutch, German, Romanian and English.\n\nIf you want to use a keyboard shortcut in order to toggle the Bedtime Mode then you can use this command for the shortcut:\n\nbash -c 'schema_id=org.gnome.shell.extensions.bedtime-mode; schema_dir=~/.local/share/gnome-shell/extensions/gnomebedtime@ionutbortis.gmail.com/schemas/; if [[ $(gsettings --schemadir $schema_dir get $schema_id bedtime-mode-active) == \"true\" ]]; then turn_on=false; else turn_on=true; fi; gsettings --schemadir $schema_dir set $schema_id bedtime-mode-active $turn_on;'\n", "link": "https://extensions.gnome.org/extension/4012/gnome-bedtime/", "shell_version_map": {"38": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "0biakzi3szz2czl6mdhacysq4apz3pslxqi9hhp6lyp1hnch7jll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnXG4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiZWR0aW1lLW1vZGUiLAogICJuYW1lIjogIkJlZHRpbWUgTW9kZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5iZWR0aW1lLW1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
-, {"uuid": "spotify-controller@koolskateguy89", "name": "Spotify Controller", "pname": "spotify-controller", "description": "Control Spotify from the topbar!\n\nCredit to Marcus Heine (https://github.com/mheine) for most of the code in this extension.", "link": "https://extensions.gnome.org/extension/4013/spotify-controller/", "shell_version_map": {"38": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "spotify-controller@koolskateguy89", "name": "Spotify Controller", "pname": "spotify-controller", "description": "Control Spotify from the topbar!\n\nCredit to Marcus Heine (https://github.com/mheine) for most of the code in this extension.", "link": "https://extensions.gnome.org/extension/4013/spotify-controller/", "shell_version_map": {"38": {"version": "11", "sha256": "1djpsp1l9cs1ls70jx25d9p4jaxh4iqpqj8hqfb9np5gv7hs4539", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvb2xza2F0ZWd1eTg5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zcG90aWZ5LWNvbnRyb2xsZXIiLAogICJ1dWlkIjogInNwb3RpZnktY29udHJvbGxlckBrb29sc2thdGVndXk4OSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1djpsp1l9cs1ls70jx25d9p4jaxh4iqpqj8hqfb9np5gv7hs4539", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvb2xza2F0ZWd1eTg5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zcG90aWZ5LWNvbnRyb2xsZXIiLAogICJ1dWlkIjogInNwb3RpZnktY29udHJvbGxlckBrb29sc2thdGVndXk4OSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1djpsp1l9cs1ls70jx25d9p4jaxh4iqpqj8hqfb9np5gv7hs4539", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvb2xza2F0ZWd1eTg5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zcG90aWZ5LWNvbnRyb2xsZXIiLAogICJ1dWlkIjogInNwb3RpZnktY29udHJvbGxlckBrb29sc2thdGVndXk4OSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "1djpsp1l9cs1ls70jx25d9p4jaxh4iqpqj8hqfb9np5gv7hs4539", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2tvb2xza2F0ZWd1eTg5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1zcG90aWZ5LWNvbnRyb2xsZXIiLAogICJ1dWlkIjogInNwb3RpZnktY29udHJvbGxlckBrb29sc2thdGVndXk4OSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "transparentwindows.mdirshad07", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/4016/transparent-window/", "shell_version_map": {"38": {"version": "2", "sha256": "12d8ad0s3b2cd8gczsa2l2x5wf3rag9xfr12ljw2jlrzf99vnr70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BieHFkb3duL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC13aW5kb3ciLAogICJ1dWlkIjogInRyYW5zcGFyZW50d2luZG93cy5tZGlyc2hhZDA3IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "wandering-pixel@justinrdonnelly.github.com", "name": "Wandering Pixel", "pname": "wandering-pixel", "description": "Slide 1 pixel back and forth in the top bar as a workaround for various bugs in GNOME Shell and/or Mutter.", "link": "https://extensions.gnome.org/extension/4028/wandering-pixel/", "shell_version_map": {"38": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "screenshot-directory@fawtytoo", "name": "Screenshot Directory", "pname": "screenshot-directory", "description": "The default screenshot directory is ~/Pictures. This extension changes that to use whatever is set if you used the Gnome Screenshot app. This can be found in the dconf setting: /org/gnome/gnome-screenshot/last-save-directory. If that directory doesn't exist, the extension will use the Home directory instead.\n\nNote: If the dconf setting doesn't exist, you need to install the Gnome Screenshot app.\n\nThe idea was taken from the extension: Screenshot Locations.", "link": "https://extensions.gnome.org/extension/4031/screenshot-directory/", "shell_version_map": {"38": {"version": "8", "sha256": "1pmj9dx0103rk2zaia53q8rc461dj7ybfih9lnh8v1bcm2sjca3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzY3JlZW5zaG90LWRpcmVjdG9yeUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "1pmj9dx0103rk2zaia53q8rc461dj7ybfih9lnh8v1bcm2sjca3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzY3JlZW5zaG90LWRpcmVjdG9yeUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "1pmj9dx0103rk2zaia53q8rc461dj7ybfih9lnh8v1bcm2sjca3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzY3JlZW5zaG90LWRpcmVjdG9yeUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "42": {"version": "8", "sha256": "1pmj9dx0103rk2zaia53q8rc461dj7ybfih9lnh8v1bcm2sjca3w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzY3JlZW5zaG90LWRpcmVjdG9yeUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
@@ -445,7 +446,7 @@
 , {"uuid": "VPNStatus@jesusalc@intuivo.com", "name": "VPNStatus Indicator", "pname": "vpnstatus-indicator", "description": "displays the current state of VPNStatus VPN\n\nchecks, if /proc/net/route contains entries for device nmcli?, this is the VPNStatus network device.\n", "link": "https://extensions.gnome.org/extension/4039/vpnstatus-indicator/", "shell_version_map": {"38": {"version": "1", "sha256": "1y4ym6lpwfi03rc6186yjc7mns01q5nrwiqizghls7hiyfg3kqrn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImRpc3BsYXlzIHRoZSBjdXJyZW50IHN0YXRlIG9mIFZQTlN0YXR1cyBWUE5cblxuY2hlY2tzLCBpZiAvcHJvYy9uZXQvcm91dGUgY29udGFpbnMgZW50cmllcyBmb3IgZGV2aWNlIG5tY2xpPywgdGhpcyBpcyB0aGUgVlBOU3RhdHVzIG5ldHdvcmsgZGV2aWNlLlxuIiwKICAibmFtZSI6ICJWUE5TdGF0dXMgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIlZQTlN0YXR1c0BqZXN1c2FsY0BpbnR1aXZvLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "switchtwolayouts@qtmax.dev", "name": "Switch Two Layouts", "pname": "switch-two-layouts", "description": "This extension makes XKB shortcuts to switch keyboard layouts (such as Caps Lock, Ctrl+Shift, etc.) cycle between the two first layouts. The other ones still can be selected via the menu or using GNOME's shortcuts (Super+Space, Shift+Super+Space). It's useful when you have two primary layouts and more additional, which are used more rarely.", "link": "https://extensions.gnome.org/extension/4042/switch-two-layouts/", "shell_version_map": {"38": {"version": "3", "sha256": "0lzr3nx55842w7x60kx20fm8p07gz9gxh1lkqk9sic2784cbydsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3dpdGNodHdvbGF5b3V0c0BxdG1heC5kZXYiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0lzr3nx55842w7x60kx20fm8p07gz9gxh1lkqk9sic2784cbydsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3dpdGNodHdvbGF5b3V0c0BxdG1heC5kZXYiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0lzr3nx55842w7x60kx20fm8p07gz9gxh1lkqk9sic2784cbydsc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIG1ha2VzIFhLQiBzaG9ydGN1dHMgdG8gc3dpdGNoIGtleWJvYXJkIGxheW91dHMgKHN1Y2ggYXMgQ2FwcyBMb2NrLCBDdHJsK1NoaWZ0LCBldGMuKSBjeWNsZSBiZXR3ZWVuIHRoZSB0d28gZmlyc3QgbGF5b3V0cy4gVGhlIG90aGVyIG9uZXMgc3RpbGwgY2FuIGJlIHNlbGVjdGVkIHZpYSB0aGUgbWVudSBvciB1c2luZyBHTk9NRSdzIHNob3J0Y3V0cyAoU3VwZXIrU3BhY2UsIFNoaWZ0K1N1cGVyK1NwYWNlKS4gSXQncyB1c2VmdWwgd2hlbiB5b3UgaGF2ZSB0d28gcHJpbWFyeSBsYXlvdXRzIGFuZCBtb3JlIGFkZGl0aW9uYWwsIHdoaWNoIGFyZSB1c2VkIG1vcmUgcmFyZWx5LiIsCiAgIm5hbWUiOiAiU3dpdGNoIFR3byBMYXlvdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3dpdGNodHdvbGF5b3V0c0BxdG1heC5kZXYiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "notification-dismiss@kronosoul.xyz", "name": "Dismiss Notifications on Right Click", "pname": "dismiss-notifications-on-right-click", "description": "Simple extension that removes notification popups when they are right clicked.", "link": "https://extensions.gnome.org/extension/4048/dismiss-notifications-on-right-click/", "shell_version_map": {"38": {"version": "1", "sha256": "19pdz3lg1ybmgvpahfwzzhwk8fyhm1sr3wawddz5z66i22spcgjj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwubm90aWZpY2F0aW9uLWRpc21pc3MiLAogICJkZXNjcmlwdGlvbiI6ICJTaW1wbGUgZXh0ZW5zaW9uIHRoYXQgcmVtb3ZlcyBub3RpZmljYXRpb24gcG9wdXBzIHdoZW4gdGhleSBhcmUgcmlnaHQgY2xpY2tlZC4iLAogICJleHRlbnNpb24taWQiOiAiZ2R0b29scyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJEaXNtaXNzIE5vdGlmaWNhdGlvbnMgb24gUmlnaHQgQ2xpY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4wIiwKICAgICIzLjEwIiwKICAgICIzLjEyIiwKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvIiwKICAidXVpZCI6ICJub3RpZmljYXRpb24tZGlzbWlzc0Brcm9ub3NvdWwueHl6IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "disable-gestures-2021@verycrazydog.gmail.com", "name": "Disable Gestures 2021", "pname": "disable-gestures-2021", "description": "Disable all GNOME built-in gestures. Useful for kiosks and touch screen apps.", "link": "https://extensions.gnome.org/extension/4049/disable-gestures-2021/", "shell_version_map": {"40": {"version": "3", "sha256": "19k4vdh99x7m4h3rrnih6pikv5g8wzd41hlg695dg6pr5cnvr063", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlDcmF6eURvZy9nbm9tZS1kaXNhYmxlLWdlc3R1cmVzIiwKICAidXVpZCI6ICJkaXNhYmxlLWdlc3R1cmVzLTIwMjFAdmVyeWNyYXp5ZG9nLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "19k4vdh99x7m4h3rrnih6pikv5g8wzd41hlg695dg6pr5cnvr063", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1ZlcnlDcmF6eURvZy9nbm9tZS1kaXNhYmxlLWdlc3R1cmVzIiwKICAidXVpZCI6ICJkaXNhYmxlLWdlc3R1cmVzLTIwMjFAdmVyeWNyYXp5ZG9nLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "disable-gestures-2021@verycrazydog.gmail.com", "name": "Disable Gestures 2021", "pname": "disable-gestures-2021", "description": "Disable all GNOME built-in gestures. Useful for kiosks and touch screen apps.", "link": "https://extensions.gnome.org/extension/4049/disable-gestures-2021/", "shell_version_map": {"38": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "116icgf3g079f8pibcb9jb1jc3y97hjf6fcqq1yb1bcsrx4wp0w5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgYWxsIEdOT01FIGJ1aWx0LWluIGdlc3R1cmVzLiBVc2VmdWwgZm9yIGtpb3NrcyBhbmQgdG91Y2ggc2NyZWVuIGFwcHMuIiwKICAibmFtZSI6ICJEaXNhYmxlIEdlc3R1cmVzIDIwMjEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WZXJ5Q3JhenlEb2cvZ25vbWUtZGlzYWJsZS1nZXN0dXJlcyIsCiAgInV1aWQiOiAiZGlzYWJsZS1nZXN0dXJlcy0yMDIxQHZlcnljcmF6eWRvZy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "pi-hole@fnxweb.com", "name": "pi-hole", "pname": "pi-hole", "description": "Status and basic controls of local Pi-Hole", "link": "https://extensions.gnome.org/extension/4051/pi-hole/", "shell_version_map": {"38": {"version": "1", "sha256": "0m19lv8zfhh8vqn0ln4a8g4g4hw9p6h98gb656vb0hblp5gsycfm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBhbmQgYmFzaWMgY29udHJvbHMgb2YgbG9jYWwgUGktSG9sZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1mbnh3ZWItcGktaG9sZSIsCiAgIm5hbWUiOiAicGktaG9sZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mbnh3ZWItcGktaG9sZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZueHdlYi9nbm9tZS1zaGVsbC1waS1ob2xlIiwKICAidXVpZCI6ICJwaS1ob2xlQGZueHdlYi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "miniCal3@mtharpe", "name": "Minimalist Calendar 3", "pname": "minimalist-calendar-3", "description": "Remove event list and clock/calendar app buttons from the calendar window. This is just an updated version of v2 by breiq", "link": "https://extensions.gnome.org/extension/4052/minimalist-calendar-3/", "shell_version_map": {"38": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1vmqx1w9aymwb2a09b07fj18kxpki6blvzbvfamvk84b6x2qcxkn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIFRoaXMgaXMganVzdCBhbiB1cGRhdGVkIHZlcnNpb24gb2YgdjIgYnkgYnJlaXEiLAogICJuYW1lIjogIk1pbmltYWxpc3QgQ2FsZW5kYXIgMyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXRoYXJwZS9nbm9tZS1taW5DYWwzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibWluaUNhbDNAbXRoYXJwZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "spotify-artwork-fixer@wjt.me.uk", "name": "Spotify Artwork Fixer", "pname": "spotify-artwork-fixer", "description": "Fix Spotify artwork missing in media notification", "link": "https://extensions.gnome.org/extension/4055/spotify-artwork-fixer/", "shell_version_map": {"38": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
@@ -478,7 +479,7 @@
 , {"uuid": "workspace-isolated_app-switcher@lestibournes", "name": "Workspace-Isolated App-Switcher", "pname": "workspace-isolated-app-switcher", "description": "App-Switcher modification that shows only the apps that are running on the current workspace. Fork of App-Switcher Current Workspace First by fawtytoo.", "link": "https://extensions.gnome.org/extension/4145/workspace-isolated-app-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "0bcf8l1sb73f0ggvavkfjk10s67k7w4f3yr0s9inil6z8pbk7bsr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzaG93cyBvbmx5IHRoZSBhcHBzIHRoYXQgYXJlIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgd29ya3NwYWNlLiBGb3JrIG9mIEFwcC1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCBieSBmYXd0eXRvby4iLAogICJuYW1lIjogIldvcmtzcGFjZS1Jc29sYXRlZCBBcHAtU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAid29ya3NwYWNlLWlzb2xhdGVkX2FwcC1zd2l0Y2hlckBsZXN0aWJvdXJuZXMiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "kubectl@infinicode.de", "name": "Kubectl Extension", "pname": "kubectl-extension", "description": "Quick panel access to kubernetes resources utilizing kubectl CLI", "link": "https://extensions.gnome.org/extension/4147/kubectl-extension/", "shell_version_map": {"38": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "1avc1k7lhzwnzys5296s4wcj71bvzngn2r1bsjxjdfdam58vpghw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIHBhbmVsIGFjY2VzcyB0byBrdWJlcm5ldGVzIHJlc291cmNlcyB1dGlsaXppbmcga3ViZWN0bCBDTEkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJsb2NhbGVkaXIiOiAiL3Vzci9sb2NhbC9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIkt1YmVjdGwgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmt1YmVjdGwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaW5hdGljL2t1YmVjdGwtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJrdWJlY3RsQGluZmluaWNvZGUuZGUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "alwaysshowworkspacethumbnails@alynx.one", "name": "Always Show Workspace Thumbnails", "pname": "always-show-workspace-thumbnails", "description": "Always show workspace thumbnails even there is only one workspace.", "link": "https://extensions.gnome.org/extension/4156/always-show-workspace-thumbnails/", "shell_version_map": {"40": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0yxg7dmlkm4islaz1y3as5p04b80r192vc3n4zx0ga1nnp80w8p9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BbHlueFpob3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsd2F5cy1zaG93LXdvcmtzcGFjZS10aHVtYm5haWxzLyIsCiAgInV1aWQiOiAiYWx3YXlzc2hvd3dvcmtzcGFjZXRodW1ibmFpbHNAYWx5bngub25lIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41/42's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1j5hw0y6ynw9jknnl85gk4lfq63lzqzsrw88jri04m0zfdrsgl76", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41/42's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "1ypf74vlisn6rvjq243m6839hglgahzb4zd21hg1d1cldzw34i3i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxLzQyJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLXVpLXR1bmUiLAogICJ1dWlkIjogImdub21lLXVpLXR1bmVAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "monitor-window-switcher@thefungusrocket.com", "name": "Monitor window switcher", "pname": "monitor-window-switcher", "description": "Improves the window switcher on dual (or more) monitor setups", "link": "https://extensions.gnome.org/extension/4164/monitor-window-switcher/", "shell_version_map": {"38": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard capabilities.\nMouse pointer pressure, clicks and scrolls over the corners/edges or keyboard shortcuts can trigger any of dozens of built-in actions that helps you navigate and control your desktop environment or your own shell commands.\n\nThis extension is a big collection of actions that allows you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\nPlease report bugs/issues on GitHub linked below.\n\nkeywords: overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "03hxg1lws0d9i8s1xn4m596afs9d9k75s4gfjr93rp8br7y1icfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGFsbG93cyB5b3UgbmF2aWdhdGUgYW5kIGNvbnRyb2wgdGhlIEdub21lIFNoZWxsIGVudmlyb25tZW50IGFuZCB3aW5kb3dzIGFuZCBsYXVuY2ggYXBwbGljYXRpb25zIGFuZCBzY3JpcHRzIG5vdCBvbmx5IHRocm91Z2ggdGhlIGNvcm5lcnMgYW5kIGVkZ2VzIG9mIHlvdXIgbW9uaXRvcnMsIGJ1dCBhbHNvIHVzaW5nIHRoZSBjdXN0b20ga2V5Ym9hcmQgc2hvcnRjdXRzLlxuU2lnbmlmaWNhbnQgcGFydCBvZiBhdmFpbGFibGUgYWN0aW9ucyBhcmUgdmlzdWFsIGFkanVzdG1lbnRzIChjb250cmFzdCwgYnJpZ2h0bmVzcywgb3BhY2l0eSkgYW5kIGNvbG9yIGZpbHRlcnMgKHJlZCwgZ3JlZW4sIGRlc2F0dXJhdGUsIGxpZ2h0bmVzcyBhbmQgY29sb3IgaW52ZXJzaW9ucykgLCBpbmNsdWRpbmcgY29ycmVjdGlvbiBmaWx0ZXJzIGZvciBjb2xvcmJsaW5kIHVzZXJzIGFuZCBjYiBzaW11bGF0aW9uIGZpbHRlcnMgZm9yIGRldmVsb3BlcnMuXG5cblJlc3RhcnQgeW91ciBHbm9tZSBTaGVsbCBhZnRlciBlYWNoIHVwZGF0ZSBvZiB0aGUgZXh0ZW5zaW9uIHRvIGxvYWQgbmV3IGNvZGUsIGFuZCByZWxvYWQgdGhpcyBzaXRlIHRvIGdldCByaWQgb2YgdGhlIGVycm9yIG1lc3NhZ2UsIGJlZm9yZSB5b3UgcG9zdCBhIGJ1ZyByZXBvcnQuXG5QbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIEdpdEh1YiBsaW5rZWQgYmVsb3cuXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "1h6lms1szjp2rz6q3hs8s0jsv71lyiabgygy4cqp1lj834k9hqpd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
@@ -497,7 +498,7 @@
 , {"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": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0if3rwvmhw3a1chpas1bp3xkavza2rl3sqpk1ba97xb613sap8qv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92Y2hsdW0vd2lyZWxlc3MtaGlkIiwKICAidXVpZCI6ICJ3aXJlbGVzcy1oaWRAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0945xh7a607x3f9796gi3l5zylqa8gj1pnw44hcaak5sc6zpahgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"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": "arbttstats@gervasioperez.ar", "name": "Arbtt stats", "pname": "arbtt-stats", "description": "Show simple arbtt stats on the panel", "link": "https://extensions.gnome.org/extension/4234/arbtt-stats/", "shell_version_map": {"38": {"version": "11", "sha256": "1aqw1s7r3mk4dk6plx826i9ha478v40l8hld458a1riajxhyv0s3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiQXJidHQgc3RhdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "1aqw1s7r3mk4dk6plx826i9ha478v40l8hld458a1riajxhyv0s3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiQXJidHQgc3RhdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "1aqw1s7r3mk4dk6plx826i9ha478v40l8hld458a1riajxhyv0s3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIGFyYnR0IHN0YXRzIG9uIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiQXJidHQgc3RhdHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoZXJ3b29kaW5jL2FyYnR0LXN0YXRzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXJidHRzdGF0c0BnZXJ2YXNpb3BlcmV6LmFyIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"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• Application specific keyboard shortcut based hold-swipe gestures (e.g., navigating browser tabs)\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": "0srrlqk0h62d9ivhkv1gciw0zgp4rs6p6pc9p1w4gsayhh7zsqf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "0srrlqk0h62d9ivhkv1gciw0zgp4rs6p6pc9p1w4gsayhh7zsqf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLWdlc3R1cmUtaW1wcm92ZW1lbnRzIiwKICAidXVpZCI6ICJnZXN0dXJlSW1wcm92ZW1lbnRzQGdlc3R1cmVzIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "22", "sha256": "0rpgknf4lqyapdi7r54in4yx1b1zm1r921bvvr92svyc8ywv15yg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmUgdG91Y2hwYWQgZ2VzdHVyZXMgZm9yIFdheWxhbmQvWDExXG5cblRoaXMgZXh0ZW5zaW9uIGFkZHMgZm9sbG93aW5nIGZlYXR1cmVzOlxuXG5cdTIwMjIgU3dpdGNoIHdpbmRvd3MgZnJvbSBjdXJyZW50IHdvcmtzcGFjZSB1c2luZyAzLWZpbmdlciBob3Jpem9udGFsIHN3aXBlXG5cdTIwMjIgQ3ljbGljIGdlc3R1cmVzIGJldHdlZW4gRGVza3RvcC9PdmVydmlldy9BcHBHcmlkIHVzaW5nIDQgdmVydGljYWwgc3dpcGVcblx1MjAyMiBTd2l0Y2ggYXBwLXBhZ2VzIHVzaW5nIDMtZmluZ2VyIHN3aXBlIGdlc3R1cmUgb24gQXBwR3JpZFxuXHUyMDIyIFVubWF4aW1pemUvbWF4aW1pemUvZnVsbHNjcmVlbi9oYWxmLXRpbGluZyB1c2luZyAzLWZpbmdlciB2ZXJ0aWNhbCAmIGhvcml6b250YWwgZ2VzdHVyZVxuXHUyMDIyIE9wdGlvbmFsIG1pbmltaXplIGEgd2luZG93IGdlc3R1cmVcblx1MjAyMiBPdmVycmlkZSAzLWZpbmdlciBnZXN0dXJlIHdpdGggNC1maW5nZXIgZm9yIHN3aXRjaGluZyB3b3Jrc3BhY2Vcblx1MjAyMiBQaW5jaCB0byBzaG93IGRlc2t0b3Bcblx1MjAyMiBBcHBsaWNhdGlvbiBzcGVjaWZpYyBrZXlib2FyZCBzaG9ydGN1dCBiYXNlZCBob2xkLXN3aXBlIGdlc3R1cmVzIChlLmcuLCBuYXZpZ2F0aW5nIGJyb3dzZXIgdGFicylcblx1MjAyMiBDb25maWd1cmUgc3BlZWQgb2YgZ2VzdHVyZXNcblx1MjAyMiBTdXBwb3J0IGZvciBYMTFcbiAgIFxuT24gWDExLCB5b3UgbmVlZCB0byBpbnN0YWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL2dub21lLXgxMS1nZXN0dXJlLWRhZW1vblxuXG5SZXBvcnQgYW55IGJ1Z3MvcmVxdWVzdHMgb24gR2l0SHViIChsaW5rIGRpcmVjdGx5IGJlbG93KVxuIiwKICAibmFtZSI6ICJHZXN0dXJlIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nZXN0dXJlSW1wcm92ZW1lbnRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcnNoYWRnYXZhbGkvZ25vbWUtZ2VzdHVyZS1pbXByb3ZlbWVudHMiLAogICJ1dWlkIjogImdlc3R1cmVJbXByb3ZlbWVudHNAZ2VzdHVyZXMiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"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=="}}}
@@ -520,10 +521,9 @@
 , {"uuid": "spindown-harddisk@johannes.bittner.gmail.com", "name": "Spin down hard disk", "pname": "spin-down-hard-disk", "description": "Spins down the hard disk (and keeps it spun down)", "link": "https://extensions.gnome.org/extension/4299/spin-down-hard-disk/", "shell_version_map": {"38": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "user-pics@comfy", "name": "User Pics", "pname": "user-pics", "description": "lucasalveslm's User Account Image for gnome-shell 3.38", "link": "https://extensions.gnome.org/extension/4301/user-pics/", "shell_version_map": {"38": {"version": "3", "sha256": "1rv6x551dm3hynfkm291b4c552j9d6q89ixmrq0x97xgw75n14fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImx1Y2FzYWx2ZXNsbSdzIFVzZXIgQWNjb3VudCBJbWFnZSBmb3IgZ25vbWUtc2hlbGwgMy4zOCIsCiAgIm5hbWUiOiAiVXNlciBQaWNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInVzZXItcGljc0Bjb21meSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "screendarker@yingshaoxo.github.com", "name": "Screen Darker", "pname": "screen-darker", "description": "Help you do a switch between a darker screen and brighter screen by one click.", "link": "https://extensions.gnome.org/extension/4304/screen-darker/", "shell_version_map": {"38": {"version": "1", "sha256": "1zlncw0y5crq6n0slhq1f9npzvkkcyh0187z88mzycr55nl4rsx8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHAgeW91IGRvIGEgc3dpdGNoIGJldHdlZW4gYSBkYXJrZXIgc2NyZWVuIGFuZCBicmlnaHRlciBzY3JlZW4gYnkgb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiU2NyZWVuIERhcmtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbmdzaGFveG8vZ25vbWUtc2hlbGwtc2NyZWVuLWRhcmtlciIsCiAgInV1aWQiOiAic2NyZWVuZGFya2VyQHlpbmdzaGFveG8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "umi-coin-rate@exposedcat", "name": "UMI Coin Rate [Unmaintained]", "pname": "umi-coin-rate", "description": "", "link": "https://extensions.gnome.org/extension/4307/umi-coin-rate/", "shell_version_map": {"38": {"version": "5", "sha256": "0rhprnxnsmy834lkc2vmp0zgbj1ngc3bq7m3yac4vd3g40r015nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSBbVW5tYWludGFpbmVkXSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidW1pLWNvaW4tcmF0ZUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0rhprnxnsmy834lkc2vmp0zgbj1ngc3bq7m3yac4vd3g40r015nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSBbVW5tYWludGFpbmVkXSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidW1pLWNvaW4tcmF0ZUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "network-stats@gnome.noroadsleft.xyz", "name": "Network Stats", "pname": "network-stats", "description": "Displays internet upload speed, download speed, bandwidth, data usage. \n\n visit github page for instructions, suggestions and feature requests. \n\n ERROR while updating extension ? restart your system or reload gnome shell. Alt + F2  then  r + Enter", "link": "https://extensions.gnome.org/extension/4308/network-stats/", "shell_version_map": {"38": {"version": "13", "sha256": "1h1gpgcxqx8iilk4dm9708f3p94qv7adz42pgg08njhh9fabapxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLCBzdWdnZXN0aW9ucyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gXG5cbiBFUlJPUiB3aGlsZSB1cGRhdGluZyBleHRlbnNpb24gPyByZXN0YXJ0IHlvdXIgc3lzdGVtIG9yIHJlbG9hZCBnbm9tZSBzaGVsbC4gQWx0ICsgRjIgIHRoZW4gIHIgKyBFbnRlciIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9yb2Fkc2xlZnQwMDAvZ25vbWUtbmV0d29yay1zdGF0cyIsCiAgInV1aWQiOiAibmV0d29yay1zdGF0c0Bnbm9tZS5ub3JvYWRzbGVmdC54eXoiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "1h1gpgcxqx8iilk4dm9708f3p94qv7adz42pgg08njhh9fabapxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLCBzdWdnZXN0aW9ucyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gXG5cbiBFUlJPUiB3aGlsZSB1cGRhdGluZyBleHRlbnNpb24gPyByZXN0YXJ0IHlvdXIgc3lzdGVtIG9yIHJlbG9hZCBnbm9tZSBzaGVsbC4gQWx0ICsgRjIgIHRoZW4gIHIgKyBFbnRlciIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9yb2Fkc2xlZnQwMDAvZ25vbWUtbmV0d29yay1zdGF0cyIsCiAgInV1aWQiOiAibmV0d29yay1zdGF0c0Bnbm9tZS5ub3JvYWRzbGVmdC54eXoiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "1h1gpgcxqx8iilk4dm9708f3p94qv7adz42pgg08njhh9fabapxa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLCBzdWdnZXN0aW9ucyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gXG5cbiBFUlJPUiB3aGlsZSB1cGRhdGluZyBleHRlbnNpb24gPyByZXN0YXJ0IHlvdXIgc3lzdGVtIG9yIHJlbG9hZCBnbm9tZSBzaGVsbC4gQWx0ICsgRjIgIHRoZW4gIHIgKyBFbnRlciIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbm9yb2Fkc2xlZnQwMDAvZ25vbWUtbmV0d29yay1zdGF0cyIsCiAgInV1aWQiOiAibmV0d29yay1zdGF0c0Bnbm9tZS5ub3JvYWRzbGVmdC54eXoiLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"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": "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": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1lgqiph6mf01w689vnjw7sgp54h2m6pnvccy625nz924mf8xql6b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9raXJieWtldmluc29uL2ZvcmNlLXNob3ctb3NrIiwKICAidXVpZCI6ICJmb3JjZS1zaG93LW9za0BicnVoLmx0ZCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"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=="}, "42": {"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="}}}
@@ -540,9 +540,9 @@
 , {"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": "7", "sha256": "0q6q0k4pig8i5lmwwb7rznpk1b0sipq30zah7gqqbcj6b9v4zlyb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0q6q0k4pig8i5lmwwb7rznpk1b0sipq30zah7gqqbcj6b9v4zlyb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "7", "sha256": "0q6q0k4pig8i5lmwwb7rznpk1b0sipq30zah7gqqbcj6b9v4zlyb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "shell-isw@zamraky.cz", "name": "MSI Fan Control", "pname": "msi-fan-control", "description": "Use isw to change MSI laptop fan settings", "link": "https://extensions.gnome.org/extension/4363/msi-fan-control/", "shell_version_map": {"38": {"version": "1", "sha256": "0pl9dxwkw47r4c0f5sxjhh8bxl82r0sjlwsji7pwypkb6m0hh342", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBpc3cgdG8gY2hhbmdlIE1TSSBsYXB0b3AgZmFuIHNldHRpbmdzIiwKICAibmFtZSI6ICJNU0kgRmFuIENvbnRyb2wiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hlbGwtaXN3QHphbXJha3kuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "vertical-window-list@student.gitlab.com", "name": "Vertical Window List", "pname": "vertical-window-list", "description": "Displays opened windows in vertical panel with productivity perks\n\n- left click to open favorites/activate window\n- right click to close\n- middle click to rename\n- drag-and-drop to re-arrange\n- Alt-Tab to cycle\n- adjust panel width, transparency and icon size in extension settings", "link": "https://extensions.gnome.org/extension/4369/vertical-window-list/", "shell_version_map": {"40": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "ShutdownTimer@deminder", "name": "Shutdown Timer", "pname": "shutdowntimer", "description": "Shutdown/reboot/suspend the device after a specific time or wake with a rtc alarm.\n\nThe screen-saver will not interrupt the timer. A privileged control script may be installed to control shutdown and rtcwake as user. Additionally, a check command may be configured before shutdown.", "link": "https://extensions.gnome.org/extension/4372/shutdowntimer/", "shell_version_map": {"38": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "24", "sha256": "0id9vn7qhra166cc98bbqp6camnb71i3hdl8d1kzmr9km4w5q56k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1kZW1pbmRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"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": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "1jagvd6a4xw0vm18qi6czfglp16bywms1y55vii2dwvb1xlm4sjz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "42": {"version": "25", "sha256": "0i4j4c95613qwrxcqmy34n8fp5hbaqlcmrlnjng1q5v298ridxfk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbi1zYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNlc3Npb24tbW9kZXMiOiBbCiAgICAidXNlciIsCiAgICAidW5sb2NrLWRpYWxvZyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1dGRvd250aW1lci1kZW1pbmRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"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": "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* Top / bottom 'view split' anchoring cycles through 3 sizes: 1/3, 1/2, and 2/3 of the current screen height.\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": "2", "sha256": "1khfbm9gfi50vwvjz3vdix58013agab9ldca9v1wcwiskjja1qq2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKiBUb3AgLyBib3R0b20gJ3ZpZXcgc3BsaXQnIGFuY2hvcmluZyBjeWNsZXMgdGhyb3VnaCAzIHNpemVzOiAxLzMsIDEvMiwgYW5kIDIvMyBvZiB0aGUgY3VycmVudCBzY3JlZW4gaGVpZ2h0LlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoaXpuYXRpeC9iaWZvY2Fscy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImJpZm9jYWxzQHNoaXpuYXRpeCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1khfbm9gfi50vwvjz3vdix58013agab9ldca9v1wcwiskjja1qq2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKiBUb3AgLyBib3R0b20gJ3ZpZXcgc3BsaXQnIGFuY2hvcmluZyBjeWNsZXMgdGhyb3VnaCAzIHNpemVzOiAxLzMsIDEvMiwgYW5kIDIvMyBvZiB0aGUgY3VycmVudCBzY3JlZW4gaGVpZ2h0LlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoaXpuYXRpeC9iaWZvY2Fscy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImJpZm9jYWxzQHNoaXpuYXRpeCIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1khfbm9gfi50vwvjz3vdix58013agab9ldca9v1wcwiskjja1qq2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBhZGRpbmcgbW9yZSB3aW5kb3cgbWFuYWdlbWVudCBrZXlib2FyZCBzaG9ydGN1dHMuXG5cbiogTGVmdCAvIHJpZ2h0ICd2aWV3IHNwbGl0JyBhbmNob3JpbmcgY3ljbGVzIHRocm91Z2ggMyBzaXplczogMS8zLCAxLzIsIGFuZCAyLzMgb2YgdGhlIGN1cnJlbnQgc2NyZWVuIHdpZHRoLlxuKiBUb3AgLyBib3R0b20gJ3ZpZXcgc3BsaXQnIGFuY2hvcmluZyBjeWNsZXMgdGhyb3VnaCAzIHNpemVzOiAxLzMsIDEvMiwgYW5kIDIvMyBvZiB0aGUgY3VycmVudCBzY3JlZW4gaGVpZ2h0LlxuKkFkZHMgJ21pZCBzY3JlZW4nIG9mIGNlbnRlcmluZyB0aGUgd2luZG93IHdpdGggMy80IHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoLiIsCiAgIm5hbWUiOiAiQmlmb2NhbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NoaXpuYXRpeC9iaWZvY2Fscy1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImJpZm9jYWxzQHNoaXpuYXRpeCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"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"}}}
 , {"uuid": "kill-port@empios.github.com", "name": "Kill Port", "pname": "kill-port", "description": "Extension to easly kill all process on port", "link": "https://extensions.gnome.org/extension/4378/kill-port/", "shell_version_map": {"38": {"version": "4", "sha256": "1q471wv519rgxdb88gdf2a1q0zaa1v84syrqn8wmfvmkfxszgxzh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBlYXNseSBraWxsIGFsbCBwcm9jZXNzIG9uIHBvcnQiLAogICJuYW1lIjogIktpbGwgUG9ydCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC41IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImtpbGwtcG9ydEBlbXBpb3MuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "tuned-profile-switcher@vint21h.pp.ua", "name": "TuneD Profile Switcher", "pname": "tuned-profile-switcher", "description": "Displays a list of the TuneD profiles and allows to switch between them.\nOf course, this is works only when TuneD installed and running.", "link": "https://extensions.gnome.org/extension/4381/tuned-profile-switcher/", "shell_version_map": {"40": {"version": "3", "sha256": "1v7fc3d3kna9ma0533b8d19ifnqdh07cyiz140fxdwb0k1yvxm7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGlzdCBvZiB0aGUgVHVuZUQgcHJvZmlsZXMgYW5kIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiB0aGVtLlxuT2YgY291cnNlLCB0aGlzIGlzIHdvcmtzIG9ubHkgd2hlbiBUdW5lRCBpbnN0YWxsZWQgYW5kIHJ1bm5pbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVuZWQtcHJvZmlsZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiVHVuZUQgUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmludDIxaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHVuZWQtcHJvZmlsZS1zd2l0Y2hlci8iLAogICJ1dWlkIjogInR1bmVkLXByb2ZpbGUtc3dpdGNoZXJAdmludDIxaC5wcC51YSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1v7fc3d3kna9ma0533b8d19ifnqdh07cyiz140fxdwb0k1yvxm7p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGEgbGlzdCBvZiB0aGUgVHVuZUQgcHJvZmlsZXMgYW5kIGFsbG93cyB0byBzd2l0Y2ggYmV0d2VlbiB0aGVtLlxuT2YgY291cnNlLCB0aGlzIGlzIHdvcmtzIG9ubHkgd2hlbiBUdW5lRCBpbnN0YWxsZWQgYW5kIHJ1bm5pbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVuZWQtcHJvZmlsZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiVHVuZUQgUHJvZmlsZSBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmludDIxaC9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHVuZWQtcHJvZmlsZS1zd2l0Y2hlci8iLAogICJ1dWlkIjogInR1bmVkLXByb2ZpbGUtc3dpdGNoZXJAdmludDIxaC5wcC51YSIsCiAgInZlcnNpb24iOiAzCn0="}}}
@@ -553,29 +553,29 @@
 , {"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": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "42": {"version": "11", "sha256": "0gvmi2np73rq7hvxvzyy4rzn4vsb3ylr67k6r48rmr0axg2nkicx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZXBsYWNlQWN0aXZpdGllc1RleHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9QUkFUQVAtS1VNQVIvQWN0aXZpdGllc1RleHQiLAogICJ1dWlkIjogInJlcGxhY2VBY3Rpdml0aWVzVGV4dEBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"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": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "17rsdh004l1mb2k90w3qp72rcv20q0dr3pmi20whrb420yi5bq4i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImFwcE1lbnVJY29uQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "gnome-trash@b00f.github.io", "name": "Gnome Trash", "pname": "gnome-trash", "description": "A gnome shell extension to manage your home trash. You can manage trash items from the panel and open or empty the trash.", "link": "https://extensions.gnome.org/extension/4410/gnome-trash/", "shell_version_map": {"38": {"version": "3", "sha256": "03pyala1i21izg5rl4qqh5bxk36fp8d52bs9ggrik2kav420xhhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
+, {"uuid": "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": "7", "sha256": "1y52rc519m80p45lqkb0892kbzb0770iailwh40r0vqi886i8j42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1y52rc519m80p45lqkb0892kbzb0770iailwh40r0vqi886i8j42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "1y52rc519m80p45lqkb0892kbzb0770iailwh40r0vqi886i8j42", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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/Super+Tab window/app switchers that offers 'type to search' mode, various filtering and sorting options, workspace and monitor navigation, configurable hotkeys for navigation and window/app 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 the currently focused application. You can set keyboard shortcuts for all the switchers using the Gnome Settings app.\n\nFollow the link below for more information and bug reports.\n\nKeywords: alttab, search, find, window search, popup delay, applications, apps, dock, monitor, thumbnail, preview, move windows, launch app, switch, VIM.", "link": "https://extensions.gnome.org/extension/4412/advanced-alttab-window-switcher/", "shell_version_map": {"38": {"version": "14", "sha256": "1q725id5b2pxv0pjg3rg7z1n5yqspka9d5baf8cdh7wmqq5q28nn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyB1c2luZyB0aGUgR25vbWUgU2V0dGluZ3MgYXBwLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvdyBzZWFyY2gsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2gsIFZJTS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQUFUV1MgLSBBZHZhbmNlZCBBbHQtVGFiIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1q725id5b2pxv0pjg3rg7z1n5yqspka9d5baf8cdh7wmqq5q28nn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyB1c2luZyB0aGUgR25vbWUgU2V0dGluZ3MgYXBwLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvdyBzZWFyY2gsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2gsIFZJTS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQUFUV1MgLSBBZHZhbmNlZCBBbHQtVGFiIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1q725id5b2pxv0pjg3rg7z1n5yqspka9d5baf8cdh7wmqq5q28nn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyB1c2luZyB0aGUgR25vbWUgU2V0dGluZ3MgYXBwLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvdyBzZWFyY2gsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2gsIFZJTS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQUFUV1MgLSBBZHZhbmNlZCBBbHQtVGFiIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "42": {"version": "14", "sha256": "1q725id5b2pxv0pjg3rg7z1n5yqspka9d5baf8cdh7wmqq5q28nn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQvU3VwZXIrVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIGNvbmZpZ3VyYWJsZSBob3RrZXlzIGZvciBuYXZpZ2F0aW9uIGFuZCB3aW5kb3cvYXBwIGNvbnRyb2wgYW5kIGFuIGFwcCBsYXVuY2hlci5cbkFBVFdTIGlzIGNvbXBhdGlibGUgd2l0aCBDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCBleHRlbnNpb24sIGFsbG93cyB0byBjb25maWd1cmUgYW55IG1vdXNlIGJ1dHRvbiBhbmQgc2Nyb2xsIHdoZWVsIGFuZCBjYW4gYmUgdXNlZCBhcyBhIG1vdXNlIGNvbnRyb2xsZWQgJ2RvY2snLlxuXG5Ob3RlIHRoYXQgR05PTUUgaGFzIDMgYnVpbHQtaW4gd2luZG93IHN3aXRjaGVyIHBvcHVwcyBhbmQgdGhpcyBleHRlbnNpb24gcmVwbGFjZXMgYWxsIG9mIHRoZW0uIFRoZSBmaXJzdCBvbmUgaXMgZ3JvdXBpbmcgd2luZG93cyBieSBhcHBsaWNhdGlvbnMgYW5kIGlzIHVzZWQgYXMgZGVmYXVsdCBpbiB2YW5pbGxhIEdOT01FIGRpc3RyaWJ1dGlvbnMuIFRoZSBzZWNvbmQgb25lIG9mZmVycyB3aW5kb3cgbGlzdCBhbmQgdGhlIHRoaXJkIG9uZSB3aW5kb3dzIG9mIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBhcHBsaWNhdGlvbi4gWW91IGNhbiBzZXQga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBhbGwgdGhlIHN3aXRjaGVycyB1c2luZyB0aGUgR25vbWUgU2V0dGluZ3MgYXBwLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvdyBzZWFyY2gsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2gsIFZJTS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiQUFUV1MgLSBBZHZhbmNlZCBBbHQtVGFiIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hZHZhbmNlZC1hbHQtdGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvYWR2YW5jZWQtYWx0dGFiLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAiYWR2YW5jZWQtYWx0LXRhYkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"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": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "01n9gllpxvscg56awq8pmyb538mki5zddqyz7cf2c4j2s8glmaz8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmljay1zaG15cmV2L2ltcHJvdmVkLW9zay1nbm9tZS1leHQiLAogICJ1dWlkIjogImltcHJvdmVkb3NrQG5pY2stc2hteXJldi5kZXYiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"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": "4", "sha256": "1pmh16ijc9p34qx7019z1imswnxzf9mbbbh7vg5i1acy2dgb3vfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BlcGUzODYvZmVkb3JhLXVwZGF0ZSIsCiAgInV1aWQiOiAiZmVkb3JhLXVwZGF0ZUBwZXBlMzg2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1pmh16ijc9p34qx7019z1imswnxzf9mbbbh7vg5i1acy2dgb3vfw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BlcGUzODYvZmVkb3JhLXVwZGF0ZSIsCiAgInV1aWQiOiAiZmVkb3JhLXVwZGF0ZUBwZXBlMzg2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "13", "sha256": "0i9sqjhn1im0b804jby2af8xs3xc0znwxwm21r6m2i4aykixk9ln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "0i9sqjhn1im0b804jby2af8xs3xc0znwxwm21r6m2i4aykixk9ln", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"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": "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": "12", "sha256": "1cxffsbkbxgqzavbw5kpbzzpk0hlq9wf4jjhjs18wkrbmdia7fk0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1cxffsbkbxgqzavbw5kpbzzpk0hlq9wf4jjhjs18wkrbmdia7fk0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "1cxffsbkbxgqzavbw5kpbzzpk0hlq9wf4jjhjs18wkrbmdia7fk0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
 , {"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": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "1bak0ap7rf6101qhvlbjiw41dwqiz21yg3px9l2dqkf751jmq7gz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V5b3RlZC90aGFuYXRvcGhvYmlhIiwKICAidXVpZCI6ICJ0aGFuYXRvcGhvYmlhQHlhdHgub25lIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
-, {"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": "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": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0f4w8bf0vp6s79zcfwa0r7ksazrvl309v8jdbfjf0800dc0zsnw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "0ar2kj0y999n2zprl3m2b0q2xkyjw28xbbfcsngy9isnim40qz1f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2Fob3Nib3JuZS9nU25hcCIsCiAgInV1aWQiOiAiZ1NuYXBAbWljYWhvc2Jvcm5lIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"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": "9", "sha256": "1yh6kpdvpbz5af5n59khzkh6wzribw5fnw1grsmdmwgb188m87in", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dub21lU25hcEV4dGVuc2lvbnMvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1yh6kpdvpbz5af5n59khzkh6wzribw5fnw1grsmdmwgb188m87in", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dub21lU25hcEV4dGVuc2lvbnMvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "42": {"version": "9", "sha256": "1yh6kpdvpbz5af5n59khzkh6wzribw5fnw1grsmdmwgb188m87in", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIFdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dub21lU25hcEV4dGVuc2lvbnMvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"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": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0d7xmiyj07d8sfw6fsvj5i8pjkmn5m44l0lh0hvbaxsk9h72gj00", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"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": "11", "sha256": "03vw9m37a62av3ka3rv2n1x7xk14sfl6db3xmxlgpl7pyw74wvyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "03vw9m37a62av3ka3rv2n1x7xk14sfl6db3xmxlgpl7pyw74wvyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "03vw9m37a62av3ka3rv2n1x7xk14sfl6db3xmxlgpl7pyw74wvyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDExCn0="}, "42": {"version": "11", "sha256": "03vw9m37a62av3ka3rv2n1x7xk14sfl6db3xmxlgpl7pyw74wvyi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9BcnlhbjIwL0xvZ29tZW51IiwKICAidXVpZCI6ICJsb2dvbWVudUBhcnlhbl9rIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "rog-manager@rog", "name": "Rog Asus Manager", "pname": "rog-asus-manager", "description": "Asus ROG manager", "link": "https://extensions.gnome.org/extension/4452/rog-asus-manager/", "shell_version_map": {"38": {"version": "4", "sha256": "194k3qzjd05rki20ww0nv8001aiyp4ih9abv82g64058x8rmnff5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFzdXMgUk9HIG1hbmFnZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyb2ctbWFuYWdlciIsCiAgIm5hbWUiOiAiUm9nIEFzdXMgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yb2dtYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlamFuZHJvLW1vdXJhcy9yb2ctbWFuYWdlciIsCiAgInV1aWQiOiAicm9nLW1hbmFnZXJAcm9nIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "titlebar-screenshot@jmaargh.github.com", "name": "Titlebar Screenshot", "pname": "titlebar-screenshot", "description": "Take screenshots by right-clicking on window titlebars.\n\nVarious configuration options include screenshots can be taken to the clipboard, to a file, or by opening the interactive tool.\n\nAll feedback and bug reports to Issues on the github page.", "link": "https://extensions.gnome.org/extension/4458/titlebar-screenshot/", "shell_version_map": {"38": {"version": "3", "sha256": "1vhphrjq2vyzlknfl3i7f8i3v9f8jcrpwiz26sigklmv3bmzb059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2Ugc2NyZWVuc2hvdHMgYnkgcmlnaHQtY2xpY2tpbmcgb24gd2luZG93IHRpdGxlYmFycy5cblxuVmFyaW91cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkZSBzY3JlZW5zaG90cyBjYW4gYmUgdGFrZW4gdG8gdGhlIGNsaXBib2FyZCwgdG8gYSBmaWxlLCBvciBieSBvcGVuaW5nIHRoZSBpbnRlcmFjdGl2ZSB0b29sLlxuXG5BbGwgZmVlZGJhY2sgYW5kIGJ1ZyByZXBvcnRzIHRvIElzc3VlcyBvbiB0aGUgZ2l0aHViIHBhZ2UuIiwKICAibmFtZSI6ICJUaXRsZWJhciBTY3JlZW5zaG90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpdGxlYmFyLXNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1hYXJnaC90aXRsZWJhci1zY3JlZW5zaG90LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGl0bGViYXItc2NyZWVuc2hvdEBqbWFhcmdoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vhphrjq2vyzlknfl3i7f8i3v9f8jcrpwiz26sigklmv3bmzb059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2Ugc2NyZWVuc2hvdHMgYnkgcmlnaHQtY2xpY2tpbmcgb24gd2luZG93IHRpdGxlYmFycy5cblxuVmFyaW91cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkZSBzY3JlZW5zaG90cyBjYW4gYmUgdGFrZW4gdG8gdGhlIGNsaXBib2FyZCwgdG8gYSBmaWxlLCBvciBieSBvcGVuaW5nIHRoZSBpbnRlcmFjdGl2ZSB0b29sLlxuXG5BbGwgZmVlZGJhY2sgYW5kIGJ1ZyByZXBvcnRzIHRvIElzc3VlcyBvbiB0aGUgZ2l0aHViIHBhZ2UuIiwKICAibmFtZSI6ICJUaXRsZWJhciBTY3JlZW5zaG90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpdGxlYmFyLXNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1hYXJnaC90aXRsZWJhci1zY3JlZW5zaG90LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGl0bGViYXItc2NyZWVuc2hvdEBqbWFhcmdoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "expandable-notifications@kaan.g.inam.org", "name": "Expandable Notifications", "pname": "expandable-notifications", "description": "Makes the notifications in the notification list expandable. Using gsettings, you can choose between three modes: AUTO, ARROW and CRITICAL.\n\nAUTO will expand the notifications in the notification list automatically. \nARROW adds an arrow that lets you choose what to expand or unexpand. \nCRITICAL is similar to arrow, but expands notifications with the urgency critical automatically. \n\nFor more information and an example command to change the mode, I recommend to look at the repository.\"\n\nThe old repository has been deleted, however I reposted the extension on GitHub.", "link": "https://extensions.gnome.org/extension/4463/expandable-notifications/", "shell_version_map": {"40": {"version": "8", "sha256": "04i0hxsv41wfxg8z590mgn2klma47mgcz7qr52ca2llpd4dkrjj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC5cblxuQVVUTyB3aWxsIGV4cGFuZCB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbm90aWZpY2F0aW9uIGxpc3QgYXV0b21hdGljYWxseS4gXG5BUlJPVyBhZGRzIGFuIGFycm93IHRoYXQgbGV0cyB5b3UgY2hvb3NlIHdoYXQgdG8gZXhwYW5kIG9yIHVuZXhwYW5kLiBcbkNSSVRJQ0FMIGlzIHNpbWlsYXIgdG8gYXJyb3csIGJ1dCBleHBhbmRzIG5vdGlmaWNhdGlvbnMgd2l0aCB0aGUgdXJnZW5jeSBjcml0aWNhbCBhdXRvbWF0aWNhbGx5LiBcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGFuIGV4YW1wbGUgY29tbWFuZCB0byBjaGFuZ2UgdGhlIG1vZGUsIEkgcmVjb21tZW5kIHRvIGxvb2sgYXQgdGhlIHJlcG9zaXRvcnkuXCJcblxuVGhlIG9sZCByZXBvc2l0b3J5IGhhcyBiZWVuIGRlbGV0ZWQsIGhvd2V2ZXIgSSByZXBvc3RlZCB0aGUgZXh0ZW5zaW9uIG9uIEdpdEh1Yi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thYW5naW5hbS9leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImV4cGFuZGFibGUtbm90aWZpY2F0aW9uc0BrYWFuLmcuaW5hbS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "04i0hxsv41wfxg8z590mgn2klma47mgcz7qr52ca2llpd4dkrjj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC5cblxuQVVUTyB3aWxsIGV4cGFuZCB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbm90aWZpY2F0aW9uIGxpc3QgYXV0b21hdGljYWxseS4gXG5BUlJPVyBhZGRzIGFuIGFycm93IHRoYXQgbGV0cyB5b3UgY2hvb3NlIHdoYXQgdG8gZXhwYW5kIG9yIHVuZXhwYW5kLiBcbkNSSVRJQ0FMIGlzIHNpbWlsYXIgdG8gYXJyb3csIGJ1dCBleHBhbmRzIG5vdGlmaWNhdGlvbnMgd2l0aCB0aGUgdXJnZW5jeSBjcml0aWNhbCBhdXRvbWF0aWNhbGx5LiBcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGFuIGV4YW1wbGUgY29tbWFuZCB0byBjaGFuZ2UgdGhlIG1vZGUsIEkgcmVjb21tZW5kIHRvIGxvb2sgYXQgdGhlIHJlcG9zaXRvcnkuXCJcblxuVGhlIG9sZCByZXBvc2l0b3J5IGhhcyBiZWVuIGRlbGV0ZWQsIGhvd2V2ZXIgSSByZXBvc3RlZCB0aGUgZXh0ZW5zaW9uIG9uIEdpdEh1Yi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thYW5naW5hbS9leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImV4cGFuZGFibGUtbm90aWZpY2F0aW9uc0BrYWFuLmcuaW5hbS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "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. \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.", "link": "https://extensions.gnome.org/extension/4463/expandable-notifications/", "shell_version_map": {"40": {"version": "10", "sha256": "0ry4nd0mb9qyfx3m7n14byhv9v2zzg66gg19zgsl5hpbai60cnzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC4gXG5BVVRPIHdpbGwgZXhwYW5kIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBhdXRvbWF0aWNhbGx5LiBcbkFSUk9XIGFkZHMgYW4gYXJyb3cgdGhhdCBsZXRzIHlvdSBjaG9vc2Ugd2hhdCB0byBleHBhbmQgb3IgdW5leHBhbmQuIFxuQ1JJVElDQUwgaXMgc2ltaWxhciB0byBhcnJvdywgYnV0IGV4cGFuZHMgbm90aWZpY2F0aW9ucyB3aXRoIHRoZSB1cmdlbmN5IGNyaXRpY2FsIGF1dG9tYXRpY2FsbHkuIFxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYW4gZXhhbXBsZSBjb21tYW5kIHRvIGNoYW5nZSB0aGUgbW9kZSwgSSByZWNvbW1lbmQgdG8gbG9vayBhdCB0aGUgcmVwb3NpdG9yeS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWFuZ2luYW0vZXhwYW5kYWJsZS1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnNAa2Fhbi5nLmluYW0ub3JnIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0ry4nd0mb9qyfx3m7n14byhv9v2zzg66gg19zgsl5hpbai60cnzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC4gXG5BVVRPIHdpbGwgZXhwYW5kIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBhdXRvbWF0aWNhbGx5LiBcbkFSUk9XIGFkZHMgYW4gYXJyb3cgdGhhdCBsZXRzIHlvdSBjaG9vc2Ugd2hhdCB0byBleHBhbmQgb3IgdW5leHBhbmQuIFxuQ1JJVElDQUwgaXMgc2ltaWxhciB0byBhcnJvdywgYnV0IGV4cGFuZHMgbm90aWZpY2F0aW9ucyB3aXRoIHRoZSB1cmdlbmN5IGNyaXRpY2FsIGF1dG9tYXRpY2FsbHkuIFxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYW4gZXhhbXBsZSBjb21tYW5kIHRvIGNoYW5nZSB0aGUgbW9kZSwgSSByZWNvbW1lbmQgdG8gbG9vayBhdCB0aGUgcmVwb3NpdG9yeS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWFuZ2luYW0vZXhwYW5kYWJsZS1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnNAa2Fhbi5nLmluYW0ub3JnIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0ry4nd0mb9qyfx3m7n14byhv9v2zzg66gg19zgsl5hpbai60cnzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC4gXG5BVVRPIHdpbGwgZXhwYW5kIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBhdXRvbWF0aWNhbGx5LiBcbkFSUk9XIGFkZHMgYW4gYXJyb3cgdGhhdCBsZXRzIHlvdSBjaG9vc2Ugd2hhdCB0byBleHBhbmQgb3IgdW5leHBhbmQuIFxuQ1JJVElDQUwgaXMgc2ltaWxhciB0byBhcnJvdywgYnV0IGV4cGFuZHMgbm90aWZpY2F0aW9ucyB3aXRoIHRoZSB1cmdlbmN5IGNyaXRpY2FsIGF1dG9tYXRpY2FsbHkuIFxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgYW4gZXhhbXBsZSBjb21tYW5kIHRvIGNoYW5nZSB0aGUgbW9kZSwgSSByZWNvbW1lbmQgdG8gbG9vayBhdCB0aGUgcmVwb3NpdG9yeS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rYWFuZ2luYW0vZXhwYW5kYWJsZS1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnNAa2Fhbi5nLmluYW0ub3JnIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "orange-share@Yannis4444.github.com", "name": "Orange Share", "pname": "orange-share", "description": "A small python server that accepts requests from an apple shortcut to allow sharing all sorts of media from iOS. It allows sending content right from the share sheet - similar to AirDrop between Apple Devices", "link": "https://extensions.gnome.org/extension/4469/orange-share/", "shell_version_map": {"40": {"version": "7", "sha256": "14xc3j2k6fjh0nif22j3q0xk52ba2qpj96rq80g6cv3cyy8ihi2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgcHl0aG9uIHNlcnZlciB0aGF0IGFjY2VwdHMgcmVxdWVzdHMgZnJvbSBhbiBhcHBsZSBzaG9ydGN1dCB0byBhbGxvdyBzaGFyaW5nIGFsbCBzb3J0cyBvZiBtZWRpYSBmcm9tIGlPUy4gSXQgYWxsb3dzIHNlbmRpbmcgY29udGVudCByaWdodCBmcm9tIHRoZSBzaGFyZSBzaGVldCAtIHNpbWlsYXIgdG8gQWlyRHJvcCBiZXR3ZWVuIEFwcGxlIERldmljZXMiLAogICJuYW1lIjogIk9yYW5nZSBTaGFyZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ZYW5uaXM0NDQ0L09yYW5nZS1TaGFyZS8iLAogICJ1dWlkIjogIm9yYW5nZS1zaGFyZUBZYW5uaXM0NDQ0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "mediacontrols@cliffniff.github.com", "name": "Media Controls", "pname": "media-controls", "description": "Show controls and information of the currently playing media in the panel.\n\n    - Highly customizable\n    - Support GNOME 3.36(beta) , 3.38, 40, 41\n    - Caches album art\n    - Control every element in the extension", "link": "https://extensions.gnome.org/extension/4470/media-controls/", "shell_version_map": {"38": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
-, {"uuid": "sp-tray@sp-tray.esenliyim.github.com", "name": "spotify-tray", "pname": "spotify-tray", "description": "Adds a button to the panel that shows currently playing song on Spotify", "link": "https://extensions.gnome.org/extension/4472/spotify-tray/", "shell_version_map": {"38": {"version": "12", "sha256": "1z1f96x3snwibx088v1p8q5fch03gbp0sqy9izfabak4l07x2i9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5IiwKICAibmFtZSI6ICJzcG90aWZ5LXRyYXkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3AtdHJheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "40": {"version": "12", "sha256": "1z1f96x3snwibx088v1p8q5fch03gbp0sqy9izfabak4l07x2i9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5IiwKICAibmFtZSI6ICJzcG90aWZ5LXRyYXkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3AtdHJheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "41": {"version": "12", "sha256": "1z1f96x3snwibx088v1p8q5fch03gbp0sqy9izfabak4l07x2i9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5IiwKICAibmFtZSI6ICJzcG90aWZ5LXRyYXkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3AtdHJheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}, "42": {"version": "12", "sha256": "1z1f96x3snwibx088v1p8q5fch03gbp0sqy9izfabak4l07x2i9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5IiwKICAibmFtZSI6ICJzcG90aWZ5LXRyYXkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3AtdHJheSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTIKfQ=="}}}
+, {"uuid": "sp-tray@sp-tray.esenliyim.github.com", "name": "spotify-tray", "pname": "spotify-tray", "description": "Adds a button to the panel that shows currently playing track on Spotify", "link": "https://extensions.gnome.org/extension/4472/spotify-tray/", "shell_version_map": {"38": {"version": "13", "sha256": "0jrkc3xm0rm92ki9yxyql8l8ivrk36xq3z5a3516kip9rgi4yv5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgdHJhY2sgb24gU3BvdGlmeSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0jrkc3xm0rm92ki9yxyql8l8ivrk36xq3z5a3516kip9rgi4yv5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgdHJhY2sgb24gU3BvdGlmeSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0jrkc3xm0rm92ki9yxyql8l8ivrk36xq3z5a3516kip9rgi4yv5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgdHJhY2sgb24gU3BvdGlmeSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}, "42": {"version": "13", "sha256": "0jrkc3xm0rm92ki9yxyql8l8ivrk36xq3z5a3516kip9rgi4yv5r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBidXR0b24gdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgdHJhY2sgb24gU3BvdGlmeSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"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": "44", "sha256": "138nmvjlpc2gszbnav5kp649mhhp7fhk9c4y9jqlsc7rzjcy7kzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "44", "sha256": "138nmvjlpc2gszbnav5kp649mhhp7fhk9c4y9jqlsc7rzjcy7kzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}}}
+, {"uuid": "forge@jmmaranan.com", "name": "Forge", "pname": "forge", "description": "Tiling and window manager for GNOME\n\nCHANGES\n\n - GNOME 42 Update\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": "1lyig9rzygd45mxkrlir7nqnjlvw5kimshq50jzrvj3rh0vhq9zg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbkNIQU5HRVNcblxuIC0gR05PTUUgNDIgVXBkYXRlXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}, "40": {"version": "46", "sha256": "1j2sdffxg1097arvy3q2m3q1w8gxjayx7d87cdm44q35pig9xk5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbkNIQU5HRVNcblxuIC0gR05PTUUgNDIgVXBkYXRlXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "41": {"version": "46", "sha256": "1j2sdffxg1097arvy3q2m3q1w8gxjayx7d87cdm44q35pig9xk5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbkNIQU5HRVNcblxuIC0gR05PTUUgNDIgVXBkYXRlXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "42": {"version": "46", "sha256": "1j2sdffxg1097arvy3q2m3q1w8gxjayx7d87cdm44q35pig9xk5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbkNIQU5HRVNcblxuIC0gR05PTUUgNDIgVXBkYXRlXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
 , {"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": "2", "sha256": "0cbz05qmn0i7c3591c5h5znq4fp90xc9dz1jdaj213pybynqdphl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgZmF2b3VyaXRlIGFwcGxpY2F0aW9ucyBpbiBBcHBHcmlkIiwKICAibmFtZSI6ICJGYXZvdXJpdGVzIGluIEFwcEdyaWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9oYXJzaGFkZ2F2YWxpL2Zhdm91cml0ZXMtaW4tYXBwZ3JpZC8iLAogICJ1dWlkIjogImZhdm91cml0ZXMtaW4tYXBwZ3JpZEBoYXJzaGFkZ2F2YWxpLmdpdGxhYi5vcmciLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0cbz05qmn0i7c3591c5h5znq4fp90xc9dz1jdaj213pybynqdphl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgZmF2b3VyaXRlIGFwcGxpY2F0aW9ucyBpbiBBcHBHcmlkIiwKICAibmFtZSI6ICJGYXZvdXJpdGVzIGluIEFwcEdyaWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9oYXJzaGFkZ2F2YWxpL2Zhdm91cml0ZXMtaW4tYXBwZ3JpZC8iLAogICJ1dWlkIjogImZhdm91cml0ZXMtaW4tYXBwZ3JpZEBoYXJzaGFkZ2F2YWxpLmdpdGxhYi5vcmciLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "0cbz05qmn0i7c3591c5h5znq4fp90xc9dz1jdaj213pybynqdphl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgZmF2b3VyaXRlIGFwcGxpY2F0aW9ucyBpbiBBcHBHcmlkIiwKICAibmFtZSI6ICJGYXZvdXJpdGVzIGluIEFwcEdyaWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9oYXJzaGFkZ2F2YWxpL2Zhdm91cml0ZXMtaW4tYXBwZ3JpZC8iLAogICJ1dWlkIjogImZhdm91cml0ZXMtaW4tYXBwZ3JpZEBoYXJzaGFkZ2F2YWxpLmdpdGxhYi5vcmciLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"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": "6", "sha256": "1j5pbkxqiqi6nnm1q0ygq9cw9qbrrpsykbrd9zami230wqz6adhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBkYXJrIHdpbmRvdyBkZWNvcmF0aW9ucyBvbiBhcHBsaWNhdGlvbnMuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXBwbGljYXRpb25zIHRoYXQgdXNlIENsaWVudCBTaWRlIERlY29yYXRpb25zIChDU0QpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgeDExLXV0aWxzXG4tIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIGFwcGxpY2F0aW9ucy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXJrLXZhcmlhbnQiLAogICJuYW1lIjogIkRhcmsgVmFyaWFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXJrLXZhcmlhbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvZGFyay12YXJpYW50IiwKICAidXVpZCI6ICJkYXJrLXZhcmlhbnRAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "1j5pbkxqiqi6nnm1q0ygq9cw9qbrrpsykbrd9zami230wqz6adhy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBkYXJrIHdpbmRvdyBkZWNvcmF0aW9ucyBvbiBhcHBsaWNhdGlvbnMuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXBwbGljYXRpb25zIHRoYXQgdXNlIENsaWVudCBTaWRlIERlY29yYXRpb25zIChDU0QpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgeDExLXV0aWxzXG4tIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIGFwcGxpY2F0aW9ucy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXJrLXZhcmlhbnQiLAogICJuYW1lIjogIkRhcmsgVmFyaWFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXJrLXZhcmlhbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJkcGl4ZWwvZGFyay12YXJpYW50IiwKICAidXVpZCI6ICJkYXJrLXZhcmlhbnRAaGFyZHBpeGVsLmV1IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "7", "sha256": "1mjw1ifws6a8dw2aifxhnmljg9wqb1kxz21cr61qnrhxphxmgv1k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBkYXJrIHdpbmRvdyBkZWNvcmF0aW9ucyBvbiBhcHBsaWNhdGlvbnMuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXBwbGljYXRpb25zIHRoYXQgdXNlIENsaWVudCBTaWRlIERlY29yYXRpb25zIChDU0QpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgeDExLXV0aWxzXG4tIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIGFwcGxpY2F0aW9ucy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXJrLXZhcmlhbnQiLAogICJuYW1lIjogIkRhcmsgVmFyaWFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXJrLXZhcmlhbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL2RhcmstdmFyaWFudCIsCiAgInV1aWQiOiAiZGFyay12YXJpYW50QGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
@@ -583,16 +583,16 @@
 , {"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="}, "42": {"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.\nFor best experience, please use monospaced font.\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": "8", "sha256": "1689c1mgkr9jqifka701k66138ckaw7mh1bcfha06rwzdqv0vxw3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuRm9yIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQuXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ0NzgvbmV0LXNwZWVkLy4iLAogICJuYW1lIjogIlNpbXBsZSBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1689c1mgkr9jqifka701k66138ckaw7mh1bcfha06rwzdqv0vxw3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuRm9yIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQuXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ0NzgvbmV0LXNwZWVkLy4iLAogICJuYW1lIjogIlNpbXBsZSBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "1689c1mgkr9jqifka701k66138ckaw7mh1bcfha06rwzdqv0vxw3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuRm9yIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQuXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ0NzgvbmV0LXNwZWVkLy4iLAogICJuYW1lIjogIlNpbXBsZSBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "1689c1mgkr9jqifka701k66138ckaw7mh1bcfha06rwzdqv0vxw3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBDUFUgdXNhZ2UsIG1lbW9yeSB1c2FnZSBhbmQgbmV0IHNwZWVkIG9uIHBhbmVsLlxuRm9yIGJlc3QgZXhwZXJpZW5jZSwgcGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQuXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ0NzgvbmV0LXNwZWVkLy4iLAogICJuYW1lIjogIlNpbXBsZSBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xHaWtpL2dub21lLXNoZWxsLWV4dGVuc2lvbi1zaW1wbGUtc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogInNzbS1nbm9tZUBsZ2lraS5uZXQiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"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": "15", "sha256": "118paqkwsy930bcxzx4sp3f4xg06rl9jwqbwchfq0i19qk8gw620", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaXBsYWItRHV0dGEvTmVwYWxpX0RhdGUiLAogICJ1dWlkIjogIm5lcGFsaS1kYXRlQGJpcGxhYiIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "118paqkwsy930bcxzx4sp3f4xg06rl9jwqbwchfq0i19qk8gw620", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaXBsYWItRHV0dGEvTmVwYWxpX0RhdGUiLAogICJ1dWlkIjogIm5lcGFsaS1kYXRlQGJpcGxhYiIsCiAgInZlcnNpb24iOiAxNQp9"}}}
-, {"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=="}}}
+, {"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": "16", "sha256": "15dd7sggdbf72ysjglh2bqlhcjcq1irnlwzqhghmn3ydbj4awm8v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlwbGFiLUR1dHRhL05lcGFsaV9EYXRlIiwKICAidXVpZCI6ICJuZXBhbGktZGF0ZUBiaXBsYWIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "15dd7sggdbf72ysjglh2bqlhcjcq1irnlwzqhghmn3ydbj4awm8v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlwbGFiLUR1dHRhL05lcGFsaV9EYXRlIiwKICAidXVpZCI6ICJuZXBhbGktZGF0ZUBiaXBsYWIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "15dd7sggdbf72ysjglh2bqlhcjcq1irnlwzqhghmn3ydbj4awm8v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG5lcGFsaSBkYXRlIG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIk5lcGFsaSBEYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmlwbGFiLUR1dHRhL05lcGFsaV9EYXRlIiwKICAidXVpZCI6ICJuZXBhbGktZGF0ZUBiaXBsYWIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"uuid": "clock-left@mapuut", "name": "Clock Left", "pname": "clock-left", "description": "Moves clock to left.\n\nAlso this one might suit you better: extensions.gnome.org/extension/4667/left-clock/", "link": "https://extensions.gnome.org/extension/4526/clock-left/", "shell_version_map": {"38": {"version": "4", "sha256": "0hvr7nmbrn7nqn3nk9p1a659yhkgja3gy9kbw18yykyqf0lbssqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIGNsb2NrIHRvIGxlZnQuXG5cbkFsc28gdGhpcyBvbmUgbWlnaHQgc3VpdCB5b3UgYmV0dGVyOiBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDY2Ny9sZWZ0LWNsb2NrLyIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjbG9jay1sZWZ0QG1hcHV1dCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "0hvr7nmbrn7nqn3nk9p1a659yhkgja3gy9kbw18yykyqf0lbssqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIGNsb2NrIHRvIGxlZnQuXG5cbkFsc28gdGhpcyBvbmUgbWlnaHQgc3VpdCB5b3UgYmV0dGVyOiBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDY2Ny9sZWZ0LWNsb2NrLyIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjbG9jay1sZWZ0QG1hcHV1dCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "0hvr7nmbrn7nqn3nk9p1a659yhkgja3gy9kbw18yykyqf0lbssqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIGNsb2NrIHRvIGxlZnQuXG5cbkFsc28gdGhpcyBvbmUgbWlnaHQgc3VpdCB5b3UgYmV0dGVyOiBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDY2Ny9sZWZ0LWNsb2NrLyIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjbG9jay1sZWZ0QG1hcHV1dCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "0hvr7nmbrn7nqn3nk9p1a659yhkgja3gy9kbw18yykyqf0lbssqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIGNsb2NrIHRvIGxlZnQuXG5cbkFsc28gdGhpcyBvbmUgbWlnaHQgc3VpdCB5b3UgYmV0dGVyOiBleHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDY2Ny9sZWZ0LWNsb2NrLyIsCiAgIm5hbWUiOiAiQ2xvY2sgTGVmdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjbG9jay1sZWZ0QG1hcHV1dCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "cpudots@kdevmen.gmail.com", "name": "CPUdots", "pname": "cpudots", "description": "A basic cpu graph inspired from xfce4 cpu freq monitor plugin. it's incomplete right now... I'll update as soon as I get some time off my job.", "link": "https://extensions.gnome.org/extension/4530/cpudots/", "shell_version_map": {"40": {"version": "5", "sha256": "0v7ps7d5kkh6rll85qbx6nijy59h82qv9dwca4k4f2x3b8z9gz0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmFzaWMgY3B1IGdyYXBoIGluc3BpcmVkIGZyb20geGZjZTQgY3B1IGZyZXEgbW9uaXRvciBwbHVnaW4uIGl0J3MgaW5jb21wbGV0ZSByaWdodCBub3cuLi4gSSdsbCB1cGRhdGUgYXMgc29vbiBhcyBJIGdldCBzb21lIHRpbWUgb2ZmIG15IGpvYi4iLAogICJuYW1lIjogIkNQVWRvdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNwdWRvdHNAa2Rldm1lbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0v7ps7d5kkh6rll85qbx6nijy59h82qv9dwca4k4f2x3b8z9gz0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmFzaWMgY3B1IGdyYXBoIGluc3BpcmVkIGZyb20geGZjZTQgY3B1IGZyZXEgbW9uaXRvciBwbHVnaW4uIGl0J3MgaW5jb21wbGV0ZSByaWdodCBub3cuLi4gSSdsbCB1cGRhdGUgYXMgc29vbiBhcyBJIGdldCBzb21lIHRpbWUgb2ZmIG15IGpvYi4iLAogICJuYW1lIjogIkNQVWRvdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNwdWRvdHNAa2Rldm1lbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "42": {"version": "5", "sha256": "0v7ps7d5kkh6rll85qbx6nijy59h82qv9dwca4k4f2x3b8z9gz0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmFzaWMgY3B1IGdyYXBoIGluc3BpcmVkIGZyb20geGZjZTQgY3B1IGZyZXEgbW9uaXRvciBwbHVnaW4uIGl0J3MgaW5jb21wbGV0ZSByaWdodCBub3cuLi4gSSdsbCB1cGRhdGUgYXMgc29vbiBhcyBJIGdldCBzb21lIHRpbWUgb2ZmIG15IGpvYi4iLAogICJuYW1lIjogIkNQVWRvdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAiY29tLmdpdGh1Yi5hbWV6aW4uZGR0ZXJtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImNwdWRvdHNAa2Rldm1lbi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "taildropsendxuwuming2014@outlook.com", "name": "TailDrop Send", "pname": "taildrop-send", "description": "Send files via tailscale", "link": "https://extensions.gnome.org/extension/4533/taildrop-send/", "shell_version_map": {"40": {"version": "4", "sha256": "1w2nydglm2n0kyzwd4rh5q0x8h2d1ycy4ygxj00qfpxxnw477xda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbmQgZmlsZXMgdmlhIHRhaWxzY2FsZSIsCiAgImdldHRleHQtZG9tYWluIjogInRhaWxkcm9wLXNlbmQtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJUYWlsRHJvcCBTZW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhaWxkcm9wc2VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnIyMzMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhaWxkcm9wc2VuZCIsCiAgInV1aWQiOiAidGFpbGRyb3BzZW5keHV3dW1pbmcyMDE0QG91dGxvb2suY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1w2nydglm2n0kyzwd4rh5q0x8h2d1ycy4ygxj00qfpxxnw477xda", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlbmQgZmlsZXMgdmlhIHRhaWxzY2FsZSIsCiAgImdldHRleHQtZG9tYWluIjogInRhaWxkcm9wLXNlbmQtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJUYWlsRHJvcCBTZW5kIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhaWxkcm9wc2VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnIyMzMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRhaWxkcm9wc2VuZCIsCiAgInV1aWQiOiAidGFpbGRyb3BzZW5keHV3dW1pbmcyMDE0QG91dGxvb2suY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"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": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1mxzrj5a9zdnkb2hvlmqnwnshnnyw43al59x466jp2pa7si6qy17", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vdDE4NDI1Ni9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXV0b2hpZGUtdm9sdW1lIiwKICAidXVpZCI6ICJhdXRvaGlkZS12b2x1bWVAdW5ib2lsZWQuaW5mbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"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": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "03n0xyadr41s4izrckljrw04nv23izshlga8h8as9kkxcpq6msc3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNwp9"}}}
-, {"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": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "42": {"version": "19", "sha256": "1j1ccn04znxpgbmyn9xbh18hjvnhf95lv71sfx5m4rb5wsp1zn2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
-, {"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": "cloudflare@adam.gadmz", "name": "Cloudflare", "pname": "cloudflare", "description": "Warp Connect", "link": "https://extensions.gnome.org/extension/4542/cloudflare/", "shell_version_map": {"38": {"version": "10", "sha256": "0lr2g0hmaw7v4h538rg3mxmnds8nnmbs0h0k816s4dkwmx45pyb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kdW9uZ2dpYWtoYW5oYi9DbG91ZGZsYXJlX0dOT01FX0V4dGVuc2lvbiIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZUBhZGFtLmdhZG16IiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0lr2g0hmaw7v4h538rg3mxmnds8nnmbs0h0k816s4dkwmx45pyb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kdW9uZ2dpYWtoYW5oYi9DbG91ZGZsYXJlX0dOT01FX0V4dGVuc2lvbiIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZUBhZGFtLmdhZG16IiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0lr2g0hmaw7v4h538rg3mxmnds8nnmbs0h0k816s4dkwmx45pyb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kdW9uZ2dpYWtoYW5oYi9DbG91ZGZsYXJlX0dOT01FX0V4dGVuc2lvbiIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZUBhZGFtLmdhZG16IiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "0lr2g0hmaw7v4h538rg3mxmnds8nnmbs0h0k816s4dkwmx45pyb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kdW9uZ2dpYWtoYW5oYi9DbG91ZGZsYXJlX0dOT01FX0V4dGVuc2lvbiIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZUBhZGFtLmdhZG16IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"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": "8", "sha256": "1v0k79pvzsh57zdys41lrp9vy5n6fcq0vfnliavqizc2rhnf9xdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZzaW1rdXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgInV1aWQiOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51QHZzaW1rdXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1v0k79pvzsh57zdys41lrp9vy5n6fcq0vfnliavqizc2rhnf9xdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZzaW1rdXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgInV1aWQiOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51QHZzaW1rdXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "1v0k79pvzsh57zdys41lrp9vy5n6fcq0vfnliavqizc2rhnf9xdn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZzaW1rdXMvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgInV1aWQiOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51QHZzaW1rdXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"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": "20", "sha256": "05z28pam3jmy0xisyr74lhss7xskz8pxrvyj6ayc98awagwdkjcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "40": {"version": "20", "sha256": "05z28pam3jmy0xisyr74lhss7xskz8pxrvyj6ayc98awagwdkjcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "05z28pam3jmy0xisyr74lhss7xskz8pxrvyj6ayc98awagwdkjcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "42": {"version": "20", "sha256": "05z28pam3jmy0xisyr74lhss7xskz8pxrvyj6ayc98awagwdkjcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9sdW5kYWwvdGFjdGlsZSIsCiAgInV1aWQiOiAidGFjdGlsZUBsdW5kYWwuaW8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"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": "5", "sha256": "1d768xi63z8917p0m67wdy5vmv514yq6p3m84qyzk5lv084h5x0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvS2lsbGFwcF9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImtpbGxhcHBAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1d768xi63z8917p0m67wdy5vmv514yq6p3m84qyzk5lv084h5x0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvS2lsbGFwcF9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImtpbGxhcHBAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1d768xi63z8917p0m67wdy5vmv514yq6p3m84qyzk5lv084h5x0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvS2lsbGFwcF9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImtpbGxhcHBAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "1d768xi63z8917p0m67wdy5vmv514yq6p3m84qyzk5lv084h5x0y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvS2lsbGFwcF9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImtpbGxhcHBAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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": "5", "sha256": "1nygr81qcg62imd28cb360l1n49b2q64c3az9w6n46zx04bk1y0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL21pcG1pcC5naXRodWIuaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1ob3RrZXlzLXBvcHVwLyIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1nygr81qcg62imd28cb360l1n49b2q64c3az9w6n46zx04bk1y0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL21pcG1pcC5naXRodWIuaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1ob3RrZXlzLXBvcHVwLyIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"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="}}}
 , {"uuid": "quick-lang-switch@ankostis.gmail.com", "name": "Quick Lang Switch", "pname": "quick-lang-switch", "description": "Quickly switch keyboard language layout without showing the switcher popup.\n\nThe language switcher popup by default takes ~0.7sec to appear, meaning that roughly 2-4 strokes are lost till the switch completes. This affects heavily users typing languages with non-latin based alphabets (e.g. Greek, Cyrilic, Arabic, Japanese), particularly when writting technical documents.\nThis extension reduces the switching time to 1/10th of a second (on a 2019 PC).", "link": "https://extensions.gnome.org/extension/4559/quick-lang-switch/", "shell_version_map": {"38": {"version": "4", "sha256": "111kpn5h913074icx2b915v2myz42j78y97y1j5003xzh5yhmzwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc3dpdGNoIGtleWJvYXJkIGxhbmd1YWdlIGxheW91dCB3aXRob3V0IHNob3dpbmcgdGhlIHN3aXRjaGVyIHBvcHVwLlxuXG5UaGUgbGFuZ3VhZ2Ugc3dpdGNoZXIgcG9wdXAgYnkgZGVmYXVsdCB0YWtlcyB+MC43c2VjIHRvIGFwcGVhciwgbWVhbmluZyB0aGF0IHJvdWdobHkgMi00IHN0cm9rZXMgYXJlIGxvc3QgdGlsbCB0aGUgc3dpdGNoIGNvbXBsZXRlcy4gVGhpcyBhZmZlY3RzIGhlYXZpbHkgdXNlcnMgdHlwaW5nIGxhbmd1YWdlcyB3aXRoIG5vbi1sYXRpbiBiYXNlZCBhbHBoYWJldHMgKGUuZy4gR3JlZWssIEN5cmlsaWMsIEFyYWJpYywgSmFwYW5lc2UpLCBwYXJ0aWN1bGFybHkgd2hlbiB3cml0dGluZyB0ZWNobmljYWwgZG9jdW1lbnRzLlxuVGhpcyBleHRlbnNpb24gcmVkdWNlcyB0aGUgc3dpdGNoaW5nIHRpbWUgdG8gMS8xMHRoIG9mIGEgc2Vjb25kIChvbiBhIDIwMTkgUEMpLiIsCiAgIm5hbWUiOiAiUXVpY2sgTGFuZyBTd2l0Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Fua29zdGlzL2dub21lLXNoZWxsLXF1aWNrLWxhbmctc3dpdGNoIiwKICAidXVpZCI6ICJxdWljay1sYW5nLXN3aXRjaEBhbmtvc3Rpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "111kpn5h913074icx2b915v2myz42j78y97y1j5003xzh5yhmzwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc3dpdGNoIGtleWJvYXJkIGxhbmd1YWdlIGxheW91dCB3aXRob3V0IHNob3dpbmcgdGhlIHN3aXRjaGVyIHBvcHVwLlxuXG5UaGUgbGFuZ3VhZ2Ugc3dpdGNoZXIgcG9wdXAgYnkgZGVmYXVsdCB0YWtlcyB+MC43c2VjIHRvIGFwcGVhciwgbWVhbmluZyB0aGF0IHJvdWdobHkgMi00IHN0cm9rZXMgYXJlIGxvc3QgdGlsbCB0aGUgc3dpdGNoIGNvbXBsZXRlcy4gVGhpcyBhZmZlY3RzIGhlYXZpbHkgdXNlcnMgdHlwaW5nIGxhbmd1YWdlcyB3aXRoIG5vbi1sYXRpbiBiYXNlZCBhbHBoYWJldHMgKGUuZy4gR3JlZWssIEN5cmlsaWMsIEFyYWJpYywgSmFwYW5lc2UpLCBwYXJ0aWN1bGFybHkgd2hlbiB3cml0dGluZyB0ZWNobmljYWwgZG9jdW1lbnRzLlxuVGhpcyBleHRlbnNpb24gcmVkdWNlcyB0aGUgc3dpdGNoaW5nIHRpbWUgdG8gMS8xMHRoIG9mIGEgc2Vjb25kIChvbiBhIDIwMTkgUEMpLiIsCiAgIm5hbWUiOiAiUXVpY2sgTGFuZyBTd2l0Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Fua29zdGlzL2dub21lLXNoZWxsLXF1aWNrLWxhbmctc3dpdGNoIiwKICAidXVpZCI6ICJxdWljay1sYW5nLXN3aXRjaEBhbmtvc3Rpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "111kpn5h913074icx2b915v2myz42j78y97y1j5003xzh5yhmzwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrbHkgc3dpdGNoIGtleWJvYXJkIGxhbmd1YWdlIGxheW91dCB3aXRob3V0IHNob3dpbmcgdGhlIHN3aXRjaGVyIHBvcHVwLlxuXG5UaGUgbGFuZ3VhZ2Ugc3dpdGNoZXIgcG9wdXAgYnkgZGVmYXVsdCB0YWtlcyB+MC43c2VjIHRvIGFwcGVhciwgbWVhbmluZyB0aGF0IHJvdWdobHkgMi00IHN0cm9rZXMgYXJlIGxvc3QgdGlsbCB0aGUgc3dpdGNoIGNvbXBsZXRlcy4gVGhpcyBhZmZlY3RzIGhlYXZpbHkgdXNlcnMgdHlwaW5nIGxhbmd1YWdlcyB3aXRoIG5vbi1sYXRpbiBiYXNlZCBhbHBoYWJldHMgKGUuZy4gR3JlZWssIEN5cmlsaWMsIEFyYWJpYywgSmFwYW5lc2UpLCBwYXJ0aWN1bGFybHkgd2hlbiB3cml0dGluZyB0ZWNobmljYWwgZG9jdW1lbnRzLlxuVGhpcyBleHRlbnNpb24gcmVkdWNlcyB0aGUgc3dpdGNoaW5nIHRpbWUgdG8gMS8xMHRoIG9mIGEgc2Vjb25kIChvbiBhIDIwMTkgUEMpLiIsCiAgIm5hbWUiOiAiUXVpY2sgTGFuZyBTd2l0Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Fua29zdGlzL2dub21lLXNoZWxsLXF1aWNrLWxhbmctc3dpdGNoIiwKICAidXVpZCI6ICJxdWljay1sYW5nLXN3aXRjaEBhbmtvc3Rpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -609,14 +609,14 @@
 , {"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": "8", "sha256": "02g8mvw503yayabsw3a9fjl23awf8b3bcm1sn4ckb9cdrfirqvlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "02g8mvw503yayabsw3a9fjl23awf8b3bcm1sn4ckb9cdrfirqvlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}, "42": {"version": "8", "sha256": "02g8mvw503yayabsw3a9fjl23awf8b3bcm1sn4ckb9cdrfirqvlm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgYWlycGxhbmUgbW9kZSBzYW5lIGFnYWluISBUaGlzIGV4dGVuc2lvbiBnaXZlcyB5b3UgYmV0dGVyIGNvbnRyb2wgb3ZlciB0aGUgYWlycGxhbmUgbW9kZS4gXG5IaW50OiBXaXRoIHRoaXMgZXh0ZW5zaW9uIHlvdSBjYW4gYWxzbyB0dXJuIG9mZiB0aGUgYW5ub3lpbmcgXCJCbHVldG9vdGggZ2V0cyB0dXJuZWQgb24gd2hlbiBJIGRpc2FibGUgYWlycGxhbmUgbW9kZVwiIGJlaGF2aW91ci4iLAogICJuYW1lIjogIlNhbmUgQWlycGxhbmUgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hLaXBwaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2FuZS1haXJwbGFuZS1tb2RlIiwKICAidXVpZCI6ICJzYW5lLWFpcnBsYW5lLW1vZGVAa2lwcGkiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "undecorate@tabdeveloper.com", "name": "Undecorate Window for Wayland", "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": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "1ikbxwqdc204w6vjn1slbrmqvxmkcbyzgqg35jacv8r1z66n6nwj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdW5kZWNvcmF0ZSBvcHRpb24gdG8gd2luZG93IG1lbnUgdG8gdG9nZ2xlIHdpbmRvdyBkZWNvcmF0aW9uLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi11bmRlY29yYXRlIiwKICAibmFtZSI6ICJVbmRlY29yYXRlIFdpbmRvdyBmb3IgV2F5bGFuZCIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAic3VuLnd4Z0BnbWFpbC5jb20iLAogICAgInRpbUB0YWJkZXZlbG9wZXIuY29tIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bmRlY29yYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdGJyYW55ZW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXVuZGVjb3JhdGUiLAogICJ1dWlkIjogInVuZGVjb3JhdGVAdGFiZGV2ZWxvcGVyLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"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"}}}
+, {"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": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1xljk5qklm8f9k6hx6ax2axp6r6si510706bksrsbzy72i2dp46w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSB0aGUgZmVhdHVyZXMgb2YgdGhlIEFzdXMgWmVuQm9vayBEdW8gaW50byBHTk9NRSIsCiAgIm5hbWUiOiAiQXN1cyBaZW5Cb29rIER1byBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdXJpbm5lZmYvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXplbmJvb2stZHVvIiwKICAidXVpZCI6ICJ6ZW5ib29rLWR1b0BsYXVyaW5uZWZmLmNoIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"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": "2", "sha256": "0njk3f875al8bdziyc6dfz9zw68f0in9ygl74jj7522c16vixbcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImJhdHRlcnl0aHJlc2hvbGRAZnJhbmNrdS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "0njk3f875al8bdziyc6dfz9zw68f0in9ygl74jj7522c16vixbcm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZ25vbWUtc2hlbGwgdGhhdCBsZXQgZWFzaWx5IHNldCBhIHRocmVzaG9sZCB0byBsaW1pdCBiYXR0ZXJ5IGNoYXJnZSBsZXZlbC5cblxuVGhpcyBleHRlbnNpb24gdXNlcyBcInBrZXhlY1wiIHNpbmNlIHN1ZG8gcGVybWlzc2lvbnMgYXJlIG5lZWRlZCB0byBjaGFuZ2UgdGhlIHRocmVzaG9sZCBsZXZlbC5cblxuVGVzdGVkIG9uIEZlZG9yYSBTaWx2ZXJibHVlIDM1IChnbm9tZS1zaGVsbCAzLjQxKSBvbiBhbiBBc3VzIFZpdm9ib29rLlxuXG5HaXRodWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2ZyYW5ja3UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJhdHRlcnktdGhyZXNob2xkIiwKICAibmFtZSI6ICJCYXR0ZXJ5IHRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImJhdHRlcnl0aHJlc2hvbGRAZnJhbmNrdS5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "one-third-window@chmouel.com", "name": "One third window", "pname": "one-third-window", "description": "Center or Cycle the current window by one third of the screen via a keyboard shortcut.", "link": "https://extensions.gnome.org/extension/4615/one-third-window/", "shell_version_map": {"38": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0fisinjf8x31zb71qfs8hqyyls37425456yy0p9mmapzs562pj5w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNlbnRlciBvciBDeWNsZSB0aGUgY3VycmVudCB3aW5kb3cgYnkgb25lIHRoaXJkIG9mIHRoZSBzY3JlZW4gdmlhIGEga2V5Ym9hcmQgc2hvcnRjdXQuIiwKICAibmFtZSI6ICJPbmUgdGhpcmQgd2luZG93IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm9uZXRoaXJkd2luZG93IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2htb3VlbC9vbmUtdGhpcmQtd2luZG93LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAib25lLXRoaXJkLXdpbmRvd0BjaG1vdWVsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"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": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}, "42": {"version": "11", "sha256": "1d9j2acgm5qf5vr3pid2yk52h45yy4bnqx9pw7nk65hmxyswca3y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
+, {"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": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}, "42": {"version": "12", "sha256": "0lzz8850wy0vqxjv8lc792p59r1qpyy39v3iv9zcy95ra2h8mxs3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"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": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0gawpvbybkm4mlvx4h9d2bzqgll6rdgbmd9m1ia90bb2rzplmhii", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZWNkb3RuaW5qYS9uby10aXRsZWJhci13aGVuLW1heGltaXplZCIsCiAgInV1aWQiOiAibm8tdGl0bGViYXItd2hlbi1tYXhpbWl6ZWRAYWxlYy5uaW5qYSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"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": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "42": {"version": "8", "sha256": "1bknqhdr1vjw2v68nmpbvff2k93yd58wa5r17gm6zg6ir9q43crw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"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": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "42": {"version": "9", "sha256": "18gq0ylx5s0y71fr9pd67nd27dzkhgr5ympw39ijh763hnx2nlpw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2QweDJmL0NyeXB0b1dhdGNoIiwKICAidXVpZCI6ICJjcnlwdG93YXRjaEBkMHgyZi5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "mousefollowsfocus@matthes.biz", "name": "Mouse Follows Focus", "pname": "mouse-follows-focus", "description": "Are you a power-user?\nDo you like using Super+1,2,3 to access your favorite apps?\nAre you annoyed that you have to manually move your mouse between screens because it can't keep up with your keyboard shortcuts?\nThen this extension is for you!\n\nThis simple GNOME shell extension does the opposite of the 'focus follows mouse' setting. It makes the mouse follow your keyboard focus. Whenever you focus a window, if the cursor isn't already in it, it will jump to the windows center, making it easy to interact with it.", "link": "https://extensions.gnome.org/extension/4642/mouse-follows-focus/", "shell_version_map": {"41": {"version": "4", "sha256": "1zsy76sab87s74p30sxdp1cki1w956gm0sw27anpx1z6yih50rdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyZSB5b3UgYSBwb3dlci11c2VyP1xuRG8geW91IGxpa2UgdXNpbmcgU3VwZXIrMSwyLDMgdG8gYWNjZXNzIHlvdXIgZmF2b3JpdGUgYXBwcz9cbkFyZSB5b3UgYW5ub3llZCB0aGF0IHlvdSBoYXZlIHRvIG1hbnVhbGx5IG1vdmUgeW91ciBtb3VzZSBiZXR3ZWVuIHNjcmVlbnMgYmVjYXVzZSBpdCBjYW4ndCBrZWVwIHVwIHdpdGggeW91ciBrZXlib2FyZCBzaG9ydGN1dHM/XG5UaGVuIHRoaXMgZXh0ZW5zaW9uIGlzIGZvciB5b3UhXG5cblRoaXMgc2ltcGxlIEdOT01FIHNoZWxsIGV4dGVuc2lvbiBkb2VzIHRoZSBvcHBvc2l0ZSBvZiB0aGUgJ2ZvY3VzIGZvbGxvd3MgbW91c2UnIHNldHRpbmcuIEl0IG1ha2VzIHRoZSBtb3VzZSBmb2xsb3cgeW91ciBrZXlib2FyZCBmb2N1cy4gV2hlbmV2ZXIgeW91IGZvY3VzIGEgd2luZG93LCBpZiB0aGUgY3Vyc29yIGlzbid0IGFscmVhZHkgaW4gaXQsIGl0IHdpbGwganVtcCB0byB0aGUgd2luZG93cyBjZW50ZXIsIG1ha2luZyBpdCBlYXN5IHRvIGludGVyYWN0IHdpdGggaXQuIiwKICAibmFtZSI6ICJNb3VzZSBGb2xsb3dzIEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlb25NYXR0aGVzL21vdXNlZm9sbG93c2ZvY3VzIiwKICAidXVpZCI6ICJtb3VzZWZvbGxvd3Nmb2N1c0BtYXR0aGVzLmJpeiIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "gnome-extension-pass-search-provider.lavrov.github.com", "name": "Pass Search Provider", "pname": "pass-search-provider", "description": "Shows matching pass entries in gnome search", "link": "https://extensions.gnome.org/extension/4645/pass-search-provider/", "shell_version_map": {"40": {"version": "6", "sha256": "06msk4zds1q6jjdw6g7akbsiyfz0avwvydpykcylhhc9ribzsncn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG1hdGNoaW5nIHBhc3MgZW50cmllcyBpbiBnbm9tZSBzZWFyY2giLAogICJuYW1lIjogIlBhc3MgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdnJvdi9nbm9tZS1leHRlbnNpb24tcGFzcy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1wYXNzLXNlYXJjaC1wcm92aWRlci5sYXZyb3YuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "desktop-cube@schneegans.github.com", "name": "Desktop Cube", "pname": "desktop-cube", "description": "Indulge in nostalgia with useless 3D effects.", "link": "https://extensions.gnome.org/extension/4648/desktop-cube/", "shell_version_map": {"40": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "1cpal5shcf1p2lsls05rr1l2a2crajbwjdb0idany1psrzwn1z9p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvRGVza3RvcC1DdWJlIiwKICAidXVpZCI6ICJkZXNrdG9wLWN1YmVAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
@@ -640,8 +640,8 @@
 , {"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": "3", "sha256": "06ndnyv988v6m2rns8rf56axygh2hj00l5103fqkrgq122cvxw02", "metadata": "ewogICAgIm5hbWUiIDogIlN0YXRpYyBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAgICJkZXNjcmlwdGlvbiIgOiAiVGhlIGJhY2tncm91bmQsIGFsd2F5cyBjbGVhcmx5IHZpc2libGUuIiwKICAgICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgICAic2hlbGwtdmVyc2lvbiIgOiBbCiAgICAgICAgIjQwIiwKICAgICAgICAiNDEiLAogICAgICAgICI0MiIKICAgIF0sCiAgICAidXJsIiA6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgICAidXVpZCIgOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICAgInZlcnNpb24iIDogMwp9Cg=="}, "41": {"version": "3", "sha256": "06ndnyv988v6m2rns8rf56axygh2hj00l5103fqkrgq122cvxw02", "metadata": "ewogICAgIm5hbWUiIDogIlN0YXRpYyBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAgICJkZXNjcmlwdGlvbiIgOiAiVGhlIGJhY2tncm91bmQsIGFsd2F5cyBjbGVhcmx5IHZpc2libGUuIiwKICAgICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgICAic2hlbGwtdmVyc2lvbiIgOiBbCiAgICAgICAgIjQwIiwKICAgICAgICAiNDEiLAogICAgICAgICI0MiIKICAgIF0sCiAgICAidXJsIiA6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgICAidXVpZCIgOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICAgInZlcnNpb24iIDogMwp9Cg=="}, "42": {"version": "3", "sha256": "06ndnyv988v6m2rns8rf56axygh2hj00l5103fqkrgq122cvxw02", "metadata": "ewogICAgIm5hbWUiIDogIlN0YXRpYyBiYWNrZ3JvdW5kIGluIG92ZXJ2aWV3IiwKICAgICJkZXNjcmlwdGlvbiIgOiAiVGhlIGJhY2tncm91bmQsIGFsd2F5cyBjbGVhcmx5IHZpc2libGUuIiwKICAgICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgICAic2hlbGwtdmVyc2lvbiIgOiBbCiAgICAgICAgIjQwIiwKICAgICAgICAiNDEiLAogICAgICAgICI0MiIKICAgIF0sCiAgICAidXJsIiA6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgICAidXVpZCIgOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICAgInZlcnNpb24iIDogMwp9Cg=="}}}
 , {"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": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "18im4m362yp5cv03j1acb4nqs496dz2nxxiy7zirf4qzd98hsh29", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92ZWxpdGFzYWxpL2dub21lLWF3ZXNvbWUtdGlsZXMtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhd2Vzb21lLXRpbGVzQHZlbGl0YXNhbGkuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME Shell 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 and will hide when you leave the dash. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open. Scroll on the dock to change workspace. Some preferences in UI (thanks @rastersoft).\n\n I'm not notified of messages here, please report bugs only through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "56", "sha256": "0gy9f13ijacm8kk06r0zxf375fjfndgd56d69j5ry56ib8cn23fy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Ngp9"}, "41": {"version": "56", "sha256": "0gy9f13ijacm8kk06r0zxf375fjfndgd56d69j5ry56ib8cn23fy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Ngp9"}, "42": {"version": "56", "sha256": "0gy9f13ijacm8kk06r0zxf375fjfndgd56d69j5ry56ib8cn23fy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Ngp9"}}}
-, {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Close and save open windows. And restore them manually or at startup. Most importantly, it supports both X11 and Wayland!\n\nMain features:\n- Close open windows\n- Save open windows\n- Restore session(s)\n- Restore a session at startup. Please note that this feature is disabled by default. See https://github.com/nlpsuge/gnome-shell-extension-another-window-session-manager#how-to-restore-a-session-at-startup to learn how to enable and use it.\n- Restore window state, including Always on Top,  Always on Visible Workspace and maximization\n- Restore window workspace, size and position\n- Move windows to their own workspace according to a saved session\n- Support multi-monitor\n- Trash saved session\n- Search saved session by the session name fuzzily", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "15", "sha256": "0y30zd0zghpvf8kihja564938l5hwkfy5b70c7288q6jp4ng8adj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbSBtYW51YWxseSBvciBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXQuXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gVHJhc2ggc2F2ZWQgc2Vzc2lvblxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHkiLAogICJuYW1lIjogIkFub3RoZXIgV2luZG93IFNlc3Npb24gTWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "0y30zd0zghpvf8kihja564938l5hwkfy5b70c7288q6jp4ng8adj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbSBtYW51YWxseSBvciBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXQuXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gVHJhc2ggc2F2ZWQgc2Vzc2lvblxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHkiLAogICJuYW1lIjogIkFub3RoZXIgV2luZG93IFNlc3Npb24gTWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}, "42": {"version": "15", "sha256": "0y30zd0zghpvf8kihja564938l5hwkfy5b70c7288q6jp4ng8adj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbSBtYW51YWxseSBvciBhdCBzdGFydHVwLiBNb3N0IGltcG9ydGFudGx5LCBpdCBzdXBwb3J0cyBib3RoIFgxMSBhbmQgV2F5bGFuZCFcblxuTWFpbiBmZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2Vzc2lvbihzKVxuLSBSZXN0b3JlIGEgc2Vzc2lvbiBhdCBzdGFydHVwLiBQbGVhc2Ugbm90ZSB0aGF0IHRoaXMgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciNob3ctdG8tcmVzdG9yZS1hLXNlc3Npb24tYXQtc3RhcnR1cCB0byBsZWFybiBob3cgdG8gZW5hYmxlIGFuZCB1c2UgaXQuXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgIEFsd2F5cyBvbiBWaXNpYmxlIFdvcmtzcGFjZSBhbmQgbWF4aW1pemF0aW9uXG4tIFJlc3RvcmUgd2luZG93IHdvcmtzcGFjZSwgc2l6ZSBhbmQgcG9zaXRpb25cbi0gTW92ZSB3aW5kb3dzIHRvIHRoZWlyIG93biB3b3Jrc3BhY2UgYWNjb3JkaW5nIHRvIGEgc2F2ZWQgc2Vzc2lvblxuLSBTdXBwb3J0IG11bHRpLW1vbml0b3Jcbi0gVHJhc2ggc2F2ZWQgc2Vzc2lvblxuLSBTZWFyY2ggc2F2ZWQgc2Vzc2lvbiBieSB0aGUgc2Vzc2lvbiBuYW1lIGZ1enppbHkiLAogICJuYW1lIjogIkFub3RoZXIgV2luZG93IFNlc3Npb24gTWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25scHN1Z2UvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlciIsCiAgInV1aWQiOiAiYW5vdGhlci13aW5kb3ctc2Vzc2lvbi1tYW5hZ2VyQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME Shell 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 and will hide when you leave the dash. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open. Scroll on the dock to change workspace. Some preferences in UI (thanks @rastersoft).\n\n I'm not notified of messages here, please report bugs only through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "57", "sha256": "1qw7gi0gb95rym7vd6wdanjnp3m8qyjsa57kxsr3p5hjq7gp68i8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Nwp9"}, "41": {"version": "57", "sha256": "1qw7gi0gb95rym7vd6wdanjnp3m8qyjsa57kxsr3p5hjq7gp68i8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Nwp9"}, "42": {"version": "57", "sha256": "1qw7gi0gb95rym7vd6wdanjnp3m8qyjsa57kxsr3p5hjq7gp68i8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIFNoZWxsIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3IGFuZCB3aWxsIGhpZGUgd2hlbiB5b3UgbGVhdmUgdGhlIGRhc2guIE5hdGl2ZSBHTk9NRSBTaGVsbCBjbGljayBiZWhhdmlvciBpcyBtb2RpZmllZDogbWluaW1pemUgaWYgb25lIHdpbmRvdyBpcyBvcGVuLCBvdmVydmlldyBpZiBtYW55IHdpbmRvd3MgYXJlIG9wZW4uIFNjcm9sbCBvbiB0aGUgZG9jayB0byBjaGFuZ2Ugd29ya3NwYWNlLiBTb21lIHByZWZlcmVuY2VzIGluIFVJICh0aGFua3MgQHJhc3RlcnNvZnQpLlxuXG4gSSdtIG5vdCBub3RpZmllZCBvZiBtZXNzYWdlcyBoZXJlLCBwbGVhc2UgcmVwb3J0IGJ1Z3Mgb25seSB0aHJvdWdoIEdpdEh1Yi4iLAogICJuYW1lIjogIkRvY2sgZnJvbSBEYXNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9kb2NrLWZyb20tZGFzaCIsCiAgInV1aWQiOiAiZG9jay1mcm9tLWRhc2hAZnRoeCIsCiAgInZlcnNpb24iOiA1Nwp9"}}}
+, {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Close and save open windows. And restore them. Most importantly, it supports both X11 and Wayland!\n\nMain features:\n- Close open windows\n- Save open windows\n- Restore session(s)\n- Restore a session at startup. Please note that this feature is disabled by default. See https://github.com/nlpsuge/gnome-shell-extension-another-window-session-manager#how-to-restore-a-session-at-startup to learn how to enable and use it.\n- Restore window state, including Always on Top,  Always on Visible Workspace and maximization\n- Restore window workspace, size and position\n- Move windows to their own workspace according to a saved session\n- Support multi-monitor\n- Trash saved session\n- Search saved session by the session name fuzzily", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "16", "sha256": "03ykkp5vsss7p88wksxqa4pjfaq59six9rsa91l4zq7k4n1wn6nc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbS4gTW9zdCBpbXBvcnRhbnRseSwgaXQgc3VwcG9ydHMgYm90aCBYMTEgYW5kIFdheWxhbmQhXG5cbk1haW4gZmVhdHVyZXM6XG4tIENsb3NlIG9wZW4gd2luZG93c1xuLSBTYXZlIG9wZW4gd2luZG93c1xuLSBSZXN0b3JlIHNlc3Npb24ocylcbi0gUmVzdG9yZSBhIHNlc3Npb24gYXQgc3RhcnR1cC4gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIGVuYWJsZSBhbmQgdXNlIGl0LlxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsICBBbHdheXMgb24gVmlzaWJsZSBXb3Jrc3BhY2UgYW5kIG1heGltaXphdGlvblxuLSBSZXN0b3JlIHdpbmRvdyB3b3Jrc3BhY2UsIHNpemUgYW5kIHBvc2l0aW9uXG4tIE1vdmUgd2luZG93cyB0byB0aGVpciBvd24gd29ya3NwYWNlIGFjY29yZGluZyB0byBhIHNhdmVkIHNlc3Npb25cbi0gU3VwcG9ydCBtdWx0aS1tb25pdG9yXG4tIFRyYXNoIHNhdmVkIHNlc3Npb25cbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "03ykkp5vsss7p88wksxqa4pjfaq59six9rsa91l4zq7k4n1wn6nc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbS4gTW9zdCBpbXBvcnRhbnRseSwgaXQgc3VwcG9ydHMgYm90aCBYMTEgYW5kIFdheWxhbmQhXG5cbk1haW4gZmVhdHVyZXM6XG4tIENsb3NlIG9wZW4gd2luZG93c1xuLSBTYXZlIG9wZW4gd2luZG93c1xuLSBSZXN0b3JlIHNlc3Npb24ocylcbi0gUmVzdG9yZSBhIHNlc3Npb24gYXQgc3RhcnR1cC4gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIGVuYWJsZSBhbmQgdXNlIGl0LlxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsICBBbHdheXMgb24gVmlzaWJsZSBXb3Jrc3BhY2UgYW5kIG1heGltaXphdGlvblxuLSBSZXN0b3JlIHdpbmRvdyB3b3Jrc3BhY2UsIHNpemUgYW5kIHBvc2l0aW9uXG4tIE1vdmUgd2luZG93cyB0byB0aGVpciBvd24gd29ya3NwYWNlIGFjY29yZGluZyB0byBhIHNhdmVkIHNlc3Npb25cbi0gU3VwcG9ydCBtdWx0aS1tb25pdG9yXG4tIFRyYXNoIHNhdmVkIHNlc3Npb25cbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "03ykkp5vsss7p88wksxqa4pjfaq59six9rsa91l4zq7k4n1wn6nc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlbS4gTW9zdCBpbXBvcnRhbnRseSwgaXQgc3VwcG9ydHMgYm90aCBYMTEgYW5kIFdheWxhbmQhXG5cbk1haW4gZmVhdHVyZXM6XG4tIENsb3NlIG9wZW4gd2luZG93c1xuLSBTYXZlIG9wZW4gd2luZG93c1xuLSBSZXN0b3JlIHNlc3Npb24ocylcbi0gUmVzdG9yZSBhIHNlc3Npb24gYXQgc3RhcnR1cC4gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGZlYXR1cmUgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIjaG93LXRvLXJlc3RvcmUtYS1zZXNzaW9uLWF0LXN0YXJ0dXAgdG8gbGVhcm4gaG93IHRvIGVuYWJsZSBhbmQgdXNlIGl0LlxuLSBSZXN0b3JlIHdpbmRvdyBzdGF0ZSwgaW5jbHVkaW5nIEFsd2F5cyBvbiBUb3AsICBBbHdheXMgb24gVmlzaWJsZSBXb3Jrc3BhY2UgYW5kIG1heGltaXphdGlvblxuLSBSZXN0b3JlIHdpbmRvdyB3b3Jrc3BhY2UsIHNpemUgYW5kIHBvc2l0aW9uXG4tIE1vdmUgd2luZG93cyB0byB0aGVpciBvd24gd29ya3NwYWNlIGFjY29yZGluZyB0byBhIHNhdmVkIHNlc3Npb25cbi0gU3VwcG9ydCBtdWx0aS1tb25pdG9yXG4tIFRyYXNoIHNhdmVkIHNlc3Npb25cbi0gU2VhcmNoIHNhdmVkIHNlc3Npb24gYnkgdGhlIHNlc3Npb24gbmFtZSBmdXp6aWx5IiwKICAibmFtZSI6ICJBbm90aGVyIFdpbmRvdyBTZXNzaW9uIE1hbmFnZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"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": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}, "42": {"version": "2", "sha256": "1xsnrdzqckr5l6lp8biz2zamkmsagdi43nhhlf15wbk7919xnrbi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAicHJldmVudC1kb3VibGUtZW1wdHktd2luZG93QHNpbGxpZXdvdXMubmwiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "display-ddc-brightness-volume@sagrland.de", "name": "Display DDC Brightness Volume", "pname": "display-ddc-brightness-volume", "description": "Simple GNOME extension to control displays' brightness and audio volume via DDC. It requires ddcutil to be installed, i2c permissions for non-root users configured.", "link": "https://extensions.gnome.org/extension/4712/display-ddc-brightness-volume/", "shell_version_map": {"40": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "1p0pj5sbjz4bffdhplvpq34fl053cjiddagsffk21jxwl1wmrgsk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBHTk9NRSBleHRlbnNpb24gdG8gY29udHJvbCBkaXNwbGF5cycgYnJpZ2h0bmVzcyBhbmQgYXVkaW8gdm9sdW1lIHZpYSBEREMuIEl0IHJlcXVpcmVzIGRkY3V0aWwgdG8gYmUgaW5zdGFsbGVkLCBpMmMgcGVybWlzc2lvbnMgZm9yIG5vbi1yb290IHVzZXJzIGNvbmZpZ3VyZWQuIiwKICAibmFtZSI6ICJEaXNwbGF5IEREQyBCcmlnaHRuZXNzIFZvbHVtZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NhR3JMYW5kL2dub21lLXNoZWxsLWRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lLyIsCiAgInV1aWQiOiAiZGlzcGxheS1kZGMtYnJpZ2h0bmVzcy12b2x1bWVAc2FncmxhbmQuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"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": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "1nd538h9g8l18v0vw29ishilxpj0a7p6np281blqxwssix2dqn5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy5cbk5vdGU6IEl0IGRvZXNuJ3QgcHJldmVudCBtb3VzZSBjbGlja3MuXG5cblRoZXNlIGFyZSB0aGUgc3dpdGNoZXIgcG9wdXBzIHRoYXQgYXJlIGludm9rZWQgZnJvbSBrZXlib2FyZCBzaG9ydGN1dHMsIGUuZy4gQWx0K1RhYiBvciBTdXBlcitUYWIuIiwKICAibmFtZSI6ICJEaXNhYmxlIEhvdmVyIE9uIEFwcCAmIFdpbmRvdyBTd2l0Y2hlciBQb3B1cHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -651,12 +651,12 @@
 , {"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": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "00i0wl4yb5gmj35zzj0b8kbdbm7y50b0kls6dlackdxbqgh88ji3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9zYWdpZGF5YW4vcHJpbWFyeS1pbnB1dC1vbi1sb2Nrc2NyZWVuIiwKICAidXVpZCI6ICJwcmltYXJ5X2lucHV0X29uX2xvY2tzY3JlZW5Ac2FnaWRheWFuLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"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="}, "42": {"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.\n\nNOTE: Optimized for use with static workspaces. For more control, can be set to default IGNORE and then selectively RESTORE only desired apps.", "link": "https://extensions.gnome.org/extension/4736/smart-auto-move/", "shell_version_map": {"41": {"version": "16", "sha256": "1lzz38qplz2qgfrkjnx72mkjixcmv8ydna3kfnysbisr0ab9klh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2hpbWFyb3Mvc21hcnQtYXV0by1tb3ZlIiwKICAidXVpZCI6ICJzbWFydC1hdXRvLW1vdmVAa2hpbWFyb3MuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "1lzz38qplz2qgfrkjnx72mkjixcmv8ydna3kfnysbisr0ab9klh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiBPcHRpbWl6ZWQgZm9yIHVzZSB3aXRoIHN0YXRpYyB3b3Jrc3BhY2VzLiBGb3IgbW9yZSBjb250cm9sLCBjYW4gYmUgc2V0IHRvIGRlZmF1bHQgSUdOT1JFIGFuZCB0aGVuIHNlbGVjdGl2ZWx5IFJFU1RPUkUgb25seSBkZXNpcmVkIGFwcHMuIiwKICAibmFtZSI6ICJTbWFydCBBdXRvIE1vdmUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAia2hpbWFyb3MiLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9zbWFydC1hdXRvLW1vdmUvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNtYXJ0LWF1dG8tbW92ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2hpbWFyb3Mvc21hcnQtYXV0by1tb3ZlIiwKICAidXVpZCI6ICJzbWFydC1hdXRvLW1vdmVAa2hpbWFyb3MuY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
-, {"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": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1l1b0ybii5ilvk1x4jdr70wbvl3k4jw53yxapmkj2naskq1gasb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"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": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1r6iv02zlkkcq0h57agirm6sqi17pcqkyjlsd5bn8h4hykc7bwb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ncml6emx5c21pdC9ocGxpcC1tZW51Mi1ncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidXVpZCI6ICJocGxpcC1tZW51MkBncml6emx5c21pdC5zbWl0LmlkLmF1IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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 Scroll on dock or panel changes workspace. Preferences UI.\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": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "10lcxqkg9i7gjvgdb01b6fahj5yr7c614yj4jcz9ywi5v571b1hw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBTY3JvbGwgb24gZG9jayBvciBwYW5lbCBjaGFuZ2VzIHdvcmtzcGFjZS4gUHJlZmVyZW5jZXMgVUkuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"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": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "42": {"version": "13", "sha256": "0i5gcmxxl8p0zfh6jbdrhb6s4dw7wrfl74h0z527zwfzb454yj20", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogVHJhbnNsYXRlIGZyb20gQ2xpcGJvYXJkIGNvbnRlbnQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjbGlwLXRyYW5zbGF0b3IiLAogICJuYW1lIjogIkNsaXAgVHJhbnNsYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWNsaXAtdHJhbnNsYXRvciIsCiAgInV1aWQiOiAiY2xpcC10cmFuc2xhdG9yQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
 , {"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 a 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 https://github.com/mijorus/toggle-imwheel", "link": "https://extensions.gnome.org/extension/4748/toggle-imwheel/", "shell_version_map": {"40": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}, "42": {"version": "6", "sha256": "0kf477yyhqy0lkg4r48lgwzadpjs4fxyw0v6yaf412swz7h7713c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2ltcGxlIGV4dGVuc2lvbiB3YW50cyB0byBtaXRpZ2F0ZSB0aGUgbGFjayBvZiBhIGRlZGljYXRlZCBtb3VzZSB3aGVlbCBjb250cm9sIG9uIG1vc3Qgb2YgdGhlIG1vZGVybiBsaW51eCBkaXN0cmlidXRpb25zLiBNYW55IGFyZSB1c2luZyBpbXdoZWVsIGFzIGEgdGVtcG9yYXJ5IGZpeDsgaG93ZXZlciwgaWYgeW91IGFyZSB1c2luZyBhIGxhcHRvcCwgeW91IG1pZ2h0IHdhbnQgdG8gaGF2ZSB0d28gZGlmZmVyZW50IHNldHRpbmdzIGZvciB0aGUgdG91Y2hwYWQgYW5kIHRoZSBtb3VzZS4gXG4gVGhpcyBleHRlbnNpb24gd2lsbCBhZGQgYW4gaWNvbiBpbiB0aGUgdG9wIGJhciB3aGljaCBsZXRzIHlvdSB0b2dnbGUgaW13aGVlbCBiZXR3ZWVuIHR3byBjdXN0b20gc2V0dGluZ3MuIFxuIGh0dHBzOi8vZ2l0aHViLmNvbS9taWpvcnVzL3RvZ2dsZS1pbXdoZWVsIiwKICAibmFtZSI6ICJUb2dnbGUgaW13aGVlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0b2dnbGVpbXdoZWVsQG1pam9ydXMuaXQiLAogICJ2ZXJzaW9uIjogNgp9"}}}
-, {"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. Assumes QT_QPA_PLATFORM=wayland is set in ~/.pam_environment", "link": "https://extensions.gnome.org/extension/4757/yakuake/", "shell_version_map": {"40": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "0zlg70l4j2p1fl2a4rg8s7k37sg62ncvvzp7v1la0cr1lw4j1d5c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlLiBBc3N1bWVzIFFUX1FQQV9QTEFURk9STT13YXlsYW5kIGlzIHNldCBpbiB+Ly5wYW1fZW52aXJvbm1lbnQiLAogICJuYW1lIjogIllha3Vha2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJlcnR2YWthL3lha3Vha2UtZ25vbWUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ5YWt1YWtlLWV4dGVuc2lvbkBrZGUub3JnIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"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": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}, "42": {"version": "6", "sha256": "069fk11nr2nnssyb8ljzdf3xb15lvbgny2jp8skq1ky7w8k7a0cx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIHVzZSBZYWt1YWtlIG9uIEdub21lLiBBZGRzIGEgZ2xvYmFsIHNob3J0Y3V0IHRvIHNob3cvaGlkZSB5YWt1YWtlIGFuZCBtYWtlcyB0aGUgY29uc29sZSBhcHBlYXIgZm9jdXNzZWQuIiwKICAibmFtZSI6ICJZYWt1YWtlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxiZXJ0dmFrYS95YWt1YWtlLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAieWFrdWFrZS1leHRlbnNpb25Aa2RlLm9yZyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"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"}, "42": {"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": {"40": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "42": {"version": "6", "sha256": "1dwq6v0w15ycrfmma67csjha8axdc11y0dj05fpp2y4b4sgahy53", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluY3JlYXNlIGhvdyBvZnRlbiBHbm9tZSB3aWxsIGNoZWNrIHRoZSBiYWNrZ3JvdW5kLiIsCiAgIm5hbWUiOiAiU3BlZWQgYmFja2dyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0x1a2VWYWRlci1JVi9nbm9tZS1zcGVlZC1iYWNrZ3JvdW5kLWV4dGVuc2lvbi8iLAogICJ1dWlkIjogInNwZWVkYmFja2dyb3VuZEBsdWtlLnZhZGVyIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"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=="}}}
@@ -667,9 +667,9 @@
 , {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "The Avatar Extension can add into the panel: \n * Avatar (horizontal/vertical, shades, visibility of username and hostname) \n * Primary buttons \n * MPRIS \n * Top image (can be Your own image from system) ", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "16", "sha256": "0qcrwh2w34vwm21nls6r2m2dha62342nz5prmq46ww3lbqc3gyff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "42": {"version": "16", "sha256": "0qcrwh2w34vwm21nls6r2m2dha62342nz5prmq46ww3lbqc3gyff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBdmF0YXIgRXh0ZW5zaW9uIGNhbiBhZGQgaW50byB0aGUgcGFuZWw6IFxuICogQXZhdGFyIChob3Jpem9udGFsL3ZlcnRpY2FsLCBzaGFkZXMsIHZpc2liaWxpdHkgb2YgdXNlcm5hbWUgYW5kIGhvc3RuYW1lKSBcbiAqIFByaW1hcnkgYnV0dG9ucyBcbiAqIE1QUklTIFxuICogVG9wIGltYWdlIChjYW4gYmUgWW91ciBvd24gaW1hZ2UgZnJvbSBzeXN0ZW0pICIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
 , {"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\nDetailed instructions are on the home page and in config interface. \nDisable desktop BackgroundMenu, Disable Panel dragMode. \nAdd a gap at right screen edge. \nAdd Top-Left and Top-Right corner as hot coner.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "1kcsbvvm6wigw0h2d23rx4vsqdawa7m5gfynjdc9xzxn3q8sxx0b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEyCn0="}, "42": {"version": "24", "sha256": "1j20kzq4va9s0jpvcm2y91wjk0c772mx4xk1rmr49hy1rb2crdpc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogQWx0ICsgTW91c2UgY29udHJvbCB3aW5kb3dcbkRldGFpbGVkIGluc3RydWN0aW9ucyBhcmUgb24gdGhlIGhvbWUgcGFnZSBhbmQgaW4gY29uZmlnIGludGVyZmFjZS4gXG5EaXNhYmxlIGRlc2t0b3AgQmFja2dyb3VuZE1lbnUsIERpc2FibGUgUGFuZWwgZHJhZ01vZGUuIFxuQWRkIGEgZ2FwIGF0IHJpZ2h0IHNjcmVlbiBlZGdlLiBcbkFkZCBUb3AtTGVmdCBhbmQgVG9wLVJpZ2h0IGNvcm5lciBhcyBob3QgY29uZXIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYWx0LW1vdXNlIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0LW1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dzLWFsdC1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LW1vdXNlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMjQKfQ=="}}}
-, {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Make the workspace switcher popup useful! Customize your workspace switcher behavior and the content, dimensions, position, orientation and colors of its OSD popup.\n\n- all GNOME workspace related options in one place\n- adds ws switcher Wraparoud and Ignore Last (empty) Workspace options\n- allows to disable or customize switcher popup\n- allows adding content to the workspace switcher popup - Workspace Name, Current Application Name, Workspace Index\n- ws switcher popup appearance customization includes position on screen, timings, size, colors , orientation", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "195syngd2lj2pfhj1mmmi0b4x7rl6dzizsc9pxln8v5qyayj1rdh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBPU0QgcG9wdXAuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Make the workspace switcher popup useful! Customize your workspace switcher behavior and the content, dimensions, position, orientation and colors of its popup indicator.\n\n- all GNOME workspace related options in one place\n- adds ws switcher Wraparoud and Ignore Last (empty) Workspace options\n- allows to disable or customize switcher popup\n- allows adding content to the workspace switcher popup - Workspace Name, Current Application Name, Workspace Index\n- ws switcher popup appearance customization includes position on screen, timings, size, colors , orientation", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "7", "sha256": "0395pbs962l7zf7bcfr4wdqi897w0vz48v4qj46b7wdn7f9akvvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0395pbs962l7zf7bcfr4wdqi897w0vz48v4qj46b7wdn7f9akvvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0395pbs962l7zf7bcfr4wdqi897w0vz48v4qj46b7wdn7f9akvvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0395pbs962l7zf7bcfr4wdqi897w0vz48v4qj46b7wdn7f9akvvk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgdGhlIGNvbnRlbnQsIGRpbWVuc2lvbnMsIHBvc2l0aW9uLCBvcmllbnRhdGlvbiBhbmQgY29sb3JzIG9mIGl0cyBwb3B1cCBpbmRpY2F0b3IuXG5cbi0gYWxsIEdOT01FIHdvcmtzcGFjZSByZWxhdGVkIG9wdGlvbnMgaW4gb25lIHBsYWNlXG4tIGFkZHMgd3Mgc3dpdGNoZXIgV3JhcGFyb3VkIGFuZCBJZ25vcmUgTGFzdCAoZW1wdHkpIFdvcmtzcGFjZSBvcHRpb25zXG4tIGFsbG93cyB0byBkaXNhYmxlIG9yIGN1c3RvbWl6ZSBzd2l0Y2hlciBwb3B1cFxuLSBhbGxvd3MgYWRkaW5nIGNvbnRlbnQgdG8gdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCAtIFdvcmtzcGFjZSBOYW1lLCBDdXJyZW50IEFwcGxpY2F0aW9uIE5hbWUsIFdvcmtzcGFjZSBJbmRleFxuLSB3cyBzd2l0Y2hlciBwb3B1cCBhcHBlYXJhbmNlIGN1c3RvbWl6YXRpb24gaW5jbHVkZXMgcG9zaXRpb24gb24gc2NyZWVuLCB0aW1pbmdzLCBzaXplLCBjb2xvcnMgLCBvcmllbnRhdGlvbiIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAibmFtZSI6ICJXb3Jrc3BhY2UgU3dpdGNoZXIgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvd29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJ1dWlkIjogIndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyQEctZEguZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "compare@eexpss.gmail.com", "name": "Compare or Open", "pname": "compare-filedir-from-clip", "description": "Copy/Select two Dirs/Files from anywhere such as `nautilus` or `gnome-terminal`, and then compare them (use `meld`) or open with Ctrl-O or open with context-menu.", "link": "https://extensions.gnome.org/extension/4789/compare-filedir-from-clip/", "shell_version_map": {"40": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "41": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "42": {"version": "15", "sha256": "0is8y6cs3qfaljlmyfhjpp71fbd98bizldf0rhrblm91mjfhqi3a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE1Cn0="}}}
-, {"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": "4", "sha256": "0hx77k7kfh4amlsxrqip3gj63cbx5hi7vhyfk48k9x1shibhl4vn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "0hx77k7kfh4amlsxrqip3gj63cbx5hi7vhyfk48k9x1shibhl4vn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"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": "5", "sha256": "15rbwrdl3z3cpa6n7397639s7fgjbxwzsysbzdyz1xx812gv94vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "15rbwrdl3z3cpa6n7397639s7fgjbxwzsysbzdyz1xx812gv94vz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWV0YWwwMzMyNi9nbm9tZS1mcmVxdWVuY3ktYm9vc3Qtc3dpdGNoIiwKICAidXVpZCI6ICJmcmVxLWJvb3N0LXN3aXRjaEBtZXRhbDAzMzI2IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"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": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "004h856a0mb8d4s6pqjbk6k855pnpig555f00wazgivgscv7x2r3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFuZUxpcHBlcnQvcG9wLWxhdW5jaGVyLXN1cGVyLWtleSIsCiAgInV1aWQiOiAicG9wLWxhdW5jaGVyLXN1cGVyLWtleUBNYW5lTGlwcGVydCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "thinkpad-battery-threshold@marcosdalvarez.org", "name": "Thinkpad Battery Threshold", "pname": "thinkpad-battery-threshold", "description": "Enable/Disable battery threshold on Lenovo Thinkpad laptops.\n\nIf you mainly use the system with the AC power adapter connected and only use the battery sporadically, you can increase battery life by setting the maximum charge value to less than 100%. This is useful because batteries that are used sporadically have a longer lifespan when kept at less than full charge.", "link": "https://extensions.gnome.org/extension/4798/thinkpad-battery-threshold/", "shell_version_map": {"41": {"version": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1x43rzbrini944ccfm7kfbly5gkpfg7z084vc60b5628m1kwcygq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzLlxuXG5JZiB5b3UgbWFpbmx5IHVzZSB0aGUgc3lzdGVtIHdpdGggdGhlIEFDIHBvd2VyIGFkYXB0ZXIgY29ubmVjdGVkIGFuZCBvbmx5IHVzZSB0aGUgYmF0dGVyeSBzcG9yYWRpY2FsbHksIHlvdSBjYW4gaW5jcmVhc2UgYmF0dGVyeSBsaWZlIGJ5IHNldHRpbmcgdGhlIG1heGltdW0gY2hhcmdlIHZhbHVlIHRvIGxlc3MgdGhhbiAxMDAlLiBUaGlzIGlzIHVzZWZ1bCBiZWNhdXNlIGJhdHRlcmllcyB0aGF0IGFyZSB1c2VkIHNwb3JhZGljYWxseSBoYXZlIGEgbG9uZ2VyIGxpZmVzcGFuIHdoZW4ga2VwdCBhdCBsZXNzIHRoYW4gZnVsbCBjaGFyZ2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAibmFtZSI6ICJUaGlua3BhZCBCYXR0ZXJ5IFRocmVzaG9sZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWFyY29zZGFsdmFyZXovdGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGQtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"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="}}}
@@ -678,8 +678,8 @@
 , {"uuid": "cairo@eexpss.gmail.com", "name": "Cairo Clock", "pname": "cairo-clock", "description": "Cairo Clock. \n Click the clock face to set the alarm, click the center circle to enable the alarm.\n Alt + click on main icon, background of icon become green, this enable Popup per hour function. \n Ctrl + click on main icon, can test the alarm effect.\n In case of alarm, the clock will swing dynamically.", "link": "https://extensions.gnome.org/extension/4809/cairo-clock/", "shell_version_map": {"40": {"version": "16", "sha256": "0m0b30frbs4667vavr6y5sy7zfg5fsa38qa2140ij8wqcznz9m7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNhaXJvIENsb2NrLiBcbiBDbGljayB0aGUgY2xvY2sgZmFjZSB0byBzZXQgdGhlIGFsYXJtLCBjbGljayB0aGUgY2VudGVyIGNpcmNsZSB0byBlbmFibGUgdGhlIGFsYXJtLlxuIEFsdCArIGNsaWNrIG9uIG1haW4gaWNvbiwgYmFja2dyb3VuZCBvZiBpY29uIGJlY29tZSBncmVlbiwgdGhpcyBlbmFibGUgUG9wdXAgcGVyIGhvdXIgZnVuY3Rpb24uIFxuIEN0cmwgKyBjbGljayBvbiBtYWluIGljb24sIGNhbiB0ZXN0IHRoZSBhbGFybSBlZmZlY3QuXG4gSW4gY2FzZSBvZiBhbGFybSwgdGhlIGNsb2NrIHdpbGwgc3dpbmcgZHluYW1pY2FsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY2Fpcm8tY2xvY2siLAogICJuYW1lIjogIkNhaXJvIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY2Fpcm8iLAogICJ1dWlkIjogImNhaXJvQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "0m0b30frbs4667vavr6y5sy7zfg5fsa38qa2140ij8wqcznz9m7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNhaXJvIENsb2NrLiBcbiBDbGljayB0aGUgY2xvY2sgZmFjZSB0byBzZXQgdGhlIGFsYXJtLCBjbGljayB0aGUgY2VudGVyIGNpcmNsZSB0byBlbmFibGUgdGhlIGFsYXJtLlxuIEFsdCArIGNsaWNrIG9uIG1haW4gaWNvbiwgYmFja2dyb3VuZCBvZiBpY29uIGJlY29tZSBncmVlbiwgdGhpcyBlbmFibGUgUG9wdXAgcGVyIGhvdXIgZnVuY3Rpb24uIFxuIEN0cmwgKyBjbGljayBvbiBtYWluIGljb24sIGNhbiB0ZXN0IHRoZSBhbGFybSBlZmZlY3QuXG4gSW4gY2FzZSBvZiBhbGFybSwgdGhlIGNsb2NrIHdpbGwgc3dpbmcgZHluYW1pY2FsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY2Fpcm8tY2xvY2siLAogICJuYW1lIjogIkNhaXJvIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY2Fpcm8iLAogICJ1dWlkIjogImNhaXJvQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "42": {"version": "16", "sha256": "0m0b30frbs4667vavr6y5sy7zfg5fsa38qa2140ij8wqcznz9m7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNhaXJvIENsb2NrLiBcbiBDbGljayB0aGUgY2xvY2sgZmFjZSB0byBzZXQgdGhlIGFsYXJtLCBjbGljayB0aGUgY2VudGVyIGNpcmNsZSB0byBlbmFibGUgdGhlIGFsYXJtLlxuIEFsdCArIGNsaWNrIG9uIG1haW4gaWNvbiwgYmFja2dyb3VuZCBvZiBpY29uIGJlY29tZSBncmVlbiwgdGhpcyBlbmFibGUgUG9wdXAgcGVyIGhvdXIgZnVuY3Rpb24uIFxuIEN0cmwgKyBjbGljayBvbiBtYWluIGljb24sIGNhbiB0ZXN0IHRoZSBhbGFybSBlZmZlY3QuXG4gSW4gY2FzZSBvZiBhbGFybSwgdGhlIGNsb2NrIHdpbGwgc3dpbmcgZHluYW1pY2FsbHkuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY2Fpcm8tY2xvY2siLAogICJuYW1lIjogIkNhaXJvIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY2Fpcm8iLAogICJ1dWlkIjogImNhaXJvQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"uuid": "WallpaperSwitcher@Rishu", "name": "Wallpaper Switcher", "pname": "wallpaper-switcher", "description": "Extension to automatically Change wallpaper after a given interval", "link": "https://extensions.gnome.org/extension/4812/wallpaper-switcher/", "shell_version_map": {"38": {"version": "3", "sha256": "0a1zkl3dfdbql6d1n7f2l2xi77p8f6vq1f96gyny17vxpjbhghbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBhdXRvbWF0aWNhbGx5IENoYW5nZSB3YWxscGFwZXIgYWZ0ZXIgYSBnaXZlbiBpbnRlcnZhbCIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0a1zkl3dfdbql6d1n7f2l2xi77p8f6vq1f96gyny17vxpjbhghbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBhdXRvbWF0aWNhbGx5IENoYW5nZSB3YWxscGFwZXIgYWZ0ZXIgYSBnaXZlbiBpbnRlcnZhbCIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0a1zkl3dfdbql6d1n7f2l2xi77p8f6vq1f96gyny17vxpjbhghbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBhdXRvbWF0aWNhbGx5IENoYW5nZSB3YWxscGFwZXIgYWZ0ZXIgYSBnaXZlbiBpbnRlcnZhbCIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0a1zkl3dfdbql6d1n7f2l2xi77p8f6vq1f96gyny17vxpjbhghbv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBhdXRvbWF0aWNhbGx5IENoYW5nZSB3YWxscGFwZXIgYWZ0ZXIgYSBnaXZlbiBpbnRlcnZhbCIsCiAgIm5hbWUiOiAiV2FsbHBhcGVyIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "areustatus@carissimi.eu", "name": "AREU Status", "pname": "areu-status", "description": "Displays the number of ambulances that are in a mission in Lombardy, Italy", "link": "https://extensions.gnome.org/extension/4814/areu-status/", "shell_version_map": {"38": {"version": "2", "sha256": "1jycm5xgzp1ph4h9j9m5ki0rn5wabh6gwblc1bc3fn6bx1zplymy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHRoZSBudW1iZXIgb2YgYW1idWxhbmNlcyB0aGF0IGFyZSBpbiBhIG1pc3Npb24gaW4gTG9tYmFyZHksIEl0YWx5IiwKICAibmFtZSI6ICJBUkVVIFN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vci1jYXJpc3NpbWkvYXJldS1zdGF0dXMtZ25vbWUiLAogICJ1dWlkIjogImFyZXVzdGF0dXNAY2FyaXNzaW1pLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1jycm5xgzp1ph4h9j9m5ki0rn5wabh6gwblc1bc3fn6bx1zplymy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHRoZSBudW1iZXIgb2YgYW1idWxhbmNlcyB0aGF0IGFyZSBpbiBhIG1pc3Npb24gaW4gTG9tYmFyZHksIEl0YWx5IiwKICAibmFtZSI6ICJBUkVVIFN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vci1jYXJpc3NpbWkvYXJldS1zdGF0dXMtZ25vbWUiLAogICJ1dWlkIjogImFyZXVzdGF0dXNAY2FyaXNzaW1pLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "1jycm5xgzp1ph4h9j9m5ki0rn5wabh6gwblc1bc3fn6bx1zplymy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHRoZSBudW1iZXIgb2YgYW1idWxhbmNlcyB0aGF0IGFyZSBpbiBhIG1pc3Npb24gaW4gTG9tYmFyZHksIEl0YWx5IiwKICAibmFtZSI6ICJBUkVVIFN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vci1jYXJpc3NpbWkvYXJldS1zdGF0dXMtZ25vbWUiLAogICJ1dWlkIjogImFyZXVzdGF0dXNAY2FyaXNzaW1pLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "colorful-battery-indicator@aneruam", "name": "Colorful Battery Indicator", "pname": "colorful-battery-indicator", "description": "Make the color of the battery indicator change with the level of battery charge.", "link": "https://extensions.gnome.org/extension/4817/colorful-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "0ypm2scrfffk6pl9plk7h8p7bnw0n29a1xyf9r4xdgb32j2fvs3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIGNvbG9yIG9mIHRoZSBiYXR0ZXJ5IGluZGljYXRvciBjaGFuZ2Ugd2l0aCB0aGUgbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmVydWEvZ25vbWUtY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNvbG9yZnVsLWJhdHRlcnktaW5kaWNhdG9yQGFuZXJ1YW0iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0ypm2scrfffk6pl9plk7h8p7bnw0n29a1xyf9r4xdgb32j2fvs3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIGNvbG9yIG9mIHRoZSBiYXR0ZXJ5IGluZGljYXRvciBjaGFuZ2Ugd2l0aCB0aGUgbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmVydWEvZ25vbWUtY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNvbG9yZnVsLWJhdHRlcnktaW5kaWNhdG9yQGFuZXJ1YW0iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "inactivity@fedeantuna.github.io", "name": "Inactivity", "pname": "inactivity", "description": "Hide Activities Button on the top panel.", "link": "https://extensions.gnome.org/extension/4818/inactivity/", "shell_version_map": {"41": {"version": "1", "sha256": "1qc16xhgp2wachcxw9ivf8r4nai2k0xj9vph8k0zvc0shwkpjzag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIkluYWN0aXZpdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVkZWFudHVuYS9pbmFjdGl2aXR5IiwKICAidXVpZCI6ICJpbmFjdGl2aXR5QGZlZGVhbnR1bmEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "colorful-battery-indicator@aneruam", "name": "Colorful Battery Indicator", "pname": "colorful-battery-indicator", "description": "Make color of battery indicator change with level of battery charge.\n\nGNOME 42 now supported.", "link": "https://extensions.gnome.org/extension/4817/colorful-battery-indicator/", "shell_version_map": {"38": {"version": "5", "sha256": "0dymvvka5g6qliswd8jayi71y5g12fc08vdy3xyzfvv256j4sxik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgY29sb3Igb2YgYmF0dGVyeSBpbmRpY2F0b3IgY2hhbmdlIHdpdGggbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuXG5cbkdOT01FIDQyIG5vdyBzdXBwb3J0ZWQuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZXJ1YS9nbm9tZS1jb2xvcmZ1bC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3JAYW5lcnVhbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0dymvvka5g6qliswd8jayi71y5g12fc08vdy3xyzfvv256j4sxik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgY29sb3Igb2YgYmF0dGVyeSBpbmRpY2F0b3IgY2hhbmdlIHdpdGggbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuXG5cbkdOT01FIDQyIG5vdyBzdXBwb3J0ZWQuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZXJ1YS9nbm9tZS1jb2xvcmZ1bC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3JAYW5lcnVhbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0dymvvka5g6qliswd8jayi71y5g12fc08vdy3xyzfvv256j4sxik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgY29sb3Igb2YgYmF0dGVyeSBpbmRpY2F0b3IgY2hhbmdlIHdpdGggbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuXG5cbkdOT01FIDQyIG5vdyBzdXBwb3J0ZWQuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZXJ1YS9nbm9tZS1jb2xvcmZ1bC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3JAYW5lcnVhbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0dymvvka5g6qliswd8jayi71y5g12fc08vdy3xyzfvv256j4sxik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgY29sb3Igb2YgYmF0dGVyeSBpbmRpY2F0b3IgY2hhbmdlIHdpdGggbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuXG5cbkdOT01FIDQyIG5vdyBzdXBwb3J0ZWQuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FuZXJ1YS9nbm9tZS1jb2xvcmZ1bC1iYXR0ZXJ5LWluZGljYXRvciIsCiAgInV1aWQiOiAiY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3JAYW5lcnVhbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "inactivity@fedeantuna.github.io", "name": "Inactivity", "pname": "inactivity", "description": "Hide Activities Button on the top panel.", "link": "https://extensions.gnome.org/extension/4818/inactivity/", "shell_version_map": {"41": {"version": "2", "sha256": "123j9bz0sfzz4hanjl9zp6wkasl9gvf4cgsvz6irpz2vpyc6pxpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIkluYWN0aXZpdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlZGVhbnR1bmEvaW5hY3Rpdml0eSIsCiAgInV1aWQiOiAiaW5hY3Rpdml0eUBmZWRlYW50dW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "123j9bz0sfzz4hanjl9zp6wkasl9gvf4cgsvz6irpz2vpyc6pxpr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIkluYWN0aXZpdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZlZGVhbnR1bmEvaW5hY3Rpdml0eSIsCiAgInV1aWQiOiAiaW5hY3Rpdml0eUBmZWRlYW50dW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "m3u8-play@eexpss.gmail.com", "name": "M3U8 Play", "pname": "m3u8-play", "description": "* M3U8 Play. Search and select to play (use `ffplay/ffmpeg`). `m3u8` files need put into `~/.local/share/m3u8-play/`", "link": "https://extensions.gnome.org/extension/4824/m3u8-play/", "shell_version_map": {"40": {"version": "7", "sha256": "0bjxq76s6p6g5gdyxlflsdkccnyaca8cicm9w7i56n7i1db6r2bn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogTTNVOCBQbGF5LiBTZWFyY2ggYW5kIHNlbGVjdCB0byBwbGF5ICh1c2UgYGZmcGxheS9mZm1wZWdgKS4gYG0zdThgIGZpbGVzIG5lZWQgcHV0IGludG8gYH4vLmxvY2FsL3NoYXJlL20zdTgtcGxheS9gIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibTN1OC1wbGF5IiwKICAibmFtZSI6ICJNM1U4IFBsYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1tM3U4LXBsYXkvIiwKICAidXVpZCI6ICJtM3U4LXBsYXlAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "0bjxq76s6p6g5gdyxlflsdkccnyaca8cicm9w7i56n7i1db6r2bn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogTTNVOCBQbGF5LiBTZWFyY2ggYW5kIHNlbGVjdCB0byBwbGF5ICh1c2UgYGZmcGxheS9mZm1wZWdgKS4gYG0zdThgIGZpbGVzIG5lZWQgcHV0IGludG8gYH4vLmxvY2FsL3NoYXJlL20zdTgtcGxheS9gIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibTN1OC1wbGF5IiwKICAibmFtZSI6ICJNM1U4IFBsYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1tM3U4LXBsYXkvIiwKICAidXVpZCI6ICJtM3U4LXBsYXlAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "42": {"version": "7", "sha256": "0bjxq76s6p6g5gdyxlflsdkccnyaca8cicm9w7i56n7i1db6r2bn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiogTTNVOCBQbGF5LiBTZWFyY2ggYW5kIHNlbGVjdCB0byBwbGF5ICh1c2UgYGZmcGxheS9mZm1wZWdgKS4gYG0zdThgIGZpbGVzIG5lZWQgcHV0IGludG8gYH4vLmxvY2FsL3NoYXJlL20zdTgtcGxheS9gIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibTN1OC1wbGF5IiwKICAibmFtZSI6ICJNM1U4IFBsYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1tM3U4LXBsYXkvIiwKICAidXVpZCI6ICJtM3U4LXBsYXlAZWV4cHNzLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "gnome-edge-gap@necropolina", "name": "Edge Gap", "pname": "edge-gap", "description": "add configurable-width gaps around the edge of your screen", "link": "https://extensions.gnome.org/extension/4827/edge-gap/", "shell_version_map": {"40": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "12shbvqdj6834lvw23s9z4f3ayhvma363yvzga0m85x0fzs6bna5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBjb25maWd1cmFibGUtd2lkdGggZ2FwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "overview-keyboard-navigation@G-dH.github.com", "name": "Overview Keyboard Navigation Fix", "pname": "overview-keyboard-navigation-fix", "description": "Fix for GNOME Shell 40 and 41 that initiates keyboard navigation in the Activities overview and App Grid by pressing Tab or Arrow keys. It also changes Esc key behavior in the App Grid view - Esc closes the Overview instead of activating Windows Overview.", "link": "https://extensions.gnome.org/extension/4830/overview-keyboard-navigation-fix/", "shell_version_map": {"40": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "12l9j8rcs61j1l375nm7dxbhhs3qw4y5i0hsdxcpq9jn7880y4f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24gaW4gdGhlIEFjdGl2aXRpZXMgb3ZlcnZpZXcgYW5kIEFwcCBHcmlkIGJ5IHByZXNzaW5nIFRhYiBvciBBcnJvdyBrZXlzLiBJdCBhbHNvIGNoYW5nZXMgRXNjIGtleSBiZWhhdmlvciBpbiB0aGUgQXBwIEdyaWQgdmlldyAtIEVzYyBjbG9zZXMgdGhlIE92ZXJ2aWV3IGluc3RlYWQgb2YgYWN0aXZhdGluZyBXaW5kb3dzIE92ZXJ2aWV3LiIsCiAgImdldHRleHQtZG9tYWluIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24tZml4IiwKICAibmFtZSI6ICJPdmVydmlldyBLZXlib2FyZCBOYXZpZ2F0aW9uIEZpeCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb24iLAogICJ1dWlkIjogIm92ZXJ2aWV3LWtleWJvYXJkLW5hdmlnYXRpb25ARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -694,7 +694,7 @@
 , {"uuid": "quarterwindows@troyready.com", "name": "Quarter Windows", "pname": "quarter-windows", "description": "Add additional window management shortcuts.\n\nSee extension homepage for list of shortcuts and commands to customize them.", "link": "https://extensions.gnome.org/extension/4857/quarter-windows/", "shell_version_map": {"41": {"version": "2", "sha256": "00yiqgswcl3psijxi46sb8bxqfxb1a9i93frb90a5292a0x7lmzi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhZGRpdGlvbmFsIHdpbmRvdyBtYW5hZ2VtZW50IHNob3J0Y3V0cy5cblxuU2VlIGV4dGVuc2lvbiBob21lcGFnZSBmb3IgbGlzdCBvZiBzaG9ydGN1dHMgYW5kIGNvbW1hbmRzIHRvIGN1c3RvbWl6ZSB0aGVtLiIsCiAgIm5hbWUiOiAiUXVhcnRlciBXaW5kb3dzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Ryb3lyZWFkeS9xdWFydGVyd2luZG93cyIsCiAgInV1aWQiOiAicXVhcnRlcndpbmRvd3NAdHJveXJlYWR5LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "batt_consumption_wattmetter@wennaspeedy", "name": "Battery Consumption Watt Meter", "pname": "bat_consumption_wattmeter", "description": "Shows actual charging/discharging consumption (+/-) in Watt next to battery percentage level.\nEnable percentage label when disabled.\nDefault sync reload set to 4 seconds.\nNo consumption info when battery is full.\nSettings: interval, percentage label (also when full), battery selection", "link": "https://extensions.gnome.org/extension/4862/bat_consumption_wattmeter/", "shell_version_map": {"40": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}, "42": {"version": "10", "sha256": "12w9xy5yd8qlqagmzaky4s1c4i6m4pmndncz3lz7299yy913wn6k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFjdHVhbCBjaGFyZ2luZy9kaXNjaGFyZ2luZyBjb25zdW1wdGlvbiAoKy8tKSBpbiBXYXR0IG5leHQgdG8gYmF0dGVyeSBwZXJjZW50YWdlIGxldmVsLlxuRW5hYmxlIHBlcmNlbnRhZ2UgbGFiZWwgd2hlbiBkaXNhYmxlZC5cbkRlZmF1bHQgc3luYyByZWxvYWQgc2V0IHRvIDQgc2Vjb25kcy5cbk5vIGNvbnN1bXB0aW9uIGluZm8gd2hlbiBiYXR0ZXJ5IGlzIGZ1bGwuXG5TZXR0aW5nczogaW50ZXJ2YWwsIHBlcmNlbnRhZ2UgbGFiZWwgKGFsc28gd2hlbiBmdWxsKSwgYmF0dGVyeSBzZWxlY3Rpb24iLAogICJuYW1lIjogIkJhdHRlcnkgQ29uc3VtcHRpb24gV2F0dCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dlbm5hc3BlZWR5L2JhdHRfY29uc3VtcHRpb25fd2F0dG1ldHRlciIsCiAgInV1aWQiOiAiYmF0dF9jb25zdW1wdGlvbl93YXR0bWV0dGVyQHdlbm5hc3BlZWR5IiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "tl@l.pnx.me", "name": "tl Integration", "pname": "pnx-time-logger", "description": "Integration for github.com/larowlan/tl", "link": "https://extensions.gnome.org/extension/4866/pnx-time-logger/", "shell_version_map": {"41": {"version": "1", "sha256": "06bf9hl0xdxmpyhh0qk2zbfhx8m2gw1fwfym9rv1znh1m9ymjr8h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0aW9uIGZvciBnaXRodWIuY29tL2xhcm93bGFuL3RsIiwKICAibmFtZSI6ICJ0bCBJbnRlZ3JhdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidGxAbC5wbngubWUiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "dollar-pkr@shoaibzs.github.com", "name": "Dollar-PKR", "pname": "dollar-pkr", "description": "(USD US Dollar) converted to (PKR Pakistan Rs). Updates are received every 30 seconds and are based on information provided by AwesomeAPI API, which can be consulted directly by accessing the address https://docs.awesomeapi.com.br. (based on michael.mattos's Dollar https://extensions.gnome.org/extension/4573/dollar/)", "link": "https://extensions.gnome.org/extension/4869/dollar-pkr/", "shell_version_map": {"38": {"version": "3", "sha256": "0bqyn71jha8f7505fw0pb221qcmys9y83byppd3b4f3y08pijrw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0bqyn71jha8f7505fw0pb221qcmys9y83byppd3b4f3y08pijrw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0bqyn71jha8f7505fw0pb221qcmys9y83byppd3b4f3y08pijrw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0bqyn71jha8f7505fw0pb221qcmys9y83byppd3b4f3y08pijrw7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIsCiAgICAiNDEuMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "dollar-pkr@shoaibzs.github.com", "name": "Dollar-PKR", "pname": "dollar-pkr", "description": "(USD US Dollar) converted to (PKR Pakistan Rs). Updates are received every 30 seconds and are based on information provided by AwesomeAPI API, which can be consulted directly by accessing the address https://docs.awesomeapi.com.br. (based on michael.mattos's Dollar https://extensions.gnome.org/extension/4573/dollar/)", "link": "https://extensions.gnome.org/extension/4869/dollar-pkr/", "shell_version_map": {"38": {"version": "4", "sha256": "009chsmk1l17ca9blhkyfgkdbby4422z6pbl13ib3nahiys58ak4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "009chsmk1l17ca9blhkyfgkdbby4422z6pbl13ib3nahiys58ak4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "009chsmk1l17ca9blhkyfgkdbby4422z6pbl13ib3nahiys58ak4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "009chsmk1l17ca9blhkyfgkdbby4422z6pbl13ib3nahiys58ak4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKFBLUiBQYWtpc3RhbiBScykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiRG9sbGFyLVBLUiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Nob2FpYnpzL2RvbGxhci1wa3IiLAogICJ1dWlkIjogImRvbGxhci1wa3JAc2hvYWlienMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "dozenalclock@mble.dk", "name": "Dozenal Clock", "pname": "dozenal-clock", "description": "Converts the clock to a dozenal one", "link": "https://extensions.gnome.org/extension/4877/dozenal-clock/", "shell_version_map": {"38": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1p7bsv89k3pz16kcjldmdnsilwc3jx1v419nvn5vj7n2xg4zvk0j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlcnRzIHRoZSBjbG9jayB0byBhIGRvemVuYWwgb25lIiwKICAibmFtZSI6ICJEb3plbmFsIENsb2NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4LjEiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21ibGVkL2RvemVuYWwtY2xvY2stZ25vbWUiLAogICJ1dWlkIjogImRvemVuYWxjbG9ja0BtYmxlLmRrIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "wattmeter-forked@clementherve.fr", "name": "wattmeter-forked", "pname": "wattmeter-forked", "description": "A fork of the Wattmeter extension by blackBriar, compatible with gnome 40. Original version: https://extensions.gnome.org/extension/1867/wattmeter/", "link": "https://extensions.gnome.org/extension/4886/wattmeter-forked/", "shell_version_map": {"40": {"version": "3", "sha256": "0hg6faz9j1vvxx8dyjhwx8nc2c0zbwxi9gdg2nhx839kyl3bk9kn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZm9yayBvZiB0aGUgV2F0dG1ldGVyIGV4dGVuc2lvbiBieSBibGFja0JyaWFyLCBjb21wYXRpYmxlIHdpdGggZ25vbWUgNDAuIE9yaWdpbmFsIHZlcnNpb246IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE4Njcvd2F0dG1ldGVyLyIsCiAgIm5hbWUiOiAid2F0dG1ldGVyLWZvcmtlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jbGVtZW50aGVydmUvd2F0dG1ldGVyLWZvcmtlZCIsCiAgInV1aWQiOiAid2F0dG1ldGVyLWZvcmtlZEBjbGVtZW50aGVydmUuZnIiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "Hitokoto@teaper.dev", "name": "Hitokoto", "pname": "hitokoto", "description": "一言短å¥", "link": "https://extensions.gnome.org/extension/4887/hitokoto/", "shell_version_map": {"41": {"version": "1", "sha256": "1dmsrgxnajwifc5wlrqhcddyf10a5m94wycnx5411j538607v83k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1NGUwMFx1OGEwMFx1NzdlZFx1NTNlNSIsCiAgIm5hbWUiOiAiSGl0b2tvdG8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxLjEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90ZWFwZXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWhpdG9rb3RvIiwKICAidXVpZCI6ICJIaXRva290b0B0ZWFwZXIuZGV2IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
@@ -714,29 +714,35 @@
 , {"uuid": "captivate@rensoliemans.nl", "name": "Captivate", "pname": "captivate", "description": "Activate your CapsLock button.\nUsing gnome-tweaks, remap your CapsLock to a Menu key, and then this extension works perfectly. Alternatively, choose a different key in the extension settings.", "link": "https://extensions.gnome.org/extension/4932/captivate/", "shell_version_map": {"40": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0c1506lfm7iv59ha1gyc20v49xl3ivjn3qy9cxkdb68j37q50240", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFjdGl2YXRlIHlvdXIgQ2Fwc0xvY2sgYnV0dG9uLlxuVXNpbmcgZ25vbWUtdHdlYWtzLCByZW1hcCB5b3VyIENhcHNMb2NrIHRvIGEgTWVudSBrZXksIGFuZCB0aGVuIHRoaXMgZXh0ZW5zaW9uIHdvcmtzIHBlcmZlY3RseS4gQWx0ZXJuYXRpdmVseSwgY2hvb3NlIGEgZGlmZmVyZW50IGtleSBpbiB0aGUgZXh0ZW5zaW9uIHNldHRpbmdzLiIsCiAgIm5hbWUiOiAiQ2FwdGl2YXRlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhcHRpdmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vcmVuc29saWVtYW5zL2NhcHRpdmF0ZSIsCiAgInV1aWQiOiAiY2FwdGl2YXRlQHJlbnNvbGllbWFucy5ubCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "goto-previous-workspaces@zubarev.net", "name": "Switch workspaces to previous", "pname": "switch-workspaces-to-previous", "description": "move to previous workspace", "link": "https://extensions.gnome.org/extension/4935/switch-workspaces-to-previous/", "shell_version_map": {"38": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0f2ri8w9zh49z81ya12rrfclmljhgv05yl30s0jbgafi9im396cv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1vdmUgdG8gcHJldmlvdXMgd29ya3NwYWNlIiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyB0byBwcmV2aW91cyIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiYW5kcmV5QHp1YmFyZXYubmV0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdvdG8tcHJldmlvdXMtd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F6eW9za29sL2dub21lLXNoZWxsLWV4dGVuc2lvbi1nb3RvLXByZXZpb3VzLXdvcmtzcGFjZXMiLAogICJ1dWlkIjogImdvdG8tcHJldmlvdXMtd29ya3NwYWNlc0B6dWJhcmV2Lm5ldCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "draw-on-your-screen2@zhrexl.github.com", "name": "Draw On Your Screen 2", "pname": "draw-on-you-screen-2", "description": "Start drawing with Super+Alt+D and save your beautiful work by taking a screenshot", "link": "https://extensions.gnome.org/extension/4937/draw-on-you-screen-2/", "shell_version_map": {"40": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "0ggqr3hn3cm4cd28qmwhz85fpc9lqxq9n4bc1mmyzb5b8y62smmg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhdGEtZGlyIjogImRyYXctb24teW91ci1zY3JlZW4iLAogICJkZXNjcmlwdGlvbiI6ICJTdGFydCBkcmF3aW5nIHdpdGggU3VwZXIrQWx0K0QgYW5kIHNhdmUgeW91ciBiZWF1dGlmdWwgd29yayBieSB0YWtpbmcgYSBzY3JlZW5zaG90IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZHJhdy1vbi15b3VyLXNjcmVlbiIsCiAgIm5hbWUiOiAiRHJhdyBPbiBZb3VyIFNjcmVlbiAyIiwKICAicGVyc2lzdGVudC1maWxlLW5hbWUiOiAicGVyc2lzdGVudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kcmF3LW9uLXlvdXItc2NyZWVuIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAic3ZnLWZpbGUtbmFtZSI6ICJEcmF3T25Zb3VyU2NyZWVuIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96aHJleGwvRHJhd09uWW91clNjcmVlbjIiLAogICJ1dWlkIjogImRyYXctb24teW91ci1zY3JlZW4yQHpocmV4bC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
-, {"uuid": "aztaskbar@aztaskbar.gitlab.com", "name": "App Icons Taskbar", "pname": "app-icons-taskbar", "description": "A simple app icon taskbar. Show running apps and favorites on the main panel.", "link": "https://extensions.gnome.org/extension/4944/app-icons-taskbar/", "shell_version_map": {"41": {"version": "7", "sha256": "1slix3771pmzdbhwsacssvbplfgsg7sq1in4xrja3wfz5ffikdb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0FuZHJld1phZWNoL2F6dGFza2JhciIsCiAgInV1aWQiOiAiYXp0YXNrYmFyQGF6dGFza2Jhci5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "8", "sha256": "0nxw3d5x728gxfjk7qyaisbzkmym2zvx0c976sxa5ksisq2c3162", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICI3YTY0YWE0N2M2MzdiYTk5MTJhYTNmZDIyZDE2Y2QxM2I4YjJjYmM5IiwKICAiZGVzY3JpcHRpb24iOiAiQSBzaW1wbGUgYXBwIGljb24gdGFza2Jhci4gU2hvdyBydW5uaW5nIGFwcHMgYW5kIGZhdm9yaXRlcyBvbiB0aGUgbWFpbiBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhenRhc2tiYXIiLAogICJuYW1lIjogIkFwcCBJY29ucyBUYXNrYmFyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF6dGFza2JhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9BbmRyZXdaYWVjaC9henRhc2tiYXIiLAogICJ1dWlkIjogImF6dGFza2JhckBhenRhc2tiYXIuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
+, {"uuid": "aztaskbar@aztaskbar.gitlab.com", "name": "App Icons Taskbar", "pname": "app-icons-taskbar", "description": "A simple app icon taskbar. Show running apps and favorites on the main panel.", "link": "https://extensions.gnome.org/extension/4944/app-icons-taskbar/", "shell_version_map": {"41": {"version": "7", "sha256": "1slix3771pmzdbhwsacssvbplfgsg7sq1in4xrja3wfz5ffikdb7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0FuZHJld1phZWNoL2F6dGFza2JhciIsCiAgInV1aWQiOiAiYXp0YXNrYmFyQGF6dGFza2Jhci5naXRsYWIuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "42": {"version": "9", "sha256": "0j6wbg23knflzza5iip1hg9i99rhhmwy0yqzq1759l5clnz1f96g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGFwcCBpY29uIHRhc2tiYXIuIFNob3cgcnVubmluZyBhcHBzIGFuZCBmYXZvcml0ZXMgb24gdGhlIG1haW4gcGFuZWwuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXp0YXNrYmFyIiwKICAibmFtZSI6ICJBcHAgSWNvbnMgVGFza2JhciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5henRhc2tiYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQW5kcmV3WmFlY2gvYXp0YXNrYmFyIiwKICAidXVpZCI6ICJhenRhc2tiYXJAYXp0YXNrYmFyLmdpdGxhYi5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "netSpeedMonitor@nidyran.github.io", "name": "net speed monitor", "pname": "net-speed-monitor", "description": "This extension helps tracking and monitoring network speed. \nThere are five modes: \n1 - download speed only. \n2 - upload speed only. \n3 - download speed and upload speed together. \n4 - download speed and upload speed summed. \n5 - total data usage \nTo switch between modes, use left mouse click. \nTo switch between available sources, use right mouse click. \nTo change refresh time 200 - 1000 use middle mouse click. \nThe first source with usage higher than zero will be picked by default. \nThe extension will pick the first source by default, and if no traffic is established it will switch to the next one and so on\nThe source code is available in the link below, update requests are welcome.", "link": "https://extensions.gnome.org/extension/4947/net-speed-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1zvp8zx82kqbf9ck55csgcysld3z1gr3cigkl5y73s5rvqj3ks5n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHRyYWNraW5nIGFuZCBtb25pdG9yaW5nIG5ldHdvcmsgc3BlZWQuIFxuVGhlcmUgYXJlIGZpdmUgbW9kZXM6IFxuMSAtIGRvd25sb2FkIHNwZWVkIG9ubHkuIFxuMiAtIHVwbG9hZCBzcGVlZCBvbmx5LiBcbjMgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHRvZ2V0aGVyLiBcbjQgLSBkb3dubG9hZCBzcGVlZCBhbmQgdXBsb2FkIHNwZWVkIHN1bW1lZC4gXG41IC0gdG90YWwgZGF0YSB1c2FnZSBcblRvIHN3aXRjaCBiZXR3ZWVuIG1vZGVzLCB1c2UgbGVmdCBtb3VzZSBjbGljay4gXG5UbyBzd2l0Y2ggYmV0d2VlbiBhdmFpbGFibGUgc291cmNlcywgdXNlIHJpZ2h0IG1vdXNlIGNsaWNrLiBcblRvIGNoYW5nZSByZWZyZXNoIHRpbWUgMjAwIC0gMTAwMCB1c2UgbWlkZGxlIG1vdXNlIGNsaWNrLiBcblRoZSBmaXJzdCBzb3VyY2Ugd2l0aCB1c2FnZSBoaWdoZXIgdGhhbiB6ZXJvIHdpbGwgYmUgcGlja2VkIGJ5IGRlZmF1bHQuIFxuVGhlIGV4dGVuc2lvbiB3aWxsIHBpY2sgdGhlIGZpcnN0IHNvdXJjZSBieSBkZWZhdWx0LCBhbmQgaWYgbm8gdHJhZmZpYyBpcyBlc3RhYmxpc2hlZCBpdCB3aWxsIHN3aXRjaCB0byB0aGUgbmV4dCBvbmUgYW5kIHNvIG9uXG5UaGUgc291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGluIHRoZSBsaW5rIGJlbG93LCB1cGRhdGUgcmVxdWVzdHMgYXJlIHdlbGNvbWUuIiwKICAibmFtZSI6ICJuZXQgc3BlZWQgbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmlkeXJhbi9uZXRTcGVlZE1vbml0b3IvIiwKICAidXVpZCI6ICJuZXRTcGVlZE1vbml0b3JAbmlkeXJhbi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "gradienttopbar@pshow.org", "name": "Gradient Top Bar for Gnome 40+", "pname": "gradient-top-bar", "description": "Makes GNOME's topbar's background gradient. This extension is based on https://extensions.gnome.org/extension/1264/gradient-top-bar/", "link": "https://extensions.gnome.org/extension/4955/gradient-top-bar/", "shell_version_map": {"38": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "0fljxnp8a6gxw13iaj5p5gh6zd2xy0hk4xc3ia3zl0vgs5jfhbby", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdOT01FJ3MgdG9wYmFyJ3MgYmFja2dyb3VuZCBncmFkaWVudC4gVGhpcyBleHRlbnNpb24gaXMgYmFzZWQgb24gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTI2NC9ncmFkaWVudC10b3AtYmFyLyIsCiAgIm5hbWUiOiAiR3JhZGllbnQgVG9wIEJhciBmb3IgR25vbWUgNDArIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGV0YXItdi9ncmFkaWVudHRvcGJhciIsCiAgInV1aWQiOiAiZ3JhZGllbnR0b3BiYXJAcHNob3cub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {"40": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}, "42": {"version": "9", "sha256": "1cn6qww5zaf0h8m5gxb2cg8ir3drjj4ag7al7zrsw2qb68lqg1jq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogOQp9"}}}
+, {"uuid": "clipman@popov895.ukr.net", "name": "Clipman", "pname": "clipman", "description": "Simple clipboard manager.", "link": "https://extensions.gnome.org/extension/4958/clipman/", "shell_version_map": {"40": {"version": "10", "sha256": "1z0nrwmsf4amp1jhgfwqbvsajjanwvnh0b9hn8giidqaz17fxdk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1z0nrwmsf4amp1jhgfwqbvsajjanwvnh0b9hn8giidqaz17fxdk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "42": {"version": "10", "sha256": "1z0nrwmsf4amp1jhgfwqbvsajjanwvnh0b9hn8giidqaz17fxdk4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBjbGlwYm9hcmQgbWFuYWdlci4iLAogICJuYW1lIjogIkNsaXBtYW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb3Bvdjg5NS9DbGlwbWFuIiwKICAidXVpZCI6ICJjbGlwbWFuQHBvcG92ODk1LnVrci5uZXQiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "note@eexpss.gmail.com", "name": "note", "pname": "note", "description": "Add selected text to Note.\n- Notes automatic recognition and sort as 'Directory' 'Command' 'Clipboard'.\n- 'Directory': Mouse 1/2/3 act as 'Open in Files/Open in termianl/Paste dir'. It can be used as a temporary bookmark. And any click will change the working diretory in real time.\n- 'Command': Mouse 1/3 as 'Excute command in Terminal/Paste cmd'.\n- 'Clipboard': Mouse act as 'Paste to Clipboard(PRIMARY)'.\n- Terminal support kgx(new gnome-console) and gnome-terminal.", "link": "https://extensions.gnome.org/extension/4962/note/", "shell_version_map": {"42": {"version": "5", "sha256": "0jkywz3ygclrl4h5i7a29q9k0cncr5knd57pxhr8rfsr7lh0854q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBzZWxlY3RlZCB0ZXh0IHRvIE5vdGUuXG4tIE5vdGVzIGF1dG9tYXRpYyByZWNvZ25pdGlvbiBhbmQgc29ydCBhcyAnRGlyZWN0b3J5JyAnQ29tbWFuZCcgJ0NsaXBib2FyZCcuXG4tICdEaXJlY3RvcnknOiBNb3VzZSAxLzIvMyBhY3QgYXMgJ09wZW4gaW4gRmlsZXMvT3BlbiBpbiB0ZXJtaWFubC9QYXN0ZSBkaXInLiBJdCBjYW4gYmUgdXNlZCBhcyBhIHRlbXBvcmFyeSBib29rbWFyay4gQW5kIGFueSBjbGljayB3aWxsIGNoYW5nZSB0aGUgd29ya2luZyBkaXJldG9yeSBpbiByZWFsIHRpbWUuXG4tICdDb21tYW5kJzogTW91c2UgMS8zIGFzICdFeGN1dGUgY29tbWFuZCBpbiBUZXJtaW5hbC9QYXN0ZSBjbWQnLlxuLSAnQ2xpcGJvYXJkJzogTW91c2UgYWN0IGFzICdQYXN0ZSB0byBDbGlwYm9hcmQoUFJJTUFSWSknLlxuLSBUZXJtaW5hbCBzdXBwb3J0IGtneChuZXcgZ25vbWUtY29uc29sZSkgYW5kIGdub21lLXRlcm1pbmFsLiIsCiAgImdldHRleHQtZG9tYWluIjogIm5vdGUiLAogICJuYW1lIjogIm5vdGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9ncy1ub3RlIiwKICAidXVpZCI6ICJub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "ddnet-friends-panel@hus3h", "name": "DDNet Friends Panel", "pname": "ddnet-friends-panel", "description": "Automatically check for online DDNet friends and join them from your top bar.\n\nThis extension will check for online DDNet friends every 1 minute and show their count in your top bar. You can click the indicator to expand the panel and see more details like what map each friend is playing, you can click on a friend list item to launch the game and connect to the server they are in.\n\nMore details: https://github.com/hus3h/gnome-shell-extension-ddnet-friends-panel", "link": "https://extensions.gnome.org/extension/4965/ddnet-friends-panel/", "shell_version_map": {"40": {"version": "1", "sha256": "1v0axd614hrrrzqps6nkg9daki8fcykfd20w201gxvdnmrvfspkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi5cblxuTW9yZSBkZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20vaHVzM2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkbmV0LWZyaWVuZHMtcGFuZWwiLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1czNoL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZG5ldC1mcmllbmRzLXBhbmVsIiwKICAidXVpZCI6ICJkZG5ldC1mcmllbmRzLXBhbmVsQGh1czNoIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1v0axd614hrrrzqps6nkg9daki8fcykfd20w201gxvdnmrvfspkc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGFuZCBqb2luIHRoZW0gZnJvbSB5b3VyIHRvcCBiYXIuXG5cblRoaXMgZXh0ZW5zaW9uIHdpbGwgY2hlY2sgZm9yIG9ubGluZSBERE5ldCBmcmllbmRzIGV2ZXJ5IDEgbWludXRlIGFuZCBzaG93IHRoZWlyIGNvdW50IGluIHlvdXIgdG9wIGJhci4gWW91IGNhbiBjbGljayB0aGUgaW5kaWNhdG9yIHRvIGV4cGFuZCB0aGUgcGFuZWwgYW5kIHNlZSBtb3JlIGRldGFpbHMgbGlrZSB3aGF0IG1hcCBlYWNoIGZyaWVuZCBpcyBwbGF5aW5nLCB5b3UgY2FuIGNsaWNrIG9uIGEgZnJpZW5kIGxpc3QgaXRlbSB0byBsYXVuY2ggdGhlIGdhbWUgYW5kIGNvbm5lY3QgdG8gdGhlIHNlcnZlciB0aGV5IGFyZSBpbi5cblxuTW9yZSBkZXRhaWxzOiBodHRwczovL2dpdGh1Yi5jb20vaHVzM2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRkbmV0LWZyaWVuZHMtcGFuZWwiLAogICJuYW1lIjogIkRETmV0IEZyaWVuZHMgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1czNoL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZG5ldC1mcmllbmRzLXBhbmVsIiwKICAidXVpZCI6ICJkZG5ldC1mcmllbmRzLXBhbmVsQGh1czNoIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "theme-switcher@fthx", "name": "Light/Dark Theme Switcher", "pname": "lightdark-theme-switcher", "description": "Button in panel: switch between global dark and light themes. For GNOME Shell 42+.", "link": "https://extensions.gnome.org/extension/4968/lightdark-theme-switcher/", "shell_version_map": {"42": {"version": "3", "sha256": "1jg157z5rib8inhmmcka962bnzk4kc21azrh89q93f9v26k1y9jj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiBpbiBwYW5lbDogc3dpdGNoIGJldHdlZW4gZ2xvYmFsIGRhcmsgYW5kIGxpZ2h0IHRoZW1lcy4gRm9yIEdOT01FIFNoZWxsIDQyKy4iLAogICJuYW1lIjogIkxpZ2h0L0RhcmsgVGhlbWUgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC90aGVtZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAidGhlbWUtc3dpdGNoZXJAZnRoeCIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "window-calls-extended@hseliger.eu", "name": "Window Calls Extended", "pname": "window-calls-extended", "description": "Add new dbus call for windows to get windows list and some of theirs properties, plus details on window under focus.", "link": "https://extensions.gnome.org/extension/4974/window-calls-extended/", "shell_version_map": {"41": {"version": "1", "sha256": "0ah8f8v3597jiwgfniy46jqlhir3xhzhxpcmzg0c1nsx63dqcxkr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaHNlbGlnZXIvd2luZG93LWNhbGxzLWV4dGVuZGVkIiwKICAidXVpZCI6ICJ3aW5kb3ctY2FsbHMtZXh0ZW5kZWRAaHNlbGlnZXIuZXUiLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "window-calls-extended@hseliger.eu", "name": "Window Calls Extended", "pname": "window-calls-extended", "description": "Add new dbus call for windows to get windows list and some of theirs properties, plus details on window under focus.", "link": "https://extensions.gnome.org/extension/4974/window-calls-extended/", "shell_version_map": {"41": {"version": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "153c6gwlgpi6lhsd2ym9qhcp6add58za3i2djdqj39n9zx0q1gy2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMsIHBsdXMgZGV0YWlscyBvbiB3aW5kb3cgdW5kZXIgZm9jdXMuIiwKICAibmFtZSI6ICJXaW5kb3cgQ2FsbHMgRXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hzZWxpZ2VyL3dpbmRvdy1jYWxscy1leHRlbmRlZCIsCiAgInV1aWQiOiAid2luZG93LWNhbGxzLWV4dGVuZGVkQGhzZWxpZ2VyLmV1IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "Sur_Clock@medaip90.com", "name": "Sur Clock", "pname": "sur-clock", "description": "Move the clock to the left or the right of the system indicators like in MacOs.", "link": "https://extensions.gnome.org/extension/4977/sur-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "42": {"version": "2", "sha256": "01689ldy0ghjj75i5pncb4nhl8w4yzwj0pb8y5q8wkiirv7h0cxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIGNsb2NrIHRvIHRoZSBsZWZ0IG9yIHRoZSByaWdodCBvZiB0aGUgc3lzdGVtIGluZGljYXRvcnMgbGlrZSBpbiBNYWNPcy4iLAogICJuYW1lIjogIlN1ciBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01lZGFpUDkwL2dub21lLXN1ci1jbG9jayIsCiAgInV1aWQiOiAiU3VyX0Nsb2NrQG1lZGFpcDkwLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "disable-workspace-switcher@jbradaric.me", "name": "Disable Workspace Switcher", "pname": "disable-workspace-switcher", "description": "Disable the workspace switcher popup.", "link": "https://extensions.gnome.org/extension/4980/disable-workspace-switcher/", "shell_version_map": {"42": {"version": "1", "sha256": "0wpkcaqnlwg5065ygmmqiai9vqwwwl3kd22zhg2s6kcxz3b42is6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cC4iLAogICJuYW1lIjogIkRpc2FibGUgV29ya3NwYWNlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2picmFkYXJpYy9kaXNhYmxlLXdvcmtzcGFjZS1zd2l0Y2hlciIsCiAgInV1aWQiOiAiZGlzYWJsZS13b3Jrc3BhY2Utc3dpdGNoZXJAamJyYWRhcmljLm1lIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "nextcloud-folder@cosinus.org", "name": "Nextcloud Folder", "pname": "nextcloud-folder", "description": "Simple and lightweight GNOME 42+ extension to open Nextcloud folder in one click.", "link": "https://extensions.gnome.org/extension/4983/nextcloud-folder/", "shell_version_map": {"42": {"version": "4", "sha256": "1cdkfd03y0bfh09m40zikl51mcli311sarjqicnnqw6bzj1zqskj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbGlnaHR3ZWlnaHQgR05PTUUgNDIrIGV4dGVuc2lvbiB0byBvcGVuIE5leHRjbG91ZCBmb2xkZXIgaW4gb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiTmV4dGNsb3VkIEZvbGRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uZXh0Y2xvdWQtZm9sZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2FsZXNjZGIvbmV4dGNsb3VkLWZvbGRlciIsCiAgInV1aWQiOiAibmV4dGNsb3VkLWZvbGRlckBjb3NpbnVzLm9yZyIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "php-laravel-valet@rahulhaque", "name": "PHP Laravel Valet", "pname": "php-laravel-valet", "description": "A PHP Laravel Valet status indicator and manager.", "link": "https://extensions.gnome.org/extension/4985/php-laravel-valet/", "shell_version_map": {"40": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "0dkil646p1gzdi49gfdcmqkkgax8s0h3za9mr53dvk9cl1hlx091", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "php-laravel-valet@rahulhaque", "name": "PHP Laravel Valet", "pname": "php-laravel-valet", "description": "A PHP Laravel Valet status indicator and manager.", "link": "https://extensions.gnome.org/extension/4985/php-laravel-valet/", "shell_version_map": {"40": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}, "42": {"version": "4", "sha256": "0h1hfh8i6sqzi0dy0sbh35s7flncqwpsxha4yr1bgrmg2a0gshzw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgUEhQIExhcmF2ZWwgVmFsZXQgc3RhdHVzIGluZGljYXRvciBhbmQgbWFuYWdlci4iLAogICJuYW1lIjogIlBIUCBMYXJhdmVsIFZhbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFodWxoYXF1ZS9waHAtbGFyYXZlbC12YWxldC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInBocC1sYXJhdmVsLXZhbGV0QHJhaHVsaGFxdWUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "Home-Server@sven.kramer", "name": "Home-Server", "pname": "home-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.", "link": "https://extensions.gnome.org/extension/4989/home-server/", "shell_version_map": {"38": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "05cwv23w1438pg38ixhrvm360g3s11vrl8wqk84ai2xgydy94z2f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiIsCiAgIm1pbm9yIjogMSwKICAibmFtZSI6ICJIb21lLVNlcnZlciIsCiAgInJldmlzaW9uIjogMSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkhvbWUtU2VydmVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5zdmVuLWtyYW1lci5ldS9saW51eC9nbm9tZS1zaGVsbC1leHRlbnNpb24vaG9tZS1zZXJ2ZXIvIiwKICAidXVpZCI6ICJIb21lLVNlcnZlckBzdmVuLmtyYW1lciIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "dash2dock-lite@icedman.github.com", "name": "Dash2Dock Lite", "pname": "dash2dock-lite", "description": "minimal implementation of dash to dock", "link": "https://extensions.gnome.org/extension/4994/dash2dock-lite/", "shell_version_map": {"40": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0qc1g5lpag5195sxcsjnihqsjgxfif062dsqa7chq3ssaaqq8wwb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIm1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgZGFzaCB0byBkb2NrIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGFzaDJkb2NrLWxpdGUiLAogICJuYW1lIjogIkRhc2gyRG9jayBMaXRlIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJpY2VkbWFuIgogIF0sCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXNoMmRvY2stbGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ljZWRtYW4vZGFzaDJkb2NrLWxpdGUiLAogICJ1dWlkIjogImRhc2gyZG9jay1saXRlQGljZWRtYW4uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "animate@eexpss.gmail.com", "name": "animate", "pname": "animate", "description": "Animated small man run through the screen. Scroll mouse can change deferent character. You can use your PNG characters instead of the original ones.", "link": "https://extensions.gnome.org/extension/4995/animate/", "shell_version_map": {"40": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "42": {"version": "4", "sha256": "1p110wz7wdr51z2fsn6z72lcnln13h8lfbw9a00hs9qb0y71qf5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuaW1hdGVkIHNtYWxsIG1hbiBydW4gdGhyb3VnaCB0aGUgc2NyZWVuLiBTY3JvbGwgbW91c2UgY2FuIGNoYW5nZSBkZWZlcmVudCBjaGFyYWN0ZXIuIFlvdSBjYW4gdXNlIHlvdXIgUE5HIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgb25lcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJhbmltYXRlIiwKICAibmFtZSI6ICJhbmltYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ3MtYW5pbWF0ZSIsCiAgInV1aWQiOiAiYW5pbWF0ZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "legacyschemeautoswitcher@joshimukul29.gmail.com", "name": "Legacy (GTK3) Theme Scheme Auto Switcher", "pname": "legacy-gtk3-theme-scheme-auto-switcher", "description": "Change the GTK3 theme to light/dark variant based on the system color scheme on Gnome 42", "link": "https://extensions.gnome.org/extension/4998/legacy-gtk3-theme-scheme-auto-switcher/", "shell_version_map": {"42": {"version": "2", "sha256": "0wfp9ixy40d63r0c09dfgjdb3yv434yvjlcpk2g5zwzbbyicrv7r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgR1RLMyB0aGVtZSB0byBsaWdodC9kYXJrIHZhcmlhbnQgYmFzZWQgb24gdGhlIHN5c3RlbSBjb2xvciBzY2hlbWUgb24gR25vbWUgNDIiLAogICJuYW1lIjogIkxlZ2FjeSAoR1RLMykgVGhlbWUgU2NoZW1lIEF1dG8gU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXVrdWwyOS9sZWdhY3ktdGhlbWUtYXV0by1zd2l0Y2hlci1nbm9tZS1leHRlbnNpb24iLAogICJ1dWlkIjogImxlZ2FjeXNjaGVtZWF1dG9zd2l0Y2hlckBqb3NoaW11a3VsMjkuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "dash-to-dock-cosmic-@halfmexicanhalfamazing@gmail.com", "name": "Dash to Dock for COSMIC", "pname": "dash-to-dock-for-cosmic", "description": "A Dash to Dock fork for the COSMIC/GNOME Shell, fixes conflict with Cosmic Workspace.  It prevents Cosmic Workspaces from breaking after suspend.", "link": "https://extensions.gnome.org/extension/5004/dash-to-dock-for-cosmic/", "shell_version_map": {"40": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "09chdybydr3q3f630w42wx81g0zb4kzp3mnwijj9dqsvjimag8n2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgRGFzaCB0byBEb2NrIGZvcmsgZm9yIHRoZSBDT1NNSUMvR05PTUUgU2hlbGwsIGZpeGVzIGNvbmZsaWN0IHdpdGggQ29zbWljIFdvcmtzcGFjZS4gIEl0IHByZXZlbnRzIENvc21pYyBXb3Jrc3BhY2VzIGZyb20gYnJlYWtpbmcgYWZ0ZXIgc3VzcGVuZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXNodG9kb2NrIiwKICAibmFtZSI6ICJEYXNoIHRvIERvY2sgZm9yIENPU01JQyIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJtaWN4Z3hAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFsZm1leGljYW4vZGFzaC10by1kb2NrLXBvcC90cmVlL3VidW50dS1kb2NrIiwKICAidXVpZCI6ICJkYXNoLXRvLWRvY2stY29zbWljLUBoYWxmbWV4aWNhbmhhbGZhbWF6aW5nQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "rclone-manager@germanztz.com", "name": "rclone-manager", "pname": "rclone-manager", "description": "Is like Dropbox sync client but for more than 30 services, adds an indicator to the top panel so you can manage the rclone profiles configured in your system, perform operations such as mount as remote, watch for file modifications, sync with remote storage, navigate it's main folder. Also, it shows the status of each profile so you can supervise the operations, and provides an easy access log of events", "link": "https://extensions.gnome.org/extension/5006/rclone-manager/", "shell_version_map": {"40": {"version": "1", "sha256": "15g675207z2ifsaw32y3909hwvwij3m6nikk8c2vq1b824yspsm3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIklzIGxpa2UgRHJvcGJveCBzeW5jIGNsaWVudCBidXQgZm9yIG1vcmUgdGhhbiAzMCBzZXJ2aWNlcywgYWRkcyBhbiBpbmRpY2F0b3IgdG8gdGhlIHRvcCBwYW5lbCBzbyB5b3UgY2FuIG1hbmFnZSB0aGUgcmNsb25lIHByb2ZpbGVzIGNvbmZpZ3VyZWQgaW4geW91ciBzeXN0ZW0sIHBlcmZvcm0gb3BlcmF0aW9ucyBzdWNoIGFzIG1vdW50IGFzIHJlbW90ZSwgd2F0Y2ggZm9yIGZpbGUgbW9kaWZpY2F0aW9ucywgc3luYyB3aXRoIHJlbW90ZSBzdG9yYWdlLCBuYXZpZ2F0ZSBpdCdzIG1haW4gZm9sZGVyLiBBbHNvLCBpdCBzaG93cyB0aGUgc3RhdHVzIG9mIGVhY2ggcHJvZmlsZSBzbyB5b3UgY2FuIHN1cGVydmlzZSB0aGUgb3BlcmF0aW9ucywgYW5kIHByb3ZpZGVzIGFuIGVhc3kgYWNjZXNzIGxvZyBvZiBldmVudHMiLAogICJuYW1lIjogInJjbG9uZS1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlcm1hbnp0ei9nbm9tZS1zaGVsbC1leHRlbnNpb24tcmNsb25lLW1hbmFnZXIiLAogICJ1dWlkIjogInJjbG9uZS1tYW5hZ2VyQGdlcm1hbnp0ei5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "GPU_profile_selector@lorenzo9904.gmail.com", "name": "GPU profile selector", "pname": "gpu-profile-selector", "description": "A simple gnome shell extension for switching GPU profiles on Nvidia Optimus systems (i.e laptops with Intel + Nvidia or AMD + Nvidia configurations). In particular this extension is a graphic interface for envycontrol (https://github.com/geminis3/envycontrol) program.", "link": "https://extensions.gnome.org/extension/5009/gpu-profile-selector/", "shell_version_map": {"38": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "42": {"version": "4", "sha256": "1drd5vw63a936sh72f6bhdj6cxzfzd8h3hymn8wxk0pp5n26wxnr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "GPU_profile_selector@lorenzo9904.gmail.com", "name": "GPU profile selector", "pname": "gpu-profile-selector", "description": "You need also envycontrol(https://github.com/geminis3/envycontrol) for making this extension working. A simple gnome shell extension for switching GPU profiles on Nvidia Optimus systems (i.e laptops with Intel + Nvidia or AMD + Nvidia configurations). In particular this extension is a graphic interface for envycontrol (https://github.com/geminis3/envycontrol) program.", "link": "https://extensions.gnome.org/extension/5009/gpu-profile-selector/", "shell_version_map": {"38": {"version": "5", "sha256": "0mw1w8zccrnv2xrk5601sv2ax5qbahznp1q5h607sp6b79jv7cfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIllvdSBuZWVkIGFsc28gZW52eWNvbnRyb2woaHR0cHM6Ly9naXRodWIuY29tL2dlbWluaXMzL2Vudnljb250cm9sKSBmb3IgbWFraW5nIHRoaXMgZXh0ZW5zaW9uIHdvcmtpbmcuIEEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0mw1w8zccrnv2xrk5601sv2ax5qbahznp1q5h607sp6b79jv7cfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIllvdSBuZWVkIGFsc28gZW52eWNvbnRyb2woaHR0cHM6Ly9naXRodWIuY29tL2dlbWluaXMzL2Vudnljb250cm9sKSBmb3IgbWFraW5nIHRoaXMgZXh0ZW5zaW9uIHdvcmtpbmcuIEEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0mw1w8zccrnv2xrk5601sv2ax5qbahznp1q5h607sp6b79jv7cfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIllvdSBuZWVkIGFsc28gZW52eWNvbnRyb2woaHR0cHM6Ly9naXRodWIuY29tL2dlbWluaXMzL2Vudnljb250cm9sKSBmb3IgbWFraW5nIHRoaXMgZXh0ZW5zaW9uIHdvcmtpbmcuIEEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "42": {"version": "5", "sha256": "0mw1w8zccrnv2xrk5601sv2ax5qbahznp1q5h607sp6b79jv7cfb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIllvdSBuZWVkIGFsc28gZW52eWNvbnRyb2woaHR0cHM6Ly9naXRodWIuY29tL2dlbWluaXMzL2Vudnljb250cm9sKSBmb3IgbWFraW5nIHRoaXMgZXh0ZW5zaW9uIHdvcmtpbmcuIEEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3Igc3dpdGNoaW5nIEdQVSBwcm9maWxlcyBvbiBOdmlkaWEgT3B0aW11cyBzeXN0ZW1zIChpLmUgbGFwdG9wcyB3aXRoIEludGVsICsgTnZpZGlhIG9yIEFNRCArIE52aWRpYSBjb25maWd1cmF0aW9ucykuIEluIHBhcnRpY3VsYXIgdGhpcyBleHRlbnNpb24gaXMgYSBncmFwaGljIGludGVyZmFjZSBmb3IgZW52eWNvbnRyb2wgKGh0dHBzOi8vZ2l0aHViLmNvbS9nZW1pbmlzMy9lbnZ5Y29udHJvbCkgcHJvZ3JhbS4iLAogICJuYW1lIjogIkdQVSBwcm9maWxlIHNlbGVjdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTG9yZW56b01vcmVsbGkvR1BVX3Byb2ZpbGVfc2VsZWN0b3IiLAogICJ1dWlkIjogIkdQVV9wcm9maWxlX3NlbGVjdG9yQGxvcmVuem85OTA0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "username-to-activities@deserts", "name": "Replace Activities text with username", "pname": "replce-activities-text-with-username", "description": "Replace Activities text with username.\nThis is a fork of Replace Activities Text by pratap@fastmail.fm", "link": "https://extensions.gnome.org/extension/5010/replce-activities-text-with-username/", "shell_version_map": {"38": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "1zmg8xlwfcf82cd2l226b4kqcybcs8nrx916i3sqbpwdnwpc0d68", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUuXG5UaGlzIGlzIGEgZm9yayBvZiBSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCBieSBwcmF0YXBAZmFzdG1haWwuZm0iLAogICJuYW1lIjogIlJlcGxhY2UgQWN0aXZpdGllcyB0ZXh0IHdpdGggdXNlcm5hbWUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAicHJhdGFwQGZhc3RtYWlsLmZtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVzZXJ0c3RzdW5nL3VzZXJuYW1lLXRvLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogInVzZXJuYW1lLXRvLWFjdGl2aXRpZXNAZGVzZXJ0cyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "overview-dash-hide@rokenz05.github.com", "name": "Overview Dash Hide", "pname": "overview-dash-hide", "description": "Hide dash to dock in activities overview", "link": "https://extensions.gnome.org/extension/5013/overview-dash-hide/", "shell_version_map": {"42": {"version": "1", "sha256": "1i0s0gjyml0q8lz08pwh1nva2yrf5vydpcrz2ncz46qvpjhik7dm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgZGFzaCB0byBkb2NrIGluIGFjdGl2aXRpZXMgb3ZlcnZpZXciLAogICJuYW1lIjogIk92ZXJ2aWV3IERhc2ggSGlkZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAib3ZlcnZpZXctZGFzaC1oaWRlQHJva2VuejA1LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "fullscreen-hot-corner@richardblaha.cz", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode\n\nfork of https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/ updated for Gnome 42", "link": "https://extensions.gnome.org/extension/5016/fullscreen-hot-corner/", "shell_version_map": {"40": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}, "42": {"version": "1", "sha256": "0i8j86qysylwcpk1jif9z0j01p3h98mj22wc5l2jcczlm48g5aj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGVcblxuZm9yayBvZiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xNTYyL2Z1bGxzY3JlZW4taG90LWNvcm5lci8gdXBkYXRlZCBmb3IgR25vbWUgNDIiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JpY2hhcmRibGFoYS9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckByaWNoYXJkYmxhaGEuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "simple-message@freddez", "name": "Simple Message", "pname": "simple-message", "description": "Show simple message on top bar", "link": "https://extensions.gnome.org/extension/5018/simple-message/", "shell_version_map": {"40": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "42": {"version": "3", "sha256": "1h0r025bwy73m8yqm5cr5qzwhxcj4p859rpw6rk49if3jn2f3c3x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgc2ltcGxlIG1lc3NhZ2Ugb24gdG9wIGJhciIsCiAgIm5hbWUiOiAiU2ltcGxlIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2ltcGxlLW1lc3NhZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZGV6L2dub21lLXNoZWxsLXNpbXBsZS1tZXNzYWdlIiwKICAidXVpZCI6ICJzaW1wbGUtbWVzc2FnZUBmcmVkZGV6IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "activate-window-by-title@lucaswerkmeister.de", "name": "Activate Window By Title", "pname": "activate-window-by-title", "description": "Expose a D-Bus interface to activate a window by its title or WM_CLASS", "link": "https://extensions.gnome.org/extension/5021/activate-window-by-title/", "shell_version_map": {"42": {"version": "2", "sha256": "0w1msr6lk87vv3rkldn2mkz15l4lk5wnilf4vhx2cak95b2ycvbh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cG9zZSBhIEQtQnVzIGludGVyZmFjZSB0byBhY3RpdmF0ZSBhIHdpbmRvdyBieSBpdHMgdGl0bGUgb3IgV01fQ0xBU1MiLAogICJuYW1lIjogIkFjdGl2YXRlIFdpbmRvdyBCeSBUaXRsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sdWNhc3dlcmttZWlzdGVyL2FjdGl2YXRlLXdpbmRvdy1ieS10aXRsZSIsCiAgInV1aWQiOiAiYWN0aXZhdGUtd2luZG93LWJ5LXRpdGxlQGx1Y2Fzd2Vya21laXN0ZXIuZGUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "nano-system-monitor@eeeeeio", "name": "Nano System Monitor", "pname": "nano-system-monitor", "description": "Show current status on GNOME Shell panel\n\nbar shows CPU|memory|swap usages,then the download|upload speed and CPU temperature\n\nDifferent colors represent different percentage states and CPU temperature\n\nplease use monospaced font for best experience", "link": "https://extensions.gnome.org/extension/5037/nano-system-monitor/", "shell_version_map": {"38": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0idj4vy2qygcxrrby028hd412i6s5gqdjv5cm7rmrpk2rhhjd2il", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxuRGlmZmVyZW50IGNvbG9ycyByZXByZXNlbnQgZGlmZmVyZW50IHBlcmNlbnRhZ2Ugc3RhdGVzIGFuZCBDUFUgdGVtcGVyYXR1cmVcblxucGxlYXNlIHVzZSBtb25vc3BhY2VkIGZvbnQgZm9yIGJlc3QgZXhwZXJpZW5jZSIsCiAgIm5hbWUiOiAiTmFubyBTeXN0ZW0gTW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VlZWVlaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW5hbm8tc3lzdGVtLW1vbml0b3IiLAogICJ1dWlkIjogIm5hbm8tc3lzdGVtLW1vbml0b3JAZWVlZWVpbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "nano-system-monitor@eeeeeio", "name": "Nano System Monitor", "pname": "nano-system-monitor", "description": "Show current status on GNOME Shell panel\n\nbar shows CPU|memory|swap usages,then the download|upload speed and CPU temperature and fan speed\n\nDifferent colors represent different percentage states and CPU temperature\n\nplease use monospaced font for best experience", "link": "https://extensions.gnome.org/extension/5037/nano-system-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "1knfc419d5qmwr8l3zgyvnv3m0gbr3q8frlw8g342csly9s55jfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1knfc419d5qmwr8l3zgyvnv3m0gbr3q8frlw8g342csly9s55jfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1knfc419d5qmwr8l3zgyvnv3m0gbr3q8frlw8g342csly9s55jfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "42": {"version": "5", "sha256": "1knfc419d5qmwr8l3zgyvnv3m0gbr3q8frlw8g342csly9s55jfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBzdGF0dXMgb24gR05PTUUgU2hlbGwgcGFuZWxcblxuYmFyIHNob3dzIENQVXxtZW1vcnl8c3dhcCB1c2FnZXMsdGhlbiB0aGUgZG93bmxvYWR8dXBsb2FkIHNwZWVkIGFuZCBDUFUgdGVtcGVyYXR1cmUgYW5kIGZhbiBzcGVlZFxuXG5EaWZmZXJlbnQgY29sb3JzIHJlcHJlc2VudCBkaWZmZXJlbnQgcGVyY2VudGFnZSBzdGF0ZXMgYW5kIENQVSB0ZW1wZXJhdHVyZVxuXG5wbGVhc2UgdXNlIG1vbm9zcGFjZWQgZm9udCBmb3IgYmVzdCBleHBlcmllbmNlIiwKICAibmFtZSI6ICJOYW5vIFN5c3RlbSBNb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWVlZWVpby9nbm9tZS1zaGVsbC1leHRlbnNpb24tbmFuby1zeXN0ZW0tbW9uaXRvciIsCiAgInV1aWQiOiAibmFuby1zeXN0ZW0tbW9uaXRvckBlZWVlZWlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "start-overlay-in-application-view@Hex_cz", "name": "Start Overlay in Application View", "pname": "start-overlay-in-application-view", "description": "When activating overview (Super button), the application view is shown instead of the view with the windows.", "link": "https://extensions.gnome.org/extension/5040/start-overlay-in-application-view/", "shell_version_map": {"40": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}, "42": {"version": "3", "sha256": "1mk058ayvyiank9iisvdwkhlwh1sgm17viax4jd0kwfjwf7vvxvb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gYWN0aXZhdGluZyBvdmVydmlldyAoU3VwZXIgYnV0dG9uKSwgdGhlIGFwcGxpY2F0aW9uIHZpZXcgaXMgc2hvd24gaW5zdGVhZCBvZiB0aGUgdmlldyB3aXRoIHRoZSB3aW5kb3dzLiIsCiAgIm5hbWUiOiAiU3RhcnQgT3ZlcmxheSBpbiBBcHBsaWNhdGlvbiBWaWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGV4Y3ovU3RhcnQtT3ZlcmxheS1pbi1BcHBsaWNhdGlvbi1WaWV3LWZvci1Hbm9tZS00MC0iLAogICJ1dWlkIjogInN0YXJ0LW92ZXJsYXktaW4tYXBwbGljYXRpb24tdmlld0BIZXhfY3oiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "eortologio@danchris.github.io", "name": "Eortologio", "pname": "eortologio-extension", "description": "Simple gnome extension to display the greek namedays", "link": "https://extensions.gnome.org/extension/5046/eortologio-extension/", "shell_version_map": {"41": {"version": "2", "sha256": "1vi2nwj1h7hx33fn892nf4giln45g7wwknarrv7gn6vly3qnhki7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBleHRlbnNpb24gdG8gZGlzcGxheSB0aGUgZ3JlZWsgbmFtZWRheXMiLAogICJuYW1lIjogIkVvcnRvbG9naW8iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuY2hyaXMvZW9ydG9sb2dpby1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImVvcnRvbG9naW9AZGFuY2hyaXMuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "wallpaper-changer@ghostkeeper.github.com", "name": "Wallpaper Changer Continued", "pname": "wallpaper-changer-continued", "description": "Fork of wallpaper-changer@jomik.org, updated for Gnome 4", "link": "https://extensions.gnome.org/extension/5049/wallpaper-changer-continued/", "shell_version_map": {"40": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "42": {"version": "3", "sha256": "0kvjljwppdz95napbczb0zskmr5x2xsib3y5yk3qm3ig26k00j56", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Ygd2FsbHBhcGVyLWNoYW5nZXJAam9taWsub3JnLCB1cGRhdGVkIGZvciBHbm9tZSA0IiwKICAibmFtZSI6ICJXYWxscGFwZXIgQ2hhbmdlciBDb250aW51ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HaG9zdGtlZXBlci9nbm9tZS13YWxscGFwZXItY2hhbmdlciIsCiAgInV1aWQiOiAid2FsbHBhcGVyLWNoYW5nZXJAZ2hvc3RrZWVwZXIuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
+, {"uuid": "xremap@k0kubun.com", "name": "Xremap", "pname": "xremap", "description": "Allow xremap to fetch the focused app name using D-Bus", "link": "https://extensions.gnome.org/extension/5060/xremap/", "shell_version_map": {"38": {"version": "2", "sha256": "1r0ywdxr674bd36va1c96fs7ryd8v6qni6sv3ksr22xygpvripcc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veHJlbWFwL3hyZW1hcC1nbm9tZSIsCiAgInV1aWQiOiAieHJlbWFwQGswa3VidW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1r0ywdxr674bd36va1c96fs7ryd8v6qni6sv3ksr22xygpvripcc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veHJlbWFwL3hyZW1hcC1nbm9tZSIsCiAgInV1aWQiOiAieHJlbWFwQGswa3VidW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "1r0ywdxr674bd36va1c96fs7ryd8v6qni6sv3ksr22xygpvripcc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veHJlbWFwL3hyZW1hcC1nbm9tZSIsCiAgInV1aWQiOiAieHJlbWFwQGswa3VidW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "1r0ywdxr674bd36va1c96fs7ryd8v6qni6sv3ksr22xygpvripcc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93IHhyZW1hcCB0byBmZXRjaCB0aGUgZm9jdXNlZCBhcHAgbmFtZSB1c2luZyBELUJ1cyIsCiAgIm5hbWUiOiAiWHJlbWFwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veHJlbWFwL3hyZW1hcC1nbm9tZSIsCiAgInV1aWQiOiAieHJlbWFwQGswa3VidW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "SomaFm-Radio@cajhne.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.\n\n* Donation\nYou can donate if you like my work :)\n\nBTC: 1KXJPJSmXUocieC3neRZEDakpzfcyumLqS\nBCH : qzzmzegfy76r5glpj26jzq2xly2cczsmfyrn66ax8q\nETHER: 0xb6178080c8f0792e6370959909199647e26b8457", "link": "https://extensions.gnome.org/extension/5064/somafm-internet-radio/", "shell_version_map": {"38": {"version": "1", "sha256": "0k92wz17isih4sph7ssidcjddi7r4xvcha1pi9vb7dnwrhc6x1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby5cblxuKiBEb25hdGlvblxuWW91IGNhbiBkb25hdGUgaWYgeW91IGxpa2UgbXkgd29yayA6KVxuXG5CVEM6IDFLWEpQSlNtWFVvY2llQzNuZVJaRURha3B6ZmN5dW1McVNcbkJDSCA6IHF6em16ZWdmeTc2cjVnbHBqMjZqenEyeGx5MmNjenNtZnlybjY2YXg4cVxuRVRIRVI6IDB4YjYxNzgwODBjOGYwNzkyZTYzNzA5NTk5MDkxOTk2NDdlMjZiODQ1NyIsCiAgIm5hbWUiOiAiU29tYUZNIGludGVybmV0IHJhZGlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AY2FqaG5lLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "0k92wz17isih4sph7ssidcjddi7r4xvcha1pi9vb7dnwrhc6x1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby5cblxuKiBEb25hdGlvblxuWW91IGNhbiBkb25hdGUgaWYgeW91IGxpa2UgbXkgd29yayA6KVxuXG5CVEM6IDFLWEpQSlNtWFVvY2llQzNuZVJaRURha3B6ZmN5dW1McVNcbkJDSCA6IHF6em16ZWdmeTc2cjVnbHBqMjZqenEyeGx5MmNjenNtZnlybjY2YXg4cVxuRVRIRVI6IDB4YjYxNzgwODBjOGYwNzkyZTYzNzA5NTk5MDkxOTk2NDdlMjZiODQ1NyIsCiAgIm5hbWUiOiAiU29tYUZNIGludGVybmV0IHJhZGlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AY2FqaG5lLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "0k92wz17isih4sph7ssidcjddi7r4xvcha1pi9vb7dnwrhc6x1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby5cblxuKiBEb25hdGlvblxuWW91IGNhbiBkb25hdGUgaWYgeW91IGxpa2UgbXkgd29yayA6KVxuXG5CVEM6IDFLWEpQSlNtWFVvY2llQzNuZVJaRURha3B6ZmN5dW1McVNcbkJDSCA6IHF6em16ZWdmeTc2cjVnbHBqMjZqenEyeGx5MmNjenNtZnlybjY2YXg4cVxuRVRIRVI6IDB4YjYxNzgwODBjOGYwNzkyZTYzNzA5NTk5MDkxOTk2NDdlMjZiODQ1NyIsCiAgIm5hbWUiOiAiU29tYUZNIGludGVybmV0IHJhZGlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AY2FqaG5lLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "42": {"version": "1", "sha256": "0k92wz17isih4sph7ssidcjddi7r4xvcha1pi9vb7dnwrhc6x1hg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby5cblxuKiBEb25hdGlvblxuWW91IGNhbiBkb25hdGUgaWYgeW91IGxpa2UgbXkgd29yayA6KVxuXG5CVEM6IDFLWEpQSlNtWFVvY2llQzNuZVJaRURha3B6ZmN5dW1McVNcbkJDSCA6IHF6em16ZWdmeTc2cjVnbHBqMjZqenEyeGx5MmNjenNtZnlybjY2YXg4cVxuRVRIRVI6IDB4YjYxNzgwODBjOGYwNzkyZTYzNzA5NTk5MDkxOTk2NDdlMjZiODQ1NyIsCiAgIm5hbWUiOiAiU29tYUZNIGludGVybmV0IHJhZGlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MS4wIiwKICAgICI0Mi4wIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS9UaGVXZWlyZERldi9zb21hZm0tcmFkaW8tZ25vbWUtZXh0IiwKICAidXVpZCI6ICJTb21hRm0tUmFkaW9AY2FqaG5lLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "dollar-clp@albolea.github.com", "name": "Dollar-CLP", "pname": "dollar-clp", "description": "(USD US Dollar) converted to (CLP Peso Chileno). Updates are received every 30 seconds and are based on information provided by AwesomeAPI API, which can be consulted directly by accessing the address https://docs.awesomeapi.com.br. (based on michael.mattos's Dollar https://extensions.gnome.org/extension/4573/dollar/)", "link": "https://extensions.gnome.org/extension/5066/dollar-clp/", "shell_version_map": {"38": {"version": "2", "sha256": "0lc7mx77qvxx2q04bljza8pv1p98sv5qyi7rpbmr572yalxmsyv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKENMUCBQZXNvIENoaWxlbm8pLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzIGFuZCBhcmUgYmFzZWQgb24gaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgQXdlc29tZUFQSSBBUEksIHdoaWNoIGNhbiBiZSBjb25zdWx0ZWQgZGlyZWN0bHkgYnkgYWNjZXNzaW5nIHRoZSBhZGRyZXNzIGh0dHBzOi8vZG9jcy5hd2Vzb21lYXBpLmNvbS5ici4gKGJhc2VkIG9uIG1pY2hhZWwubWF0dG9zJ3MgRG9sbGFyIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ1NzMvZG9sbGFyLykiLAogICJuYW1lIjogIkRvbGxhci1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL2RvbGxhci1jbHAiLAogICJ1dWlkIjogImRvbGxhci1jbHBAYWxib2xlYS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0lc7mx77qvxx2q04bljza8pv1p98sv5qyi7rpbmr572yalxmsyv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKENMUCBQZXNvIENoaWxlbm8pLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzIGFuZCBhcmUgYmFzZWQgb24gaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgQXdlc29tZUFQSSBBUEksIHdoaWNoIGNhbiBiZSBjb25zdWx0ZWQgZGlyZWN0bHkgYnkgYWNjZXNzaW5nIHRoZSBhZGRyZXNzIGh0dHBzOi8vZG9jcy5hd2Vzb21lYXBpLmNvbS5ici4gKGJhc2VkIG9uIG1pY2hhZWwubWF0dG9zJ3MgRG9sbGFyIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ1NzMvZG9sbGFyLykiLAogICJuYW1lIjogIkRvbGxhci1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL2RvbGxhci1jbHAiLAogICJ1dWlkIjogImRvbGxhci1jbHBAYWxib2xlYS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0lc7mx77qvxx2q04bljza8pv1p98sv5qyi7rpbmr572yalxmsyv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKENMUCBQZXNvIENoaWxlbm8pLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzIGFuZCBhcmUgYmFzZWQgb24gaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgQXdlc29tZUFQSSBBUEksIHdoaWNoIGNhbiBiZSBjb25zdWx0ZWQgZGlyZWN0bHkgYnkgYWNjZXNzaW5nIHRoZSBhZGRyZXNzIGh0dHBzOi8vZG9jcy5hd2Vzb21lYXBpLmNvbS5ici4gKGJhc2VkIG9uIG1pY2hhZWwubWF0dG9zJ3MgRG9sbGFyIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ1NzMvZG9sbGFyLykiLAogICJuYW1lIjogIkRvbGxhci1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL2RvbGxhci1jbHAiLAogICJ1dWlkIjogImRvbGxhci1jbHBAYWxib2xlYS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "42": {"version": "2", "sha256": "0lc7mx77qvxx2q04bljza8pv1p98sv5qyi7rpbmr572yalxmsyv7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihVU0QgVVMgRG9sbGFyKSBjb252ZXJ0ZWQgdG8gKENMUCBQZXNvIENoaWxlbm8pLiBVcGRhdGVzIGFyZSByZWNlaXZlZCBldmVyeSAzMCBzZWNvbmRzIGFuZCBhcmUgYmFzZWQgb24gaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgQXdlc29tZUFQSSBBUEksIHdoaWNoIGNhbiBiZSBjb25zdWx0ZWQgZGlyZWN0bHkgYnkgYWNjZXNzaW5nIHRoZSBhZGRyZXNzIGh0dHBzOi8vZG9jcy5hd2Vzb21lYXBpLmNvbS5ici4gKGJhc2VkIG9uIG1pY2hhZWwubWF0dG9zJ3MgRG9sbGFyIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzQ1NzMvZG9sbGFyLykiLAogICJuYW1lIjogIkRvbGxhci1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL2RvbGxhci1jbHAiLAogICJ1dWlkIjogImRvbGxhci1jbHBAYWxib2xlYS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "real-clp@albolea.github.com", "name": "Real-CLP", "pname": "real-clp", "description": "(BRL Brazil Real) converted to (CLP Peso Chileno). Updates are received every 30 seconds and are based on information provided by AwesomeAPI API, which can be consulted directly by accessing the address https://docs.awesomeapi.com.br. (based on michael.mattos's Dollar https://extensions.gnome.org/extension/4573/dollar/)", "link": "https://extensions.gnome.org/extension/5069/real-clp/", "shell_version_map": {"38": {"version": "1", "sha256": "1kapkrz86qgxssas6wvf2rqmja0528j70b0dm9lhr88ya8rv4y93", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihCUkwgQnJhemlsIFJlYWwpIGNvbnZlcnRlZCB0byAoQ0xQIFBlc28gQ2hpbGVubykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiUmVhbC1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL3JlYWwtY2xwIiwKICAidXVpZCI6ICJyZWFsLWNscEBhbGJvbGVhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "1kapkrz86qgxssas6wvf2rqmja0528j70b0dm9lhr88ya8rv4y93", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihCUkwgQnJhemlsIFJlYWwpIGNvbnZlcnRlZCB0byAoQ0xQIFBlc28gQ2hpbGVubykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiUmVhbC1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL3JlYWwtY2xwIiwKICAidXVpZCI6ICJyZWFsLWNscEBhbGJvbGVhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "1kapkrz86qgxssas6wvf2rqmja0528j70b0dm9lhr88ya8rv4y93", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihCUkwgQnJhemlsIFJlYWwpIGNvbnZlcnRlZCB0byAoQ0xQIFBlc28gQ2hpbGVubykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiUmVhbC1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL3JlYWwtY2xwIiwKICAidXVpZCI6ICJyZWFsLWNscEBhbGJvbGVhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "42": {"version": "1", "sha256": "1kapkrz86qgxssas6wvf2rqmja0528j70b0dm9lhr88ya8rv4y93", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIihCUkwgQnJhemlsIFJlYWwpIGNvbnZlcnRlZCB0byAoQ0xQIFBlc28gQ2hpbGVubykuIFVwZGF0ZXMgYXJlIHJlY2VpdmVkIGV2ZXJ5IDMwIHNlY29uZHMgYW5kIGFyZSBiYXNlZCBvbiBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBBd2Vzb21lQVBJIEFQSSwgd2hpY2ggY2FuIGJlIGNvbnN1bHRlZCBkaXJlY3RseSBieSBhY2Nlc3NpbmcgdGhlIGFkZHJlc3MgaHR0cHM6Ly9kb2NzLmF3ZXNvbWVhcGkuY29tLmJyLiAoYmFzZWQgb24gbWljaGFlbC5tYXR0b3MncyBEb2xsYXIgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDU3My9kb2xsYXIvKSIsCiAgIm5hbWUiOiAiUmVhbC1DTFAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbGJvbGVhL3JlYWwtY2xwIiwKICAidXVpZCI6ICJyZWFsLWNscEBhbGJvbGVhLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 ]
diff --git a/pkgs/desktops/gnome/games/atomix/default.nix b/pkgs/desktops/gnome/games/atomix/default.nix
index e57191f0a1dd0..7720fd1724d6f 100644
--- a/pkgs/desktops/gnome/games/atomix/default.nix
+++ b/pkgs/desktops/gnome/games/atomix/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wrapGAppsHook, python3
+{ lib, stdenv, fetchurl, fetchpatch
+, meson, ninja, pkg-config, wrapGAppsHook, python3
 , gettext, gnome, glib, gtk3, libgnome-games-support, gdk-pixbuf }:
 
 stdenv.mkDerivation rec {
@@ -10,9 +11,24 @@ stdenv.mkDerivation rec {
     sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains like gcc-10:
+    #  https://gitlab.gnome.org/GNOME/atomix/-/merge_requests/2
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitlab.gnome.org/GNOME/atomix/-/commit/be7f44f1945a569494d46c60eaf6e7b39b2bb48b.patch";
+      sha256 = "0nrwl6kb1als9mxd5s0la45z63xwshqlnxqjaax32w8yrl6kz7l8";
+    })
+  ];
+
   nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook python3 ];
   buildInputs = [ glib gtk3 gdk-pixbuf libgnome-games-support gnome.adwaita-icon-theme ];
 
+  # When building with clang ceil() is not inlined:
+  # ld: src/libatomix.a.p/canvas_helper.c.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
+  #  https://gitlab.gnome.org/GNOME/atomix/-/merge_requests/3
+  NIX_LDFLAGS = "-lm";
+
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
diff --git a/pkgs/desktops/gnome/misc/pomodoro/default.nix b/pkgs/desktops/gnome/misc/pomodoro/default.nix
index 245a522934323..b37e96bb3a2ab 100644
--- a/pkgs/desktops/gnome/misc/pomodoro/default.nix
+++ b/pkgs/desktops/gnome/misc/pomodoro/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , substituteAll
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -17,6 +16,7 @@
 , libxml2
 , glib
 , gobject-introspection
+, json-glib
 , libpeas
 , gsettings-desktop-schemas
 , gettext
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-pomodoro";
-  version = "0.20.0";
+  version = "0.21.1";
 
   src = fetchFromGitHub {
     owner = "gnome-pomodoro";
     repo = "gnome-pomodoro";
     rev = version;
-    sha256 = "sha256-USzLHoBM0QbBPtbTzJJY02cOSDtmlxPGYhMj7M1FJic=";
+    sha256 = "sha256-47gZsL1Hg30wtq6NeZdi8gbLHUZJ34KLzxvIg5DqyUk=";
   };
 
   patches = [
@@ -40,13 +40,6 @@ stdenv.mkDerivation rec {
       src = ./fix-schema-path.patch;
       inherit pname version;
     })
-
-    # Fix error reporting code.
-    # https://github.com/gnome-pomodoro/gnome-pomodoro/pull/591
-    (fetchpatch {
-      url = "https://github.com/gnome-pomodoro/gnome-pomodoro/commit/133bd62f15653856d9705b66188b42c20d81719e.patch";
-      sha256 = "A20K+57A6/lYH2Buri2+wrCQgz6EGBdYg2xQbHPSkYc=";
-    })
   ];
 
   nativeBuildInputs = [
@@ -69,6 +62,7 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-good
     gst_all_1.gstreamer
     gtk3
+    json-glib
     libcanberra
     libpeas
     sqlite
diff --git a/pkgs/desktops/lxde/core/lxmenu-data.nix b/pkgs/desktops/lxde/core/lxmenu-data/default.nix
index e52445aa0b049..e52445aa0b049 100644
--- a/pkgs/desktops/lxde/core/lxmenu-data.nix
+++ b/pkgs/desktops/lxde/core/lxmenu-data/default.nix
diff --git a/pkgs/desktops/lxde/default.nix b/pkgs/desktops/lxde/default.nix
new file mode 100644
index 0000000000000..8421bc5dac62d
--- /dev/null
+++ b/pkgs/desktops/lxde/default.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs }:
+
+lib.makeScope pkgs.newScope (self: with self; {
+
+  inherit (pkgs) gtk2-x11;
+
+  lxappearance = callPackage ./core/lxappearance { };
+
+  lxappearance-gtk2 = callPackage ./core/lxappearance {
+    gtk2 = gtk2-x11;
+    withGtk3 = false;
+  };
+
+  lxmenu-data = callPackage ./core/lxmenu-data { };
+
+  lxpanel = callPackage ./core/lxpanel {
+    gtk2 = gtk2-x11;
+  };
+
+  lxrandr = callPackage ./core/lxrandr { };
+
+  lxsession = callPackage ./core/lxsession { };
+
+  lxtask = callPackage ./core/lxtask { };
+})
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index 703913998a452..17b241e7a9cbc 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -2,49 +2,41 @@
 , stdenv
 , fetchFromGitHub
 , nix-update-script
-, pkg-config
 , meson
 , ninja
-, vala
-, desktop-file-utils
-, libxml2
-, gtk3
+, pkg-config
 , python3
-, granite
+, vala
+, wrapGAppsHook4
+, granite7
+, gtk4
 , libgee
-, libhandy
-, appstream
-, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.7.2";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "calculator";
     rev = version;
-    sha256 = "sha256-U0wXrw9ZJwkqZAtTTHmTzqYhwF9V2JZEZZdDak3kPIc=";
+    sha256 = "sha256-NE7x5vSfwakwJJe2VGRFiYc7GCB1M6xU5945EC6Em34=";
   };
 
   nativeBuildInputs = [
-    appstream
-    desktop-file-utils
-    libxml2
     meson
     ninja
     pkg-config
     python3
     vala
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    granite
-    gtk3
+    granite7
+    gtk4
     libgee
-    libhandy
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix
index ee43903a00a14..cc719e65dfa94 100644
--- a/pkgs/desktops/pantheon/apps/switchboard/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -18,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard";
-  version = "6.0.0";
+  version = "6.0.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
+    sha256 = "sha256-QMh9m6Xc0BeprZHrOgcmSireWb8Ja7Td0COYMgYw+5M=";
   };
 
   nativeBuildInputs = [
@@ -46,18 +45,6 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugs-path-env.patch
-    # Upstream code not respecting our localedir
-    # https://github.com/elementary/switchboard/pull/214
-    (fetchpatch {
-      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 = ''
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 06fbfdc078e2e..d8aa9483abefe 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -30,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-greeter";
-  version = "6.0.2";
+  version = "6.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "greeter";
     rev = version;
-    sha256 = "sha256-0chBM8JuCYgZXHneiSxSICZwBVm2Vgx+bas9wUjbnyg=";
+    sha256 = "sha256-CY+dPSyQ/ovSdI80uEipDdnWy1KjbZnwpn9sd8HrbPQ=";
   };
 
   patches = [
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index c7b7599c31955..77129d3430768 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.4/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.24.5/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix
index 229810edde1d9..47551cedfb2c1 100644
--- a/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/pkgs/desktops/plasma-5/powerdevil.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   bluez-qt, kactivities, kauth, kconfig, kdbusaddons,
   kglobalaccel, ki18n, kidletime, kio, knotifyconfig, kwayland, libkscreen,
-  ddcutil, networkmanager-qt, plasma-workspace, qtx11extras, solid, udev
+  networkmanager-qt, plasma-workspace, qtx11extras, solid, udev
 }:
 
 mkDerivation {
@@ -13,9 +13,5 @@ mkDerivation {
     kconfig kdbusaddons knotifyconfig solid udev bluez-qt kactivities kauth
     kglobalaccel ki18n kio kidletime kwayland libkscreen
     networkmanager-qt plasma-workspace qtx11extras
-    ddcutil
-  ];
-  cmakeFlags = [
-    "-DHAVE_DDCUTIL=On"
   ];
 }
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index fc9e97c7f6860..d4369a9073551 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,427 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/bluedevil-5.24.4.tar.xz";
-      sha256 = "1mph04r6l9bxml1brwifbnk6lkjxkzxx75b3g3myzijjv6f8wxw3";
-      name = "bluedevil-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/bluedevil-5.24.5.tar.xz";
+      sha256 = "1yhynfpgm2cwvimh63hihg5dm0hzjp20364bvjyyh108830rjsf9";
+      name = "bluedevil-5.24.5.tar.xz";
     };
   };
   breeze = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-5.24.4.tar.xz";
-      sha256 = "01cqji6figwb95drcq9vrqlkv7xmpn2csbi2mvixbcdawqhywsg3";
-      name = "breeze-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-5.24.5.tar.xz";
+      sha256 = "18zhm9my0vhwiq95v3p48z8s5m4a5c7kw8n144ykqlm51nssc9c5";
+      name = "breeze-5.24.5.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-grub-5.24.4.tar.xz";
-      sha256 = "1p154g2x1g00iam2gkv7pml1r0b91b21s8fgrfrqg5pj45ysp5bc";
-      name = "breeze-grub-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-grub-5.24.5.tar.xz";
+      sha256 = "02lcv23l3zr0g6nggmrxz4pgq852fir9yramhaxmcg634pxiacni";
+      name = "breeze-grub-5.24.5.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-gtk-5.24.4.tar.xz";
-      sha256 = "0s51azc2xmh7agbqlm9rn39c5qh6rfwyc2dq4sfv6vspm1883zmj";
-      name = "breeze-gtk-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-gtk-5.24.5.tar.xz";
+      sha256 = "0c25z69lyjczm05jraqk2f09sipkhpsz5zirwzqdq3apip06qw93";
+      name = "breeze-gtk-5.24.5.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/breeze-plymouth-5.24.4.tar.xz";
-      sha256 = "038pglghl40nyq6lzydijy3wnr5agvfzddjxrf6lc9m6qapqd37v";
-      name = "breeze-plymouth-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/breeze-plymouth-5.24.5.tar.xz";
+      sha256 = "044sbffr4sqvgkfbraa4rvlsih7zz9b300hipp33mwhpzyjjcpdc";
+      name = "breeze-plymouth-5.24.5.tar.xz";
     };
   };
   discover = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/discover-5.24.4.tar.xz";
-      sha256 = "0smhys51chvjh2ij4mk03cfnq09n8cq22iag1ld9j2125l5iwa99";
-      name = "discover-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/discover-5.24.5.tar.xz";
+      sha256 = "18a8z9ifyyjmmc620dsh491vb1q3q9bxd8gfjf5k87mgwmg1wmwk";
+      name = "discover-5.24.5.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/drkonqi-5.24.4.tar.xz";
-      sha256 = "1yn7yj8nwnxm1s0si2353wl17jv7c7l5dc7833ndl56phv2999x0";
-      name = "drkonqi-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/drkonqi-5.24.5.tar.xz";
+      sha256 = "1ps1p8pvp51rswynbv337qr3qj2z7r7kd9qpxgcrha9pql01h5gy";
+      name = "drkonqi-5.24.5.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kactivitymanagerd-5.24.4.tar.xz";
-      sha256 = "0aamfgc4bdrysq7ps134pf5v4bgiwrsxffi0nb6d8zazswgkfa41";
-      name = "kactivitymanagerd-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kactivitymanagerd-5.24.5.tar.xz";
+      sha256 = "0j6d50cjry4j3vzxb6hd4w95y2h3l0yfhyrhl693njr64aq7d4pa";
+      name = "kactivitymanagerd-5.24.5.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kde-cli-tools-5.24.4.tar.xz";
-      sha256 = "1w2rhz32xaqhmq5lyvfmjrbssqf9f35k5fk02f05fz79yk9wir7z";
-      name = "kde-cli-tools-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kde-cli-tools-5.24.5.tar.xz";
+      sha256 = "0afksrxd6mq9rcvh3g8y05kl0la4wmn1yksif8p1bcxpd4sdvw77";
+      name = "kde-cli-tools-5.24.5.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kde-gtk-config-5.24.4.tar.xz";
-      sha256 = "02spbx2rniiyvzj4qb6lgzj0f83k4vq53fk4i1m45438z7aslymi";
-      name = "kde-gtk-config-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kde-gtk-config-5.24.5.tar.xz";
+      sha256 = "0sg8kqlkklvjhj69z5wzhvi0hddxa192j4vc4wc9hmfl1wirr8cq";
+      name = "kde-gtk-config-5.24.5.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kdecoration-5.24.4.tar.xz";
-      sha256 = "05ccyb314mxf0d4ivj71l9lh13s3fqr7f4d2rmg6qshsql39569c";
-      name = "kdecoration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kdecoration-5.24.5.tar.xz";
+      sha256 = "1hjjl6k09zi8n9nblbcm69c3br6d4dhzaw55xyygglaz6kb8fc17";
+      name = "kdecoration-5.24.5.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kdeplasma-addons-5.24.4.tar.xz";
-      sha256 = "03b8d3kdzwpyqrqkmpswryksrhav3mwcnbyzdc3g2kpk2qnx68fp";
-      name = "kdeplasma-addons-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kdeplasma-addons-5.24.5.tar.xz";
+      sha256 = "03p8wmsb5nl7j6kwl6j8nwlf6v7snh933jyglgp2vnclqp1jpd9x";
+      name = "kdeplasma-addons-5.24.5.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kgamma5-5.24.4.tar.xz";
-      sha256 = "0z1zrw5id455idjbaqracs1vcwgs93an7w27ggfqs6i8nabrivbk";
-      name = "kgamma5-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kgamma5-5.24.5.tar.xz";
+      sha256 = "1i7i3dc5qfb3v9hz9w9hszr8jbbdbfq0b59a4bh1p6xakxx8k1l0";
+      name = "kgamma5-5.24.5.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/khotkeys-5.24.4.tar.xz";
-      sha256 = "033dgz8wbsw2nj133hnmygz1izmcpxdn80jbjbm66nhbbyq7bb2s";
-      name = "khotkeys-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/khotkeys-5.24.5.tar.xz";
+      sha256 = "06m7yrs75arwdfrkpkn9b5kiz2xlrsxlpsjr18j1pjhxras0f8vs";
+      name = "khotkeys-5.24.5.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kinfocenter-5.24.4.tar.xz";
-      sha256 = "0f5q6ajyd794p1z9j3il8sajlqkdcnf06xq4612qxdp49nb88nyw";
-      name = "kinfocenter-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kinfocenter-5.24.5.tar.xz";
+      sha256 = "0c2bq7m8c9r17s8qalp4cdz1qimzwnvh9wrba4rqcmxwbv043ln1";
+      name = "kinfocenter-5.24.5.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kmenuedit-5.24.4.tar.xz";
-      sha256 = "0ril8jxqkaavc4bkpksnyxn3bww7b81gnp9bnb17acrr2nd7wyhl";
-      name = "kmenuedit-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kmenuedit-5.24.5.tar.xz";
+      sha256 = "02il6bhayjni0jsx1d1cnmxv5yc7r0d02s2v6cs87fbdrnl7d9vq";
+      name = "kmenuedit-5.24.5.tar.xz";
     };
   };
   kscreen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kscreen-5.24.4.tar.xz";
-      sha256 = "0shvhymdfxw1gz49y1s79zik9kkg5qh0mqdj6dx0s6r3w6vysj1h";
-      name = "kscreen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kscreen-5.24.5.tar.xz";
+      sha256 = "1g5mlc78giq8zrpyq6d2jhqgyj6yh2nhbqv6wjm9cdbq4nnm3hyr";
+      name = "kscreen-5.24.5.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kscreenlocker-5.24.4.tar.xz";
-      sha256 = "1xzc80awsapsg65kk21ssp7y0jb374k1w2bb7gvzj8j40rrn48pv";
-      name = "kscreenlocker-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kscreenlocker-5.24.5.tar.xz";
+      sha256 = "13prkdwxd200ps4cy6rf2n4g9ll6fp1f93dk1njr9ilzbj2a2w1j";
+      name = "kscreenlocker-5.24.5.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/ksshaskpass-5.24.4.tar.xz";
-      sha256 = "1pa41w793dbi3rv6mm1a4xp46n80qwdpdlwhi6z4x76hjvqx9i9l";
-      name = "ksshaskpass-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/ksshaskpass-5.24.5.tar.xz";
+      sha256 = "1jw3hfnlplqsss1h49p5f3722qc22ln22sahs5ypsxszmqihpqiz";
+      name = "ksshaskpass-5.24.5.tar.xz";
     };
   };
   ksystemstats = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/ksystemstats-5.24.4.tar.xz";
-      sha256 = "1pa7xrw5ij32bm66pn72zkzz8y70fq71n4kigm9ixc1s2glkbiwd";
-      name = "ksystemstats-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/ksystemstats-5.24.5.tar.xz";
+      sha256 = "1xsrlwm1hhagwjyjm240bfmri24z88v95m9pz95dpbcllkwdib0b";
+      name = "ksystemstats-5.24.5.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwallet-pam-5.24.4.tar.xz";
-      sha256 = "0s6z7ds42a7kba25jd7pzylw7d2mc27xgymmdrpkg2afqanf3m4r";
-      name = "kwallet-pam-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwallet-pam-5.24.5.tar.xz";
+      sha256 = "1smclklxcfbxxxi3lgw2p6wmvj50fg40323j1b8p5z731ywdk3i3";
+      name = "kwallet-pam-5.24.5.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwayland-integration-5.24.4.tar.xz";
-      sha256 = "1cnfb81yv6m37m2kyk523skqbk5in1kpbpxq60ivjri91sm4pryj";
-      name = "kwayland-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwayland-integration-5.24.5.tar.xz";
+      sha256 = "1v12631xdjdp2wkjvyls8g0sv18amy7g4mddrh45pybhpc3rcsl0";
+      name = "kwayland-integration-5.24.5.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwayland-server-5.24.4.tar.xz";
-      sha256 = "1279nqhy1qyz84dkn23rvzak8bg71hbrp09jlhv9mkjdb3bhnyfi";
-      name = "kwayland-server-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwayland-server-5.24.5.tar.xz";
+      sha256 = "0ydj6p489psqblqd88lk04q62qn1spa1m0zdjq8d32a4g4lvxnid";
+      name = "kwayland-server-5.24.5.tar.xz";
     };
   };
   kwin = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwin-5.24.4.tar.xz";
-      sha256 = "1qwcd6iw6yvpchiwmvq5nwsr465jmrmscf286mjrc65im4hj6572";
-      name = "kwin-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwin-5.24.5.tar.xz";
+      sha256 = "10mgbs1mbhjzbwx07q77wdzhj11yc156j75fbvy8mszb9hjiappk";
+      name = "kwin-5.24.5.tar.xz";
     };
   };
   kwrited = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/kwrited-5.24.4.tar.xz";
-      sha256 = "0j86ih4g762a94cyzilcbigh7iv04a80bqrlxm02fbqhffv01mv2";
-      name = "kwrited-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/kwrited-5.24.5.tar.xz";
+      sha256 = "0gfjvj8wnfgb3s2daz7xpg9flc8xv6hk12z6ckbchq71w4gs6132";
+      name = "kwrited-5.24.5.tar.xz";
     };
   };
   layer-shell-qt = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/layer-shell-qt-5.24.4.tar.xz";
-      sha256 = "03qyf6pvk36ig6ilimq02q19frdlsmrkbng2iz3d59k15zdrz5x0";
-      name = "layer-shell-qt-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/layer-shell-qt-5.24.5.tar.xz";
+      sha256 = "0ydjfxrkmpi052gfhkccsp9m5az3z6qiggb5wx6cjz39q06614gm";
+      name = "layer-shell-qt-5.24.5.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/libkscreen-5.24.4.tar.xz";
-      sha256 = "1xv7vml5lxj1lnansisfbfym35h265ggwsyjplz76aibj5nyqv81";
-      name = "libkscreen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/libkscreen-5.24.5.tar.xz";
+      sha256 = "1jbgq1ddl0q5y8cx4m7k5q38gl0kxv929wxr3hn3vr906fpiiwbz";
+      name = "libkscreen-5.24.5.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/libksysguard-5.24.4.tar.xz";
-      sha256 = "00i4l2kc02wymmiqh7wam8dp4h9hvn8nsxfv258waq7pnxzjmnkn";
-      name = "libksysguard-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/libksysguard-5.24.5.tar.xz";
+      sha256 = "1v21xckvwx6xkiqihv3pc2ps5mmc4ahp5vadxm3lrh0pdqxb6v5h";
+      name = "libksysguard-5.24.5.tar.xz";
     };
   };
   milou = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/milou-5.24.4.tar.xz";
-      sha256 = "0z7kmygvjzj30llwg8gpibjja2gzc09nh9pxrpy78pa1jxnas29i";
-      name = "milou-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/milou-5.24.5.tar.xz";
+      sha256 = "1rh5zy1x427cv07zmikmh0rmviz7vcvnz2pyravyfzaxay5lwnf1";
+      name = "milou-5.24.5.tar.xz";
     };
   };
   oxygen = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/oxygen-5.24.4.tar.xz";
-      sha256 = "1d3sz2qc1cz9x6g04r0scvw9fmrazfn5v3iav4cn7wdkz8x06kc0";
-      name = "oxygen-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/oxygen-5.24.5.tar.xz";
+      sha256 = "1gh06wwm6gdjpsbjlxnrrlgsfd5w7lb0pddcml9l2w0dvlgfyn1v";
+      name = "oxygen-5.24.5.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-browser-integration-5.24.4.tar.xz";
-      sha256 = "1havd775d4x2y36nkba2k6vdf839dspk10mxccnk2wkhdxmzfyk7";
-      name = "plasma-browser-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-browser-integration-5.24.5.tar.xz";
+      sha256 = "1xybyn6vsahr5j0g57bsfxmz78w35ibzavcax1inrdlnb7sblrqv";
+      name = "plasma-browser-integration-5.24.5.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-desktop-5.24.4.tar.xz";
-      sha256 = "09fhqz2sp4caabr1li1shjd8l052vp4d10ci7pwsqj8f61331qmh";
-      name = "plasma-desktop-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-desktop-5.24.5.tar.xz";
+      sha256 = "0iic01iwg4bkp8sfp4mbm5lvbj98wjcyi0k79jfr1sx78dn7jn5g";
+      name = "plasma-desktop-5.24.5.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-disks-5.24.4.tar.xz";
-      sha256 = "1mi5fp3305kjw41zhbccxyg666gcmmrvckipjhnnnfwd3gl372ng";
-      name = "plasma-disks-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-disks-5.24.5.tar.xz";
+      sha256 = "1x3lm5cnwa51i8kcmp7pq29fpa9za3ypsmmldf2jbisawjnrb50k";
+      name = "plasma-disks-5.24.5.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-firewall-5.24.4.tar.xz";
-      sha256 = "0f9g5m2ddbp2axfxqc4d92fzg6r4z1l56i6nsry6nlz6cqky3fm2";
-      name = "plasma-firewall-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-firewall-5.24.5.tar.xz";
+      sha256 = "0mk9plb1rwng77qy55c7y7ga4fkafan89bf4vqsc4i9nfn49d944";
+      name = "plasma-firewall-5.24.5.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-integration-5.24.4.tar.xz";
-      sha256 = "1d2d7cmhdhmdzs91vpc2p3fg413daqhqilp8d2qbpsks5hyrkm3k";
-      name = "plasma-integration-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-integration-5.24.5.tar.xz";
+      sha256 = "0ynzx99jn4fqzbrv9mav0sw06rzf7mm1rv17g17vsxijwbhr0i6d";
+      name = "plasma-integration-5.24.5.tar.xz";
     };
   };
   plasma-mobile = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-mobile-5.24.4.tar.xz";
-      sha256 = "1hgcnb4flw224j57fxkhaiwapymq6ccjwqj8s6jgqzc3ax0py0vr";
-      name = "plasma-mobile-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-mobile-5.24.5.tar.xz";
+      sha256 = "0400rwx4pbz4kfy06f2vxchlf9vr6dx71wsi6vir3vdmvl43yazd";
+      name = "plasma-mobile-5.24.5.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-nano-5.24.4.tar.xz";
-      sha256 = "1fdq4r5zlkf3qb0a47zv3apgnqs4gqqfj8pdlcmzkyn9xykzs9vw";
-      name = "plasma-nano-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-nano-5.24.5.tar.xz";
+      sha256 = "0zxvqzg1p6ci6581bh4nhsq2p6pq66pmvs93zlj89ml4am176213";
+      name = "plasma-nano-5.24.5.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-nm-5.24.4.tar.xz";
-      sha256 = "0bzc48vdrnd6n9qcm8ms7wrjm2yl7h9dik32arwdxx56vb7jhv08";
-      name = "plasma-nm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-nm-5.24.5.tar.xz";
+      sha256 = "0adl5wfrz16hc7j64830cx1ga0bh9zd8bff95a30zdiggp7jc45f";
+      name = "plasma-nm-5.24.5.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-pa-5.24.4.tar.xz";
-      sha256 = "09fkaq2zzicgr214zi2wf7cirffm7mwh55bivvafblp1wlavkrgz";
-      name = "plasma-pa-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-pa-5.24.5.tar.xz";
+      sha256 = "1lgq2lydl65bh01043ji7kkignrb5lfcvbhy0g4g7lw778whv3q6";
+      name = "plasma-pa-5.24.5.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-sdk-5.24.4.tar.xz";
-      sha256 = "1zkggp9a1yz5mwwvndizwlan6wlb2fy8n940ljnhldccl91mgwzc";
-      name = "plasma-sdk-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-sdk-5.24.5.tar.xz";
+      sha256 = "0d35sckjvi77b3475pfh1ixdsdx0m7b0hbsx5rbjgj4b05cdpm0w";
+      name = "plasma-sdk-5.24.5.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-systemmonitor-5.24.4.tar.xz";
-      sha256 = "0jcsmmg0asf2npl3f1nbzazz3i8m9b34q55088k8jjakwwxqbwhz";
-      name = "plasma-systemmonitor-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-systemmonitor-5.24.5.tar.xz";
+      sha256 = "1vx0w5kmnp3chhydas7ijy8h1xf6dggd1ryhbr3k9qz2qihxfsqm";
+      name = "plasma-systemmonitor-5.24.5.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-tests-5.24.4.tar.xz";
-      sha256 = "1ms298h9wghj9gpi7laf1dsd7s3yiycy44k4s5v4id8vfarnbs27";
-      name = "plasma-tests-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-tests-5.24.5.tar.xz";
+      sha256 = "1aqmmix0ds9vg4cjj8dagaya10ainhcciixamdylz1p7vgzpsrkx";
+      name = "plasma-tests-5.24.5.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-thunderbolt-5.24.4.tar.xz";
-      sha256 = "1cqabdsg8v8b00ppbabrg2gih16lf79lr5i8mqvjnc73npacvzhy";
-      name = "plasma-thunderbolt-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-thunderbolt-5.24.5.tar.xz";
+      sha256 = "1q0r9l2b06qkbyxa25lvqdwz0rgcjvp48gwkw0xhhaf6fyaai1cl";
+      name = "plasma-thunderbolt-5.24.5.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-vault-5.24.4.tar.xz";
-      sha256 = "0rj9z2c52mya2fjm4bimqz5z3lj2qg764zri6bqwrgwgsjwc4s81";
-      name = "plasma-vault-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-vault-5.24.5.tar.xz";
+      sha256 = "16cyzyfzwqwqsg7hhg576acvxvbd12b7mznvicrrqnyf4wvw68l1";
+      name = "plasma-vault-5.24.5.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-5.24.4.tar.xz";
-      sha256 = "0w7cnawnpcg5zk9bycjcnc8yfz21whrhd9h2z7hizgfnj2q403jv";
-      name = "plasma-workspace-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-5.24.5.tar.xz";
+      sha256 = "1xk4424az7sgb0kyysr1s2x756vj4km50xxzkn1s1kxyw28jd4dr";
+      name = "plasma-workspace-5.24.5.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plasma-workspace-wallpapers-5.24.4.tar.xz";
-      sha256 = "0hpg7nn5wsn56my48jk225x1qb70sgf3hf8q5swwqc1xc6xzcg14";
-      name = "plasma-workspace-wallpapers-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plasma-workspace-wallpapers-5.24.5.tar.xz";
+      sha256 = "0aabmd4zswmzdy958y1yq0yp1v9i8kzl959d6r4pwi0lmhr6g6qi";
+      name = "plasma-workspace-wallpapers-5.24.5.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/plymouth-kcm-5.24.4.tar.xz";
-      sha256 = "0s5h25vyk5yzipwj91rb62xzgi6aafpwikh7ibpmmh2wn71x3amr";
-      name = "plymouth-kcm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/plymouth-kcm-5.24.5.tar.xz";
+      sha256 = "04m4129hxgq4g9v8gvi8q0hzhqzd866j3j1ffxs5vfd27r155wcr";
+      name = "plymouth-kcm-5.24.5.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.24.4";
+    version = "1-5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/polkit-kde-agent-1-5.24.4.tar.xz";
-      sha256 = "1bc5ss6v4d7kwk1chhvpis5srs8lfypims46wgxjncyhjg2lcllm";
-      name = "polkit-kde-agent-1-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/polkit-kde-agent-1-5.24.5.tar.xz";
+      sha256 = "0w78c59nm71xnd5prm035z94r5bzlqr0fyri43a8vrfyyb21r9l9";
+      name = "polkit-kde-agent-1-5.24.5.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/powerdevil-5.24.4.tar.xz";
-      sha256 = "0sjlx5fhfdld1i352adi2bhyd29ja9lbmzhfxgnvmpfl6q7c0w7g";
-      name = "powerdevil-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/powerdevil-5.24.5.tar.xz";
+      sha256 = "1wr3rk318j93rnyh24icl4yxdj40zasymlddc71ram80fswa2k4n";
+      name = "powerdevil-5.24.5.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/qqc2-breeze-style-5.24.4.tar.xz";
-      sha256 = "1d0cgsxvnm0zza7n5hz47n28yrr35hp0vniggifncm0ag8sn0kmd";
-      name = "qqc2-breeze-style-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/qqc2-breeze-style-5.24.5.tar.xz";
+      sha256 = "1m0xnx46zkv1dlwkgns1ibgsl934jbcfz35jlm4p8l6n1y2jcjyg";
+      name = "qqc2-breeze-style-5.24.5.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/sddm-kcm-5.24.4.tar.xz";
-      sha256 = "0pfqp5das7pxpmh111i2dlfqm6xzzd99bcb32bbmd9v6w2wlgwxy";
-      name = "sddm-kcm-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/sddm-kcm-5.24.5.tar.xz";
+      sha256 = "15z5hfpczi73vqjfj9z2ai2r4187fyrvfnikcfb18g2bdh1n54ng";
+      name = "sddm-kcm-5.24.5.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/systemsettings-5.24.4.tar.xz";
-      sha256 = "0cqm7s89jvzqz1fw32284ppnm3dc69yvc8bqqgw5jdbbjnc1z4k9";
-      name = "systemsettings-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/systemsettings-5.24.5.tar.xz";
+      sha256 = "1rg9zx7fhrg91nlarv0cz384agbik47sccj7hhshnxnq1czvawjv";
+      name = "systemsettings-5.24.5.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.24.4";
+    version = "5.24.5";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.24.4/xdg-desktop-portal-kde-5.24.4.tar.xz";
-      sha256 = "07nwb6ff8rnlk2play9gar52d8d44b8y412hnx9a9d4b50b4js0i";
-      name = "xdg-desktop-portal-kde-5.24.4.tar.xz";
+      url = "${mirror}/stable/plasma/5.24.5/xdg-desktop-portal-kde-5.24.5.tar.xz";
+      sha256 = "1zn6wln8pccj1x3labms7xippn6xgv4aamwpmzk2rvwss9jwz75m";
+      name = "xdg-desktop-portal-kde-5.24.5.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/rox/rox-filer/default.nix b/pkgs/desktops/rox/rox-filer/default.nix
index 032209c2f1822..e26c90592252f 100644
--- a/pkgs/desktops/rox/rox-filer/default.nix
+++ b/pkgs/desktops/rox/rox-filer/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , pkg-config
 , wrapGAppsHook
 , libxml2
@@ -27,13 +28,20 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./rox-filer-2.11-in-source-build.patch
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #   https://github.com/rox-desktop/rox-filer/pull/15
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/rox-desktop/rox-filer/commit/86b0bb9144186d51ea9b898905111bd8b143b552.patch";
+      sha256 = "1csyx229i09p00lbdlkdqdhn3x2lb5zby1h9rkjgzlr2qz74gc69";
+    })
   ];
 
   # go to the source directory after unpacking the sources
   setSourceRoot = "export sourceRoot=rox-filer-${version}/ROX-Filer/";
 
-  # patch source with defined patches
-  patchFlags = [ "-p0" ];
+  # account for 'setSourceRoot' offset
+  patchFlags = [ "-p2" ];
 
   # patch the main.c to disable the lookup of the APP_DIR environment variable,
   # which is used to lookup the location for certain images when rox-filer
diff --git a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
index 11bd80044595c..c68bba7ec6cf3 100644
--- a/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
+++ b/pkgs/desktops/rox/rox-filer/rox-filer-2.11-in-source-build.patch
@@ -1,5 +1,5 @@
---- src/configure	2011-10-09 16:32:14.000000000 +0200
-+++ src/configure2	2016-03-20 09:26:31.640891863 +0100
+--- a/Rox-Filer/src/configure	2011-10-09 16:32:14.000000000 +0200
++++ b/Rox-Filer/src/configure	2016-03-20 09:26:31.640891863 +0100
 @@ -2132,13 +2132,6 @@
  
  
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index b2dc909626965..0eefbd442530e 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -3,9 +3,9 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-terminal";
-  version = "1.0.2";
+  version = "1.0.3";
 
-  sha256 = "sha256-d69SjV7dkiYmc0R5OyU5DV5RM3h51an4idWV872QoE4=";
+  sha256 = "sha256-oZOnPAfvSXCreFHTIZYpJhOdtlDOHrAUMvGIjYU+TRU=";
 
   nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
 
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index 47fbcc5f38e74..badda3a6a57a0 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib }:
 let
-  version = "0.31.0";
+  version = "0.32.0";
   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-tpJUCHrSFNEzNrln7nKwav0GSBW+4fwjSB3WI1MKW9A=";
+    sha256 = "sha256-aYMfsaqdsxlWatvXBWIxKJ7baruH1kqp2nrXL+/IrUQ=";
     rev = version;
   };
   releaseType = "escript";
diff --git a/pkgs/development/compilers/alan/2.nix b/pkgs/development/compilers/alan/2.nix
index e24cc35a9d74e..7329a0115d845 100644
--- a/pkgs/development/compilers/alan/2.nix
+++ b/pkgs/development/compilers/alan/2.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
 
   makefile = "Makefile.unix";
 
+  # Add a workarounf for -fno-common tollchains like upstream gcc-10.
+  # alan-3 is already fixed, but the backport is nontrivial.
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   installPhase = ''
     mkdir -p $out/bin $out/share/alan2
     cp compiler/alan $out/bin/alan2
diff --git a/pkgs/development/compilers/ats2/default.nix b/pkgs/development/compilers/ats2/default.nix
index e8c3af5d7e1e5..f8de9f57b5d3b 100644
--- a/pkgs/development/compilers/ats2/default.nix
+++ b/pkgs/development/compilers/ats2/default.nix
@@ -3,11 +3,11 @@
 , withContrib ? true }:
 
 let
-  versionPkg = "0.4.1" ;
+  versionPkg = "0.4.2";
 
   contrib = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-contrib-${versionPkg}.tgz";
-    sha256 = "184m4hz2xszhcfc6w9fw9qibhmcvgjmikwfwkb345xypr59jm93d";
+    hash = "sha256-m0hfBLsaNiLaIktcioK+ZtWUsWht3IDSJ6CzgJmS06c=";
   };
 
   postInstallContrib = lib.optionalString withContrib
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/ats2-lang/ATS2-Postiats-gmp-${version}.tgz";
-    sha256 = "0c4nqp6yzmpj0mcpg7ibmwyqi8hjw3sza8myvy4nzq3fa6wldy5l";
+    hash = "sha256-UWgDjFojPBYgykrCrJyYvVWY+Gc5d4aRGjTWjc528AM=";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/compilers/chicken/4/default.nix b/pkgs/development/compilers/chicken/4/default.nix
index 5445469b776ee..08952e028de5a 100644
--- a/pkgs/development/compilers/chicken/4/default.nix
+++ b/pkgs/development/compilers/chicken/4/default.nix
@@ -13,7 +13,7 @@ let
       bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
     };
 
-    chickenEggs = callPackage ./eggs.nix { };
+    chickenEggs = lib.recurseIntoAttrs (callPackage ./eggs.nix { });
 
     egg2nix = callPackage ./egg2nix.nix { };
   };
diff --git a/pkgs/development/compilers/chicken/5/default.nix b/pkgs/development/compilers/chicken/5/default.nix
index 5445469b776ee..08952e028de5a 100644
--- a/pkgs/development/compilers/chicken/5/default.nix
+++ b/pkgs/development/compilers/chicken/5/default.nix
@@ -13,7 +13,7 @@ let
       bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
     };
 
-    chickenEggs = callPackage ./eggs.nix { };
+    chickenEggs = lib.recurseIntoAttrs (callPackage ./eggs.nix { });
 
     egg2nix = callPackage ./egg2nix.nix { };
   };
diff --git a/pkgs/development/compilers/chicken/5/eggs.nix b/pkgs/development/compilers/chicken/5/eggs.nix
index c74afe1873710..83bfc1cbb7185 100644
--- a/pkgs/development/compilers/chicken/5/eggs.nix
+++ b/pkgs/development/compilers/chicken/5/eggs.nix
@@ -2,6 +2,38 @@
 rec {
   inherit (pkgs) eggDerivation fetchegg;
 
+  address-info = eggDerivation {
+    name = "address-info-1.0.5";
+
+    src = fetchegg {
+      name = "address-info";
+      version = "1.0.5";
+      sha256 = "1nv87ghfv8szmi2l0rybrgrds6fs5w6jxafqslnzw0mw5sfj6jyk";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  apropos = eggDerivation {
+    name = "apropos-3.6.0";
+
+    src = fetchegg {
+      name = "apropos";
+      version = "3.6.0";
+      sha256 = "0jq5d4zijbf5dw2vsfn89smp7zjpgp82y5hs10xkysf831x7l551";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      check-errors
+      string-utils
+      symbol-utils
+    ];
+  };
+
   args = eggDerivation {
     name = "args-1.6.0";
 
@@ -18,6 +50,125 @@ rec {
     ];
   };
 
+  base64 = eggDerivation {
+    name = "base64-1.0";
+
+    src = fetchegg {
+      name = "base64";
+      version = "1.0";
+      sha256 = "01lid9wxf94nr7gmskamxlfngack1hyxig8rl9swwgnbmz9qgysi";
+    };
+
+    buildInputs = [
+      srfi-13
+    ];
+  };
+
+  check-errors = eggDerivation {
+    name = "check-errors-3.2.0";
+
+    src = fetchegg {
+      name = "check-errors";
+      version = "3.2.0";
+      sha256 = "0d0hpq1nmwyvbg162bqzgk62f70rin0pxsr5a3pgx6xin5i3ngah";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  defstruct = eggDerivation {
+    name = "defstruct-2.0";
+
+    src = fetchegg {
+      name = "defstruct";
+      version = "2.0";
+      sha256 = "0q1v1gdwqlpmwcsa4jnqldfqky9k7kvb83qgkhdyqym52bm5aln8";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  feature-test = eggDerivation {
+    name = "feature-test-0.2.0";
+
+    src = fetchegg {
+      name = "feature-test";
+      version = "0.2.0";
+      sha256 = "1dxdisv64d8alg6r45cwxf5gmdpcvql1hvlq808lgwphd7kvfpgr";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  foreigners = eggDerivation {
+    name = "foreigners-1.5";
+
+    src = fetchegg {
+      name = "foreigners";
+      version = "1.5";
+      sha256 = "1mm91y61nlawgb7iqdrkz2fi9sc3fic07f5m1ig541b2hbscfiqy";
+    };
+
+    buildInputs = [
+      matchable
+    ];
+  };
+
+  intarweb = eggDerivation {
+    name = "intarweb-2.0.1";
+
+    src = fetchegg {
+      name = "intarweb";
+      version = "2.0.1";
+      sha256 = "0md226jikqhj993cw17588ipmnz0v7l34zrvylamyrs6zbvj3scm";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      srfi-14
+      defstruct
+      uri-common
+      base64
+    ];
+  };
+
+  iset = eggDerivation {
+    name = "iset-2.2";
+
+    src = fetchegg {
+      name = "iset";
+      version = "2.2";
+      sha256 = "0yfkcd07cw6xnnqfbbvjy81x0vc54k40vdjp2m7gwxx64is6m3rz";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  json = eggDerivation {
+    name = "json-1.6";
+
+    src = fetchegg {
+      name = "json";
+      version = "1.6";
+      sha256 = "0sb8285dqrm27c8zaqfzc0gixvfmvf0cq2nbza8c4z7j5snxzs2w";
+    };
+
+    buildInputs = [
+      packrat
+      srfi-1
+      srfi-69
+    ];
+  };
+
   matchable = eggDerivation {
     name = "matchable-1.1";
 
@@ -48,6 +199,142 @@ rec {
     ];
   };
 
+  memory-mapped-files = eggDerivation {
+    name = "memory-mapped-files-0.4";
+
+    src = fetchegg {
+      name = "memory-mapped-files";
+      version = "0.4";
+      sha256 = "0by3r18bj9fs0bs9w5czx84vssmr58br3x7pz1m3myb4mns3mpsc";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  message-digest-primitive = eggDerivation {
+    name = "message-digest-primitive-4.3.2";
+
+    src = fetchegg {
+      name = "message-digest-primitive";
+      version = "4.3.2";
+      sha256 = "1wfmyyp1fv0sz70m0rgzbhkiqgzjc15ppz7fwmpnxg12rvfzdvq0";
+    };
+
+    buildInputs = [
+      check-errors
+    ];
+  };
+
+  miscmacros = eggDerivation {
+    name = "miscmacros-1.0";
+
+    src = fetchegg {
+      name = "miscmacros";
+      version = "1.0";
+      sha256 = "0n2ia4ib4f18hcbkm5byph07ncyx61pcpfp2qr5zijf8ykp8nbvr";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  packrat = eggDerivation {
+    name = "packrat-1.5";
+
+    src = fetchegg {
+      name = "packrat";
+      version = "1.5";
+      sha256 = "0hfnh57a8yga3byrk8522al5wdj7dyz48lixvvcgnsn3vdy333hq";
+    };
+
+    buildInputs = [
+      srfi-1
+    ];
+  };
+
+  regex = eggDerivation {
+    name = "regex-2.0";
+
+    src = fetchegg {
+      name = "regex";
+      version = "2.0";
+      sha256 = "0qgqrrdr95yqggw8xyvb693nhizwqvf1fp9cjx9p3z80c4ih8j4j";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  sendfile = eggDerivation {
+    name = "sendfile-1.8.3";
+
+    src = fetchegg {
+      name = "sendfile";
+      version = "1.8.3";
+      sha256 = "0acmydjxlrbq7bdspmrzv9q9l3gh4xxnbpi5g1d5mz1g2mjwgm63";
+    };
+
+    buildInputs = [
+      memory-mapped-files
+    ];
+  };
+
+  sha2 = eggDerivation {
+    name = "sha2-4.0.5";
+
+    src = fetchegg {
+      name = "sha2";
+      version = "4.0.5";
+      sha256 = "020yc41gkpg2s48v5n1nnq02dii340yly2y1zsi71bbfbkai2vcs";
+    };
+
+    buildInputs = [
+      message-digest-primitive
+    ];
+  };
+
+  socket = eggDerivation {
+    name = "socket-0.3.3";
+
+    src = fetchegg {
+      name = "socket";
+      version = "0.3.3";
+      sha256 = "04wfxrwjizvf1jdpfqp3r7381rp9lscrm3z21ihq2dc2lfzjgrxw";
+    };
+
+    buildInputs = [
+      srfi-13
+      srfi-18
+      foreigners
+      feature-test
+    ];
+  };
+
+  spiffy = eggDerivation {
+    name = "spiffy-6.3";
+
+    src = fetchegg {
+      name = "spiffy";
+      version = "6.3";
+      sha256 = "0f22gfdyysgbm3q6cjibn1z1yavks3imxi1mxcyfmms3x91k5k3c";
+    };
+
+    buildInputs = [
+      intarweb
+      uri-common
+      uri-generic
+      sendfile
+      srfi-1
+      srfi-13
+      srfi-14
+      srfi-18
+    ];
+  };
+
   srfi-1 = eggDerivation {
     name = "srfi-1-0.5.1";
 
@@ -120,6 +407,20 @@ rec {
     ];
   };
 
+  srfi-18 = eggDerivation {
+    name = "srfi-18-0.1.6";
+
+    src = fetchegg {
+      name = "srfi-18";
+      version = "0.1.6";
+      sha256 = "00lykm5lqbrcxl3dab9dqwimpgm36v4ys2957k3vdlg4xdb1abfa";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
   srfi-37 = eggDerivation {
     name = "srfi-37-1.4";
 
@@ -133,5 +434,118 @@ rec {
       
     ];
   };
+
+  srfi-69 = eggDerivation {
+    name = "srfi-69-0.4.1";
+
+    src = fetchegg {
+      name = "srfi-69";
+      version = "0.4.1";
+      sha256 = "1l102kppncz27acsr4jyi46q0r7g2lb6gdbkd6p3h1xmvwcnk2hl";
+    };
+
+    buildInputs = [
+      
+    ];
+  };
+
+  string-utils = eggDerivation {
+    name = "string-utils-2.4.0";
+
+    src = fetchegg {
+      name = "string-utils";
+      version = "2.4.0";
+      sha256 = "09m3s0p199r2nmvc8qnqvbxjbq967gvwqrzp236wsw3hdcil6p8v";
+    };
+
+    buildInputs = [
+      srfi-1
+      srfi-13
+      srfi-69
+      miscmacros
+      check-errors
+      utf8
+    ];
+  };
+
+  symbol-utils = eggDerivation {
+    name = "symbol-utils-2.1.0";
+
+    src = fetchegg {
+      name = "symbol-utils";
+      version = "2.1.0";
+      sha256 = "17nq8bj18f3bbf3mdfx1m8agy97izn1xcl8ymvgvvd5g384b2xil";
+    };
+
+    buildInputs = [
+      check-errors
+    ];
+  };
+
+  tcp6 = eggDerivation {
+    name = "tcp6-0.2.1";
+
+    src = fetchegg {
+      name = "tcp6";
+      version = "0.2.1";
+      sha256 = "14dynnjgac28f46v781hi6kam326q6rh57pf0pvl0chdva4hlf3q";
+    };
+
+    buildInputs = [
+      socket
+      srfi-1
+    ];
+  };
+
+  uri-common = eggDerivation {
+    name = "uri-common-2.0";
+
+    src = fetchegg {
+      name = "uri-common";
+      version = "2.0";
+      sha256 = "07rq7ppkyk3i85vqspc048pnj6gmjhj236z00chslli9xybqkgrd";
+    };
+
+    buildInputs = [
+      uri-generic
+      defstruct
+      matchable
+      srfi-1
+      srfi-13
+      srfi-14
+    ];
+  };
+
+  uri-generic = eggDerivation {
+    name = "uri-generic-3.2";
+
+    src = fetchegg {
+      name = "uri-generic";
+      version = "3.2";
+      sha256 = "1lpvnk1mnhmrga149km7ygpy7fkq7z2pvw0mvpx2aql03l8gpdsj";
+    };
+
+    buildInputs = [
+      matchable
+      srfi-1
+      srfi-14
+    ];
+  };
+
+  utf8 = eggDerivation {
+    name = "utf8-3.6.2";
+
+    src = fetchegg {
+      name = "utf8";
+      version = "3.6.2";
+      sha256 = "10wzp3qmwik4gx3hhaqm2n83wza0rllgy57363h5ccv8fga5nnm6";
+    };
+
+    buildInputs = [
+      srfi-69
+      iset
+      regex
+    ];
+  };
 }
 
diff --git a/pkgs/development/compilers/chicken/5/eggs.scm b/pkgs/development/compilers/chicken/5/eggs.scm
index 499109470849c..6e3405b95ec90 100644
--- a/pkgs/development/compilers/chicken/5/eggs.scm
+++ b/pkgs/development/compilers/chicken/5/eggs.scm
@@ -1,6 +1,11 @@
 ;; Eggs used by egg2nix
 args
 matchable
+apropos
+spiffy
+json
+tcp6
+sha2
 
 ;; other eggs to include in nixpkgs
 srfi-189
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index a41f836e10ca8..40fdcb29013ef 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -2,11 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "cmdstan";
-  version = "2.17.1";
+  version = "2.29.2";
 
+  # includes stanc binaries needed to build cmdstand
   src = fetchurl {
     url = "https://github.com/stan-dev/cmdstan/releases/download/v${version}/cmdstan-${version}.tar.gz";
-    sha256 = "1vq1cnrkvrvbfl40j6ajc60jdrjcxag1fi6kff5pqmadfdz9564j";
+    sha256 = "sha256-VntTH6c//fcGyqF+szROHftB6GmTyvi6QIdf+RAzUVM=";
   };
 
   buildFlags = [ "build" ];
@@ -14,7 +15,16 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkInputs = [ python3 ];
-  checkPhase = "python ./runCmdStanTests.py src/test/interface"; # see #5368
+
+  postPatch = ''
+    substituteInPlace stan/lib/stan_math/make/libraries \
+      --replace "/usr/bin/env bash" "bash"
+    patchShebangs .
+  '';
+
+  checkPhase = ''
+    ./runCmdStanTests.py -j$NIX_BUILD_CORES src/test/interface
+  '';
 
   installPhase = ''
     mkdir -p $out/opt $out/bin
@@ -28,6 +38,9 @@ stdenv.mkDerivation rec {
     chmod a+x $out/bin/stan
   '';
 
+  # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference.
+  preFixup = "rm -rf $(pwd)";
+
   meta = {
     description = "Command-line interface to Stan";
     longDescription = ''
diff --git a/pkgs/development/compilers/crystal/build-package.nix b/pkgs/development/compilers/crystal/build-package.nix
index ce8f0c32537ba..215c3d37d8871 100644
--- a/pkgs/development/compilers/crystal/build-package.nix
+++ b/pkgs/development/compilers/crystal/build-package.nix
@@ -72,16 +72,17 @@ stdenv.mkDerivation (mkDerivationArgs // {
 
   PREFIX = placeholder "out";
 
-  buildInputs = args.buildInputs or [ ] ++ [ crystal ]
-    ++ lib.optional (format != "crystal") shards;
+  strictDeps = true;
+  buildInputs = args.buildInputs or [ ] ++ [ crystal ];
 
   nativeBuildInputs = args.nativeBuildInputs or [ ] ++ [
+    crystal
     git
     installShellFiles
     removeReferencesTo
     pkg-config
     which
-  ];
+  ] ++ lib.optional (format != "crystal") shards;
 
   buildPhase = args.buildPhase or (lib.concatStringsSep "\n" ([
     "runHook preBuild"
diff --git a/pkgs/development/compilers/crystal/default.nix b/pkgs/development/compilers/crystal/default.nix
index f682ecfb06c42..83c91fc04da03 100644
--- a/pkgs/development/compilers/crystal/default.nix
+++ b/pkgs/development/compilers/crystal/default.nix
@@ -145,9 +145,10 @@ let
         export CRYSTAL_CACHE_DIR=$TMP
       '';
 
-      buildInputs = commonBuildInputs extraBuildInputs;
 
+      strictDeps = true;
       nativeBuildInputs = [ binary makeWrapper which pkg-config llvmPackages.llvm ];
+      buildInputs = commonBuildInputs extraBuildInputs;
 
       makeFlags = [
         "CRYSTAL_CONFIG_VERSION=${version}"
diff --git a/pkgs/development/compilers/dotnet/build-dotnet.nix b/pkgs/development/compilers/dotnet/build-dotnet.nix
index bfc2ab7f9b056..67ce79ca57510 100644
--- a/pkgs/development/compilers/dotnet/build-dotnet.nix
+++ b/pkgs/development/compilers/dotnet/build-dotnet.nix
@@ -1,6 +1,7 @@
 { type
 , version
 , srcs
+, icu #passing icu as an argument, because dotnet 3.1 has troubles with icu71
 }:
 
 assert builtins.elem type [ "aspnetcore" "runtime" "sdk"];
@@ -11,7 +12,6 @@ assert builtins.elem type [ "aspnetcore" "runtime" "sdk"];
 , writeText
 , libunwind
 , openssl
-, icu
 , libuuid
 , zlib
 , curl
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
   rpath = lib.makeLibraryPath ([
     stdenv.cc.cc
     zlib
-
     curl
     icu
     libunwind
@@ -87,10 +86,11 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://dotnet.github.io/";
     description = builtins.getAttr type descriptions;
-    platforms = builtins.attrNames srcs;
-    maintainers = with maintainers; [ kuznero ];
+    homepage = "https://dotnet.github.io/";
     license = licenses.mit;
+    maintainers = with maintainers; [ kuznero ];
+    mainProgram = "dotnet";
+    platforms = builtins.attrNames srcs;
   };
 }
diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix
index 87256e95b02ab..0740802ca4a4d 100644
--- a/pkgs/development/compilers/dotnet/default.nix
+++ b/pkgs/development/compilers/dotnet/default.nix
@@ -5,7 +5,7 @@ dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_3_1 sdk_5_0 aspn
 Hashes and urls below are retrieved from:
 https://dotnet.microsoft.com/download/dotnet
 */
-{ callPackage }:
+{ callPackage, icu70, icu }:
 let
   buildDotnet = attrs: callPackage (import ./build-dotnet.nix attrs) {};
   buildAspNetCore = attrs: buildDotnet (attrs // { type = "aspnetcore"; });
@@ -20,8 +20,11 @@ rec {
   sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 3.1 (LTS), 5.0 (Current) or 6.0 (LTS)";
   sdk_3_0 = throw "Dotnet SDK 3.0 is EOL, please use 3.1 (LTS), 5.0 (Current) or 6.0 (LTS)";
 
+  ##### Following attributes with urls and hashes should be auto-generated by print-hashes.sh #####
+
   # v3.1 (lts)
   aspnetcore_3_1 = buildAspNetCore {
+    icu = icu70;
     version = "3.1.21";
     srcs = {
       x86_64-linux = {
@@ -40,6 +43,7 @@ rec {
   };
 
   runtime_3_1 = buildNetRuntime {
+    icu = icu70;
     version = "3.1.21";
     srcs = {
       x86_64-linux = {
@@ -58,6 +62,7 @@ rec {
   };
 
   sdk_3_1 = buildNetSdk {
+    icu = icu70;
     version = "3.1.415";
     srcs = {
       x86_64-linux = {
@@ -77,6 +82,7 @@ rec {
 
   # v5.0 (current)
   aspnetcore_5_0 = buildAspNetCore {
+    inherit icu;
     version = "5.0.12";
     srcs = {
       x86_64-linux = {
@@ -95,6 +101,7 @@ rec {
   };
 
   runtime_5_0 = buildNetRuntime {
+    inherit icu;
     version = "5.0.12";
     srcs = {
       x86_64-linux = {
@@ -113,6 +120,7 @@ rec {
   };
 
   sdk_5_0 = buildNetSdk {
+    inherit icu;
     version = "5.0.403";
     srcs = {
       x86_64-linux = {
@@ -132,6 +140,7 @@ rec {
 
   # v6.0 (lts)
   aspnetcore_6_0 = buildAspNetCore {
+    inherit icu;
     version = "6.0.4";
     srcs = {
       x86_64-linux = {
@@ -154,6 +163,7 @@ rec {
   };
 
   runtime_6_0 = buildNetRuntime {
+    inherit icu;
     version = "6.0.4";
     srcs = {
       x86_64-linux = {
@@ -176,6 +186,7 @@ rec {
   };
 
   sdk_6_0 = buildNetSdk {
+    inherit icu;
     version = "6.0.202";
     srcs = {
       x86_64-linux = {
diff --git a/pkgs/development/compilers/dotnet/print-hashes.sh b/pkgs/development/compilers/dotnet/print-hashes.sh
index 966f0a9c0614d..162f1af70ecfb 100755
--- a/pkgs/development/compilers/dotnet/print-hashes.sh
+++ b/pkgs/development/compilers/dotnet/print-hashes.sh
@@ -84,6 +84,11 @@ Examples:
     aspnetcore_files="$(release_files "$release_content" "aspnetcore-runtime")"
     runtime_files="$(release_files "$release_content" "runtime")"
     sdk_files="$(release_files "$release_content" "sdk")"
+    if [ $major_minor = "3.1" ]; then
+      icu_attr="icu = icu70;"
+    else
+      icu_attr="inherit icu;"
+    fi
 
     major_minor_underscore=${major_minor/./_}
     channel_version=$(jq -r '."channel-version"' <<< "$content")
@@ -91,16 +96,19 @@ Examples:
     echo "
   # v$channel_version ($support_phase)
   aspnetcore_$major_minor_underscore = buildAspNetCore {
+    $icu_attr
     version = \"${aspnetcore_version}\";
     $(platform_sources "$aspnetcore_files")
   };
 
   runtime_$major_minor_underscore = buildNetRuntime {
+    $icu_attr
     version = \"${runtime_version}\";
     $(platform_sources "$runtime_files")
   };
 
   sdk_$major_minor_underscore = buildNetSdk {
+    $icu_attr
     version = \"${sdk_version}\";
     $(platform_sources "$sdk_files")
   }; "
diff --git a/pkgs/development/compilers/elm/packages/node-packages.nix b/pkgs/development/compilers/elm/packages/node-packages.nix
index 37e91efa59c6d..97d3c78220a1a 100644
--- a/pkgs/development/compilers/elm/packages/node-packages.nix
+++ b/pkgs/development/compilers/elm/packages/node-packages.nix
@@ -31,13 +31,13 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.17.7" = {
+    "@babel/compat-data-7.17.10" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz";
-        sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz";
+        sha512 = "GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==";
       };
     };
     "@babel/core-7.12.10" = {
@@ -49,13 +49,13 @@ let
         sha512 = "eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==";
       };
     };
-    "@babel/generator-7.17.7" = {
+    "@babel/generator-7.17.10" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
-        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz";
+        sha512 = "46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -76,22 +76,22 @@ let
         sha512 = "C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==";
       };
     };
-    "@babel/helper-compilation-targets-7.17.7" = {
+    "@babel/helper-compilation-targets-7.17.10" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
-      version = "7.17.7";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz";
-        sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz";
+        sha512 = "gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.17.6" = {
+    "@babel/helper-create-class-features-plugin-7.17.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.6";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz";
-        sha512 = "SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz";
+        sha512 = "kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==";
       };
     };
     "@babel/helper-create-regexp-features-plugin-7.17.0" = {
@@ -121,22 +121,13 @@ let
         sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.7" = {
+    "@babel/helper-function-name-7.17.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.7";
+      version = "7.17.9";
       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==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     };
     "@babel/helper-hoist-variables-7.16.7" = {
@@ -265,31 +256,31 @@ let
         sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.17.8" = {
+    "@babel/helpers-7.17.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
-        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz";
+        sha512 = "cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==";
       };
     };
-    "@babel/highlight-7.16.10" = {
+    "@babel/highlight-7.17.9" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.10";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
-        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     };
-    "@babel/parser-7.17.8" = {
+    "@babel/parser-7.17.10" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.8";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
-        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz";
+        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
       };
     };
     "@babel/plugin-proposal-async-generator-functions-7.16.8" = {
@@ -652,13 +643,13 @@ let
         sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.17.7" = {
+    "@babel/plugin-transform-modules-commonjs-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-modules-commonjs";
       packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.17.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
-        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz";
+        sha512 = "2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==";
       };
     };
     "@babel/plugin-transform-modules-systemjs-7.17.8" = {
@@ -679,13 +670,13 @@ let
         sha512 = "EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==";
       };
     };
-    "@babel/plugin-transform-named-capturing-groups-regex-7.16.8" = {
+    "@babel/plugin-transform-named-capturing-groups-regex-7.17.10" = {
       name = "_at_babel_slash_plugin-transform-named-capturing-groups-regex";
       packageName = "@babel/plugin-transform-named-capturing-groups-regex";
-      version = "7.16.8";
+      version = "7.17.10";
       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==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz";
+        sha512 = "v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==";
       };
     };
     "@babel/plugin-transform-new-target-7.16.7" = {
@@ -724,13 +715,13 @@ let
         sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.7" = {
+    "@babel/plugin-transform-regenerator-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
-        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz";
+        sha512 = "Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==";
       };
     };
     "@babel/plugin-transform-reserved-words-7.16.7" = {
@@ -850,22 +841,22 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.17.3" = {
+    "@babel/traverse-7.17.10" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.17.3";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz";
+        sha512 = "VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==";
       };
     };
-    "@babel/types-7.17.0" = {
+    "@babel/types-7.17.10" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.17.0";
+      version = "7.17.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
-        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz";
+        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
       };
     };
     "@hapi/address-2.1.4" = {
@@ -913,6 +904,33 @@ let
         sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
       };
     };
+    "@jridgewell/gen-mapping-0.1.1" = {
+      name = "_at_jridgewell_slash_gen-mapping";
+      packageName = "@jridgewell/gen-mapping";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
+        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
+      };
+    };
+    "@jridgewell/set-array-1.1.1" = {
+      name = "_at_jridgewell_slash_set-array";
+      packageName = "@jridgewell/set-array";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz";
+        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+      };
+    };
+    "@jridgewell/sourcemap-codec-1.4.13" = {
+      name = "_at_jridgewell_slash_sourcemap-codec";
+      packageName = "@jridgewell/sourcemap-codec";
+      version = "1.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
+        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
+      };
+    };
     "@kwsites/file-exists-1.1.1" = {
       name = "_at_kwsites_slash_file-exists";
       packageName = "@kwsites/file-exists";
@@ -1048,22 +1066,31 @@ let
         sha512 = "SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==";
       };
     };
-    "@types/http-proxy-1.17.8" = {
+    "@types/http-proxy-1.17.9" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
-      version = "1.17.8";
+      version = "1.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz";
-        sha512 = "5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==";
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz";
+        sha512 = "QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==";
       };
     };
-    "@types/jest-27.4.1" = {
+    "@types/jest-27.5.0" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
-      version = "27.4.1";
+      version = "27.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz";
-        sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
+        url = "https://registry.npmjs.org/@types/jest/-/jest-27.5.0.tgz";
+        sha512 = "9RBFx7r4k+msyj/arpfaa0WOOEcaAZNmN+j80KFbFCoSqCJGHTz7YMAMGQW9Xmqm5w6l5c25vbSjMwlikJi5+g==";
+      };
+    };
+    "@types/json-buffer-3.0.0" = {
+      name = "_at_types_slash_json-buffer";
+      packageName = "@types/json-buffer";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz";
+        sha512 = "3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==";
       };
     };
     "@types/json-schema-7.0.11" = {
@@ -1093,13 +1120,13 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/node-17.0.23" = {
+    "@types/node-17.0.31" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.23";
+      version = "17.0.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
-        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     };
     "@types/parse-json-4.0.0" = {
@@ -1147,13 +1174,13 @@ let
         sha512 = "ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==";
       };
     };
-    "@types/uglify-js-3.13.1" = {
+    "@types/uglify-js-3.13.2" = {
       name = "_at_types_slash_uglify-js";
       packageName = "@types/uglify-js";
-      version = "3.13.1";
+      version = "3.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.1.tgz";
-        sha512 = "O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==";
+        url = "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.13.2.tgz";
+        sha512 = "/xFrPIo+4zOeNGtVMbf9rUm0N+i4pDf1ynExomqtokIJmVzR3962lJ1UE+MmexMkA0cmN9oTzg5Xcbwge0Ij2Q==";
       };
     };
     "@types/webpack-4.41.32" = {
@@ -1777,13 +1804,13 @@ let
         sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
       };
     };
-    "async-2.6.3" = {
+    "async-2.6.4" = {
       name = "async";
       packageName = "async";
-      version = "2.6.3";
+      version = "2.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.6.3.tgz";
-        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+        url = "https://registry.npmjs.org/async/-/async-2.6.4.tgz";
+        sha512 = "mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==";
       };
     };
     "async-each-1.0.3" = {
@@ -2101,13 +2128,13 @@ let
         sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
       };
     };
-    "body-parser-1.19.2" = {
+    "body-parser-1.20.0" = {
       name = "body-parser";
       packageName = "body-parser";
-      version = "1.19.2";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz";
+        sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
       };
     };
     "bonjour-3.5.0" = {
@@ -2227,13 +2254,13 @@ let
         sha512 = "VBorw+tgpOtZ1BYhrVSVTzTt/3+vSE3eFUh0N2GCFK1HffceOaf32YS/bs6WiFhjDAblAFrx85jMy3BG9fBK2Q==";
       };
     };
-    "browserslist-4.20.2" = {
+    "browserslist-4.20.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.20.2";
+      version = "4.20.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz";
-        sha512 = "CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz";
+        sha512 = "NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==";
       };
     };
     "buffer-4.9.2" = {
@@ -2479,13 +2506,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001324" = {
+    "caniuse-lite-1.0.30001338" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001324";
+      version = "1.0.30001338";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz";
-        sha512 = "/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001338.tgz";
+        sha512 = "1gLHWyfVoRDsHieO+CaeYe7jSo/MT7D7lhaXUiwwbuR5BwQxORs0f1tAwUSQr3YbxRXJvxHM/PA5FfPQRnsPeQ==";
       };
     };
     "case-sensitive-paths-webpack-plugin-2.3.0" = {
@@ -2839,13 +2866,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "colorette-1.4.0" = {
@@ -2983,6 +3010,15 @@ let
         sha512 = "Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==";
       };
     };
+    "compress-brotli-1.3.8" = {
+      name = "compress-brotli";
+      packageName = "compress-brotli";
+      version = "1.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz";
+        sha512 = "lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==";
+      };
+    };
     "compressible-2.0.18" = {
       name = "compressible";
       packageName = "compressible";
@@ -3109,13 +3145,13 @@ let
         sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
       };
     };
-    "cookie-0.4.2" = {
+    "cookie-0.5.0" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.2";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
-        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -3163,13 +3199,13 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-compat-3.21.1" = {
+    "core-js-compat-3.22.4" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.21.1";
+      version = "3.22.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
-        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz";
+        sha512 = "dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -3622,13 +3658,13 @@ let
         sha512 = "4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==";
       };
     };
-    "define-properties-1.1.3" = {
+    "define-properties-1.1.4" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
+        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
       };
     };
     "define-property-0.2.5" = {
@@ -3829,13 +3865,13 @@ let
         sha512 = "2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==";
       };
     };
-    "dom-serializer-1.3.2" = {
+    "dom-serializer-1.4.1" = {
       name = "dom-serializer";
       packageName = "dom-serializer";
-      version = "1.3.2";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
-        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz";
+        sha512 = "VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==";
       };
     };
     "domain-browser-1.2.0" = {
@@ -3856,13 +3892,13 @@ let
         sha512 = "BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==";
       };
     };
-    "domelementtype-2.2.0" = {
+    "domelementtype-2.3.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
-        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz";
+        sha512 = "OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==";
       };
     };
     "domhandler-4.3.1" = {
@@ -3964,13 +4000,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.103" = {
+    "electron-to-chromium-1.4.137" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.103";
+      version = "1.4.137";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz";
-        sha512 = "c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz";
+        sha512 = "0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==";
       };
     };
     "elliptic-6.5.4" = {
@@ -4054,13 +4090,13 @@ let
         sha512 = "sd3nCQMeYMaY84Sz41bVJ30ZvQN1/4ZcD8uYMOuUbM39FDh58NY9/AcImVJ7Z+gjCFdcSU6VscZzhUoPW8jp6Q==";
       };
     };
-    "elm-tooling-1.7.0" = {
+    "elm-tooling-1.8.0" = {
       name = "elm-tooling";
       packageName = "elm-tooling";
-      version = "1.7.0";
+      version = "1.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.7.0.tgz";
-        sha512 = "EHZ54voWrG3BhUONbH/wFw5U95H6N7R4QFgXHDrPIaDBDdeyNkpFu4QWArSWkhzxyCF7hqT8ya2yy7SferDsgg==";
+        url = "https://registry.npmjs.org/elm-tooling/-/elm-tooling-1.8.0.tgz";
+        sha512 = "IjMvW/VHqxLidlJSAocBGDBmqiZ1NS0lK/UCMRU4ULEEaTVjpSd/9Dv0mH2ok0H0egSTYx19GnrdL4Lq9h+z+A==";
       };
     };
     "elm-webpack-loader-6.0.1" = {
@@ -4171,13 +4207,13 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
-    "es-abstract-1.19.2" = {
+    "es-abstract-1.20.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.19.2";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz";
-        sha512 = "gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz";
+        sha512 = "URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==";
       };
     };
     "es-to-primitive-1.2.1" = {
@@ -4405,13 +4441,13 @@ let
         sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
       };
     };
-    "express-4.17.3" = {
+    "express-4.18.1" = {
       name = "express";
       packageName = "express";
-      version = "4.17.3";
+      version = "4.18.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
-        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+        url = "https://registry.npmjs.org/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
       };
     };
     "express-ws-2.0.0" = {
@@ -4666,6 +4702,15 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
+    "finalhandler-1.2.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
+      };
+    };
     "find-0.2.7" = {
       name = "find";
       packageName = "find";
@@ -4819,13 +4864,13 @@ let
         sha512 = "SDgHBgV+RCjrYs8aUwCb9rTgbTVuSdzvFmLaChsLre1yf+D64khCW++VYciaByZ8Rm0uKF8R/XEpXuTRSGUM1A==";
       };
     };
-    "follow-redirects-1.14.9" = {
+    "follow-redirects-1.15.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.9";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     };
     "for-in-1.0.2" = {
@@ -5044,6 +5089,24 @@ let
         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
+    "function.prototype.name-1.1.5" = {
+      name = "function.prototype.name";
+      packageName = "function.prototype.name";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
+        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
+      };
+    };
+    "functions-have-names-1.2.3" = {
+      name = "functions-have-names";
+      packageName = "functions-have-names";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz";
+        sha512 = "xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==";
+      };
+    };
     "gensync-1.0.0-beta.2" = {
       name = "gensync";
       packageName = "gensync";
@@ -5287,13 +5350,13 @@ let
         sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
       };
     };
-    "graceful-fs-4.2.9" = {
+    "graceful-fs-4.2.10" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.9";
+      version = "4.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
-        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     };
     "gzip-size-5.0.0" = {
@@ -5350,13 +5413,13 @@ let
         sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
       };
     };
-    "has-bigints-1.0.1" = {
+    "has-bigints-1.0.2" = {
       name = "has-bigints";
       packageName = "has-bigints";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
+        url = "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz";
+        sha512 = "tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==";
       };
     };
     "has-flag-3.0.0" = {
@@ -5377,6 +5440,15 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
+    "has-property-descriptors-1.0.0" = {
+      name = "has-property-descriptors";
+      packageName = "has-property-descriptors";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
+        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
+      };
+    };
     "has-symbol-support-x-1.4.2" = {
       name = "has-symbol-support-x";
       packageName = "has-symbol-support-x";
@@ -5629,15 +5701,6 @@ let
         sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
       };
     };
-    "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-errors-2.0.0" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -6088,13 +6151,13 @@ let
         sha1 = "cfff471aee4dd5c9e158598fbe12967b5cdad345";
       };
     };
-    "is-core-module-2.8.1" = {
+    "is-core-module-2.9.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     };
     "is-data-descriptor-0.1.4" = {
@@ -6790,13 +6853,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.1.1" = {
+    "keyv-4.2.2" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.1.1";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz";
-        sha512 = "tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.2.2.tgz";
+        sha512 = "uYS0vKTlBIjNCAUqrjlxmruxOEiZxZIHXyp32sdcGmP+ukFrmWUnE//RcPXJH3Vxrni1H2gsQbjHE0bH7MtMQQ==";
       };
     };
     "killable-1.0.1" = {
@@ -7555,13 +7618,13 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
-    "moment-2.29.1" = {
+    "moment-2.29.3" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.1";
+      version = "2.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     };
     "move-concurrently-1.0.1" = {
@@ -7672,13 +7735,13 @@ let
         sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
       };
     };
-    "nanoid-3.3.2" = {
+    "nanoid-3.3.4" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.3.2";
+      version = "3.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz";
-        sha512 = "CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
       };
     };
     "nanomatch-1.2.13" = {
@@ -7780,13 +7843,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.2" = {
+    "node-releases-2.0.4" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.2";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
-        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz";
+        sha512 = "gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==";
       };
     };
     "node-watch-0.5.5" = {
@@ -8770,13 +8833,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.12" = {
+    "postcss-8.4.13" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.4.12";
+      version = "8.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz";
-        sha512 = "lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.13.tgz";
+        sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -9346,6 +9409,15 @@ let
         sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
       };
     };
+    "qs-6.10.3" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
+      };
+    };
     "qs-6.5.1" = {
       name = "qs";
       packageName = "qs";
@@ -9373,15 +9445,6 @@ let
         sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
       };
     };
-    "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-4.3.4" = {
       name = "query-string";
       packageName = "query-string";
@@ -9472,13 +9535,13 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
-    "raw-body-2.4.3" = {
+    "raw-body-2.5.1" = {
       name = "raw-body";
       packageName = "raw-body";
-      version = "2.4.3";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
-        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz";
+        sha512 = "qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==";
       };
     };
     "rc-1.2.8" = {
@@ -9670,13 +9733,13 @@ let
         sha1 = "d33eb95d0d2001a4be39659707c51b0cb71ce029";
       };
     };
-    "regenerator-transform-0.14.5" = {
+    "regenerator-transform-0.15.0" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
-      version = "0.14.5";
+      version = "0.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
+        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
       };
     };
     "regex-not-1.0.2" = {
@@ -9688,13 +9751,13 @@ let
         sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
       };
     };
-    "regexp.prototype.flags-1.4.1" = {
+    "regexp.prototype.flags-1.4.3" = {
       name = "regexp.prototype.flags";
       packageName = "regexp.prototype.flags";
-      version = "1.4.1";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz";
-        sha512 = "pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==";
+        url = "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz";
+        sha512 = "fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==";
       };
     };
     "regexpu-core-5.0.1" = {
@@ -10228,13 +10291,13 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-7.3.5" = {
+    "semver-7.3.7" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     };
     "semver-regex-3.1.3" = {
@@ -10273,15 +10336,6 @@ let
         sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     };
-    "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==";
-      };
-    };
     "send-0.18.0" = {
       name = "send";
       packageName = "send";
@@ -10336,15 +10390,6 @@ let
         sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
       };
     };
-    "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==";
-      };
-    };
     "serve-static-1.15.0" = {
       name = "serve-static";
       packageName = "serve-static";
@@ -10489,13 +10534,13 @@ let
         sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
-    "simple-git-3.5.0" = {
+    "simple-git-3.7.1" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "3.5.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.5.0.tgz";
-        sha512 = "fZsaq5nzdxQRhMNs6ESGLpMUHoL5GRP+boWPhq9pMYMKwOGZV2jHOxi8AbFFA2Y/6u4kR99HoULizSbpzaODkA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-3.7.1.tgz";
+        sha512 = "+Osjtsumbtew2y9to0pOYjNzSIr4NkKGBg7Po5SUtjQhaJf2QBmiTX/9E9cv9rmc7oUiSGFIB9e7ys5ibnT9+A==";
       };
     };
     "simple-swizzle-0.2.2" = {
@@ -10948,22 +10993,22 @@ let
         sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     };
-    "string.prototype.trimend-1.0.4" = {
+    "string.prototype.trimend-1.0.5" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
+        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
       };
     };
-    "string.prototype.trimstart-1.0.4" = {
+    "string.prototype.trimstart-1.0.5" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
+        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
       };
     };
     "string_decoder-0.10.31" = {
@@ -11524,13 +11569,13 @@ let
         sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     };
-    "tslib-2.3.1" = {
+    "tslib-2.4.0" = {
       name = "tslib";
       packageName = "tslib";
-      version = "2.3.1";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
-        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz";
+        sha512 = "d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==";
       };
     };
     "tsyringe-4.6.0" = {
@@ -11605,13 +11650,13 @@ let
         sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
       };
     };
-    "typescript-4.6.3" = {
+    "typescript-4.6.4" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.6.3";
+      version = "4.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.3.tgz";
-        sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz";
+        sha512 = "9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==";
       };
     };
     "uglify-es-3.3.10" = {
@@ -11650,13 +11695,13 @@ let
         sha512 = "UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==";
       };
     };
-    "unbox-primitive-1.0.1" = {
+    "unbox-primitive-1.0.2" = {
       name = "unbox-primitive";
       packageName = "unbox-primitive";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
+        url = "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz";
+        sha512 = "61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==";
       };
     };
     "unicode-canonical-property-names-ecmascript-2.0.0" = {
@@ -12732,7 +12777,7 @@ in
       sources."fresh-0.5.2"
       sources."fs-extra-2.0.0"
       sources."getpass-0.1.7"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-errors-1.7.2"
@@ -12940,7 +12985,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -12977,7 +13022,7 @@ in
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
-      sources."moment-2.29.1"
+      sources."moment-2.29.3"
       sources."murmur-hash-js-1.0.0"
       sources."mustache-3.2.1"
       sources."nice-try-1.0.5"
@@ -13109,7 +13154,7 @@ in
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
-      sources."body-parser-1.19.2"
+      sources."body-parser-1.20.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."bytes-3.1.2"
@@ -13119,6 +13164,7 @@ in
           sources."lowercase-keys-2.0.0"
         ];
       })
+      sources."call-bind-1.0.2"
       sources."chalk-3.0.0"
       sources."chokidar-3.5.3"
       sources."clone-response-1.0.2"
@@ -13128,44 +13174,44 @@ in
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."cross-spawn-7.0.3"
       sources."debug-2.6.9"
       sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."defer-to-connect-1.1.3"
-      sources."depd-1.1.2"
-      sources."destroy-1.0.4"
+      sources."depd-2.0.0"
+      sources."destroy-1.2.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.3" // {
-        dependencies = [
-          sources."serve-static-1.14.2"
-        ];
-      })
+      sources."express-4.18.1"
       (sources."express-ws-4.0.0" // {
         dependencies = [
           sources."ws-5.2.3"
         ];
       })
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.1.2"
+      sources."finalhandler-1.2.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."got-9.6.0"
+      sources."has-1.0.3"
       sources."has-flag-4.0.0"
+      sources."has-symbols-1.0.3"
       sources."http-cache-semantics-4.1.0"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."iconv-lite-0.4.24"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -13195,7 +13241,8 @@ in
       sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
-      sources."on-finished-2.3.0"
+      sources."object-inspect-1.12.0"
+      sources."on-finished-2.4.1"
       sources."once-1.4.0"
       sources."open-7.4.2"
       sources."p-cancelable-1.1.0"
@@ -13208,9 +13255,9 @@ in
       sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
-      sources."qs-6.9.7"
+      sources."qs-6.10.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.3"
+      sources."raw-body-2.5.1"
       sources."rc-1.2.8"
       sources."readdirp-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -13220,33 +13267,26 @@ in
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-6.3.0"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
       (sources."serve-index-1.9.1" // {
         dependencies = [
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      (sources."serve-static-1.15.0" // {
-        dependencies = [
-          sources."depd-2.0.0"
-          sources."destroy-1.2.0"
-          sources."http-errors-2.0.0"
-          sources."ms-2.1.3"
-          sources."on-finished-2.4.1"
-          sources."send-0.18.0"
-          sources."statuses-2.0.1"
-        ];
-      })
+      sources."serve-static-1.15.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."statuses-1.5.0"
+      sources."side-channel-1.0.4"
+      sources."statuses-2.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."tmp-0.1.0"
@@ -13395,7 +13435,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fresh-0.5.2"
       sources."fsevents-2.3.2"
       sources."get-stream-4.1.0"
@@ -13492,13 +13532,13 @@ in
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.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.9"
+      sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -13548,8 +13588,9 @@ in
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       sources."cacheable-lookup-2.0.1"
       sources."cacheable-request-7.0.2"
@@ -13559,6 +13600,7 @@ in
           sources."mimic-response-1.0.1"
         ];
       })
+      sources."compress-brotli-1.3.8"
       sources."config-chain-1.1.13"
       sources."decompress-response-5.0.0"
       sources."defer-to-connect-2.0.1"
@@ -13568,7 +13610,7 @@ in
       sources."get-proxy-2.1.0"
       sources."get-stream-5.2.0"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."http-cache-semantics-4.1.0"
@@ -13578,7 +13620,7 @@ in
       sources."isurl-1.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-4.0.0"
-      sources."keyv-4.1.1"
+      sources."keyv-4.2.2"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."mimic-response-2.1.0"
@@ -13595,7 +13637,7 @@ in
       sources."responselike-2.0.0"
       sources."safe-buffer-5.2.1"
       sources."safename-1.0.2"
-      sources."semver-7.3.5"
+      sources."semver-7.3.7"
       sources."to-readable-stream-2.1.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.10.0"
@@ -13697,7 +13739,7 @@ in
       sources."getpass-0.1.7"
       sources."glob-7.1.4"
       sources."glob-parent-5.1.2"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -13823,7 +13865,7 @@ in
       sources."compare-versions-3.6.0"
       sources."core-util-is-1.0.3"
       sources."fs-extra-6.0.1"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."jsonfile-4.0.0"
@@ -13866,22 +13908,21 @@ in
     dependencies = [
       sources."@babel/cli-7.12.10"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.7"
+      sources."@babel/compat-data-7.17.10"
       sources."@babel/core-7.12.10"
-      sources."@babel/generator-7.17.7"
+      sources."@babel/generator-7.17.10"
       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.17.7" // {
+      (sources."@babel/helper-compilation-targets-7.17.10" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.17.6"
+      sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.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-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
       sources."@babel/helper-member-expression-to-functions-7.17.7"
       sources."@babel/helper-module-imports-7.16.7"
@@ -13896,9 +13937,9 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.17.8"
-      sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.17.8"
+      sources."@babel/helpers-7.17.9"
+      sources."@babel/highlight-7.17.9"
+      sources."@babel/parser-7.17.10"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
       sources."@babel/plugin-proposal-class-properties-7.16.7"
       sources."@babel/plugin-proposal-dynamic-import-7.16.7"
@@ -13939,15 +13980,15 @@ in
       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.17.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
+      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
       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-regenerator-7.17.9"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
       sources."@babel/plugin-transform-runtime-7.12.10"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
@@ -13961,26 +14002,29 @@ in
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/runtime-7.12.5"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.3"
-      sources."@babel/types-7.17.0"
+      sources."@babel/traverse-7.17.10"
+      sources."@babel/types-7.17.10"
       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."@jridgewell/gen-mapping-0.1.1"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
-      sources."@types/http-proxy-1.17.8"
+      sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@types/source-list-map-0.1.2"
       sources."@types/tapable-1.0.8"
-      (sources."@types/uglify-js-3.13.1" // {
+      (sources."@types/uglify-js-3.13.2" // {
         dependencies = [
           sources."source-map-0.6.1"
         ];
@@ -14098,12 +14142,12 @@ in
       sources."bindings-1.5.0"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.2" // {
+      (sources."body-parser-1.20.0" // {
         dependencies = [
           sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
         ];
       })
       (sources."bonjour-3.5.0" // {
@@ -14126,7 +14170,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.2"
+      sources."browserslist-4.20.3"
       sources."buffer-4.9.2"
       sources."buffer-from-1.1.2"
       sources."buffer-indexof-1.1.1"
@@ -14143,7 +14187,7 @@ in
       sources."camel-case-4.1.2"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001324"
+      sources."caniuse-lite-1.0.30001338"
       sources."case-sensitive-paths-webpack-plugin-2.3.0"
       sources."caseless-0.12.0"
       (sources."chalk-2.4.2" // {
@@ -14199,7 +14243,7 @@ in
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
+      sources."color-string-1.9.1"
       sources."colorette-1.4.0"
       sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
@@ -14226,7 +14270,7 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.2"
+      sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
@@ -14242,7 +14286,7 @@ in
         ];
       })
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.21.1" // {
+      (sources."core-js-compat-3.22.4" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -14265,7 +14309,7 @@ in
           sources."camelcase-6.3.0"
           sources."loader-utils-2.0.2"
           sources."lru-cache-6.0.0"
-          sources."semver-7.3.5"
+          sources."semver-7.3.7"
           sources."yallist-4.0.0"
         ];
       })
@@ -14299,7 +14343,7 @@ in
       sources."decode-uri-component-0.2.0"
       sources."deep-equal-0.2.2"
       sources."default-gateway-4.2.0"
-      sources."define-properties-1.1.3"
+      sources."define-properties-1.1.4"
       sources."define-property-2.0.2"
       (sources."del-4.1.1" // {
         dependencies = [
@@ -14311,9 +14355,9 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."depd-1.1.2"
+      sources."depd-2.0.0"
       sources."des.js-1.0.1"
-      sources."destroy-1.0.4"
+      sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
       (sources."detect-port-alt-1.1.6" // {
         dependencies = [
@@ -14331,9 +14375,9 @@ in
       sources."dns-packet-1.3.4"
       sources."dns-txt-2.0.2"
       sources."dom-converter-0.2.0"
-      sources."dom-serializer-1.3.2"
+      sources."dom-serializer-1.4.1"
       sources."domain-browser-1.2.0"
-      sources."domelementtype-2.2.0"
+      sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
       sources."dot-case-3.0.4"
@@ -14343,7 +14387,7 @@ in
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.103"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -14365,7 +14409,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.0"
       sources."elm-webpack-loader-6.0.1"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
@@ -14379,7 +14423,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.2"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -14428,12 +14472,12 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."express-4.17.3" // {
+      (sources."express-4.18.1" // {
         dependencies = [
           sources."array-flatten-1.1.1"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.7"
+          sources."qs-6.10.3"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -14491,7 +14535,7 @@ in
       sources."file-uri-to-path-1.0.0"
       sources."filesize-3.6.1"
       sources."fill-range-7.0.1"
-      (sources."finalhandler-1.1.2" // {
+      (sources."finalhandler-1.2.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -14507,7 +14551,7 @@ in
       sources."find-up-4.1.0"
       sources."firstline-1.3.1"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -14522,6 +14566,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-1.0.3"
       sources."get-intrinsic-1.1.1"
@@ -14550,7 +14596,7 @@ in
           sources."slash-1.0.0"
         ];
       })
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       (sources."gzip-size-5.0.0" // {
         dependencies = [
           sources."pify-3.0.0"
@@ -14560,8 +14606,9 @@ in
       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-bigints-1.0.2"
       sources."has-flag-3.0.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."has-value-1.0.0"
@@ -14595,7 +14642,7 @@ in
       sources."html-webpack-plugin-4.5.0"
       sources."htmlparser2-6.1.0"
       sources."http-deceiver-1.2.7"
-      sources."http-errors-1.8.1"
+      sources."http-errors-2.0.0"
       sources."http-parser-js-0.5.6"
       sources."http-proxy-1.18.1"
       sources."http-proxy-middleware-0.21.0"
@@ -14649,7 +14696,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.1"
+      sources."is-core-module-2.9.0"
       sources."is-data-descriptor-1.0.0"
       sources."is-date-object-1.0.5"
       sources."is-descriptor-1.0.2"
@@ -14769,7 +14816,7 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mute-stream-0.0.8"
       sources."nan-2.15.0"
-      sources."nanoid-3.3.2"
+      sources."nanoid-3.3.4"
       sources."nanomatch-1.2.13"
       sources."ncp-1.0.1"
       sources."negotiator-0.6.3"
@@ -14791,7 +14838,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.2"
+      sources."node-releases-2.0.4"
       sources."normalize-package-data-2.5.0"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
@@ -14828,7 +14875,7 @@ in
       sources."object.pick-1.3.0"
       sources."object.values-1.1.5"
       sources."obuf-1.1.2"
-      sources."on-finished-2.3.0"
+      sources."on-finished-2.4.1"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
@@ -14892,7 +14939,7 @@ in
       sources."pkginfo-0.4.1"
       (sources."portfinder-1.0.28" // {
         dependencies = [
-          sources."async-2.6.3"
+          sources."async-2.6.4"
           sources."debug-3.2.7"
           sources."minimist-1.2.6"
           sources."mkdirp-0.5.6"
@@ -14931,7 +14978,7 @@ in
           sources."path-type-4.0.0"
           sources."resolve-from-4.0.0"
           sources."schema-utils-3.1.1"
-          sources."semver-7.3.5"
+          sources."semver-7.3.7"
           sources."yallist-4.0.0"
         ];
       })
@@ -15024,7 +15071,7 @@ in
       })
       (sources."postcss-safe-parser-5.0.2" // {
         dependencies = [
-          sources."postcss-8.4.12"
+          sources."postcss-8.4.13"
         ];
       })
       sources."postcss-selector-parser-6.0.10"
@@ -15068,7 +15115,7 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.3" // {
+      (sources."raw-body-2.5.1" // {
         dependencies = [
           sources."bytes-3.1.2"
         ];
@@ -15128,9 +15175,9 @@ in
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.14.5"
+      sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.4.1"
+      sources."regexp.prototype.flags-1.4.3"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
@@ -15180,7 +15227,7 @@ in
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-5.7.1"
-      (sources."send-0.17.2" // {
+      (sources."send-0.18.0" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -15194,13 +15241,15 @@ in
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
+          sources."depd-1.1.2"
           sources."http-errors-1.6.3"
           sources."inherits-2.0.3"
           sources."ms-2.0.0"
           sources."setprototypeof-1.1.0"
+          sources."statuses-1.5.0"
         ];
       })
-      sources."serve-static-1.14.2"
+      sources."serve-static-1.15.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.1" // {
         dependencies = [
@@ -15308,7 +15357,7 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."statuses-1.5.0"
+      sources."statuses-2.0.1"
       sources."stream-browserify-2.0.2"
       sources."stream-each-1.2.3"
       sources."stream-http-2.8.3"
@@ -15320,8 +15369,8 @@ in
           sources."strip-ansi-6.0.1"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       (sources."stringify-object-3.3.0" // {
         dependencies = [
@@ -15350,7 +15399,7 @@ in
           sources."css-what-3.4.2"
           (sources."dom-serializer-0.2.2" // {
             dependencies = [
-              sources."domelementtype-2.2.0"
+              sources."domelementtype-2.3.0"
             ];
           })
           sources."domelementtype-1.3.1"
@@ -15400,7 +15449,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.3.1"
+      sources."tslib-2.4.0"
       sources."tty-browserify-0.0.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -15435,7 +15484,7 @@ in
           sources."yallist-2.1.2"
         ];
       })
-      sources."unbox-primitive-1.0.1"
+      sources."unbox-primitive-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"
@@ -15681,7 +15730,7 @@ in
       sha512 = "DKhH6o+SNo3m8y9qAM932/gLMK0YmNSJevHdBYkaDWfKiw+vlo4Wtfskb8CI8ZAzWrAOcDNiLCsEbSsbPHk2Vg==";
     };
     dependencies = [
-      sources."@types/jest-27.4.1"
+      sources."@types/jest-27.5.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-5.2.0"
       sources."balanced-match-1.0.2"
@@ -15726,7 +15775,7 @@ in
       sources."supports-color-7.2.0"
       sources."temp-0.9.4"
       sources."ts-union-2.3.0"
-      sources."typescript-4.6.3"
+      sources."typescript-4.6.4"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
     ];
@@ -15743,18 +15792,19 @@ in
   elm-review = nodeEnv.buildNodePackage {
     name = "elm-review";
     packageName = "elm-review";
-    version = "2.7.1";
+    version = "2.7.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.1.tgz";
-      sha512 = "leDgjvE6ldYSOG/jMLmMw2g1vRnrd9nH9mnQcJt57SY2F4FnZT2hfIbuIUBXPaBwhWwC0a6BRt+Jv/2sGOG03A==";
+      url = "https://registry.npmjs.org/elm-review/-/elm-review-2.7.2.tgz";
+      sha512 = "llkRvxgR2GOmtc7wi2vAM+u9j61Pf1fmPsAbpsE4X0ZfusJv0Dddor3lHNNZ0MmpYzNxpm7npxNqYRXs5JIz9A==";
     };
     dependencies = [
       sources."@sindresorhus/is-2.1.1"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.31"
       sources."@types/responselike-1.0.0"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
@@ -15786,6 +15836,7 @@ in
       })
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."cross-spawn-7.0.3"
       sources."debug-4.3.4"
@@ -15793,7 +15844,7 @@ in
       sources."defaults-1.0.3"
       sources."defer-to-connect-2.0.1"
       sources."duplexer3-0.1.4"
-      sources."elm-tooling-1.7.0"
+      sources."elm-tooling-1.8.0"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."fast-levenshtein-3.0.0"
@@ -15808,7 +15859,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."got-10.7.0"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
       sources."http-cache-semantics-4.1.0"
       sources."ieee754-1.2.1"
@@ -15824,7 +15875,7 @@ in
       sources."isexe-2.0.0"
       sources."json-buffer-3.0.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.1.1"
+      sources."keyv-4.2.2"
       sources."kleur-3.0.3"
       sources."locate-path-5.0.0"
       sources."log-symbols-4.1.0"
@@ -15905,8 +15956,8 @@ in
       sources."git-clone-able-0.1.2"
       sources."lru-cache-6.0.0"
       sources."ms-2.1.2"
-      sources."semver-7.3.5"
-      sources."simple-git-3.5.0"
+      sources."semver-7.3.7"
+      sources."simple-git-3.7.1"
       sources."upath-2.0.1"
       sources."yallist-4.0.0"
     ];
diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix
index 4721cac27834b..b2c09d8068267 100644
--- a/pkgs/development/compilers/fpc/default.nix
+++ b/pkgs/development/compilers/fpc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gawk }:
+{ lib, stdenv, fetchurl, gawk, fetchpatch }:
 
 let startFPC = import ./binary.nix { inherit stdenv fetchurl; }; in
 
@@ -17,7 +17,14 @@ stdenv.mkDerivation rec {
   # Patch paths for linux systems. Other platforms will need their own patches.
   patches = [
     ./mark-paths.patch # mark paths for later substitution in postPatch
-  ];
+  ] ++ lib.optional stdenv.isAarch64 (fetchpatch {
+    # backport upstream patch for aarch64 glibc 2.34
+    url = "https://gitlab.com/freepascal.org/fpc/source/-/commit/a20a7e3497bccf3415bf47ccc55f133eb9d6d6a0.patch";
+    hash = "sha256-xKTBwuOxOwX9KCazQbBNLhMXCqkuJgIFvlXewHY63GM=";
+    stripLen = 1;
+    extraPrefix = "fpcsrc/";
+  });
+
   postPatch = ''
     # substitute the markers set by the mark-paths patch
     substituteInPlace fpcsrc/compiler/systems/t_linux.pas --subst-var-by dynlinker-prefix "${glibc}"
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index fc0f50d0797fb..eb81efe2de0c6 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -64,9 +64,10 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "ML-like functional programming language aimed at program verification";
     homepage = "https://www.fstar-lang.org";
-    license = licenses.asl20;
     changelog = "https://github.com/FStarLang/FStar/raw/v${version}/CHANGES.md";
-    platforms = with platforms; darwin ++ linux;
+    license = licenses.asl20;
     maintainers = with maintainers; [ gebner pnmadelaine ];
+    mainProgram = "fstar.exe";
+    platforms = with platforms; darwin ++ linux;
   };
 }
diff --git a/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch b/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
index d9809e828f10c..77202438e47d8 100644
--- a/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
+++ b/pkgs/development/compilers/gcc/11/Added-mcf-thread-model-support-from-mcfgthread.patch
@@ -222,16 +222,16 @@ index de920d714c6..665fb74bd6b 100644
 +#ifdef __USING_MCFGTHREAD__
 +
 +#include <mcfgthread/gthread.h>
-+
++namespace __cxxabiv1 {
 +extern "C" int
-+__cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *),
++__cxa_thread_atexit (void (_GLIBCXX_CDTOR_CALLABI *dtor)(void *),
 +				 void *obj, void *dso_handle)
 +  _GLIBCXX_NOTHROW
 +{
 +  return ::_MCFCRT_AtThreadExit((void (*)(_MCFCRT_STD intptr_t))dtor, (_MCFCRT_STD intptr_t)obj) ? 0 : -1;
 +  (void)dso_handle;
 +}
-+
++}
 +#else // __USING_MCFGTHREAD__
 +
  #ifdef _GLIBCXX_THREAD_ATEXIT_WIN32
diff --git a/pkgs/development/compilers/gcc/11/default.nix b/pkgs/development/compilers/gcc/11/default.nix
index 79e682e88c4eb..607c9eeac2f07 100644
--- a/pkgs/development/compilers/gcc/11/default.nix
+++ b/pkgs/development/compilers/gcc/11/default.nix
@@ -52,7 +52,13 @@ with lib;
 with builtins;
 
 let majorVersion = "11";
-    version = "${majorVersion}.2.0";
+    # The patch below for aarch64-darwin does not apply to 11.3.0 and an
+    # updated version is not available. Keep aarch64-darwin on 11.2.0 so the
+    # large body of packages which depend on gfortran are still functional
+    # until GCC 12 is the default.
+    # On x86_64-darwin, building libgcc suffers from some different issues with 11.3.0.
+    version = if stdenv.isDarwin then
+      "${majorVersion}.2.0" else "${majorVersion}.3.0";
 
     inherit (stdenv) buildPlatform hostPlatform targetPlatform;
 
@@ -91,7 +97,9 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
-    sha256 = "sha256-0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os=";
+    sha256 = if stdenv.isDarwin
+      then "sha256-0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os="
+      else "sha256-tHzygYaR9bHiHfK7OMeV+sLPvWQO3i0KXhyJ4zijrDk=";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/gcc/12/Added-mcf-thread-model-support-from-mcfgthread.patch b/pkgs/development/compilers/gcc/12/Added-mcf-thread-model-support-from-mcfgthread.patch
new file mode 100644
index 0000000000000..77202438e47d8
--- /dev/null
+++ b/pkgs/development/compilers/gcc/12/Added-mcf-thread-model-support-from-mcfgthread.patch
@@ -0,0 +1,306 @@
+From 86f2f767ddffd9f7c6f1470b987ae7b0d251b988 Mon Sep 17 00:00:00 2001
+From: Liu Hao <lh_mouse@126.com>
+Date: Wed, 25 Apr 2018 21:54:19 +0800
+Subject: [PATCH] Added 'mcf' thread model support from mcfgthread.
+
+Signed-off-by: Liu Hao <lh_mouse@126.com>
+---
+ config/gthr.m4                          |  1 +
+ gcc/config.gcc                          |  3 +++
+ gcc/config/i386/mingw-mcfgthread.h      |  1 +
+ gcc/config/i386/mingw-w64.h             |  2 +-
+ gcc/config/i386/mingw32.h               | 11 ++++++++++-
+ gcc/configure                           |  2 +-
+ gcc/configure.ac                        |  2 +-
+ libatomic/configure.tgt                 |  2 +-
+ libgcc/config.host                      |  6 ++++++
+ libgcc/config/i386/gthr-mcf.h           |  1 +
+ libgcc/config/i386/t-mingw-mcfgthread   |  2 ++
+ libgcc/configure                        |  1 +
+ libstdc++-v3/configure                  |  1 +
+ libstdc++-v3/libsupc++/atexit_thread.cc | 18 ++++++++++++++++++
+ libstdc++-v3/libsupc++/guard.cc         | 23 +++++++++++++++++++++++
+ libstdc++-v3/src/c++11/thread.cc        |  9 +++++++++
+ 16 files changed, 80 insertions(+), 5 deletions(-)
+ create mode 100644 gcc/config/i386/mingw-mcfgthread.h
+ create mode 100644 libgcc/config/i386/gthr-mcf.h
+ create mode 100644 libgcc/config/i386/t-mingw-mcfgthread
+
+diff --git a/config/gthr.m4 b/config/gthr.m4
+index 7b29f1f3327..82e21fe1709 100644
+--- a/config/gthr.m4
++++ b/config/gthr.m4
+@@ -21,6 +21,7 @@ case $1 in
+     tpf)	thread_header=config/s390/gthr-tpf.h ;;
+     vxworks)	thread_header=config/gthr-vxworks.h ;;
+     win32)	thread_header=config/i386/gthr-win32.h ;;
++    mcf)	thread_header=config/i386/gthr-mcf.h ;;
+ esac
+ AC_SUBST(thread_header)
+ ])
+diff --git a/gcc/config.gcc b/gcc/config.gcc
+index 46a9029acec..112c24e95a3 100644
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1758,6 +1758,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 	if test x$enable_threads = xposix ; then
+ 		tm_file="${tm_file} i386/mingw-pthread.h"
+ 	fi
++	if test x$enable_threads = xmcf ; then
++		tm_file="${tm_file} i386/mingw-mcfgthread.h"
++	fi
+ 	tm_file="${tm_file} i386/mingw32.h"
+ 	# This makes the logic if mingw's or the w64 feature set has to be used
+ 	case ${target} in
+diff --git a/gcc/config/i386/mingw-mcfgthread.h b/gcc/config/i386/mingw-mcfgthread.h
+new file mode 100644
+index 00000000000..ec381a7798f
+--- /dev/null
++++ b/gcc/config/i386/mingw-mcfgthread.h
+@@ -0,0 +1 @@
++#define TARGET_USE_MCFGTHREAD 1
+diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h
+index 484dc7a9e9f..a15bbeea500 100644
+--- a/gcc/config/i386/mingw-w64.h
++++ b/gcc/config/i386/mingw-w64.h
+@@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see
+ 		 "%{mwindows:-lgdi32 -lcomdlg32} " \
+      "%{fvtable-verify=preinit:-lvtv -lpsapi; \
+         fvtable-verify=std:-lvtv -lpsapi} " \
+-		 "-ladvapi32 -lshell32 -luser32 -lkernel32"
++		 LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32"
+ 
+ #undef SPEC_32
+ #undef SPEC_64
+diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h
+index 0612b87199a..76cea94f3b7 100644
+--- a/gcc/config/i386/mingw32.h
++++ b/gcc/config/i386/mingw32.h
+@@ -32,6 +32,14 @@ along with GCC; see the file COPYING3.  If not see
+ 	 | MASK_STACK_PROBE | MASK_ALIGN_DOUBLE \
+ 	 | MASK_MS_BITFIELD_LAYOUT)
+ 
++#ifndef TARGET_USE_MCFGTHREAD
++#define CPP_MCFGTHREAD()  ((void)0)
++#define LIB_MCFGTHREAD     ""
++#else
++#define CPP_MCFGTHREAD()  (builtin_define("__USING_MCFGTHREAD__"))
++#define LIB_MCFGTHREAD     " -lmcfgthread "
++#endif
++
+ /* See i386/crtdll.h for an alternative definition. _INTEGRAL_MAX_BITS
+    is for compatibility with native compiler.  */
+ #define EXTRA_OS_CPP_BUILTINS()					\
+@@ -50,6 +58,7 @@ along with GCC; see the file COPYING3.  If not see
+ 	  builtin_define_std ("WIN64");				\
+ 	  builtin_define ("_WIN64");				\
+ 	}							\
++	CPP_MCFGTHREAD();	\
+     }								\
+   while (0)
+ 
+@@ -93,7 +102,7 @@ along with GCC; see the file COPYING3.  If not see
+ 		 "%{mwindows:-lgdi32 -lcomdlg32} " \
+      "%{fvtable-verify=preinit:-lvtv -lpsapi; \
+         fvtable-verify=std:-lvtv -lpsapi} " \
+-                 "-ladvapi32 -lshell32 -luser32 -lkernel32"
++                 LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32"
+ 
+ /* Weak symbols do not get resolved if using a Windows dll import lib.
+    Make the unwind registration references strong undefs.  */
+diff --git a/gcc/configure b/gcc/configure
+index 6121e163259..52f0e00efe6 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -11693,7 +11693,7 @@ case ${enable_threads} in
+     target_thread_file='single'
+     ;;
+   aix | dce | lynx | mipssde | posix | rtems | \
+-  single | tpf | vxworks | win32)
++  single | tpf | vxworks | win32 | mcf)
+     target_thread_file=${enable_threads}
+     ;;
+   *)
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index b066cc609e1..4ecdba88de7 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -1612,7 +1612,7 @@ case ${enable_threads} in
+     target_thread_file='single'
+     ;;
+   aix | dce | lynx | mipssde | posix | rtems | \
+-  single | tpf | vxworks | win32)
++  single | tpf | vxworks | win32 | mcf)
+     target_thread_file=${enable_threads}
+     ;;
+   *)
+diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
+index ea8c34f8c71..23134ad7363 100644
+--- a/libatomic/configure.tgt
++++ b/libatomic/configure.tgt
+@@ -145,7 +145,7 @@ case "${target}" in
+   *-*-mingw*)
+ 	# OS support for atomic primitives.
+         case ${target_thread_file} in
+-          win32)
++          win32 | mcf)
+             config_path="${config_path} mingw"
+             ;;
+           posix)
+diff --git a/libgcc/config.host b/libgcc/config.host
+index 11b4acaff55..9fbd38650bd 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -737,6 +737,9 @@ i[34567]86-*-mingw*)
+ 	  posix)
+ 	    tmake_file="i386/t-mingw-pthread $tmake_file"
+ 	    ;;
++	  mcf)
++	    tmake_file="i386/t-mingw-mcfgthread $tmake_file"
++	    ;;
+ 	esac
+ 	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
+ 	if test x$ac_cv_sjlj_exceptions = xyes; then
+@@ -761,6 +764,9 @@ x86_64-*-mingw*)
+ 	  posix)
+ 	    tmake_file="i386/t-mingw-pthread $tmake_file"
+ 	    ;;
++	  mcf)
++	    tmake_file="i386/t-mingw-mcfgthread $tmake_file"
++	    ;;
+ 	esac
+ 	# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
+ 	if test x$ac_cv_sjlj_exceptions = xyes; then
+diff --git a/libgcc/config/i386/gthr-mcf.h b/libgcc/config/i386/gthr-mcf.h
+new file mode 100644
+index 00000000000..5ea2908361f
+--- /dev/null
++++ b/libgcc/config/i386/gthr-mcf.h
+@@ -0,0 +1 @@
++#include <mcfgthread/gthread.h>
+diff --git a/libgcc/config/i386/t-mingw-mcfgthread b/libgcc/config/i386/t-mingw-mcfgthread
+new file mode 100644
+index 00000000000..4b9b10e32d6
+--- /dev/null
++++ b/libgcc/config/i386/t-mingw-mcfgthread
+@@ -0,0 +1,2 @@
++SHLIB_PTHREAD_CFLAG =
++SHLIB_PTHREAD_LDFLAG = -lmcfgthread
+diff --git a/libgcc/configure b/libgcc/configure
+index b2f3f870844..eff889dc3b3 100644
+--- a/libgcc/configure
++++ b/libgcc/configure
+@@ -5451,6 +5451,7 @@ case $target_thread_file in
+     tpf)	thread_header=config/s390/gthr-tpf.h ;;
+     vxworks)	thread_header=config/gthr-vxworks.h ;;
+     win32)	thread_header=config/i386/gthr-win32.h ;;
++    mcf)	thread_header=config/i386/gthr-mcf.h ;;
+ esac
+ 
+ 
+diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
+index ba094be6f15..979a5ab9ace 100755
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -15187,6 +15187,7 @@ case $target_thread_file in
+     tpf)	thread_header=config/s390/gthr-tpf.h ;;
+     vxworks)	thread_header=config/gthr-vxworks.h ;;
+     win32)	thread_header=config/i386/gthr-win32.h ;;
++    mcf)	thread_header=config/i386/gthr-mcf.h ;;
+ esac
+ 
+ 
+diff --git a/libstdc++-v3/libsupc++/atexit_thread.cc b/libstdc++-v3/libsupc++/atexit_thread.cc
+index de920d714c6..665fb74bd6b 100644
+--- a/libstdc++-v3/libsupc++/atexit_thread.cc
++++ b/libstdc++-v3/libsupc++/atexit_thread.cc
+@@ -25,6 +25,22 @@
+ #include <cstdlib>
+ #include <new>
+ #include "bits/gthr.h"
++
++#ifdef __USING_MCFGTHREAD__
++
++#include <mcfgthread/gthread.h>
++namespace __cxxabiv1 {
++extern "C" int
++__cxa_thread_atexit (void (_GLIBCXX_CDTOR_CALLABI *dtor)(void *),
++				 void *obj, void *dso_handle)
++  _GLIBCXX_NOTHROW
++{
++  return ::_MCFCRT_AtThreadExit((void (*)(_MCFCRT_STD intptr_t))dtor, (_MCFCRT_STD intptr_t)obj) ? 0 : -1;
++  (void)dso_handle;
++}
++}
++#else // __USING_MCFGTHREAD__
++
+ #ifdef _GLIBCXX_THREAD_ATEXIT_WIN32
+ #define WIN32_LEAN_AND_MEAN
+ #include <windows.h>
+@@ -167,3 +183,5 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), void *obj, void */*dso_ha
+ }
+ 
+ #endif /* _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */
++
++#endif // __USING_MCFGTHREAD__
+diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc
+index 3a2ec3ad0d6..8b4cc96199b 100644
+--- a/libstdc++-v3/libsupc++/guard.cc
++++ b/libstdc++-v3/libsupc++/guard.cc
+@@ -28,6 +28,27 @@
+ #include <cxxabi.h>
+ #include <exception>
+ #include <new>
++
++#ifdef __USING_MCFGTHREAD__
++
++#include <mcfgthread/gthread.h>
++
++namespace __cxxabiv1 {
++
++extern "C" int __cxa_guard_acquire(__guard *g){
++	return ::_MCFCRT_WaitForOnceFlagForever((::_MCFCRT_OnceFlag *)g) == ::_MCFCRT_kOnceResultInitial;
++}
++extern "C" void __cxa_guard_abort(__guard *g) throw() {
++	::_MCFCRT_SignalOnceFlagAsAborted((::_MCFCRT_OnceFlag *)g);
++}
++extern "C" void __cxa_guard_release(__guard *g) throw() {
++	::_MCFCRT_SignalOnceFlagAsFinished((::_MCFCRT_OnceFlag *)g);
++}
++
++}
++
++#else // __USING_MCFGTHREAD__
++
+ #include <ext/atomicity.h>
+ #include <ext/concurrence.h>
+ #include <bits/atomic_lockfree_defines.h>
+@@ -425,3 +446,5 @@ namespace __cxxabiv1
+ #endif
+   }
+ }
++
++#endif
+diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc
+index 8238817c2e9..0c6a1f85f6f 100644
+--- a/libstdc++-v3/src/c++11/thread.cc
++++ b/libstdc++-v3/src/c++11/thread.cc
+@@ -55,6 +55,15 @@ static inline int get_nprocs()
+ #elif defined(_GLIBCXX_USE_SC_NPROC_ONLN)
+ # include <unistd.h>
+ # define _GLIBCXX_NPROCS sysconf(_SC_NPROC_ONLN)
++#elif defined(_WIN32)
++# include <windows.h>
++static inline int get_nprocs()
++{
++  SYSTEM_INFO sysinfo;
++  GetSystemInfo(&sysinfo);
++  return (int)sysinfo.dwNumberOfProcessors;
++}
++# define _GLIBCXX_NPROCS get_nprocs()
+ #else
+ # define _GLIBCXX_NPROCS 0
+ #endif
+-- 
+2.17.0
+
diff --git a/pkgs/development/compilers/gcc/12/default.nix b/pkgs/development/compilers/gcc/12/default.nix
new file mode 100644
index 0000000000000..4f2da6903d300
--- /dev/null
+++ b/pkgs/development/compilers/gcc/12/default.nix
@@ -0,0 +1,294 @@
+{ lib, stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
+, langC ? true, langCC ? true, langFortran ? false
+, langAda ? false
+, langObjC ? stdenv.targetPlatform.isDarwin
+, langObjCpp ? stdenv.targetPlatform.isDarwin
+, langGo ? false
+, reproducibleBuild ? true
+, profiledCompiler ? false
+, langJit ? false
+, staticCompiler ? false
+, enableShared ? !stdenv.targetPlatform.isStatic
+, enableLTO ? !stdenv.hostPlatform.isStatic
+, texinfo ? null
+, perl ? null # optional, for texi2pod (then pod2man)
+, gmp, mpfr, libmpc, gettext, which, patchelf
+, libelf                      # optional, for link-time optimizations (LTO)
+, isl ? null # optional, for the Graphite optimization framework.
+, zlib ? null
+, gnatboot ? null
+, enableMultilib ? false
+, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
+, name ? "gcc"
+, libcCross ? null
+, threadsCross ? null # for MinGW
+, crossStageStatic ? false
+, # Strip kills static libs of other archs (hence no cross)
+  stripped ? stdenv.hostPlatform.system == stdenv.buildPlatform.system
+          && stdenv.targetPlatform.system == stdenv.hostPlatform.system
+, gnused ? null
+, cloog # unused; just for compat with gcc4, as we override the parameter on some places
+, buildPackages
+}:
+
+# LTO needs libelf and zlib.
+assert libelf != null -> zlib != null;
+
+# Make sure we get GNU sed.
+assert stdenv.hostPlatform.isDarwin -> gnused != null;
+
+# The go frontend is written in c++
+assert langGo -> langCC;
+assert langAda -> gnatboot != null;
+
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
+# profiledCompiler builds inject non-determinism in one of the compilation stages.
+# If turned on, we can't provide reproducible builds anymore
+assert reproducibleBuild -> profiledCompiler == false;
+
+with lib;
+with builtins;
+
+let majorVersion = "12";
+    version = "${majorVersion}.1.0";
+
+    inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+    patches =
+         optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
+      ++ optional noSysDirs ../gcc-12-no-sys-dirs.patch
+      ++ optional noSysDirs ../no-sys-dirs-riscv.patch
+      ++ [
+        ../gnat-cflags-11.patch
+        ../gcc-12-gfortran-driving.patch
+        ../ppc-musl.patch
+      ] ++ optional (stdenv.isDarwin && stdenv.isAarch64) (fetchpatch {
+        url = "https://github.com/fxcoudert/gcc/compare/releases/gcc-11.1.0...gcc-11.1.0-arm-20210504.diff";
+        sha256 = "sha256-JqCGJAfbOxSmkNyq49aFHteK/RFsCSLQrL9mzUCnaD0=";
+      })
+
+      # Obtain latest patch with ../update-mcfgthread-patches.sh
+      ++ optional (!crossStageStatic && targetPlatform.isMinGW) ./Added-mcf-thread-model-support-from-mcfgthread.patch;
+
+    /* Cross-gcc settings (build == host != target) */
+    crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
+
+in
+
+stdenv.mkDerivation ({
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
+
+  builder = ../builder.sh;
+
+  src = fetchurl {
+    url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
+    sha256 = "sha256-Yv1jSInzHAK2SvLEaPBktHrRynhBHEWr5qxLX43RnHs=";
+  };
+
+  inherit patches;
+
+  outputs = [ "out" "man" "info" ] ++ lib.optional (!langJit) "lib";
+  setOutputFlags = false;
+  NIX_NO_SELF_RPATH = true;
+
+  libc_dev = stdenv.cc.libc_dev;
+
+  hardeningDisable = [ "format" "pie" ];
+
+  postPatch = ''
+    configureScripts=$(find . -name configure)
+    for configureScript in $configureScripts; do
+      patchShebangs $configureScript
+    done
+  ''
+  # This should kill all the stdinc frameworks that gcc and friends like to
+  # insert into default search paths.
+  + lib.optionalString hostPlatform.isDarwin ''
+    substituteInPlace gcc/config/darwin-c.c \
+      --replace 'if (stdinc)' 'if (0)'
+
+    substituteInPlace libgcc/config/t-slibgcc-darwin \
+      --replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name ''${!outputLib}/lib/\$(SHLIB_INSTALL_NAME)"
+
+    substituteInPlace libgfortran/configure \
+      --replace "-install_name \\\$rpath/\\\$soname" "-install_name ''${!outputLib}/lib/\\\$soname"
+  ''
+  + (
+    if targetPlatform != hostPlatform || stdenv.cc.libc != null then
+      # On NixOS, use the right path to the dynamic linker instead of
+      # `/lib/ld*.so'.
+      let
+        libc = if libcCross != null then libcCross else stdenv.cc.libc;
+      in
+        (
+        '' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..."
+           for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
+           do
+             grep -q _DYNAMIC_LINKER "$header" || continue
+             echo "  fixing \`$header'..."
+             sed -i "$header" \
+                 -e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
+                 -e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
+           done
+        ''
+        + lib.optionalString (targetPlatform.libc == "musl")
+        ''
+            sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
+        ''
+        )
+    else "")
+      + lib.optionalString targetPlatform.isAvr ''
+            makeFlagsArray+=(
+               '-s' # workaround for hitting hydra log limit
+               'LIMITS_H_TEST=false'
+            )
+          '';
+
+  inherit noSysDirs staticCompiler crossStageStatic
+    libcCross crossMingw;
+
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ texinfo which gettext ]
+    ++ (optional (perl != null) perl)
+    ++ (optional langAda gnatboot)
+    ;
+
+  # For building runtime libs
+  depsBuildTarget =
+    (
+      if hostPlatform == buildPlatform then [
+        targetPackages.stdenv.cc.bintools # newly-built gcc will be used
+      ] else assert targetPlatform == hostPlatform; [ # build != host == target
+        stdenv.cc
+      ]
+    )
+    ++ optional targetPlatform.isLinux patchelf;
+
+  buildInputs = [
+    gmp mpfr libmpc libelf
+    targetPackages.stdenv.cc.bintools # For linking code at run-time
+  ] ++ (optional (isl != null) isl)
+    ++ (optional (zlib != null) zlib)
+    # The builder relies on GNU sed (for instance, Darwin's `sed' fails with
+    # "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
+    ++ (optional hostPlatform.isDarwin gnused)
+    ;
+
+  depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
+
+  NIX_LDFLAGS = lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
+
+  preConfigure = import ../common/pre-configure.nix {
+    inherit lib;
+    inherit version targetPlatform hostPlatform gnatboot langAda langGo langJit;
+  };
+
+  dontDisableStatic = true;
+
+  configurePlatforms = [ "build" "host" "target" ];
+
+  configureFlags = import ../common/configure-flags.nix {
+    inherit
+      lib
+      stdenv
+      targetPackages
+      crossStageStatic libcCross
+      version
+
+      gmp mpfr libmpc libelf isl
+
+      enableLTO
+      enableMultilib
+      enablePlugin
+      enableShared
+
+      langC
+      langCC
+      langFortran
+      langAda
+      langGo
+      langObjC
+      langObjCpp
+      langJit
+      ;
+  };
+
+  targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
+
+  buildFlags = optional
+    (targetPlatform == hostPlatform && hostPlatform == buildPlatform)
+    (if profiledCompiler then "profiledbootstrap" else "bootstrap");
+
+  dontStrip = !stripped;
+
+  installTargets = optional stripped "install-strip";
+
+  # https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
+  ${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
+
+  # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
+  # library headers and binaries, regarless of the language being compiled.
+  #
+  # Likewise, the LTO code doesn't find zlib.
+  #
+  # Cross-compiling, we need gcc not to read ./specs in order to build the g++
+  # compiler (after the specs for the cross-gcc are created). Having
+  # LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
+
+  CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
+    ++ optional (zlib != null) zlib
+  ));
+
+  LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
+
+  inherit
+    (import ../common/extra-target-flags.nix {
+      inherit lib stdenv crossStageStatic libcCross threadsCross;
+    })
+    EXTRA_FLAGS_FOR_TARGET
+    EXTRA_LDFLAGS_FOR_TARGET
+    ;
+
+  passthru = {
+    inherit langC langCC langObjC langObjCpp langAda langFortran langGo version;
+    isGNU = true;
+  };
+
+  enableParallelBuilding = true;
+  inherit enableShared enableMultilib;
+
+  inherit (stdenv) is64bit;
+
+  meta = {
+    homepage = "https://gcc.gnu.org/";
+    license = lib.licenses.gpl3Plus;  # runtime support libraries are typically LGPLv3+
+    description = "GNU Compiler Collection, version ${version}"
+      + (if stripped then "" else " (with debugging info)");
+
+    longDescription = ''
+      The GNU Compiler Collection includes compiler front ends for C, C++,
+      Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
+      libraries for these languages (libstdc++, libgomp,...).
+
+      GCC development is a part of the GNU Project, aiming to improve the
+      compiler used in the GNU system including the GNU/Linux variant.
+    '';
+
+    maintainers = lib.teams.gcc.members;
+
+    platforms = lib.platforms.unix;
+  };
+}
+
+// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
+  makeFlags = [ "all-gcc" "all-target-libgcc" ];
+  installTargets = "install-gcc install-target-libgcc";
+}
+
+// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
+)
diff --git a/pkgs/development/compilers/gcc/gcc-12-gfortran-driving.patch b/pkgs/development/compilers/gcc/gcc-12-gfortran-driving.patch
new file mode 100644
index 0000000000000..0ad1f256063fe
--- /dev/null
+++ b/pkgs/development/compilers/gcc/gcc-12-gfortran-driving.patch
@@ -0,0 +1,20 @@
+This patch fixes interaction with Libtool.
+See <http://thread.gmane.org/gmane.comp.gcc.patches/258777>, for details.
+
+--- a/gcc/fortran/gfortranspec.cc
++++ b/gcc/fortran/gfortranspec.cc
+@@ -461,8 +461,15 @@ For more information about these matters, see the file named COPYING\n\n"));
+     {
+       fprintf (stderr, _("Driving:"));
+       for (i = 0; i < g77_newargc; i++)
++	{
++	  if (g77_new_decoded_options[i].opt_index == OPT_l)
++	    /* Make sure no white space is inserted after `-l'.  */
++	    fprintf (stderr, " -l%s",
++		     g77_new_decoded_options[i].canonical_option[1]);
++	  else
+ 	fprintf (stderr, " %s",
+ 		 g77_new_decoded_options[i].orig_option_with_args_text);
++	}
+       fprintf (stderr, "\n");
+     }
diff --git a/pkgs/development/compilers/gcc/gcc-12-no-sys-dirs.patch b/pkgs/development/compilers/gcc/gcc-12-no-sys-dirs.patch
new file mode 100644
index 0000000000000..67a94298440f8
--- /dev/null
+++ b/pkgs/development/compilers/gcc/gcc-12-no-sys-dirs.patch
@@ -0,0 +1,26 @@
+--- a/gcc/cppdefault.cc	2013-01-10 21:38:27.000000000 +0100
++++ b/gcc/cppdefault.cc	2014-08-18 16:20:32.893944536 +0200
+@@ -35,6 +35,8 @@
+ # undef CROSS_INCLUDE_DIR
+ #endif
+ 
++#undef LOCAL_INCLUDE_DIR
++
+ const struct default_include cpp_include_defaults[]
+ #ifdef INCLUDE_DEFAULTS
+ = INCLUDE_DEFAULTS;
+--- a/gcc/gcc.cc	2014-03-23 12:30:57.000000000 +0100
++++ b/gcc/gcc.cc	2014-08-18 13:19:32.689201690 +0200
+@@ -1162,10 +1162,10 @@
+ /* Default prefixes to attach to command names.  */
+ 
+ #ifndef STANDARD_STARTFILE_PREFIX_1
+-#define STANDARD_STARTFILE_PREFIX_1 "/lib/"
++#define STANDARD_STARTFILE_PREFIX_1 ""
+ #endif
+ #ifndef STANDARD_STARTFILE_PREFIX_2
+-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/"
++#define STANDARD_STARTFILE_PREFIX_2 ""
+ #endif
+ 
+ #ifdef CROSS_DIRECTORY_STRUCTURE  /* Don't use these prefixes for a cross compiler.  */
diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix
index 5693fa7455122..aad9c27fc563b 100644
--- a/pkgs/development/compilers/go/1.18.nix
+++ b/pkgs/development/compilers/go/1.18.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    sha256 = "sha256-79Q+DxQC4IO3OgPURLe2V2u0xTmsRiCLY6kWtprKQIg=";
+    sha256 = "sha256-LETQPqLDQJITerkZumAvLCYaA40I60aFKKPzoo5WZ+I=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/hare/config-template.mk b/pkgs/development/compilers/hare/config-template.mk
new file mode 100644
index 0000000000000..1d0783b118d3c
--- /dev/null
+++ b/pkgs/development/compilers/hare/config-template.mk
@@ -0,0 +1,27 @@
+## Template to generate config.mk via substitute-all
+
+# set PREFIX externally
+BINDIR = $(PREFIX)/bin
+MANDIR = $(PREFIX)/share/man
+SRCDIR = $(PREFIX)/src
+STDLIB = $(SRCDIR)/hare/stdlib
+
+HAREPATH = $(SRCDIR)/hare/stdlib:$(SRCDIR)/hare/third-party
+
+## Build configuration
+
+# Platform to build for
+PLATFORM = @platform@
+ARCH = @arch@
+
+# External tools and flags
+HAREC = harec
+HAREFLAGS = @hareflags@
+QBE = qbe
+AS = as
+LD = ld
+AR = ar
+SCDOC = scdoc
+
+# Where to store build artifacts
+# set HARECACHE externally
diff --git a/pkgs/development/compilers/hare/hare.nix b/pkgs/development/compilers/hare/hare.nix
new file mode 100644
index 0000000000000..f5c0cd8e405f5
--- /dev/null
+++ b/pkgs/development/compilers/hare/hare.nix
@@ -0,0 +1,93 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, binutils-unwrapped
+, harec
+, makeWrapper
+, qbe
+, scdoc
+, substituteAll
+}:
+
+stdenv.mkDerivation rec {
+  pname = "hare";
+  version = "0.pre+date=2022-04-27";
+
+  src = fetchFromSourcehut {
+    name = pname + "-src";
+    owner = "~sircmpwn";
+    repo = pname;
+    rev = "1bfb2e6dee850c675a8831b41420800d3c62c2a0";
+    hash = "sha256-1b7U5u3PM3jmnH/OnY9O++GTPyVOdFkJ0fwJBoDZgSU=";
+  };
+
+  nativeBuildInputs = [
+    binutils-unwrapped
+    harec
+    makeWrapper
+    qbe
+    scdoc
+  ];
+
+  buildInputs = [
+    binutils-unwrapped
+    harec
+    qbe
+  ];
+
+  strictDeps = true;
+
+  configurePhase =
+    let
+      # https://harelang.org/platforms/
+      arch =
+        if stdenv.isx86_64 then "x86_64"
+        else if stdenv.isAarch64 then "aarch64"
+        else if stdenv.isRiscV64 then "riscv64"
+        else "unsupported";
+      platform =
+        if stdenv.isLinux then "linux"
+        else if stdenv.isFreeBSD then "freebsd"
+        else "unsupported";
+      hareflags = "";
+      config-file = substituteAll {
+        src = ./config-template.mk;
+        inherit arch platform hareflags;
+      };
+    in
+      ''
+        runHook preConfigure
+
+        export HARECACHE="$NIX_BUILD_TOP/.harecache"
+        cat ${config-file} > config.mk
+
+        runHook postConfigure
+      '';
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  doCheck = true;
+
+  postInstall =
+    let
+      binPath = lib.makeBinPath [
+        binutils-unwrapped
+        harec
+        qbe
+      ];
+    in
+      ''
+        wrapProgram $out/bin/hare --prefix PATH : ${binPath}
+      '';
+
+  meta = with lib; {
+    homepage = "http://harelang.org/";
+    description =
+      "A systems programming language designed to be simple, stable, and robust";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    inherit (harec.meta) platforms badPlatforms;
+  };
+}
diff --git a/pkgs/development/compilers/hare/harec.nix b/pkgs/development/compilers/hare/harec.nix
new file mode 100644
index 0000000000000..a3ad53350b094
--- /dev/null
+++ b/pkgs/development/compilers/hare/harec.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromSourcehut
+, qbe
+}:
+
+stdenv.mkDerivation rec {
+  pname = "harec";
+  version = "0.pre+date=2022-04-26";
+
+  src = fetchFromSourcehut {
+    name = pname + "-src";
+    owner = "~sircmpwn";
+    repo = pname;
+    rev = "e5fb5176ba629e98ace5fcb3aa427b2c25d8fdf0";
+    hash = "sha256-sqt3q6sarzrpyJ/1QYM1WTukrZpflAmAYq6pQwAwe18=";
+  };
+
+  nativeBuildInputs = [
+    qbe
+  ];
+
+  buildInputs = [
+    qbe
+  ];
+
+  # TODO: report upstream
+  hardeningDisable = [ "fortify" ];
+
+  strictDeps = true;
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "http://harelang.org/";
+    description = "Bootstrapping Hare compiler written in C for POSIX systems";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ AndersonTorres ];
+    # The upstream developers do not like proprietary operating systems; see
+    # https://harelang.org/platforms/
+    platforms = with platforms;
+      lib.intersectLists (freebsd ++ linux) (aarch64 ++ x86_64 ++ riscv64);
+    badPlatforms = with platforms; darwin;
+  };
+}
diff --git a/pkgs/development/compilers/hip/default.nix b/pkgs/development/compilers/hip/default.nix
index 2153a30cb160b..f073eca91d5c4 100644
--- a/pkgs/development/compilers/hip/default.nix
+++ b/pkgs/development/compilers/hip/default.nix
@@ -31,13 +31,13 @@
 let
   hip = stdenv.mkDerivation rec {
     pname = "hip";
-    version = "5.0.2";
+    version = "5.1.1";
 
     src = fetchFromGitHub {
       owner = "ROCm-Developer-Tools";
       repo = "HIP";
       rev = "rocm-${version}";
-      hash = "sha256-w023vBLJaiFbRdvz9UfZLPasRjk3VqM9zwctCIJ5hGU=";
+      hash = "sha256-/kIZrbzq1u1pIs1jlmRYZNUGteqVQTI4TlXsHsVIUKE=";
     };
 
     # - fix bash paths
@@ -102,13 +102,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "hip";
-  version = "5.0.2";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "hipamd";
     rev = "rocm-${version}";
-    hash = "sha256-hhTwKG0wDpbIBI8S61AhdNldX+STO8C66xi2EzmJSBs=";
+    hash = "sha256-TuCMRJb6G/bhD8hG6Ot7MIkgBoShjVboeXrlGh9eYpQ=";
   };
 
   nativeBuildInputs = [ cmake python3 makeWrapper perl ];
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 176affd047c9a..0eab971fb977d 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -9,6 +9,8 @@
 , lld_11
 , opencl-clang
 , python3
+, spirv-tools
+, spirv-headers
 , spirv-llvm-translator
 
 , buildWithPatches ? true
@@ -18,8 +20,8 @@ let
   vc_intrinsics_src = fetchFromGitHub {
     owner = "intel";
     repo = "vc-intrinsics";
-    rev = "e5ad7e02aa4aa21a3cd7b3e5d1f3ec9b95f58872";
-    sha256 = "Vg1mngwpIQ3Tik0GgRXPG22lE4sLEAEFch492G2aIXs=";
+    rev = "v0.3.0";
+    sha256 = "sha256-1Rm4TCERTOcPGWJF+yNoKeB9x3jfqnh7Vlv+0Xpmjbk=";
   };
   llvmPkgs = llvmPackages_11 // {
     inherit spirv-llvm-translator;
@@ -31,18 +33,18 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.8744";
+  version = "1.0.11061";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    sha256 = "G5+dYD8uZDPkRyn1sgXsRngdq4NJndiCJCYTRXyUgTA=";
+    sha256 = "sha256-qS/+GTqHtp3T6ggPKrCDsrTb7XvVOUaNbMzGU51jTu4=";
   };
 
   nativeBuildInputs = [ clang cmake bison flex python3 ];
 
-  buildInputs = [ clang opencl-clang spirv-llvm-translator llvm lld_11 ];
+  buildInputs = [ spirv-headers spirv-tools clang opencl-clang spirv-llvm-translator llvm lld_11 ];
 
   strictDeps = true;
 
@@ -52,6 +54,21 @@ stdenv.mkDerivation rec {
   # https://github.com/intel/intel-graphics-compiler/issues/98
   doCheck = false;
 
+  postPatch = ''
+    substituteInPlace ./external/SPIRV-Tools/CMakeLists.txt \
+      --replace '$'''{SPIRV-Tools_DIR}../../..' \
+                '${spirv-tools}' \
+      --replace 'SPIRV-Headers_INCLUDE_DIR "/usr/include"' \
+                'SPIRV-Headers_INCLUDE_DIR "${spirv-headers}/include"' \
+      --replace 'set_target_properties(SPIRV-Tools' \
+                'set_target_properties(SPIRV-Tools-shared' \
+      --replace 'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools' \
+                'IGC_BUILD__PROJ__SPIRV-Tools SPIRV-Tools-shared'
+    substituteInPlace ./IGC/AdaptorOCL/igc-opencl.pc.in \
+      --replace '/@CMAKE_INSTALL_INCLUDEDIR@' "/include" \
+      --replace '/@CMAKE_INSTALL_LIBDIR@' "/lib"
+  '';
+
   # Handholding the braindead build script
   # cmake requires an absolute path
   prebuilds = runCommandLocal "igc-cclang-prebuilds" { } ''
@@ -64,8 +81,9 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
+    "-Wno-dev"
     "-DVC_INTRINSICS_SRC=${vc_intrinsics_src}"
-    "-DINSTALL_SPIRVDLL=0"
+    "-DIGC_OPTION__SPIRV_TOOLS_MODE=Prebuilds"
     "-DCCLANG_BUILD_PREBUILDS=ON"
     "-DCCLANG_BUILD_PREBUILDS_DIR=${prebuilds}"
     "-DIGC_PREFERRED_LLVM_VERSION=${getVersion llvm}"
diff --git a/pkgs/development/compilers/jasmin-compiler/default.nix b/pkgs/development/compilers/jasmin-compiler/default.nix
index 7642ae4aff265..dbacda5c4798a 100644
--- a/pkgs/development/compilers/jasmin-compiler/default.nix
+++ b/pkgs/development/compilers/jasmin-compiler/default.nix
@@ -34,8 +34,9 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A workbench for high-assurance and high-speed cryptography";
     homepage = "https://github.com/jasmin-lang/jasmin/";
-    platforms = lib.platforms.all;
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "jasminc";
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
index 18fd44612f100..e700e1a08b2cc 100644
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }:
 
 let
-  version = "5.0.2";
+  version = "5.1.1";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${version}";
-    hash = "sha256-wPzwbeQUFE6RAytrz5lBa6UUPoVL0UeMyY3qa4M6W6M=";
+    hash = "sha256-5SGIWiyfHvfwIUc4bhdWrlhBfK5ssA7tm5r3zKdr3kg=";
   };
 in rec {
   clang = wrapCCWith rec {
@@ -52,12 +52,10 @@ in rec {
   };
 
   lld = callPackage ./lld.nix {
-    inherit llvm version;
-    src = "${src}/lld";
+    inherit llvm src version;
   };
 
   llvm = callPackage ./llvm {
-    inherit version;
-    src = "${src}/llvm";
+    inherit src version;
   };
 }
diff --git a/pkgs/development/compilers/llvm/rocm/lld.nix b/pkgs/development/compilers/llvm/rocm/lld.nix
index 2e3e1ca13d433..272e430c1fcdf 100644
--- a/pkgs/development/compilers/llvm/rocm/lld.nix
+++ b/pkgs/development/compilers/llvm/rocm/lld.nix
@@ -3,6 +3,7 @@
 , cmake
 , libxml2
 , llvm
+, ninja
 
 , version
 , src
@@ -11,15 +12,17 @@
 stdenv.mkDerivation rec {
   inherit version src;
 
+  sourceRoot = "${src.name}/lld";
+
   pname = "lld";
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
 
   buildInputs = [ libxml2 llvm ];
 
   outputs = [ "out" "dev" ];
 
-  cmakeFlags = [ "-DLLVM_MAIN_SRC_DIR=${llvm.src}" ];
+  cmakeFlags = [ "-DLLVM_MAIN_SRC_DIR=${src}/llvm" ];
 
   postInstall = ''
     moveToOutput include "$dev"
diff --git a/pkgs/development/compilers/llvm/rocm/llvm/default.nix b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
index 722ca1a762a8d..80a387b3650d8 100644
--- a/pkgs/development/compilers/llvm/rocm/llvm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/llvm/default.nix
@@ -28,6 +28,8 @@ in stdenv.mkDerivation rec {
 
   pname = "rocm-llvm";
 
+  sourceRoot = "${src.name}/llvm";
+
   outputs = [ "out" "python" ]
     ++ lib.optional enableSharedLibraries "lib";
 
diff --git a/pkgs/development/compilers/mercury/default.nix b/pkgs/development/compilers/mercury/default.nix
index c5e767a46cde4..ef1468ac1ed9c 100644
--- a/pkgs/development/compilers/mercury/default.nix
+++ b/pkgs/development/compilers/mercury/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mercury";
-  version = "20.06.1";
+  version = "22.01.1";
 
   src = fetchurl {
     url    = "https://dl.mercurylang.org/release/mercury-srcdist-${version}.tar.gz";
-    sha256 = "ef093ae81424c4f3fe696eff9aefb5fb66899e11bb17ae0326adfb70d09c1c1f";
+    sha256 = "sha256-Cg0ixQtpmus6Q3fuc45OLheKCCTiTW3z1XJzxQ1OL6c=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index 6651df5a2f06e..f4b1c48d229df 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -1,24 +1,16 @@
-{ lib, stdenv, ruby, bison, rake, fetchFromGitHub, fetchpatch }:
+{ lib, stdenv, ruby, bison, rake, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "mruby";
-  version = "3.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
     rev     = version;
-    sha256  = "sha256-C3K7ZooaOMa+V2HjxwiKxrrMb7ffl4QAgPsftRtb60c=";
+    sha256  = "0gnzip7qfadnl0r1k8bpc9a6796sy503h77ggds02wrz7mpq32nf";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2022-1212.patch";
-      url = "https://github.com/mruby/mruby/commit/3cf291f72224715942beaf8553e42ba8891ab3c6.patch";
-      sha256  = "1bl8wm6v7v18zgxqvm4kbn8g97a75phzrdah279xqw1qvplbd2w7";
-    })
-  ];
-
   nativeBuildInputs = [ ruby bison rake ];
 
   # Necessary so it uses `gcc` instead of `ld` for linking.
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 4b0e6e618e3ad..2a65c3fc2ec9f 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -98,12 +98,12 @@ in {
 
   nim-unwrapped = stdenv.mkDerivation rec {
     pname = "nim-unwrapped";
-    version = "1.6.4";
+    version = "1.6.6";
     strictDeps = true;
 
     src = fetchurl {
       url = "https://nim-lang.org/download/nim-${version}.tar.xz";
-      hash = "sha256-f8MJKFW1wiAM2f7tEz0EYFgj8lDXO01KxQEwA3DgoMI=";
+      hash = "sha256-Z7ERzm84YVA7n8wcrln8NNASJWbT7P7zoGSiF0EhpFI=";
     };
 
     buildInputs = [ boehmgc openssl pcre readline sqlite ];
@@ -183,6 +183,14 @@ in {
       install -Dt $out/bin src/nimble
       runHook postBuild
     '';
+
+    meta = with lib; {
+      description = "Package manager for the Nim programming language";
+      homepage = "https://github.com/nim-lang/nimble";
+      license = licenses.bsd3;
+      maintainers = with maintainers; [ ehmry ];
+      mainProgram = "nimble";
+    };
   };
 
   nim = let
diff --git a/pkgs/development/compilers/opa/default.nix b/pkgs/development/compilers/opa/default.nix
index 8e70ca8dac256..0959c6da9ace0 100644
--- a/pkgs/development/compilers/opa/default.nix
+++ b/pkgs/development/compilers/opa/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ which perl jdk openssl coreutils zlib ncurses
     makeWrapper gcc binutils gnumake nodejs
   ] ++ (with ocamlPackages; [
-    ocaml findlib ssl cryptokit camlzip ulex ocamlgraph camlp4
+    ocaml findlib ssl camlzip ulex ocamlgraph camlp4
   ]);
 
   NIX_LDFLAGS = lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix
index 77606d8a51158..751afe8556c5a 100644
--- a/pkgs/development/compilers/open-watcom/v2.nix
+++ b/pkgs/development/compilers/open-watcom/v2.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "open-watcom-v2";
-  version = "unstable-2022-04-29";
+  version = "unstable-2022-05-04";
   name = "${pname}-unwrapped-${version}";
 
   src = fetchFromGitHub {
     owner = "open-watcom";
     repo = "open-watcom-v2";
-    rev = "520d9d7025b46b926123257b029b3dbce9a96065";
-    sha256 = "aACkkTzOH8F82GPyySjtb7CGozR8OjgzqZVRiNTiS10=";
+    rev = "01662ab4eb50c0757969fa53bd4270dbbba45dc5";
+    sha256 = "Nl5mcPDCr08XkVMWqkbbgTP/YjpfwMOo2GVu43FQQ3Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/compilers/openjdk/11.nix b/pkgs/development/compilers/openjdk/11.nix
index 1a74a78fc6c46..0dc085d032b31 100644
--- a/pkgs/development/compilers/openjdk/11.nix
+++ b/pkgs/development/compilers/openjdk/11.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk11-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/12.nix b/pkgs/development/compilers/openjdk/12.nix
index 8f2b6d4054622..addaa13270d92 100644
--- a/pkgs/development/compilers/openjdk/12.nix
+++ b/pkgs/development/compilers/openjdk/12.nix
@@ -151,7 +151,7 @@ let
 
     disallowedReferences = [ openjdk11 ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/13.nix b/pkgs/development/compilers/openjdk/13.nix
index 7fb1c35cf9f57..37ff998337844 100644
--- a/pkgs/development/compilers/openjdk/13.nix
+++ b/pkgs/development/compilers/openjdk/13.nix
@@ -151,7 +151,7 @@ let
 
     disallowedReferences = [ openjdk13-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/14.nix b/pkgs/development/compilers/openjdk/14.nix
index 29a5c3cc5c312..d4e88f278cd04 100644
--- a/pkgs/development/compilers/openjdk/14.nix
+++ b/pkgs/development/compilers/openjdk/14.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk14-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/15.nix b/pkgs/development/compilers/openjdk/15.nix
index 987d018cdf378..e692de71a10dd 100644
--- a/pkgs/development/compilers/openjdk/15.nix
+++ b/pkgs/development/compilers/openjdk/15.nix
@@ -147,7 +147,7 @@ let
 
     disallowedReferences = [ openjdk15-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/16.nix b/pkgs/development/compilers/openjdk/16.nix
index 0a4a8e1de4131..3e9ae98f36629 100644
--- a/pkgs/development/compilers/openjdk/16.nix
+++ b/pkgs/development/compilers/openjdk/16.nix
@@ -154,7 +154,7 @@ let
 
     disallowedReferences = [ openjdk16-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version.feature;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/17.nix b/pkgs/development/compilers/openjdk/17.nix
index de12711894f77..45acc7f1ce985 100644
--- a/pkgs/development/compilers/openjdk/17.nix
+++ b/pkgs/development/compilers/openjdk/17.nix
@@ -157,7 +157,7 @@ let
 
     disallowedReferences = [ openjdk17-bootstrap ];
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version.feature;
 
     passthru = {
       architecture = "";
diff --git a/pkgs/development/compilers/openjdk/darwin/11.nix b/pkgs/development/compilers/openjdk/darwin/11.nix
index d8c1bb6bf254d..1ca2901b048dd 100644
--- a/pkgs/development/compilers/openjdk/darwin/11.nix
+++ b/pkgs/development/compilers/openjdk/darwin/11.nix
@@ -86,7 +86,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/16.nix b/pkgs/development/compilers/openjdk/darwin/16.nix
index d491d75322f44..b8f6b2d62ad4f 100644
--- a/pkgs/development/compilers/openjdk/darwin/16.nix
+++ b/pkgs/development/compilers/openjdk/darwin/16.nix
@@ -86,7 +86,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/17.nix b/pkgs/development/compilers/openjdk/darwin/17.nix
index 98e6fc6216e23..2720a887565c3 100644
--- a/pkgs/development/compilers/openjdk/darwin/17.nix
+++ b/pkgs/development/compilers/openjdk/darwin/17.nix
@@ -75,7 +75,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/8.nix b/pkgs/development/compilers/openjdk/darwin/8.nix
index aeb60d8bc4607..3048c53f10f2d 100644
--- a/pkgs/development/compilers/openjdk/darwin/8.nix
+++ b/pkgs/development/compilers/openjdk/darwin/8.nix
@@ -90,7 +90,7 @@ let
       home = jdk;
     };
 
-    meta = import ./meta.nix lib;
+    meta = import ./meta.nix lib version;
   };
 in
 jdk
diff --git a/pkgs/development/compilers/openjdk/darwin/meta.nix b/pkgs/development/compilers/openjdk/darwin/meta.nix
index abe469af69150..f07a7f38a45b9 100644
--- a/pkgs/development/compilers/openjdk/darwin/meta.nix
+++ b/pkgs/development/compilers/openjdk/darwin/meta.nix
@@ -1,4 +1,4 @@
-lib: (removeAttrs (import ../meta.nix lib) [ "maintainers" ]) // {
+lib: version: (removeAttrs (import ../meta.nix lib version) [ "maintainers" ]) // {
   platforms = lib.platforms.darwin;
   homepage = "https://www.azul.com/";
 }
diff --git a/pkgs/development/compilers/openjdk/meta.nix b/pkgs/development/compilers/openjdk/meta.nix
index d635d5c01e6b6..c66ecc29cf519 100644
--- a/pkgs/development/compilers/openjdk/meta.nix
+++ b/pkgs/development/compilers/openjdk/meta.nix
@@ -1,8 +1,11 @@
-lib: with lib; {
+lib: version: with lib; {
   homepage = "https://openjdk.java.net/";
   license = licenses.gpl2Only;
   description = "The open-source Java Development Kit";
   maintainers = with maintainers; [ edwtjo asbachb ];
   platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "armv7l-linux" "armv6l-linux" ];
   mainProgram = "java";
+  knownVulnerabilities = optionals (builtins.elem (versions.major version) [ "12" "13" "14" "15" "16" ]) [
+    "This OpenJDK version has reached its end of life."
+  ];
 }
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 897348daf3dd0..4c7311d53252d 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, pkgs, fetchurl, zlib, gmp, ncurses5, lib }:
+{ stdenv, pkgs, fetchurl, zlib, gmp, lib }:
 
 # from justinwoo/easy-purescript-nix
 # https://github.com/justinwoo/easy-purescript-nix/blob/d383972c82620a712ead4033db14110497bc2c9c/purs.nix
@@ -35,9 +35,7 @@ in stdenv.mkDerivation rec {
     };
 
 
-  buildInputs = [ zlib
-                  gmp
-                  ncurses5 ];
+  buildInputs = [ zlib gmp ];
   libPath = lib.makeLibraryPath buildInputs;
   dontStrip = true;
 
diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix
index 0dff7f0e1b094..3ae837ac46ba8 100644
--- a/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -4,27 +4,34 @@
 , pkg-config
 , lit
 , llvm_11
+, spirv-headers
+, spirv-tools
 }:
 
 stdenv.mkDerivation rec {
   pname = "SPIRV-LLVM-Translator";
-  version = "unstable-2021-06-13";
+  version = "unstable-2022-05-04";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-LLVM-Translator";
-    rev = "c67e6f26a7285aa753598ef792593ac4a545adf9";
-    sha256 = "sha256-1s3lVNTQDl+pUvbzSMsp3cOUSm6I4DzqJxnLMeeE3F4=";
+    rev = "99420daab98998a7e36858befac9c5ed109d4920";
+    sha256 = "sha256-/vUyL6Wh8hykoGz1QmT1F7lfGDEmG4U3iqmqrJxizOg=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake llvm_11.dev ];
+  nativeBuildInputs = [ pkg-config cmake llvm_11.dev spirv-tools ];
 
-  buildInputs = [ llvm_11 ];
+  buildInputs = [ spirv-headers llvm_11 ];
 
   checkInputs = [ lit ];
 
+  makeFlags = [ "llvm-spirv" ];
+
   cmakeFlags = [
     "-DLLVM_INCLUDE_TESTS=ON"
+    "-DLLVM_DIR=${llvm_11.dev}"
+    "-DBUILD_SHARED_LIBS=YES"
+    "-DLLVM_SPIRV_BUILD_EXTERNAL=YES"
   ];
 
   # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 8013f283c708d..8dc2b4c02bbf0 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -100,8 +100,8 @@ in rec {
   };
 
   vala_0_56 = generic {
-    version = "0.56.0";
-    sha256 = "2SvRPFYwkF7rapg9y3AiBNqXMUYMKm5OOfhnmW83EEA=";
+    version = "0.56.1";
+    sha256 = "xRi4Hf3agtHN9Yaz+bIyMWLLlr08taLANlDOoCXZH7k=";
   };
 
   vala = vala_0_54;
diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix
index 0c24e67123c62..0601022df61be 100644
--- a/pkgs/development/compilers/vlang/default.nix
+++ b/pkgs/development/compilers/vlang/default.nix
@@ -2,22 +2,36 @@
 
 stdenv.mkDerivation rec {
   pname = "vlang";
-  version = "weekly.2021.51";
+  version = "weekly.2022.19";
 
   src = fetchFromGitHub {
     owner = "vlang";
     repo = "v";
     rev = version;
-    sha256 = "1jvq3fxckl2jidiigkvclacjxbg5k38268mck7bl1ky1yspgfrnq";
+    sha256 = "1bl91j3ip3i84jq3wg03sflllxv38sv4dc072r302rl2g9f4dbg6";
   };
 
+  # Required for bootstrap.
   vc = fetchFromGitHub {
     owner = "vlang";
     repo = "vc";
-    rev = "c8ed2cd82b247e94c33217dba35c420cfc02fef3";
-    sha256 = "1acgx1qp480jmsv1xvqy1zf7iyy90mvg9x1m1b0zrwx09wz4y1cq";
+    rev = "a298ad7069f6333ef8ab59a616654fc74e04c847";
+    sha256 = "168cgq6451hcgsxzyd8vq11g01642bs5kkwxqh6rz3rnc86ajic0";
   };
 
+  # Required for vdoc.
+  markdown = fetchFromGitHub {
+    owner = "vlang";
+    repo = "markdown";
+    rev = "bbbd324a361e404ce0682fc00666df3a7877b398";
+    sha256 = "0cawzizr3rjz81blpvxvxrcvcdai1adj66885ss390444qq1fnv7";
+  };
+
+  # vcreate_test.v requires git, so we must disable it.
+  patches = [
+    ./disable_vcreate_test.patch
+  ];
+
   propagatedBuildInputs = [ glfw freetype openssl ]
     ++ lib.optional stdenv.hostPlatform.isUnix upx;
 
@@ -26,19 +40,33 @@ stdenv.mkDerivation rec {
   makeFlags = [
     "local=1"
     "VC=${vc}"
-    # vlang seems to want to write to $HOME/.vmodules , so lets give
-    # it a writable HOME
-    "HOME=$TMPDIR"
   ];
 
+  prePatch = ''
+    export HOME=$(mktemp -d)
+    cp cmd/tools/vcreate_test.v $HOME/vcreate_test.v
+  '';
+
   installPhase = ''
     runHook preInstall
+
     mkdir -p $out/{bin,lib,share}
     cp -r examples $out/share
     cp -r {cmd,vlib,thirdparty} $out/lib
-    mv v $out/lib
+    cp v $out/lib
     ln -s $out/lib/v $out/bin/v
     wrapProgram $out/bin/v --prefix PATH : ${lib.makeBinPath [ stdenv.cc ]}
+
+    mkdir -p $HOME/.vmodules;
+    ln -sf ${markdown} $HOME/.vmodules/markdown
+    $out/lib/v -v build-tools
+    $out/lib/v -v $out/lib/cmd/tools/vdoc
+    $out/lib/v -v $out/lib/cmd/tools/vast
+    $out/lib/v -v $out/lib/cmd/tools/vvet
+
+    # Return the pre-patch vcreate_test.v now that we no longer need the alteration.
+    cp $HOME/vcreate_test.v $out/lib/cmd/tools/vcreate_test.v
+
     runHook postInstall
   '';
 
@@ -47,6 +75,7 @@ stdenv.mkDerivation rec {
     description = "Simple, fast, safe, compiled language for developing maintainable software";
     license = licenses.mit;
     maintainers = with maintainers; [ Madouura ];
+    mainProgram = "v";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/vlang/disable_vcreate_test.patch b/pkgs/development/compilers/vlang/disable_vcreate_test.patch
new file mode 100644
index 0000000000000..85ed867c83ec1
--- /dev/null
+++ b/pkgs/development/compilers/vlang/disable_vcreate_test.patch
@@ -0,0 +1,133 @@
+diff --git a/cmd/tools/vcreate_test.v b/cmd/tools/vcreate_test.v
+index 3d07f4773..de8a202df 100644
+--- a/cmd/tools/vcreate_test.v
++++ b/cmd/tools/vcreate_test.v
+@@ -2,127 +2,6 @@ import os
+ 
+ const test_path = 'vcreate_test'
+ 
+-fn init_and_check() ? {
+-	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
+-
+-	assert os.read_file('vcreate_test.v') ? == [
+-		'module main\n',
+-		'fn main() {',
+-		"	println('Hello World!')",
+-		'}',
+-		'',
+-	].join_lines()
+-
+-	assert os.read_file('v.mod') ? == [
+-		'Module {',
+-		"	name: 'vcreate_test'",
+-		"	description: ''",
+-		"	version: ''",
+-		"	license: ''",
+-		'	dependencies: []',
+-		'}',
+-		'',
+-	].join_lines()
+-
+-	assert os.read_file('.gitignore') ? == [
+-		'# Binaries for programs and plugins',
+-		'main',
+-		'vcreate_test',
+-		'*.exe',
+-		'*.exe~',
+-		'*.so',
+-		'*.dylib',
+-		'*.dll',
+-		'vls.log',
+-		'',
+-	].join_lines()
+-
+-	assert os.read_file('.gitattributes') ? == [
+-		'*.v linguist-language=V text=auto eol=lf',
+-		'*.vv linguist-language=V text=auto eol=lf',
+-		'*.vsh linguist-language=V text=auto eol=lf',
+-		'**/v.mod linguist-language=V text=auto eol=lf',
+-		'',
+-	].join_lines()
+-
+-	assert os.read_file('.editorconfig') ? == [
+-		'[*]',
+-		'charset = utf-8',
+-		'end_of_line = lf',
+-		'insert_final_newline = true',
+-		'trim_trailing_whitespace = true',
+-		'',
+-		'[*.v]',
+-		'indent_style = tab',
+-		'indent_size = 4',
+-		'',
+-	].join_lines()
+-}
+-
+ fn test_v_init() ? {
+-	dir := os.join_path(os.temp_dir(), test_path)
+-	os.rmdir_all(dir) or {}
+-	os.mkdir(dir) or {}
+-	defer {
+-		os.rmdir_all(dir) or {}
+-	}
+-	os.chdir(dir) ?
+-
+-	init_and_check() ?
+-}
+-
+-fn test_v_init_in_git_dir() ? {
+-	dir := os.join_path(os.temp_dir(), test_path)
+-	os.rmdir_all(dir) or {}
+-	os.mkdir(dir) or {}
+-	defer {
+-		os.rmdir_all(dir) or {}
+-	}
+-	os.chdir(dir) ?
+-	os.execute_or_exit('git init .')
+-	init_and_check() ?
+-}
+-
+-fn test_v_init_no_overwrite_gitignore() ? {
+-	dir := os.join_path(os.temp_dir(), test_path)
+-	os.rmdir_all(dir) or {}
+-	os.mkdir(dir) or {}
+-	os.write_file('$dir/.gitignore', 'blah') ?
+-	defer {
+-		os.rmdir_all(dir) or {}
+-	}
+-	os.chdir(dir) ?
+-
+-	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
+-
+-	assert os.read_file('.gitignore') ? == 'blah'
+-}
+-
+-fn test_v_init_no_overwrite_gitattributes_and_editorconfig() ? {
+-	git_attributes_content := '*.v linguist-language=V text=auto eol=lf'
+-	editor_config_content := '[*]
+-charset = utf-8
+-end_of_line = lf
+-insert_final_newline = true
+-trim_trailing_whitespace = true
+-
+-[*.v]
+-indent_style = tab
+-indent_size = 4
+-'
+-
+-	dir := os.join_path(os.temp_dir(), test_path)
+-	os.rmdir_all(dir) or {}
+-	os.mkdir(dir) or {}
+-	os.write_file('$dir/.gitattributes', git_attributes_content) ?
+-	os.write_file('$dir/.editorconfig', editor_config_content) ?
+-	defer {
+-		os.rmdir_all(dir) or {}
+-	}
+-	os.chdir(dir) ?
+-
+-	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
+-
+-	assert os.read_file('.gitattributes') ? == git_attributes_content
+-	assert os.read_file('.editorconfig') ? == editor_config_content
++	println('vcreate_test disabled')
+ }
diff --git a/pkgs/development/compilers/vyper/default.nix b/pkgs/development/compilers/vyper/default.nix
index e4ad7fe5f7f96..ee24cc646e492 100644
--- a/pkgs/development/compilers/vyper/default.nix
+++ b/pkgs/development/compilers/vyper/default.nix
@@ -1,6 +1,19 @@
-{ lib, buildPythonPackage, fetchPypi, writeText, asttokens
-, pycryptodome, pytest-xdist, pytest-cov, recommonmark, semantic-version, sphinx
-, sphinx_rtd_theme, pytest-runner, setuptools-scm }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pythonRelaxDepsHook
+, writeText
+, asttokens
+, pycryptodome
+, recommonmark
+, semantic-version
+, sphinx
+, sphinx_rtd_theme
+, pytest-runner
+, setuptools-scm
+, git
+}:
 
 let
   sample-contract = writeText "example.vy" ''
@@ -10,18 +23,31 @@ let
     def __init__(foo: address):
         self.count = 1
   '';
-in
 
+in
 buildPythonPackage rec {
   pname = "vyper";
-  version = "0.3.1";
+  version = "0.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fXug5v3zstz19uexMWokHBVsfcl2ZCdIOIXKeLVyh/Q=";
+    sha256 = "sha256-BAnNj27B1HAb9VVDA69bFGbQjeOpl0g5EB2juajqBAw=";
   };
 
-  nativeBuildInputs = [ pytest-runner setuptools-scm ];
+  nativeBuildInputs = [
+    # Git is used in setup.py to compute version information during building
+    # ever since https://github.com/vyperlang/vyper/pull/2816
+    git
+
+    pythonRelaxDepsHook
+    pytest-runner
+    setuptools-scm
+  ];
+
+  pythonRelaxDeps = [ "semantic-version" ];
 
   propagatedBuildInputs = [
     asttokens
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index 56ce94ecc6f33..db3227c1770e0 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -1,11 +1,12 @@
 { lib, mkCoqDerivation, coq, ssreflect, coq-ext-lib, simple-io, version ? null }:
 
 let recent = lib.versions.isGe "8.7" coq.coq-version; in
-mkCoqDerivation {
+(mkCoqDerivation {
   pname = "QuickChick";
   owner = "QuickChick";
   inherit version;
   defaultVersion = with lib; with versions; lib.switch [ coq.coq-version ssreflect.version ] [
+      { cases = [ (isGe "8.13") pred.true  ]; out = "1.6.2"; }
       { cases = [ "8.13" pred.true  ]; out = "1.5.0"; }
       { cases = [ "8.12" pred.true  ]; out = "1.4.0"; }
       { cases = [ "8.11" pred.true  ]; out = "1.3.2"; }
@@ -16,6 +17,7 @@ mkCoqDerivation {
       { cases = [ "8.6"  pred.true  ];  out = "20171102"; }
       { cases = [ "8.5"  pred.true  ];  out = "20170512"; }
     ] null;
+  release."1.6.2".sha256    = "0g5q9zw3xd4zndihq96nxkq4w3dh05418wzlwdk1nnn3b6vbx6z0";
   release."1.5.0".sha256    = "1lq8x86vd3vqqh2yq6hvyagpnhfq5wmk5pg2z0xq7b7dcw7hyfkw";
   release."1.4.0".sha256    = "068p48pm5yxjc3yv8qwzp25bp9kddvxj81l31mjkyx3sdrsw3kyc";
   release."1.3.2".sha256    = "0lciwaqv288dh2f13xk2x0lrn6zyrkqy6g4yy927wwzag2gklfrs";
@@ -46,4 +48,11 @@ mkCoqDerivation {
     description = "Randomized property-based testing plugin for Coq; a clone of Haskell QuickCheck";
     maintainers = with maintainers; [ jwiegley ];
   };
-}
+}).overrideAttrs (o:
+  let after_1_6 = lib.versions.isGe "1.6" o.version || o.version == "dev";
+  in {
+    nativeBuildInputs = o.nativeBuildInputs
+    ++ lib.optional after_1_6 coq.ocamlPackages.cppo;
+    propagatedBuildInputs = o.propagatedBuildInputs
+    ++ lib.optionals after_1_6 (with coq.ocamlPackages; [ findlib zarith ]);
+})
diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix
index ae3f7e809fb6f..7cff9ddef4b90 100644
--- a/pkgs/development/coq-modules/category-theory/default.nix
+++ b/pkgs/development/coq-modules/category-theory/default.nix
@@ -16,7 +16,7 @@ with lib; mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14"; out = "20211213"; }
+    { case = range "8.10" "8.15"; out = "20211213"; }
     { case = range "8.8" "8.9"; out = "20190414"; }
     { case = range "8.6" "8.7"; out = "20180709"; }
   ] null;
diff --git a/pkgs/development/coq-modules/goedel/default.nix b/pkgs/development/coq-modules/goedel/default.nix
index c50f8672e01cb..ecd154c82ed50 100644
--- a/pkgs/development/coq-modules/goedel/default.nix
+++ b/pkgs/development/coq-modules/goedel/default.nix
@@ -12,7 +12,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.11" "8.14"; out = "8.13.0"; }
+    { case = range "8.11" "8.15"; out = "8.13.0"; }
   ] null;
 
   propagatedBuildInputs = [ hydra-battles pocklington ];
diff --git a/pkgs/development/coq-modules/graph-theory/default.nix b/pkgs/development/coq-modules/graph-theory/default.nix
index eedbe6fb5d88d..9ba5f03a5620f 100644
--- a/pkgs/development/coq-modules/graph-theory/default.nix
+++ b/pkgs/development/coq-modules/graph-theory/default.nix
@@ -12,7 +12,7 @@ mkCoqDerivation {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.13" "8.14"; out = "0.9"; }
+    { case = range "8.13" "8.15"; out = "0.9"; }
   ] null;
 
   propagatedBuildInputs = [ mathcomp-algebra mathcomp-finmap mathcomp-fingroup hierarchy-builder ];
diff --git a/pkgs/development/coq-modules/itauto/default.nix b/pkgs/development/coq-modules/itauto/default.nix
index af535993362a6..4993a76b4f08f 100644
--- a/pkgs/development/coq-modules/itauto/default.nix
+++ b/pkgs/development/coq-modules/itauto/default.nix
@@ -6,9 +6,13 @@ mkCoqDerivation rec {
   owner = "fbesson";
   domain = "gitlab.inria.fr";
 
+  release."8.15.0".sha256 = "sha256:10qpv4nx1p0wm9sas47yzsg9z22dhvizszfa21yff08a8fr0igya";
+  release."8.14.0".sha256 = "sha256:1k6pqhv4dwpkwg81f2rlfg40wh070ks1gy9r0ravm2zhsbxqcfc9";
   release."8.13+no".sha256 = "sha256-gXoxtLcHPoyjJkt7WqvzfCMCQlh6kL2KtCGe3N6RC/A=";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = isEq "8.15"; out = "8.15.0"; }
+    { case = isEq "8.14"; out = "8.14.0"; }
     { case = isEq "8.13"; out = "8.13+no"; }
   ] null;
 
diff --git a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
index 6f82532ada30e..35e9398f3ad7a 100644
--- a/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
+++ b/pkgs/development/coq-modules/mathcomp-tarjan/default.nix
@@ -9,7 +9,7 @@ with lib; mkCoqDerivation {
   inherit version;
   defaultVersion = with versions;
     switch [ coq.version mathcomp-ssreflect.version ] [{
-      cases = [ (range "8.10" "8.14") (isGe "1.12.0") ]; out = "1.0.0";
+      cases = [ (range "8.10" "8.15") (isGe "1.12.0") ]; out = "1.0.0";
   }] null;
   release."1.0.0".sha256 = "sha256:0r459r0makshzwlygw6kd4lpvdjc43b3x5y9aa8x77f2z5gymjq1";
 
diff --git a/pkgs/development/coq-modules/semantics/default.nix b/pkgs/development/coq-modules/semantics/default.nix
index 89567d401b22b..e112512ec5c72 100644
--- a/pkgs/development/coq-modules/semantics/default.nix
+++ b/pkgs/development/coq-modules/semantics/default.nix
@@ -16,7 +16,7 @@ mkCoqDerivation rec {
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14"; out = "8.14.0"; }
+    { case = range "8.10" "8.15"; out = "8.14.0"; }
     { case = "8.9"; out = "8.9.0"; }
     { case = "8.8"; out = "8.8.0"; }
     { case = "8.7"; out = "8.7.0"; }
diff --git a/pkgs/development/coq-modules/smpl/default.nix b/pkgs/development/coq-modules/smpl/default.nix
index 63bed38ead9c4..f03065cf04503 100644
--- a/pkgs/development/coq-modules/smpl/default.nix
+++ b/pkgs/development/coq-modules/smpl/default.nix
@@ -8,10 +8,14 @@ mkCoqDerivation {
   release."8.10.2".sha256 = "sha256-TUfTZKBgrSOT6piXRViHSGPE9NSj3bGx2XBIw6YCcEs=";
   release."8.12".sha256 = "sha256-UQbDHLVBKYk++o+Y2B6ARYRYGglytsnXhguwMatjOHg=";
   release."8.13".sha256 = "sha256-HxQBaIE2CjyfG4GoIXprfehqjsr/Z74YdodxMmrbzSg=";
+  release."8.14".sha256 = "sha256:0wmrc741j67ch4rkygjkrz5i9afi01diyyj69i24cmasvx4wad38";
+  release."8.15".sha256 = "sha256:0m9xlkdhilvqb0v4q9c4hzfwffbccd6029ks39xg7qbiq6zklpvp";
   releaseRev = v: "v${v}";
 
   inherit version;
   defaultVersion = with versions; switch coq.version [
+    { case = isEq "8.15"; out = "8.15"; }
+    { case = isEq "8.14"; out = "8.14"; }
     { case = "8.13.2"; out = "8.13"; }
     { case = "8.12.2"; out = "8.12"; }
     { case = "8.10.2"; out = "8.10.2"; }
diff --git a/pkgs/development/coq-modules/smtcoq/default.nix b/pkgs/development/coq-modules/smtcoq/default.nix
index 416b8d1bb58c2..0389b45fb5cdd 100644
--- a/pkgs/development/coq-modules/smtcoq/default.nix
+++ b/pkgs/development/coq-modules/smtcoq/default.nix
@@ -9,8 +9,8 @@ mkCoqDerivation {
   release."itp22".sha256 = "sha256-CdPfgDfeJy8Q6ZlQeVCSR/x8ZlJ2kSEF6F5UnAespnQ=";
 
   inherit version;
-  defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
-    { cases = [ (isGe "8.13") ]; out = "itp22"; }
+  defaultVersion = with versions; switch coq.version [
+    { case = isEq "8.13"; out = "itp22"; }
   ] null;
 
   propagatedBuildInputs = [ trakt cvc4 ] ++ lib.optionals (!stdenv.isDarwin) [ veriT ];
diff --git a/pkgs/development/embedded/arduino/arduino-cli/default.nix b/pkgs/development/embedded/arduino/arduino-cli/default.nix
index dc463c9fc4dbb..a432058f083bd 100644
--- a/pkgs/development/embedded/arduino/arduino-cli/default.nix
+++ b/pkgs/development/embedded/arduino/arduino-cli/default.nix
@@ -4,13 +4,13 @@ let
 
   pkg = buildGoModule rec {
     pname = "arduino-cli";
-    version = "0.20.2";
+    version = "0.21.1";
 
     src = fetchFromGitHub {
       owner = "arduino";
       repo = pname;
       rev = version;
-      sha256 = "sha256-q2uaJTfCcS/kv6xU5NjafzfcM3TixJlH5KzgEpLJKkQ=";
+      sha256 = "sha256-IXzN6CnZCzrkcLVNmKc1WB0V+TTa56CBzASzK0FQO8c=";
     };
 
     subPackages = [ "." ];
diff --git a/pkgs/development/embedded/blackmagic/default.nix b/pkgs/development/embedded/blackmagic/default.nix
index f3b3b0b2d04b5..abb5e19f8bf29 100644
--- a/pkgs/development/embedded/blackmagic/default.nix
+++ b/pkgs/development/embedded/blackmagic/default.nix
@@ -1,40 +1,37 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch
-, gcc-arm-embedded, libftdi1, libusb-compat-0_1, pkg-config
+{ stdenv, lib
+, fetchFromGitHub
+, gcc-arm-embedded
+, pkg-config
 , python3
+, hidapi
+, libftdi1
+, libusb1
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "blackmagic";
-  version = "unstable-2020-08-05";
+  version = "unstable-2022-04-16";
   # `git describe --always`
-  firmwareVersion = "v1.6.1-539-gdd74ec8";
+  firmwareVersion = "v1.7.1-415-gc4869a5";
 
   src = fetchFromGitHub {
     owner = "blacksphere";
     repo = "blackmagic";
-    rev = "dd74ec8e6f734302daa1ee361af88dfb5043f166";
-    sha256 = "18w8y64fs7wfdypa4vm3migk5w095z8nbd8qp795f322mf2bz281";
+    rev = "c4869a54733ae92099a7316954e34d1ab7b6097c";
+    hash = "sha256-0MC1v/5u/txSshxkOI5TErMRRrYCcHly3qbVTAk9Vc0=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # Fix deprecation warning with libftdi 1.5
-    (fetchpatch {
-      url = "https://github.com/blacksphere/blackmagic/commit/dea4be2539c5ea63836ec78dca08b52fa8b26ab5.patch";
-      sha256 = "0f81simij1wdhifsxaavalc6yxzagfbgwry969dbjmxqzvrsrds5";
-    })
-  ];
-
   nativeBuildInputs = [
-    gcc-arm-embedded pkg-config
+    gcc-arm-embedded
+    pkg-config
     python3
   ];
 
   buildInputs = [
+    hidapi
     libftdi1
-    libusb-compat-0_1
+    libusb1
   ];
 
   strictDeps = true;
@@ -50,12 +47,17 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  buildPhase = "${stdenv.shell} ${./helper.sh}";
+  buildPhase = ''
+    runHook preBuild
+    ${stdenv.shell} ${./helper.sh}
+    runHook postBuild
+  '';
+
   dontInstall = true;
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "In-application debugger for ARM Cortex microcontrollers";
     longDescription = ''
       The Black Magic Probe is a modern, in-application debugging tool
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 502a981596e7a..4dff2d82848d6 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -79,12 +79,11 @@ let
     GO111MODULE = "on";
 
     impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
-      "GIT_PROXY_COMMAND" "SOCKS_SERVER"
+      "GIT_PROXY_COMMAND" "SOCKS_SERVER" "GOPROXY"
     ];
 
     configurePhase = args.modConfigurePhase or ''
       runHook preConfigure
-
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
       cd "${modRoot}"
diff --git a/pkgs/development/haskell-modules/cabal2nix-unstable.nix b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
index 70d50088b0b33..a12c20c63c52c 100644
--- a/pkgs/development/haskell-modules/cabal2nix-unstable.nix
+++ b/pkgs/development/haskell-modules/cabal2nix-unstable.nix
@@ -8,10 +8,10 @@
 }:
 mkDerivation {
   pname = "cabal2nix";
-  version = "unstable-2021-10-23";
+  version = "unstable-2022-04-27";
   src = fetchzip {
-    url = "https://github.com/NixOS/cabal2nix/archive/8aeef87436468a416e5908b48ec82ac3f15eb885.tar.gz";
-    sha256 = "1w6wabp0v2fii5i28nsp0ss6dsz222p94mmxrrns3q0df82s2cm1";
+    url = "https://github.com/NixOS/cabal2nix/archive/40823c793b4b8588fcfedc8fb147c1a92cfa577d.tar.gz";
+    sha256 = "0gr8hafa282m4qw5y5wrqiwm1a3fl3b7xicnzixss6nlmxmi2skp";
   };
   isLibrary = true;
   isExecutable = true;
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
index f3b65167ea66c..38a176c3db32f 100644
--- a/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -99,19 +99,19 @@ self: super: {
   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.
-  hls-hlint-plugin = dontCheck super.hls-hlint-plugin;
-  hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
-  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
-
-
   # https://github.com/ekmett/half/issues/35
   half = dontCheck super.half;
 
   # We disable profiling on aarch64, so tests naturally fail
   ghc-prof = dontCheck super.ghc-prof;
 
+  # Similar RTS issue in test suite:
+  # rts/linker/elf_reloc_aarch64.c:98: encodeAddendAarch64: Assertion `isInt64(21+12, addend)' failed.
+  # These still fail sporadically on ghc 9.2
+  hls-ormolu-plugin = dontCheck super.hls-ormolu-plugin;
+  hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
+  hls-rename-plugin = dontCheck super.hls-rename-plugin;
+  hls-fourmolu-plugin = dontCheck super.hls-fourmolu-plugin;
 } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch32 {
   # AARCH32-SPECIFIC OVERRIDES
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 8393d02a31647..109ab8b9fe8ff 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -99,7 +99,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 = "066gs2lkkiz9z9n6rjg33wmgi04qmn6xpnx86j0x3d56r1110id4";
+      sha256 = "sha256-NYe34bsq2v0rlmcSMgYvU9ec94meXFFJoWo0sIjX/bY=";
       # 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
@@ -334,15 +334,7 @@ self: super: {
   matplotlib = dontCheck super.matplotlib;
 
   # https://github.com/matterhorn-chat/matterhorn/issues/679 they do not want to be on stackage
-  matterhorn = doJailbreak (super.matterhorn.overrideScope (self: super: {
-    brick = self.brick_0_64_2;
-    # Doesn't support aeson 2.0
-    # https://github.com/matterhorn-chat/matterhorn/issues/759
-    aeson = self.aeson_1_5_6_0;
-  }));
-  mattermost-api = super.mattermost-api.override {
-    aeson = self.aeson_1_5_6_0;
-  };
+  matterhorn = doJailbreak super.matterhorn;
 
   memcache = dontCheck super.memcache;
   metrics = dontCheck super.metrics;
@@ -1667,19 +1659,6 @@ self: super: {
 
   lsp = assert super.lsp.version == "1.4.0.0"; dontCheck super.lsp;
 
-  hls-test-utils = assert super.hls-test-utils.version == "1.2.0.0"; appendPatches [
-    (fetchpatch {
-      url = "https://github.com/haskell/haskell-language-server/commit/074593987e9086e308b89ecde336de2c64861dc0.patch";
-      sha256 = "sha256-uTlIbGQKulP3963UPL2V9cqMoIvPscK+s2W/HtBmMWc=";
-      relative = "hls-test-utils";
-    })
-    (fetchpatch {
-      url = "https://github.com/haskell/haskell-language-server/commit/78305f21783807b04baebca4860c255bfe84d4ab.patch";
-      sha256 = "sha256-oe8Q8kBJBkel+pR5imFj43NVpm4afcyLgAUCWhrIoPk=";
-      relative = "hls-test-utils";
-    })
-   ] super.hls-test-utils;
-
   # 2021-05-08: Tests fail: https://github.com/haskell/haskell-language-server/issues/1809
   hls-eval-plugin = dontCheck super.hls-eval-plugin;
 
@@ -2321,6 +2300,10 @@ self: super: {
   # 2021-09-18: https://github.com/haskell/haskell-language-server/issues/2205
   hls-stylish-haskell-plugin = doJailbreak super.hls-stylish-haskell-plugin;
 
+  # Necesssary .txt files are not included in sdist.
+  # https://github.com/haskell/haskell-language-server/pull/2887
+  hls-change-type-signature-plugin = dontCheck super.hls-change-type-signature-plugin;
+
   # Too strict bounds on hspec
   # https://github.com/haskell-works/hw-hspec-hedgehog/issues/62
   # https://github.com/haskell-works/hw-prim/issues/132
@@ -2657,4 +2640,9 @@ self: super: {
     sha256 = "sha256-fW5bVbAGQxU/gd9zqgVNclwKraBtUjkKDek7L0c4+O0=";
   }) super.wstunnel;
 
+  # Adjustment of bounds on servant is unreleased
+  # https://github.com/haskell-servant/servant-cassava/commit/66617547851d38d48f5f1d1b786db1286bdafa9d
+  servant-cassava = assert super.servant-cassava.version == "0.10.1";
+    doJailbreak super.servant-cassava;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 3471e874290b9..d40643114e478 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -200,6 +200,8 @@ self: super: ({
   hls-haddock-comments-plugin = dontCheck super.hls-haddock-comments-plugin;
   hls-floskell-plugin = dontCheck super.hls-floskell-plugin;
   hls-call-hierarchy-plugin = dontCheck super.hls-call-hierarchy-plugin;
+  # 2022-05-05: Tests fail and I have no way to debug them.
+  hls-rename-plugin = dontCheck super.hls-rename-plugin;
 
   # We are lacking pure pgrep at the moment for tests to work
   tmp-postgres = dontCheck super.tmp-postgres;
@@ -251,13 +253,6 @@ self: super: ({
   # Otherwise impure gcc is used, which is Apple's weird wrapper
   c2hsc = addTestToolDepends [ pkgs.gcc ] super.c2hsc;
 
-  # streamly depends on Cocoa starting with 0.8.0
-  streamly_0_8_1_1 = overrideCabal (drv: {
-    libraryFrameworkDepends = [
-      darwin.apple_sdk.frameworks.Cocoa
-    ] ++ (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
@@ -296,4 +291,7 @@ self: super: ({
   # tests appear to be failing to link or something:
   # https://hydra.nixos.org/build/174540882/nixlog/9
   regex-rure = dontCheck super.regex-rure;
+  # same
+  # https://hydra.nixos.org/build/174540882/nixlog/9
+  jacinda = dontCheck super.jacinda;
 })
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
index c8e7c8179e6d3..48972849cf6aa 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.10.x.nix
@@ -43,7 +43,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = super.cabal-install.overrideScope (self: super: {
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 5eaa1ae413d47..11c3677913ea4 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -42,7 +42,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # Needs Cabal 3.0.x.
   cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; });
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 98eaab7073176..a6fad258cf857 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -42,7 +42,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # GHC 8.8.x can build haddock version 2.23.*
   haddock = self.haddock_2_23_1;
@@ -116,7 +118,7 @@ self: super: {
   liquidhaskell = markBroken super.liquidhaskell;
 
   # This became a core library in ghc 8.10., so we don‘t have an "exception" attribute anymore.
-  exceptions = super.exceptions_0_10_4;
+  exceptions = super.exceptions_0_10_5;
 
   # ghc versions which don‘t match the ghc-lib-parser-ex version need the
   # additional dependency to compile successfully.
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 855afa28101d5..db38ebd8b708b 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -44,7 +44,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # cabal-install needs more recent versions of Cabal and base16-bytestring.
   cabal-install = (doJailbreak super.cabal-install).overrideScope (self: super: {
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
index 249816cc49c4d..93fe7ab26c7eb 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.2.x.nix
@@ -44,7 +44,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # Tests fail because of typechecking changes
   conduit = dontCheck super.conduit;
@@ -90,7 +92,7 @@ self: super: {
     # 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_4_1) src version;
+    inherit (self.ghc-exactprint_1_5_0) src version;
     revision = null; editedCabalFile = null;
     libraryHaskellDepends = [
       self.fail
@@ -195,17 +197,7 @@ self: super: {
   } super.memory);
 
   # Use hlint from git for GHC 9.2.1 support
-  hlint = doDistribute (
-    overrideSrc {
-      version = "unstable-2021-12-12";
-      src = pkgs.fetchFromGitHub {
-        owner = "ndmitchell";
-        repo = "hlint";
-        rev = "77a9702e10b772a7695c08682cd4f450fd0e9e46";
-        sha256 = "0hpp3iw7m7w2abr8vb86gdz3x6c8lj119zxln933k90ia7bmk8jc";
-      };
-    } super.hlint
-  );
+  hlint = self.hlint_3_4;
 
   # https://github.com/sjakobi/bsb-http-chunked/issues/38
   bsb-http-chunked = dontCheck super.bsb-http-chunked;
@@ -216,7 +208,7 @@ self: super: {
   some = doJailbreak super.some;
   fourmolu = super.fourmolu_0_6_0_0;
   # hls-fourmolu-plugin in this version has a to strict upper bound of fourmolu <= 0.5.0.0
-  hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.0.2.0"; doJailbreak super.hls-fourmolu-plugin;
+  hls-fourmolu-plugin = assert super.hls-fourmolu-plugin.version == "1.0.3.0"; doJailbreak super.hls-fourmolu-plugin;
   implicit-hie-cradle = doJailbreak super.implicit-hie-cradle;
   # 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
   hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
@@ -226,18 +218,11 @@ self: super: {
   # Compare: https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html
   haskell-language-server = overrideCabal (old: {libraryHaskellDepends = builtins.filter (x: x != super.hls-tactics-plugin) old.libraryHaskellDepends;})
     (appendConfigureFlags [
-    "-f-alternateNumberFormat"
-    "-f-class"
-    "-f-eval"
     "-f-haddockComments"
-    "-f-hlint"
     "-f-retrie"
     "-f-splice"
     "-f-tactics"
   ] (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;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index bc65e209911ea..ad3aea047ae32 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -52,7 +52,9 @@ self: super: {
   time = null;
   transformers = null;
   unix = null;
-  xhtml = null;
+  # GHC only bundles the xhtml library if haddock is enabled, check if this is
+  # still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
+  xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
 
   # https://github.com/tibbe/unordered-containers/issues/214
   unordered-containers = dontCheck super.unordered-containers;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index 6afd1dc17d59d..c388d703e3f01 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -117,6 +117,7 @@ broken-packages:
   - alerta
   - alex-prelude
   - alfred
+  - alfred-margaret
   - alga
   - algebra-dag
   - algebraic-classes
@@ -455,6 +456,7 @@ broken-packages:
   - bower-json
   - bowntz
   - bpath
+  - BPS
   - braid
   - brain-bleep
   - Bravo
@@ -511,6 +513,7 @@ broken-packages:
   - bytestring-substring
   - bytestring-time
   - bytestring-typenats
+  - bzlib-conduit-jappie
   - c10k
   - c2ats
   - cab
@@ -523,6 +526,7 @@ broken-packages:
   - cabal-constraints
   - cabal-db
   - cabal-dependency-licenses
+  - cabal-detailed-quickcheck
   - cabal-dev
   - cabal-dir
   - cabal-edit
@@ -854,6 +858,7 @@ broken-packages:
   - CoreDump
   - CoreErlang
   - core-haskell
+  - core-webserver-warp
   - Coroutine
   - coroutine-object
   - CouchDB
@@ -1009,6 +1014,7 @@ broken-packages:
   - dbf
   - DBlimited
   - dbm
+  - dbmigrations
   - dbmigrations-mysql
   - dbmigrations-postgresql
   - dbmigrations-sqlite
@@ -1236,6 +1242,7 @@ broken-packages:
   - ede
   - edenmodules
   - edis
+  - EdisonAPI
   - EdisonCore
   - edit
   - edit-lenses
@@ -1909,6 +1916,7 @@ broken-packages:
   - HandlerSocketClient
   - handsy
   - Hangman
+  - HangmanAscii
   - hannahci
   - hans
   - hanspell
@@ -2100,6 +2108,7 @@ broken-packages:
   - hdo
   - hdph-closure
   - hdr-histogram
+  - HDRUtils
   - headergen
   - heap-console
   - heapsort
@@ -2899,6 +2908,7 @@ broken-packages:
   - layers
   - layout
   - layout-bootstrap
+  - layout-rules
   - lazify
   - lazyarray
   - lazyboy
@@ -3072,6 +3082,7 @@ broken-packages:
   - LTS
   - lua-bc
   - luautils
+  - lucid2
   - lucid-htmx
   - lucid-hyperscript
   - luis-client
@@ -3907,6 +3918,7 @@ broken-packages:
   - plzwrk
   - pngload-fixed
   - pocket
+  - podenv
   - pointedalternative
   - pointfree-fancy
   - pointful
@@ -3932,6 +3944,7 @@ broken-packages:
   - polysemy-mocks
   - polysemy-readline
   - polysemy-req
+  - polysemy-scoped-fs
   - polysemy-zoo
   - polytypeable
   - polyvariadic
@@ -4221,6 +4234,7 @@ broken-packages:
   - Referees
   - references
   - refined-http-api-data
+  - refined-with
   - reflection-extras
   - reflex-basic-host
   - reflex-dom-ace
@@ -4486,7 +4500,6 @@ broken-packages:
   - servant-auth-hmac
   - servant-avro
   - servant-benchmark
-  - servant-cassava
   - servant-client-js
   - servant-db
   - servant-dhall
@@ -4621,6 +4634,7 @@ broken-packages:
   - simple-templates
   - simple-ui
   - simple-units
+  - simple-vec3
   - simplexmq
   - simple-zipper
   - simplistic-generics
@@ -5269,6 +5283,7 @@ broken-packages:
   - typalyze
   - typeable-mock
   - typeable-th
+  - typecheck-plugin-nat-simple
   - type-combinators
   - typed-digits
   - typed-encoding
@@ -5388,6 +5403,7 @@ broken-packages:
   - utf8-prelude
   - utf8-validator
   - UTFTConverter
+  - util
   - util-logict
   - util-plus
   - util-primitive
@@ -5804,3 +5820,4 @@ broken-packages:
   - Zwaluw
   - zxcvbn-hs
   - zydiskell
+  - zyre2
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index b1bee72c8e2d9..9990e493bba3c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -83,7 +83,7 @@ default-package-overrides:
   - hnix < 0.15
   # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
   - http-client-restricted < 0.0.5
-  # Needs dhall 1.41.*, Stackage Nightly has 1.40
+  # Needs dhall 1.41.*, Stackage LTS 19 has 1.40
   - dhall-nix < 1.1.24
 
 extra-packages:
@@ -118,10 +118,8 @@ extra-packages:
   - ghc-lib-parser == 8.10.7.*          # 2022-02-17: preserve for GHC 8.10.7
   - ghc-lib-parser-ex == 8.10.*         # 2022-02-17: preserve for GHC 8.10.7
   - 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.2
   - ormolu == 0.2.*                     # 2022-02-21: For ghc 8.8 and 8.10
-  - ghc-exactprint == 1.4.*             # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
   - ShellCheck == 0.7.2                 # 2022-02-20: haskell-ci 0.14 needs this
   - weeder == 2.2.*                     # 2022-02-21: preserve for GHC 8.10.7
   - attoparsec == 0.13.*                # 2022-02-23: Needed to compile elm for now
@@ -290,6 +288,7 @@ package-maintainers:
     - candid
     - leb128-cereal
     - tasty-expected-failure
+    - lhs2tex
   pacien:
     - ldgallery-compiler
   peti:
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index e0e60d509a077..5009f8689caa4 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 19.4
+# Stackage LTS 19.6
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -56,7 +56,7 @@ default-package-overrides:
   - amqp ==0.22.1
   - amqp-utils ==0.6.3.2
   - annotated-wl-pprint ==0.7.0
-  - ansi-terminal ==0.11.1
+  - ansi-terminal ==0.11.3
   - ansi-terminal-game ==1.8.0.0
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
@@ -78,7 +78,7 @@ default-package-overrides:
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
-  - ascii ==1.1.2.0
+  - ascii ==1.1.3.0
   - ascii-case ==1.0.0.10
   - ascii-char ==1.0.0.14
   - asciidiagram ==1.3.3.3
@@ -86,7 +86,7 @@ default-package-overrides:
   - ascii-numbers ==1.0.0.0
   - ascii-predicates ==1.0.0.10
   - ascii-progress ==0.3.3.0
-  - ascii-superset ==1.0.1.12
+  - ascii-superset ==1.0.1.13
   - ascii-th ==1.0.0.10
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
@@ -297,8 +297,8 @@ default-package-overrides:
   - cast ==0.1.0.2
   - caster ==0.0.3.0
   - cayley-client ==0.4.17
-  - cborg ==0.2.6.0
-  - cborg-json ==0.2.3.0
+  - cborg ==0.2.7.0
+  - cborg-json ==0.2.4.0
   - cdar-mBound ==0.1.0.4
   - c-enum ==0.1.1.3
   - cereal ==0.5.8.2
@@ -427,10 +427,9 @@ default-package-overrides:
   - convertible ==1.1.1.0
   - cookie ==0.4.5
   - copr-api ==0.1.0
-  - core-data ==0.3.2.1
-  - core-program ==0.4.5.1
-  - core-telemetry ==0.1.9.3
-  - core-text ==0.3.5.0
+  - core-data ==0.3.2.2
+  - core-program ==0.4.6.1
+  - core-text ==0.3.7.1
   - countable ==1.0
   - covariance ==0.1.0.6
   - cpphs ==1.20.9.1
@@ -630,7 +629,7 @@ default-package-overrides:
   - dual ==0.1.1.1
   - dual-tree ==0.2.3.0
   - dublincore-xml-conduit ==0.1.0.2
-  - dunai ==0.8.1
+  - dunai ==0.8.2
   - duration ==0.2.0.0
   - dvorak ==0.1.0.0
   - dynamic-state ==0.3.1
@@ -700,7 +699,7 @@ default-package-overrides:
   - every ==0.0.1
   - evm-opcodes ==0.1.1
   - exact-combinatorics ==0.2.0.11
-  - exact-pi ==0.5.0.1
+  - exact-pi ==0.5.0.2
   - exception-hierarchy ==0.1.0.6
   - exception-mtl ==0.4.0.1
   - exception-transformers ==0.4.0.11
@@ -874,7 +873,7 @@ default-package-overrides:
   - ghc-check ==0.5.0.6
   - ghc-compact ==0.1.0.0
   - ghc-core ==0.5.6
-  - ghc-events ==0.17.0.2
+  - ghc-events ==0.17.0.3
   - ghc-exactprint ==0.6.4
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
@@ -980,7 +979,7 @@ default-package-overrides:
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
   - happstack-server ==7.7.2
-  - happstack-server-tls ==7.2.1.1
+  - happstack-server-tls ==7.2.1.2
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
   - HasBigDecimal ==0.1.1
@@ -1012,7 +1011,7 @@ default-package-overrides:
   - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
-  - hasql-th ==0.4.0.11
+  - hasql-th ==0.4.0.14
   - hasql-transaction ==1.0.1.1
   - has-transformers ==0.1.0.4
   - hasty-hamiltonian ==1.3.4
@@ -1216,6 +1215,7 @@ default-package-overrides:
   - hw-json-simd ==0.1.1.1
   - hw-json-simple-cursor ==0.1.1.1
   - hw-json-standard-cursor ==0.2.3.2
+  - hwk ==0.6
   - hw-kafka-client ==4.0.3
   - hw-mquery ==0.2.1.1
   - hworker ==0.1.0.1
@@ -1240,7 +1240,7 @@ default-package-overrides:
   - hxt-unicode ==9.0.2.4
   - hybrid-vectors ==0.2.2
   - hyper ==0.2.1.1
-  - hyperloglog ==0.4.5
+  - hyperloglog ==0.4.6
   - hyphenation ==0.8.2
   - iconv ==0.4.1.3
   - identicon ==0.2.2
@@ -1787,7 +1787,7 @@ default-package-overrides:
   - pattern-arrows ==0.0.2
   - pava ==0.1.1.3
   - pcg-random ==0.1.3.7
-  - pcre2 ==2.1.0.1
+  - pcre2 ==2.1.1
   - pcre-heavy ==1.0.0.2
   - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.2
@@ -1882,7 +1882,7 @@ default-package-overrides:
   - postgresql-schema ==0.1.14
   - postgresql-simple ==0.6.4
   - postgresql-simple-url ==0.2.1.0
-  - postgresql-syntax ==0.4.0.2
+  - postgresql-syntax ==0.4.1
   - postgresql-typed ==0.6.2.1
   - post-mess-age ==0.2.1.0
   - pptable ==0.3.0.0
@@ -1947,7 +1947,7 @@ default-package-overrides:
   - psql-helpers ==0.1.0.0
   - psqueues ==0.2.7.3
   - pthread ==0.2.1
-  - ptr-poker ==0.1.2.5
+  - ptr-poker ==0.1.2.8
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.4
   - purescript-bridge ==0.14.0.0
@@ -2030,10 +2030,10 @@ default-package-overrides:
   - ref-fd ==0.5
   - refined ==0.6.3
   - reflection ==2.1.6
-  - reform ==0.2.7.4
-  - reform-blaze ==0.2.4.3
+  - reform ==0.2.7.5
+  - reform-blaze ==0.2.4.4
   - reform-hamlet ==0.0.5.3
-  - reform-happstack ==0.2.5.4
+  - reform-happstack ==0.2.5.5
   - RefSerialize ==0.4.0
   - ref-tf ==0.5.0.1
   - regex ==1.1.0.1
@@ -2078,7 +2078,7 @@ default-package-overrides:
   - rhine ==0.7.1
   - rhine-gloss ==0.7.1
   - riak-protobuf ==0.25.0.0
-  - rio ==0.1.21.0
+  - rio ==0.1.22.0
   - rio-orphans ==0.1.2.0
   - rio-prettyprint ==0.1.1.0
   - rng-utils ==0.3.1
@@ -2136,7 +2136,7 @@ default-package-overrides:
   - sdl2 ==2.5.3.0
   - sdl2-ttf ==2.1.2
   - search-algorithms ==0.3.2
-  - secp256k1-haskell ==0.6.0
+  - secp256k1-haskell ==0.6.1
   - securemem ==0.1.10
   - selda ==0.5.1.0
   - selda-sqlite ==0.1.7.1
@@ -2158,7 +2158,7 @@ default-package-overrides:
   - sequence-formats ==1.6.6.1
   - sequenceTools ==1.5.2
   - serf ==0.1.1.0
-  - serialise ==0.2.4.0
+  - serialise ==0.2.5.0
   - servant ==0.19
   - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.0
@@ -2211,7 +2211,7 @@ default-package-overrides:
   - shake ==0.19.6
   - shake-language-c ==0.12.0
   - shake-plus ==0.3.4.0
-  - shakespeare ==2.0.26
+  - shakespeare ==2.0.27
   - shared-memory ==0.2.0.0
   - ShellCheck ==0.8.0
   - shell-conduit ==5.0.0
@@ -2228,7 +2228,7 @@ default-package-overrides:
   - silently ==1.2.5.2
   - simple-affine-space ==0.1.1
   - simple-cabal ==0.1.3
-  - simple-cmd ==0.2.4
+  - simple-cmd ==0.2.5
   - simple-cmd-args ==0.1.7
   - simple-log ==0.9.12
   - simple-media-timestamp ==0.2.0.0
@@ -2245,6 +2245,7 @@ default-package-overrides:
   - singletons-presburger ==0.6.1.0
   - singletons-th ==3.0
   - siphash ==1.0.3
+  - Sit ==0.2022.3.18
   - sitemap-gen ==0.1.0.0
   - sized ==1.0.0.0
   - skein ==1.0.9.4
@@ -2257,8 +2258,8 @@ default-package-overrides:
   - slist ==0.2.0.0
   - slynx ==0.6.1.1
   - smallcheck ==1.2.1
-  - smash ==0.1.2
-  - smash-microlens ==0.1.0.0
+  - smash ==0.1.3
+  - smash-microlens ==0.1.0.2
   - smtp-mail ==0.3.0.0
   - snap-blaze ==0.2.1.5
   - snap-core ==1.0.5.0
@@ -2336,7 +2337,7 @@ default-package-overrides:
   - storable-record ==0.0.6
   - storable-tuple ==0.0.3.3
   - storablevector ==0.2.13.1
-  - store ==0.7.14
+  - store ==0.7.15
   - store-core ==0.4.4.4
   - store-streaming ==0.2.0.3
   - Stream ==0.4.7.2
@@ -2382,7 +2383,7 @@ default-package-overrides:
   - SVGFonts ==1.8.0.1
   - svg-tree ==0.6.2.4
   - swagger2 ==2.8.2
-  - swish ==0.10.1.0
+  - swish ==0.10.2.0
   - syb ==0.7.2.1
   - sydtest-discover ==0.0.0.1
   - symbol ==0.2.4
@@ -2637,7 +2638,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.6
   - unix-compat ==0.5.4
   - unix-time ==0.4.7
-  - unliftio ==0.2.21.0
+  - unliftio ==0.2.22.0
   - unliftio-core ==0.2.0.1
   - unliftio-path ==0.0.2.0
   - unliftio-pool ==0.2.1.1
@@ -2662,14 +2663,14 @@ default-package-overrides:
   - valida-base ==0.2.0
   - validate-input ==0.5.0.0
   - validation ==1.1.2
-  - validity ==0.12.0.0
+  - validity ==0.12.0.1
   - validity-bytestring ==0.4.1.1
   - validity-containers ==0.5.0.4
   - validity-path ==0.4.0.1
   - validity-persistent ==0.0.0.0
   - validity-primitive ==0.0.0.1
   - validity-scientific ==0.2.0.3
-  - validity-text ==0.3.1.2
+  - validity-text ==0.3.1.3
   - validity-time ==0.5.0.0
   - validity-unordered-containers ==0.2.0.3
   - validity-uuid ==0.1.0.3
@@ -2716,7 +2717,7 @@ default-package-overrides:
   - wai-cors ==0.2.7
   - wai-enforce-https ==1.0.0.0
   - wai-eventsource ==3.0.0
-  - wai-extra ==3.1.8
+  - wai-extra ==3.1.10
   - wai-feature-flags ==0.1.0.3
   - wai-handler-launch ==3.0.3.1
   - wai-logger ==2.4.0
@@ -2749,11 +2750,11 @@ default-package-overrides:
   - webgear-server ==1.0.1
   - webpage ==0.0.5.1
   - web-plugins ==0.4.1
-  - web-routes ==0.27.14.3
-  - web-routes-boomerang ==0.28.4.2
-  - web-routes-happstack ==0.23.12.1
-  - web-routes-hsp ==0.24.6.1
-  - web-routes-wai ==0.24.3.1
+  - web-routes ==0.27.14.4
+  - web-routes-boomerang ==0.28.4.3
+  - web-routes-happstack ==0.23.12.2
+  - web-routes-hsp ==0.24.6.2
+  - web-routes-wai ==0.24.3.2
   - webrtc-vad ==0.1.0.3
   - websockets ==0.12.7.3
   - websockets-simple ==0.2.0
@@ -2839,7 +2840,7 @@ default-package-overrides:
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.7.0.1
   - yesod-bin ==1.6.2.1
-  - yesod-core ==1.6.22.0
+  - yesod-core ==1.6.23.1
   - yesod-eventsource ==1.6.0.1
   - yesod-form ==1.7.0
   - yesod-form-bootstrap4 ==3.0.1
@@ -2854,7 +2855,7 @@ default-package-overrides:
   - yesod-routes-flow ==3.0.0.2
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.1.0
-  - yesod-test ==1.6.12
+  - yesod-test ==1.6.13
   - yesod-websockets ==0.3.0.3
   - yes-precure5-command ==5.5.3
   - yi-rope ==0.11
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 198572573b8ff..e62cdd83090c9 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -436,12 +436,14 @@ dont-distribute-packages:
  - adp-multi-monadiccp
  - aeson-native
  - aeson-result
+ - affine
  - afv
  - agda-server
  - agda-snippets-hakyll
  - agentx
  - aip
  - aivika-distributed
+ - alg
  - algebra-checkers
  - algebra-driven-design
  - algebra-sql
@@ -647,6 +649,7 @@ dont-distribute-packages:
  - apiary-websockets
  - apis
  - apotiki
+ - appendful-persistent
  - approx-rand-test
  - arbor-monad-metric-datadog
  - archive-tar-bytestring
@@ -663,7 +666,7 @@ dont-distribute-packages:
  - ascii
  - ascii-cows
  - ascii-table
- - ascii_1_2_0_0
+ - ascii_1_2_3_0
  - asic
  - asif
  - assert4hs-hspec
@@ -770,6 +773,7 @@ dont-distribute-packages:
  - berp
  - bff
  - bglib
+ - bifunctor
  - billboard-parser
  - billeksah-forms
  - billeksah-main
@@ -784,6 +788,7 @@ dont-distribute-packages:
  - bindings-ppdev
  - bindynamic
  - binembed-example
+ - binrep
  - bioace
  - bioalign
  - biofasta
@@ -864,6 +869,7 @@ dont-distribute-packages:
  - bytelog
  - bytestring-builder-varword
  - bytestring-read
+ - ca
  - cabal-bounds
  - cabal-cache
  - cabal-cargs
@@ -913,6 +919,7 @@ dont-distribute-packages:
  - cassy
  - casui
  - categorical-algebra
+ - category
  - category-extras
  - cautious-gen
  - cctools-workqueue
@@ -1068,7 +1075,9 @@ dont-distribute-packages:
  - configifier
  - configurator-ng
  - conic-graphs
+ - constraint
  - constraint-manip
+ - constraint-reflection
  - constructible
  - consumers
  - container
@@ -1095,6 +1104,7 @@ dont-distribute-packages:
  - copilot-libraries
  - copilot-sbv
  - copilot-theorem
+ - core-webserver-servant
  - coroutine-enumerator
  - coroutine-iteratee
  - couch-simple
@@ -1389,6 +1399,8 @@ dont-distribute-packages:
  - exinst-deepseq
  - exinst-hashable
  - exinst-serialise
+ - exist
+ - exist-instances
  - expand
  - expat-enumerator
  - expiring-containers
@@ -1404,6 +1416,7 @@ dont-distribute-packages:
  - extract-dependencies
  - factual-api
  - fadno
+ - fair
  - fallingblocks
  - family-tree
  - fast-arithmetic
@@ -1484,6 +1497,7 @@ dont-distribute-packages:
  - fluent-logger
  - fluent-logger-conduit
  - fmt-for-rio
+ - foldable1
  - follower
  - foo
  - formal
@@ -1565,6 +1579,7 @@ dont-distribute-packages:
  - geniconvert
  - geniserver
  - genvalidity-aeson
+ - genvalidity-appendful
  - genvalidity-hspec-aeson
  - genvalidity-mergeful
  - genvalidity-mergeless
@@ -2379,6 +2394,7 @@ dont-distribute-packages:
  - iteratee-parsec
  - iteratee-stm
  - iterio-server
+ - ival
  - ivor
  - ivory-avr-atmega328p-registers
  - ivory-backend-c
@@ -2391,6 +2407,7 @@ dont-distribute-packages:
  - ivory-serialize
  - ivory-stdlib
  - ivy-web
+ - ix
  - ixset
  - ixset-typed-binary-instance
  - ixset-typed-cassava
@@ -2474,6 +2491,7 @@ dont-distribute-packages:
  - keid-sound-openal
  - keid-ui-dearimgui
  - kevin
+ - key-vault
  - keyring
  - keysafe
  - keystore
@@ -3058,7 +3076,6 @@ dont-distribute-packages:
  - phonetic-languages-simplified-base
  - phonetic-languages-simplified-common
  - phonetic-languages-simplified-examples-array
- - phonetic-languages-simplified-examples-common
  - phonetic-languages-simplified-generalized-examples-array
  - phonetic-languages-simplified-generalized-examples-common
  - phonetic-languages-simplified-generalized-properties-array
@@ -3154,6 +3171,7 @@ dont-distribute-packages:
  - process-streaming
  - procrastinating-structure
  - producer
+ - product
  - product-isomorphic
  - prof2dot
  - profiterole
@@ -3249,9 +3267,11 @@ dont-distribute-packages:
  - raketka
  - rallod
  - random-access-file
+ - random-class
  - random-effin
  - random-hypergeometric
  - range-space
+ - ranged-list
  - rasa
  - rasa-example-config
  - rasa-ext-bufs
@@ -3414,6 +3434,7 @@ dont-distribute-packages:
  - roundtrip-xml
  - route-generator
  - route-planning
+ - row
  - rpc
  - rpf
  - rsagl
@@ -3602,6 +3623,7 @@ dont-distribute-packages:
  - smcdel
  - smith-cli
  - smith-client
+ - smt
  - smtlib2-debug
  - smtlib2-pipe
  - smtlib2-quickcheck
@@ -3936,6 +3958,7 @@ dont-distribute-packages:
  - twitter-conduit
  - twitter-enumerator
  - twitter-types-lens
+ - txt
  - type-assertions
  - type-cache
  - type-cereal
@@ -3981,6 +4004,7 @@ dont-distribute-packages:
  - uniqueness-periods-vector-filters
  - uniqueness-periods-vector-general
  - uniqueness-periods-vector-properties
+ - universal
  - universe
  - universe-dependent-sum
  - universe-th
@@ -4021,6 +4045,7 @@ dont-distribute-packages:
  - vacuum-graphviz
  - vacuum-opengl
  - vacuum-ubigraph
+ - valid
  - variable-precision
  - vault-tool-server
  - vault-trans
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 4116cf51ebedd..9ed09e6f81d05 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -866,7 +866,7 @@ self: super: builtins.intersectAttrs super {
       buildTools = drv.buildTools or [ ] ++ [ pkgs.buildPackages.makeWrapper ];
       postInstall = drv.postInstall or "" + ''
         wrapProgram "$out/bin/nvfetcher" --prefix 'PATH' ':' "${
-          pkgs.lib.makeBinPath [ pkgs.nvchecker pkgs.nix-prefetch-git ]
+          pkgs.lib.makeBinPath [ pkgs.nvchecker pkgs.nix-prefetch ]
         }"
       '';
     }) super.nvfetcher);
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 612b0a224c566..9c9c66bc38e2f 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -770,8 +770,8 @@ self: {
      }:
      mkDerivation {
        pname = "AesonBson";
-       version = "0.4.0";
-       sha256 = "08ffz1fr8x5z3ipvk99wc5n363ghxrq1z0cv1yh57wx18ialk1cx";
+       version = "0.4.1";
+       sha256 = "0nyl0a3814163dxpmiadmmjdhd9cycmihwmsz7f0316hbm30lg7z";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson attoparsec base bson scientific text unordered-containers
@@ -1131,15 +1131,16 @@ self: {
      }) {};
 
   "AspectAG" = callPackage
-    ({ mkDerivation, base, containers, mtl, poly-rec, requirements
-     , tagged, template-haskell
+    ({ mkDerivation, base, containers, ghc-prim, loch-th, mtl, poly-rec
+     , requirements, template-haskell
      }:
      mkDerivation {
        pname = "AspectAG";
-       version = "0.6.0.0";
-       sha256 = "09lm1hs9l3h6ndv385adhh0kf9id10fjf0n1bczgzqgxmiykx2kn";
+       version = "0.7.0.0";
+       sha256 = "1w5zfx5vgvkys84vdrdd3rv39ly25wbn9izlir19irniqsbf6z6v";
        libraryHaskellDepends = [
-         base containers mtl poly-rec requirements tagged template-haskell
+         base containers ghc-prim loch-th mtl poly-rec requirements
+         template-haskell
        ];
        description = "Strongly typed Attribute Grammars implemented using type-level programming";
        license = lib.licenses.gpl3Only;
@@ -1331,6 +1332,34 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "BPS" = callPackage
+    ({ mkDerivation, base, extra, free, mtl, resourcet, STMonadTrans
+     , symbol, template-haskell, TLT, transformers
+     }:
+     mkDerivation {
+       pname = "BPS";
+       version = "0.1.0.0";
+       sha256 = "0rkrjj42p9ybcifmsmz8717yyf2q3vzwm4y42khxz824vdxa9q2j";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         transformers
+       ];
+       executableHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         transformers
+       ];
+       testHaskellDepends = [
+         base extra free mtl resourcet STMonadTrans symbol template-haskell
+         TLT transformers
+       ];
+       description = "Translations of classic Truth Maintenance Systems";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "Baggins" = callPackage
     ({ mkDerivation, base, cairo, containers, mtl }:
      mkDerivation {
@@ -5186,9 +5215,13 @@ self: {
        pname = "EdisonAPI";
        version = "1.3.1";
        sha256 = "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm";
+       revision = "1";
+       editedCabalFile = "1nlw49ifjvav102pigksi46xg0zwnpfj29j3db0rr76hykikpipy";
        libraryHaskellDepends = [ base mtl ];
        description = "A library of efficient, purely-functional data structures (API)";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "EdisonCore" = callPackage
@@ -8142,6 +8175,8 @@ self: {
        platforms = [
          "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
        ];
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {inherit (pkgs) pfstools;};
 
   "HERA" = callPackage
@@ -9964,6 +9999,25 @@ self: {
        broken = true;
      }) {};
 
+  "HangmanAscii" = callPackage
+    ({ mkDerivation, base, containers, haskeline, mtl
+     , optparse-applicative, random
+     }:
+     mkDerivation {
+       pname = "HangmanAscii";
+       version = "0.1.0.2";
+       sha256 = "103f603vfri1ilhga7h2gwbzp4iyb59hzpdxgmfa1j4x7hq1myv6";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base containers haskeline mtl optparse-applicative random
+       ];
+       description = "Yet another Hangman game";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "HappyTree" = callPackage
     ({ mkDerivation, base, constraints, generics-sop, safe, singletons
      }:
@@ -12301,8 +12355,8 @@ self: {
      }:
      mkDerivation {
        pname = "LDAPv3";
-       version = "0.1.0.0";
-       sha256 = "1zsl14qd7vzgvkz77mgdl5fyh4444gw3vjl443d09wra087j94bx";
+       version = "0.1.1.0";
+       sha256 = "164d3n9gi236qghbb0pyqi7f9c3w5xmj1p5h315zcrcc1hydac0m";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq int-cast newtype parsec
          text text-short
@@ -14366,6 +14420,8 @@ self: {
        pname = "Naperian";
        version = "0.1.1.0";
        sha256 = "1i9hc1pdp9mg9x1xd4wrv06cbhjxw0yhyk2xhsm8jz6rgksa22j7";
+       revision = "1";
+       editedCabalFile = "0njjyn54cda1j2rmxhmz9hnbg5rwd5f8qcdgfk2z9bq1aiv3h61q";
        libraryHaskellDepends = [ base containers ghc-prim vector ];
        description = "Naperian Functors for APL-like programming";
        license = "unknown";
@@ -19773,8 +19829,8 @@ self: {
      }:
      mkDerivation {
        pname = "TLT";
-       version = "0.1.0.0";
-       sha256 = "125hfd8ig706zsizyn959qsjcadsgbiqq3dnygjxambvd2d135pr";
+       version = "0.1.0.1";
+       sha256 = "1b91ax19dfgi50rlkfvjjywzz6w998d5jsq5c0yz620rcdl7jrki";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24382,6 +24438,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "adjunctions_4_4_1" = callPackage
+    ({ mkDerivation, array, base, comonad, containers, contravariant
+     , distributive, free, generic-deriving, hspec, hspec-discover, mtl
+     , profunctors, semigroupoids, semigroups, tagged, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "adjunctions";
+       version = "4.4.1";
+       sha256 = "0hqm86v5in7xp31wv3wvr1h7gsim96fpl0si0xrpv8060qalzwww";
+       libraryHaskellDepends = [
+         array base comonad containers contravariant distributive free mtl
+         profunctors semigroupoids semigroups tagged transformers
+         transformers-compat void
+       ];
+       testHaskellDepends = [ base distributive generic-deriving hspec ];
+       testToolDepends = [ hspec-discover ];
+       description = "Adjunctions and representable functors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "adler32" = callPackage
     ({ mkDerivation, base, bytestring, hspec, zlib }:
      mkDerivation {
@@ -24672,6 +24750,8 @@ self: {
        pname = "aeson-better-errors";
        version = "0.9.1.1";
        sha256 = "05yibq9kqbjb8rh84n12sbax05amvd8jccpja0hyadz58pjy4jnk";
+       revision = "1";
+       editedCabalFile = "0wzvrmhn5q2x1mcv43cyxhlck815ldkhx7c7gz5ijjyva1iicgn2";
        libraryHaskellDepends = [
          aeson base bytestring dlist mtl scientific text transformers
          transformers-compat unordered-containers vector void
@@ -24732,8 +24812,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-combinators";
-       version = "0.1.0.0";
-       sha256 = "08zzzl8qb18a1zhl3cjlqjwmmagf3052ialpqksiwx6bpb6x2i2m";
+       version = "0.1.0.1";
+       sha256 = "1vpsw29336xcybr87xj3k573qf2j7qxgv9wd7fccpcahgixpp2db";
        libraryHaskellDepends = [
          aeson base bytestring containers fail scientific text time
          time-compat unordered-containers uuid-types vector void
@@ -25032,14 +25112,12 @@ self: {
      }) {};
 
   "aeson-helper" = callPackage
-    ({ mkDerivation, aeson, base, text, unordered-containers, vector }:
+    ({ mkDerivation, aeson, base, text, vector }:
      mkDerivation {
        pname = "aeson-helper";
-       version = "0.1.0.0";
-       sha256 = "0s4gq827i2wyflcaxbhlr8f8svlw8szzmwax9d7vnxk9wy9fw8w0";
-       libraryHaskellDepends = [
-         aeson base text unordered-containers vector
-       ];
+       version = "0.2.0.0";
+       sha256 = "1im4grk23vkxgpa1fhhdg0ghg5j1z2qcwqvnpjk1s168993j2522";
+       libraryHaskellDepends = [ aeson base text vector ];
        description = "Aeson helper func";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -25071,18 +25149,12 @@ self: {
      }) {};
 
   "aeson-iproute" = callPackage
-    ({ mkDerivation, aeson, base, doctest, iproute, text
-     , unordered-containers
-     }:
+    ({ mkDerivation, aeson, base, doctest, iproute, text }:
      mkDerivation {
        pname = "aeson-iproute";
-       version = "0.2.1";
-       sha256 = "1130mr5fqwi4d74xg6nkvpqycc0vvd6rsiahm1pdhbrx3wvra8p2";
-       revision = "1";
-       editedCabalFile = "1q9yr42mvvcqy20ww1xcsy2q6jji0mrqng2clq8yd5diyy7kqx1a";
-       libraryHaskellDepends = [
-         aeson base iproute text unordered-containers
-       ];
+       version = "0.3.0";
+       sha256 = "027mmmjlfld6mncn0k8v0i2lg4xkgymaakl5nqs7jw7apgy83x2z";
+       libraryHaskellDepends = [ aeson base iproute text ];
        testHaskellDepends = [ base doctest ];
        description = "Aeson instances for iproute types";
        license = lib.licenses.bsd3;
@@ -25326,20 +25398,27 @@ self: {
 
   "aeson-quick" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
-     , deepseq, microlens, tasty, tasty-hunit, text
-     , unordered-containers, vector
+     , deepseq, microlens, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, unordered-containers
+     , vector
      }:
      mkDerivation {
        pname = "aeson-quick";
-       version = "0.1.3";
-       sha256 = "07xkiakl2zhknpj6sxjicyrcq4lishnyv645mq3fg9lls463fhm1";
+       version = "0.2.0";
+       sha256 = "0dwvmpli1ld4fbbv9s1m53mn5p4a89rjl864p6c5aqsrjcfd2ijz";
        libraryHaskellDepends = [
-         aeson attoparsec base deepseq text unordered-containers vector
+         aeson attoparsec base deepseq template-haskell text
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson attoparsec base bytestring microlens tasty tasty-hunit text
+         aeson attoparsec base bytestring deepseq microlens QuickCheck tasty
+         tasty-hunit tasty-quickcheck template-haskell text
+         unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         aeson attoparsec base bytestring criterion deepseq template-haskell
+         text unordered-containers vector
        ];
-       benchmarkHaskellDepends = [ aeson base bytestring criterion text ];
        description = "Quick JSON extractions with Aeson";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -25350,8 +25429,8 @@ self: {
     ({ mkDerivation, aeson, aeson-helper, base, text }:
      mkDerivation {
        pname = "aeson-result";
-       version = "0.1.0.0";
-       sha256 = "10bnzh7vlh42sip0z7mvx5jxrsi7p2s3vqy55pfg2pb17czzly2y";
+       version = "0.2.0.0";
+       sha256 = "1sssh9k4fkmsn96m796f5j3p5a5sc8khqgjfj4pzi1r935368n1f";
        libraryHaskellDepends = [ aeson aeson-helper base text ];
        description = "API Result for aeson";
        license = lib.licenses.bsd3;
@@ -25710,6 +25789,7 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Affine spaces (generalized)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "affine-invariant-ensemble-mcmc" = callPackage
@@ -26477,8 +26557,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.5.0.2";
-       sha256 = "1bfnxyajma4083ml96wmjvqmhkl9518s810q8qz6ra90kbhbf6s0";
+       version = "0.6";
+       sha256 = "1khk9qxxj1al733a0bvbkla81370slgbiq37310nwll6ng06yh4a";
        libraryHaskellDepends = [
          base bytestring deepseq template-haskell text
        ];
@@ -26507,24 +26587,30 @@ self: {
      }) {};
 
   "alfred-margaret" = callPackage
-    ({ mkDerivation, aeson, base, containers, deepseq, hashable, hspec
-     , hspec-expectations, primitive, QuickCheck, quickcheck-instances
-     , text, unordered-containers, vector
+    ({ mkDerivation, aeson, base, containers, criterion, deepseq
+     , hashable, hspec, hspec-expectations, primitive, QuickCheck
+     , quickcheck-instances, text, unordered-containers, vector
      }:
      mkDerivation {
        pname = "alfred-margaret";
-       version = "1.1.1.0";
-       sha256 = "1z3plc2a6qnlx1cpb3icw44h3lbspaq2n7djl4pljhb4dm5bflbq";
+       version = "2.0.0.0";
+       sha256 = "04hciwhzbh9i0y18fnsnmhhypmpanm06cpqg7f5dlqyy45jnqpk5";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          aeson base containers deepseq hashable primitive text
          unordered-containers vector
        ];
+       executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base deepseq hspec hspec-expectations QuickCheck
+         base deepseq hspec hspec-expectations primitive QuickCheck
          quickcheck-instances text
        ];
+       benchmarkHaskellDepends = [ base criterion deepseq vector ];
        description = "Fast Aho-Corasick string searching";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "alg" = callPackage
@@ -26533,11 +26619,12 @@ self: {
        pname = "alg";
        version = "0.2.13.1";
        sha256 = "0764j2njb86qdskck3nvbrh61v99hqdhf8aj9irblm6smdlrv4l3";
-       revision = "1";
-       editedCabalFile = "0rm66k502d8la140ffawd38yaf0hr92h8x7xrq6krn6ypljwql0v";
+       revision = "2";
+       editedCabalFile = "1ffcn0ahv2jl6191baik5sqsh5mb61n1g4rgkiybd1mspgsmnnwy";
        libraryHaskellDepends = [ base dual util ];
        description = "Algebraic structures";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "alga" = callPackage
@@ -30788,8 +30875,8 @@ self: {
      }:
      mkDerivation {
        pname = "annotated-exception";
-       version = "0.2.0.1";
-       sha256 = "0lqr283ql82kfpd6rvznwj4p0h4176mg9xnb1wnzdxxbl9rn3xgl";
+       version = "0.2.0.2";
+       sha256 = "07njn6r1c3n1nblnlz5q2jrk5887vxxr2yzw4khqwayy0nmgbc7l";
        libraryHaskellDepends = [
          base containers safe-exceptions text unliftio-core
        ];
@@ -30889,8 +30976,8 @@ self: {
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.11.1";
-       sha256 = "0avjvd2492y2rqvi63a633rqsrmi1aq6dv18q5cp0x4kch3dlm5f";
+       version = "0.11.3";
+       sha256 = "0swy5alj4xvfsnjrfiwxdlgzdnggjy6lgbfwph2d7c8zyzn67mgl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -32342,6 +32429,44 @@ self: {
        broken = true;
      }) {};
 
+  "appendful" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, mtl, validity
+     , validity-containers
+     }:
+     mkDerivation {
+       pname = "appendful";
+       version = "0.0.0.0";
+       sha256 = "1wb2abnr2k7d7bgvh3zjyg55s1236cgnz1idldpxcrib30nr01l8";
+       libraryHaskellDepends = [
+         aeson base containers deepseq mtl validity validity-containers
+       ];
+       license = lib.licenses.mit;
+     }) {};
+
+  "appendful-persistent" = callPackage
+    ({ mkDerivation, appendful, base, containers, genvalidity
+     , genvalidity-appendful, genvalidity-hspec, genvalidity-persistent
+     , hspec, microlens, monad-logger, mtl, path, path-io, persistent
+     , persistent-sqlite, persistent-template, QuickCheck, text
+     , validity
+     }:
+     mkDerivation {
+       pname = "appendful-persistent";
+       version = "0.0.0.0";
+       sha256 = "0h0hdjkkrz8ckhs8r8n0vm983513lahi9bd89i1hyqlycrckbphl";
+       libraryHaskellDepends = [
+         appendful base containers microlens persistent
+       ];
+       testHaskellDepends = [
+         appendful base containers genvalidity genvalidity-appendful
+         genvalidity-hspec genvalidity-persistent hspec monad-logger mtl
+         path path-io persistent persistent-sqlite persistent-template
+         QuickCheck text validity
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "appendmap" = callPackage
     ({ mkDerivation, base, containers, hspec, QuickCheck }:
      mkDerivation {
@@ -33189,8 +33314,8 @@ self: {
      }:
      mkDerivation {
        pname = "arduino-copilot";
-       version = "1.7.0";
-       sha256 = "073l9fmg1i83whdfbplpshz2695ls7bb4kf4c40446q0cpccpnrc";
+       version = "1.7.1";
+       sha256 = "1w42y0avx032i7s208p1rkc24c7hy7lbjia5qjgixzv8qcc0693b";
        libraryHaskellDepends = [
          base containers copilot copilot-c99 copilot-language directory
          filepath mtl optparse-applicative sketch-frp-copilot temporary
@@ -34059,8 +34184,10 @@ self: {
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.1.2.0";
-       sha256 = "17yh71i28m1m4hnlbd6sp234kwqpgsdpn4bmv2g283vq37mkn09n";
+       version = "1.1.3.0";
+       sha256 = "0pzyamd64mj8sx5a43gi7yjdy5dx6k9648ihbgsri8k8srlhm0c8";
+       revision = "1";
+       editedCabalFile = "0lxjb940qm86i1b2i9dgyj8874y49spwmkm5ninxd5hs7g9manll";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
          ascii-superset ascii-th base bytestring text
@@ -34071,15 +34198,15 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "ascii_1_2_0_0" = callPackage
+  "ascii_1_2_3_0" = callPackage
     ({ mkDerivation, ascii-case, ascii-char, ascii-group, ascii-numbers
      , ascii-predicates, ascii-superset, ascii-th, base, bytestring
      , hedgehog, text
      }:
      mkDerivation {
        pname = "ascii";
-       version = "1.2.0.0";
-       sha256 = "1m043s6030mwz4gam83nb1dyxsbkaar6i7cdvzjfgawv9gdpwkbb";
+       version = "1.2.3.0";
+       sha256 = "0s6w1wv6hjx1abz038cw7fyl8ilbs3cxmcs989c3hh9659l82p2j";
        libraryHaskellDepends = [
          ascii-case ascii-char ascii-group ascii-numbers ascii-predicates
          ascii-superset ascii-th base bytestring text
@@ -34239,6 +34366,19 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "ascii-predicates_1_0_1_0" = callPackage
+    ({ mkDerivation, ascii-char, base, hedgehog }:
+     mkDerivation {
+       pname = "ascii-predicates";
+       version = "1.0.1.0";
+       sha256 = "1zqlly878qlrkjw2m4mgs4cgw6xspn0alx6xnvnrp1r2b412ykyn";
+       libraryHaskellDepends = [ ascii-char base ];
+       testHaskellDepends = [ ascii-char base hedgehog ];
+       description = "Various categorizations of ASCII characters";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ascii-progress" = callPackage
     ({ mkDerivation, async, base, concurrent-output, data-default
      , hspec, QuickCheck, time
@@ -34289,22 +34429,6 @@ self: {
      }:
      mkDerivation {
        pname = "ascii-superset";
-       version = "1.0.1.12";
-       sha256 = "04kp4v0m1z1sh78862qryhkq1a5jzv1hdkyyrsv2m7caqkh8rn2c";
-       libraryHaskellDepends = [
-         ascii-char base bytestring hashable text
-       ];
-       testHaskellDepends = [ ascii-char base hedgehog text ];
-       description = "Representing ASCII with refined supersets";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "ascii-superset_1_0_1_13" = callPackage
-    ({ mkDerivation, ascii-char, base, bytestring, hashable, hedgehog
-     , text
-     }:
-     mkDerivation {
-       pname = "ascii-superset";
        version = "1.0.1.13";
        sha256 = "0pf1awrx0bfpgyc96r1ycybgpy801iqxr8qf3vp9pvbnfava1v8s";
        libraryHaskellDepends = [
@@ -34313,7 +34437,6 @@ self: {
        testHaskellDepends = [ ascii-char base hedgehog text ];
        description = "Representing ASCII with refined supersets";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ascii-table" = callPackage
@@ -36342,27 +36465,25 @@ self: {
      , http-types, language-bash, megaparsec, network-uri
      , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
      , rio, scheduler, stm, tasty, tasty-hunit, text, time, transformers
-     , typed-process, versions
+     , typed-process, unix, versions
      }:
      mkDerivation {
        pname = "aura";
-       version = "3.2.7";
-       sha256 = "07ya2vd94grh6fs7k5kq25yh95xfk5mdqcgqq84anjz0phprq5z3";
-       revision = "1";
-       editedCabalFile = "16z28nkj5ladbbrg2h5sc1qcl3335g3i37x02h0by8bpqbkld6xr";
+       version = "3.2.8";
+       sha256 = "1frvim9asp0849g7f5c1hcjkr82c9w27im479vmk6n4zzssvzach";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson algebraic-graphs aur base bytestring containers filepath
          hashable http-client http-types language-bash megaparsec
          network-uri prettyprinter prettyprinter-ansi-terminal rio scheduler
-         stm text time transformers typed-process versions
+         stm text time transformers typed-process unix versions
        ];
        executableHaskellDepends = [
          aeson aur base bytestring containers http-client http-client-tls
          megaparsec optparse-applicative prettyprinter
          prettyprinter-ansi-terminal rio scheduler text transformers
-         typed-process versions
+         typed-process unix versions
        ];
        testHaskellDepends = [
          base bytestring containers megaparsec rio tasty tasty-hunit text
@@ -36523,8 +36644,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec";
-       version = "0.0.1.0";
-       sha256 = "0g0k1c76nfkw8l5x6isz6fkci9bjn67qdpmjksf4qdfla28v35ha";
+       version = "0.1.0.1";
+       sha256 = "1m1zcscbx5553kh4hi12awqqqddxw4sr5vsg3lwcskl9qjzi1crx";
        libraryHaskellDepends = [
          aeson base bytestring containers hashable mtl scientific text time
          unordered-containers validity validity-scientific vector
@@ -36561,8 +36682,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-schema";
-       version = "0.1.0.0";
-       sha256 = "0qk1fjb47whpbnj2w776sk5mnb1m4z1dq6fmxhvjih3xsrpjq7s3";
+       version = "0.1.0.1";
+       sha256 = "1nzwbj3r5gps2lnriig38h1y51m4pd997z65kpsmxzcbyakdxjnd";
        libraryHaskellDepends = [
          aeson autodocodec base containers mtl text unordered-containers
          validity validity-aeson validity-containers validity-text
@@ -36596,8 +36717,8 @@ self: {
      }:
      mkDerivation {
        pname = "autodocodec-yaml";
-       version = "0.1.0.0";
-       sha256 = "1wa51mas9jxzhig651i9r21fxahk8rdwg7waxx4ilayzdfhaic4b";
+       version = "0.1.0.1";
+       sha256 = "1js3w0r7nrvl70vkkwblx8zqax22idblpdzs1ljr4x0jiwwji8bs";
        libraryHaskellDepends = [
          autodocodec autodocodec-schema base bytestring containers path
          path-io safe-coloured-text scientific text unordered-containers
@@ -38839,10 +38960,8 @@ self: {
     ({ mkDerivation, barbies, base, split, template-haskell }:
      mkDerivation {
        pname = "barbies-th";
-       version = "0.1.9";
-       sha256 = "1brikm7qr2yi3426vgwjjxjrvw060sb0v7jbxrhazjps28f6aa3n";
-       revision = "1";
-       editedCabalFile = "0iij1y72q28wvj8hfx000cpckl1wlcgj050380lx526cmwavy151";
+       version = "0.1.10";
+       sha256 = "0h16ywwf6dgazwnsqxl82l28vjx51gmh2xn8idlvc7kkl8ylgq54";
        libraryHaskellDepends = [ barbies base split template-haskell ];
        testHaskellDepends = [ barbies base ];
        description = "Create strippable HKD via TH";
@@ -40546,8 +40665,8 @@ self: {
      }:
      mkDerivation {
        pname = "bearriver";
-       version = "0.13.3";
-       sha256 = "0qakz6fidvhg121j442lsvcz9va0xa0rks41qj293mnrs8savv0p";
+       version = "0.13.4";
+       sha256 = "1c2w0ll84mrzkwg3314pnmasgaql0yjhrb5wy7zlm18s3bgpcysb";
        libraryHaskellDepends = [
          base dunai MonadRandom mtl simple-affine-space transformers
        ];
@@ -40793,6 +40912,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "benchpress_0_2_2_20" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, time }:
+     mkDerivation {
+       pname = "benchpress";
+       version = "0.2.2.20";
+       sha256 = "0yh44hdk7gh6ygdlys2mrij2gphdv5da8hmc7rnyf6cr5509ynn8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl time ];
+       executableHaskellDepends = [ base bytestring time ];
+       description = "Micro-benchmarking with detailed statistics";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bencode" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, hspec
      , parsec, QuickCheck, transformers, transformers-compat
@@ -41297,6 +41431,7 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Bifunctors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "bifunctors" = callPackage
@@ -41323,6 +41458,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bifunctors_5_5_12" = callPackage
+    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
+     , hspec-discover, QuickCheck, tagged, template-haskell
+     , th-abstraction, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "bifunctors";
+       version = "5.5.12";
+       sha256 = "0pbidsv1w3bvzs8w6sv8g1iqf0l9r1y0b1fmvd67cwlp01r7f1n6";
+       libraryHaskellDepends = [
+         base base-orphans comonad containers tagged template-haskell
+         th-abstraction transformers
+       ];
+       testHaskellDepends = [
+         base hspec QuickCheck template-haskell transformers
+         transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bifunctors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bighugethesaurus" = callPackage
     ({ mkDerivation, base, HTTP, split }:
      mkDerivation {
@@ -41869,6 +42027,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "binary-parser_0_5_7_2" = callPackage
+    ({ mkDerivation, base, bytestring, mtl, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "binary-parser";
+       version = "0.5.7.2";
+       sha256 = "1p17v5fspislzmqy5wxrnmbfg0l0yvm35mk034q4imkmjy0pa1w7";
+       libraryHaskellDepends = [ base bytestring mtl text transformers ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       description = "A highly-efficient but limited parser API specialised for bytestrings";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "binary-parsers" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring
      , bytestring-lexing, case-insensitive, criterion, deepseq
@@ -43054,6 +43231,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "binrep" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cereal, refined
+     , refined-with, text
+     }:
+     mkDerivation {
+       pname = "binrep";
+       version = "0.1.0";
+       sha256 = "10b65qdk4h96q44bl6ic8c4v2lfkr3vsm15zpia0dlikxnibvb8i";
+       libraryHaskellDepends = [
+         aeson base bytestring cereal refined refined-with text
+       ];
+       description = "Encode binary representations via types";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bins" = callPackage
     ({ mkDerivation, base, containers, finite-typelits
      , ghc-typelits-knownnat, ghc-typelits-natnormalise, math-functions
@@ -44062,6 +44255,8 @@ self: {
        pname = "bits";
        version = "0.6";
        sha256 = "18s2aa99cwcshcws2zl2ll7xgqn9dpznpkv1nplamc9h4vmqqs93";
+       revision = "1";
+       editedCabalFile = "1f118vwwskai74l6wn5sfy002k241qv1rhpsahphfr58llzgvv50";
        libraryHaskellDepends = [ base bytes mtl transformers ];
        description = "Various bit twiddling and bitwise serialization primitives";
        license = lib.licenses.bsd3;
@@ -44948,6 +45143,18 @@ self: {
        broken = true;
      }) {};
 
+  "blaze-htmx" = callPackage
+    ({ mkDerivation, base, blaze-html, blaze-markup }:
+     mkDerivation {
+       pname = "blaze-htmx";
+       version = "0.1.0.0";
+       sha256 = "18bl1bnf5z3p9pa12hjd2j53hi1qigya8bbpsj9jczgn4cbvx5q6";
+       libraryHaskellDepends = [ base blaze-html blaze-markup ];
+       testHaskellDepends = [ base blaze-html ];
+       description = "Blaze integration of the htmx library";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "blaze-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, bytestring-builder
      , containers, data-default-class, doctest, QuickCheck, scientific
@@ -45435,8 +45642,8 @@ self: {
        pname = "bloomfilter";
        version = "2.0.1.0";
        sha256 = "03vrmncg1c10a2wcg5skq30m1yiknn7nwxz2gblyyfaxglshspkc";
-       revision = "1";
-       editedCabalFile = "1dqlwmmcy7s6gsjqcm4xhk3cgbam0hyzpry2ha4064xvdb4rlks3";
+       revision = "2";
+       editedCabalFile = "1hi6hwvhv7lxqv0l6hv2854g1rvc52zcmr3ldvnaan1l1b666867";
        libraryHaskellDepends = [ array base bytestring deepseq ];
        testHaskellDepends = [
          base bytestring QuickCheck random test-framework
@@ -46624,6 +46831,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bound_2_0_5" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, cereal, comonad
+     , deepseq, deriving-compat, hashable, mmorph, profunctors
+     , template-haskell, th-abstraction, transformers
+     , transformers-compat, vector, void
+     }:
+     mkDerivation {
+       pname = "bound";
+       version = "2.0.5";
+       sha256 = "1cnw0q97bys7jcpjds2fb6zkq9pyqxcb8v0b5dvkckqmlp8agn4v";
+       libraryHaskellDepends = [
+         base bifunctors binary bytes cereal comonad deepseq hashable mmorph
+         profunctors template-haskell th-abstraction transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         base deriving-compat transformers transformers-compat vector void
+       ];
+       description = "Making de Bruijn Succ Less";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "bound-extras" = callPackage
     ({ mkDerivation, adjunctions, base, bound, containers, deepseq
      , filepath, hashable, pretty, tasty, tasty-golden, text-short
@@ -47019,33 +47249,6 @@ self: {
        broken = true;
      }) {};
 
-  "brick_0_64_2" = callPackage
-    ({ mkDerivation, base, bytestring, config-ini, containers
-     , contravariant, data-clist, deepseq, directory, dlist, exceptions
-     , filepath, microlens, microlens-mtl, microlens-th, QuickCheck, stm
-     , template-haskell, text, text-zipper, transformers, unix, vector
-     , vty, word-wrap
-     }:
-     mkDerivation {
-       pname = "brick";
-       version = "0.64.2";
-       sha256 = "058kpghx5s559z5l9hav44s8vb5lizn8j7v7l4lmvpqx3a6cisn7";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring config-ini containers contravariant data-clist
-         deepseq directory dlist exceptions filepath microlens microlens-mtl
-         microlens-th stm template-haskell text text-zipper transformers
-         unix vector vty word-wrap
-       ];
-       testHaskellDepends = [
-         base containers microlens QuickCheck vector
-       ];
-       description = "A declarative terminal user interface library";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "brick" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, exceptions
@@ -48923,6 +49126,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "bytes_0_17_2" = callPackage
+    ({ mkDerivation, base, binary, binary-orphans, bytestring, cereal
+     , containers, hashable, mtl, scientific, text, time, transformers
+     , transformers-compat, unordered-containers, void
+     }:
+     mkDerivation {
+       pname = "bytes";
+       version = "0.17.2";
+       sha256 = "06kqqk19qjhrwdqi6pyd1lwqfnj2sw3b3s49lc5vr2fmv8gg8mdw";
+       libraryHaskellDepends = [
+         base binary binary-orphans bytestring cereal containers hashable
+         mtl scientific text time transformers transformers-compat
+         unordered-containers void
+       ];
+       description = "Sharing code for serialization between binary and cereal";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "byteset" = callPackage
     ({ mkDerivation, base, binary }:
      mkDerivation {
@@ -48982,14 +49204,14 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "bytestring_0_11_3_0" = callPackage
+  "bytestring_0_11_3_1" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck, random, tasty
      , tasty-bench, tasty-quickcheck, template-haskell, transformers
      }:
      mkDerivation {
        pname = "bytestring";
-       version = "0.11.3.0";
-       sha256 = "03wfvdd6y99adjrp4r8kzi3a020dar7xmgfzyjdrk40nmranvp5h";
+       version = "0.11.3.1";
+       sha256 = "0nh75v2hmmcq650q51sv28yprrnnah80spiqvw4js8dy48bqwlah";
        libraryHaskellDepends = [ base deepseq ghc-prim template-haskell ];
        testHaskellDepends = [
          base deepseq ghc-prim QuickCheck tasty tasty-quickcheck
@@ -49597,6 +49819,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) bzip2;};
 
+  "bzlib-conduit-jappie" = callPackage
+    ({ mkDerivation, base, bindings-DSL, bytestring, bzip2, conduit
+     , data-default-class, hspec, mtl, random, resourcet
+     }:
+     mkDerivation {
+       pname = "bzlib-conduit-jappie";
+       version = "0.3.0.3";
+       sha256 = "10fvvcv205r45yk02fi4cyqq1r7f98hl5p4psfr3xixlzsyh6n8k";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class mtl
+         resourcet
+       ];
+       librarySystemDepends = [ bzip2 ];
+       libraryPkgconfigDepends = [ bzip2 ];
+       testHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class hspec mtl
+         random resourcet
+       ];
+       benchmarkHaskellDepends = [
+         base bindings-DSL bytestring conduit data-default-class mtl
+         resourcet
+       ];
+       description = "Streaming compression/decompression via conduits";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) bzip2;};
+
   "c-dsl" = callPackage
     ({ mkDerivation, base, language-c }:
      mkDerivation {
@@ -49840,6 +50091,7 @@ self: {
        libraryHaskellDepends = [ alg base ];
        description = "Cellular Automata";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ca-patterns" = callPackage
@@ -50170,6 +50422,19 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-detailed-quickcheck" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck }:
+     mkDerivation {
+       pname = "cabal-detailed-quickcheck";
+       version = "0.1.1.3";
+       sha256 = "1zy2b86ns5jhrl6z6qw6g1zq5nv3lpf4askpr40l9gid61h6mr01";
+       libraryHaskellDepends = [ base Cabal QuickCheck ];
+       description = "QuickCheck for Cabal tests";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-dev" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, cabal-install, containers
      , directory, filepath, HTTP, mtl, network, pretty, process, setenv
@@ -51998,6 +52263,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "calligraphy" = callPackage
+    ({ mkDerivation, array, base, containers, directory, enummapset
+     , filepath, ghc, hspec, HUnit, mtl, optparse-applicative, process
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "calligraphy";
+       version = "0.1.2";
+       sha256 = "08kiqp1z60hbfxm5s2d0hdr516gbq8fqyz0ddlr3vk0g9npm3nj2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers directory enummapset filepath ghc mtl
+         optparse-applicative process text
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base containers hspec HUnit QuickCheck ];
+       description = "HIE-based Haskell call graph and source code visualizer";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "camfort" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, fgl, filepath, flint, fortran-src
@@ -52294,16 +52580,16 @@ self: {
 
   "cantor-pairing" = callPackage
     ({ mkDerivation, base, containers, hspec, hspec-discover
-     , integer-gmp, integer-logarithms, integer-roots, mtl
+     , integer-gmp, integer-logarithms, integer-roots
      }:
      mkDerivation {
        pname = "cantor-pairing";
-       version = "0.2.0.1";
-       sha256 = "12wfm27gwhar7djd459yc86bv29818xdyc8glkhgn4q1kx7nda90";
+       version = "0.2.0.2";
+       sha256 = "1h95xbc1lhwd40qk64qw2cmr7prwygli1q2wy5hscny7jyah95c2";
        libraryHaskellDepends = [
          base containers integer-gmp integer-logarithms integer-roots
        ];
-       testHaskellDepends = [ base containers hspec mtl ];
+       testHaskellDepends = [ base containers hspec ];
        testToolDepends = [ hspec-discover ];
        description = "Convert data to and from a natural number representation";
        license = lib.licenses.mit;
@@ -53708,9 +53994,12 @@ self: {
        pname = "category";
        version = "0.2.5.0";
        sha256 = "0iya7q3b1z1bxv4amsibmc1lrmf7dng76nzcnanwy300jm1n42w7";
+       revision = "1";
+       editedCabalFile = "13yj1v414llr5cxdd5f3wdy75si2hj7f3k1f6w7kwj84gbrii5rr";
        libraryHaskellDepends = [ alg base dual transformers ];
        description = "Categorical types and classes";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "category-extras" = callPackage
@@ -53980,10 +54269,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.6.0";
-       sha256 = "1mvsavi8ngsvmcvlmaygsnygf7hn8kdqdhfff91n1zajgpz577h6";
-       revision = "1";
-       editedCabalFile = "0ry5p8cnmm772m3z074azh1ldxvq851dmffsp2b7vljjhzd9j4sc";
+       version = "0.2.7.0";
+       sha256 = "076656vq2qabhdnwzifc5gsj20vwh69vhy19dh0qa1f2lqxrzfvq";
        libraryHaskellDepends = [
          array base bytestring containers deepseq ghc-bignum ghc-prim half
          primitive text
@@ -54004,8 +54291,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg-json";
-       version = "0.2.3.0";
-       sha256 = "1nsind3yiix6mb3xgwcnb267d8w9k0dvfnj78jc58gybx5hl9n53";
+       version = "0.2.4.0";
+       sha256 = "1h5i8sf1q1xr4c2y945vanj6n1wkkag1vflfjys7ygbgddbcq7rv";
        libraryHaskellDepends = [
          aeson aeson-pretty base cborg scientific text unordered-containers
          vector
@@ -54039,8 +54326,8 @@ self: {
        pname = "cci";
        version = "0.3.1";
        sha256 = "0pvap67fn9kmjvn2qqq3x99k3mzrrsnb6q6fhawvyxv8drihsfc7";
-       revision = "1";
-       editedCabalFile = "11s00cbbimpglashmp1vmw1xhd4y2g1spn01ajvx3sw6wdyh614n";
+       revision = "2";
+       editedCabalFile = "123jmn7lgz1hmkygjzqckffm77783pfzddnjyvvv7rsnpgl4ckqn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -57365,8 +57652,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-shake";
-       version = "0.2.2";
-       sha256 = "10gj6764qhdy6ki0dyy75ycpj5il26jgxxjcr0xy9kkixi3wgsrb";
+       version = "0.3.0";
+       sha256 = "1iprssnpxykh9fjgckjnh5qlmnf1drgzjjfcq9fxyqs755y38vbi";
        libraryHaskellDepends = [
          aeson base bytestring clash-ghc clash-lib clash-prelude directory
          shake split stache text unordered-containers
@@ -57673,8 +57960,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.28.0";
-       sha256 = "11cr4mql6jhskhk1hg2c7kkvv005bha7y9b3ccpgy1147grnp00m";
+       version = "0.28.0.1";
+       sha256 = "1h18gh6042qq7qphiqdj9ww9k2pghj3dzz33rdh6w4jlx967w6bw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -57847,8 +58134,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.25";
-       sha256 = "0ii9984y7792i7kiwnqmgn9mfyky2k9dkx3fnzkirypqbxyri92s";
+       version = "0.4.3.26";
+       sha256 = "1h348cgxrvj6p4kd4vzfkdjvx592p7yb16mmxp27k61jvncg1vjw";
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
          filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
@@ -57872,8 +58159,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-redirect";
-       version = "0.0.1.2";
-       sha256 = "1vb0knjy0qkbpzni10bgvznnjxc7bv7pbp1l9frdffdsrssgyx8w";
+       version = "0.0.1.3";
+       sha256 = "15qcqrrznx7wz0anfwvs0rr3jl51ifcb0gxlr236c4c4xx8wfhna";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57894,8 +58181,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.3.2";
-       sha256 = "0ag94kc0csjnh88vw6ljifv6cqqwc8wizyizqk0mj4qpp73z6qd2";
+       version = "0.4.3.5";
+       sha256 = "07gms8mcp4lbi6fqxanzg2z7ybjhisxaal7yix3039glh54d2gv3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
@@ -64877,6 +65164,7 @@ self: {
        libraryHaskellDepends = [ base category unconstrained ];
        description = "Reified constraints";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraint-classes" = callPackage
@@ -64911,6 +65199,7 @@ self: {
        libraryHaskellDepends = [ base category constraint reflection ];
        description = "Constraint reflection";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraint-tuples" = callPackage
@@ -65272,14 +65561,14 @@ self: {
      }) {};
 
   "context" = callPackage
-    ({ mkDerivation, async, base, containers, ghc-prim, hspec
-     , hspec-discover
+    ({ mkDerivation, async, base, containers, exceptions, ghc-prim
+     , hspec, hspec-discover
      }:
      mkDerivation {
        pname = "context";
-       version = "0.1.1.1";
-       sha256 = "0zn8hnyf04q7brchll3xnk0ifxadl050wric191irmnl29m6p5k8";
-       libraryHaskellDepends = [ base containers ];
+       version = "0.2.0.0";
+       sha256 = "1s915v2wbmhwp3qwk5p7n1iz510wfdmi4nq2zg1m04q7dpzhl0xz";
+       libraryHaskellDepends = [ base containers exceptions ];
        testHaskellDepends = [ async base ghc-prim hspec ];
        testToolDepends = [ hspec-discover ];
        description = "Thread-indexed, nested contexts";
@@ -65339,8 +65628,8 @@ self: {
      }:
      mkDerivation {
        pname = "context-http-client";
-       version = "0.1.0.0";
-       sha256 = "0ad917jnzqd2idzh6a5j9nvjf2pg7l968vmn38cxgh9hfq3yhwm7";
+       version = "0.2.0.0";
+       sha256 = "0d7hdqcvfay8m1inbl19z4hj8qqi2a00qsxh7n7s03075rd8wzs0";
        libraryHaskellDepends = [ base context http-client ];
        testHaskellDepends = [
          async base bytestring case-insensitive context hspec http-client
@@ -65352,12 +65641,14 @@ self: {
      }) {};
 
   "context-resource" = callPackage
-    ({ mkDerivation, async, base, context, hspec, hspec-discover }:
+    ({ mkDerivation, async, base, context, exceptions, hspec
+     , hspec-discover
+     }:
      mkDerivation {
        pname = "context-resource";
-       version = "0.1.0.0";
-       sha256 = "0695m9hnx8grfmyy7mzd6n3426qc18sh14hy6glhr5nwj9c4k4c2";
-       libraryHaskellDepends = [ base context ];
+       version = "0.2.0.0";
+       sha256 = "0jjy6i6vcg3b9chrkw7l2yza8kdxl8d4bdlrqp0anpaxwm1q34da";
+       libraryHaskellDepends = [ base context exceptions ];
        testHaskellDepends = [ async base context hspec ];
        testToolDepends = [ hspec-discover ];
        description = "Thread-safe, pool-compatible resource provider";
@@ -65385,8 +65676,8 @@ self: {
      }:
      mkDerivation {
        pname = "context-wai-middleware";
-       version = "0.1.0.0";
-       sha256 = "0bisqsngccddkamf60qyk4h9w4w80ppks51i4p9bl39kmf7hd65l";
+       version = "0.2.0.0";
+       sha256 = "017zwjq4kl3jjmrdp0x6zxbsd9k5xnvcgf4r1cjk7cnlch36cwmn";
        libraryHaskellDepends = [ base context wai ];
        testHaskellDepends = [
          async base bytestring case-insensitive context hspec http-client
@@ -65896,8 +66187,8 @@ self: {
     ({ mkDerivation, base-prelude, bytestring, conversion }:
      mkDerivation {
        pname = "conversion-bytestring";
-       version = "1.0.1";
-       sha256 = "0ybh702mrwjvm48i03bb5hfiiz5qypyxyz5n14wai0kjn4ks1qwh";
+       version = "1.0.1.1";
+       sha256 = "0l2dnzx4qjkhpq4x8f8was3xnprb6bvs2r5wcdb1czf51nz1xc41";
        libraryHaskellDepends = [ base-prelude bytestring conversion ];
        description = "\"Conversion\" instances for the \"bytestring\" library";
        license = lib.licenses.mit;
@@ -65920,8 +66211,8 @@ self: {
      }:
      mkDerivation {
        pname = "conversion-text";
-       version = "1.0.1";
-       sha256 = "0ncvdgify4vhnzanl607h7nj6hqvzyq1csmaq5713gdp6h56fs9h";
+       version = "1.0.1.1";
+       sha256 = "0syvnpxqvv21cymydkg2r47b4cqqjbp7qjj6xzhzx6fbz4bczqfp";
        libraryHaskellDepends = [
          base-prelude bytestring conversion conversion-bytestring text
        ];
@@ -66112,8 +66403,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.8";
-       sha256 = "0lqr2ns6jg7m36pynl6i442d8x4kdlwlxqf59a0gspn8zgidwaii";
+       version = "3.9";
+       sha256 = "0kryqpk4sn5gbpjpvzcdhd5yp5045cfr2c112df5vagd7gp4a4gd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66132,8 +66423,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.8";
-       sha256 = "0bpak9kd23j8bmc8x7ksb84gggmxplax4wj00c39mrvh5cb5wlwx";
+       version = "3.9";
+       sha256 = "1m915j72b6axbwnls4kcjcdpixxlrjxw4zpvdzq34jym5h2kpd78";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -66166,8 +66457,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.8";
-       sha256 = "0vv3p9a0c3pa856yx8zmr4d5ag8mym9gbpz5bgi17a7cgfc682cz";
+       version = "3.9";
+       sha256 = "0haqyci12b44dn1hpfqp9hfyw949gl61yzxic8kznb0hl1h1sl5a";
        libraryHaskellDepends = [ base dlist mtl pretty ];
        testHaskellDepends = [
          base HUnit pretty QuickCheck test-framework test-framework-hunit
@@ -66204,8 +66495,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.8";
-       sha256 = "1wnv7xkgalxd7p7bm2zrsbg2r2wip9an8m5m3fc63wxvk9wcabj6";
+       version = "3.9";
+       sha256 = "1041mm4c8zf7wlrcnfp97lsnr8qsmclr7y3qcawx9pmarwk8arg8";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify mtl
        ];
@@ -66224,8 +66515,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.8";
-       sha256 = "1sx8bl10j7qwqi91dbl9dahy9l2n17qfbyni73az2fx9rq3q1jkz";
+       version = "3.9";
+       sha256 = "12h121zlq4xbkh947lkxdsjykf061rlmxkyhzyc2s2520fhkapx3";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -66258,8 +66549,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.8";
-       sha256 = "18287hs36lhf1g6l740vkynccy1d87lrr9rcjpgzfn03s9y3d58n";
+       version = "3.9";
+       sha256 = "1gnr6rd88gxs5wxkh6j28hqm81bj8b585n6ywm6s5p2wxgx0wzbn";
        libraryHaskellDepends = [
          ansi-terminal base bimap bv-sized containers copilot-core
          data-default directory filepath libBF mtl panic parameterized-utils
@@ -66374,8 +66665,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.3.2.1";
-       sha256 = "11ajh9lc3lg08czca18sn9jmb74skwdw0avzwimqphzvbkhdc0xj";
+       version = "0.3.2.2";
+       sha256 = "000ffh2lrv5yl9gybx3i8gp66f1vd1w6mhih8bipxf7fzgsn6pik";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          scientific text unordered-containers vector
@@ -66410,8 +66701,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.4.5.1";
-       sha256 = "035yb2zjbhbpx0726ijbbmf3cnvhcykf3k0v35mhpcr4npa6pcig";
+       version = "0.4.6.1";
+       sha256 = "0vjrffccnh7vl86mfm7i4rfwk9pzsg47g0gd4pg6fsdcs6118amq";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath fsnotify hashable hourglass mtl prettyprinter
@@ -66430,8 +66721,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-telemetry";
-       version = "0.1.9.3";
-       sha256 = "0rx2ji7g5a8bw7p394j52b3nj591h2d4zdvwryyxlwhg3y46iiv7";
+       version = "0.2.0.1";
+       sha256 = "1l302ncnv1w3p84v16acxvkyr6kvrr6385i7qdrmqi0a8yfwizb0";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-program
          core-text exceptions http-streams io-streams mtl network-info
@@ -66448,8 +66739,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.3.5.0";
-       sha256 = "0h6m0wrkyhzzqchzqwpvkskpmnvzm1qynf8jhqwk759w5yxmxycw";
+       version = "0.3.7.1";
+       sha256 = "11l89p9fn05l8h7dx6mpw4mhwhcxhdl2879lj628bxjal3f2fys3";
        libraryHaskellDepends = [
          ansi-terminal base bytestring colour deepseq fingertree hashable
          prettyprinter template-haskell text text-short
@@ -66488,6 +66779,7 @@ self: {
        ];
        description = "Interoperability with Servant";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "core-webserver-warp" = callPackage
@@ -66497,14 +66789,16 @@ self: {
      }:
      mkDerivation {
        pname = "core-webserver-warp";
-       version = "0.1.1.0";
-       sha256 = "0yfd2037bq6vljixkhrk2v2mlywj2br16pf5dpz2vahjpk0079yj";
+       version = "0.1.1.3";
+       sha256 = "1yjy5y0lvwkjyribhqavcda57s30jc7xjacng2g3p256kfp7mc2r";
        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;
+       broken = true;
      }) {};
 
   "corebot-bliki" = callPackage
@@ -66763,6 +67057,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "countable_1_2" = callPackage
+    ({ mkDerivation, base, bytestring, silently, tasty, tasty-golden
+     , tasty-hunit
+     }:
+     mkDerivation {
+       pname = "countable";
+       version = "1.2";
+       sha256 = "119v5ms4nyxikfwlmz71qk9gqp53zkpyxc6wm3qp5bm9b6n1ff47";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring silently tasty tasty-golden tasty-hunit
+       ];
+       description = "Countable, Searchable, Finite, Empty classes";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "countable-inflections" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, hspec, pcre-utils
      , QuickCheck, regex-pcre-builtin, text
@@ -67221,8 +67532,8 @@ self: {
      }:
      mkDerivation {
        pname = "cql";
-       version = "4.0.3";
-       sha256 = "1b6bqhg3rf2kk7i81l4vsgyp7zxiycifdrsj8qa4sqx78m72dmxh";
+       version = "4.0.4";
+       sha256 = "04s947r9wsqamqx3sq0h41l0mwxcw7pqc11jlrj8r94wgiikpkh2";
        libraryHaskellDepends = [
          base bytestring cereal containers Decimal iproute network
          template-haskell text time transformers uuid vector
@@ -69519,6 +69830,24 @@ self: {
        broken = true;
      }) {};
 
+  "csv-sip" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, containers, hspec, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "csv-sip";
+       version = "0.1.0";
+       sha256 = "1m33kw4rgzq7ivhr44giagp0b2xx0h9q0ipidll8xrrklvxzkcsc";
+       libraryHaskellDepends = [
+         base bytestring conduit containers text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit containers hspec text transformers
+       ];
+       description = "extracts data from a CSV file";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "csv-table" = callPackage
     ({ mkDerivation, base, containers, csv, filepath, process }:
      mkDerivation {
@@ -73580,29 +73909,33 @@ self: {
      }) {};
 
   "dbmigrations" = callPackage
-    ({ mkDerivation, base, bytestring, configurator, containers
+    ({ mkDerivation, aeson, base, bytestring, configurator, containers
      , directory, fgl, filepath, HDBC, HUnit, MissingH, mtl, process
-     , random, split, template-haskell, text, time, yaml-light
+     , random, split, string-conversions, template-haskell, text, time
+     , unordered-containers, yaml
      }:
      mkDerivation {
        pname = "dbmigrations";
-       version = "2.0.0";
-       sha256 = "1zhvl6h32y9hd1drv0ipm13si0cqf83i9kxnyivp4j1l5h4b55dx";
+       version = "2.1.0";
+       sha256 = "1b4kmvhswhd8252c0aahvk1p4fbdqdx1qahcypi13iy5ljkj4n9k";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring configurator containers directory fgl filepath HDBC
-         HUnit mtl random split template-haskell text time yaml-light
+         aeson base bytestring configurator containers directory fgl
+         filepath HDBC HUnit mtl random split string-conversions
+         template-haskell text time unordered-containers yaml
        ];
        executableHaskellDepends = [ base configurator ];
        testHaskellDepends = [
          base bytestring configurator containers directory fgl filepath HDBC
-         HUnit MissingH mtl process split template-haskell text time
-         yaml-light
+         HUnit MissingH mtl process split string-conversions
+         template-haskell text time yaml
        ];
        description = "An implementation of relational database \"migrations\"";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dbmigrations-mysql" = callPackage
@@ -76001,6 +76334,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "deriving-compat_0_6_1" = callPackage
+    ({ mkDerivation, base, base-compat, base-orphans, containers
+     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
+     , template-haskell, th-abstraction, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "deriving-compat";
+       version = "0.6.1";
+       sha256 = "09lxms6220saycra4kpxihwa7zh253zmv1zpa41dbnhgffxs3zbb";
+       libraryHaskellDepends = [
+         base containers ghc-boot-th ghc-prim template-haskell
+         th-abstraction transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         base base-compat base-orphans hspec QuickCheck tagged
+         template-haskell transformers transformers-compat void
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Backports of GHC deriving extensions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "deriving-show-simple" = callPackage
     ({ mkDerivation, base, HUnit }:
      mkDerivation {
@@ -76028,6 +76385,17 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "derivingvia-extras" = callPackage
+    ({ mkDerivation, base, hashable }:
+     mkDerivation {
+       pname = "derivingvia-extras";
+       version = "0.1.0.0";
+       sha256 = "11fsx8pbxqp968pgvms6qzw5x871r3c94m812nz81fpqkm6mv5cz";
+       libraryHaskellDepends = [ base hashable ];
+       description = "DerivingVia extras - Miscellaneous /via/ types";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "derp" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -77132,6 +77500,26 @@ self: {
        broken = true;
      }) {};
 
+  "dhall-text-shell" = callPackage
+    ({ mkDerivation, base, containers, dhall, filepath
+     , optparse-applicative, process, text
+     }:
+     mkDerivation {
+       pname = "dhall-text-shell";
+       version = "0.2.0.0";
+       sha256 = "10i1i7fk9y5hsxjjb87jbfnprg7nkrvpax6kd4blfphpzs2mpz5b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall filepath optparse-applicative process text
+       ];
+       executableHaskellDepends = [
+         base containers dhall filepath optparse-applicative process text
+       ];
+       description = "Render dhall text with shell commands as function arguments";
+       license = lib.licenses.mit;
+     }) {};
+
   "dhall-to-cabal" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, directory, filepath, microlens, optparse-applicative
@@ -77396,6 +77784,26 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "diagnose" = callPackage
+    ({ mkDerivation, base, data-default, hashable, prettyprinter
+     , prettyprinter-ansi-terminal, unordered-containers, wcwidth
+     }:
+     mkDerivation {
+       pname = "diagnose";
+       version = "2.0.0";
+       sha256 = "1rb2fm0bx1rmb63xc56v19adi9f0iy72j0h8rvrvw0lvcwp398xk";
+       libraryHaskellDepends = [
+         base data-default hashable prettyprinter
+         prettyprinter-ansi-terminal unordered-containers wcwidth
+       ];
+       testHaskellDepends = [
+         base data-default hashable prettyprinter
+         prettyprinter-ansi-terminal unordered-containers wcwidth
+       ];
+       description = "Beautiful error reporting done easily";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "diagrams" = callPackage
     ({ mkDerivation, diagrams-contrib, diagrams-core, diagrams-lib
      , diagrams-svg
@@ -83602,8 +84010,8 @@ self: {
      }:
      mkDerivation {
        pname = "dunai";
-       version = "0.8.1";
-       sha256 = "1zijhrk50cyyrb6jqlf8q0hh87lbfy5k9iy6w2az66nm89ckxrv9";
+       version = "0.8.2";
+       sha256 = "1hcjzd6zki10lkh6f11naxqrnkdmiqm4hwyj5acj4naqkakc6mmp";
        libraryHaskellDepends = [
          base MonadRandom simple-affine-space transformers transformers-base
        ];
@@ -83633,8 +84041,8 @@ self: {
     ({ mkDerivation, base, dunai, normaldistribution, QuickCheck }:
      mkDerivation {
        pname = "dunai-test";
-       version = "0.8.1";
-       sha256 = "1iy989wz4jnn9g892p7n0f1hj2hd61a01vxnqz5fr0yppbsckp3h";
+       version = "0.8.2";
+       sha256 = "0cicvzp604945mmlnrxwkkcyl01id933jrnnrv3y0c5xqlly2y9r";
        libraryHaskellDepends = [
          base dunai normaldistribution QuickCheck
        ];
@@ -85720,6 +86128,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "either_5_0_2" = callPackage
+    ({ mkDerivation, base, bifunctors, mtl, profunctors, QuickCheck
+     , semigroupoids, test-framework, test-framework-quickcheck2
+     }:
+     mkDerivation {
+       pname = "either";
+       version = "5.0.2";
+       sha256 = "1gl748ia68bldbqb2fl7vjv44g0y8ivn659fjmy1qyypgyb5p95z";
+       libraryHaskellDepends = [
+         base bifunctors mtl profunctors semigroupoids
+       ];
+       testHaskellDepends = [
+         base QuickCheck test-framework test-framework-quickcheck2
+       ];
+       description = "Combinators for working with sums";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "either-both" = callPackage
     ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck }:
      mkDerivation {
@@ -90263,9 +90690,9 @@ self: {
      }:
      mkDerivation {
        pname = "evoke";
-       version = "0.2021.9.14";
-       sha256 = "1r31f54s37rqdka8szmiavgjr0nhnsbbzmsdakwv675s29cclh8f";
-       libraryHaskellDepends = [ base ghc ];
+       version = "0.2022.5.2";
+       sha256 = "0fx99vrsc2qsxplj7a1lv1kvfza5ygvz1dcq7f2z3rijslcg4b10";
+       libraryHaskellDepends = [ base ghc text ];
        testHaskellDepends = [
          aeson base HUnit insert-ordered-containers lens QuickCheck swagger2
          text
@@ -90345,10 +90772,8 @@ self: {
      }:
      mkDerivation {
        pname = "exact-pi";
-       version = "0.5.0.1";
-       sha256 = "0q0qrkmpff835m3zz3w60i1y4sqicnzqb6vqmk13cjh4ign5d0ax";
-       revision = "2";
-       editedCabalFile = "11g9w0rcndi8c28hykzipcfcxffxgdys21di1fdz4n5p05f3ldqa";
+       version = "0.5.0.2";
+       sha256 = "1xmc3vlzfccrn5szglnxx13akxw2xacgl40kqh0kiw82d58x47a4";
        libraryHaskellDepends = [ base numtype-dk ];
        testHaskellDepends = [
          base numtype-dk QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -90431,6 +90856,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "exception-hierarchy_0_1_0_7" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "exception-hierarchy";
+       version = "0.1.0.7";
+       sha256 = "14kk0rync05rq2adx5lk59y56h97s0yv7mqfn2grhhwqb10maqj0";
+       libraryHaskellDepends = [ base template-haskell ];
+       description = "Exception type hierarchy with TemplateHaskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "exception-mailer" = callPackage
     ({ mkDerivation, base, hslogger, mime-mail, text }:
      mkDerivation {
@@ -90546,17 +90983,15 @@ self: {
        broken = true;
      }) {};
 
-  "exceptions_0_10_4" = callPackage
+  "exceptions_0_10_5" = callPackage
     ({ mkDerivation, base, mtl, QuickCheck, stm, template-haskell
      , test-framework, test-framework-hunit, test-framework-quickcheck2
      , transformers
      }:
      mkDerivation {
        pname = "exceptions";
-       version = "0.10.4";
-       sha256 = "1kw4pmx7j7zwbdwm0dyn9rcs6kp4byfxy48861yxdz6gam1zn2sd";
-       revision = "3";
-       editedCabalFile = "0b9bml5j46zz62ik2827ndsd5293dh8630086x1mngb80gnrml3y";
+       version = "0.10.5";
+       sha256 = "12xz2x16pv1a6csz64bpl22v40vykjwvdaiz39i8f8nkwasc1qv6";
        libraryHaskellDepends = [
          base mtl stm template-haskell transformers
        ];
@@ -90960,6 +91395,7 @@ self: {
        libraryHaskellDepends = [ base base-unicode-symbols util ];
        description = "Dependent sum type";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "exist-instances" = callPackage
@@ -90975,6 +91411,7 @@ self: {
        ];
        description = "Instances for \"exist\" package (requires more language extensions and dependencies)";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "existential" = callPackage
@@ -91803,6 +92240,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "extensioneer" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, hpack, mtl
+     , optparse-applicative, yaml
+     }:
+     mkDerivation {
+       pname = "extensioneer";
+       version = "0.1.0.0";
+       sha256 = "02n7ajra4vx63wjjj4dj54md87hk0cjz61bh6m3ql37h97iqsiqx";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base Cabal containers directory hpack mtl optparse-applicative yaml
+       ];
+       description = "Inspect extensions in cabal and hpack files";
+       license = lib.licenses.mit;
+     }) {};
+
   "extensions" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, colourista, containers
      , directory, filepath, ghc-boot-th, hedgehog, hspec, hspec-hedgehog
@@ -92258,6 +92712,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Lists with fair choice";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fair-predicates" = callPackage
@@ -93145,8 +93600,8 @@ self: {
      }:
      mkDerivation {
        pname = "fb";
-       version = "2.1.1";
-       sha256 = "0j2rckrv1aksfp2wyiyffqg40jl927vs97fk2lyzkscz673jd9s9";
+       version = "2.1.1.1";
+       sha256 = "18hqmhfzniydmxwi8b21iz04pc6x8hdy8pj6960ihrk20ddkih3d";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra cryptonite
          data-default http-client http-conduit http-types memory
@@ -93217,8 +93672,8 @@ self: {
      }:
      mkDerivation {
        pname = "fbrnch";
-       version = "1.0.0";
-       sha256 = "1j5whbx72q7jvjkv952y8qmgqkm19dprn6p1glvgsck8nhmffkkd";
+       version = "1.1";
+       sha256 = "11vhm176dm2i4zy7ipg20rsmp7rdabq8gh29byflqxm5s5wp86y6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -93313,16 +93768,20 @@ self: {
      }) {};
 
   "fcf-containers" = callPackage
-    ({ mkDerivation, base, doctest, first-class-families, Glob }:
+    ({ mkDerivation, base, doctest, first-class-families, ghc-prim
+     , Glob, mtl
+     }:
      mkDerivation {
        pname = "fcf-containers";
-       version = "0.6.0";
-       sha256 = "09sr1xqdjzfk5gysd7hi66xadwcfrjq4q3vakmdilc14lw833wgp";
+       version = "0.7.0";
+       sha256 = "0ai2hmcva84z29jxr3inngnicx0wn05vnh9lw460fcfckdfxf5xf";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base first-class-families ];
+       libraryHaskellDepends = [ base first-class-families ghc-prim mtl ];
        executableHaskellDepends = [ base first-class-families ];
-       testHaskellDepends = [ base doctest first-class-families Glob ];
+       testHaskellDepends = [
+         base doctest first-class-families ghc-prim Glob
+       ];
        description = "Data structures and algorithms for first-class-families";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -94251,34 +94710,36 @@ self: {
 
   "fficxx" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
-     , containers, data-default, directory, either, errors, filepath
-     , hashable, haskell-src-exts, lens, mtl, process, pureMD5, split
-     , template, template-haskell, text, transformers
-     , unordered-containers
+     , containers, data-default, directory, either, errors
+     , fficxx-runtime, filepath, hashable, haskell-src-exts, lens, mtl
+     , process, pureMD5, split, template, template-haskell, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "fficxx";
-       version = "0.5.1";
-       sha256 = "0yp4vx06l5y8gk689q8yicbznv1lfzqpqfvgc5l4s41vg46mc315";
+       version = "0.6";
+       sha256 = "0ky5zgdmw03wxngnpyai29ydm28n3bndznqxnmq45vadzhkz2ncz";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring Cabal containers data-default
-         directory either errors filepath hashable haskell-src-exts lens mtl
-         process pureMD5 split template template-haskell text transformers
-         unordered-containers
+         directory either errors fficxx-runtime filepath hashable
+         haskell-src-exts lens mtl process pureMD5 split template
+         template-haskell text transformers unordered-containers
        ];
-       description = "automatic C++ binding generation";
+       description = "Automatic C++ binding generation";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
 
   "fficxx-runtime" = callPackage
-    ({ mkDerivation, base, bytestring, template-haskell }:
+    ({ mkDerivation, base, bytestring, hashable, template-haskell }:
      mkDerivation {
        pname = "fficxx-runtime";
-       version = "0.5";
-       sha256 = "05ljkq3zv8nfx4xhvqql13qd81v46bnxnja8f8590yrf3zfqg87x";
-       libraryHaskellDepends = [ base bytestring template-haskell ];
+       version = "0.6";
+       sha256 = "12imwghgia5bp4j6gcbww6ikk43q4ysf6fymk54m645bl4agwqrb";
+       libraryHaskellDepends = [
+         base bytestring hashable template-haskell
+       ];
        description = "Runtime for fficxx-generated library";
        license = lib.licenses.bsd3;
      }) {};
@@ -97605,6 +98066,7 @@ self: {
        libraryHaskellDepends = [ base transformers util ];
        description = "Foldable types with at least 1 element";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "foldl" = callPackage
@@ -97617,8 +98079,8 @@ self: {
        pname = "foldl";
        version = "1.4.12";
        sha256 = "0zf4yljh3s2ddxa7dhzdglmylj14kfldhkclc44g37zvjq6kcnag";
-       revision = "2";
-       editedCabalFile = "0ggl6djyqrc56j8iy56f61jki7v3ym35ykd944z045gpjzbaq3c6";
+       revision = "3";
+       editedCabalFile = "1xijnq8qkmrj2w7h6gr2vy8a0ajhiapzi2fain5pgcllli2fny2r";
        libraryHaskellDepends = [
          base bytestring comonad containers contravariant hashable primitive
          profunctors random semigroupoids text transformers
@@ -99122,6 +99584,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "free_5_1_8" = callPackage
+    ({ mkDerivation, base, comonad, containers, distributive
+     , exceptions, indexed-traversable, mtl, profunctors, semigroupoids
+     , template-haskell, th-abstraction, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "5.1.8";
+       sha256 = "0h43a7w6yjnvqp3rl8qvcjl9a0hg86l0h7zxkikd0mw8n65l8xvr";
+       libraryHaskellDepends = [
+         base comonad containers distributive exceptions indexed-traversable
+         mtl profunctors semigroupoids template-haskell th-abstraction
+         transformers transformers-base
+       ];
+       description = "Monads for free";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "free-algebras" = callPackage
     ({ mkDerivation, base, containers, data-fix, dlist, free, groups
      , hedgehog, kan-extensions, mtl, transformers
@@ -101345,7 +101826,7 @@ self: {
   "futhark" = callPackage
     ({ mkDerivation, aeson, alex, ansi-terminal, array, base
      , base16-bytestring, binary, blaze-html, bmp, bytestring
-     , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
+     , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5, Diff
      , directory, directory-tree, dlist, file-embed, filepath, free
      , futhark-data, futhark-manifest, futhark-server, githash, half
      , happy, haskeline, hslogger, language-c-quote, lens, lsp
@@ -101357,23 +101838,23 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.10";
-       sha256 = "0mm0awd1sf5sfb6i1yjbcm67j2nhqpfnn11q8p61z3b2py6lnzzf";
+       version = "0.21.11";
+       sha256 = "1n8id7h0qpgifbmkdh3ma72kpv6hn6siyfjd62day3zywrjfxd61";
        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-manifest futhark-server githash half
-         haskeline hslogger language-c-quote lens lsp mainland-pretty
+         cryptohash-md5 Diff directory directory-tree dlist file-embed
+         filepath free futhark-data futhark-manifest futhark-server githash
+         half haskeline hslogger language-c-quote lens lsp mainland-pretty
          megaparsec mtl mwc-random neat-interpolation parallel process
          process-extras random regex-tdfa srcloc statistics template-haskell
          temporary terminal-size text time transformers vector versions
          zip-archive zlib
        ];
        libraryToolDepends = [ alex happy ];
-       executableHaskellDepends = [ base text ];
+       executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base containers megaparsec mtl parser-combinators QuickCheck tasty
          tasty-hunit tasty-quickcheck text
@@ -101390,8 +101871,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark-data";
-       version = "1.0.3.0";
-       sha256 = "1mskhngmxfd5mimr78wni6ih6mng9rg3mfyx9bfvi05vz9hdx54a";
+       version = "1.1.0.0";
+       sha256 = "0jy4ipcl0x6jqq6i0jjgf1f81s94ivkrxi9d4pgszr3vyqcg2757";
        libraryHaskellDepends = [
          base binary bytestring bytestring-to-vector containers half
          megaparsec mtl scientific text vector vector-binary-instances
@@ -103015,6 +103496,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "generic-arbitrary_0_2_2" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
+     mkDerivation {
+       pname = "generic-arbitrary";
+       version = "0.2.2";
+       sha256 = "12yj55lrddyxr3wfcki0pvcfa181p3q65chziw8qrmszn219yjsx";
+       libraryHaskellDepends = [ base QuickCheck ];
+       description = "Generic implementation for QuickCheck's Arbitrary";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "generic-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, ghc-prim }:
      mkDerivation {
@@ -103203,6 +103696,8 @@ self: {
        pname = "generic-lens";
        version = "2.2.1.0";
        sha256 = "17an4669igzs6pwzqxnpkx9gmxwz64p32d1zcinhh5agd56y70pa";
+       revision = "1";
+       editedCabalFile = "1wzxvfi9kzhbglih1syqhx42kcsvlinnfc338fl731k6hc95hmlm";
        libraryHaskellDepends = [
          base generic-lens-core profunctors text
        ];
@@ -103219,6 +103714,8 @@ self: {
        pname = "generic-lens-core";
        version = "2.2.1.0";
        sha256 = "08i4c9yb6z84iknrnl9f3f343121j7ilp0a679v81nsjm9xz3rlf";
+       revision = "1";
+       editedCabalFile = "1dbjhd6k7ypqa9f4h9v2xndgb4mjhfli3n1vjm8r8ga0kfndbqfn";
        libraryHaskellDepends = [ base indexed-profunctors text ];
        description = "Generically derive traversals, lenses and prisms";
        license = lib.licenses.bsd3;
@@ -103319,6 +103816,8 @@ self: {
        pname = "generic-optics";
        version = "2.2.1.0";
        sha256 = "1bw7bbkrd1sfshzx7v1nbdnkxc82krw96x7vnl7myz9748m4472z";
+       revision = "1";
+       editedCabalFile = "13wkbs8x0clkqzi4xqin89qywpky8jkpz9cxgwsglbpcyw11jvgq";
        libraryHaskellDepends = [
          base generic-lens-core optics-core text
        ];
@@ -103836,8 +104335,8 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-aeson";
-       version = "1.0.0.0";
-       sha256 = "1k28vl7i2idv44962wspvhpqpfznj52ckd3g7h580894vghhwi89";
+       version = "1.0.0.1";
+       sha256 = "0j5sms6f3ivxn981gzqsyhks2q2fws8xdbnnffb209dr0afg00b1";
        libraryHaskellDepends = [
          aeson base genvalidity genvalidity-scientific genvalidity-text
          genvalidity-unordered-containers genvalidity-vector QuickCheck
@@ -103854,6 +104353,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "genvalidity-appendful" = callPackage
+    ({ mkDerivation, appendful, base, containers, criterion
+     , genvalidity, genvalidity-containers, genvalidity-criterion
+     , genvalidity-hspec, genvalidity-hspec-aeson, genvalidity-time
+     , genvalidity-uuid, hspec, mtl, pretty-show, QuickCheck, random
+     , time, uuid
+     }:
+     mkDerivation {
+       pname = "genvalidity-appendful";
+       version = "0.0.0.0";
+       sha256 = "0sri0xdaqxpaapjspq4gipmvh7az3dilbzd4v5ihgcsjfk7kxmaj";
+       libraryHaskellDepends = [
+         appendful base containers genvalidity genvalidity-containers
+         genvalidity-time QuickCheck
+       ];
+       testHaskellDepends = [
+         appendful base containers genvalidity-hspec genvalidity-hspec-aeson
+         genvalidity-uuid hspec mtl pretty-show QuickCheck random time uuid
+       ];
+       benchmarkHaskellDepends = [
+         appendful base criterion genvalidity-criterion
+       ];
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "genvalidity-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, genvalidity
      , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
@@ -103879,6 +104404,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "genvalidity-case-insensitive" = callPackage
+    ({ mkDerivation, base, case-insensitive, criterion, genvalidity
+     , genvalidity-criterion, genvalidity-hspec, hspec, QuickCheck
+     , validity-case-insensitive
+     }:
+     mkDerivation {
+       pname = "genvalidity-case-insensitive";
+       version = "0.0.0.0";
+       sha256 = "1lmg44ihas98h02121bv1wy59k0za65nsgb64nh0al5bs6m7vsrl";
+       libraryHaskellDepends = [
+         base case-insensitive genvalidity validity-case-insensitive
+       ];
+       testHaskellDepends = [
+         base case-insensitive genvalidity-hspec hspec
+       ];
+       benchmarkHaskellDepends = [
+         base case-insensitive criterion genvalidity genvalidity-criterion
+         QuickCheck
+       ];
+       description = "GenValidity support for case-insensitive";
+       license = lib.licenses.mit;
+     }) {};
+
   "genvalidity-containers" = callPackage
     ({ mkDerivation, base, containers, criterion, genvalidity
      , genvalidity-criterion, genvalidity-hspec, genvalidity-property
@@ -104642,15 +105190,21 @@ self: {
 
   "geomancy" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, hedgehog
-     , linear
+     , linear, mono-traversable, simple-affine-space
      }:
      mkDerivation {
        pname = "geomancy";
-       version = "0.2.3.0";
-       sha256 = "1li0411y725c5k6zmkki0brz4w4yksxfdbk2ggq31yirmdihc5al";
-       libraryHaskellDepends = [ base containers deepseq ];
-       testHaskellDepends = [ base deepseq hedgehog linear ];
-       benchmarkHaskellDepends = [ base criterion deepseq linear ];
+       version = "0.2.4.0";
+       sha256 = "1wc9fza03afha1ni7jh9gpm39k20d6n5kmjgkpd06aqpf6yaqfcl";
+       libraryHaskellDepends = [
+         base containers deepseq mono-traversable simple-affine-space
+       ];
+       testHaskellDepends = [
+         base deepseq hedgehog linear simple-affine-space
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq linear simple-affine-space
+       ];
        description = "Geometry and matrix manipulation";
        license = lib.licenses.bsd3;
      }) {};
@@ -105109,19 +105663,19 @@ self: {
      }) {};
 
   "ghc-debug-brick" = callPackage
-    ({ mkDerivation, base, brick, containers, cursor, directory
+    ({ mkDerivation, base, brick, containers, deepseq, directory
      , exceptions, filepath, ghc-debug-client, ghc-debug-common
      , ghc-debug-convention, microlens, microlens-platform, text, time
      , unordered-containers, vty
      }:
      mkDerivation {
        pname = "ghc-debug-brick";
-       version = "0.2.0.0";
-       sha256 = "1jv2n0bxy37whsxs4drajs0mx83qng82qr62igicfnlqsvd5sk36";
+       version = "0.2.1.0";
+       sha256 = "02zkfndppp386va6vp6mamsv195sdvvwa3dj0ff2kp3kb4gbny7n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base brick containers cursor directory exceptions filepath
+         base brick containers deepseq directory exceptions filepath
          ghc-debug-client ghc-debug-common ghc-debug-convention microlens
          microlens-platform text time unordered-containers vty
        ];
@@ -105161,10 +105715,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-debug-common";
-       version = "0.2.0.0";
-       sha256 = "1fw9whgh2zayvaagn1f7x1qkwvznpjhpn4zkfnfav24pkmpf5ijy";
-       revision = "2";
-       editedCabalFile = "1cq2bgq9n6295912p8bfwkrg9jqx36x4zxzj468pkr3dsfhjqr23";
+       version = "0.2.1.0";
+       sha256 = "1p895vq31ijkp8lgscxrvpiq2z97l9wx8rcji4nf8kc3bkprk8kl";
        libraryHaskellDepends = [
          array base binary bytestring containers cpu deepseq directory
          dom-lt filepath ghc-debug-convention ghc-heap hashable transformers
@@ -105194,10 +105746,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-debug-stub";
-       version = "0.2.0.0";
-       sha256 = "1zi388jwdad9qlj1v0ihrv67abknbhh7scr1fymc808xmkkwk701";
-       revision = "1";
-       editedCabalFile = "0irnhf32ghxch8r0p2vd7afj3282a1r9lval2an2mj99kcllhl6d";
+       version = "0.2.1.0";
+       sha256 = "1wjmlm9m6iwpn7bz3bjww7vlbp5jac5a8adzzfcxsgw4dz47n221";
        libraryHaskellDepends = [
          base directory filepath ghc-debug-convention ghc-prim
        ];
@@ -105304,25 +105854,6 @@ self: {
      }:
      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;
-     }) {};
-
-  "ghc-events_0_17_0_3" = callPackage
-    ({ mkDerivation, array, base, binary, bytestring, containers, text
-     , vector
-     }:
-     mkDerivation {
-       pname = "ghc-events";
        version = "0.17.0.3";
        sha256 = "0m50x2ycv43d7yzwksbs1zc11wlyiszjz662fj47v9r7hacx335v";
        isLibrary = true;
@@ -105334,7 +105865,6 @@ self: {
        testHaskellDepends = [ base ];
        description = "Library and tool for parsing .eventlog files from GHC";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-events-analyze" = callPackage
@@ -105412,21 +105942,6 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "ghc-exactprint_1_4_1" = callPackage
-    ({ mkDerivation }:
-     mkDerivation {
-       pname = "ghc-exactprint";
-       version = "1.4.1";
-       sha256 = "0q9z43753arxbcs6mz26kz4dsz0c2i5hkxa125gl36vsipxfrq92";
-       revision = "1";
-       editedCabalFile = "00wvn8j7439r5pp9wjqasv710amrsf34qpa3czxja2khg9jdnngj";
-       isLibrary = true;
-       isExecutable = true;
-       description = "ExactPrint for GHC";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "ghc-exactprint_1_5_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -105442,6 +105957,18 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ghc-gc-hook" = callPackage
+    ({ mkDerivation, base, clock }:
+     mkDerivation {
+       pname = "ghc-gc-hook";
+       version = "0.2.0.0";
+       sha256 = "0k7w7imrlg2gdcibkm6b02phk163xv4lnsab316jcfdid53zi7j2";
+       libraryHaskellDepends = [ base clock ];
+       testHaskellDepends = [ base clock ];
+       description = "GHC garbage collection hook";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "ghc-gc-tune" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -105468,12 +105995,12 @@ self: {
        broken = true;
      }) {};
 
-  "ghc-heap_9_2_1" = callPackage
+  "ghc-heap_9_2_2" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, rts }:
      mkDerivation {
        pname = "ghc-heap";
-       version = "9.2.1";
-       sha256 = "10d7p12p9v5z426rxx1cyhk90hx6ab6l98bk1v4a9gk551fcqsv9";
+       version = "9.2.2";
+       sha256 = "09m2kv4b3hbi5h3lm1vxfh5hwjjwzfnw22qd35ld6xq0mffz6a3f";
        libraryHaskellDepends = [ base containers ghc-prim rts ];
        description = "Functions for walking GHC's heap";
        license = lib.licenses.bsd3;
@@ -106716,15 +107243,16 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, array, async, base
      , 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
+     , dependent-sum, Diff, directory, dlist, enummapset, 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
@@ -106735,15 +107263,17 @@ self: {
      }:
      mkDerivation {
        pname = "ghcide";
-       version = "1.6.0.1";
-       sha256 = "14k1x54kk27yaaw8n0iq1kq1hl4j417bgbvdiy0a6zg6h7rdnwzw";
+       version = "1.7.0.0";
+       sha256 = "097vpp1gds36ijldz29bsk71pxc82l966ka578cxsrcdc3g3ll1b";
+       revision = "1";
+       editedCabalFile = "0xvszq1jad6126vg73qys8z9jys7b1gs75fsaa4kq5dnrfg8hpx3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array async base 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
+         deepseq dependent-map dependent-sum Diff directory dlist enummapset
+         exceptions extra filepath fingertree focus 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
@@ -106763,13 +107293,14 @@ 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 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
+         directory extra filepath fuzzy ghc ghc-typelits-knownnat
+         haddock-library hls-graph hls-plugin-api lens list-t lsp lsp-test
+         lsp-types monoid-subclasses network-uri optparse-applicative
+         parallel 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 vector
        ];
        testToolDepends = [ implicit-hie ];
        benchmarkHaskellDepends = [
@@ -108788,8 +109319,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "10.20220322";
-       sha256 = "107v1c2lw53k25p6snbmxyia3ghd63kj3izvd81d8km9qncv96bv";
+       version = "10.20220504";
+       sha256 = "10pp58b7glwi1yckrij49d1iq99pc4dpkkbkb1qqiif9dr9672f3";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-fnetworkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -109157,8 +109688,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-repair";
-       version = "1.20210629";
-       sha256 = "01k3xwd45ybmfw400zrvfnsnwj1v9xd4hg8iys8h8yk0b2mf2nbj";
+       version = "1.20220404";
+       sha256 = "1rf0x9biyvmf808p5sq1ym3zdzgz003ravwpzpbnlr55wksxp1fc";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [
@@ -109337,6 +109868,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "github_0_28" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base16-bytestring
+     , binary, binary-instances, bytestring, containers, cryptohash-sha1
+     , deepseq, deepseq-generics, exceptions, file-embed, hashable
+     , hspec, hspec-discover, http-client, http-client-tls
+     , http-link-header, http-types, iso8601-time, mtl, network-uri
+     , tagged, text, time-compat, tls, transformers, transformers-compat
+     , unordered-containers, vector, vector-instances
+     }:
+     mkDerivation {
+       pname = "github";
+       version = "0.28";
+       sha256 = "142l0zff852606hkpvkhvagp6h3ziq2z2x7x2pa77q5ymyq48089";
+       libraryHaskellDepends = [
+         aeson base base-compat base16-bytestring binary binary-instances
+         bytestring containers cryptohash-sha1 deepseq deepseq-generics
+         exceptions hashable http-client http-client-tls http-link-header
+         http-types iso8601-time mtl network-uri tagged text time-compat tls
+         transformers transformers-compat unordered-containers vector
+         vector-instances
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring file-embed hspec tagged text
+         unordered-containers vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Access to the GitHub API, v3";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "github-backup" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , exceptions, filepath, git, github, hslogger, IfElse, mtl, network
@@ -114082,8 +114644,8 @@ self: {
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.5.0";
-       sha256 = "09hj57r77r9mx2dy830n9qv3ap2nsg8a94gmpzf69zddqvk1fhm8";
+       version = "0.6.5.1";
+       sha256 = "06sasqagh4xa6gkhgjxf7jpvwfp9q27r0qnpr7rq0dxwsbrpqgnp";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson monad-logger mtl
@@ -114654,13 +115216,13 @@ self: {
     ({ mkDerivation, attoparsec, base, Cabal, cabal-doctest, checkers
      , containers, criterion, deepseq, doctest, input-parsers
      , markdown-unlit, monoid-subclasses, parsers, QuickCheck
-     , rank2classes, size-based, tasty, tasty-quickcheck, testing-feat
-     , text, transformers, witherable
+     , rank2classes, tasty, tasty-quickcheck, text, transformers
+     , witherable
      }:
      mkDerivation {
        pname = "grammatical-parsers";
-       version = "0.5.2";
-       sha256 = "1xnm5j0lznabscpswzvxjccwxb6c8js7jg3z1ddd60gffq69wpip";
+       version = "0.6";
+       sha256 = "1ck7zv110yrwz04q10j38wx6ipap88np9px6l94rxbha1m1k7nhi";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -114673,8 +115235,7 @@ self: {
        ];
        testHaskellDepends = [
          base checkers containers doctest monoid-subclasses parsers
-         QuickCheck rank2classes size-based tasty tasty-quickcheck
-         testing-feat witherable
+         QuickCheck rank2classes tasty tasty-quickcheck witherable
        ];
        testToolDepends = [ markdown-unlit ];
        benchmarkHaskellDepends = [
@@ -115447,6 +116008,22 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "graphs_0_7_2" = callPackage
+    ({ mkDerivation, array, base, containers, transformers
+     , transformers-compat, void
+     }:
+     mkDerivation {
+       pname = "graphs";
+       version = "0.7.2";
+       sha256 = "1isdy8qx3q00pb3jinvvmfvzhwblr3yhj4dzmlv0hdj0yi9j8bly";
+       libraryHaskellDepends = [
+         array base containers transformers transformers-compat void
+       ];
+       description = "A simple monadic graph library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "graphted" = callPackage
     ({ mkDerivation, base, indexed }:
      mkDerivation {
@@ -118492,6 +119069,37 @@ self: {
        broken = true;
      }) {};
 
+  "hackage-cli" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , deepseq, directory, filepath, http-io-streams, io-streams
+     , microlens, microlens-mtl, microlens-th, mtl, netrc
+     , optparse-applicative, pretty, process-extras, semigroups
+     , stringsearch, tagsoup, tar, tasty, tasty-golden, text, time
+     , unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-cli";
+       version = "0.0.3.6";
+       sha256 = "1wnh3571mgwyl9c5bfkwvr4rvsnw41qb9mlz1nda1ya53qfdjl4p";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring Cabal containers mtl pretty
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring Cabal containers deepseq directory filepath
+         http-io-streams io-streams microlens microlens-mtl microlens-th mtl
+         netrc optparse-applicative process-extras semigroups stringsearch
+         tagsoup tar text time unordered-containers zlib
+       ];
+       testHaskellDepends = [
+         base bytestring Cabal filepath tasty tasty-golden
+       ];
+       doHaddock = false;
+       description = "CLI tool for Hackage";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "hackage-db" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
      , directory, exceptions, filepath, tar, time, utf8-string
@@ -119330,14 +119938,15 @@ self: {
     ({ mkDerivation, base, containers, deepseq, fgl, hashable, HUnit
      , monad-primitive, primitive, QuickCheck, ref-tf, test-framework
      , test-framework-hunit, test-framework-quickcheck2, vector
+     , vector-th-unbox
      }:
      mkDerivation {
        pname = "haggle";
-       version = "0.1.0.1";
-       sha256 = "1j598hcjw0p9iac4h91w47k4rh9k0h2r9gk3rrfkklvw84aznkrz";
+       version = "0.2";
+       sha256 = "1n7rg63bz283d938vr2w7ghza2qmljw04bg1wr4zhpylw6jjy2b7";
        libraryHaskellDepends = [
          base containers deepseq hashable monad-primitive primitive ref-tf
-         vector
+         vector vector-th-unbox
        ];
        testHaskellDepends = [
          base containers fgl HUnit QuickCheck test-framework
@@ -121137,8 +121746,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.6.0";
-       sha256 = "0sqldnhfp631vb3v69zm856zax89mgykvj4f9siisqn41qz097zx";
+       version = "2.6.1";
+       sha256 = "1kyh4l3c4xf6ykjmjvza44d0mf69wpwgi7v88g7lh3ag26m455w3";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -121311,8 +121920,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-foundation";
-       version = "0.5.9.1";
-       sha256 = "05fcvwa25x993ba8h034877di4y1m3yp5f5fvx4jxdybpf868jnn";
+       version = "0.5.9.3";
+       sha256 = "1qm6kk5p5j7gvr6ckjibls5pid3qqihv9csd50q5yb1vzdqv1pii";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state base happstack-hsp happstack-server hsp lifted-base
@@ -121385,8 +121994,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-hsp";
-       version = "7.3.7.5";
-       sha256 = "1krjas0id8an3ry83xrgxl9cb18n17r394ivz05c45mwan6sbpqf";
+       version = "7.3.7.6";
+       sha256 = "1y23yzppvxjhmvaq9yl02v8mp6ww91jpsvqfhpzxkw1jccz54bcq";
        libraryHaskellDepends = [
          base bytestring happstack-server harp hsp hsx2hs mtl syb text
          utf8-string
@@ -121439,8 +122048,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-jmacro";
-       version = "7.0.12.3";
-       sha256 = "1phhy9sq7hiz3c50k5wyclrsjqacw8mcdyg80h3xi43zgjmff23w";
+       version = "7.0.12.4";
+       sha256 = "1zqfivzwq6wfwfgds5icy5rs5vrxiw9w1wzxn5jlqn7zkz3svbl9";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cereal digest happstack-server
          jmacro text utf8-string wl-pprint-text
@@ -121454,8 +122063,8 @@ self: {
     ({ mkDerivation, base, bytestring, happstack-server, mtl, text }:
      mkDerivation {
        pname = "happstack-lite";
-       version = "7.3.7";
-       sha256 = "12vyyjl0n9dqp8mh5279930rnbwaxxlzw34651sa7h9gir9hv1zv";
+       version = "7.3.8";
+       sha256 = "0bvcgacsngpj92ldb2fd7yj67im0bn4jnd5a1ldpbk43w85f91pk";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl text
        ];
@@ -121533,8 +122142,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server-tls";
-       version = "7.2.1.1";
-       sha256 = "0bply7dxz2046h0v0ydkicjvl491k0llapf2shxjqnskjjr5rqnk";
+       version = "7.2.1.2";
+       sha256 = "1qij3hx3y54s3vvcs7z656144cbp94aigy84ywfyp8238f4p5yq5";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions happstack-server hslogger
          HsOpenSSL network sendfile time unix
@@ -121653,6 +122262,8 @@ self: {
        pname = "happy";
        version = "1.19.12";
        sha256 = "03xlmq6qmdx4zvzw8bp33kd9g7yvcq5cz4wg50xilw812kj276pv";
+       revision = "1";
+       editedCabalFile = "13wydw1mmdry4l9r63vxjk4h55ci9hgwzn1a842qqk1m2rb4xiln";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -121669,6 +122280,8 @@ self: {
        pname = "happy";
        version = "1.20.0";
        sha256 = "1346r2x5ravs5fqma65bzjragqbb2g6v41wz9maknwm2jf7kl79v";
+       revision = "1";
+       editedCabalFile = "16dy1cv942rizxp8slnnbwi5l24ggsmy38madbin9scz38idqisx";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -123742,51 +124355,52 @@ self: {
      , cryptohash-sha1, data-default, deepseq, directory, extra
      , filepath, ghc, ghc-boot-th, ghc-paths, ghcide, githash, gitrev
      , hashable, hie-bios, hiedb, hls-alternate-number-format-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-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, stm, temporary, text, transformers
-     , unordered-containers
+     , hls-call-hierarchy-plugin, hls-change-type-signature-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-rename-plugin, hls-retrie-plugin
+     , hls-selection-range-plugin, hls-splice-plugin, hls-test-utils
+     , hspec-expectations, lens, lens-aeson, lsp, lsp-test, lsp-types
+     , mtl, optparse-applicative, optparse-simple, prettyprinter
+     , process, regex-tdfa, safe-exceptions, sqlite-simple, stm
+     , temporary, text, transformers, unix, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "1.6.1.1";
-       sha256 = "03z650zk7ma0gsmb7mirzarwg0535kwmwyf0h8a89s8bqfcd5mxf";
+       version = "1.7.0.0";
+       sha256 = "1p5dr5j7vl86a4ig6y6cxf7rk8lswxsdxq9029sydghnyl3kaf3f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson-pretty async base base16-bytestring bytestring containers
          cryptohash-sha1 data-default directory extra filepath ghc ghcide
-         githash hie-bios hiedb hls-graph hls-plugin-api hslogger lsp
-         optparse-applicative optparse-simple process safe-exceptions
-         sqlite-simple text unordered-containers
+         githash hie-bios hiedb hls-graph hls-plugin-api lsp
+         optparse-applicative optparse-simple prettyprinter process
+         safe-exceptions sqlite-simple text unordered-containers
        ];
        executableHaskellDepends = [
          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-alternate-number-format-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
-         hslogger lens lsp mtl optparse-applicative optparse-simple process
+         hls-change-type-signature-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-rename-plugin hls-retrie-plugin
+         hls-selection-range-plugin hls-splice-plugin lens lsp mtl
+         optparse-applicative optparse-simple prettyprinter process
          regex-tdfa safe-exceptions sqlite-simple stm temporary text
-         transformers unordered-containers
+         transformers unix unordered-containers
        ];
        testHaskellDepends = [
          aeson base bytestring containers data-default directory extra
          filepath ghcide hls-plugin-api hls-test-utils hspec-expectations
-         lens lens-aeson lsp-test lsp-types process text
+         lens lens-aeson lsp-test lsp-types prettyprinter process text
          unordered-containers
        ];
        testToolDepends = [ ghcide ];
@@ -127414,8 +128028,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-th";
-       version = "0.4.0.11";
-       sha256 = "1dkx0r874qzn2kb8wimr1n75vmx70jx5ddi8088dlw5cxhj2v950";
+       version = "0.4.0.14";
+       sha256 = "0zskfsvxzilz6j3cd09hl6ixn3j9daksqjcb73pfm1f9hhrasa2a";
        libraryHaskellDepends = [
          base bytestring containers contravariant foldl hasql
          postgresql-syntax template-haskell template-haskell-compat-v0208
@@ -127425,25 +128039,6 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hasql-th_0_4_0_12" = callPackage
-    ({ mkDerivation, base, bytestring, containers, contravariant, foldl
-     , hasql, postgresql-syntax, template-haskell
-     , template-haskell-compat-v0208, text, uuid, vector
-     }:
-     mkDerivation {
-       pname = "hasql-th";
-       version = "0.4.0.12";
-       sha256 = "0fcfm2d66f7hzzc9s73dd9dxcjsrr33c1q0v04j3zqm159kk69jd";
-       libraryHaskellDepends = [
-         base bytestring containers contravariant foldl hasql
-         postgresql-syntax template-haskell template-haskell-compat-v0208
-         text uuid vector
-       ];
-       description = "Template Haskell utilities for Hasql";
-       license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
   "hasql-transaction" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rerebase
@@ -127484,8 +128079,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-url";
-       version = "0.1.0.0";
-       sha256 = "12zsw4jag27g0bgxm9sp45bs2i7p5h42zs5avj01zlddpyhla0wx";
+       version = "0.2.0.0";
+       sha256 = "1f8vc7s031f33rkbzlmqac3h1g6aynj9z03x4lx19526q2d2r7ns";
        libraryHaskellDepends = [
          base bytestring hasql network-uri split
        ];
@@ -130362,26 +130957,27 @@ self: {
      }) {};
 
   "helic" = callPackage
-    ({ mkDerivation, aeson, base, chronos, containers, exon, gi-gdk
-     , gi-glib, gi-gtk, hostname, http-client, http-client-tls, incipit
-     , optparse-applicative, path, path-io, polysemy, polysemy-chronos
-     , polysemy-conc, polysemy-http, polysemy-log, polysemy-plugin
-     , polysemy-process, polysemy-test, polysemy-time, servant
-     , servant-client, servant-client-core, servant-server, table-layout
-     , tasty, template-haskell, terminal-size, torsor, transformers
-     , typed-process, unix, wai-extra, warp, yaml
+    ({ mkDerivation, aeson, base, chronos, containers, exon
+     , fast-logger, gi-gdk, gi-glib, gi-gtk, hostname, http-client
+     , http-client-tls, incipit, optparse-applicative, path, path-io
+     , polysemy, polysemy-chronos, polysemy-conc, polysemy-http
+     , polysemy-log, polysemy-plugin, polysemy-process, polysemy-test
+     , polysemy-time, servant, servant-client, servant-client-core
+     , servant-server, table-layout, tasty, template-haskell
+     , terminal-size, torsor, transformers, typed-process, unix
+     , wai-extra, warp, yaml
      }:
      mkDerivation {
        pname = "helic";
-       version = "0.5.1.0";
-       sha256 = "1gglcac10abszarmrgggrirf51jj0qcbp7gdqh93kghx1pqv4ldg";
+       version = "0.5.2.0";
+       sha256 = "0yklds711iya00fmp9l1kdyipdm8mrfssabqf8g7f55p1nnmn91g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base chronos exon gi-gdk gi-glib gi-gtk hostname http-client
-         http-client-tls incipit optparse-applicative path path-io polysemy
-         polysemy-chronos polysemy-conc polysemy-http polysemy-log
-         polysemy-plugin polysemy-process polysemy-time servant
+         aeson base chronos exon fast-logger gi-gdk gi-glib gi-gtk hostname
+         http-client http-client-tls incipit optparse-applicative path
+         path-io polysemy polysemy-chronos polysemy-conc polysemy-http
+         polysemy-log polysemy-plugin polysemy-process polysemy-time servant
          servant-client servant-client-core servant-server table-layout
          template-haskell terminal-size transformers typed-process unix
          wai-extra warp yaml
@@ -132861,6 +133457,26 @@ self: {
        ];
      }) {inherit (pkgs) systemd;};
 
+  "hidapi_0_1_8" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, deepseq-generics
+     , systemd
+     }:
+     mkDerivation {
+       pname = "hidapi";
+       version = "0.1.8";
+       sha256 = "00f4i25zpwrdr2dmrmfx1wvjbjchp7wx911wkw4pkhngdpxdij9r";
+       libraryHaskellDepends = [
+         base bytestring deepseq deepseq-generics
+       ];
+       librarySystemDepends = [ systemd ];
+       description = "Haskell bindings to HIDAPI";
+       license = lib.licenses.mit;
+       platforms = [
+         "aarch64-linux" "armv7l-linux" "i686-linux" "x86_64-linux"
+       ];
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) systemd;};
+
   "hidden-char" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
@@ -132972,6 +133588,8 @@ self: {
        pname = "hiedb";
        version = "0.4.1.0";
        sha256 = "1389qmlga5rq8has02rn35pzag5wnfpx3w77r60mzl3b4pkpzi7i";
+       revision = "1";
+       editedCabalFile = "1ayy7xjbwfbdln1bqk9lpv2afc8kbzxyz9858gfafdd08kx0xmw1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133167,8 +133785,8 @@ self: {
      }:
      mkDerivation {
        pname = "higgledy";
-       version = "0.4.1.1";
-       sha256 = "1aqln8y055ysnzw3sqfdi6rm63a4a8c3n3f4fgv1rqmx76vsvsaz";
+       version = "0.4.2.0";
+       sha256 = "01hl63wq6rb2wgml850wawq07sn9vl8d2hv1jc3m366dxdqqhy8j";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          barbies base generic-lens generic-lens-core named QuickCheck
@@ -135287,6 +135905,33 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
+  "hlint_3_4" = 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
+     , hscolour, process, refact, text, transformers, uniplate
+     , unordered-containers, utf8-string, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hlint";
+       version = "3.4";
+       sha256 = "15cfvch0yrzkl7qr87966amdsy05a7axvjc6wmw99ys9d5fn3z3n";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring cmdargs containers cpphs
+         data-default directory extra file-embed filepath filepattern
+         ghc-lib-parser ghc-lib-parser-ex hscolour process refact text
+         transformers uniplate unordered-containers utf8-string vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Source code suggestions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ maralorn ];
+     }) {};
+
   "hlint-test" = callPackage
     ({ mkDerivation, base, hlint }:
      mkDerivation {
@@ -135375,8 +136020,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.2.0";
        sha256 = "1k4dsd4h3fv1ag753gwxvirfrj53ra4ik948pyacq31c16mz1l2p";
-       revision = "2";
-       editedCabalFile = "15z6f2qqis3qi1cfq43hhcqgcsinx58ha3bghh0pfybqysvbjmmd";
+       revision = "3";
+       editedCabalFile = "1r8dmsfbsm4lhak2hskid03bad2fvnb71v779grzf5hy6y46jc42";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers zstd
@@ -135394,6 +136039,8 @@ self: {
        pname = "hlrdb-core";
        version = "0.1.6.2";
        sha256 = "19pnwjlcg504kpvxq8r1hwb533adi2d919vgb1lr25c9bdyxc32n";
+       revision = "1";
+       editedCabalFile = "0d6bwxk390f00qsmhn71sssw47f53j2wgrwwarhs8vvz6kyvncmp";
        libraryHaskellDepends = [
          base bytestring hashable hedis lens mtl profunctors random time
          unordered-containers
@@ -135425,8 +136072,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-alternate-number-format-plugin";
-       version = "1.0.1.0";
-       sha256 = "1xr4rizv1k6dx32mnny55s33cngmvy0a52sswpk17fl4zx3bd0pp";
+       version = "1.1.0.0";
+       sha256 = "1s81p2jnln8v8ny13cf26d9925lfcyhs5di5xbh3p9645ngdiy9h";
        libraryHaskellDepends = [
          aeson base containers ghc-boot-th ghcide hie-compat hls-graph
          hls-plugin-api lens lsp mtl regex-tdfa syb text
@@ -135447,8 +136094,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-brittany-plugin";
-       version = "1.0.2.0";
-       sha256 = "0vxlhggmbrfmf81qgpxmrpsflmi32hafhy21dxain1as5hrnxw8g";
+       version = "1.0.2.1";
+       sha256 = "0f86iymcinbad9cpghi7965xhv4ky6kq4jqsn7nndq2jklwgrw7i";
        libraryHaskellDepends = [
          base brittany czipwith extra filepath ghc-boot-th ghc-exactprint
          ghcide hls-plugin-api lens lsp-types text transformers
@@ -135465,8 +136112,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-call-hierarchy-plugin";
-       version = "1.0.2.0";
-       sha256 = "0772kxdp6ww91a1b0c8lfxjlpvwr8smcf8ayvaxazw76hisxrrj5";
+       version = "1.0.3.0";
+       sha256 = "0yfl75d2ddkzrz3p1pn8spra0qssqazsqklan46zmagrv69yg5iv";
        libraryHaskellDepends = [
          aeson base bytestring containers extra ghc ghcide hiedb
          hls-plugin-api lens lsp sqlite-simple text unordered-containers
@@ -135479,6 +136126,28 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hls-change-type-signature-plugin" = callPackage
+    ({ mkDerivation, base, filepath, ghcide, hls-plugin-api
+     , hls-test-utils, lsp, lsp-types, QuickCheck, regex-tdfa, syb, text
+     , transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hls-change-type-signature-plugin";
+       version = "1.0.1.0";
+       sha256 = "0wl4vgml491gkvzmsfj3nlwx18ywvrdwgwdkqjp0rwid0pidd6z8";
+       revision = "1";
+       editedCabalFile = "0kz9zrjrpy5c84mj45spf75sklyhlvfdl5v526bpaiaphihzbr80";
+       libraryHaskellDepends = [
+         base ghcide hls-plugin-api lsp-types regex-tdfa syb text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         base filepath hls-test-utils lsp QuickCheck regex-tdfa text
+       ];
+       description = "Change a declarations type signature with a Code Action";
+       license = lib.licenses.asl20;
+     }) {};
+
   "hls-class-plugin" = callPackage
     ({ mkDerivation, aeson, base, containers, filepath, ghc
      , ghc-exactprint, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
@@ -135486,10 +136155,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-class-plugin";
-       version = "1.0.2.0";
-       sha256 = "0drpxrazhwd228skgky7xdzcf22gi1pi2lby0dj0nzpzhrdl0pw0";
-       revision = "1";
-       editedCabalFile = "18x8k0gwpxv0vs4d8rbl5p0pjf75apb142i0p8vssbpvjwiwx33i";
+       version = "1.0.3.0";
+       sha256 = "0ad7ypw7d8waz3nq9p6m8l91rcibd2fzxxmdrpncwshiyrhazq3l";
        libraryHaskellDepends = [
          aeson base containers ghc ghc-exactprint ghcide hls-plugin-api lens
          lsp text transformers
@@ -135507,23 +136174,22 @@ self: {
      , ghc-paths, ghcide, hashable, hls-graph, hls-plugin-api
      , hls-test-utils, lens, lsp, lsp-types, megaparsec, mtl
      , parser-combinators, pretty-simple, QuickCheck, safe-exceptions
-     , temporary, text, time, transformers, unliftio
-     , unordered-containers
+     , text, time, transformers, unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "hls-eval-plugin";
-       version = "1.2.1.0";
-       sha256 = "18xjq664b8aj199gd1sswa7gndwikch77v3p1c36yshfa0rviwi8";
+       version = "1.2.2.0";
+       sha256 = "17si94yzxz19hcddn57wf0npxc9m9vzb08b2gph7pkbxprsksb6g";
        libraryHaskellDepends = [
          aeson base containers data-default deepseq Diff directory dlist
          extra filepath ghc ghc-boot-th ghc-paths ghcide hashable hls-graph
          hls-plugin-api lens lsp lsp-types megaparsec mtl parser-combinators
-         pretty-simple QuickCheck safe-exceptions temporary text time
-         transformers unliftio unordered-containers
+         pretty-simple QuickCheck safe-exceptions text time transformers
+         unliftio unordered-containers
        ];
        testHaskellDepends = [
-         aeson base directory extra filepath hls-test-utils lens lsp-types
-         text
+         aeson base containers directory extra filepath hls-plugin-api
+         hls-test-utils lens lsp-types text
        ];
        description = "Eval plugin for Haskell Language Server";
        license = lib.licenses.asl20;
@@ -135555,8 +136221,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-explicit-imports-plugin";
-       version = "1.0.2.0";
-       sha256 = "04v6sgzsjqk4qj586qzvfvq405z0zpc08xljxb12glmqghvi5xjg";
+       version = "1.1.0.0";
+       sha256 = "1r5cy59xk35d6smnrka42hxfa012h45nvsmlr1a1kbyac8ywzf6m";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide hls-graph hls-plugin-api
          lsp text unordered-containers
@@ -135572,8 +136238,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-floskell-plugin";
-       version = "1.0.1.0";
-       sha256 = "1slzv2c5lzxprh8yhfk8iabmmlhh3sx97m393nrnwrjcbpzq0vai";
+       version = "1.0.1.1";
+       sha256 = "01c8xwfdgx5g5ipb366q0smjisyq1dfjz7scjfg5p3lyn0v555wb";
        libraryHaskellDepends = [
          base floskell ghcide hls-plugin-api lsp-types text transformers
        ];
@@ -135583,18 +136249,23 @@ self: {
      }) {};
 
   "hls-fourmolu-plugin" = callPackage
-    ({ mkDerivation, base, filepath, fourmolu, ghc, ghc-boot-th, ghcide
-     , hls-plugin-api, hls-test-utils, lens, lsp, lsp-test, text
+    ({ mkDerivation, aeson, base, containers, filepath, fourmolu, ghc
+     , ghc-boot-th, ghcide, hls-plugin-api, hls-test-utils, lens, lsp
+     , lsp-test, process-extras, text
      }:
      mkDerivation {
        pname = "hls-fourmolu-plugin";
-       version = "1.0.2.0";
-       sha256 = "0n9yk539wc046i6sx68gsbrc4jfmp1nsm2nir00q4sdcf7flcvff";
+       version = "1.0.3.0";
+       sha256 = "103rndxbmv72ghbh685766498j9rqnmgdwsrswk5nrf7afwd9x8w";
        libraryHaskellDepends = [
          base filepath fourmolu ghc ghc-boot-th ghcide hls-plugin-api lens
-         lsp text
+         lsp process-extras text
        ];
-       testHaskellDepends = [ base filepath hls-test-utils lsp-test ];
+       testHaskellDepends = [
+         aeson base containers filepath hls-plugin-api hls-test-utils
+         lsp-test
+       ];
+       testToolDepends = [ fourmolu ];
        description = "Integration with the Fourmolu code formatter";
        license = lib.licenses.asl20;
      }) {};
@@ -135602,19 +136273,25 @@ self: {
   "hls-graph" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , deepseq, directory, exceptions, extra, filepath, focus, hashable
-     , js-dgtable, js-flot, js-jquery, list-t, primitive, stm
-     , stm-containers, time, transformers, unordered-containers
+     , hspec, hspec-discover, js-dgtable, js-flot, js-jquery, list-t
+     , primitive, stm, stm-containers, tasty, tasty-hspec, tasty-hunit
+     , tasty-rerun, text, time, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-graph";
-       version = "1.6.0.0";
-       sha256 = "0raz4gkfhxzbmg5rf65yp5p0i3mpd0rlraz90gwbvf5l1z9jlqml";
+       version = "1.7.0.0";
+       sha256 = "1mq1pvn5z8fnlsj9iqck05shm8fak9zf05mbcbrxb5jvq0a31ypd";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson async base bytestring containers deepseq directory exceptions
          extra filepath focus hashable js-dgtable js-flot js-jquery list-t
          primitive stm stm-containers time transformers unordered-containers
        ];
+       testHaskellDepends = [
+         base containers directory extra filepath hspec stm stm-containers
+         tasty tasty-hspec tasty-hunit tasty-rerun text
+       ];
+       testToolDepends = [ hspec-discover ];
        description = "Haskell Language Server internal graph API";
        license = lib.licenses.asl20;
      }) {};
@@ -135628,6 +136305,8 @@ self: {
        pname = "hls-haddock-comments-plugin";
        version = "1.0.1.0";
        sha256 = "1jlz6vg5ff2j2vba4yg8nymxfs7vmg5h3kzjhsj6bs2jn8kh722r";
+       revision = "2";
+       editedCabalFile = "0dq2in2cn0wdhn6m8zd10g3hmc23rnl40jss19fvifn0k8lcsqpb";
        libraryHaskellDepends = [
          base containers ghc ghc-exactprint ghcide hls-plugin-api lsp-types
          text unordered-containers
@@ -135642,18 +136321,18 @@ self: {
      , containers, data-default, deepseq, Diff, directory, extra
      , filepath, ghc, ghc-exactprint, ghc-lib-parser-ex, ghcide
      , hashable, hlint, hls-plugin-api, hls-test-utils, hslogger, lens
-     , lsp, lsp-types, regex-tdfa, stm, temporary, text, transformers
-     , unordered-containers
+     , lsp, lsp-types, refact, regex-tdfa, stm, temporary, text
+     , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "hls-hlint-plugin";
-       version = "1.0.3.0";
-       sha256 = "0vzgsh6x8bjgi3l6nc9kfgbczxnd7fws5bmglac5khr0z042babb";
+       version = "1.0.4.0";
+       sha256 = "089pa1fg4ygc39a70g6x1ma1fci6jrkypg7hsmq4gf3h2rwiyvwy";
        libraryHaskellDepends = [
          aeson apply-refact base binary bytestring containers data-default
          deepseq Diff directory extra filepath ghc ghc-exactprint
          ghc-lib-parser-ex ghcide hashable hlint hls-plugin-api hslogger
-         lens lsp regex-tdfa stm temporary text transformers
+         lens lsp refact regex-tdfa stm temporary text transformers
          unordered-containers
        ];
        testHaskellDepends = [
@@ -135671,8 +136350,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-module-name-plugin";
-       version = "1.0.1.0";
-       sha256 = "108p9j01d2s14akbwgwmpwb2a5r5d14vqzy6lw8n5cymgfdlza4a";
+       version = "1.0.2.0";
+       sha256 = "09548l8vmfq2y83agsr12w0x82drhmwa4bxpwby0mf466f4hj8da";
        libraryHaskellDepends = [
          aeson base directory filepath ghcide hls-plugin-api lsp text
          transformers unordered-containers
@@ -135689,8 +136368,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-ormolu-plugin";
-       version = "1.0.2.0";
-       sha256 = "1jbh16z4yzl3lx9q7pcrkfrmip6rifif3rirfn7dvyj1q7cf1fk4";
+       version = "1.0.2.1";
+       sha256 = "1if4gahvdayx1ar4wxi4mk074zxpx6wzkwdd64fnri4k5xb15sa7";
        libraryHaskellDepends = [
          base filepath ghc ghc-boot-th ghcide hls-plugin-api lens lsp ormolu
          text
@@ -135703,18 +136382,17 @@ self: {
   "hls-plugin-api" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default
      , 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
+     , hls-graph, 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.3.0.0";
-       sha256 = "0dkpamqgw2icx6zns79cpzsnsr33qg0i3ix66hvcl5fhhp363g9m";
+       version = "1.4.0.0";
+       sha256 = "0yk2y6qw88vhww8z10d2kgn57wsarfnp6z1gmjl1ik2w96a8g3mv";
        libraryHaskellDepends = [
          aeson base containers data-default dependent-map dependent-sum Diff
-         dlist extra ghc hashable hls-graph hslogger lens lens-aeson lsp
+         dlist extra ghc hashable hls-graph lens lens-aeson lsp
          opentelemetry optparse-applicative process regex-tdfa text
          transformers unix unordered-containers
        ];
@@ -135732,8 +136410,10 @@ self: {
      }:
      mkDerivation {
        pname = "hls-pragmas-plugin";
-       version = "1.0.2.0";
-       sha256 = "0bmifvjhcvwhivnx6s971nidjdb2ichphp70pahx72ai24ffqqx9";
+       version = "1.0.2.1";
+       sha256 = "11l79214wz21v7plqf2wb6ac8bgw74fhql1p5cvkv8gr80hpb4jk";
+       revision = "1";
+       editedCabalFile = "0xg7jv31yh6mm4awg759wh792jfca48za133bfs2g2877vf2llzj";
        libraryHaskellDepends = [
          base containers extra fuzzy ghc ghcide hls-plugin-api lens lsp text
          transformers unordered-containers
@@ -135754,6 +136434,8 @@ self: {
        pname = "hls-qualify-imported-names-plugin";
        version = "1.0.1.0";
        sha256 = "0h456cq3qvksrkzfzpq2qsabsl3vpg4gh2mwyxc39xh4qm7ifban";
+       revision = "1";
+       editedCabalFile = "0pb9fgpbv24726n250rkb33gx3f3xcaxmv1qqh12q4sz181qn4mb";
        libraryHaskellDepends = [
          aeson base containers deepseq dlist ghc ghcide hls-graph
          hls-plugin-api lsp text transformers unordered-containers
@@ -135770,8 +136452,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-refine-imports-plugin";
-       version = "1.0.1.0";
-       sha256 = "10q5yjpny5aah245ivazqn2h05ak428qc9arpzlg5ks2n4n293lf";
+       version = "1.0.2.0";
+       sha256 = "01hgz66dm6rpk7fp6b2byzvnaan3snvimkicl67c6qxla9dpxcjn";
        libraryHaskellDepends = [
          aeson base containers deepseq ghc ghcide
          hls-explicit-imports-plugin hls-graph hls-plugin-api lsp text
@@ -135783,19 +136465,23 @@ self: {
      }) {};
 
   "hls-rename-plugin" = callPackage
-    ({ mkDerivation, base, containers, extra, filepath, ghc
-     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-test-utils
-     , lsp, lsp-types, syb, text, transformers
+    ({ mkDerivation, aeson, base, containers, extra, filepath, ghc
+     , ghc-exactprint, ghcide, hashable, hiedb, hls-plugin-api
+     , hls-test-utils, lsp, lsp-types, mod, syb, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "hls-rename-plugin";
-       version = "1.0.0.1";
-       sha256 = "04l2w3x60ayxa9a6cdmscrfvyx9fsnbl4q05m8f0s1s18zlgjf86";
+       version = "1.0.0.2";
+       sha256 = "1cqcyyh4ywxwl2wppdacp2y6hpbl5534vq8xw2ih489qczcg6s78";
        libraryHaskellDepends = [
-         base containers extra ghc ghc-exactprint ghcide hiedb
-         hls-plugin-api lsp lsp-types syb text transformers
+         base containers extra ghc ghc-exactprint ghcide hashable hiedb
+         hls-plugin-api lsp lsp-types mod syb text transformers
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base containers filepath hls-plugin-api hls-test-utils
        ];
-       testHaskellDepends = [ base filepath hls-test-utils ];
        description = "Rename plugin for Haskell Language Server";
        license = lib.licenses.asl20;
      }) {};
@@ -135808,8 +136494,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-retrie-plugin";
-       version = "1.0.2.0";
-       sha256 = "0w41di7rqy8xrcaavzlfhai73yw0whmnyqxhyfjwx93y1sy1l6zg";
+       version = "1.0.2.1";
+       sha256 = "1vl7kdw8sm9r5q35lnihq0r98wd2s3mm76c7wp0cwd55qdkaf7qv";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory extra ghc ghcide
          hashable hls-plugin-api lsp lsp-types retrie safe-exceptions stm
@@ -135828,6 +136514,8 @@ self: {
        pname = "hls-selection-range-plugin";
        version = "1.0.0.0";
        sha256 = "1pfgxz7nyqr8gaxxv7nc0d4rpfc4rbgdkafy1fpgcsbkqx9llkn0";
+       revision = "1";
+       editedCabalFile = "1njq2p1z9z5gy0fxgbp81q4syqw3hx1b5151g93qhhla9d0cr7nv";
        libraryHaskellDepends = [
          aeson base containers extra ghcide hls-plugin-api lsp mtl
          semigroupoids text transformers
@@ -135850,6 +136538,8 @@ self: {
        pname = "hls-splice-plugin";
        version = "1.0.1.0";
        sha256 = "07v4rgss140vfc4xqibccimm48ys4awz7yficr0wf440p6i83qdc";
+       revision = "1";
+       editedCabalFile = "15hr2vc1r4zxf4z26byax95cdqhl1733fna16lifrdj15xkwxs3r";
        libraryHaskellDepends = [
          aeson base containers dlist extra foldl ghc ghc-exactprint ghcide
          hls-plugin-api lens lsp retrie syb text transformers unliftio-core
@@ -135867,8 +136557,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-stylish-haskell-plugin";
-       version = "1.0.1.0";
-       sha256 = "1f9g113xrb167cpdjifd2zp8ps1w2apvkghdiagc9rzw1fl0l7l4";
+       version = "1.0.1.1";
+       sha256 = "1k9bv31226zgy5aqxzzj7npph2ff0r5bx692q5n26lpil2ivq6sn";
        libraryHaskellDepends = [
          base directory filepath ghc ghc-boot-th ghcide hls-plugin-api
          lsp-types stylish-haskell text
@@ -135890,8 +136580,8 @@ self: {
      }:
      mkDerivation {
        pname = "hls-tactics-plugin";
-       version = "1.6.1.0";
-       sha256 = "15ynxlafrs0hss5qcn4aj8iip8iy631hfgqql0irqskvf3x5yxlx";
+       version = "1.6.2.0";
+       sha256 = "07qh9sz3rbqflfryxaj7y8vjmv388jdsmaxvz5z0xfq895yk968p";
        libraryHaskellDepends = [
          aeson base containers deepseq directory extra filepath fingertree
          generic-lens ghc ghc-boot-th ghc-exactprint ghc-source-gen ghcide
@@ -135912,20 +136602,19 @@ self: {
   "hls-test-utils" = callPackage
     ({ mkDerivation, aeson, async, base, blaze-markup, bytestring
      , containers, data-default, directory, extra, filepath, ghcide
-     , hls-graph, hls-plugin-api, hspec, hspec-core, lens, lsp, lsp-test
-     , lsp-types, tasty, tasty-expected-failure, tasty-golden
-     , tasty-hunit, tasty-rerun, temporary, text, unordered-containers
+     , hls-graph, hls-plugin-api, lens, lsp, lsp-test, lsp-types, tasty
+     , tasty-expected-failure, tasty-golden, tasty-hunit, tasty-rerun
+     , temporary, text, unordered-containers
      }:
      mkDerivation {
        pname = "hls-test-utils";
-       version = "1.2.0.0";
-       sha256 = "1y3g101n7z78f5shfqfklg5zgl8gpkic0dwvpr5072dq1vvpfdvf";
+       version = "1.3.0.0";
+       sha256 = "1qm3lna4jy658bmbr6gpjq2gmcz03rdz535gilxycbjkxl2z3hkq";
        libraryHaskellDepends = [
          aeson async base blaze-markup bytestring containers data-default
-         directory extra filepath ghcide hls-graph hls-plugin-api hspec
-         hspec-core lens lsp lsp-test lsp-types tasty tasty-expected-failure
-         tasty-golden tasty-hunit tasty-rerun temporary text
-         unordered-containers
+         directory extra filepath ghcide hls-graph hls-plugin-api lens lsp
+         lsp-test lsp-types tasty tasty-expected-failure tasty-golden
+         tasty-hunit tasty-rerun temporary text unordered-containers
        ];
        description = "Utilities used in the tests of Haskell Language Server";
        license = lib.licenses.asl20;
@@ -138743,6 +139432,45 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "hpack_0_35_0" = callPackage
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, Cabal
+     , containers, cryptonite, deepseq, directory, filepath, Glob, hspec
+     , hspec-discover, http-client, http-client-tls, http-types, HUnit
+     , infer-license, interpolate, mockery, pretty, QuickCheck
+     , scientific, template-haskell, temporary, text, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hpack";
+       version = "0.35.0";
+       sha256 = "1cii4bdn4rm2l3yw9vsv4ygn61zmalaa282iqg9rihys90nvrgf6";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob http-client http-client-tls
+         http-types infer-license pretty scientific text transformers
+         unordered-containers vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bifunctors bytestring Cabal containers cryptonite
+         deepseq directory filepath Glob hspec http-client http-client-tls
+         http-types HUnit infer-license interpolate mockery pretty
+         QuickCheck scientific template-haskell temporary text transformers
+         unordered-containers vector yaml
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A modern format for Haskell packages";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hpack-convert" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
      , Cabal, containers, deepseq, directory, filepath, Glob, hspec
@@ -138806,7 +139534,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "hpack-dhall_0_5_5" = callPackage
+  "hpack-dhall_0_5_7" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, Cabal
      , dhall, dhall-json, Diff, directory, filepath, hpack, megaparsec
      , microlens, optparse-applicative, prettyprinter, tasty
@@ -138814,8 +139542,8 @@ self: {
      }:
      mkDerivation {
        pname = "hpack-dhall";
-       version = "0.5.5";
-       sha256 = "1256vqqncgir0ir7i0vnvr7v5jkyx5ggng8gyi4qsqs8lmqn11r3";
+       version = "0.5.7";
+       sha256 = "1hwq3painl4ix7pldkzi5a8zakh9f67kcyabfbdky8b49dc5703r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140417,8 +141145,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.3.3";
-       sha256 = "0hrlz77p5w57ax4jml5c415qb1bfh8zi357xvnb0bin7g5a00fn8";
+       version = "0.0.3.4";
+       sha256 = "0qg5kaybxax632nbj6qjrn02j1c954kpw5xv3yqsysdqqcqxw6bg";
        libraryHaskellDepends = [
          async attoparsec base binary bytestring charset clock containers
          ghc-prim hashable http-types memory mtl template-haskell text
@@ -140560,8 +141288,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-wai";
-       version = "0.0.1.2";
-       sha256 = "1yxy49cacldbic67ic35ym48zd0c1cwx1cjh6l0fxn26yvjp1i68";
+       version = "0.0.1.3";
+       sha256 = "1dczyw9w9pahrrj0q2qcnkx7kc46k7gqrrpbspdc0rc09idk33jx";
        libraryHaskellDepends = [
          base bytestring hs-opentelemetry-api http-types iproute network
          text vault wai
@@ -145507,8 +146235,8 @@ self: {
     ({ mkDerivation, base, hsp, jmacro, mtl, text, wl-pprint-text }:
      mkDerivation {
        pname = "hsx-jmacro";
-       version = "7.3.8.1";
-       sha256 = "0ndgy5vf5rwgwqya75ny5vbr7hfqwjrdgfgpwf5410bk0603v47i";
+       version = "7.3.8.2";
+       sha256 = "0zb6mjky88qn918vaqbwjszjb6zczb4kqpnw3p222z44if3xpzsq";
        libraryHaskellDepends = [
          base hsp jmacro mtl text wl-pprint-text
        ];
@@ -147251,6 +147979,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "http-reverse-proxy_0_6_0_1" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
+     , conduit, conduit-extra, containers, hspec, http-client
+     , http-conduit, http-types, network, resourcet, streaming-commons
+     , text, transformers, unliftio, wai, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "http-reverse-proxy";
+       version = "0.6.0.1";
+       sha256 = "0a0fc9rqr1crbb1sbq3gzbkwjcfff662d4bgmy3vzspk7ky697ld";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring case-insensitive conduit
+         conduit-extra containers http-client http-types network resourcet
+         streaming-commons text transformers unliftio wai wai-logger word8
+       ];
+       testHaskellDepends = [
+         base blaze-builder bytestring conduit conduit-extra hspec
+         http-conduit http-types network resourcet streaming-commons
+         transformers unliftio wai warp
+       ];
+       description = "Reverse proxy HTTP requests, either over raw sockets or with WAI";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-rfc7807" = callPackage
     ({ mkDerivation, aeson, base, call-stack, hspec-expectations-json
      , http-media, http-types, HUnit, servant, servant-server, tasty
@@ -150684,24 +151437,6 @@ self: {
      }) {};
 
   "hyperloglog" = callPackage
-    ({ mkDerivation, approximate, base, binary, bits, bytes, cereal
-     , cereal-vector, comonad, deepseq, distributive, hashable, lens
-     , reflection, semigroupoids, semigroups, siphash, tagged, vector
-     }:
-     mkDerivation {
-       pname = "hyperloglog";
-       version = "0.4.5";
-       sha256 = "0v2zw0p104gbydj6hp2cxa2s4b85pq4srcspr582aqj38bs7spfz";
-       libraryHaskellDepends = [
-         approximate base binary bits bytes cereal cereal-vector comonad
-         deepseq distributive hashable lens reflection semigroupoids
-         semigroups siphash tagged vector
-       ];
-       description = "An approximate streaming (constant space) unique object counter";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hyperloglog_0_4_6" = callPackage
     ({ mkDerivation, approximate, base, binary, bits, bytes, bytestring
      , cereal, cereal-vector, comonad, cpu, deepseq, distributive
      , hashable, lens, reflection, semigroupoids, semigroups, tagged
@@ -150718,7 +151453,6 @@ self: {
        ];
        description = "An approximate streaming (constant space) unique object counter";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hyperloglogplus" = callPackage
@@ -152813,8 +153547,8 @@ self: {
      }:
      mkDerivation {
        pname = "implicit-hie";
-       version = "0.1.2.6";
-       sha256 = "1j2q1mqxfgcb8r6388xanmp5i1sdh6w52s08nd94g5lpg93mjz2q";
+       version = "0.1.2.7";
+       sha256 = "0yb457n26455kbq6kv8g48q66pmmaxcpikmpg9gm00sd6adgq6gl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -154354,36 +155088,38 @@ self: {
      }) {};
 
   "instana-haskell-trace-sdk" = callPackage
-    ({ mkDerivation, aeson, aeson-extra, array, base, binary
-     , bytestring, case-insensitive, containers, directory, ekg-core
-     , exceptions, hslogger, http-client, http-client-tls, http-types
-     , HUnit, network, process, random, regex-base, regex-compat
-     , regex-pcre, regex-tdfa, retry, scientific, servant
+    ({ mkDerivation, aeson, aeson-casing, aeson-extra, array, base
+     , binary, bytestring, case-insensitive, containers, directory
+     , ekg-core, exceptions, hslogger, http-client, http-client-tls
+     , http-types, HUnit, network, process, random, regex-base
+     , regex-compat, regex-pcre, regex-tdfa, retry, scientific, servant
      , servant-server, stm, sysinfo, text, time, transformers, unix
      , unordered-containers, vector, wai, warp
      }:
      mkDerivation {
        pname = "instana-haskell-trace-sdk";
-       version = "0.7.1.0";
-       sha256 = "1f03d6l77vldkpnclq1k7x9aqmdf651w01d1wg14bplpszvjma3x";
+       version = "0.8.0.0";
+       sha256 = "008r4164idzd9877crmmyc8yl63ssm8pszr75h7gkz8j9kyibrsp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-extra base bytestring containers directory ekg-core
-         exceptions hslogger http-client http-client-tls http-types network
-         process random regex-base regex-compat regex-pcre regex-tdfa retry
-         scientific stm sysinfo text time unix unordered-containers wai
+         aeson aeson-casing aeson-extra base bytestring case-insensitive
+         containers directory ekg-core exceptions hslogger http-client
+         http-client-tls http-types network process random regex-base
+         regex-compat regex-pcre regex-tdfa retry scientific stm sysinfo
+         text time unix unordered-containers vector wai
        ];
        executableHaskellDepends = [
-         aeson base binary bytestring case-insensitive containers hslogger
-         http-client http-types servant servant-server text time
-         transformers unix unordered-containers wai warp
+         aeson aeson-casing base binary bytestring case-insensitive
+         containers hslogger http-client http-types servant servant-server
+         text time transformers unix unordered-containers wai warp
        ];
        testHaskellDepends = [
-         aeson aeson-extra array base bytestring case-insensitive directory
-         ekg-core exceptions hslogger http-client http-types HUnit process
-         random regex-base regex-compat regex-pcre regex-tdfa retry
-         scientific text unix unordered-containers vector wai
+         aeson aeson-casing aeson-extra array base bytestring
+         case-insensitive directory ekg-core exceptions hslogger http-client
+         http-types HUnit process random regex-base regex-compat regex-pcre
+         regex-tdfa retry scientific text unix unordered-containers vector
+         wai
        ];
        description = "SDK for adding custom Instana tracing support to Haskell applications";
        license = lib.licenses.mit;
@@ -155279,19 +156015,19 @@ self: {
   "intricacy" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , cryptonite, directory, exceptions, filepath, hscurses, memory
-     , mtl, ncurses, network-fancy, random, safe, SDL, SDL-gfx
+     , mtl, ncurses, network-simple, random, safe, SDL, SDL-gfx
      , SDL-mixer, SDL-ttf, stm, time, transformers, vector
      }:
      mkDerivation {
        pname = "intricacy";
-       version = "0.8.0.1";
-       sha256 = "0kyhswgg8iyxvicgpf0f5rn3gk4k620crk02xd4bn797xws5bzzs";
+       version = "0.8.1";
+       sha256 = "0jpg3rvngsil7zii57inax3im92n1ahv6lcrb3swikahbli0d8wc";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
          array base binary bytestring containers cryptonite directory
-         exceptions filepath hscurses memory mtl network-fancy random safe
+         exceptions filepath hscurses memory mtl network-simple random safe
          SDL SDL-gfx SDL-mixer SDL-ttf stm time transformers vector
        ];
        executablePkgconfigDepends = [ ncurses ];
@@ -155452,6 +156188,29 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "invariant_0_5_6" = callPackage
+    ({ mkDerivation, array, base, bifunctors, comonad, containers
+     , contravariant, ghc-prim, hspec, hspec-discover, profunctors
+     , QuickCheck, StateVar, stm, tagged, template-haskell
+     , th-abstraction, transformers, transformers-compat
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "invariant";
+       version = "0.5.6";
+       sha256 = "1l73wlnmh09187w8y61qyjjycpljds9lydy16ifa08bmmbxgkzcw";
+       libraryHaskellDepends = [
+         array base bifunctors comonad containers contravariant ghc-prim
+         profunctors StateVar stm tagged template-haskell th-abstraction
+         transformers transformers-compat unordered-containers
+       ];
+       testHaskellDepends = [ base hspec QuickCheck template-haskell ];
+       testToolDepends = [ hspec-discover ];
+       description = "Haskell98 invariant functors";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "inventory" = callPackage
     ({ mkDerivation, appendmap, array, base, bytestring, containers
      , directory, filepath, ghc, ghc-paths, mtl, tasty, tasty-hunit
@@ -155745,8 +156504,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
-       revision = "3";
-       editedCabalFile = "02k9halblgnynlm781ahc81yxla8z7cck1gikm8555v78rf5hv7x";
+       revision = "5";
+       editedCabalFile = "073aciql0czvpaiwh9mpljcd1j2a8p5ka5awsw1j3dh7bdyg2mp7";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -155898,6 +156657,8 @@ self: {
        pname = "ip";
        version = "1.7.4";
        sha256 = "1hvqgah86z2saizhjpq2352x2ncxjsshvzj66bmij3yk6y107yfs";
+       revision = "1";
+       editedCabalFile = "09yrwzklzbfvh5x4j7k4vx7a49kndfz9d8kjkfvwi3frqzhr209m";
        libraryHaskellDepends = [
          aeson attoparsec base bytebuild byteslice bytesmith bytestring
          deepseq hashable natural-arithmetic primitive text text-short
@@ -157254,6 +158015,7 @@ self: {
        ];
        description = "Intervals";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ivar-simple" = callPackage
@@ -157547,6 +158309,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Indexed monads";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ix-shapable" = callPackage
@@ -157596,8 +158359,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset";
-       version = "1.1.1.1";
-       sha256 = "1d3h53sq8i8azzr71yi4h5zma2bb2f623gpfw25x2kd4slhpkrgf";
+       version = "1.1.1.2";
+       sha256 = "15dgh9lgjqgn0483p98q21ym1mrwi5h7ygdjxf48aap1d20x6swp";
        libraryHaskellDepends = [
          base containers safecopy syb syb-with-class template-haskell
        ];
@@ -157616,8 +158379,8 @@ self: {
      }:
      mkDerivation {
        pname = "ixset-typed";
-       version = "0.5";
-       sha256 = "07n7qfi8slmrlgzvrkddr17b792phhb140q9gb5pm68kk1im4izs";
+       version = "0.5.1.0";
+       sha256 = "033rm2sik1qz4dmqlabjzwwqw38vj3hrwlkmhm554yvk1n3v9dq8";
        libraryHaskellDepends = [
          base containers deepseq safecopy syb template-haskell
        ];
@@ -158515,8 +159278,8 @@ self: {
      }:
      mkDerivation {
        pname = "jmacro";
-       version = "0.6.17";
-       sha256 = "14vmnaqr3lhcj7y5rj4jgm2w89kkznfksy53pinmc1xq1bd8b7px";
+       version = "0.6.17.1";
+       sha256 = "17z39w888nrq0jfzi74z1wnswzmcyi2x6h2p2nnmhyjsgvpjkcxa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160233,6 +160996,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "jsonl" = callPackage
+    ({ mkDerivation, aeson, base, bytestring }:
+     mkDerivation {
+       pname = "jsonl";
+       version = "0.2.0.0";
+       sha256 = "1ffmi3hqbxvc5k6rg648lpdsis6g0b2k2kkyxsafdnw4p288lrj1";
+       libraryHaskellDepends = [ aeson base bytestring ];
+       description = "JSON Lines";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "jsonl-conduit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, hspec, jsonl }:
+     mkDerivation {
+       pname = "jsonl-conduit";
+       version = "0.1.1";
+       sha256 = "0678hasvy8f3dvrqsg5m21yd6wdxpj1dffg9asi2b0byr4rxdaax";
+       libraryHaskellDepends = [ aeson base bytestring conduit jsonl ];
+       testHaskellDepends = [ aeson base bytestring conduit hspec ];
+       description = "Conduit interface to JSONL-encoded data";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "jsonlogic" = callPackage
     ({ mkDerivation, base, containers, hedgehog, mtl, tasty
      , tasty-hedgehog, tasty-hunit
@@ -160355,8 +161141,8 @@ self: {
      }:
      mkDerivation {
        pname = "jsonrpc-conduit";
-       version = "0.3.8";
-       sha256 = "196w8jmb8107shbrdhr17axl6x2sx088hdys2yfpqmrcsxc77z45";
+       version = "0.3.9";
+       sha256 = "0qj3rlh695nbs3kxix2r7h4np99q6pn7x8x86j4785d6d2gly1ik";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit conduit-extra mtl text
          transformers unordered-containers
@@ -161166,6 +161952,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "kan-extensions_5_2_4" = callPackage
+    ({ mkDerivation, adjunctions, array, base, comonad, containers
+     , contravariant, distributive, free, invariant, mtl, profunctors
+     , semigroupoids, tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "kan-extensions";
+       version = "5.2.4";
+       sha256 = "0qnds0vwhsqznirqalm8f4c0qsmp1awfhc4fn2rx5agl5az3zip8";
+       libraryHaskellDepends = [
+         adjunctions array base comonad containers contravariant
+         distributive free invariant mtl profunctors semigroupoids tagged
+         transformers transformers-compat
+       ];
+       description = "Kan extensions, Kan lifts, the Yoneda lemma, and (co)density (co)monads";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "kangaroo" = callPackage
     ({ mkDerivation, array, base }:
      mkDerivation {
@@ -162562,8 +163367,8 @@ self: {
      }:
      mkDerivation {
        pname = "keter";
-       version = "1.8.4";
-       sha256 = "10p8hc1jfzkg3s8shazkip95i6r5a8gyiz6m1khl7myvb05i21gc";
+       version = "1.9";
+       sha256 = "00mgh6447p0gsvm7agy1i9a874afirirx2a7qdqnbw1m14j3mzfl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -162658,6 +163463,7 @@ self: {
        ];
        description = "Store of values of arbitrary types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "keycloak-hs" = callPackage
@@ -162747,8 +163553,8 @@ self: {
        pname = "keys";
        version = "3.12.3";
        sha256 = "0ik6wsff306dnbz0v3gpiajlj5b558hrk9176fzcb2fclf4447nm";
-       revision = "1";
-       editedCabalFile = "18fapd53nby46p5103y1m2hwpixn5p12mbyvb8va71pk4b77qlcy";
+       revision = "2";
+       editedCabalFile = "1sb7ii9mhx77rhviqbmdc5r6wlimkmadxi1pyk7k3imdqcdzgjlp";
        libraryHaskellDepends = [
          array base comonad containers free hashable semigroupoids
          semigroups tagged transformers transformers-compat
@@ -163373,8 +164179,8 @@ self: {
      }:
      mkDerivation {
        pname = "koji-tool";
-       version = "0.8.2";
-       sha256 = "0hhpw8v09alicymbndl6lpflasmzchrf8zg1l4gqd8j9sj2rrzqg";
+       version = "0.8.5";
+       sha256 = "1zkvw8fibav9n8x7dvw7mcns6zc00il5ajcwsvb1ycbb3pqj82ps";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -167081,6 +167887,8 @@ self: {
        libraryHaskellDepends = [ alex-tools base text ];
        description = "A collection of different layout implementations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "layouting" = callPackage
@@ -168160,14 +168968,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "lens-aeson_1_2" = callPackage
+  "lens-aeson_1_2_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, lens
      , scientific, text, text-short, unordered-containers, vector
      }:
      mkDerivation {
        pname = "lens-aeson";
-       version = "1.2";
-       sha256 = "1hi0y3bn3xny7w2cjzxn9j5hmfg6l7kbsji5skbj32zfrqlhkkwi";
+       version = "1.2.1";
+       sha256 = "08x0vbkay8d6s24fzy2iria0hl9pmq891cnzm6zl0j9j53z9jw9l";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring lens scientific text text-short
          unordered-containers vector
@@ -168612,6 +169420,8 @@ self: {
        pname = "lentil";
        version = "1.5.4.0";
        sha256 = "0xfsf7g9r2w30qkp4829w77hsja562jvx4n9i880j9qngi2ms2h1";
+       revision = "1";
+       editedCabalFile = "15dr5jlb6b18j2brxji4k1g12zwvhpjq96nqb27pjkznm59c4x19";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -169008,6 +169818,7 @@ self: {
        ];
        description = "Preprocessor for typesetting Haskell sources with LaTeX";
        license = "GPL";
+       maintainers = with lib.maintainers; [ nomeata ];
      }) {};
 
   "lhslatex" = callPackage
@@ -170257,8 +171068,8 @@ self: {
        pname = "lift-generics";
        version = "0.2.1";
        sha256 = "1qkzq8hcb6j15cslv577bmhjcxmljzsrryysdgd7r99kr3q445b4";
-       revision = "1";
-       editedCabalFile = "0i0qxm2fi34bnpnwk5k61yjx72pc9j8jhbx44xk176pw7y2pinxd";
+       revision = "2";
+       editedCabalFile = "1q6lviqfvyis3ss9w6r6j5d35is50r2favj9lkdagcmczw9c4706";
        libraryHaskellDepends = [
          base generic-deriving ghc-prim template-haskell th-compat
        ];
@@ -171262,6 +172073,29 @@ self: {
        license = lib.licenses.publicDomain;
      }) {};
 
+  "linkcheck" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , http-client, http-client-tls, http-types, lrucache, monad-logger
+     , mtl, network-uri, optparse-applicative, path, path-io, retry, stm
+     , tagsoup, text, unliftio
+     }:
+     mkDerivation {
+       pname = "linkcheck";
+       version = "0.1.0.0";
+       sha256 = "18wb2naxqhvnvyjjmgbsa0ky98ikgrdhrcra9bxy1vfizhrpwhfn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers http-client
+         http-client-tls http-types lrucache monad-logger mtl network-uri
+         optparse-applicative path path-io retry stm tagsoup text unliftio
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Check for broken links in CI";
+       license = lib.licenses.mit;
+     }) {};
+
   "linkchk" = callPackage
     ({ mkDerivation, base, gtk, haskell98, popenhs, regex-compat, unix
      }:
@@ -172217,6 +173051,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "list-t_1_0_5_2" = callPackage
+    ({ mkDerivation, base, base-prelude, foldl, HTF, logict, mmorph
+     , monad-control, mtl, mtl-prelude, semigroups, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "list-t";
+       version = "1.0.5.2";
+       sha256 = "0478iigfrkinhkjyq9zc4xvrbzcfvq46s6k0bj4a2sy8j41jzgww";
+       libraryHaskellDepends = [
+         base foldl logict mmorph monad-control mtl semigroups transformers
+         transformers-base
+       ];
+       testHaskellDepends = [ base-prelude HTF mmorph mtl-prelude ];
+       description = "ListT done right";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "list-t-attoparsec" = callPackage
     ({ mkDerivation, attoparsec, base-prelude, either, hspec, list-t
      , list-t-text, text, transformers
@@ -172327,6 +173180,20 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "list-transformer_1_0_8" = callPackage
+    ({ mkDerivation, base, doctest, mtl }:
+     mkDerivation {
+       pname = "list-transformer";
+       version = "1.0.8";
+       sha256 = "03rqs8hrddlbq4v3pzh42z7lh11z3klpgbmyp85i926shpm5qibh";
+       libraryHaskellDepends = [ base mtl ];
+       testHaskellDepends = [ base doctest ];
+       description = "List monad transformer";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "list-tries" = callPackage
     ({ mkDerivation, base, binary, ChasingBottoms, containers, dlist
      , HUnit, QuickCheck, template-haskell, test-framework
@@ -174253,6 +175120,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "logict_0_8_0_0" = callPackage
+    ({ mkDerivation, async, base, mtl, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "logict";
+       version = "0.8.0.0";
+       sha256 = "0mpv50ifb3x9vfmgi1p9piwcgz8d19x0wdj789wxyhxwjpr6v4py";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base mtl ];
+       testHaskellDepends = [ async base mtl tasty tasty-hunit ];
+       description = "A backtracking logic-programming monad";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "logict-sequence" = callPackage
     ({ mkDerivation, base, logict, mtl, sequence, type-aligned }:
      mkDerivation {
@@ -174749,20 +175631,23 @@ self: {
      }) {};
 
   "looper" = callPackage
-    ({ mkDerivation, aeson, base, hspec, optparse-applicative, text
+    ({ mkDerivation, aeson, autodocodec, autodocodec-yaml, base
+     , envparse, optparse-applicative, sydtest, sydtest-discover, text
      , time, unliftio
      }:
      mkDerivation {
        pname = "looper";
-       version = "0.0.0.2";
-       sha256 = "0w4aancb0lbfgmk2drnbc1w6bxlbdkhg0zy1qj7xp3kvgc76vqli";
+       version = "0.2.0.1";
+       sha256 = "0nqkqbna1fivf0ziilqrlg38hxpkhll4yv42p8r5g87d7r33jmc2";
        libraryHaskellDepends = [
-         aeson base optparse-applicative text time unliftio
+         aeson autodocodec base envparse optparse-applicative text time
+         unliftio
        ];
        testHaskellDepends = [
-         aeson base hspec optparse-applicative text time unliftio
+         autodocodec-yaml base optparse-applicative sydtest unliftio
        ];
-       license = lib.licenses.bsd3;
+       testToolDepends = [ sydtest-discover ];
+       license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -175140,15 +176025,15 @@ self: {
      }:
      mkDerivation {
        pname = "lsfrom";
-       version = "0.1";
-       sha256 = "04cv4x88r10b9zkfiy1kclq3dm79akg1p16djfad8h5x988c7bq1";
+       version = "0.1.1.1";
+       sha256 = "1vm80k8gsh4k7937i02wv4dk2s173c9wvgiilc1am3ddp7x7ms1h";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base filepath simple-cmd simple-cmd-args
        ];
        testHaskellDepends = [ base directory filepath simple-cmd ];
-       description = "List dir files starting from a specific name";
+       description = "List directory files starting from a specific name";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -175392,19 +176277,19 @@ self: {
      }) {inherit (pkgs) lua5_3;};
 
   "lua_2_2_0" = callPackage
-    ({ mkDerivation, base, lua5_3, tasty, tasty-hunit }:
+    ({ mkDerivation, base, lua5_4, tasty, tasty-hunit }:
      mkDerivation {
        pname = "lua";
        version = "2.2.0";
        sha256 = "1258i5a3b16lbkgfdzgibqx3q4csd5wvk2gzqp96kkjcndfva92d";
        configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
        libraryHaskellDepends = [ base ];
-       librarySystemDepends = [ lua5_3 ];
+       librarySystemDepends = [ lua5_4 ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Lua, an embeddable scripting language";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
-     }) {inherit (pkgs) lua5_3;};
+     }) {inherit (pkgs) lua5_4;};
 
   "lua-arbitrary" = callPackage
     ({ mkDerivation, base, lua, QuickCheck }:
@@ -175513,8 +176398,8 @@ self: {
        pname = "lucid";
        version = "2.11.0";
        sha256 = "1m1f13vxn3pwc7wvhx0czzxlx2ws8lzdgxlxd1707cx79jyib5sl";
-       revision = "1";
-       editedCabalFile = "0ai0rxiyni9cxzad3ix50vkxqqmgxfd1vpqzfrmmll1swxpicd8q";
+       revision = "2";
+       editedCabalFile = "01vqjqpng0wkf8955vrdwd499y9h2mlh4jqbnmzp5598iswgq15c";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers hashable mmorph mtl text
          transformers unordered-containers
@@ -175529,6 +176414,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lucid_2_11_1" = callPackage
+    ({ mkDerivation, base, bifunctors, blaze-builder, bytestring
+     , containers, criterion, deepseq, hashable, hspec, HUnit, mmorph
+     , mtl, parsec, text, transformers
+     }:
+     mkDerivation {
+       pname = "lucid";
+       version = "2.11.1";
+       sha256 = "13krwrvv0w24rnl7pc7qhv18c6030fkxpx7sxkffdm8sr9173xfw";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring containers hashable mmorph mtl text
+         transformers
+       ];
+       testHaskellDepends = [
+         base bifunctors hspec HUnit mtl parsec text
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-builder bytestring criterion deepseq text transformers
+       ];
+       description = "Clear to write, read and edit DSL for HTML";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "lucid-alpine" = callPackage
     ({ mkDerivation, base, lucid, text }:
      mkDerivation {
@@ -175655,6 +176564,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "lucid2" = callPackage
+    ({ mkDerivation, base, bifunctors, blaze-builder, bytestring
+     , containers, hspec, HUnit, mtl, parsec, text, transformers
+     }:
+     mkDerivation {
+       pname = "lucid2";
+       version = "0.0.20220509";
+       sha256 = "0d38gic3xjqj5in97sbfzjb696011bl47sshzh0377md5j02yc85";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring containers mtl text transformers
+       ];
+       testHaskellDepends = [
+         base bifunctors hspec HUnit mtl parsec text
+       ];
+       description = "Clear to write, read and edit DSL for HTML";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "lucienne" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-html, bson
      , bytestring, compact-string-fix, feed, happstack, happstack-server
@@ -177899,8 +178828,8 @@ self: {
        pname = "map-syntax";
        version = "0.3";
        sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
-       revision = "3";
-       editedCabalFile = "19p79gjwlpgx210zlc9625vwp6mjmnb9mvxaz1h5zmgir8dwb4lv";
+       revision = "4";
+       editedCabalFile = "09sr3lzgkqs59vnwsimqgv098h3hj4srr2avza3z05gfkvxqj8yw";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -177974,8 +178903,8 @@ self: {
     ({ mkDerivation, base, tidal }:
      mkDerivation {
        pname = "maquinitas-tidal";
-       version = "0.2.4";
-       sha256 = "0apr5qkir3b6mnczi50lf3p349p1q3bl1sn4yg9dls2n3m147mf7";
+       version = "0.2.5";
+       sha256 = "1jqa471r7r3my32lrjcrfc35259kj7afp1jgj8jr3r62dd8ckq63";
        libraryHaskellDepends = [ base tidal ];
        description = "library for MIDI control of hardware";
        license = lib.licenses.mit;
@@ -179215,8 +180144,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.15.0";
-       sha256 = "0hn3d1fifzls714a0hsvhbf7wxhg0q60igpr2jcd76yqnzax1mda";
+       version = "50200.16.0";
+       sha256 = "1hjb408dznls8r6k89jv0zvliv259xj2gzl03f4ypwacihmr3qiw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -179251,8 +180180,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "50200.11.0";
-       sha256 = "0knrc00377wx8j4ly8d2nxqswybp3782j7qig6mrzlww6nbd68j7";
+       version = "50200.12.0";
+       sha256 = "12mmpyw1lcmyxh73rgzckww7dd6lxc6m81h2xa9rpd8mxwx0n17n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -179276,8 +180205,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "50200.11.0";
-       sha256 = "0crz0nc8qbsjyq3fllbj50d01axgwfas76bmr6xnz83sic2s1yw1";
+       version = "50200.12.0";
+       sha256 = "00fgr80xanrni835n7wgazq6900f040cwnhbsz99936azx125nx4";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -180183,8 +181112,28 @@ self: {
        pname = "megaparsec";
        version = "9.2.0";
        sha256 = "1whjn3n14h2q3ja1v7zllzmj28ai7lqwfbif22c08rl00wpwmwhd";
-       revision = "1";
-       editedCabalFile = "1jv3j59fvykvplj3c653c9rk5wiwg6x0jnljhi2vknzxxmxkjj02";
+       revision = "2";
+       editedCabalFile = "1f82q0v5iaqnl6f3pjgrwin2lg7w5zykgn6vpds08pjgwfg39va1";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers deepseq mtl
+         parser-combinators scientific text transformers
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion deepseq text weigh
+       ];
+       description = "Monadic parser combinators";
+       license = lib.licenses.bsd2;
+     }) {};
+
+  "megaparsec_9_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , criterion, deepseq, mtl, parser-combinators, scientific, text
+     , transformers, weigh
+     }:
+     mkDerivation {
+       pname = "megaparsec";
+       version = "9.2.1";
+       sha256 = "1zz92mkwyhvvh8c8nc7cfz8cw2g9374na11k2gb6dbm4pabq69vb";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq mtl
          parser-combinators scientific text transformers
@@ -180194,6 +181143,7 @@ self: {
        ];
        description = "Monadic parser combinators";
        license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "megaparsec-tests" = callPackage
@@ -180220,6 +181170,31 @@ self: {
        license = lib.licenses.bsd2;
      }) {};
 
+  "megaparsec-tests_9_2_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, containers
+     , hspec, hspec-discover, hspec-expectations, hspec-megaparsec
+     , megaparsec, mtl, parser-combinators, QuickCheck, scientific, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "megaparsec-tests";
+       version = "9.2.1";
+       sha256 = "1w9maxfld3by01kl8z0a4v64y2vm5rmsdss6n57mr3j43ng2isr9";
+       libraryHaskellDepends = [
+         base bytestring containers hspec hspec-expectations
+         hspec-megaparsec megaparsec mtl QuickCheck text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive containers hspec
+         hspec-expectations hspec-megaparsec megaparsec mtl
+         parser-combinators QuickCheck scientific text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Test utilities and the test suite of Megaparsec";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "meldable-heap" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -181458,6 +182433,8 @@ self: {
        pname = "mfsolve";
        version = "0.3.2.1";
        sha256 = "190dszcnvy5j5bs3n0kya8a9nq0vdhrpgpndjpsxw7x70y3hc9d2";
+       revision = "1";
+       editedCabalFile = "0938ji6l1bx787lxcw6rzjwskm9vxm615cvx7hxpbwp0hbxrj5sa";
        libraryHaskellDepends = [
          base hashable mtl mtl-compat unordered-containers
        ];
@@ -183629,8 +184606,8 @@ self: {
        pname = "mmorph";
        version = "1.2.0";
        sha256 = "1022d8mm523dihkf85mqsqxpm9rnyicmv91c8rm4csv7xdc80cv1";
-       revision = "1";
-       editedCabalFile = "13j6znh33pnnk8yfxnndqiiwal1w6rs2jigs7fgpa26883ff2788";
+       revision = "2";
+       editedCabalFile = "00jrrmns4w77l06kcpr7798wcbc8abmhlivy12fxajs3x1ycb3hn";
        libraryHaskellDepends = [
          base mtl transformers transformers-compat
        ];
@@ -185272,8 +186249,8 @@ self: {
        pname = "monad-par";
        version = "0.3.5";
        sha256 = "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2";
-       revision = "1";
-       editedCabalFile = "17l7zjykf5iqjmw1pq4iwls7v9x9d3in94iikxabx43q5l2iccsm";
+       revision = "2";
+       editedCabalFile = "1q4npp0vrsjpxk7n7rcf3lgqg1sf2qx628ciiw48al9y9xlznsaz";
        libraryHaskellDepends = [
          abstract-deque abstract-par array base containers deepseq
          monad-par-extras mtl mwc-random parallel
@@ -186474,6 +187451,8 @@ self: {
        pname = "monoidal-containers";
        version = "0.6.2.0";
        sha256 = "0rnhlm77zrql42z3zsn3ag279q0vrz2idygc0x4p50q3780670p3";
+       revision = "1";
+       editedCabalFile = "07l42gkixdpamqqzdwqfcd62yga5cvhbxz5l0jpgs8kgf6prna4p";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign these
          unordered-containers witherable
@@ -186573,6 +187552,44 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) glew;};
 
+  "monomer_1_4_0_0" = callPackage
+    ({ mkDerivation, aeson, async, attoparsec, base, bytestring
+     , bytestring-to-vector, c2hs, containers, data-default, exceptions
+     , extra, formatting, glew, hspec, http-client, JuicyPixels, lens
+     , mtl, nanovg, OpenGLRaw, process, random, sdl2, stm, text
+     , text-show, time, transformers, vector, websockets, wreq, wuss
+     }:
+     mkDerivation {
+       pname = "monomer";
+       version = "1.4.0.0";
+       sha256 = "104j89l1c39yl9sqfv1nsq7c3p00v0h28kvrmym46b5w1hd86xxr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default exceptions extra formatting http-client JuicyPixels
+         lens mtl nanovg OpenGLRaw process sdl2 stm text text-show time
+         transformers vector wreq
+       ];
+       librarySystemDepends = [ glew ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [
+         aeson async attoparsec base bytestring bytestring-to-vector
+         containers data-default exceptions extra formatting http-client
+         JuicyPixels lens mtl nanovg OpenGLRaw process random sdl2 stm text
+         text-show time transformers vector websockets wreq wuss
+       ];
+       testHaskellDepends = [
+         async attoparsec base bytestring bytestring-to-vector containers
+         data-default exceptions extra formatting hspec http-client
+         JuicyPixels lens mtl nanovg OpenGLRaw process sdl2 stm text
+         text-show time transformers vector wreq
+       ];
+       description = "A GUI library for writing native Haskell applications";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) glew;};
+
   "monomorphic" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -187069,8 +188086,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.19.3";
-       sha256 = "0vg48x6sb5rg7mzx905qjv026yq4b76kxfyfpakiw3xybqpcdw0w";
+       version = "0.20.0";
+       sha256 = "0ikbfapl9jb9yd9i5v9plw3s3drsbx660h8x0mibn8qsci0jsbh5";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers morpheus-graphql-app
@@ -187098,8 +188115,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-app";
-       version = "0.19.3";
-       sha256 = "0v00xp6hhaxbjp6kl124cj22p57hnqdkg8kksms9cp2h7f88vm3g";
+       version = "0.20.0";
+       sha256 = "1qvgfsykml7mx36azgbdvjc814hdd14554qpld716v339bj3jgmp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec
@@ -187139,25 +188156,25 @@ self: {
      }) {};
 
   "morpheus-graphql-client" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , morpheus-graphql-code-gen, morpheus-graphql-core, mtl, relude
-     , tasty, tasty-hunit, template-haskell, text, transformers
+    ({ mkDerivation, aeson, base, bytestring, containers, directory
+     , file-embed, morpheus-graphql-code-gen, morpheus-graphql-core, mtl
+     , relude, tasty, tasty-hunit, template-haskell, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.19.3";
-       sha256 = "1vfk1rlm2lkra5xfp9zh3f4q70xhb42v4zyfy1xk6x9k2k919pmg";
+       version = "0.20.0";
+       sha256 = "1gq7sn2dfsmbls2l9kw1x59xq2xqb7ahbdgi4705riwm06kvrj1y";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base bytestring morpheus-graphql-code-gen
-         morpheus-graphql-core mtl relude template-haskell text transformers
-         unordered-containers
+         aeson base bytestring containers file-embed
+         morpheus-graphql-code-gen morpheus-graphql-core mtl relude
+         template-haskell text transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson base bytestring directory morpheus-graphql-code-gen
-         morpheus-graphql-core mtl relude tasty tasty-hunit template-haskell
-         text transformers unordered-containers
+         aeson base bytestring containers directory file-embed
+         morpheus-graphql-code-gen morpheus-graphql-core mtl relude tasty
+         tasty-hunit template-haskell text transformers unordered-containers
        ];
        description = "Morpheus GraphQL Client";
        license = lib.licenses.mit;
@@ -187171,8 +188188,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-code-gen";
-       version = "0.19.3";
-       sha256 = "0l9g0pnp3vvlpc5kdhgnvwqgid4d25wgr1mnlqc44s350si623qa";
+       version = "0.20.0";
+       sha256 = "0d7p2151zrvbbdxwsp6kjrmd4x5za3n7p47apn9b4lhwylqzgx1k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -187197,8 +188214,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-core";
-       version = "0.19.3";
-       sha256 = "0frd7hvy94q4iknih4ph11kgklk5a70yryhmbfhjipv5141ysrns";
+       version = "0.20.0";
+       sha256 = "19203qc0zfixb60fyf8ddlpbdwynq0g1w31ssmcdldqjdqf7fpdc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers hashable megaparsec mtl relude
@@ -187225,8 +188242,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-subscriptions";
-       version = "0.19.3";
-       sha256 = "16flpss0b3qvdcwazsfisw8f0dw5z5p4rrxm7bpr2j54dlz98c7n";
+       version = "0.20.0";
+       sha256 = "1yrba6d33x24rmzpmbnd3pbnn00za0bs4xl9sqfbyizc485164v0";
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-app morpheus-graphql-core
          mtl relude text transformers unliftio-core unordered-containers
@@ -187258,14 +188275,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "morpheus-graphql-tests_0_19_3" = callPackage
+  "morpheus-graphql-tests_0_20_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, relude, tasty
      , tasty-hunit, text, unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-tests";
-       version = "0.19.3";
-       sha256 = "1w10l9l0774hjhq8h0bxlqmksd8g350ccdv5ja86j89lb4glnxla";
+       version = "0.20.0";
+       sha256 = "0ss2fmz97ppmxsd2dfaxbiy2rw1xba7kyn6fg7a0y25y68whwryl";
        libraryHaskellDepends = [
          aeson base bytestring directory relude tasty tasty-hunit text
          unordered-containers
@@ -188477,14 +189494,14 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "mtl_2_2_2" = callPackage
+  "mtl_2_3" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
        pname = "mtl";
-       version = "2.2.2";
-       sha256 = "1xmy5741h8cyy0d91ahvqdz2hykkk20l8br7lg1rccnkis5g80w8";
+       version = "2.3";
+       sha256 = "0krx6bl7xd5n2v9775igv4p8723w6ilshmpljryzfsv4gp74dsy7";
        libraryHaskellDepends = [ base transformers ];
-       description = "Monad classes, using functional dependencies";
+       description = "Monad classes for transformers, using functional dependencies";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -194372,6 +195389,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "network-wait_0_1_2_0" = callPackage
+    ({ mkDerivation, base, exceptions, network, network-simple, retry
+     , tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "network-wait";
+       version = "0.1.2.0";
+       sha256 = "1fgcp2didz7zp4jpkc9zap94sbd6ny8nyrx6nwnfai2ssw5rxpfq";
+       libraryHaskellDepends = [ base exceptions network retry ];
+       testHaskellDepends = [
+         base exceptions network network-simple retry tasty tasty-hunit
+       ];
+       description = "Lightweight library for waiting on networked services to become available";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "network-websocket" = callPackage
     ({ mkDerivation, base, haskell98, network, webserver }:
      mkDerivation {
@@ -195166,8 +196200,8 @@ self: {
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.20";
-       sha256 = "1bspaz1a1vy50336d264b6wv7wrfb4a758ghcv6j437lhinjjbf9";
+       version = "0.2.21";
+       sha256 = "1i4n706nrrd0mk34wrjgg597gsd95xslg8aqrhp3ijh4j4h2b8n2";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -200664,8 +201698,8 @@ self: {
      }:
      mkDerivation {
        pname = "opentracing";
-       version = "0.2.1";
-       sha256 = "0p2y996cl5hfw85kdr0majymxccv2d1ka15wbyc2qxgskz3dy9cq";
+       version = "0.2.2";
+       sha256 = "0d2zxq6y943kwpis9nbbj7cn8amy315bxy56mjj54bkg3jm43jn7";
        libraryHaskellDepends = [
          aeson async base base64-bytestring bytestring case-insensitive
          clock containers http-types iproute lens mtl mwc-random network
@@ -200680,8 +201714,8 @@ self: {
     ({ mkDerivation, base, http-client, lens, mtl, opentracing, text }:
      mkDerivation {
        pname = "opentracing-http-client";
-       version = "0.2.0";
-       sha256 = "19mwl69ggyd7zf1dvx5yjzsq5mlw5l94h989hgwc4ryvp8zqwv4n";
+       version = "0.2.2";
+       sha256 = "03adv17m82imw7bq618zm6x79gq6avvhcz3i0jak4157f3lwdq6b";
        libraryHaskellDepends = [
          base http-client lens mtl opentracing text
        ];
@@ -200697,8 +201731,8 @@ self: {
      }:
      mkDerivation {
        pname = "opentracing-jaeger";
-       version = "0.2.0";
-       sha256 = "0ffcbmg8qzvyhm7vzk2zkk5czli4ndrp18cc328i7600gzv1gr81";
+       version = "0.2.2";
+       sha256 = "1wy8n4ci3hs2glwahhgzzl6g4dw370ay2dg8bf1af8a27sl3dhjn";
        libraryHaskellDepends = [
          base bytestring exceptions hashable http-client http-types lens mtl
          network opentracing pinch QuickCheck safe-exceptions text
@@ -200712,8 +201746,8 @@ self: {
     ({ mkDerivation, base, lens, opentracing, text, wai }:
      mkDerivation {
        pname = "opentracing-wai";
-       version = "0.2.0";
-       sha256 = "178xxgg0rw94gld5jlvix6czsvg66q60h06nj2b1x7rnd0pjryc6";
+       version = "0.2.2";
+       sha256 = "1yfbh7pp2rp16xm5bqij9f6m0cm23zrd0jsndkngl1mxjkv6l24i";
        libraryHaskellDepends = [ base lens opentracing text wai ];
        description = "Middleware adding OpenTracing tracing for WAI applications";
        license = lib.licenses.asl20;
@@ -200723,8 +201757,8 @@ self: {
     ({ mkDerivation, aeson, base, opentracing, text }:
      mkDerivation {
        pname = "opentracing-zipkin-common";
-       version = "0.2.0";
-       sha256 = "0yngiz8135v844wcx28izwhx18iz06di3dl8bm5xqh47ir43wdw6";
+       version = "0.2.2";
+       sha256 = "1vridakdz07yfiyr92byd8kab2zc68izpv1j8dh4a0xnks8910wk";
        libraryHaskellDepends = [ aeson base opentracing text ];
        description = "Zipkin OpenTracing Backend Commons";
        license = lib.licenses.asl20;
@@ -200738,8 +201772,8 @@ self: {
      }:
      mkDerivation {
        pname = "opentracing-zipkin-v1";
-       version = "0.2.0";
-       sha256 = "15n9m7affy81fr80zw7l54lch7gr6bvhcqpga797x7rvdxqqjv9j";
+       version = "0.2.2";
+       sha256 = "0z263yksbcgyfzsb6fj6id3bdsbhb0b92bfjm0myclj8f703hxbj";
        libraryHaskellDepends = [
          base bytestring exceptions hashable http-client http-types iproute
          lens opentracing opentracing-zipkin-common pinch QuickCheck text
@@ -200756,8 +201790,8 @@ self: {
      }:
      mkDerivation {
        pname = "opentracing-zipkin-v2";
-       version = "0.2.0";
-       sha256 = "1ykssjhknfyiw02abjpz38zmlw8l03zb8c3y3ic5njmsg23nxfzb";
+       version = "0.2.2";
+       sha256 = "1hqbr4ifabyg6sr40jw9hqi2xq00wqy8srw9q6hj5qxqnvl39110";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring exceptions http-client
          http-types lens opentracing opentracing-zipkin-common text
@@ -201718,8 +202752,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode";
-       version = "2.0.0";
-       sha256 = "17yn9si0mxyydjgv40q6rc5nw579kswlx69ycyinhdx0q34ds7rl";
+       version = "2.0.1";
+       sha256 = "0g22gjy7l6c28j60vbhazgcl0da58mml307qsp4zac4j4nshv7y2";
        libraryHaskellDepends = [
          base containers filepath hashable megaparsec parser-combinators
          text time
@@ -201738,8 +202772,8 @@ self: {
      }:
      mkDerivation {
        pname = "org-mode-lucid";
-       version = "1.6.1";
-       sha256 = "0fkwwwrmfq22g1yak9srmlbq5yixf4kdwfapq0dyr8f3pqaglf1v";
+       version = "1.6.2";
+       sha256 = "0qz8s63m2l0aff23fgdn97xxswbn3ah3m4rx9snfi5cscsrzsb8h";
        libraryHaskellDepends = [
          base containers hashable lucid org-mode text
        ];
@@ -203186,7 +204220,7 @@ self: {
        pname = "pandoc";
        version = "2.17.1.1";
        sha256 = "1l8spmsyg2c5j16q7a7fd5i6kcvkyipq4jrhrv2k0ca1s4lcb7k4";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       configureFlags = [ "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -203245,7 +204279,7 @@ self: {
        pname = "pandoc";
        version = "2.18";
        sha256 = "02g6da49g60b5v7aj8w82n9yfks37bcaa6ni75hcbvbn3mw59lyl";
-       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       configureFlags = [ "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -205170,12 +206204,12 @@ self: {
        broken = true;
      }) {};
 
-  "parsec_3_1_15_0" = callPackage
+  "parsec_3_1_15_1" = callPackage
     ({ mkDerivation, base, bytestring, mtl, tasty, tasty-hunit, text }:
      mkDerivation {
        pname = "parsec";
-       version = "3.1.15.0";
-       sha256 = "1v8zs8zv1rk16lag2yqaxfwanjpgnh4gxw1vd70py0n04d20z0lq";
+       version = "3.1.15.1";
+       sha256 = "1pcqgxzhzlyaxrkgdixsl0jh7jfcg66kwqqf6va0am8q64ar1r5b";
        libraryHaskellDepends = [ base bytestring mtl text ];
        testHaskellDepends = [ base mtl tasty tasty-hunit ];
        description = "Monadic parser combinators";
@@ -205553,6 +206587,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "parsers_0_12_11" = callPackage
+    ({ mkDerivation, attoparsec, base, base-orphans, binary, bytestring
+     , charset, containers, mtl, parsec, QuickCheck
+     , quickcheck-instances, scientific, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "parsers";
+       version = "0.12.11";
+       sha256 = "068k7fm0s13z0jkkffc149cqcxnzpk1m066lp4ccdfcb41km1zwi";
+       libraryHaskellDepends = [
+         attoparsec base base-orphans binary charset containers mtl parsec
+         scientific text transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring parsec QuickCheck quickcheck-instances
+       ];
+       description = "Parsing combinators";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "parsers-megaparsec" = callPackage
     ({ mkDerivation, base, fail, megaparsec, mtl, parsers, semigroups
      , text, transformers
@@ -206583,6 +207639,8 @@ self: {
        pname = "pattern-arrows";
        version = "0.0.2";
        sha256 = "13q7bj19hd60rnjfc05wxlyck8llxy11z3mns8kxg197wxrdkhkg";
+       revision = "1";
+       editedCabalFile = "0vngc3mlyj52fl6cdrbwngpcyzp0gahq2h1sy1ysga62mv76wpc9";
        libraryHaskellDepends = [ base mtl ];
        description = "Arrows for Pretty Printing";
        license = lib.licenses.mit;
@@ -206916,8 +207974,8 @@ self: {
      }:
      mkDerivation {
        pname = "pcf-font";
-       version = "0.2.2.0";
-       sha256 = "1vwqy2zkj0yb0b7hx3hrcfdcg46j67sv9l8ljik8wrm7811d0rwa";
+       version = "0.2.2.1";
+       sha256 = "1gzlbdyhcrf7ap6zjd0fvkfwyakvb805198hpb9a86hrs5bih9mj";
        libraryHaskellDepends = [
          base binary bytestring containers vector zlib
        ];
@@ -207056,8 +208114,8 @@ self: {
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.1.0.1";
-       sha256 = "06fj8p49whxixphncmzm0c85wzqrsmg59zbb423qnqqmcwjwy2qf";
+       version = "2.1.1";
+       sha256 = "07ls9vxj5l8wvrj75wvyrq6qsz7fz0pamx92ik50cpl71p76lc92";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -209099,8 +210157,8 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-typed-db";
-       version = "0.1.0.5";
-       sha256 = "0xqvaypl987br15pymky9qa1z62sfa32kmcgpvnl8zpgdjsa17nc";
+       version = "0.1.0.6";
+       sha256 = "1hvja9yh40nqifvy0fsamdfj3f9ps85g187c7m3hg2yqz4w8pm05";
        libraryHaskellDepends = [
          aeson base bytestring conduit http-api-data monad-logger
          path-pieces persistent resource-pool resourcet template-haskell
@@ -209826,8 +210884,8 @@ self: {
     ({ mkDerivation, base, subG }:
      mkDerivation {
        pname = "phonetic-languages-constraints-array";
-       version = "0.1.1.0";
-       sha256 = "1c5n04zkfhws6ciilbkya4fyr3qc2yszmqrbb7pk3jcjnv2xp32b";
+       version = "0.1.2.0";
+       sha256 = "1s28pipyijz13sn6wni9v850w8c6n6rkiqmavhddfnichwp3gq55";
        libraryHaskellDepends = [ base subG ];
        description = "Constraints to filter the needed permutations";
        license = lib.licenses.mit;
@@ -209872,8 +210930,8 @@ self: {
     ({ mkDerivation, base, filters-basic, mmsyn2-array }:
      mkDerivation {
        pname = "phonetic-languages-filters-array";
-       version = "0.3.0.0";
-       sha256 = "0g1nyab2cagppwj75vr2fj0yd9g3hs1qdkb2grj14j13bvaqbi7p";
+       version = "0.4.0.0";
+       sha256 = "0rkgwf9v98vdflhkcfn7s0in8dw69rh2dcv8n9lvpjd0ccmlvil8";
        libraryHaskellDepends = [ base filters-basic mmsyn2-array ];
        description = "Allows to change the structure of the function output";
        license = lib.licenses.mit;
@@ -210041,8 +211099,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-array";
-       version = "0.17.1.0";
-       sha256 = "00lb3h4b0yd3ra0i6g64r8vfn2cyazrqai51arfprihyj31zm9kq";
+       version = "0.18.0.2";
+       sha256 = "0m79iv739cakgpfbixg613fhwjnvy4nidqvfrvqgq53wn4x9pdm3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -210075,25 +211133,22 @@ self: {
      }) {};
 
   "phonetic-languages-simplified-examples-common" = callPackage
-    ({ mkDerivation, base, heaps, phonetic-languages-constraints-array
-     , phonetic-languages-ukrainian-array
-     }:
+    ({ mkDerivation, base, heaps, phonetic-languages-ukrainian-array }:
      mkDerivation {
        pname = "phonetic-languages-simplified-examples-common";
-       version = "0.4.4.0";
-       sha256 = "1y5nrr23blxm08s62q58aq0yiifxgds9lf2wf45zz11w1z16ff1n";
+       version = "0.4.6.0";
+       sha256 = "13i8pq52bfmxvidvykn1hcy9yv2i8yni76mcnbmfwdbd1sy615pn";
        libraryHaskellDepends = [
-         base heaps phonetic-languages-constraints-array
-         phonetic-languages-ukrainian-array
+         base heaps phonetic-languages-ukrainian-array
        ];
        description = "Some commonly used by phonetic-languages-simplified* series functions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "phonetic-languages-simplified-generalized-examples-array" = callPackage
-    ({ mkDerivation, base, cli-arguments, heaps, mmsyn2-array, mmsyn3
-     , parallel, phonetic-languages-constraints-array
+    ({ mkDerivation, base, cli-arguments, foldable-ix, heaps
+     , mmsyn2-array, mmsyn3, parallel
+     , phonetic-languages-constraints-array
      , phonetic-languages-filters-array
      , phonetic-languages-permutations-array
      , phonetic-languages-phonetics-basics, phonetic-languages-plus
@@ -210104,10 +211159,10 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.15.0.0";
-       sha256 = "1rayhhyvqskxw374jrl5h92lhx0n3k3wda7vw4wkgw3kbargwm7q";
+       version = "0.16.0.0";
+       sha256 = "16ia1kd217hy0wpdjd60l1qdz2ivcm1n0sncp106x4dksy4xc1pv";
        libraryHaskellDepends = [
-         base cli-arguments heaps mmsyn2-array mmsyn3 parallel
+         base cli-arguments foldable-ix heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
          phonetic-languages-filters-array
          phonetic-languages-permutations-array
@@ -210778,8 +211833,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.10.2.0";
-       sha256 = "12hwfgqkn7sym9hig0b0afnzf0an6wcwdw9bc166y3539r3v13ck";
+       version = "0.10.3.0";
+       sha256 = "0j0isf2539b3fj393766wlrpgdpi39cqjqzw5jxihn7b67cvblyp";
        libraryHaskellDepends = [
          aeson base bytestring containers http-client http-client-tls
          http-types monad-logger mtl network profunctors random text time
@@ -213439,6 +214494,31 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "podenv" = callPackage
+    ({ mkDerivation, base, containers, dhall, directory, either
+     , filepath, gitrev, hspec, lens-family-core, lens-family-th
+     , linux-capabilities, optparse-applicative, relude, SHA, text
+     , th-env, typed-process, unix
+     }:
+     mkDerivation {
+       pname = "podenv";
+       version = "0.1.0";
+       sha256 = "18r1hx5bks645fw29zpbl5bn4cssdl9mz62ih8i90bwpwf4glxph";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers dhall directory either filepath gitrev
+         lens-family-core lens-family-th linux-capabilities
+         optparse-applicative relude SHA text th-env typed-process unix
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec text ];
+       description = "A container wrapper";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "point-octree" = callPackage
     ({ mkDerivation, AC-Vector, base, hspec, markdown-unlit, QuickCheck
      , random, random-shuffle
@@ -213478,6 +214558,25 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pointed_5_0_4" = callPackage
+    ({ mkDerivation, base, comonad, containers, data-default-class
+     , hashable, kan-extensions, semigroupoids, semigroups, stm, tagged
+     , transformers, transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "pointed";
+       version = "5.0.4";
+       sha256 = "1mv06x2hscs220w4acm5jwg96vi4faky6ir9hnljfry3n2r2xix3";
+       libraryHaskellDepends = [
+         base comonad containers data-default-class hashable kan-extensions
+         semigroupoids semigroups stm tagged transformers
+         transformers-compat unordered-containers
+       ];
+       description = "Pointed and copointed data";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "pointedalternative" = callPackage
     ({ mkDerivation, base, mtl, semigroups, transformers }:
      mkDerivation {
@@ -213951,8 +215050,8 @@ self: {
     ({ mkDerivation, base, requirements }:
      mkDerivation {
        pname = "poly-rec";
-       version = "0.6.0.0";
-       sha256 = "1csi81i0j3hk2gsc3c0rx939i67b0mj2pi064giw20yspqqjrp27";
+       version = "0.7.0.0";
+       sha256 = "0ayaz87l2rgpm4ddc7bidss042xhfcwa3sk7685ypssqvp02k5r0";
        libraryHaskellDepends = [ base requirements ];
        description = "Polykinded extensible records";
        license = lib.licenses.gpl3Only;
@@ -214165,20 +215264,21 @@ self: {
      }) {};
 
   "polysemy-RandomFu" = callPackage
-    ({ mkDerivation, base, hspec, hspec-discover, polysemy
-     , polysemy-plugin, polysemy-zoo, random-fu, random-source, text
-     , vector
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, polysemy
+     , polysemy-plugin, polysemy-zoo, random, random-fu, random-source
+     , rvar, text, vector
      }:
      mkDerivation {
        pname = "polysemy-RandomFu";
-       version = "0.4.4.1";
-       sha256 = "1zw8n16dm2l8rwrf014kb9jhp3q4a719bp8p08s4fnlksqkf88vl";
+       version = "0.5.0.0";
+       sha256 = "0zjywc9m7y56kzxvzayq4psjz6zip1x40cpjkvw39i5p2jkycc4c";
        libraryHaskellDepends = [
-         base polysemy polysemy-plugin polysemy-zoo random-fu random-source
+         base mtl polysemy polysemy-plugin polysemy-zoo random random-fu
+         random-source rvar
        ];
        testHaskellDepends = [
-         base hspec polysemy polysemy-plugin polysemy-zoo random-fu
-         random-source text vector
+         base hspec mtl polysemy polysemy-plugin polysemy-zoo random
+         random-fu random-source text vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "Experimental, RandomFu effect and interpreters for polysemy";
@@ -214234,8 +215334,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-conc";
-       version = "0.7.0.0";
-       sha256 = "0jr5wh0sxbymz4p9x2p86cm9djr8bybss747xx9c778va0vgcncg";
+       version = "0.8.0.1";
+       sha256 = "0l1hgv9xlax5ycp66j5asfhfi9jyfcwvd9z132pbx8dyj4ikzp8y";
        libraryHaskellDepends = [
          async base containers incipit-core polysemy polysemy-resume
          polysemy-time stm stm-chans torsor unagi-chan unix
@@ -214580,19 +215680,21 @@ self: {
     ({ mkDerivation, base, incipit-core, path, path-io, polysemy
      , polysemy-conc, polysemy-plugin, polysemy-resume, polysemy-test
      , polysemy-time, posix-pty, process, stm-chans, tasty
-     , typed-process, unix
+     , tasty-expected-failure, typed-process, unix
      }:
      mkDerivation {
        pname = "polysemy-process";
-       version = "0.7.0.0";
-       sha256 = "0g1rmii4jnffl2f4ziibw62nkgzl92wf4pvq0fvzwkm01rpm9frz";
+       version = "0.8.0.1";
+       sha256 = "0ayn6l2c6009wrxc4rya6dc8185wp6krdck8mbbasrlvah3in3cs";
        libraryHaskellDepends = [
          base incipit-core path path-io polysemy polysemy-conc
-         polysemy-resume posix-pty process stm-chans typed-process unix
+         polysemy-resume polysemy-time posix-pty process stm-chans
+         typed-process unix
        ];
        testHaskellDepends = [
          base incipit-core polysemy polysemy-conc polysemy-plugin
-         polysemy-resume polysemy-test polysemy-time tasty typed-process
+         polysemy-resume polysemy-test polysemy-time tasty
+         tasty-expected-failure typed-process
        ];
        description = "Polysemy Effects for System Processes";
        license = "BSD-2-Clause-Patent";
@@ -214656,6 +215758,28 @@ self: {
        license = "BSD-2-Clause-Patent";
      }) {};
 
+  "polysemy-scoped-fs" = callPackage
+    ({ mkDerivation, base, bytestring, directory, doctest, extra, path
+     , polysemy, polysemy-fs, polysemy-path, polysemy-plugin, text
+     }:
+     mkDerivation {
+       pname = "polysemy-scoped-fs";
+       version = "0.1.0.0";
+       sha256 = "08mj5q8rfbhyd7ns4vf696cqvm0792f5dv3x1w0ci3spl2m7nhdi";
+       libraryHaskellDepends = [
+         base bytestring directory doctest extra path polysemy polysemy-fs
+         polysemy-path polysemy-plugin text
+       ];
+       testHaskellDepends = [
+         base bytestring directory doctest extra path polysemy polysemy-fs
+         polysemy-path polysemy-plugin text
+       ];
+       description = "Well-typed filesystem operation effects";
+       license = lib.licenses.agpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "polysemy-several" = callPackage
     ({ mkDerivation, base, polysemy }:
      mkDerivation {
@@ -215192,10 +216316,8 @@ self: {
      }:
      mkDerivation {
        pname = "popkey";
-       version = "0.1.0.1";
-       sha256 = "1nlbd54q7npxm9hk4f289md6rch0sqnl236iimwsrwllpq6rbxbz";
-       revision = "2";
-       editedCabalFile = "1wpbwyya9fcdiyqs6lrbcxw7d64vn12kc7n63h2wjxrizjhfs6n6";
+       version = "0.1.0.2";
+       sha256 = "0ibk4qwcizsqvyvb8lgad5c0szgw7571bi2c54b5r3rrm7vzpx05";
        libraryHaskellDepends = [
          base bitvec bytestring containers hw-bits hw-prim hw-rankselect
          hw-rankselect-base store text vector
@@ -216017,6 +217139,34 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "postgresql-binary_0_12_4_3" = callPackage
+    ({ mkDerivation, aeson, base, binary-parser, bytestring
+     , bytestring-strict-builder, containers, conversion
+     , conversion-bytestring, conversion-text, criterion, json-ast
+     , network-ip, postgresql-libpq, QuickCheck, quickcheck-instances
+     , rerebase, scientific, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, transformers, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.12.4.3";
+       sha256 = "0g3qj41gdiphngil9rz4wi9sg78m13q9mvh6369i46612w0jc9dv";
+       libraryHaskellDepends = [
+         aeson base binary-parser bytestring bytestring-strict-builder
+         containers network-ip scientific text time transformers
+         unordered-containers uuid vector
+       ];
+       testHaskellDepends = [
+         aeson conversion conversion-bytestring conversion-text json-ast
+         network-ip postgresql-libpq QuickCheck quickcheck-instances
+         rerebase tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "postgresql-common" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, postgresql-simple }:
      mkDerivation {
@@ -216611,8 +217761,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-syntax";
-       version = "0.4.0.2";
-       sha256 = "17lqsy3ph6a8psvbdxkfnkj888crz46qxqpc0sg27665cr8nrxpq";
+       version = "0.4.1";
+       sha256 = "1ls3jjgbvdy0x3110lgjd3icas187qyd31cwvi858l6ayhwf9kck";
        libraryHaskellDepends = [
          base bytestring case-insensitive hashable headed-megaparsec
          megaparsec parser-combinators text text-builder
@@ -216781,21 +217931,21 @@ self: {
     ({ mkDerivation, aeson, aeson-qq, ansi-wl-pprint, async
      , auto-update, base, base64-bytestring, bytestring
      , case-insensitive, cassava, configurator-pg, containers
-     , contravariant, contravariant-extras, cookie, directory, either
-     , fast-logger, gitrev, hasql, hasql-dynamic-statements
+     , contravariant, contravariant-extras, cookie, directory, doctest
+     , either, fast-logger, gitrev, hasql, hasql-dynamic-statements
      , hasql-notifications, hasql-pool, hasql-transaction, heredoc
      , hspec, hspec-wai, hspec-wai-json, HTTP, http-types
      , insert-ordered-containers, interpolatedstring-perl6, jose, lens
      , lens-aeson, monad-control, mtl, network, network-uri
-     , optparse-applicative, parsec, process, protolude, Ranged-sets
-     , regex-tdfa, retry, scientific, swagger2, text, time
+     , optparse-applicative, parsec, pretty-simple, process, protolude
+     , Ranged-sets, regex-tdfa, retry, scientific, swagger2, text, time
      , transformers-base, unix, unordered-containers, vector, wai
      , wai-cors, wai-extra, wai-logger, wai-middleware-static, warp
      }:
      mkDerivation {
        pname = "postgrest";
-       version = "8.0.0";
-       sha256 = "0ypgfpm8732rg94yiava27w1pyng9fg0zqad5nb94q1z402rfgfi";
+       version = "9.0.0";
+       sha256 = "1gd5h2091bqva37cfzzgq0cf7cd0djkmyq7ig1af9vmhzq8ljrw7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -216813,11 +217963,11 @@ self: {
        executableHaskellDepends = [ base containers protolude ];
        testHaskellDepends = [
          aeson aeson-qq async auto-update base base64-bytestring bytestring
-         case-insensitive cassava containers contravariant hasql
+         case-insensitive cassava containers contravariant doctest hasql
          hasql-dynamic-statements hasql-pool hasql-transaction heredoc hspec
          hspec-wai hspec-wai-json http-types lens lens-aeson monad-control
-         process protolude regex-tdfa text time transformers-base wai
-         wai-extra
+         pretty-simple process protolude regex-tdfa text time
+         transformers-base wai wai-extra
        ];
        description = "REST API for any Postgres database";
        license = lib.licenses.mit;
@@ -217109,17 +218259,17 @@ self: {
      }:
      mkDerivation {
        pname = "powerdns";
-       version = "0.4.0";
-       sha256 = "0gcf04naa9ai4f6v7ycakwmdz379dqrr3nl0ry1pnqck835p629a";
+       version = "0.4.1";
+       sha256 = "1ss88q1lndjvmy7bp2jxh7qbh6z57kl1q5zcv4kzjampajf1fjbi";
        revision = "1";
-       editedCabalFile = "1pf6f09kdawn17nrjn221xr40g66wa282r65521y4mdmlm6yrfd0";
+       editedCabalFile = "08n8l7629ci2xksjihqwrag0gcj0cdhaj94awmybd454j4idy5c1";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq hashable servant servant-client servant-client-core text
          time
        ];
        testHaskellDepends = [
-         base http-client servant-client servant-client-core tasty
+         base http-client servant servant-client servant-client-core tasty
          tasty-hunit
        ];
        description = "PowerDNS API bindings for api/v1";
@@ -218399,8 +219549,8 @@ self: {
      }:
      mkDerivation {
        pname = "prettyprinter-combinators";
-       version = "0.1.0.1";
-       sha256 = "0plnan8dvxl1y9h5vazszhdrf47862jqbhyx1ibldak19bibp367";
+       version = "0.1.1";
+       sha256 = "1m6338w6cd7fsib00zs8dk16b4mxfa1vswg5bmkzafas1db6qbcg";
        libraryHaskellDepends = [
          base bimap bytestring containers dlist pretty-show prettyprinter
          syb template-haskell text unordered-containers vector
@@ -219627,8 +220777,8 @@ self: {
      }:
      mkDerivation {
        pname = "procex";
-       version = "0.3.1";
-       sha256 = "16f91ic12wldf59dabdca76bdcvq5r1alf05bai060dby5qqj2qj";
+       version = "0.3.2";
+       sha256 = "0962i86fdlgrzrzq6sp1v5hpkp1vsrsacpnalxvsz1nc81pi14qj";
        libraryHaskellDepends = [
          async base bytestring containers deepseq unix utf8-string
        ];
@@ -219724,6 +220874,7 @@ self: {
        libraryHaskellDepends = [ base category ];
        description = "Product category";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "product-isomorphic" = callPackage
@@ -221661,8 +222812,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptera-th";
-       version = "0.3.0.0";
-       sha256 = "0w5kr7cp0kcxh1cmqb38waxci81i9ccqn42kvhkrkzf35pnkn0m4";
+       version = "0.5.0.0";
+       sha256 = "13hhiykr2rbnb2qcxrr7wwb6if7szprq4pvbihp6riwfvh1p9y9r";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array base containers enummapset-th ghc-prim membership ptera
@@ -221718,8 +222869,8 @@ self: {
      }:
      mkDerivation {
        pname = "ptr-poker";
-       version = "0.1.2.5";
-       sha256 = "11yiqk8l3897xs13cdd8nslg55n99qssbbgpfwgc6sd15vf2hc3g";
+       version = "0.1.2.8";
+       sha256 = "10bbfw0jdzvds4j6qcgppn4l7xflqa2578w6sqmz807mwr563f8c";
        libraryHaskellDepends = [ base bytestring scientific text ];
        testHaskellDepends = [ hedgehog numeric-limits rerebase ];
        benchmarkHaskellDepends = [ gauge rerebase ];
@@ -222330,18 +223481,18 @@ self: {
      , fsnotify, gitrev, Glob, happy, haskeline, hspec, hspec-discover
      , http-types, HUnit, language-javascript, lifted-async, lifted-base
      , memory, microlens, microlens-platform, monad-control
-     , monad-logger, mtl, network, optparse-applicative, parallel
-     , parsec, pattern-arrows, process, protolude, purescript-cst
-     , QuickCheck, regex-base, regex-tdfa, safe, scientific, semialign
-     , semigroups, serialise, sourcemap, split, stm, stringsearch, syb
-     , text, these, time, transformers, transformers-base
-     , transformers-compat, unordered-containers, utf8-string, vector
-     , wai, wai-websockets, warp, websockets
+     , monad-logger, monoidal-containers, mtl, network
+     , optparse-applicative, parallel, parsec, pattern-arrows, process
+     , protolude, QuickCheck, regex-base, regex-tdfa, safe, scientific
+     , semialign, semigroups, serialise, sourcemap, split, stm
+     , stringsearch, syb, text, these, time, transformers
+     , transformers-base, transformers-compat, unordered-containers
+     , utf8-string, vector
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.9";
-       sha256 = "13canh915v668ii58y880b6zgzga3qmxxiblljs9qsdpwx1q7yzd";
+       version = "0.15.0";
+       sha256 = "0md1rkm7w6yn45i4igwqpvb82p491ai1w1z2yiym1qyi8p08798g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -222350,10 +223501,10 @@ self: {
          cheapskate clock containers cryptonite data-ordlist deepseq
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline language-javascript lifted-async lifted-base memory
-         microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-cst
-         regex-tdfa safe scientific semialign semigroups serialise sourcemap
-         split stm stringsearch syb text these time transformers
+         microlens microlens-platform monad-control monad-logger
+         monoidal-containers mtl parallel parsec pattern-arrows process
+         protolude regex-tdfa safe scientific semialign semigroups serialise
+         sourcemap split stm stringsearch syb text these time transformers
          transformers-base transformers-compat unordered-containers
          utf8-string vector
        ];
@@ -222365,12 +223516,12 @@ self: {
          directory dlist edit-distance exceptions file-embed filepath
          fsnotify gitrev Glob haskeline http-types language-javascript
          lifted-async lifted-base memory microlens microlens-platform
-         monad-control monad-logger mtl network optparse-applicative
-         parallel parsec pattern-arrows process protolude purescript-cst
-         regex-tdfa safe scientific semialign semigroups serialise sourcemap
-         split stm stringsearch syb text these time transformers
+         monad-control monad-logger monoidal-containers mtl network
+         optparse-applicative parallel parsec pattern-arrows process
+         protolude regex-tdfa safe scientific semialign semigroups serialise
+         sourcemap split stm stringsearch syb text these time transformers
          transformers-base transformers-compat unordered-containers
-         utf8-string vector wai wai-websockets warp websockets
+         utf8-string vector
        ];
        executableToolDepends = [ happy ];
        testHaskellDepends = [
@@ -222379,11 +223530,11 @@ self: {
          cheapskate clock containers cryptonite data-ordlist deepseq
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline hspec HUnit language-javascript lifted-async lifted-base
-         memory microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-cst
-         QuickCheck regex-base regex-tdfa safe scientific semialign
-         semigroups serialise sourcemap split stm stringsearch syb text
-         these time transformers transformers-base transformers-compat
+         memory microlens microlens-platform monad-control monad-logger
+         monoidal-containers mtl parallel parsec pattern-arrows process
+         protolude QuickCheck regex-base regex-tdfa safe scientific
+         semialign semigroups serialise sourcemap split stm stringsearch syb
+         text these time transformers transformers-base transformers-compat
          unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
@@ -225098,8 +226249,8 @@ self: {
     ({ mkDerivation, base, mtl, template-haskell, th-compat }:
      mkDerivation {
        pname = "quotet";
-       version = "0.0.1.0";
-       sha256 = "1ajxvhh2zl99ddvmvicsjq775l0k3d8lh433v1z6z6i7zra5hg4g";
+       version = "0.0.1.1";
+       sha256 = "16fwbf9q2ivpi3j7y26lsbqvwwk7vidjn6q9iz4x6sq8adhy45rz";
        libraryHaskellDepends = [ base mtl template-haskell th-compat ];
        description = "Monad transformer for Quote from template-haskell";
        license = lib.licenses.cc0;
@@ -225781,6 +226932,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "random_1_2_1_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, doctest
+     , mtl, primitive, rdtsc, smallcheck, split, splitmix, stm, tasty
+     , tasty-bench, tasty-hunit, tasty-inspection-testing
+     , tasty-smallcheck, time, transformers
+     }:
+     mkDerivation {
+       pname = "random";
+       version = "1.2.1.1";
+       sha256 = "0xlv1k4sj87akwvj54kq4nrfkzi6qcz1941bf78pnkbaxpvp44iy";
+       libraryHaskellDepends = [ base bytestring deepseq mtl splitmix ];
+       testHaskellDepends = [
+         base bytestring containers doctest smallcheck stm tasty tasty-hunit
+         tasty-inspection-testing tasty-smallcheck transformers
+       ];
+       benchmarkHaskellDepends = [
+         base mtl primitive rdtsc split splitmix tasty-bench time
+       ];
+       description = "Pseudo-random number generation";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "random-access-file" = callPackage
     ({ mkDerivation, base, bytestring, concurrent-extra, containers
      , criterion, directory, lrucaching, mwc-random, random, stm, unix
@@ -225845,6 +227019,7 @@ self: {
        libraryHaskellDepends = [ base primitive transformers util ];
        description = "Class of random value generation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "random-derive" = callPackage
@@ -226171,13 +227346,14 @@ self: {
     ({ mkDerivation, base, doctest, typecheck-plugin-nat-simple }:
      mkDerivation {
        pname = "ranged-list";
-       version = "0.1.0.0";
-       sha256 = "0v0a80g17r8dap28gm83wnk32m3snlmw1r51vvwfb74a4q3613w8";
+       version = "0.1.0.1";
+       sha256 = "0xjl1fdzazccsk5b96fmsk49fid40w58dbd99cf7550dvwqbnihg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base typecheck-plugin-nat-simple ];
        testHaskellDepends = [ base doctest typecheck-plugin-nat-simple ];
        description = "The list like structure whose length or range of length can be specified";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rangemin" = callPackage
@@ -226741,14 +227917,14 @@ self: {
        broken = true;
      }) {};
 
-  "rattletrap_11_2_6" = callPackage
+  "rattletrap_11_2_7" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
      , containers, filepath, http-client, http-client-tls, text
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "11.2.6";
-       sha256 = "1y8g39vjnn3lywhg389ql0hqrzpgcj0j76wzhrzsh7ymj87vvirk";
+       version = "11.2.7";
+       sha256 = "19vgqkyxvv9y3yyb42p075nmdm7338f9ln6g0d7sgy9w9zd2vy0d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -228959,6 +230135,19 @@ self: {
        broken = true;
      }) {};
 
+  "refined-with" = callPackage
+    ({ mkDerivation, aeson, base, deepseq, hashable, refined }:
+     mkDerivation {
+       pname = "refined-with";
+       version = "0.3.0";
+       sha256 = "1d74ax7z822xsdnajsja1h49j966s7ym2ah35bpxlikl1l2wsmnh";
+       libraryHaskellDepends = [ aeson base deepseq hashable refined ];
+       description = "Refinement types with an \"refinement applied\" switch";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "refinery" = callPackage
     ({ mkDerivation, base, checkers, exceptions, hspec, mmorph, mtl
      , QuickCheck
@@ -229815,31 +231004,19 @@ self: {
     ({ mkDerivation, base, containers, mtl, semigroups, text }:
      mkDerivation {
        pname = "reform";
-       version = "0.2.7.4";
-       sha256 = "0dl0jz5ibcj4vafpf0a0v52rac4nmmif69817g7qgxavc093nq82";
-       libraryHaskellDepends = [ base containers mtl semigroups text ];
-       description = "reform is a type-safe HTML form generation and validation library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "reform_0_2_7_5" = callPackage
-    ({ mkDerivation, base, containers, mtl, semigroups, text }:
-     mkDerivation {
-       pname = "reform";
        version = "0.2.7.5";
        sha256 = "14p98i2682dm1n4drdrvilz67wfp2lr7m8f0wlmk40q3qmhc05xb";
        libraryHaskellDepends = [ base containers mtl semigroups text ];
        description = "reform is a type-safe HTML form generation and validation library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reform-blaze" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, reform, text }:
      mkDerivation {
        pname = "reform-blaze";
-       version = "0.2.4.3";
-       sha256 = "1r5j827diiqybjm75j0gmfb81q7irdc11sj714589xbb6lkz3g0i";
+       version = "0.2.4.4";
+       sha256 = "0cf1nimvkpag4fqs9jk17cl0h9wkpv2lcq5m1l704pznms22s7c7";
        libraryHaskellDepends = [
          base blaze-html blaze-markup reform text
        ];
@@ -229866,8 +231043,8 @@ self: {
      }:
      mkDerivation {
        pname = "reform-happstack";
-       version = "0.2.5.4";
-       sha256 = "1xknj906vr0q6vrxrvna1777v7hsdg1l3r0wwnga7k1yn5hcfc76";
+       version = "0.2.5.5";
+       sha256 = "0knsx790vf5xvnxhfdz48gz3352z98ghy1ld7yh3rmp1apciqd35";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl random reform text utf8-string
        ];
@@ -230902,8 +232079,8 @@ self: {
      }:
      mkDerivation {
        pname = "registry-messagepack";
-       version = "0.1.0.2";
-       sha256 = "0pwljb8zdq5m47zjfbmy8827g99y2fai6ib9z2p82kkknag1mg5q";
+       version = "0.1.0.3";
+       sha256 = "0i49cic87jdkfalwbyry7c6f1828vd1n33nkdjmxa73w3vhjklf5";
        libraryHaskellDepends = [
          base containers msgpack protolude registry template-haskell text
          transformers vector
@@ -232378,7 +233555,7 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "req_3_11_0" = callPackage
+  "req_3_12_0" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
      , bytestring, case-insensitive, connection, exceptions, hspec
      , hspec-core, hspec-discover, http-api-data, http-client
@@ -232388,8 +233565,8 @@ self: {
      }:
      mkDerivation {
        pname = "req";
-       version = "3.11.0";
-       sha256 = "12nfm2pifwv8w4qbadqhraf6vbg9k54wcvnhwk96zvykhbnhpf2g";
+       version = "3.12.0";
+       sha256 = "1gwdqmqmj3acim5r8c4sjzcvr3hvlbcjwkrpcsvq95ckr1wmzpqp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -232556,8 +233733,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "requirements";
-       version = "0.6.0.0";
-       sha256 = "1s0s3p0dy07222ks83w3spfw9df33q5lggqv3dw4m9hd5x16a6zi";
+       version = "0.7.0.0";
+       sha256 = "030vwfasxjdgdadcf5i68i3dc436dj6gi3ql4k8qh09yf8q1mm63";
        libraryHaskellDepends = [ base ];
        description = "Abstraction to manage user defined Type Errors";
        license = lib.licenses.gpl3Only;
@@ -232931,6 +234108,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "resourcet_1_2_5" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, mtl
+     , primitive, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "resourcet";
+       version = "1.2.5";
+       sha256 = "0bj98srdlz2yx3nx030m0nzv6yyz1ry50v6bwdff5a6xi256jz7n";
+       libraryHaskellDepends = [
+         base containers exceptions mtl primitive transformers unliftio-core
+       ];
+       testHaskellDepends = [ base exceptions hspec transformers ];
+       description = "Deterministic allocation and freeing of scarce resources";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "resourcet-pool" = callPackage
     ({ mkDerivation, base, resource-pool, resourcet }:
      mkDerivation {
@@ -233210,8 +234404,8 @@ self: {
      }:
      mkDerivation {
        pname = "restful-snap";
-       version = "0.4.1";
-       sha256 = "1447hbwky8lslblq3vpm7d1zyri4apmf459fbaq3m15kkd1qsyxq";
+       version = "0.4.2";
+       sha256 = "0639j9dv51jra3mx9pqsb9hwrp73cw4xlc27p4hklk3xqr0fvf0p";
        libraryHaskellDepends = [
          base blaze-builder bytestring containers data-default
          digestive-functors errors heist lens map-syntax mtl old-locale
@@ -233434,8 +234628,8 @@ self: {
        pname = "retrie";
        version = "1.2.0.1";
        sha256 = "1n3g9wr45xz1q2mhlj1r2709rqakczrvd7x6vxh7iapz43f69c6x";
-       revision = "1";
-       editedCabalFile = "0dx1gxf2c88rzd1z83lmvgpbv8xny9yz8px4cjjpnmlrah1fmmqh";
+       revision = "2";
+       editedCabalFile = "0h6r4jg9mnqwvlsl3s6yl2zvhkwr8pdypbzvky4kwz4zvc03j5ql";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -233464,8 +234658,8 @@ self: {
      }:
      mkDerivation {
        pname = "retroclash-lib";
-       version = "0.1.1";
-       sha256 = "1v8xw37cbnz16gqmf65hgk0kvh0vgmq8sj6nh4ngz48l6i5wylv6";
+       version = "0.1.2";
+       sha256 = "11f15nhxp8aaim6yrzlh33dilp2zywdfikgdii44q0mszmm9q0vr";
        libraryHaskellDepends = [
          barbies base clash-ghc clash-lib clash-prelude containers
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -234442,8 +235636,8 @@ self: {
      }:
      mkDerivation {
        pname = "rio";
-       version = "0.1.21.0";
-       sha256 = "013m4xgsmg8h1rba9krxppz49lc5wz26gksms5zibsjj0w59m58h";
+       version = "0.1.22.0";
+       sha256 = "0rpc4f2yvw0y6mqz9ykm3778j6srya7ssww691kpf9nb8vddgjb6";
        libraryHaskellDepends = [
          base bytestring containers deepseq directory exceptions filepath
          hashable microlens microlens-mtl mtl primitive process text time
@@ -236042,6 +237236,7 @@ self: {
        doHaddock = false;
        description = "Row types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "row-types" = callPackage
@@ -236239,6 +237434,19 @@ self: {
        license = lib.licenses.gpl2Only;
      }) {};
 
+  "rpm-nvr_0_1_2" = callPackage
+    ({ mkDerivation, base, extra, filepath, hspec }:
+     mkDerivation {
+       pname = "rpm-nvr";
+       version = "0.1.2";
+       sha256 = "0g4fpay6rry9mnvy6mk793my1fkvpdxx40b5hn6gjr0vr1mvg2yp";
+       libraryHaskellDepends = [ base extra filepath ];
+       testHaskellDepends = [ base filepath hspec ];
+       description = "RPM package name-version-release data types";
+       license = lib.licenses.gpl2Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "rpmbuild-order" = callPackage
     ({ mkDerivation, base, case-insensitive, containers, directory
      , extra, fgl, filepath, graphviz, hspec, optparse-applicative
@@ -237886,15 +239094,15 @@ self: {
        license = lib.licenses.mit;
      }) {inherit (pkgs) libsodium;};
 
-  "saltine_0_2_0_0" = callPackage
+  "saltine_0_2_0_1" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deepseq, hashable
      , libsodium, profunctors, QuickCheck, semigroups, test-framework
      , test-framework-quickcheck2, text
      }:
      mkDerivation {
        pname = "saltine";
-       version = "0.2.0.0";
-       sha256 = "1xgrnm6qmm0mymq3dh4mdvzi8sfssnpz06xsrw8zdpa1vl0a0gm6";
+       version = "0.2.0.1";
+       sha256 = "181fxlp8p0zhz58h23fxavhcbxkwhd3a3idlbhawb2rhiah6fs6f";
        libraryHaskellDepends = [
          base bytestring deepseq hashable profunctors text
        ];
@@ -238669,6 +239877,34 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "sbp_4_2_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, basic-prelude, binary, binary-conduit
+     , bytestring, cmdargs, conduit, conduit-extra, data-binary-ieee754
+     , lens, lens-aeson, monad-loops, resourcet, tasty, tasty-hunit
+     , template-haskell, text, time, yaml
+     }:
+     mkDerivation {
+       pname = "sbp";
+       version = "4.2.0";
+       sha256 = "1d9a9m41wfp3crsykdcmaki8kj1j7kdaq72l08wymkz3kqwakfr7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring basic-prelude binary bytestring
+         data-binary-ieee754 lens lens-aeson monad-loops template-haskell
+         text
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base basic-prelude binary-conduit bytestring
+         cmdargs conduit conduit-extra lens resourcet time yaml
+       ];
+       testHaskellDepends = [ base basic-prelude tasty tasty-hunit ];
+       description = "SwiftNav's SBP Library";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "sbp2udp" = callPackage
     ({ mkDerivation, base, basic-prelude, binary, binary-conduit
      , bytestring, conduit, conduit-extra, network, optparse-generic
@@ -238750,6 +239986,36 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) z3;};
 
+  "sbv_9_0" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , deepseq, directory, filepath, hlint, libBF, mtl, pretty, process
+     , QuickCheck, random, syb, tasty, tasty-bench, tasty-golden
+     , tasty-hunit, tasty-quickcheck, template-haskell, text, time
+     , transformers, uniplate, z3
+     }:
+     mkDerivation {
+       pname = "sbv";
+       version = "9.0";
+       sha256 = "0r84ak8n8vqs1xbvxjzai828yr5msjyf5igf6qmn6f47m0mhf6cz";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array async base containers deepseq directory filepath libBF mtl
+         pretty process QuickCheck random syb template-haskell text time
+         transformers uniplate
+       ];
+       testHaskellDepends = [
+         base bytestring containers directory filepath hlint mtl process
+         QuickCheck random tasty tasty-golden tasty-hunit tasty-quickcheck
+       ];
+       testSystemDepends = [ z3 ];
+       benchmarkHaskellDepends = [
+         base deepseq filepath process random tasty tasty-bench time
+       ];
+       description = "SMT Based Verification: Symbolic Haskell theorem prover using SMT solving";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) z3;};
+
   "sbvPlugin" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, ghc
      , ghc-prim, mtl, process, sbv, tasty, tasty-golden
@@ -238757,8 +240023,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbvPlugin";
-       version = "9.0.1";
-       sha256 = "1hg1sxnspyxjpj98c2h7hzf93m9acw8cjiva4wsnxl1gspln4gwb";
+       version = "9.2.2";
+       sha256 = "0cv2f6n32m8xaii5dpk3kz6wclxgmri1zfh09dq23s91l5asrp1v";
        libraryHaskellDepends = [
          base containers ghc ghc-prim mtl sbv template-haskell
        ];
@@ -240077,8 +241343,8 @@ self: {
      }:
      mkDerivation {
        pname = "scotty-utils";
-       version = "0.1.0.0";
-       sha256 = "0f77b5xmr5gwswz15i5833karfr1qvyaaiy58khd75n9awfx5jqv";
+       version = "0.2.0.0";
+       sha256 = "0b2r43dcgcq7azcn0l9lxml84h6w5bk09h65y1mlvccwzhwbfini";
        libraryHaskellDepends = [
          aeson aeson-result base http-types scotty text
        ];
@@ -241109,29 +242375,6 @@ self: {
      }:
      mkDerivation {
        pname = "secp256k1-haskell";
-       version = "0.6.0";
-       sha256 = "0qq37xy61kk5h9h6zaiycjlrr1k9kjddy319qgqi0ja9vkm8msj1";
-       libraryHaskellDepends = [
-         base base16 bytestring cereal deepseq entropy hashable QuickCheck
-         string-conversions unliftio-core
-       ];
-       libraryPkgconfigDepends = [ secp256k1 ];
-       testHaskellDepends = [
-         base base16 bytestring cereal deepseq entropy hashable hspec HUnit
-         monad-par mtl QuickCheck string-conversions unliftio-core
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Bindings for secp256k1";
-       license = lib.licenses.mit;
-     }) {inherit (pkgs) secp256k1;};
-
-  "secp256k1-haskell_0_6_1" = callPackage
-    ({ mkDerivation, base, base16, bytestring, cereal, deepseq, entropy
-     , hashable, hspec, hspec-discover, HUnit, monad-par, mtl
-     , QuickCheck, secp256k1, string-conversions, unliftio-core
-     }:
-     mkDerivation {
-       pname = "secp256k1-haskell";
        version = "0.6.1";
        sha256 = "0abxwmls4rvsnck7p5gpajmha2vc9fbcrr2q1alkpw8acmgfhr76";
        libraryHaskellDepends = [
@@ -241146,7 +242389,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {inherit (pkgs) secp256k1;};
 
   "secp256k1-legacy" = callPackage
@@ -242104,6 +243346,31 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "seocheck" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, conduit
+     , containers, html-conduit, http-client, http-client-tls
+     , http-types, monad-logger, network-uri, optparse-applicative, path
+     , path-io, pretty-show, rainbow, stm, text, unliftio, validity
+     , xml-conduit
+     }:
+     mkDerivation {
+       pname = "seocheck";
+       version = "0.1.0.0";
+       sha256 = "065hs3y4mkl4l49qa6n7i441aax8y5zyxcpf0zpl9rz6w6llc3g7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive conduit containers
+         html-conduit http-client http-client-tls http-types monad-logger
+         network-uri optparse-applicative path path-io pretty-show rainbow
+         stm text unliftio validity xml-conduit
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Check for common SEO mistakes on CI";
+       license = lib.licenses.mit;
+     }) {};
+
   "seonbi" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , bytestring-trie, Cabal, case-insensitive, cases, cassava, cmark
@@ -242455,10 +243722,8 @@ self: {
      }:
      mkDerivation {
        pname = "serialise";
-       version = "0.2.4.0";
-       sha256 = "07i50rza58x8j7kw9w2mhbks41gjv6xgnlgfdb0hw2cwdmkrmjqd";
-       revision = "1";
-       editedCabalFile = "0rgc0sr4csmiq38sf6x1xz6cqmp30nn8837xsfwpvcfb7kh4bqy0";
+       version = "0.2.5.0";
+       sha256 = "08ny0bdxd591w4bx6sd16ndik0j8g3578ck6zj667rm1z3ssqqj2";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive strict text these time unordered-containers vector
@@ -243101,8 +244366,6 @@ self: {
        ];
        description = "Servant CSV content-type for cassava";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "servant-checked-exceptions" = callPackage
@@ -243514,8 +244777,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-errors";
-       version = "0.1.6.0";
-       sha256 = "0qap8wbchpl48aigwqgxrgb6v3d6h80fpxq319c399pwrrkzyh9v";
+       version = "0.1.7.0";
+       sha256 = "0g7mclwxvjw9jwxmd8nkz9a0v4jwm9nxpwlranfdm2f55pa288i1";
        libraryHaskellDepends = [
          aeson base base-compat bytestring http-api-data http-media
          http-types scientific servant string-conversions text
@@ -243801,14 +245064,14 @@ self: {
     ({ mkDerivation, base, servant-server, text }:
      mkDerivation {
        pname = "servant-htmx";
-       version = "0.1.0.1";
-       sha256 = "1plqqaa3vhmwg37bai6xpi415fd772fx6rf0dr919mc79ms0zcfx";
+       version = "0.1.0.2";
+       sha256 = "06lcs2qv6dxlx6sj16qr426vm7rklv80d720hrw4zfdba5rsl7d9";
        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";
+       description = "A library for using servant with htmx";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
        broken = true;
@@ -246602,16 +247865,16 @@ self: {
   "shake-bench" = callPackage
     ({ mkDerivation, aeson, base, Chart, Chart-diagrams
      , diagrams-contrib, diagrams-core, diagrams-lib, diagrams-svg
-     , directory, extra, filepath, lens, lens-aeson, shake, text
+     , directory, extra, filepath, lens, lens-aeson, mtl, shake, text
      }:
      mkDerivation {
        pname = "shake-bench";
-       version = "0.1.0.3";
-       sha256 = "04pngr9a1g7dr7kb0xp9k2yrbg6vqk3lfpksz6bbyydbmypix3ay";
+       version = "0.1.1.0";
+       sha256 = "1p2xa2kxfvzy2c188i9czr5w4jck4sxw2jb7s9dc1b5xf1a4bi01";
        libraryHaskellDepends = [
          aeson base Chart Chart-diagrams diagrams-contrib diagrams-core
          diagrams-lib diagrams-svg directory extra filepath lens lens-aeson
-         shake text
+         mtl shake text
        ];
        description = "Build rules for historical benchmarking";
        license = lib.licenses.asl20;
@@ -247001,18 +248264,19 @@ self: {
 
   "shakespeare" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
-     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
-     , process, scientific, template-haskell, text, th-lift, time
-     , transformers, unordered-containers, vector
+     , containers, directory, exceptions, file-embed, ghc-prim, hspec
+     , HUnit, parsec, process, scientific, template-haskell, text
+     , th-lift, time, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.26";
-       sha256 = "1pagjwgbp1z07gxy9k3rr0hl7fzjk2d4ihwqddrk9c5bnkq9maim";
+       version = "2.0.27";
+       sha256 = "1bnl7m96x8qr2rvkfzjy01d720xb3c55l3vg0zm2lfbz3gpml1jz";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
-         exceptions ghc-prim parsec process scientific template-haskell text
-         th-lift time transformers unordered-containers vector
+         exceptions file-embed ghc-prim parsec process scientific
+         template-haskell text th-lift time transformers
+         unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
@@ -248713,14 +249977,14 @@ self: {
 
   "simple-cmd" = callPackage
     ({ mkDerivation, base, directory, extra, filepath, hspec, process
-     , unix
+     , time, unix
      }:
      mkDerivation {
        pname = "simple-cmd";
-       version = "0.2.4";
-       sha256 = "19kd863gm33sj01biqz94jk9cy8vb07xlqmw2m9vlh16h3phgqv1";
+       version = "0.2.5";
+       sha256 = "151js143l6b5rg6llvmcy1hcg80cmbp50ydrjhyfjqj32a1ygrsz";
        libraryHaskellDepends = [
-         base directory extra filepath process unix
+         base directory extra filepath process time unix
        ];
        testHaskellDepends = [ base hspec ];
        description = "Simple String-based process commands";
@@ -249491,6 +250755,8 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Three-dimensional vectors of doubles with basic operations";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "simple-zipper" = callPackage
@@ -249730,8 +250996,8 @@ self: {
      }:
      mkDerivation {
        pname = "simplexmq";
-       version = "1.0.2";
-       sha256 = "142jpsy8myjffx4c1iw21iv210wgnyikmr66bih4gm3xgbqniz9q";
+       version = "1.1.0";
+       sha256 = "1qzrc32bs4s2qn8hz6z0ni5nv89a6vakl5wzk8sa7p2b3fkrc3gw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -250585,13 +251851,13 @@ self: {
      }:
      mkDerivation {
        pname = "sketch-frp-copilot";
-       version = "1.0.1";
-       sha256 = "0hm4bvlj7g9j6k2mc0s426s17nj4w1jpi0v052i2c7b0g7ahdxj8";
+       version = "1.0.2";
+       sha256 = "10r4j3plg70vawczk9fr388ljjqnjn08apv8s9am754g59fnwrd3";
        libraryHaskellDepends = [
          base containers copilot copilot-c99 copilot-language mtl
          optparse-applicative
        ];
-       description = "FRP sketch programming with Copilot";
+       description = "Sketch programming with Copilot";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
      }) {};
@@ -251615,14 +252881,12 @@ self: {
      }:
      mkDerivation {
        pname = "smash";
-       version = "0.1.2";
-       sha256 = "178ja9c88py31059i0fqv81b1dbgfyv2v64z9ak2k5p79946aa0w";
-       revision = "1";
-       editedCabalFile = "0i5ba4zn11b075fy32pawfhjy81731pjiy5f88f6z8zzbbgwfyny";
+       version = "0.1.3";
+       sha256 = "1i8a8i81xs68zrsv173q0xv0f9cmxmhkgd5k90x60kv7v5pwpqw4";
        libraryHaskellDepends = [
          base bifunctors binary deepseq hashable mtl template-haskell
        ];
-       description = "Smash products, wedge products, and pointed products";
+       description = "Combinators for Maybe types";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -251630,10 +252894,8 @@ self: {
     ({ mkDerivation, aeson, base, smash, unordered-containers }:
      mkDerivation {
        pname = "smash-aeson";
-       version = "0.1.0.0";
-       sha256 = "0vmazs3ypqxaw4zdywimxfzrsvidnyk5damx6fpy549ny9319rqs";
-       revision = "1";
-       editedCabalFile = "1y0k6gz9qlr98f543607zkx6a97fnzh3zrbi2b59rlljp0rjvdw8";
+       version = "0.2.0.1";
+       sha256 = "0gbqvm34afkv1v0xajz8cjw0xaih3ls4dh1ygcbybgic08y0xl85";
        libraryHaskellDepends = [ aeson base smash unordered-containers ];
        description = "Aeson support for the smash library";
        license = lib.licenses.bsd3;
@@ -251645,8 +252907,8 @@ self: {
     ({ mkDerivation, base, lens, smash }:
      mkDerivation {
        pname = "smash-lens";
-       version = "0.1.0.1";
-       sha256 = "1j7v3713aahp3vh7dswrkdfrnksi1zlw9iv9zanhb714s6anyq66";
+       version = "0.1.0.3";
+       sha256 = "0lzvw7349wv1fjsm4q4jwggmjx9cxsrrjydvpq3q12kj6s9p9m5k";
        libraryHaskellDepends = [ base lens smash ];
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
@@ -251659,10 +252921,8 @@ self: {
     ({ mkDerivation, base, microlens, smash }:
      mkDerivation {
        pname = "smash-microlens";
-       version = "0.1.0.0";
-       sha256 = "164vmvrgfsq777408skndzybhg4cp0d97vrijk6b66nnv9k4ril0";
-       revision = "1";
-       editedCabalFile = "020r04bxhml84lgl1bvf2s6gjahswdxpzcrla43rqhx0paz0n0cs";
+       version = "0.1.0.2";
+       sha256 = "0rfpdaw1zs8fpw6kp5zkrhj8nmx839fp2ca0cgk14g431yl651ir";
        libraryHaskellDepends = [ base microlens smash ];
        testHaskellDepends = [ base ];
        description = "Optics for the `smash` library";
@@ -251673,8 +252933,8 @@ self: {
     ({ mkDerivation, base, optics-core, smash }:
      mkDerivation {
        pname = "smash-optics";
-       version = "0.1.0.1";
-       sha256 = "1jf60vx8hlmyjgap91fvwn0p0hnazpcimshhkz5lsys0ynd4pcwh";
+       version = "0.1.0.2";
+       sha256 = "0acxkswkvbcwd8mawy9w029h01g3l30rkvvy6yzkb693l8xwiiry";
        libraryHaskellDepends = [ base optics-core smash ];
        description = "Optics for the `smash` library using `optics-core`";
        license = lib.licenses.bsd3;
@@ -251884,6 +253144,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Interface to Satisfiability Modulo Theories solvers";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "smt-lib" = callPackage
@@ -252138,14 +253399,14 @@ self: {
      }:
      mkDerivation {
        pname = "snack";
-       version = "0.1.0.0";
-       sha256 = "01h49r64mg55ii32gnd7bab4rmgp73r3gks9g35z2qgdacwijwac";
+       version = "0.2.0.0";
+       sha256 = "13crnza7fav388s3n8gywbjam97xqhdqh0r10dcgpm5jffi8vns2";
        libraryHaskellDepends = [ base bytestring bytestring-lexing text ];
        benchmarkHaskellDepends = [
          attoparsec base bytestring criterion string-conversions text
        ];
        description = "Strict ByteString Parser Combinator";
-       license = lib.licenses.mit;
+       license = lib.licenses.cc0;
        hydraPlatforms = lib.platforms.none;
        broken = true;
      }) {};
@@ -252521,6 +253782,8 @@ self: {
        pname = "snap-server";
        version = "1.1.2.0";
        sha256 = "0w4yv9a5ilpma0335ariwap2iscmdbaaif88lq3cm7px910nyc4j";
+       revision = "1";
+       editedCabalFile = "0ijwp0s976cpb4nny8l7vpf5xny6k8dy2xb1rya1l2x5yzj7hlrj";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -252666,21 +253929,21 @@ self: {
     ({ mkDerivation, base, blaze-builder, bytestring
      , digestive-functors, digestive-functors-heist
      , digestive-functors-snap, errors, heist, lens, map-syntax
-     , persistent, persistent-postgresql, persistent-template, readable
-     , restful-snap, snap, snap-extras, snaplet-persistent, text, time
-     , transformers, unordered-containers, xmlhtml
+     , persistent, persistent-postgresql, readable, restful-snap, snap
+     , snap-extras, snaplet-persistent, text, time, transformers
+     , unordered-containers, xmlhtml
      }:
      mkDerivation {
        pname = "snaplet-actionlog";
-       version = "0.3.1";
-       sha256 = "1cs1spfy253zf2lxjdx2ki20ikzyj035xcxkzldxkn994amw2p7l";
+       version = "0.4.0";
+       sha256 = "1sg6pni9317v9g0v69b4a8rhnln6bal9iv0znz07ssgj9jg1ppp0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base blaze-builder bytestring digestive-functors
          digestive-functors-heist digestive-functors-snap errors heist lens
-         map-syntax persistent persistent-postgresql persistent-template
-         readable restful-snap snap snap-extras snaplet-persistent text time
-         transformers unordered-containers xmlhtml
+         map-syntax persistent persistent-postgresql readable restful-snap
+         snap snap-extras snaplet-persistent text time transformers
+         unordered-containers xmlhtml
        ];
        description = "Generic action log snaplet for the Snap Framework";
        license = lib.licenses.bsd3;
@@ -255801,6 +257064,18 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "splint_1_0_1_5" = callPackage
+    ({ mkDerivation, base, containers, ghc, hlint, stm }:
+     mkDerivation {
+       pname = "splint";
+       version = "1.0.1.5";
+       sha256 = "1mvkd5jcrivc57g6dw6iwss6682q7wyi6zb2k3nd3vywm1a0c8ql";
+       libraryHaskellDepends = [ base containers ghc hlint stm ];
+       description = "HLint as a GHC source plugin";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "split" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
@@ -255909,6 +257184,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "splitmix-distributions_1_0_0" = callPackage
+    ({ mkDerivation, base, containers, erf, exceptions, hspec, mtl
+     , splitmix, transformers
+     }:
+     mkDerivation {
+       pname = "splitmix-distributions";
+       version = "1.0.0";
+       sha256 = "03ffkpz3877y2jj1cblxk5gvcpl8zdsiccaq0x7xh761fgz3vsd6";
+       libraryHaskellDepends = [
+         base containers erf exceptions mtl splitmix transformers
+       ];
+       testHaskellDepends = [ base erf hspec mtl splitmix transformers ];
+       description = "Random samplers for some common distributions, based on splitmix";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "splitter" = callPackage
     ({ mkDerivation, base, directory, filepath, parsec, range }:
      mkDerivation {
@@ -259726,8 +261018,8 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.7.14";
-       sha256 = "1x4l8fifv785vf6l5z5v090bkfag7d7bvid41v5sdmkw57gxn92h";
+       version = "0.7.15";
+       sha256 = "0ws8gck230q2wcmgbpynvppd122ag1rksjjg67wcy62dfkzdk264";
        libraryHaskellDepends = [
          array async base base-orphans base64-bytestring bifunctors
          bytestring containers contravariant cryptohash deepseq directory
@@ -261149,6 +262441,25 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "strict-list_0_1_7" = callPackage
+    ({ mkDerivation, base, deepseq, hashable, QuickCheck
+     , quickcheck-instances, rerebase, semigroupoids, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "strict-list";
+       version = "0.1.7";
+       sha256 = "0dhfnb5zvwnnbsy0c9lyymfq223zw9jgwv3wn1rq5xp1np68mkbh";
+       libraryHaskellDepends = [ base deepseq hashable semigroupoids ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       description = "Strict linked list";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "strict-optics" = callPackage
     ({ mkDerivation, base, optics-core, strict }:
      mkDerivation {
@@ -261406,8 +262717,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "string-interpreter";
-       version = "0.5.5.0";
-       sha256 = "094fh3byv0bgcaccq15nqra31cw12csmyqj38hib2a2p6jnc3mq1";
+       version = "0.6.0.0";
+       sha256 = "0a0i95j8y49wijh2c0bpy5fwz72w0p6nh19df56g2yy7xik5h6xq";
        libraryHaskellDepends = [ base ];
        description = "Is used in the phonetic languages approach (e. g. in the recursive mode).";
        license = lib.licenses.mit;
@@ -262282,8 +263593,8 @@ self: {
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.14.1.0";
-       sha256 = "1chgkxqbnrgq7w9zzx118igp08h9vfgp150akazmgimy378cadlk";
+       version = "0.14.2.0";
+       sha256 = "1k2ffsizpy476v3zj6j634ap62qklzv80ryyh7c3j5l2cbzfv0gi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -263560,6 +264871,25 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "svgsym" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, filepattern, optparse-applicative, regex-base
+     , regex-tdfa, xml
+     }:
+     mkDerivation {
+       pname = "svgsym";
+       version = "0.1.1.0";
+       sha256 = "014vand8zag2b9ll2g6xn0s91bav7x2v2l4xdvidc0rs6m8s5fx5";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         array base bytestring containers directory filepath filepattern
+         optparse-applicative regex-base regex-tdfa xml
+       ];
+       description = "A tool to prune unused symbols from icon SVG files";
+       license = lib.licenses.gpl3Plus;
+     }) {};
+
   "svgutils" = callPackage
     ({ mkDerivation, base, filepath, xml }:
      mkDerivation {
@@ -263844,23 +265174,23 @@ self: {
 
   "swish" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, hashable
-     , HUnit, intern, mtl, network-uri, old-locale, polyparse
-     , semigroups, test-framework, test-framework-hunit, text, time
+     , HUnit, intern, mtl, network-uri, polyparse, semigroups
+     , test-framework, test-framework-hunit, text, time
      }:
      mkDerivation {
        pname = "swish";
-       version = "0.10.1.0";
-       sha256 = "0xy12fmmiydaqm0cng24qd7c1py1sbb4ww66w0n5w26kwgh622cc";
+       version = "0.10.2.0";
+       sha256 = "162sq6k9ylzlnqj4l9plykvhhrkc7sc08bza6az5cadfvnqlham8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers directory filepath hashable intern mtl network-uri
-         old-locale polyparse text time
+         polyparse text time
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base containers hashable HUnit network-uri old-locale semigroups
+         base containers hashable HUnit network-uri semigroups
          test-framework test-framework-hunit text time
        ];
        description = "A semantic web toolkit";
@@ -264027,17 +265357,17 @@ self: {
      , MonadRandom, mtl, optparse-applicative, path, path-io
      , pretty-show, QuickCheck, quickcheck-io, random, random-shuffle
      , safe, safe-coloured-text, safe-coloured-text-terminfo, split, stm
-     , sydtest-discover, text, yaml
+     , sydtest-discover, text
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.9.0.0";
-       sha256 = "1gp9kifyh88pjnk7vnb0p09fkcmnhy5akgfdacmrmgwcnyswx6f1";
+       version = "0.10.0.0";
+       sha256 = "009d4ai8dqhxcrgkd0d37l97dkiqh7qmr1wvhwj38mblrhpgpm3z";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
          path-io pretty-show QuickCheck quickcheck-io random-shuffle safe
-         safe-coloured-text safe-coloured-text-terminfo split stm text yaml
+         safe-coloured-text safe-coloured-text-terminfo split stm text
        ];
        testHaskellDepends = [
          base bytestring path path-io QuickCheck random safe-coloured-text
@@ -264050,17 +265380,18 @@ self: {
      }) {};
 
   "sydtest-aeson" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, path
-     , path-io, sydtest, sydtest-discover, text
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq
+     , directory, path, path-io, sydtest, sydtest-discover, text
      }:
      mkDerivation {
        pname = "sydtest-aeson";
-       version = "0.0.0.0";
-       sha256 = "0x4n27v60m6h44xwpf60j11j1r9r1zzixlszq21skrf2r6lla2gn";
+       version = "0.1.0.0";
+       sha256 = "1kidxlaw8snyzl0nq2vynjz179blh03cvg2qdjr5j521cjxxmwf8";
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring path path-io sydtest text
+         aeson aeson-pretty base bytestring deepseq path path-io sydtest
+         text
        ];
-       testHaskellDepends = [ aeson base sydtest text ];
+       testHaskellDepends = [ aeson base directory sydtest text ];
        testToolDepends = [ sydtest-discover ];
        description = "An aeson companion library for sydtest";
        license = "unknown";
@@ -264113,8 +265444,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-hedgehog";
-       version = "0.1.0.0";
-       sha256 = "0p0aj2jd6cgi3mdzdlwksczikxsx9ajh0lcvd6k4059x1ddjxplb";
+       version = "0.2.0.0";
+       sha256 = "084nqzl1i5phy0hwdgcx0dvlajr8g1iva73f3j9y9rsgl08wh727";
        libraryHaskellDepends = [ base containers hedgehog stm sydtest ];
        testHaskellDepends = [ base hedgehog sydtest ];
        testToolDepends = [ sydtest-discover ];
@@ -264149,8 +265480,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-hspec";
-       version = "0.1.0.0";
-       sha256 = "17j48cp7n0smci0m42yyvkz0rd5xfrysb2f6hwxaqhl703ifhlyy";
+       version = "0.3.0.0";
+       sha256 = "1vda3jhgnqbs0sw219li3s83vyqr1k1hzvy0prr2c4hv62cr47p3";
        libraryHaskellDepends = [
          base hspec-core mtl QuickCheck stm sydtest
        ];
@@ -264182,21 +265513,16 @@ self: {
      }) {};
 
   "sydtest-persistent" = callPackage
-    ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
+    ({ mkDerivation, base, bytestring, mtl, persistent, sydtest, text
+     , unliftio
      }:
      mkDerivation {
        pname = "sydtest-persistent";
-       version = "0.0.0.0";
-       sha256 = "1r9mzjrffncl39d9q4kcwjwyv7srf08qnq65l8lvncrjci9fdc0i";
+       version = "0.0.0.1";
+       sha256 = "19shysqqn4dz33lgmlshnk1aksp8f9rnxmzzag2hmbrywbrjwr1q";
        libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-template sydtest
+         base bytestring mtl persistent sydtest text unliftio
        ];
-       testHaskellDepends = [
-         base monad-logger persistent persistent-sqlite persistent-template
-         sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
        description = "A persistent companion library for sydtest";
        license = "unknown";
        hydraPlatforms = lib.platforms.none;
@@ -264204,19 +265530,19 @@ self: {
 
   "sydtest-persistent-postgresql" = callPackage
     ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-postgresql, persistent-template, sydtest
-     , sydtest-discover, sydtest-persistent, tmp-postgres
+     , persistent-postgresql, sydtest, sydtest-discover
+     , sydtest-persistent, tmp-postgres
      }:
      mkDerivation {
        pname = "sydtest-persistent-postgresql";
-       version = "0.2.0.0";
-       sha256 = "0c3f9m3d7nryb2xvfp7zrqqi9136mgf89ccwg8vlaapnx1bqap43";
+       version = "0.2.0.2";
+       sha256 = "1lrps2avkhshipip85gv8v151j3gkwxg6lfbii0085s077f8in1m";
        libraryHaskellDepends = [
          base monad-logger mtl persistent persistent-postgresql sydtest
          sydtest-persistent tmp-postgres
        ];
        testHaskellDepends = [
-         base persistent persistent-postgresql persistent-template sydtest
+         base persistent persistent-postgresql sydtest
        ];
        testToolDepends = [ sydtest-discover ];
        description = "An persistent-postgresql companion library for sydtest";
@@ -264226,20 +265552,17 @@ self: {
 
   "sydtest-persistent-sqlite" = callPackage
     ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
-     , sydtest-persistent
+     , persistent-sqlite, sydtest, sydtest-discover, sydtest-persistent
      }:
      mkDerivation {
        pname = "sydtest-persistent-sqlite";
-       version = "0.2.0.0";
-       sha256 = "1l17n6hgc64ngjfdgg6c1zhnlg6ks9bvb7hbv5yf454bhbm6p83s";
+       version = "0.2.0.2";
+       sha256 = "17sb4q2lrdbi4d5h7gj5lwxszla5dbzs25ira2ddlgghs68bar3g";
        libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-sqlite
-         persistent-template sydtest sydtest-persistent
-       ];
-       testHaskellDepends = [
-         base persistent persistent-sqlite persistent-template sydtest
+         base monad-logger mtl persistent persistent-sqlite sydtest
+         sydtest-persistent
        ];
+       testHaskellDepends = [ base persistent persistent-sqlite sydtest ];
        testToolDepends = [ sydtest-discover ];
        description = "A persistent-sqlite companion library for sydtest";
        license = "unknown";
@@ -264283,19 +265606,18 @@ self: {
      }) {};
 
   "sydtest-servant" = callPackage
-    ({ mkDerivation, base, http-client, servant, servant-client
-     , servant-server, stm, sydtest, sydtest-discover, sydtest-wai
+    ({ mkDerivation, base, http-client, servant-client, servant-server
+     , stm, sydtest, sydtest-discover, sydtest-wai
      }:
      mkDerivation {
        pname = "sydtest-servant";
-       version = "0.2.0.1";
-       sha256 = "1yclwmcqp6wkcd980ha7a93dz99zc55mcw2z5fwhk3gfwdpdfyfj";
+       version = "0.2.0.2";
+       sha256 = "0gmaf1p7f588mvcf486wb32qjh74gvqyf965wczh5h0phgyg2f8z";
        libraryHaskellDepends = [
-         base http-client servant servant-client servant-server sydtest
-         sydtest-wai
+         base http-client servant-client servant-server sydtest sydtest-wai
        ];
        testHaskellDepends = [
-         base servant servant-client servant-server stm sydtest sydtest-wai
+         base servant-client servant-server stm sydtest sydtest-wai
        ];
        testToolDepends = [ sydtest-discover ];
        description = "A servant companion library for sydtest";
@@ -266423,6 +267745,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "tagged-transformer_0_8_2" = callPackage
+    ({ mkDerivation, base, comonad, contravariant, distributive
+     , exceptions, mtl, reflection, semigroupoids, tagged
+     }:
+     mkDerivation {
+       pname = "tagged-transformer";
+       version = "0.8.2";
+       sha256 = "10wlwqxzm1xdyzxl6xyfsrb40zmvh7g0y3w0a69b1lw2rp6v4vyy";
+       libraryHaskellDepends = [
+         base comonad contravariant distributive exceptions mtl reflection
+         semigroupoids tagged
+       ];
+       description = "Monad transformer carrying an extra phantom type tag";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tagging" = callPackage
     ({ mkDerivation, base, bytestring, pcre-light }:
      mkDerivation {
@@ -267067,8 +268406,8 @@ self: {
        pname = "tar";
        version = "0.5.1.1";
        sha256 = "1ppim7cgmn7ng8zbdrwkxhhizc30h15h1c9cdlzamc5jcagl915k";
-       revision = "4";
-       editedCabalFile = "03a33nj9k62f318qgmp5pgk7i99c8cyqy5f7m7p0bwc5ni39ysfq";
+       revision = "5";
+       editedCabalFile = "15dqywn1lsyqb0nq1amj70mh1i079b7xwr02wbpcdzmdljg9c55w";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath time
        ];
@@ -267145,12 +268484,27 @@ self: {
        pname = "tardis";
        version = "0.4.3.0";
        sha256 = "1ffmpdvnmr1s3rh3kpqqscsbz2rq4s7k8nfc93zw9m4mchg37waw";
+       revision = "1";
+       editedCabalFile = "1krk42qgdg10s6pxp805zv7z4c7mlhbhk15l07v9i750im1k73v3";
        libraryHaskellDepends = [ base mmorph mtl ];
        testHaskellDepends = [ base ];
        description = "Bidirectional state monad transformer";
        license = lib.licenses.bsd3;
      }) {};
 
+  "tardis_0_4_4_0" = callPackage
+    ({ mkDerivation, base, mmorph, mtl }:
+     mkDerivation {
+       pname = "tardis";
+       version = "0.4.4.0";
+       sha256 = "0frm9kffdsia22rwyr8295n9xwhca1d6w04yz4l4cfjav6bgczfs";
+       libraryHaskellDepends = [ base mmorph mtl ];
+       testHaskellDepends = [ base ];
+       description = "Bidirectional state monad transformer";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "target" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, cassava
      , containers, data-timeout, deepseq, directory, exceptions
@@ -267347,8 +268701,8 @@ self: {
        pname = "tasty";
        version = "1.4.2.1";
        sha256 = "0ki3gdzfsqvk9mwzzvgj18ck1sbkwac06gcc128wpwh9g8c4bzqr";
-       revision = "1";
-       editedCabalFile = "1fm1yx9dqikspw3a6ygnwj61vx1zwgjxm84zpkydbhcf6hgab5sg";
+       revision = "2";
+       editedCabalFile = "134sp1sjyx5hh1vwraxdfs98yx9gf19zp9kpfzqvvajfgy9i37jv";
        libraryHaskellDepends = [
          ansi-terminal base clock containers mtl optparse-applicative stm
          tagged unbounded-delays unix wcwidth
@@ -267357,6 +268711,24 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty_1_4_2_2" = callPackage
+    ({ mkDerivation, ansi-terminal, base, clock, containers, mtl
+     , optparse-applicative, stm, tagged, unbounded-delays, unix
+     , wcwidth
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "1.4.2.2";
+       sha256 = "1qqzrvmfnh2s0b3356wil1flzvvyrh5bvx3v65k9807wp9r5pxrq";
+       libraryHaskellDepends = [
+         ansi-terminal base clock containers mtl optparse-applicative stm
+         tagged unbounded-delays unix wcwidth
+       ];
+       description = "Modern and extensible testing framework";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-ant-xml" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
@@ -268025,8 +269397,8 @@ self: {
        pname = "tasty-rerun";
        version = "1.1.18";
        sha256 = "0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s";
-       revision = "2";
-       editedCabalFile = "1fis4l7rlzmkw4135q3dikx9v22yhyqin3snlm1l7hsv8s33jpyl";
+       revision = "3";
+       editedCabalFile = "0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb";
        libraryHaskellDepends = [
          base containers mtl optparse-applicative split stm tagged tasty
          transformers
@@ -268045,6 +269417,8 @@ self: {
        pname = "tasty-silver";
        version = "3.3.1";
        sha256 = "1pd83mzx0iv3f396m09rxmgcpcfaya0a9818dl3h4vgw0hnqkmav";
+       revision = "1";
+       editedCabalFile = "1gsjspgy9li9lsk7sqikm44mr3cjsxkrhvql6rabk5x9nb5ajrnr";
        libraryHaskellDepends = [
          ansi-terminal async base bytestring containers deepseq directory
          filepath mtl optparse-applicative process process-extras regex-tdfa
@@ -268058,6 +269432,30 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "tasty-silver_3_3_1_1" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, bytestring, containers
+     , deepseq, directory, filepath, mtl, optparse-applicative, process
+     , process-extras, regex-tdfa, silently, stm, tagged, tasty
+     , tasty-hunit, temporary, text, transformers
+     }:
+     mkDerivation {
+       pname = "tasty-silver";
+       version = "3.3.1.1";
+       sha256 = "13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m";
+       libraryHaskellDepends = [
+         ansi-terminal async base bytestring containers deepseq directory
+         filepath mtl optparse-applicative process process-extras regex-tdfa
+         silently stm tagged tasty temporary text transformers
+       ];
+       testHaskellDepends = [
+         base directory filepath process silently tasty tasty-hunit
+         temporary transformers
+       ];
+       description = "A fancy test runner, including support for golden tests";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tasty-smallcheck" = callPackage
     ({ mkDerivation, base, optparse-applicative, smallcheck, tagged
      , tasty
@@ -268850,7 +270248,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "telegram-bot-simple_0_5" = callPackage
+  "telegram-bot-simple_0_5_1" = 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
@@ -268860,8 +270258,8 @@ self: {
      }:
      mkDerivation {
        pname = "telegram-bot-simple";
-       version = "0.5";
-       sha256 = "0mzzq7lfl56h1i9dr617h5vcv47j2nsf77pkq18s8wk5zrc67r2w";
+       version = "0.5.1";
+       sha256 = "0vkvnxfa9lmp6j2wc2s3yxvq6ilwjbb1xnrwk5kysrlsklvc86bs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -270460,6 +271858,8 @@ self: {
        pname = "test-lib";
        version = "0.4";
        sha256 = "0jp0k27vvdz4lfrdi7874j7gnnn051kvqfn1k3zg1ap4m9jzyb45";
+       revision = "1";
+       editedCabalFile = "0hkscmcvgpqabc7fb8xln9grn31dw1p2cr6277l3snivkanc8889";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -271065,6 +272465,26 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "text-builder_0_6_7" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, QuickCheck
+     , quickcheck-instances, rerebase, tasty, tasty-hunit
+     , tasty-quickcheck, text, text-builder-dev
+     }:
+     mkDerivation {
+       pname = "text-builder";
+       version = "0.6.7";
+       sha256 = "00pl4jbqpcrfc00m3hf871g9k7s0n6xf2igb7ba1dnqh76w4lw4h";
+       libraryHaskellDepends = [ base bytestring text text-builder-dev ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "An efficient strict text builder";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-builder-dev" = callPackage
     ({ mkDerivation, base, bytestring, criterion, deferred-folds
      , QuickCheck, quickcheck-instances, rerebase, split, tasty
@@ -271088,6 +272508,28 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "text-builder-dev_0_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deferred-folds
+     , QuickCheck, quickcheck-instances, rerebase, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "text-builder-dev";
+       version = "0.3.1";
+       sha256 = "18ipiiqrr0hz0yl7lqv2y730vl6mzqp0jg1yir097gp53ky6hzyw";
+       libraryHaskellDepends = [
+         base bytestring deferred-folds split text transformers
+       ];
+       testHaskellDepends = [
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Edge of developments for \"text-builder\"";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-containers" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, ghc-prim
      , hashable, QuickCheck, quickcheck-instances, tasty
@@ -271120,6 +272562,8 @@ self: {
        pname = "text-conversions";
        version = "0.3.1";
        sha256 = "0kbxin1q8xj9sgdl185gncrdjwcfzndp8sl5qll8y93l60yq8dxi";
+       revision = "1";
+       editedCabalFile = "1gra9mdsqxy2gr43cagqwn6dnc0l4pzaf4lq80y1ly5xnm1nb456";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring errors text
        ];
@@ -271129,6 +272573,24 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
+  "text-conversions_0_3_1_1" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, hspec, hspec-discover, text
+     }:
+     mkDerivation {
+       pname = "text-conversions";
+       version = "0.3.1.1";
+       sha256 = "0pbjlzsjd3m8np5p6iq7zb0bx6n40d8jha76r8s07s4wg2x0yxy8";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring text
+       ];
+       testHaskellDepends = [ base bytestring hspec text ];
+       testToolDepends = [ hspec-discover ];
+       description = "Safe conversions between textual types";
+       license = lib.licenses.isc;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "text-cp437" = callPackage
     ({ mkDerivation, base, bytestring, QuickCheck, quickcheck-text
      , text
@@ -272192,6 +273654,8 @@ self: {
        pname = "th-compat";
        version = "0.1.3";
        sha256 = "1il1hs5yjfkb417c224pw1vrh4anyprasfwmjbd4fkviyv55jl3b";
+       revision = "1";
+       editedCabalFile = "1ax5yz41sfy9klif7j3ihahvdi08alb56l4y9nr45vbc9kvijn7n";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [
          base base-compat hspec mtl template-haskell
@@ -273744,6 +275208,34 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "tidal_1_8_0" = callPackage
+    ({ 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.8.0";
+       sha256 = "19gh5l8hna9s4k5qw98qcr1s9wpqi6mf2kxd4kz6lzl3yxj56y6z";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         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
+       ];
+       benchmarkHaskellDepends = [ base criterion weigh ];
+       description = "Pattern language for improvised music";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tidal-midi" = callPackage
     ({ mkDerivation, base, containers, PortMidi, tidal, time
      , transformers
@@ -279553,6 +281045,31 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
+  "turtle_1_5_25" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
+     , containers, directory, doctest, exceptions, foldl, hostname
+     , managed, optional-args, optparse-applicative, process, stm
+     , streaming-commons, system-fileio, system-filepath, tasty-bench
+     , temporary, text, time, transformers, unix, unix-compat
+     }:
+     mkDerivation {
+       pname = "turtle";
+       version = "1.5.25";
+       sha256 = "1hh2rbwk3m4iklk67f1l1a8shsng9qzs9132j6lpag7cgqkrmqdk";
+       libraryHaskellDepends = [
+         ansi-wl-pprint async base bytestring clock containers directory
+         exceptions foldl hostname managed optional-args
+         optparse-applicative process stm streaming-commons system-fileio
+         system-filepath temporary text time transformers unix unix-compat
+       ];
+       testHaskellDepends = [ base doctest system-filepath temporary ];
+       benchmarkHaskellDepends = [ base tasty-bench text ];
+       description = "Shell programming, Haskell-style";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ Gabriel439 ];
+     }) {};
+
   "turtle-options" = callPackage
     ({ mkDerivation, base, HUnit, optional-args, parsec, text, turtle
      }:
@@ -279586,17 +281103,19 @@ self: {
 
   "twain" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive, cookie
-     , either, exceptions, http-types, http2, text, time, transformers
-     , vault, wai, wai-extra
+     , either, exceptions, hspec, hspec-discover, hspec-wai, http-types
+     , http2, text, time, transformers, vault, wai, wai-extra
      }:
      mkDerivation {
        pname = "twain";
-       version = "2.0.1.0";
-       sha256 = "0wal0qr3bacy7phgbvi2sif5q490jk8mhw675lpl2ch8dmmf769p";
+       version = "2.1.0.0";
+       sha256 = "0ffppxfdrjgqr3csm2cwsc2sgxgrl9dqx60n2zffnh3c7qc7z749";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive cookie either exceptions
          http-types http2 text time transformers vault wai wai-extra
        ];
+       testHaskellDepends = [ base hspec hspec-discover hspec-wai ];
+       testToolDepends = [ hspec-discover ];
        description = "Tiny web application framework for WAI";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -280215,6 +281734,7 @@ self: {
        testHaskellDepends = [ base smallcheck tasty tasty-smallcheck ];
        description = "Text";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "txt-sushi" = callPackage
@@ -281075,16 +282595,20 @@ self: {
      }) {};
 
   "typecheck-plugin-nat-simple" = callPackage
-    ({ mkDerivation, base, containers, ghc }:
+    ({ mkDerivation, base, containers, ghc, ghc-tcplugins-extra }:
      mkDerivation {
        pname = "typecheck-plugin-nat-simple";
-       version = "0.1.0.4";
-       sha256 = "0ybkkfk9ha3f1f5cq45r0rmnws0ai6imwic0srf78d6ys3q5n5n5";
+       version = "0.1.0.7";
+       sha256 = "1zvl113x5hi4xx29nl8kf3wxi9a51b4z17x380akl5isw8qhpj1x";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base containers ghc ];
-       testHaskellDepends = [ base containers ghc ];
+       libraryHaskellDepends = [
+         base containers ghc ghc-tcplugins-extra
+       ];
+       testHaskellDepends = [ base containers ghc ghc-tcplugins-extra ];
        description = "Simple type check plugin which calculate addition, subtraction and less-or-equal-than";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "typed-admin" = callPackage
@@ -281199,6 +282723,8 @@ self: {
        pname = "typed-process";
        version = "0.2.8.0";
        sha256 = "1af0g34sws7fppziv7firr9r2wrnly4y6sr9nyqa8bvbbmadly45";
+       revision = "1";
+       editedCabalFile = "1m017nqbaqishii32gwhxa1849h0qnn06w7k1rn8c9d8w71m4vqm";
        libraryHaskellDepends = [
          async base bytestring process stm transformers unliftio-core
        ];
@@ -283829,6 +285355,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Universal";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "universal-binary" = callPackage
@@ -284282,8 +285809,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.21.0";
-       sha256 = "0z3g4hnwzianh8a564zfwj4rvs1ayggxm0wcwi97hc1g0ndz5hic";
+       version = "0.2.22.0";
+       sha256 = "125vzwkzp53i5n0yxy7bbivpzgf3c7ynsfhn04xk1ymy9fqsvi0z";
        libraryHaskellDepends = [
          async base bytestring deepseq directory filepath process stm time
          transformers unix unliftio-core
@@ -284453,7 +285980,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "unordered-containers_0_2_18_0" = callPackage
+  "unordered-containers_0_2_19_1" = callPackage
     ({ mkDerivation, base, bytestring, ChasingBottoms, containers
      , deepseq, hashable, hashmap, HUnit, mtl, nothunks, QuickCheck
      , random, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
@@ -284461,8 +285988,8 @@ self: {
      }:
      mkDerivation {
        pname = "unordered-containers";
-       version = "0.2.18.0";
-       sha256 = "09cvqdqaqbf0z5i0hbkgn7hkz44plniznj6zimdx0a86i6lhq3b2";
+       version = "0.2.19.1";
+       sha256 = "1li8s6qw8mgv6a7011y7hg0cn2nllv2g9sr9c1xb48nmw32vw9qv";
        libraryHaskellDepends = [ base deepseq hashable template-haskell ];
        testHaskellDepends = [
          base ChasingBottoms containers hashable HUnit nothunks QuickCheck
@@ -285884,11 +287411,13 @@ self: {
        pname = "util";
        version = "0.1.17.1";
        sha256 = "1qhx4r27sny25sykacf5xi5br4msq4335ghp5zc3fq0lii3866s7";
-       revision = "1";
-       editedCabalFile = "16hbcmcq2674j37gl808n5i02kv0vn3nwq5l2a6v5lj0dn34nicb";
+       revision = "2";
+       editedCabalFile = "0z9bf05jn5y9k5nrjksfpzjml5xchjrj3nk3jh90g8pygs2658rb";
        libraryHaskellDepends = [ base transformers ];
        description = "Utilities";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "util-exception" = callPackage
@@ -286295,10 +287824,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.5";
-       sha256 = "14d7gyf3sa2874r0dhj3ydvmb1iz174kp4pxz7aq984zb4m6d87z";
-       revision = "2";
-       editedCabalFile = "1202zn5f70f1yvmaknm8l34igg9ihyqs8lhch4ihvx9vcqxs3c0v";
+       version = "1.4.6";
+       sha256 = "0is5f2fn5ip93wla33dcjpl8hscpcwyv6cpxcmqs25vvbwz27kvz";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -286600,6 +288127,7 @@ self: {
        libraryHaskellDepends = [ base util ];
        description = "Type isomorphic to `Either` with `Applicative` instance which combines errors";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "valid-names" = callPackage
@@ -286796,10 +288324,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "validity";
-       version = "0.12.0.0";
-       sha256 = "03md04q3ymilgc1pssczij392bphmg9ld6aa0fwfwjyjlqjj67fk";
-       revision = "1";
-       editedCabalFile = "1ifdx7vrr6n3zkgk6gp9djp0xcy8ndvrl585c01rq12rg3l0my8p";
+       version = "0.12.0.1";
+       sha256 = "1j9yswqas9dpb9mv132myfn1rky5vbh5gdvcxbb7p93k5c2y4g0w";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Validity typeclass";
@@ -286812,10 +288338,8 @@ self: {
      }:
      mkDerivation {
        pname = "validity-aeson";
-       version = "0.2.0.4";
-       sha256 = "1k0x6va9mmz0z9hgd1is71ks4fgbziw53rm7r6jsidp4ksszdzm0";
-       revision = "1";
-       editedCabalFile = "1zhqg6hac0js33yn0xw10pcp11hbygr95vmcmgpp3sdxdhgpbnmy";
+       version = "0.2.0.5";
+       sha256 = "0gk2mqhsailjp3130jgd17j2254kx28fnhhwyi1f66is1axw6cmj";
        libraryHaskellDepends = [
          aeson base validity validity-scientific validity-text
          validity-unordered-containers validity-vector
@@ -286838,6 +288362,22 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "validity-case-insensitive" = callPackage
+    ({ mkDerivation, base, case-insensitive, genvalidity-hspec, hspec
+     , validity
+     }:
+     mkDerivation {
+       pname = "validity-case-insensitive";
+       version = "0.0.0.0";
+       sha256 = "075pxgviqmf5xi4if15mbabn32xw11nss19a4il9z9ng1fsrcn1d";
+       libraryHaskellDepends = [ base case-insensitive validity ];
+       testHaskellDepends = [
+         base case-insensitive genvalidity-hspec hspec validity
+       ];
+       description = "Validity instances for case-insensitive";
+       license = lib.licenses.mit;
+     }) {};
+
   "validity-containers" = callPackage
     ({ mkDerivation, base, containers, validity }:
      mkDerivation {
@@ -286902,10 +288442,8 @@ self: {
     ({ mkDerivation, base, bytestring, text, validity }:
      mkDerivation {
        pname = "validity-text";
-       version = "0.3.1.2";
-       sha256 = "00sfiykazz2iwwr43lxl0q6dn03jpf515k0s8hymqpychmflyqhi";
-       revision = "1";
-       editedCabalFile = "0d0gkp9wjbhq2p6zfnc2jx5ifh6xi84psiqrrxczdgi1kwl0af3j";
+       version = "0.3.1.3";
+       sha256 = "0igxjd53aqlhhnjilbyjsxs4hjc8b21mpi504kc8c60q0ysq7vks";
        libraryHaskellDepends = [ base bytestring text validity ];
        description = "Validity instances for text";
        license = lib.licenses.mit;
@@ -290132,8 +291670,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.1.8";
-       sha256 = "0ddgdr0304b3kg50vfjsg3bxlhfp3vmsb4c8i80k8adqzh54hz5l";
+       version = "3.1.10";
+       sha256 = "0ldzwcjgj0k3ma25y4jaywv4g4bjjnn75ixlk1h4r4f3iapxm6kr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -290152,18 +291690,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "wai-extra_3_1_10" = callPackage
+  "wai-extra_3_1_12" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
      , bytestring, call-stack, case-insensitive, containers, cookie
      , data-default-class, directory, fast-logger, hspec, http-types
      , http2, HUnit, iproute, network, resourcet, streaming-commons
-     , text, time, transformers, unix, vault, wai, wai-logger, word8
-     , zlib
+     , temporary, text, time, transformers, unix, vault, wai, wai-logger
+     , word8, zlib
      }:
      mkDerivation {
        pname = "wai-extra";
-       version = "3.1.10";
-       sha256 = "0ldzwcjgj0k3ma25y4jaywv4g4bjjnn75ixlk1h4r4f3iapxm6kr";
+       version = "3.1.12";
+       sha256 = "1i6gh02sprdbkwg92pzm6rwxcm3k8286vazziwjq05xln3vckd1n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -290174,9 +291712,9 @@ self: {
          word8
        ];
        testHaskellDepends = [
-         aeson base bytestring case-insensitive cookie fast-logger hspec
-         http-types http2 HUnit iproute resourcet text time transformers wai
-         zlib
+         aeson base bytestring case-insensitive cookie directory fast-logger
+         hspec http-types http2 HUnit iproute resourcet temporary text time
+         transformers wai zlib
        ];
        description = "Provides some basic WAI handlers and middleware";
        license = lib.licenses.mit;
@@ -290301,6 +291839,8 @@ self: {
        pname = "wai-handler-hal";
        version = "0.1.1.0";
        sha256 = "1l9adjrh0iffph40pqymikr5h52ldlyp2q9l7qclcamwdwkawmz0";
+       revision = "1";
+       editedCabalFile = "1lvhld1f6j3ligwc5mpxx8lf9md128v11dadbjalgzwchx0vj53s";
        libraryHaskellDepends = [
          base base64-bytestring bytestring case-insensitive hal http-types
          network text unordered-containers vault wai
@@ -292454,8 +293994,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-inv-route";
-       version = "0.1.3.1";
-       sha256 = "1l10rgrhcqld8znw6akxjlsm1h8z76l9yxa4yik11lk2l0g9anb2";
+       version = "0.1.3.2";
+       sha256 = "0gmbj6c6c8gqz9xfxv0d4134d7c2wfla3zg3bgqvvzsqjjmrg81v";
        libraryHaskellDepends = [
          base bytestring case-insensitive containers happstack-server
          hashable http-types invertible network-uri snap-core text
@@ -292598,24 +294138,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14.3";
-       sha256 = "1a66m261ilqafbwwgjvalh3rz38qxcwxw9a99wr18lm0ah27lvx4";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring exceptions ghc-prim http-types mtl
-         parsec split text utf8-string
-       ];
-       testHaskellDepends = [ base hspec HUnit QuickCheck text ];
-       description = "portable, type-safe URL routing";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes_0_27_14_4" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, exceptions
-     , ghc-prim, hspec, http-types, HUnit, mtl, parsec, QuickCheck
-     , split, text, utf8-string
-     }:
-     mkDerivation {
-       pname = "web-routes";
        version = "0.27.14.4";
        sha256 = "10zpyxigrmp97x7xd9aw8kn925ygjf0jv8hppxmksjf9a6pvyfn1";
        libraryHaskellDepends = [
@@ -292625,26 +294147,12 @@ self: {
        testHaskellDepends = [ base hspec HUnit QuickCheck text ];
        description = "portable, type-safe URL routing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-boomerang" = callPackage
     ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
      mkDerivation {
        pname = "web-routes-boomerang";
-       version = "0.28.4.2";
-       sha256 = "09vq5gfxibrbh65a4y94crcb99s848rx56grmfny89ccdv6r5a3y";
-       libraryHaskellDepends = [
-         base boomerang mtl parsec text web-routes
-       ];
-       description = "Use boomerang for type-safe URL parsers/printers";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-boomerang_0_28_4_3" = callPackage
-    ({ mkDerivation, base, boomerang, mtl, parsec, text, web-routes }:
-     mkDerivation {
-       pname = "web-routes-boomerang";
        version = "0.28.4.3";
        sha256 = "1cdn29084i2bvsh7pa6d4dr5bgpixix36dhi49q8nbcbp02qycap";
        libraryHaskellDepends = [
@@ -292652,7 +294160,6 @@ self: {
        ];
        description = "Use boomerang for type-safe URL parsers/printers";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-generics" = callPackage
@@ -292672,21 +294179,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-happstack";
-       version = "0.23.12.1";
-       sha256 = "06gifknfv6g9rd9f83r75hc3sld4xb4f1czxs9k5ca7n1l1vlccy";
-       libraryHaskellDepends = [
-         base bytestring happstack-server text web-routes
-       ];
-       description = "Adds support for using web-routes with Happstack";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-happstack_0_23_12_2" = callPackage
-    ({ mkDerivation, base, bytestring, happstack-server, text
-     , web-routes
-     }:
-     mkDerivation {
-       pname = "web-routes-happstack";
        version = "0.23.12.2";
        sha256 = "01ks9c8bln8yiff7dqfm3ai7scci304q94w1zaqvzph57m1whrd6";
        libraryHaskellDepends = [
@@ -292694,30 +294186,17 @@ self: {
        ];
        description = "Adds support for using web-routes with Happstack";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-hsp" = callPackage
     ({ mkDerivation, base, hsp, text, web-routes }:
      mkDerivation {
        pname = "web-routes-hsp";
-       version = "0.24.6.1";
-       sha256 = "1arc22l7xk49fp80i1fkvj8xj71lqxrs2g5gnvjzwlkc0azzaz6a";
-       libraryHaskellDepends = [ base hsp text web-routes ];
-       description = "Adds XMLGenerator instance for RouteT monad";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-hsp_0_24_6_2" = callPackage
-    ({ mkDerivation, base, hsp, text, web-routes }:
-     mkDerivation {
-       pname = "web-routes-hsp";
        version = "0.24.6.2";
        sha256 = "0cmijyklkrakcwfmwfa70kbm619p1dfl900lx57mca23k8m2aksn";
        libraryHaskellDepends = [ base hsp text web-routes ];
        description = "Adds XMLGenerator instance for RouteT monad";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routes-mtl" = callPackage
@@ -292795,21 +294274,6 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-wai";
-       version = "0.24.3.1";
-       sha256 = "0j9h22nsj7zf5qpf4i07jdcih00r2fivdilvj8wsylk4d23x27wf";
-       libraryHaskellDepends = [
-         base bytestring http-types text wai web-routes
-       ];
-       description = "Library for maintaining correctness of URLs within an application";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "web-routes-wai_0_24_3_2" = callPackage
-    ({ mkDerivation, base, bytestring, http-types, text, wai
-     , web-routes
-     }:
-     mkDerivation {
-       pname = "web-routes-wai";
        version = "0.24.3.2";
        sha256 = "1cdahkpw0194gdx11g4h4313ni0b6sdj9j5r666rgwwzr22wgql7";
        libraryHaskellDepends = [
@@ -292817,7 +294281,6 @@ self: {
        ];
        description = "Library for maintaining correctness of URLs within an application";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "web-routing" = callPackage
@@ -294943,6 +296406,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "witness_0_6" = callPackage
+    ({ mkDerivation, base, constraints, countable }:
+     mkDerivation {
+       pname = "witness";
+       version = "0.6";
+       sha256 = "1y8scf6a061s8gnx38sfwn88ramakjr0h54qwlwcjrjpf0y6024l";
+       libraryHaskellDepends = [ base constraints countable ];
+       description = "values that witness types";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "witty" = callPackage
     ({ mkDerivation, base, bytestring, network, unix }:
      mkDerivation {
@@ -298471,8 +299946,8 @@ self: {
        pname = "xmlhtml";
        version = "0.2.5.2";
        sha256 = "1p2v1cj9jjwbqyb0fyv2201zd7ljz5d46qg5kwy7rz2bchbqd0b4";
-       revision = "3";
-       editedCabalFile = "00a7ymnzf87p6dv6mphziycyx6p97xbbbvg8fzbqa6am4pvr029z";
+       revision = "4";
+       editedCabalFile = "1q4f9pvyrkrw793kvd1lxzpzf49h2rs8zdmmhsli487sllflghnq";
        libraryHaskellDepends = [
          base blaze-builder blaze-html blaze-markup bytestring
          bytestring-builder containers parsec text unordered-containers
@@ -299998,6 +301473,33 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yaml-unscrambler_0_1_0_10" = callPackage
+    ({ mkDerivation, acc, attoparsec, attoparsec-data, attoparsec-time
+     , base, base64-bytestring, bytestring, conduit, containers, foldl
+     , hashable, libyaml, mtl, neat-interpolation, QuickCheck
+     , quickcheck-instances, rerebase, scientific, selective, tasty
+     , tasty-hunit, tasty-quickcheck, text, text-builder-dev, time
+     , transformers, unordered-containers, uuid, vector, yaml
+     }:
+     mkDerivation {
+       pname = "yaml-unscrambler";
+       version = "0.1.0.10";
+       sha256 = "07pwdd6w6gh0x05925hfk5mhzmig6rh9yb87rkyx15197r9hj7xw";
+       libraryHaskellDepends = [
+         acc attoparsec attoparsec-data attoparsec-time base
+         base64-bytestring bytestring conduit containers foldl hashable
+         libyaml mtl scientific selective text text-builder-dev time
+         transformers unordered-containers uuid vector yaml
+       ];
+       testHaskellDepends = [
+         foldl neat-interpolation QuickCheck quickcheck-instances rerebase
+         tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Flexible declarative YAML parsing toolkit";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yaml2owl" = callPackage
     ({ mkDerivation, base, containers, directory, filepath, network
      , network-uri, swish, text, xml, yaml
@@ -301406,8 +302908,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.22.0";
-       sha256 = "0vc60va1lj7a409ljpipk90k89pycsf7zfpvdn0bvsqgsy75qgq6";
+       version = "1.6.23.1";
+       sha256 = "1s9wa9xw9ximivwv9bk7lf4w20yhlcy8vyp2i3j6w4fig918qxg9";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -302658,32 +304160,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.12";
-       sha256 = "1xgy7dzhqjgllqcpyyxs0spdg6vlz2c1sjvni7w7qnsf0ckyw2l8";
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder blaze-html bytestring
-         case-insensitive conduit containers cookie hspec-core html-conduit
-         http-types HUnit memory mtl network pretty-show text time
-         transformers wai wai-extra xml-conduit xml-types yesod-core
-       ];
-       testHaskellDepends = [
-         base bytestring containers cookie hspec html-conduit http-types
-         HUnit text unliftio unliftio-core wai wai-extra xml-conduit
-         yesod-core yesod-form
-       ];
-       description = "integration testing for WAI/Yesod Applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yesod-test_1_6_13" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
-     , bytestring, case-insensitive, conduit, containers, cookie, hspec
-     , hspec-core, html-conduit, http-types, HUnit, memory, mtl, network
-     , pretty-show, text, time, transformers, unliftio, unliftio-core
-     , wai, wai-extra, xml-conduit, xml-types, yesod-core, yesod-form
-     }:
-     mkDerivation {
-       pname = "yesod-test";
        version = "1.6.13";
        sha256 = "1r5ip85x0shv00dvznd201fbl9gi90nkk33szmh0cz77x8960v19";
        libraryHaskellDepends = [
@@ -302699,7 +304175,6 @@ self: {
        ];
        description = "integration testing for WAI/Yesod Applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yesod-test-json" = callPackage
@@ -304147,8 +305622,8 @@ self: {
      }:
      mkDerivation {
        pname = "zephyr-copilot";
-       version = "1.0.1";
-       sha256 = "0d489krxzj30gl8j8idwfi10k82w0p4kr30f0h78qvl9ikzinhvk";
+       version = "1.0.2";
+       sha256 = "01dvqzh97bw423kwhmgdr8l913p4miq69frv3nkjs889ps16faz0";
        libraryHaskellDepends = [
          base containers copilot copilot-c99 copilot-language directory
          filepath mtl optparse-applicative sketch-frp-copilot temporary
@@ -304873,6 +306348,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) zlib;};
 
+  "zlib_0_6_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, QuickCheck, tasty
+     , tasty-quickcheck, zlib
+     }:
+     mkDerivation {
+       pname = "zlib";
+       version = "0.6.3.0";
+       sha256 = "1nh4xsm3kgsg76jmkcphvy7hhslg9hx1s75mpsskhi2ksjd9ialy";
+       libraryHaskellDepends = [ base bytestring ];
+       librarySystemDepends = [ zlib ];
+       testHaskellDepends = [
+         base bytestring QuickCheck tasty tasty-quickcheck
+       ];
+       description = "Compression and decompression in the gzip and zlib formats";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) zlib;};
+
   "zlib-bindings" = callPackage
     ({ mkDerivation, base, bytestring, hspec, QuickCheck, zlib }:
      mkDerivation {
@@ -305474,4 +306967,28 @@ self: {
        broken = true;
      }) {};
 
+  "zyre2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, czmq, inline-c, text
+     , zyre
+     }:
+     mkDerivation {
+       pname = "zyre2";
+       version = "0.1.1.0";
+       sha256 = "0dqlp60mamqmga6g87qawxg1646czgzhqm441cxpw1dkrshv08jk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers inline-c text
+       ];
+       librarySystemDepends = [ czmq zyre ];
+       executableHaskellDepends = [
+         base bytestring containers inline-c text
+       ];
+       testHaskellDepends = [ base bytestring containers inline-c text ];
+       description = "Haskell zyre bindings for reliable group messaging over local area networks";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {inherit (pkgs) czmq; zyre = null;};
+
 }
diff --git a/pkgs/development/interpreters/bqn/cbqn/default.nix b/pkgs/development/interpreters/bqn/cbqn/default.nix
index 992caf200a748..0426a72c81aad 100644
--- a/pkgs/development/interpreters/bqn/cbqn/default.nix
+++ b/pkgs/development/interpreters/bqn/cbqn/default.nix
@@ -11,21 +11,21 @@ let
     name = "cbqn-bytecode-files";
     owner = "dzaima";
     repo = "CBQN";
-    rev = "b000b951aa8f3590b196b4c09056604c0b32a168";
-    hash = "sha256-znW0xOXogP4TfifUmk3cs4aN/9mMSpSD2WJppmeI1Fg=";
+    rev = "c39653c898531a2cdbf4cc5c764df6e37b1894a4";
+    hash = "sha256-JCEmkwh5Rv5+NQoxvefSrYnayU892/Wam+gjMgcQmO0=";
   };
 in
 assert genBytecode -> ((bqn-path != null) && (mbqn-source != null));
 
 stdenv.mkDerivation rec {
   pname = "cbqn" + lib.optionalString (!genBytecode) "-standalone";
-  version = "0.pre+date=2021-12-13";
+  version = "0.pre+date=2022-05-06";
 
   src = fetchFromGitHub {
     owner = "dzaima";
     repo = "CBQN";
-    rev = "e7662b0f6a44add0749fba2a6d7309a5c1eb2601";
-    hash = "sha256-2nfkTZBIGHX5cok6Ea3KSewakZy8Ey8nSO2Fe4xGgvg=";
+    rev = "3496a939b670f8c9ca2a04927378d6b7e9abd68e";
+    hash = "sha256-P+PoY4XF9oEw7VIpmybvPp+jxWHEo2zt1Lamayf1mHg=";
   };
 
   dontConfigure = true;
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
   '' + (if genBytecode then ''
     ${bqn-path} genRuntime ${mbqn-source}
   '' else ''
-    cp ${cbqn-bytecode-files}/src/gen/{compiler,formatter,runtime0,runtime1,src} src/gen/
+    cp ${cbqn-bytecode-files}/src/gen/{compiles,formatter,runtime0,runtime1,src} src/gen/
   '');
 
   installPhase = ''
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dzaima/CBQN/";
     description = "BQN implementation in C";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica ];
+    maintainers = with maintainers; [ AndersonTorres sternenseemann synthetica shnarazk ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 1f663b5488d2d..b5ba81ebc280a 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-9mh3ki6Q0vwlF+j4+UVznIhZ6Xleh7ChklJ5ojjGhYM=";
+    sha256 = "sha256-rdA/pV2EGYPs1UuuTq4dIuce3i8haJOyyyTDAWpOeR8=";
   };
 
   executable = "bb";
diff --git a/pkgs/development/interpreters/clojurescript/lumo/default.nix b/pkgs/development/interpreters/clojurescript/lumo/default.nix
deleted file mode 100644
index d8fa630c30dfc..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/default.nix
+++ /dev/null
@@ -1,287 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, clojure
-, gnutar
-, nodejs
-, jre
-, unzip
-, nodePackages
-, xcbuild
-, python2
-, openssl
-, pkgs
-, fetchgit
-, darwin
-}:
-let
-  version = "1.10.1";
-  nodeVersion = "11.13.0";
-  nodeSources = fetchurl {
-    url = "https://nodejs.org/dist/v${nodeVersion}/node-v${nodeVersion}.tar.gz";
-    sha256 = "1cjzjbshxnysxkvbf41p3m8298cnhs9kfvdczgvvvlp6w16x4aac";
-  };
-  lumo-internal-classpath = "LUMO__INTERNAL__CLASSPATH";
-
-  # as found in cljs/snapshot/lumo/repl.cljs
-  requireDeps = '' \
-      cljs.analyzer \
-      cljs.compiler \
-      cljs.env \
-      cljs.js \
-      cljs.reader \
-      cljs.repl \
-      cljs.source-map \
-      cljs.source-map.base64 \
-      cljs.source-map.base64-vlq \
-      cljs.spec.alpha \
-      cljs.spec.gen.alpha \
-      cljs.tagged-literals \
-      cljs.tools.reader \
-      cljs.tools.reader.reader-types \
-      cljs.tools.reader.impl.commons \
-      cljs.tools.reader.impl.utils \
-      clojure.core.rrb-vector \
-      clojure.core.rrb-vector.interop \
-      clojure.core.rrb-vector.nodes \
-      clojure.core.rrb-vector.protocols \
-      clojure.core.rrb-vector.rrbt \
-      clojure.core.rrb-vector.transients \
-      clojure.core.rrb-vector.trees \
-      clojure.string \
-      clojure.set \
-      clojure.walk \
-      cognitect.transit \
-      fipp.visit \
-      fipp.engine \
-      fipp.deque \
-      lazy-map.core \
-      lumo.pprint.data \
-      lumo.repl \
-      lumo.repl-resources \
-      lumo.js-deps \
-      lumo.common '';
-
-  compileClojurescript = (simple: ''
-    (require '[cljs.build.api :as cljs])
-    (cljs/build \"src/cljs/snapshot\"
-      {:optimizations      ${if simple then ":simple" else ":none"}
-       :main               'lumo.core
-       :cache-analysis     true
-       :source-map         false
-       :dump-core          false
-       :static-fns         true
-       :optimize-constants false
-       :npm-deps           false
-       :verbose            true
-       :closure-defines    {'cljs.core/*target*       \"nodejs\"
-                            'lumo.core/*lumo-version* \"${version}\"}
-       :compiler-stats     true
-       :process-shim       false
-       :fn-invoke-direct   true
-       :parallel-build     false
-       :browser-repl       false
-       :target             :nodejs
-       :hashbang           false
-       ;; :libs               [ \"src/cljs/bundled\" \"src/js\" ]
-       :output-dir         ${if simple
-  then ''\"cljstmp\"''
-  else ''\"target\"''}
-       :output-to          ${if simple
-  then ''\"cljstmp/main.js\"''
-  else ''\"target/deleteme.js\"'' }})
-  ''
-  );
-
-
-  cacheToJsons = ''
-    (import [java.io ByteArrayOutputStream FileInputStream])
-    (require '[cognitect.transit :as transit]
-             '[clojure.edn :as edn]
-             '[clojure.string :as str])
-
-    (defn write-transit-json [cache]
-      (let [out (ByteArrayOutputStream. 1000000)
-            writer (transit/writer out :json)]
-        (transit/write writer cache)
-        (.toString out)))
-
-    (defn process-caches []
-      (let [cache-aot-path      \"target/cljs/core.cljs.cache.aot.edn\"
-            cache-aot-edn       (edn/read-string (slurp cache-aot-path))
-            cache-macros-path   \"target/cljs/core\$macros.cljc.cache.json\"
-            cache-macros-stream (FileInputStream. cache-macros-path)
-            cache-macros-edn    (transit/read (transit/reader cache-macros-stream :json))
-            caches              [[cache-aot-path cache-aot-edn]
-                                 [cache-macros-path cache-macros-edn]]]
-        (doseq [[path cache-edn] caches]
-          (doseq [key (keys cache-edn)]
-            (let [out-path (str/replace path #\"(\.json|\.edn)\$\"
-                             (str \".\" (munge key) \".json\"))
-                  tr-json  (write-transit-json (key cache-edn))]
-              (spit out-path tr-json))))))
-
-    (process-caches)
-  '';
-
-  trimMainJsEnd = ''
-    (let [string (slurp \"target/main.js\")]
-      (spit \"target/main.js\"
-        (subs string  0 (.indexOf string \"cljs.nodejs={};\"))))
-  '';
-
-
-  cljdeps = import ./deps.nix { inherit pkgs; };
-  classp = cljdeps.makeClasspaths {
-    extraClasspaths = [ "src/js" "src/cljs/bundled" "src/cljs/snapshot" ];
-  };
-
-
-  getJarPath = jarName: (lib.findFirst (p: p.name == jarName) null cljdeps.packages).path.jar;
-in
-stdenv.mkDerivation {
-  inherit version;
-  pname = "lumo";
-
-  src = fetchgit {
-    url = "https://github.com/anmonteiro/lumo.git";
-    rev = version;
-    sha256 = "12agi6bacqic2wq6q3l28283badzamspajmajzqm7fbdl2aq1a4p";
-  };
-
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [
-    nodejs
-    clojure
-    jre
-    python2
-    openssl
-    gnutar
-    nodePackages."lumo-build-deps-../interpreters/clojurescript/lumo"
-  ]
-  ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    ApplicationServices
-    xcbuild
-  ]
-  );
-
-  patches = [ ./no_mangle.patch ./mkdir_promise.patch ];
-
-  postPatch = ''
-    substituteInPlace $NIX_BUILD_TOP/lumo/vendor/nexe/exe.js \
-      --replace 'glob.sync(dir + "/*")' 'glob.sync(dir + "/../*")'
-  '';
-
-  buildPhase = ''
-       # Copy over lumo-build-deps environment
-    rm yarn.lock
-    cp -rf ${nodePackages."lumo-build-deps-../interpreters/clojurescript/lumo"}/lib/node_modules/lumo-build-deps/* ./
-
-    # configure clojure-cli
-    mkdir ./.cpcache
-    export CLJ_CONFIG=`pwd`
-    export CLJ_CACHE=`pwd`/.cpcache
-
-    # require more namespaces for cljs-bundle
-    sed -i "s!ns lumo.core! \
-              ns lumo.core  \
-               (:require ${requireDeps}) \
-               (:require-macros [clojure.template :as temp] \
-                                [cljs.test :as test])!g" \
-              ./src/cljs/snapshot/lumo/core.cljs
-
-    # Step 1: compile clojurescript with :none and :simple
-    ${clojure}/bin/clojure -Scp ${classp} -e "${compileClojurescript true}"
-    ${clojure}/bin/clojure -Scp ${classp} -e "${compileClojurescript false}"
-    cp -f cljstmp/main.js target/main.js
-    ${clojure}/bin/clojure -Scp ${classp} -e "${trimMainJsEnd}"
-
-    # Step 2: sift files
-    unzip -o ${getJarPath "org.clojure/clojurescript"} -d ./target
-    unzip -j ${getJarPath "org.clojure/clojure"} "clojure/template.clj" -d ./target/clojure
-    unzip -o ${getJarPath "org.clojure/google-closure-library"} -d ./target
-    unzip -o ${getJarPath "org.clojure/google-closure-library-third-party"} -d ./target
-    unzip -o ${getJarPath "org.clojure/tools.reader"} -d ./target
-    unzip -o ${getJarPath "org.clojure/test.check"} -d ./target
-    cp -rf ./src/cljs/bundled/lumo/* ./target/lumo/
-    cp -rf ./src/cljs/snapshot/lumo/repl.clj ./target/lumo/
-    # cleanup
-    mv ./target/main.js ./target/main
-    rm ./target/*\.js
-    mv ./target/main ./target/main.js
-    rm ./target/AUTHORS
-    rm ./target/LICENSE
-    rm ./target/*.edn
-    rm ./target/*.md
-    rm -rf ./target/css
-    rm -rf ./target/META-INF
-    rm -rf ./target/com
-    rm -rf ./target/cljs/build
-    rm -rf ./target/cljs/repl
-    rm  ./target/cljs/core\.cljs\.cache.aot\.json
-    rm  ./target/cljs/source_map\.clj
-    rm  ./target/cljs/repl\.cljc
-    rm  ./target/cljs/externs\.clj
-    rm  ./target/cljs/closure\.clj
-    rm  ./target/cljs/util\.cljc
-    rm  ./target/cljs/js_deps\.cljc
-    rm  ./target/cljs/analyzer/utils\.clj
-    rm  ./target/cljs/core/macros\.clj
-    rm  ./target/cljs/compiler/api.clj
-    rm  ./target/goog/test_module*
-    rm  ./target/goog/transpile\.js
-    rm  ./target/goog/base_*
-    find ./target -type f -name '*.class' -delete
-    find ./target -type d -empty -delete
-
-    # Step 3: generate munged cache jsons
-    ${clojure}/bin/clojure -Scp ${classp} -e "${cacheToJsons}"
-    rm  ./target/cljs/core\$macros\.cljc\.cache\.json
-
-
-    # Step 4: Bunde javascript
-    NODE_ENV=production node scripts/bundle.js
-    node scripts/bundleForeign.js
-
-    # Step 5: Backup resources
-    cp -R target resources_bak
-
-    # Step 6: Package executeable 1st time
-    # fetch node sources and copy to palce that nexe will find
-    mkdir -p tmp/node/${nodeVersion}
-    cp ${nodeSources} tmp/node/${nodeVersion}/node-${nodeVersion}.tar.gz
-    tar -C ./tmp/node/${nodeVersion} -xf ${nodeSources} --warning=no-unknown-keyword
-    mv ./tmp/node/${nodeVersion}/node-v${nodeVersion}/* ./tmp/node/${nodeVersion}/
-    rm -rf ${lumo-internal-classpath}
-    cp -rf target ${lumo-internal-classpath}
-    node scripts/package.js ${nodeVersion}
-    rm -rf target
-    mv ${lumo-internal-classpath} target
-
-    # Step 7: AOT Macros
-    sh scripts/aot-bundle-macros.sh
-
-    # Step 8: Package executeable 2nd time
-    node scripts/package.js ${nodeVersion}
-  '';
-
-  dontStrip = true;
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp build/lumo $out/bin
-  '';
-
-  meta = {
-    description = "Fast, cross-platform, standalone ClojureScript environment";
-    longDescription = ''
-      Lumo is a fast, standalone ClojureScript REPL that runs on Node.js and V8.
-      Thanks to V8's custom startup snapshots, Lumo starts up instantaneously,
-      making it the fastest Clojure REPL in existence.
-    '';
-    homepage = "https://github.com/anmonteiro/lumo";
-    license = lib.licenses.epl10;
-    maintainers = [ lib.maintainers.hlolli ];
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
-  };
-}
diff --git a/pkgs/development/interpreters/clojurescript/lumo/deps.edn b/pkgs/development/interpreters/clojurescript/lumo/deps.edn
deleted file mode 100644
index 7a2faee1d7a5d..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/deps.edn
+++ /dev/null
@@ -1,12 +0,0 @@
-{:deps
- {org.clojure/clojure       {:mvn/version "1.10.1"}
-  org.clojure/clojurescript {:mvn/version "1.10.520"}
-  org.clojure/test.check    {:mvn/version "0.10.0-alpha4"}
-  org.clojure/tools.reader   {:mvn/version "1.3.2"
-                              :exclusions  [org.clojure/clojure org.clojure/clojurescript]}
-  com.cognitect/transit-cljs {:mvn/version "0.8.256"
-                              :exclusions  [org.clojure/clojure org.clojure/clojurescript]}
-  malabarba/lazy-map         {:mvn/version "1.3"
-                              :exclusions  [org.clojure/clojure org.clojure/clojurescript]}
-  fipp                       {:mvn/version "0.6.17"
-                              :exclusions  [org.clojure/clojure org.clojure/clojurescript]}}}
diff --git a/pkgs/development/interpreters/clojurescript/lumo/deps.nix b/pkgs/development/interpreters/clojurescript/lumo/deps.nix
deleted file mode 100644
index 50f1c4af2118b..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/deps.nix
+++ /dev/null
@@ -1,392 +0,0 @@
-# generated by clj2nix-1.0.4
-{ pkgs }:
-
-let repos = [
-      "https://repo.clojars.org/"
-      "https://repo1.maven.org/"
-      "https://oss.sonatype.org/content/repositories/releases/"
-      "https://oss.sonatype.org/content/repositories/public/"
-      "https://repo.typesafe.com/typesafe/releases/"
-    ];
-
-in rec {
-  makePaths = {extraClasspaths ? []}: (builtins.map (dep: if builtins.hasAttr "jar" dep.path then dep.path.jar else dep.path) packages) ++ extraClasspaths;
-  makeClasspaths = {extraClasspaths ? []}: builtins.concatStringsSep ":" (makePaths {inherit extraClasspaths;});
-
-  packages = [
-    {
-      name = "com.cognitect/transit-java";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "transit-java";
-        groupId = "com.cognitect";
-        sha512 = "80365a4f244e052b6c4fdfd2fd3b91288835599cb4dd88e0e0dae19883dcda39afee83966810ed81beff342111c3a45a66f5601c443f3ad49904908c43631708";
-        version = "0.8.332";
-      };
-    }
-
-    {
-      name = "org.clojure/data.json";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "data.json";
-        groupId = "org.clojure";
-        sha512 = "ce526bef01bedd31b772954d921a61832ae60af06121f29080853f7932326438b33d183240a9cffbe57e00dc3744700220753948da26b8973ee21c30e84227a6";
-        version = "0.2.6";
-      };
-    }
-
-    {
-      name = "org.clojure/clojure";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "clojure";
-        groupId = "org.clojure";
-        sha512 = "f28178179483531862afae13e246386f8fda081afa523d3c4ea3a083ab607d23575d38ecb9ec0ee7f4d65cbe39a119f680e6de4669bc9cf593aa92be0c61562b";
-        version = "1.10.1";
-      };
-    }
-
-    {
-      name = "commons-codec/commons-codec";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "commons-codec";
-        groupId = "commons-codec";
-        sha512 = "8edecc0faf38e8620460909d8191837f34e2bb2ce853677c486c5e79bb79e88d043c3aed69c11f1365c4884827052ee4e1c18ca56e38d1a5bc0ce15c57daeee3";
-        version = "1.10";
-      };
-    }
-
-    {
-      name = "com.google.errorprone/error_prone_annotations";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "error_prone_annotations";
-        groupId = "com.google.errorprone";
-        sha512 = "bd2135cc9eb2c652658a2814ec9c565fa3e071d4cff590cbe17b853885c78c9f84c1b7b24ba736f4f30ed8cec60a6af983827fcbed61ff142f27ac808e97fc6b";
-        version = "2.1.3";
-      };
-    }
-
-    {
-      name = "org.clojure/core.specs.alpha";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "core.specs.alpha";
-        groupId = "org.clojure";
-        sha512 = "348c0ea0911bc0dcb08655e61b97ba040649b4b46c32a62aa84d0c29c245a8af5c16d44a4fa5455d6ab076f4bb5bbbe1ad3064a7befe583f13aeb9e32a169bf4";
-        version = "0.2.44";
-      };
-    }
-
-    {
-      name = "org.clojure/spec.alpha";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "spec.alpha";
-        groupId = "org.clojure";
-        sha512 = "18c97fb2b74c0bc2ff4f6dc722a3edec539f882ee85d0addf22bbf7e6fe02605d63f40c2b8a2905868ccd6f96cfc36a65f5fb70ddac31c6ec93da228a456edbd";
-        version = "0.2.176";
-      };
-    }
-
-    {
-      name = "org.codehaus.mojo/animal-sniffer-annotations";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "animal-sniffer-annotations";
-        groupId = "org.codehaus.mojo";
-        sha512 = "9e5e3ea9e06e0ac9463869fd0e08ed38f7042784995a7b50c9bfd7f692a53f0e1430b9e1367dc772d0d4eafe5fd2beabbcc60da5008bd792f9e7ec8436c0f136";
-        version = "1.14";
-      };
-    }
-
-    {
-      name = "com.googlecode.json-simple/json-simple";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "json-simple";
-        groupId = "com.googlecode.json-simple";
-        sha512 = "f8798bfbcc8ab8001baf90ce47ec2264234dc1da2d4aa97fdcdc0990472a6b5a5a32f828e776140777d598a99d8a0c0f51c6d0767ae1a829690ab9200ae35742";
-        version = "1.1.1";
-      };
-    }
-
-    {
-      name = "com.cognitect/transit-cljs";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "transit-cljs";
-        groupId = "com.cognitect";
-        sha512 = "318b98ddd63629f37b334bb90e625bc31ab6abcf0b1fa80d8e097551658f2d9219b5ee35869a31f2976d7d385da83bea0c07b0d097babcae241ecbd0fe8a7ecd";
-        version = "0.8.256";
-      };
-    }
-
-    {
-      name = "org.clojure/google-closure-library";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "google-closure-library";
-        groupId = "org.clojure";
-        sha512 = "75631182ef12f21723fe3eba1003d8cf9b8348a51512961e4e1b87bc24d8f3abb14a70c856f08cdaa5588a2d7c2b1b0c03aeaa3c4c5f2ed745a85f59ceeab83a";
-        version = "0.0-20170809-b9c14c6b";
-      };
-    }
-
-    {
-      name = "fipp";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "fipp";
-        groupId = "fipp";
-        sha512 = "d844ab63d28cb5e31657cc38e574bbc7072a78419c997f25445ac6ea4a719904a4f4844b37e3f664a8d2e49bd38ff1006a9e8c6e63fb4e2f0a2322d6c2638275";
-        version = "0.6.17";
-      };
-    }
-
-    {
-      name = "org.clojure/clojurescript";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "clojurescript";
-        groupId = "org.clojure";
-        sha512 = "b241959d6bd2ab659920965d301508226e26b3edcee469e4cd516cd4ed014b1a6b132c17ee7d96a8e66fe27fd01a74813ac8b85958d260f9fdbbeb4348d57ff1";
-        version = "1.10.520";
-      };
-    }
-
-    {
-      name = "com.google.jsinterop/jsinterop-annotations";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "jsinterop-annotations";
-        groupId = "com.google.jsinterop";
-        sha512 = "b6fd98a9167d031f6bff571567d4658fda62c132dc74d47ca85e02c9bb3ce8812b1012c67f4c81501ab0cbd9ccd9cda5dcf32d306e04368ace7a173cecae975d";
-        version = "1.0.0";
-      };
-    }
-
-    {
-      name = "com.fasterxml.jackson.core/jackson-core";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "jackson-core";
-        groupId = "com.fasterxml.jackson.core";
-        sha512 = "a1bd6c264b9ab07aad3d0f26b65757e35ff47904ab895bb7f997e3e1fd063129c177ad6f69876907b04ff8a43c6b1770a26f53a811633a29e66a5dce57194f64";
-        version = "2.8.7";
-      };
-    }
-
-    {
-      name = "malabarba/lazy-map";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "lazy-map";
-        groupId = "malabarba";
-        sha512 = "ce56d6f03ac344579e15f062cdd4c477c0323da716d4d4106c4edb746959699e0b294b25aacf8ecf1579a6bdd5556a60f4bcb1648d22832984c069a0431c840f";
-        version = "1.3";
-      };
-    }
-
-    {
-      name = "com.cognitect/transit-js";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "transit-js";
-        groupId = "com.cognitect";
-        sha512 = "6ca0978e633e41b45ff5a76df79099ba7c4900a8ca9f6acd2a903e4ab10a1ec0c83d4127009df9dac1337debaba01f7ff1d5cced1c2159c05ef94845f73f0623";
-        version = "0.8.846";
-      };
-    }
-
-    {
-      name = "org.mozilla/rhino";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "rhino";
-        groupId = "org.mozilla";
-        sha512 = "466e7a76303ea191802b5e7adb3dff64c1d6283a25ce87447296b693b87b166f4cdd191ef7dc130a5739bfa0e4a81b08550f607c84eec167406d9be2225562dc";
-        version = "1.7R5";
-      };
-    }
-
-    {
-      name = "org.clojure/google-closure-library-third-party";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "google-closure-library-third-party";
-        groupId = "org.clojure";
-        sha512 = "57fa84fbbca3eb9e612d2842e4476b74f64d13dd076ffca6c9d9e15c4ca8a2f2c56cc19307bcad0ab5b4f9cb0c3e7900ccc845bd570ebc92e2633885ab621f35";
-        version = "0.0-20170809-b9c14c6b";
-      };
-    }
-
-    {
-      name = "com.google.javascript/closure-compiler-externs";
-      path = pkgs.fetchMavenArtifact {
-        inherit repos;
-        artifactId = "closure-compiler-externs";
-        groupId = "com.google.javascript";
-        sha512 = "1a47c8559144095c0b23a8e40acd7185625cea5a4c103eb75fbacd32d5809d087bfb60aaf57066329649c6017ec5f993756024e767a5b8f84926371ba6183a82";
-        version = "v20180805";
-      };
-    }
-
-    {
-    name = "org.javassist/javassist";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "javassist";
-      groupId = "org.javassist";
-      sha512 = "ad65ee383ed83bedecc2073118cb3780b68b18d5fb79a1b2b665ff8529df02446ad11e68f9faaf4f2e980065f5946761a59ada379312cbb22d002625abed6a4f";
-      version = "3.18.1-GA";
-    };
-  }
-
-  {
-    name = "com.google.guava/guava";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "guava";
-      groupId = "com.google.guava";
-      sha512 = "429ceeec0350ba98e2b089b8b70ded2ec570c3a684894a7545d10592c1c7be42dacd1fad8b2cb9123aa3612575ce1b56e1bb54923443fc293f8e9adeac2762ee";
-      version = "25.1-jre";
-    };
-  }
-
-  {
-    name = "org.msgpack/msgpack";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "msgpack";
-      groupId = "org.msgpack";
-      sha512 = "a2741bed01f9c37ba3dbe6a7ab9ce936d36d4da97c35e215250ac89ac0851fc5948d83975ea6257d5dce1d43b6b5147254ecfb4b33f9bbdc489500b3ff060449";
-      version = "0.6.12";
-    };
-  }
-
-  {
-    name = "com.google.j2objc/j2objc-annotations";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "j2objc-annotations";
-      groupId = "com.google.j2objc";
-      sha512 = "a4a0b58ffc2d9f9b516f571bcd0ac14e4d3eec15aacd6320a4a1a12045acce8c6081e8ce922c4e882221cedb2cc266399ab468487ae9a08124d65edc07ae30f0";
-      version = "1.1";
-    };
-  }
-
-  {
-    name = "com.cognitect/transit-clj";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "transit-clj";
-      groupId = "com.cognitect";
-      sha512 = "ad838d9e5688c8cebe54972ad0c9a6db428ec1cece8c8b078e8e8d4b0c7870b328239d2bc9dd8fcbedcba56ca0de9afb5a0a843ff5f630dc039118de7eb45eba";
-      version = "0.8.309";
-    };
-  }
-
-  {
-    name = "args4j/args4j";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "args4j";
-      groupId = "args4j";
-      sha512 = "5f0651234c8f8b130fddb39fa832c6da47d3e21bc3434307554314c47e672c28d005c64e9effe85d552190cfc27966b1f005740ffd40b4e1bec2cb257d7feedb";
-      version = "2.0.26";
-    };
-  }
-
-  {
-    name = "org.clojure/core.rrb-vector";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "core.rrb-vector";
-      groupId = "org.clojure";
-      sha512 = "4e410c4a90a869e98d5d69a8a6dd6427e9d77b70e1a2b54cf24baf23389f22e7a208375783c2fdc5c1a5acfb8511a5c5ed57ad1a946d5bffd203f453d90a6155";
-      version = "0.0.14";
-    };
-  }
-
-  {
-    name = "org.checkerframework/checker-qual";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "checker-qual";
-      groupId = "org.checkerframework";
-      sha512 = "3c38b0b9e0bde464268cff5fdb1894a048240b039093ee3abe5b32976a22737d26b355f8793f630a7f0b319fdb019a6fcd9ee1d5219676f0f10c0b0f496b61b7";
-      version = "2.0.0";
-    };
-  }
-
-  {
-    name = "org.clojure/tools.reader";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "tools.reader";
-      groupId = "org.clojure";
-      sha512 = "290a2d98b2eec08a8affc2952006f43c0459c7e5467dc454f5fb5670ea7934fa974e6be19f7e7c91dadcfed62082d0fbcc7788455b7446a2c9c5af02f7fc52b6";
-      version = "1.3.2";
-    };
-  }
-
-  {
-    name = "com.google.javascript/closure-compiler-unshaded";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "closure-compiler-unshaded";
-      groupId = "com.google.javascript";
-      sha512 = "4fa7029aabd9ff84255d56004707486726db9c770f43cb10dc44fb53a3254d588a0f47f937f55401d7f319267ec2362c87f5ea709bcfa06f12a66fe22cb8c53d";
-      version = "v20180805";
-    };
-  }
-
-  {
-    name = "org.clojure/test.check";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "test.check";
-      groupId = "org.clojure";
-      sha512 = "60fa3bd38c32cf193c573f1bd47c6abd7e7a5bb2fc7f7f9f97aa9dcd54d5e2eab9e351f5f83b01bb96b32811a9f2f5ab384c6b7b7ebbb6c86d1ad4f2789351bf";
-      version = "0.10.0-alpha4";
-    };
-  }
-
-  {
-    name = "com.google.protobuf/protobuf-java";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "protobuf-java";
-      groupId = "com.google.protobuf";
-      sha512 = "230fc4360b8b2ee10eb73d756c58478b6c779433aa4ca91938404bbfd0ada516d3215664dbe953c96649e33bbef293958e4ad4616671f0c246883196ece92998";
-      version = "3.0.2";
-    };
-  }
-
-  {
-    name = "com.google.code.findbugs/jsr305";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "jsr305";
-      groupId = "com.google.code.findbugs";
-      sha512 = "bb09db62919a50fa5b55906013be6ca4fc7acb2e87455fac5eaf9ede2e41ce8bbafc0e5a385a561264ea4cd71bbbd3ef5a45e02d63277a201d06a0ae1636f804";
-      version = "3.0.2";
-    };
-  }
-
-  {
-    name = "com.google.code.gson/gson";
-    path = pkgs.fetchMavenArtifact {
-      inherit repos;
-      artifactId = "gson";
-      groupId = "com.google.code.gson";
-      sha512 = "c3cdaf66a99e6336abc80ff23374f6b62ac95ab2ae874c9075805e91d849b18e3f620cc202b4978fc92b73d98de96089c8714b1dd096b2ae1958cfa085715f7a";
-      version = "2.7";
-    };
-  }
-
-  ];
-  }
diff --git a/pkgs/development/interpreters/clojurescript/lumo/mkdir_promise.patch b/pkgs/development/interpreters/clojurescript/lumo/mkdir_promise.patch
deleted file mode 100644
index e9504bb5c1a05..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/mkdir_promise.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/vendor/nexe/exe.js b/vendor/nexe/exe.js
-index 21e78bb..ecbfca4 100644
---- a/vendor/nexe/exe.js
-+++ b/vendor/nexe/exe.js
-@@ -254,9 +254,7 @@ return initModule._compile(${JSON.stringify(source)}, process.execPath);
-      */
- 
-     function makeOutputDirectory(next) {
--      mkdirp(path.dirname(options.output), function() {
--        next();
--      });
-+        mkdirp(path.dirname(options.output)).then(() => next());
-     },
- 
-     /**
-@@ -1107,4 +1105,3 @@ exports.package = function(path, options) {
- 
-   return obj;
- }
--
diff --git a/pkgs/development/interpreters/clojurescript/lumo/no_mangle.patch b/pkgs/development/interpreters/clojurescript/lumo/no_mangle.patch
deleted file mode 100644
index 9af2234119582..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/no_mangle.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/scripts/bundle.js b/scripts/bundle.js
-index 16425a4..0d510fc 100644
---- a/scripts/bundle.js
-+++ b/scripts/bundle.js
-@@ -73,6 +73,8 @@ const plugins = [
- if (!isDevBuild) {
-   plugins.push(
-     babelMinify({
-+     evaluate: false,
-+      mangle: false,
-       comments: false,
-       removeConsole: true,
-       removeDebugger: true,
diff --git a/pkgs/development/interpreters/clojurescript/lumo/package.json b/pkgs/development/interpreters/clojurescript/lumo/package.json
deleted file mode 100644
index acfd5c4ed498d..0000000000000
--- a/pkgs/development/interpreters/clojurescript/lumo/package.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-  "name": "lumo-build-deps",
-  "version": "1.10.1",
-  "dependencies": {
-    "@babel/core": "^7.1.5",
-    "@babel/plugin-external-helpers": "7.8.3",
-    "@babel/plugin-proposal-class-properties": "^7.1.0",
-    "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
-    "@babel/plugin-transform-runtime": "^7.1.0",
-    "@babel/preset-env": "^7.1.5",
-    "@babel/preset-stage-2": "7.8.3",
-    "@babel/runtime": "^7.1.5",
-    "async": "^3.1.1",
-    "async-retry": "^1.2.3",
-    "babel-core": "^7.0.0-bridge.0",
-    "babel-eslint": "10.0.3",
-    "babel-jest": "^25.1.0",
-    "babel-loader": "^8.0.4",
-    "babel-plugin-transform-flow-strip-types": "6.22.0",
-    "browserify": "^16.2.3",
-    "chalk": "^3.0.0",
-    "colors": "^1.3.3",
-    "cross-env": "7.0.0",
-    "death": "^1.1.0",
-    "flow-bin": "0.118.0",
-    "google-closure-compiler-js": "20170910.0.1",
-    "glob": "^7.1.3",
-    "gunzip-maybe": "^1.4.1",
-    "insert-module-globals": "^7.2.0",
-    "jszip": "2.x",
-    "mkdirp": "^1.0.3",
-    "ncp": "^2.0.0",
-    "node-fetch": "^2.2.1",
-    "paredit.js": "0.3.6",
-    "posix-getopt": "github:anmonteiro/node-getopt#master",
-    "prettier": "1.19.1",
-    "progress": "^2.0.0",
-    "read-pkg": "^5.2.0",
-    "request": "^2.88.0",
-    "rollup": "^1.9.0",
-    "rollup-plugin-babel": "^4.3.2",
-    "rollup-plugin-babel-minify": "^9.1.1",
-    "rollup-plugin-commonjs": "^10.0.0",
-    "rollup-plugin-node-resolve": "^5.0.0",
-    "rollup-plugin-replace": "^2.1.1",
-    "tar-stream": "^2.0.1",
-    "webpack": "^4.25.1",
-    "webpack-cli": "^3.2.3",
-    "which-promise": "^1.0.0"
-  }
-}
diff --git a/pkgs/development/interpreters/dart/default.nix b/pkgs/development/interpreters/dart/default.nix
index 0891bfd2d8ff0..bf5ab2dc98fc3 100644
--- a/pkgs/development/interpreters/dart/default.nix
+++ b/pkgs/development/interpreters/dart/default.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , unzip
-, version ? "2.15.1"
+, version ? "2.17.0"
 , sources ? let
     base = "https://storage.googleapis.com/dart-archive/channels";
     x86_64 = "x64";
@@ -10,28 +10,28 @@
     aarch64 = "arm64";
     # Make sure that if the user overrides version parameter they're
     # also need to override sources, to avoid mistakes
-    version = "2.15.1";
+    version = "2.17.0";
   in
   {
     "${version}-aarch64-darwin" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${aarch64}-release.zip";
-      sha256 = "sha256-DDE4DpA2m8wKkUZuQDn4NpXVvtaJ6sIHeKNjk3RbpYE=";
+      sha256 = "sha256-WXf0SdSEHMaJRfVFgKzb9SY4LBjf1xO5Oki/dzKMEMY=";
     };
     "${version}-x86_64-darwin" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip";
-      sha256 = "sha256-s6bkwh2m5KdRr/WxWXwItO9YaDpp/HI3xjnS2UHmN+I=";
+      sha256 = "sha256-PwaxUQHIUhRWCOy3IVdGtRyP9LtscqoUJPOZfevN7xs=";
     };
     "${version}-x86_64-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip";
-      sha256 = "sha256-D0XcqlO0CQtpsne4heqaTLOkFYnJEZET4bl4rVXOM18=";
+      sha256 = "sha256-V7j9lk5HyB1GeuuVsJmmcKt+j1ShzXTUW80f3HeRPYY=";
     };
     "${version}-i686-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip";
-      sha256 = "sha256-SRq5TtxS+bwCqVxa0U2Zhn8J1Wtm4Onq+3uQS+951sw=";
+      sha256 = "sha256-YWxFwbcGvssOSL4S5O4jqLzxdUHvbVd9i4cLNyFn/cs=";
     };
     "${version}-aarch64-linux" = fetchurl {
       url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip";
-      sha256 = "sha256-iDbClCNDUsxT6K6koc4EQuu7dppTbOfzCVedpQIKI5U=";
+      sha256 = "sha256-BaHbD9hFhYd9YYCFg0bXxTx++JQzZn2zuF8/Ll+nA2s=";
     };
   }
 }:
diff --git a/pkgs/development/interpreters/hy/builder.nix b/pkgs/development/interpreters/hy/builder.nix
deleted file mode 100644
index 6757f859ac14a..0000000000000
--- a/pkgs/development/interpreters/hy/builder.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ lib
-, python3Packages
-, hyDefinedPythonPackages /* Packages like with python.withPackages */
-, ...
-}:
-python3Packages.buildPythonApplication rec {
-  pname = "hy";
-  version = "1.0a1";
-
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-lCrbvbkeutSNmvvn/eHpTnJwPb5aEH7hWTXYSE+AJmU=";
-  };
-
-  checkInputs = with python3Packages; [ flake8 pytest ];
-
-  propagatedBuildInputs = with python3Packages; [
-    appdirs
-    astor
-    clint
-    colorama
-    fastentrypoints
-    funcparserlib
-    rply
-    pygments
-  ] ++ (hyDefinedPythonPackages python3Packages);
-
-  # Hy does not include tests in the source distribution from PyPI, so only test executable.
-  checkPhase = ''
-    $out/bin/hy --help > /dev/null
-  '';
-
-  meta = with lib; {
-    description = "A LISP dialect embedded in Python";
-    homepage = "https://hylang.org/";
-    license = licenses.mit;
-    maintainers = with maintainers; [ nixy mazurel ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/interpreters/hy/default.nix b/pkgs/development/interpreters/hy/default.nix
deleted file mode 100644
index f5d80c11d7115..0000000000000
--- a/pkgs/development/interpreters/hy/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ lib
-, callPackage
-, hyDefinedPythonPackages ? python-packages: [] /* Packages like with python.withPackages */
-}:
-let
-  withPackages = (
-    python-packages: callPackage ./builder.nix {
-      hyDefinedPythonPackages = python-packages;
-    }
-  );
-in
-(withPackages hyDefinedPythonPackages) // {
-  # Export withPackages function for hy customization
-  inherit withPackages;
-}
diff --git a/pkgs/development/interpreters/kona/default.nix b/pkgs/development/interpreters/kona/default.nix
index 24e10eb7306aa..cfc1c12d1923a 100644
--- a/pkgs/development/interpreters/kona/default.nix
+++ b/pkgs/development/interpreters/kona/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     description = "An interpreter of K, APL-like programming language";
     homepage = "https://github.com/kevinlawler/kona/";
     maintainers = with maintainers; [ raskin ];
+    mainProgram = "k";
     platforms = platforms.all;
     license = licenses.isc;
   };
diff --git a/pkgs/development/interpreters/octave/default.nix b/pkgs/development/interpreters/octave/default.nix
index 2fcdab95509e7..ab2b6af9d5f91 100644
--- a/pkgs/development/interpreters/octave/default.nix
+++ b/pkgs/development/interpreters/octave/default.nix
@@ -119,6 +119,11 @@ let
       sha256 = "sha256-1KnYHz9ntKbgfLeoDcsQrV6RdvzDB2LHCoFYCmS4sLY=";
     };
 
+    patches = [
+      # https://savannah.gnu.org/bugs/?func=detailitem&item_id=62436
+      ./patches/bug62436.patch
+    ];
+
     buildInputs = [
       readline
       ncurses
diff --git a/pkgs/development/interpreters/octave/patches/bug62436.patch b/pkgs/development/interpreters/octave/patches/bug62436.patch
new file mode 100644
index 0000000000000..d9d7cfc30408f
--- /dev/null
+++ b/pkgs/development/interpreters/octave/patches/bug62436.patch
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User John Donoghue <john.donoghue@ieee.org>
+# Date 1652358904 14400
+#      Thu May 12 08:35:04 2022 -0400
+# Branch stable
+# Node ID 8c940cfcce257369677c09154da2aab2c56eaa79
+# Parent  63710f3bd9811c2d206ac9e7b4f47cf06c47e153
+* scripts/pkg/private/build.m: check configure and Makefile exist before trying to unlink them (Bug #62436)
+
+diff -r 63710f3bd981 -r 8c940cfcce25 scripts/pkg/private/build.m
+--- a/scripts/pkg/private/build.m	Wed May 11 09:44:55 2022 -0700
++++ b/scripts/pkg/private/build.m	Thu May 12 08:35:04 2022 -0400
+@@ -77,8 +77,12 @@
+     else
+       arch_abi = getarch ();
+       configure_make (desc, build_root, verbose);
+-      unlink (fullfile (build_root, "src", "configure"));
+-      unlink (fullfile (build_root, "src", "Makefile"));
++      if exist (fullfile (build_root, "src", "configure"), "file")
++        unlink (fullfile (build_root, "src", "configure"));
++      endif
++      if exist (fullfile (build_root, "src", "Makefile"), "file")
++        unlink (fullfile (build_root, "src", "Makefile"));
++      endif
+     endif
+     tar_name = [desc.name "-" desc.version "-" arch_abi ".tar"];
+     tar_path = fullfile (builddir, tar_name);
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 9c3c34c73aad1..5d6e8e0250763 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -197,14 +197,14 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "1.3.7"; # Mar 15, 2022
+    crossVersion = "31dac3e264a7f1f53dbf49570771123ebd514055"; # May 03, 2022
 
     perl-cross-src = fetchFromGitHub {
-      name = "perl-cross-${crossVersion}";
+      name = "perl-cross-unstable-${crossVersion}";
       owner = "arsv";
       repo = "perl-cross";
       rev = crossVersion;
-      sha256 = "sha256-F7Vi3RAgIE/3NPlbD5zQ3Q8Ex9ddXTC4zoCRaOxXK0A=";
+      sha256 = "sha256-5hLUP34WwTFRsG0o8zSJm8WM3WfBAhHeYrrQF2MtMKc=";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
index 1a3cb77bab11e..60e8192d9bf41 100644
--- a/pkgs/development/interpreters/php/8.0.nix
+++ b/pkgs/development/interpreters/php/8.0.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.0.18";
-    sha256 = "sha256-gm7jSIGhw0lnjU98xV/5FB+hQRNE5LuPldD5IjvOtVo=";
+    version = "8.0.19";
+    sha256 = "66Dmf9r2kEsuS4TgZL4KDWGyy2SiP4GgypsaUbw6gzA=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index 5c94f168866ce..72d00639b6224 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.1.5";
-    sha256 = "sha256-gn3lZ3HDq4MToGmBLxX27EmYnVEK69Dc4YCDnG2Nb/M=";
+    version = "8.1.6";
+    sha256 = "ezUzBLdAdVT3DT4QGiJqH8It7K5cTELtJwxOOJv6G2Y=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/generic.nix b/pkgs/development/interpreters/php/generic.nix
index 7c0994d15b645..70052197d220a 100644
--- a/pkgs/development/interpreters/php/generic.nix
+++ b/pkgs/development/interpreters/php/generic.nix
@@ -223,8 +223,7 @@ let
             [ "--disable-all" ]
 
             # PCRE
-            ++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ]
-            ++ [ "PCRE_LIBDIR=${pcre2}" ]
+            ++ [ "--with-external-pcre=${pcre2.dev}" ]
 
 
             # Enable sapis
@@ -232,10 +231,6 @@ let
             ++ lib.optional (!cliSupport) "--disable-cli"
             ++ lib.optional fpmSupport "--enable-fpm"
             ++ lib.optional pearSupport [ "--with-pear" "--enable-xml" "--with-libxml" ]
-            ++ lib.optionals (pearSupport && (lib.versionOlder version "7.4")) [
-              "--enable-libxml"
-              "--with-libxml-dir=${libxml2.dev}"
-            ]
             ++ lib.optional pharSupport "--enable-phar"
             ++ lib.optional (!phpdbgSupport) "--disable-phpdbg"
 
@@ -270,14 +265,7 @@ let
               done
 
               export EXTENSION_DIR=$out/lib/php/extensions
-            ''
-            # PKG_CONFIG need not be a relative path
-            + lib.optionalString (lib.versionOlder version "7.4") ''
-              for i in $(find . -type f -name "*.m4"); do
-                substituteInPlace $i \
-                  --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
-              done
-            '' + ''
+
               ./buildconf --copy --force
 
               if test -f $src/genfiles; then
diff --git a/pkgs/development/interpreters/php/zlib-darwin-tests.patch b/pkgs/development/interpreters/php/zlib-darwin-tests.patch
deleted file mode 100644
index ef61f0a878457..0000000000000
--- a/pkgs/development/interpreters/php/zlib-darwin-tests.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/ext/zlib/tests/bug55544.phpt b/ext/zlib/tests/bug55544.phpt
-index a0d22f4fcebf4846da6781f424f87821626de5ea..e650fe6909f555d04834f4c08f7fd0d354b783e2 100644
---- a/ext/zlib/tests/bug55544.phpt
-+++ b/ext/zlib/tests/bug55544.phpt
-@@ -6,6 +6,9 @@ extension_loaded("zlib") or die("skip");
- if (substr(PHP_OS, 0, 3) == 'WIN') {
-        die("skip not for windows");
- }
-+if (PHP_OS == "Darwin") {
-+       die("skip not for darwin");
-+}
- ?>
- --INI--
- output_handler=ob_gzhandler
-diff --git a/ext/zlib/tests/gzencode_variation1.phpt b/ext/zlib/tests/gzencode_variation1.phpt
-index c966b2cbc5b7..2f953168fa22 100644
---- a/ext/zlib/tests/gzencode_variation1.phpt
-+++ b/ext/zlib/tests/gzencode_variation1.phpt
-@@ -10,6 +10,10 @@ if( substr(PHP_OS, 0, 3) == "WIN" ) {
- if (!extension_loaded("zlib")) {
- 	print "skip - ZLIB extension not loaded";
- }
-+
-+if (PHP_OS == "Darwin") {
-+    print "skip - OS is encoded in headers, tested header is non Darwin";
-+}
- ?>
- --FILE--
- <?php
-diff --git a/ext/zlib/tests/gzencode_variation2.phpt b/ext/zlib/tests/gzencode_variation2.phpt
-index 94ac42a5f1cd..9160cf519751 100644
---- a/ext/zlib/tests/gzencode_variation2.phpt
-+++ b/ext/zlib/tests/gzencode_variation2.phpt
-@@ -10,6 +10,10 @@ if( substr(PHP_OS, 0, 3) == "WIN" ) {
- if (!extension_loaded("zlib")) {
- 	print "skip - ZLIB extension not loaded";
- }
-+
-+if (PHP_OS == "Darwin") {
-+    print "skip - OS is encoded in headers, tested header is non Darwin";
-+}
- ?>
- --FILE--
- <?php
diff --git a/pkgs/development/interpreters/pixie/default.nix b/pkgs/development/interpreters/pixie/default.nix
deleted file mode 100644
index 5b93357b26652..0000000000000
--- a/pkgs/development/interpreters/pixie/default.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, python2, makeWrapper, pkg-config, gcc,
-  pypy, libffi, libedit, libuv, boost, zlib,
-  variant ? "jit", buildWithPypy ? false }:
-
-let
-  commit-count = "1364";
-  common-flags = "--thread --gcrootfinder=shadowstack --continuation";
-  variants = {
-    jit = { flags = "--opt=jit"; target = "target.py"; };
-    jit-preload = { flags = "--opt=jit"; target = "target_preload.py"; };
-    no-jit = { flags = ""; target = "target.py"; };
-    no-jit-preload = { flags = ""; target = "target_preload.py"; };
-  };
-  pixie-src = fetchFromGitHub {
-    owner = "pixie-lang";
-    repo = "pixie";
-    rev = "5eb0ccbe8b0087d3a5f2d0bbbc6998d624d3cd62";
-    sha256 = "sha256-dQ8ncH0IqU42WYxwBgjH6QQfvMIo7RZpv81UAUsPw10=";
-  };
-  pypy-tag = "91db1a9";
-  pypy-src = fetchurl {
-    name = "pypy-src-${pypy-tag}";
-    url = "https://bitbucket.org/pypy/pypy/get/${pypy-tag}.tar.bz2";
-    sha256 = "0ylbqvhbcp5m09l15i2q2h3a0vjd055x2r37cq71lkhgmmaxrwbq";
-  };
-  libs = [ libffi libedit libuv boost.dev boost.out zlib ];
-  include-path = lib.concatStringsSep ":"
-                   (map (p: "${p}/include") libs);
-  library-path = lib.concatStringsSep ":"
-                   (map (p: "${p}/lib") libs);
-  bin-path = lib.concatStringsSep ":"
-               (map (p: "${p}/bin") [ gcc ]);
-  build = {flags, target}: stdenv.mkDerivation rec {
-    pname = "pixie";
-    version = "0-r${commit-count}-${variant}";
-    nativeBuildInputs = [ makeWrapper pkg-config ];
-    buildInputs = libs;
-    PYTHON = if buildWithPypy
-      then "${pypy}/pypy-c/pypy-c"
-      else python2.interpreter;
-    unpackPhase = ''
-      cp -R ${pixie-src} pixie-src
-      mkdir pypy-src
-      (cd pypy-src
-       tar --strip-components=1 -xjf ${pypy-src})
-      chmod -R +w pypy-src pixie-src
-    '';
-    patchPhase = ''
-      (cd pixie-src
-       patch -p1 < ${./load_paths.patch}
-       libraryPaths='["${libuv}" "${libedit}" "${libffi.dev}" "${boost.dev}" "${boost.out}" "${zlib.dev}"]'
-       export libraryPaths
-       substituteAllInPlace ./pixie/ffi-infer.pxi)
-    '';
-    buildPhase = ''(
-      PYTHONPATH="`pwd`/pypy-src:$PYTHONPATH";
-      RPYTHON="`pwd`/pypy-src/rpython/bin/rpython";
-      cd pixie-src
-      $PYTHON $RPYTHON ${common-flags} ${target}
-      find pixie -name "*.pxi" -exec ./pixie-vm -c {} \;
-    )'';
-    LD_LIBRARY_PATH = library-path;
-    C_INCLUDE_PATH = include-path;
-    LIBRARY_PATH = library-path;
-    PATH = bin-path;
-    installPhase = ''
-      mkdir -p $out/share $out/bin
-      cp pixie-src/pixie-vm $out/share/pixie-vm
-      cp -R pixie-src/pixie $out/share/pixie
-      makeWrapper $out/share/pixie-vm $out/bin/pixie \
-        --prefix LD_LIBRARY_PATH : ${LD_LIBRARY_PATH} \
-        --prefix C_INCLUDE_PATH : ${C_INCLUDE_PATH} \
-        --prefix LIBRARY_PATH : ${LIBRARY_PATH} \
-        --prefix PATH : ${PATH}
-    '';
-    doCheck = true;
-    checkPhase = ''
-      RES=$(./pixie-src/pixie-vm -e "(print :ok)")
-      if [ "$RES" != ":ok" ]; then
-        echo "ERROR Unexpected output: '$RES'"
-        return 1
-      else
-        echo "$RES"
-      fi
-    '';
-    meta = {
-      description = "A clojure-like lisp, built with the pypy vm toolkit";
-      homepage = "https://github.com/pixie-lang/pixie";
-      license = lib.licenses.lgpl3;
-      platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
-      maintainers = with lib.maintainers; [ bendlas ];
-    };
-  };
-in build (builtins.getAttr variant variants)
diff --git a/pkgs/development/interpreters/pixie/dust.nix b/pkgs/development/interpreters/pixie/dust.nix
deleted file mode 100644
index 9c39b5c5ce63c..0000000000000
--- a/pkgs/development/interpreters/pixie/dust.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchFromGitHub
-, pixie, rlwrap
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dust";
-  version = "0-91";
-
-  src = fetchFromGitHub {
-    owner = "pixie-lang";
-    repo = "dust";
-    rev = "efe469661e749a71e86858fd006f61464810575a";
-    sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
-  };
-
-  buildInputs = [ pixie ];
-
-  patches = [ ./make-paths-configurable.patch ];
-
-  configurePhase = ''
-    pixiePath="${pixie}/bin/pixie" \
-    basePath="$out/share/dust" \
-    rlwrapPath="${rlwrap}/bin/rlwrap" \
-      substituteAll dust.in dust
-    chmod +x dust
-  '';
-
-  # FIXME: AOT for dust
-  #  buildPhase = ''
-  #    find . -name "*.pxi" -exec pixie-vm -c {} \;
-  #  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/dust
-    cp -a src/ run.pxi $out/share/dust
-    mv dust $out/bin/dust
-  '';
-
-  meta = with lib; {
-    description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
-    homepage = src.meta.homepage;
-    maintainers = with maintainers; [ ];
-    license = licenses.lgpl3;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/interpreters/pixie/load_paths.patch b/pkgs/development/interpreters/pixie/load_paths.patch
deleted file mode 100644
index a36d280c58675..0000000000000
--- a/pkgs/development/interpreters/pixie/load_paths.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/pixie/ffi-infer.pxi b/pixie/ffi-infer.pxi
-index 9f13ac7..74301c2 100644
---- a/pixie/ffi-infer.pxi
-+++ b/pixie/ffi-infer.pxi
-@@ -1,15 +1,12 @@
- (ns pixie.ffi-infer
-   (:require [pixie.io-blocking :as io]))
- 
-+(defn -add-library-path [p]
-+  (swap! load-paths conj (str p "/include"))
-+  (swap! load-paths conj (str p "/lib")))
- 
--(defn -add-rel-path [rel]
--  (swap! load-paths conj (str (first @load-paths) "/" rel)))
--
--(-add-rel-path "lib")
--(-add-rel-path "include")
--(-add-rel-path "../lib")
--(-add-rel-path "../include")
--
-+(doseq [lp @libraryPaths@]
-+  (-add-library-path lp))
- 
- (def *config* nil)
- (set-dynamic! (var *config*))
diff --git a/pkgs/development/interpreters/pixie/make-paths-configurable.patch b/pkgs/development/interpreters/pixie/make-paths-configurable.patch
deleted file mode 100644
index e22e83d2ee744..0000000000000
--- a/pkgs/development/interpreters/pixie/make-paths-configurable.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 0cbb82e606610d36e52c70d888995fbbf9b0d7c8 Mon Sep 17 00:00:00 2001
-From: Herwig Hochleitner <herwig@bendlas.net>
-Date: Sun, 28 Feb 2016 16:34:14 +0100
-Subject: [PATCH] make paths configurable
-
----
- dust    | 52 ----------------------------------------------------
- dust.in | 43 +++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 43 insertions(+), 52 deletions(-)
- delete mode 100755 dust
- create mode 100755 dust.in
-
-diff --git a/dust b/dust
-deleted file mode 100755
-index ffced9b..0000000
---- a/dust
-+++ /dev/null
-@@ -1,52 +0,0 @@
--#!/usr/bin/env bash
--
--base_path=$0
--if [ -L "$base_path" ]; then
--    base_path=`readlink $base_path`
--fi
--base_path=`dirname $base_path`
--
--pixie_path=`which pixie-vm`
--if [ -z "$pixie_path" ]; then
--    echo "Error: 'pixie-vm' must be on your PATH"
--    exit 1
--fi
--
--function set_load_path() {
--    load_path=""
--    if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
--        load_path="`cat .load-path`"
--    fi
--}
--
--if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
--	echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
--	echo "To start you can run the following command:"
--	echo "  pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
--	echo
--fi
--
--set_load_path
--run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
--
--case $1 in
--    ""|"repl")
--        rlwrap_cmd=""
--        if [ -n "`which rlwrap`" ]; then
--            rlwrap_cmd="rlwrap -aignored -n"
--        fi
--        $rlwrap_cmd $pixie_path $load_path
--        ;;
--    "run")
--        shift
--        file=$1
--        shift
--        $pixie_path $load_path $file $@
--        ;;
--    -h|--help)
--        $run_dust help
--        ;;
--    *)
--        $run_dust $@
--        ;;
--esac
-diff --git a/dust.in b/dust.in
-new file mode 100755
-index 0000000..44a7fbd
---- /dev/null
-+++ b/dust.in
-@@ -0,0 +1,40 @@
-+#!/usr/bin/env bash
-+
-+base_path=@basePath@
-+pixie_path=@pixiePath@
-+rlwrap_cmd=@rlwrapPath@
-+
-+function set_load_path() {
-+    load_path=""
-+    if ([ -f "project.edn" ] || [ -f "project.pxi" ]) && [ -f ".load-path" ]; then
-+        load_path="`cat .load-path`"
-+    fi
-+}
-+
-+if [ ! -f "project.edn" ] && [ -f "project.pxi" ]; then
-+	echo "Warning: 'project.pxi' is deprecated, please use 'project.edn'."
-+	echo "To start you can run the following command:"
-+	echo "  pixie-vm -l $base_path/src -e '(require dust.project :as p) (p/load-project!) (prn (dissoc @p/*project* :path))'"
-+	echo
-+fi
-+
-+set_load_path
-+run_dust="$pixie_path -l $base_path/src $load_path $base_path/run.pxi"
-+
-+case $1 in
-+    ""|"repl")
-+        $rlwrap_cmd -aignored -n $pixie_path $load_path
-+        ;;
-+    "run")
-+        shift
-+        file=$1
-+        shift
-+        $pixie_path $load_path $file $@
-+        ;;
-+    -h|--help)
-+        $run_dust help
-+        ;;
-+    *)
-+        $run_dust $@
-+        ;;
-+esac
--- 
-2.7.1
-
diff --git a/pkgs/development/interpreters/python/hooks/default.nix b/pkgs/development/interpreters/python/hooks/default.nix
index cb5ef87826a9c..34c6a72662d71 100644
--- a/pkgs/development/interpreters/python/hooks/default.nix
+++ b/pkgs/development/interpreters/python/hooks/default.nix
@@ -124,6 +124,15 @@ in rec {
       };
     } ./python-recompile-bytecode-hook.sh ) {};
 
+  pythonRelaxDepsHook = callPackage ({ wheel }:
+    makeSetupHook {
+      name = "python-relax-deps-hook";
+      deps = [ wheel ];
+      substitutions = {
+        inherit pythonInterpreter;
+      };
+    } ./python-relax-deps-hook.sh) {};
+
   pythonRemoveBinBytecodeHook = callPackage ({ }:
     makeSetupHook {
       name = "python-remove-bin-bytecode-hook";
@@ -161,8 +170,8 @@ in rec {
       deps = [ ensureNewerSourcesForZipFilesHook ];
       substitutions = {
         inherit pythonInterpreter;
-    };
-  } ./venv-shell-hook.sh) {});
+      };
+    } ./venv-shell-hook.sh) {});
 
   wheelUnpackHook = callPackage ({ wheel }:
     makeSetupHook {
diff --git a/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh
new file mode 100644
index 0000000000000..7e1cfe51724b6
--- /dev/null
+++ b/pkgs/development/interpreters/python/hooks/python-relax-deps-hook.sh
@@ -0,0 +1,83 @@
+# shellcheck shell=bash
+
+# Setup hook that modifies Python dependencies versions.
+#
+# Example usage in a derivation:
+#
+#   { …, pythonPackages, … }:
+#
+#   pythonPackages.buildPythonPackage {
+#     …
+#     nativeBuildInputs = [ pythonPackages.pythonRelaxDepsHook ];
+#
+#     # This will relax the dependency restrictions
+#     # e.g.: abc>1,<=2 -> abc
+#     pythonRelaxDeps = [ "abc" ];
+#     # This will relax all dependencies restrictions instead
+#     # pythonRelaxDeps = true;
+#     # This will remove the dependency
+#     # e.g.: cde>1,<=2 -> <nothing>
+#     pythonRemoveDeps = [ "cde" ];
+#     # This will remove all dependencies from the project
+#     # pythonRemoveDeps = true;
+#     …
+#   }
+
+_pythonRelaxDeps() {
+    local -r metadata_file="$1"
+
+    if [[ -z "${pythonRelaxDeps:-}" ]] || [[ "$pythonRelaxDeps" == 0 ]]; then
+        return
+    elif [[ "$pythonRelaxDeps" == 1 ]]; then
+        sed -i "$metadata_file" -r \
+            -e 's/(Requires-Dist: \S*) \(.*\)/\1/'
+    else
+        for dep in $pythonRelaxDeps; do
+            sed -i "$metadata_file" -r \
+                -e "s/(Requires-Dist: $dep) \(.*\)/\1/"
+        done
+    fi
+}
+
+_pythonRemoveDeps() {
+    local -r metadata_file="$1"
+
+    if [[ -z "${pythonRemoveDeps:-}" ]] || [[ "$pythonRemoveDeps" == 0 ]]; then
+        return
+    elif [[ "$pythonRemoveDeps" == 1 ]]; then
+        sed -i "$metadata_file" \
+            -e '/Requires-Dist:.*/d'
+    else
+        for dep in $pythonRemoveDeps; do
+            sed -i "$metadata_file" \
+                -e "/Requires-Dist: $dep/d"
+        done
+    fi
+
+}
+
+pythonRelaxDepsHook() {
+    pushd dist
+
+    local -r package="$pname-$version"
+    local -r unpack_dir="unpacked"
+    local -r metadata_file="$unpack_dir/$package/$package.dist-info/METADATA"
+    local -r wheel=$(echo "$package"*".whl")
+
+    @pythonInterpreter@ -m wheel unpack --dest "$unpack_dir" "$wheel"
+    rm -rf "$wheel"
+
+    _pythonRelaxDeps "$metadata_file"
+    _pythonRemoveDeps "$metadata_file"
+
+    if (( "${NIX_DEBUG:-0}" >= 1 )); then
+        echo "pythonRelaxDepsHook: resulting METADATA:"
+        cat "$unpack_dir/$package/$package.dist-info/METADATA"
+    fi
+
+    @pythonInterpreter@ -m wheel pack "$unpack_dir/$package"
+
+    popd
+}
+
+postBuild+=" pythonRelaxDepsHook"
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index 89a95e9821975..958a9378ef14a 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -12,10 +12,10 @@ setuptoolsBuildPhase() {
         args+="$setupPyGlobalFlags"
     fi
     if [ -n "$enableParallelBuilding" ]; then
-        setupPyBuildFlags+="--parallel $NIX_BUILD_CORES"
+        setupPyBuildFlags+=" --parallel $NIX_BUILD_CORES"
     fi
     if [ -n "$setupPyBuildFlags" ]; then
-        args+="build_ext $setupPyBuildFlags"
+        args+=" build_ext $setupPyBuildFlags"
     fi
     eval "@pythonInterpreter@ nix_run_setup $args bdist_wheel"
 
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index 963073df6200d..4917b167046ec 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -176,8 +176,6 @@ let
       # default to python's platforms
       platforms = python.meta.platforms;
       isBuildPythonPackage = python.meta.platforms;
-    } // lib.optionalAttrs (attrs?pname) {
-      mainProgram = attrs.pname;
     } // meta;
   } // lib.optionalAttrs (attrs?checkPhase) {
     # If given use the specified checkPhase, otherwise use the setup hook.
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index 6ecc3ad605360..08c225603eb3d 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -35,7 +35,8 @@ stdenv.mkDerivation rec {
     description = "VM with adaptive optimization and JIT compilation, built for Rakudo";
     homepage = "https://moarvm.org";
     license = licenses.artistic2;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice vrthra sgo ];
+    mainProgram = "moar";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index 0446e5d540c1f..ecb3d5787eb37 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, mkDerivation, fetchurl, cmake
+{ lib, stdenv, mkDerivation, fetchurl, fetchpatch, cmake
 , pkg-config, alsa-lib, libjack2, libsndfile, fftw
 , curl, gcc, libXt, qtbase, qttools, qtwebengine
 , readline, qtwebsockets, useSCEL ? false, emacs
@@ -18,6 +18,12 @@ mkDerivation rec {
   patches = [
     # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values
     ./supercollider-3.12.0-env-dirs.patch
+
+    # fix issue with libsndfile >=1.1.0
+    (fetchpatch {
+      url = "https://github.com/supercollider/supercollider/commit/b9dd70c4c8d61c93d7a70645e0bd18fa76e6834e.patch";
+      hash = "sha256-6FhEHyY0rnE6d7wC+v0U9K+L0aun5LkTqaEFhr3eQNw=";
+    })
   ];
 
   nativeBuildInputs = [ cmake pkg-config qttools ];
diff --git a/pkgs/development/interpreters/yex-lang/default.nix b/pkgs/development/interpreters/yex-lang/default.nix
index 7223b7aca7802..cc4e7f31f3183 100644
--- a/pkgs/development/interpreters/yex-lang/default.nix
+++ b/pkgs/development/interpreters/yex-lang/default.nix
@@ -1,21 +1,25 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "yex-lang";
-  version = "unstable-2021-12-25";
+  version = "0.pre+date=2022-05-10";
 
   src = fetchFromGitHub {
     owner = "nonamescm";
     repo = "yex-lang";
-    rev = "a97def1431b73b8693700f530ec023f1776eaf83";
-    hash = "sha256-CEzJtlEVMvMnRyUKdko1UDTluv8Fc88tfOpKGIFMnRw=";
+    rev = "866c4decbb9340f5af687b145e2c4f47fcbee786";
+    hash = "sha256-sxzkZ2Rhn3HvZIfjnJ6Z2au/l/jV5705ecs/X3Iah6k=";
   };
 
-  cargoSha256 = "sha256-mHMenqcdt9Yjm/6H1Ywf637Sv8ddq6a4Eu2/A/jX9gQ=";
+  cargoSha256 = "sha256-nX5FoPAk50wt0CXskyg7jQeHvD5YtBNnCe0CVOGXTMI=";
 
   meta = with lib; {
-    homepage = "https://github.com/nonamesc/yex-lang";
-    description = "A cool functional scripting language written in rust";
+    homepage = "https://github.com/nonamescm/yex-lang";
+    description = "A functional scripting language written in rust";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     mainProgram = "yex";
diff --git a/pkgs/development/libraries/amtk/default.nix b/pkgs/development/libraries/amtk/default.nix
index 5743a18c0fd0c..961c63a3037fe 100644
--- a/pkgs/development/libraries/amtk/default.nix
+++ b/pkgs/development/libraries/amtk/default.nix
@@ -1,10 +1,13 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , gtk3
 , meson
 , ninja
 , pkg-config
 , gobject-introspection
+, gtk-doc
+, docbook-xsl-nons
 , gnome
 , dbus
 , xvfb-run
@@ -12,11 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "amtk";
-  version = "5.3.1";
+  version = "5.4.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "12v3nj1bb7507ndprjggq0hpz8k719b4bwvl8sm43p3ibmn27anm";
+    sha256 = "g10IUHo96sie91NRzOu0szWv/qNhuIvQ+mZ/QM53enA=";
   };
 
   nativeBuildInputs = [
@@ -25,6 +30,8 @@ stdenv.mkDerivation rec {
     pkg-config
     dbus
     gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 9b07697a6a9ac..56268146c5db4 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -93,14 +93,15 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Software metadata handling library";
-    homepage = "https://www.freedesktop.org/wiki/Distributions/AppStream/";
     longDescription = ''
       AppStream is a cross-distro effort for building Software-Center applications
       and enhancing metadata provided by software components.  It provides
       specifications for meta-information which is shipped by upstream projects and
       can be consumed by other software.
     '';
+    homepage = "https://www.freedesktop.org/wiki/Distributions/AppStream/";
     license = licenses.lgpl21Plus;
+    mainProgram = "appstreamcli";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix
index 67e621ad85979..f8496499ba8e9 100644
--- a/pkgs/development/libraries/aravis/default.nix
+++ b/pkgs/development/libraries/aravis/default.nix
@@ -1,90 +1,76 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, gtk-doc, intltool
-, audit, glib, libusb1, libxml2
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, pkg-config
+, gi-docgen
+, glib
+, libxml2
+, gobject-introspection
+
+, enableGstPlugin ? true
+, enableViewer ? true
+, gst_all_1
+, gtk3
 , wrapGAppsHook
-, gstreamer ? null
-, gst-plugins-base ? null
-, gst-plugins-good ? null
-, gst-plugins-bad ? null
-, libnotify ? null
-, gnome ? null
-, gtk3 ? null
+
 , enableUsb ? true
+, libusb1
+
 , enablePacketSocket ? true
-, enableViewer ? true
-, enableGstPlugin ? true
-, enableCppTest ? false
 , enableFastHeartbeat ? false
-, enableAsan ? false
 }:
 
-let
-  gstreamerAtLeastVersion1 =
-    lib.all
-      (pkg: pkg != null && lib.versionAtLeast (lib.getVersion pkg) "1.0")
-      [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
-in
-  assert enableGstPlugin -> lib.all (pkg: pkg != null) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ];
-  assert enableViewer -> enableGstPlugin;
-  assert enableViewer -> libnotify != null;
-  assert enableViewer -> gnome != null;
-  assert enableViewer -> gtk3 != null;
-  assert enableViewer -> gstreamerAtLeastVersion1;
-
-  stdenv.mkDerivation rec {
-
-    pname = "aravis";
-    version = "0.6.4";
-
-    src = fetchFromGitHub {
-      owner = "AravisProject";
-      repo = pname;
-      rev= "ARAVIS_${builtins.replaceStrings ["."] ["_"] version}";
-      sha256 = "18fnliks661kzc3g8v08hcaj18hjid8b180d6s9gwn0zgv4g374w";
-    };
-
-    outputs = [ "bin" "dev" "out" "lib" ];
+assert enableGstPlugin -> gst_all_1 != null;
+assert enableViewer -> enableGstPlugin;
+assert enableViewer -> gtk3 != null;
+assert enableViewer -> wrapGAppsHook != null;
 
-    nativeBuildInputs = [
-      autoreconfHook
-      pkg-config
-      intltool
-      gtk-doc
-    ] ++ lib.optional enableViewer wrapGAppsHook;
+stdenv.mkDerivation rec {
+  pname = "aravis";
+  version = "0.8.21";
 
-    buildInputs =
-      [ glib libxml2 ]
-      ++ lib.optional enableUsb libusb1
-      ++ lib.optional enablePacketSocket audit
-      ++ lib.optionals (enableViewer || enableGstPlugin) [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad ]
-      ++ lib.optionals (enableViewer) [ libnotify gtk3 gnome.adwaita-icon-theme ];
+  src = fetchFromGitHub {
+    owner = "AravisProject";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-z4fuo8tVyHf2Bw73ZfAEpAYmzbr9UIzEWPC5f95wnD8=";
+  };
 
-    preAutoreconf = "./autogen.sh";
+  outputs = [ "bin" "dev" "out" "lib" ];
 
-    configureFlags =
-      lib.optional enableUsb "--enable-usb"
-        ++ lib.optional enablePacketSocket "--enable-packet-socket"
-        ++ lib.optional enableViewer "--enable-viewer"
-        ++ lib.optional enableGstPlugin
-        (if gstreamerAtLeastVersion1 then "--enable-gst-plugin" else "--enable-gst-0.10-plugin")
-        ++ lib.optional enableCppTest "--enable-cpp-test"
-        ++ lib.optional enableFastHeartbeat "--enable-fast-heartbeat"
-        ++ lib.optional enableAsan "--enable-asan";
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gi-docgen
+  ] ++ lib.optional enableViewer wrapGAppsHook;
 
-    postPatch = ''
-        ln -s ${gtk-doc}/share/gtk-doc/data/gtk-doc.make .
-      '';
+  buildInputs =
+    [ glib libxml2 gobject-introspection ]
+    ++ lib.optional enableUsb libusb1
+    ++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ])
+    ++ lib.optionals (enableViewer) [ gtk3 ];
 
-    doCheck = true;
+  mesonFlags = [
+  ] ++ lib.optional enableFastHeartbeat "-Dfast-heartbeat=enabled"
+  ++ lib.optional (!enableGstPlugin) "-Dgst-plugin=disabled"
+  ++ lib.optional (!enableViewer) "-Dviewer=disabled"
+  ++ lib.optional (!enableUsb) "-Dviewer=disabled"
+  ++ lib.optional (!enablePacketSocket) "-Dpacket-socket=disabled";
 
-    meta = {
-      description = "Library for video acquisition using GenICam cameras";
-      longDescription = ''
-        Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
-      '';
-      homepage = "https://aravisproject.github.io/docs/aravis-0.5";
-      license = lib.licenses.lgpl2;
-      maintainers = [];
-      platforms = lib.platforms.unix;
-    };
-  }
+  doCheck = true;
 
+  meta = {
+    description = "Library for video acquisition using GenICam cameras";
+    longDescription = ''
+      Implements the gigabit ethernet and USB3 protocols used by industrial cameras.
+    '';
+    # the documentation is the best working homepage that's not the Github repo
+    homepage = "https://aravisproject.github.io/docs/aravis-0.8";
+    license = lib.licenses.lgpl2;
+    maintainers = with lib.maintainers; [ tpw_rules ];
+    platforms = lib.platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/aribb25/default.nix b/pkgs/development/libraries/aribb25/default.nix
index 3e171d757973e..743850c5fdc3b 100644
--- a/pkgs/development/libraries/aribb25/default.nix
+++ b/pkgs/development/libraries/aribb25/default.nix
@@ -48,10 +48,11 @@ stdenv.mkDerivation rec {
     lib.optional stdenv.isDarwin "pcsclite_CFLAGS=-I${PCSC}/Library/Frameworks/PCSC.framework/Headers";
 
   meta = with lib; {
-    homepage = "https://code.videolan.org/videolan/aribb25";
     description = "Sample implementation of the ARIB STD-B25 standard";
-    platforms = platforms.all;
+    homepage = "https://code.videolan.org/videolan/aribb25";
     license = licenses.isc;
     maintainers = with maintainers; [ midchildan ];
+    mainProgram = "b25";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 806df81a70809..5fb8746efae6b 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -19,6 +19,7 @@
 , grpc
 , gtest
 , jemalloc
+, libbacktrace
 , lz4
 , minio
 , ninja
@@ -69,21 +70,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "7.0.0";
+  version = "8.0.0";
 
   src = fetchurl {
-    url =
-      "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    hash = "sha256-6PSbFJoV7O9OQPz6sbh8ETxrHuGGAFwWnlzfldMamd4=";
+    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    hash = "sha256-rZoFcFEXyYnBFrrprHBJL+AVBQ4bgPsOOP3ktdhjqqM=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
   ${if enableJemalloc then "ARROW_JEMALLOC_URL" else null} = jemalloc.src;
 
+  # versions are all taken from
+  # https://github.com/apache/arrow/blob/apache-arrow-8.0.0/cpp/thirdparty/versions.txt
+
   ARROW_MIMALLOC_URL = fetchFromGitHub {
-    # From
-    # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
-    # ./cpp/thirdparty/versions.txt
     owner = "microsoft";
     repo = "mimalloc";
     rev = "v1.7.3";
@@ -93,8 +93,15 @@ stdenv.mkDerivation rec {
   ARROW_XSIMD_URL = fetchFromGitHub {
     owner = "xtensor-stack";
     repo = "xsimd";
-    rev = "aeec9c872c8b475dedd7781336710f2dd2666cb2";
-    hash = "sha256-vWKdJkieKhaxyAJhijXUmD7NmNvMWd79PskQojulA1w=";
+    rev = "7d1778c3b38d63db7cec7145d939f40bc5d859d1";
+    hash = "sha256-89AysBUVnTdWyMPazeJegnQ6WEH90Ns7qQInZLMSXY4=";
+  };
+
+  ARROW_SUBSTRAIT_URL = fetchFromGitHub {
+    owner = "substrait-io";
+    repo = "substrait";
+    rev = "e1b4c04a1b518912f4c4065b16a1b2c0ac8e14cf";
+    hash = "sha256-56FSjDngsROSHLjMv+OYAIYqphEu3GzgIMHbgh/ZQw0=";
   };
 
   patches = [
@@ -115,7 +122,10 @@ stdenv.mkDerivation rec {
     gflags
     glog
     gtest
+    libbacktrace
     lz4
+    nlohmann_json # alternative JSON parser to rapidjson
+    protobuf # substrait requires protobuf
     rapidjson
     re2
     snappy
@@ -150,6 +160,9 @@ stdenv.mkDerivation rec {
     "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
     "-DARROW_BUILD_TESTS=ON"
+    "-DARROW_BUILD_INTEGRATION=ON"
+    "-DARROW_BUILD_UTILITIES=ON"
+    "-DARROW_EXTRA_ERROR_CONTEXT=ON"
     "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
     "-DThrift_SOURCE=AUTO" # search for Thrift using pkg-config (ThriftConfig.cmake requires OpenSSL and libevent)
@@ -168,8 +181,10 @@ stdenv.mkDerivation rec {
     # Disable Python for static mode because openblas is currently broken there.
     "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
     "-DARROW_USE_GLOG=ON"
+    "-DARROW_WITH_BACKTRACE=ON"
     "-DARROW_WITH_BROTLI=ON"
     "-DARROW_WITH_LZ4=ON"
+    "-DARROW_WITH_NLOHMANN_JSON=ON"
     "-DARROW_WITH_SNAPPY=ON"
     "-DARROW_WITH_UTF8PROC=ON"
     "-DARROW_WITH_ZLIB=ON"
@@ -177,8 +192,10 @@ stdenv.mkDerivation rec {
     "-DARROW_MIMALLOC=ON"
     # Parquet options:
     "-DARROW_PARQUET=ON"
+    "-DARROW_SUBSTRAIT=ON"
     "-DPARQUET_BUILD_EXECUTABLES=ON"
     "-DARROW_FLIGHT=${if enableFlight then "ON" else "OFF"}"
+    "-DARROW_FLIGHT_TESTING=${if enableFlight then "ON" else "OFF"}"
     "-DARROW_S3=${if enableS3 then "ON" else "OFF"}"
     "-DARROW_GCS=${if enableGcs then "ON" else "OFF"}"
   ] ++ lib.optionals (!enableShared) [
diff --git a/pkgs/development/libraries/audio/libopenmpt/default.nix b/pkgs/development/libraries/audio/libopenmpt/default.nix
index 35a79e3b358bb..2cca0078aff2d 100644
--- a/pkgs/development/libraries/audio/libopenmpt/default.nix
+++ b/pkgs/development/libraries/audio/libopenmpt/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libopenmpt";
-  version = "0.6.2";
+  version = "0.6.3";
 
   outputs = [ "out" "dev" "bin" ];
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "1dp645gg6d3pzjh82srq1d7qvyxi5h22k7yfdjiyzbyry8pxdh2h";
+    sha256 = "pBCv63zVlwsWuabOfazPSVsaXpEhqdZELeDAKP1Uols=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/audio/libsmf/default.nix b/pkgs/development/libraries/audio/libsmf/default.nix
index b3e3a34973c01..6737d76538e0e 100644
--- a/pkgs/development/libraries/audio/libsmf/default.nix
+++ b/pkgs/development/libraries/audio/libsmf/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/stump/libsmf";
     license = licenses.bsd2;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "smfsh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aws-c-auth/default.nix b/pkgs/development/libraries/aws-c-auth/default.nix
index b6fcb11c31586..5b8590750178d 100644
--- a/pkgs/development/libraries/aws-c-auth/default.nix
+++ b/pkgs/development/libraries/aws-c-auth/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-auth";
-  version = "0.6.11";
+  version = "0.6.13";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-auth";
     rev = "v${version}";
-    sha256 = "sha256-3pFOnXDvB4CUUG992i5ErKMe3lAiyYoMTSvm6eKyLjs=";
+    sha256 = "sha256-f1STZdxj8cdK60dCgl2Xfsqaa/x3Z1xEjH3p4GUwGUg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-cal/default.nix b/pkgs/development/libraries/aws-c-cal/default.nix
index e7f0c0854dbb4..40e8a5eb54c56 100644
--- a/pkgs/development/libraries/aws-c-cal/default.nix
+++ b/pkgs/development/libraries/aws-c-cal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-cal";
-  version = "0.5.14";
+  version = "0.5.17";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+hWiDlL0GVVmMajoC+hfyvT4rm16RoAWhUr04B8JZts=";
+    sha256 = "sha256-peaoTv2TLqtHScfnCPMNbE6fhUTKfRe1ZzuBsr/rpz0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index ab52fa5aa746b..1b8f7e73e822b 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.6.19";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oB5kAzIRyr8kfl4sILuIw343ghDZDXSEH97qkUeTqXI=";
+    sha256 = "sha256-DKorZUVUDEP4IRPchzaW35fPLmYoJRcfLMdPHrBrol8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-http/default.nix b/pkgs/development/libraries/aws-c-http/default.nix
index a25231ee88316..0eee407f989a4 100644
--- a/pkgs/development/libraries/aws-c-http/default.nix
+++ b/pkgs/development/libraries/aws-c-http/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-http";
-  version = "0.6.10";
+  version = "0.6.15";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-http";
     rev = "v${version}";
-    sha256 = "sha256-R+teEKSQjSFYt3+XXvooAy4GJwN4yzEhJtiuknBZIgU=";
+    sha256 = "sha256-WIKWF8G+fdX9MD6vQctM+5pDnR0/0TenabWE4PRteq8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/aws-c-io/default.nix b/pkgs/development/libraries/aws-c-io/default.nix
index f19a69fc45737..0a9bb5543735d 100644
--- a/pkgs/development/libraries/aws-c-io/default.nix
+++ b/pkgs/development/libraries/aws-c-io/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-io";
-  version = "0.10.19";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dPstIWB+wuMJi+EfecPKw0WD1c3IvHS+L1XU72xrAoc=";
+    sha256 = "sha256-LIrAA3+Yd0lhCMQ9R4HT/ZFKm3y9iSm3h5vcn0ghiPA=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/aws-c-s3/default.nix b/pkgs/development/libraries/aws-c-s3/default.nix
index 2868e6b80b86b..398a36019f544 100644
--- a/pkgs/development/libraries/aws-c-s3/default.nix
+++ b/pkgs/development/libraries/aws-c-s3/default.nix
@@ -6,19 +6,20 @@
 , aws-c-compression
 , aws-c-http
 , aws-c-io
+, aws-checksums
 , cmake
 , s2n-tls
 }:
 
 stdenv.mkDerivation rec {
   pname = "aws-c-s3";
-  version = "0.1.33";
+  version = "0.1.39";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-c-s3";
     rev = "v${version}";
-    sha256 = "sha256-lP5Luh/jFmlbb11rE5qYev+DMXjyMNwni0LcNvQGY4o=";
+    sha256 = "sha256-UbYh3awI7Y3mJnVQrltU+rZ1TI1TDaMF5TOcvxbzNa8=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
     aws-c-compression
     aws-c-http
     aws-c-io
+    aws-checksums
     s2n-tls
   ];
 
@@ -44,7 +46,8 @@ stdenv.mkDerivation rec {
     description = "C99 library implementation for communicating with the S3 service";
     homepage = "https://github.com/awslabs/aws-c-s3";
     license = licenses.asl20;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ r-burns ];
+    mainProgram = "s3";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/aws-crt-cpp/default.nix b/pkgs/development/libraries/aws-crt-cpp/default.nix
index 391ecc26fb86e..201837eb53639 100644
--- a/pkgs/development/libraries/aws-crt-cpp/default.nix
+++ b/pkgs/development/libraries/aws-crt-cpp/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , aws-c-auth
 , aws-c-cal
 , aws-c-common
@@ -16,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-crt-cpp";
-  version = "0.17.16";
+  version = "0.17.28";
 
   outputs = [ "out" "dev" ];
 
@@ -24,13 +25,22 @@ stdenv.mkDerivation rec {
     owner = "awslabs";
     repo = "aws-crt-cpp";
     rev = "v${version}";
-    sha256 = "sha256-RNcx/Enm1bd/NZOcNosNnYsT9Ot7AMQU7wsg+moT16c=";
+    sha256 = "sha256-4/BgwX8Pa5D2lEn0Dh3JlUiYUtA9u0rWpBixqmv1X/A=";
   };
 
   patches = [
     # Correct include path for split outputs.
     # https://github.com/awslabs/aws-crt-cpp/pull/325
     ./0001-build-Make-includedir-properly-overrideable.patch
+
+    # Fix build with new input stream api
+    # https://github.com/awslabs/aws-crt-cpp/pull/341
+    # Remove with next release
+    (fetchpatch {
+      url = "https://github.com/awslabs/aws-crt-cpp/commit/8adb8490fd4f1d1fe65aad01b0a7dda0e52ac596.patch";
+      excludes = [ "crt/*" ];
+      sha256 = "190v8rlj6z0qllih6w3kqmdvqjifj66hc4bchsgr3gpfv18vpzid";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 7a3c8bc727be9..3d396a0b28556 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,21 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.90";
+  version = "0.1.92";
 
   outputs = [ "out" "dev" ];
 
-  patches = [
-    # Fix darwin build
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/babl/-/commit/33b18e74c9589fd4d5507ab88bd1fb19c15965dd.patch";
-      sha256 = "bEjjOjHGTF55o1z31G9GNDqERxn/7vUuWZQYHosSEBQ=";
-    })
-  ];
-
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bi67Y283WBWI49AkmbPS9p+axz40omL0KRHX9ZBqkkM=";
+    sha256 = "sha256-9mdzUCiUS2N1rRjxYKZM65P1x9zKqdh1HeNZd3SIosE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index aace36c619c00..0f251f73e81b4 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ bctoolbox belr ];
   nativeBuildInputs = [ cmake ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
   meta = with lib; {
     description = "C++ library to manipulate VCard standard format. Part of the Linphone project.";
diff --git a/pkgs/development/libraries/boolstuff/default.nix b/pkgs/development/libraries/boolstuff/default.nix
index c7520ff783e51..c54cffb528516 100644
--- a/pkgs/development/libraries/boolstuff/default.nix
+++ b/pkgs/development/libraries/boolstuff/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, pkg-config }:
 stdenv.mkDerivation rec {
   pname = "boolstuff";
-  version = "0.1.16";
+  version = "0.1.17";
 
   src = fetchurl {
-    url = "https://perso.b2b2c.ca/~sarrazip/dev/${pname}-${version}.tar.gz";
-    sha256 = "10qynbyw723gz2vrvn4xk2var172kvhlz3l3l80qbdsfb3d12wn0";
+    url = "http://perso.b2b2c.ca/~sarrazip/dev/${pname}-${version}.tar.gz";
+    hash = "sha256-WPFUoTUofigPxTRo6vUbVTEVWMeEPDWszCA05toOX0I=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     homepage = "http://perso.b2b2c.ca/~sarrazip/dev/boolstuff.html";
     license = "GPL";
     maintainers = [ lib.maintainers.marcweber ];
+    mainProgram = "booldnf";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/boost/1.59.nix b/pkgs/development/libraries/boost/1.59.nix
index 88e584f5e4159..a417f3e263923 100644
--- a/pkgs/development/libraries/boost/1.59.nix
+++ b/pkgs/development/libraries/boost/1.59.nix
@@ -1,8 +1,21 @@
-{ callPackage, fetchurl, ... } @ args:
+{ callPackage, fetchurl, fetchpatch, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
   version = "1.59.0";
 
+  boostBuildPatches = [
+    # Fixes a segfault on aarch64-darwin from an implicitly defined varargs function.
+    # https://github.com/boostorg/build/pull/238
+    (fetchpatch {
+      url = "https://github.com/boostorg/build/commit/48e9017139dd94446633480661e5447c7e0d8b1b.diff";
+      excludes = [
+        # Doesn't apply, isn't critical.
+        "src/engine/filesys.h"
+      ];
+      sha256 = "sha256-/HLOJKBcGqcK9yBYKSRCSMmTNhCH3sSpK1s3OzkIqx8";
+    })
+  ];
+
   src = fetchurl {
     url = "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2";
     sha256 = "1jj1aai5rdmd72g90a3pd8sw9vi32zad46xv5av8fhnr48ir6ykj";
diff --git a/pkgs/development/libraries/boost/1.79.nix b/pkgs/development/libraries/boost/1.79.nix
new file mode 100644
index 0000000000000..efb176c07a7fc
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.79.nix
@@ -0,0 +1,14 @@
+{ callPackage, fetchurl, fetchpatch, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.79.0";
+
+  src = fetchurl {
+    urls = [
+      "mirror://sourceforge/boost/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/${version}/source/boost_${builtins.replaceStrings ["."] ["_"] version}.tar.bz2"
+    ];
+    # SHA256 from http://www.boost.org/users/history/version_1_79_0.html
+    sha256 = "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39";
+  };
+})
diff --git a/pkgs/development/libraries/boost/default.nix b/pkgs/development/libraries/boost/default.nix
index 60dbc00f67fcc..e9f7308e34641 100644
--- a/pkgs/development/libraries/boost/default.nix
+++ b/pkgs/development/libraries/boost/default.nix
@@ -46,4 +46,5 @@ in {
   boost175 = makeBoost ./1.75.nix;
   boost177 = makeBoost ./1.77.nix;
   boost178 = makeBoost ./1.78.nix;
+  boost179 = makeBoost ./1.79.nix;
 }
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 34ab5554e74b2..b9bdec0cd0776 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -15,6 +15,7 @@
 , enableNumpy ? false
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 , patches ? []
+, boostBuildPatches ? []
 , useMpi ? false
 , mpi
 , extraB2Args ? []
@@ -170,6 +171,10 @@ stdenv.mkDerivation {
       (stdenv.hostPlatform.isMips64n64 && (versionOlder version "1.65"));
   };
 
+  passthru = {
+    inherit boostBuildPatches;
+  };
+
   preConfigure = optionalString useMpi ''
     cat << EOF >> user-config.jam
     using mpi : ${mpi}/bin/mpiCC ;
diff --git a/pkgs/development/libraries/boringssl/default.nix b/pkgs/development/libraries/boringssl/default.nix
index b9b2e568ce6b9..efcb64a7fd5c5 100644
--- a/pkgs/development/libraries/boringssl/default.nix
+++ b/pkgs/development/libraries/boringssl/default.nix
@@ -26,6 +26,8 @@ buildGoModule {
   # (if we use postConfigure then cmake will loop runHook postConfigure)
   preBuild = ''
     cmakeConfigurePhase
+  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    export GOARCH=$(go env GOHOSTARCH)
   '';
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index adc52da1e560f..6f5a8e340ad68 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -39,7 +39,8 @@ stdenv.mkDerivation rec {
     description = "Advanced disassembly library";
     homepage    = "http://www.capstone-engine.org";
     license     = lib.licenses.bsd3;
-    platforms   = lib.platforms.unix;
     maintainers = with lib.maintainers; [ thoughtpolice ris ];
+    mainProgram = "cstool";
+    platforms   = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index 37bde1caf4375..8add9c623470d 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     homepage = "https://libcheck.github.io/check/";
 
     license = licenses.lgpl2Plus;
+    mainProgram = "checkmk";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 23bbd84a20963..e630cb4dda635 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -1,10 +1,14 @@
-{ lib, stdenv, fetchurl, gmp }:
+{ lib, stdenv, fetchurl, fetchgit, gmp }:
 
 stdenv.mkDerivation rec {
   pname = "cln";
   version = "1.3.6";
 
-  src = fetchurl {
+  src = if stdenv.isDarwin then fetchgit {
+    url = "git://www.ginac.de/cln.git";
+    rev = "cln_${builtins.replaceStrings [ "." ] [ "-" ] version}";
+    sha256 = "sha256-P32F4TIDhE2Dwzydq8iFK6ch3kICJcXeeXHs5PBQG88=";
+  } else fetchurl {
     url = "${meta.homepage}${pname}-${version}.tar.bz2";
     sha256 = "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl";
   };
diff --git a/pkgs/development/libraries/ctl/default.nix b/pkgs/development/libraries/ctl/default.nix
deleted file mode 100644
index 0a9f50a6aaa65..0000000000000
--- a/pkgs/development/libraries/ctl/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, pkg-config, ilmbase, libtiff, openexr }:
-
-stdenv.mkDerivation rec {
-  pname = "ctl";
-  version = "1.5.2";
-
-  src = fetchFromGitHub {
-    owner = "ampas";
-    repo = pname;
-    rev = "${pname}-${version}";
-    sha256 = "0a698rd1cmixh3mk4r1xa6rjli8b8b7dbx89pb43xkgqxy67glwx";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "ctl-1.5.2-ilm_230.patch";
-      url = "https://src.fedoraproject.org/rpms/CTL/raw/9d7c15a91bccdc0a9485d463bf2789be72e6b17d/f/ctl-1.5.2-ilm_230.patch";
-      sha256 = "0mdx7llwrm0q8ai53zhyxi40i9h5s339dbkqpqv30yzi2xpnfj3d";
-    })
-  ];
-
-  postPatch = ''
-    # Fix include guard name
-    substituteInPlace lib/dpx/dpx_raw.hh \
-        --replace CRL_DPX_RAW_INTERNAL_INCLUDE CTL_DPX_RAW_INTERNAL_INCLUDE
-
-    # Fix undefined symbols (link with Imath)
-    substituteInPlace lib/IlmCtlMath/CMakeLists.txt \
-        --replace "( IlmCtlMath IlmCtl )" "( IlmCtlMath IlmCtl Imath)"
-  '';
-
-  nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libtiff ilmbase openexr ];
-
-  meta = with lib; {
-    description = "Color Transformation Language";
-    homepage = "https://github.com/ampas/CTL";
-    license = "A.M.P.A.S"; # BSD-derivative, free but GPL incompatible
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/curlcpp/default.nix b/pkgs/development/libraries/curlcpp/default.nix
deleted file mode 100644
index 9d4ae41f384fd..0000000000000
--- a/pkgs/development/libraries/curlcpp/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, curl }:
-
-stdenv.mkDerivation rec {
-  pname = "curlcpp";
-  version = "1.4";
-
-  src = fetchFromGitHub {
-    owner = "JosephP91";
-    repo = "curlcpp";
-    rev = version;
-    sha256 = "1zx76jcddqk4zkcdb6p7rsmkjbbjm2cj6drj0c8hdd61ms1d0f3n";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ curl ];
-
-  meta = with lib; {
-    homepage = "https://josephp91.github.io/curlcpp/";
-    description = "Object oriented C++ wrapper for CURL";
-    platforms = platforms.unix;
-    license = licenses.mit;
-    maintainers = with maintainers; [ rszibele ];
-  };
-}
diff --git a/pkgs/development/libraries/docopt_cpp/default.nix b/pkgs/development/libraries/docopt_cpp/default.nix
index 3de84b684e525..4fae1db9ba3c3 100644
--- a/pkgs/development/libraries/docopt_cpp/default.nix
+++ b/pkgs/development/libraries/docopt_cpp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake, python3 }:
 
 stdenv.mkDerivation rec {
   version = "0.6.3";
@@ -11,7 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "0cz3vv7g5snfbsqcf3q8bmd6kv5qp84gj3avwkn4vl00krw13bl7";
   };
 
-  nativeBuildInputs = [ cmake python2 ];
+  patches = [
+    (fetchpatch {
+      name = "python3-for-tests";
+      url = "https://github.com/docopt/docopt.cpp/commit/b3d909dc952ab102a4ad5a1541a41736f35b92ba.patch";
+      hash = "sha256-JJR09pbn3QhYaZAIAjs+pe28+g1VfgHUKspWorHzr8o=";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake python3 ];
 
   cmakeFlags = ["-DWITH_TESTS=ON"];
 
diff --git a/pkgs/development/libraries/doctest/default.nix b/pkgs/development/libraries/doctest/default.nix
index 11a2906b5c0f1..360c643f52336 100644
--- a/pkgs/development/libraries/doctest/default.nix
+++ b/pkgs/development/libraries/doctest/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "doctest";
-  version = "2.4.7";
+  version = "2.4.8";
 
   src = fetchFromGitHub {
-    owner = "onqtam";
+    owner = "doctest";
     repo = "doctest";
-    rev = version;
-    sha256 = "sha256-pXUg+NHSCKOudkmDCU3ePZrvs8DlM/CEZntEd78oTJ0=";
+    rev = "v${version}";
+    sha256 = "sha256-/4lyCQZHsa32ozes5MJ0JZpQ99MECRlgFeSzN/Zs/BQ=";
   };
 
   nativeBuildInputs = [ cmake ];
 
   meta = with lib; {
-    homepage = "https://github.com/onqtam/doctest";
+    homepage = "https://github.com/doctest/doctest";
     description = "The fastest feature-rich C++11/14/17/20 single-header testing framework";
     platforms = platforms.all;
     license = licenses.mit;
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index a05f3b71fb46e..da20ac59ec97a 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.7";
+  version = "2.4.8";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "0zbss0dssn17mjmvk17qfi5cmvm0lcyzs62cwvqr219hhl864xcq";
+    sha256 = "sha256-95uPkEt0nj4NIK/q3s+CScVbLjLU67CJrjeN9HncryU=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index 396acbc1bdf22..8b1757ed56342 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -21,8 +21,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
+    homepage = "https://sourceforge.net/projects/faac/";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
+    mainProgram = "faad";
     platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix
index 31e9e2fbbbd75..f03c24e28cbff 100644
--- a/pkgs/development/libraries/fcft/default.nix
+++ b/pkgs/development/libraries/fcft/default.nix
@@ -20,14 +20,14 @@ in
 
 stdenv.mkDerivation rec {
   pname = "fcft";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fcft";
     rev = version;
-    sha256 = "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx";
+    sha256 = "1b43sqp5hah374ns62pcrmbiriqsdisb60hp1nwqz3ny3rfjvn15";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 434d445ceb480..5c7f0c44f91c9 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     description = "A language independent, scalable, open extension to CG";
     homepage = "https://fastcgi-archives.github.io/"; # Formerly http://www.fastcgi.com/
     license = "FastCGI see LICENSE.TERMS";
+    mainProgram = "cgi-fcgi";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/flatbuffers/1.12.nix b/pkgs/development/libraries/flatbuffers/1.12.nix
deleted file mode 100644
index 1ad490d3a01bc..0000000000000
--- a/pkgs/development/libraries/flatbuffers/1.12.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ callPackage, fetchpatch, lib, stdenv }:
-
-callPackage ./generic.nix {
-  version = "1.12.0";
-  sha256 = "0f7xd66vc1lzjbn7jzd5kyqrgxpsfxi4zc7iymhb5xrwyxipjl1g";
-
-  patches = [
-    (fetchpatch {
-      # Fixed a compilation error with GCC 10.0 to 11.0. June 1, 2020.
-      # Should be included in the next release after 1.12.0
-      url = "https://github.com/google/flatbuffers/commit/988164f6e1675bbea9c852e2d6001baf4d1fcf59.patch";
-      sha256 = "0d8c2bywqmkhdi0a41cry85wy4j58pl0vd6h5xpfqm3fr8w0mi9s";
-      excludes = [ "src/idl_gen_cpp.cpp" ];
-    })
-    (fetchpatch {
-      # Fixed a compilation error with GCC 10.0 to 11.0. July 6, 2020.
-      # Should be included in the next release after 1.12.0
-      url = "https://github.com/google/flatbuffers/pull/6020/commits/44c7a4cf439b0a298720b5a448bcc243a882b0c9.patch";
-      sha256 = "126xwkvnlc4ignjhxv9jygfd9j6kr1jx39hyk0ddpcmvzfqsccf4";
-    })
-  ];
-
-  preConfigure = lib.optionalString stdenv.buildPlatform.isDarwin ''
-    rm BUILD
-  '';
-}
diff --git a/pkgs/development/libraries/flatbuffers/2.0.nix b/pkgs/development/libraries/flatbuffers/2.0.nix
deleted file mode 100644
index 27b661ee09004..0000000000000
--- a/pkgs/development/libraries/flatbuffers/2.0.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ callPackage, fetchpatch }:
-
-callPackage ./generic.nix {
-  version = "2.0.0";
-  sha256 = "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8";
-
-  patches = [
-    # Pull patch pending upstream inclustion for gcc-12 support:
-    #  https://github.com/google/flatbuffers/pull/6946
-    (fetchpatch {
-      name = "gcc-12.patch";
-      url = "https://github.com/google/flatbuffers/commit/17d9f0c4cf47a9575b4f43a2ac33eb35ba7f9e3e.patch";
-      sha256 = "0sksk47hi7camja9ppnjr88jfdgj0nxqxy8976qs1nx73zkgbpf9";
-    })
-  ];
-}
diff --git a/pkgs/development/libraries/flatbuffers/generic.nix b/pkgs/development/libraries/flatbuffers/default.nix
index 1cdfb4b9c8703..a6eefe77c460c 100644
--- a/pkgs/development/libraries/flatbuffers/generic.nix
+++ b/pkgs/development/libraries/flatbuffers/default.nix
@@ -1,25 +1,30 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
-, version
-, sha256
-, patches ? [ ]
-, preConfigure ? null
 }:
 
 stdenv.mkDerivation rec {
   pname = "flatbuffers";
-  inherit version;
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    inherit sha256;
+    sha256 = "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8";
   };
 
-  inherit patches preConfigure;
+  patches = [
+    # Pull patch pending upstream inclustion for gcc-12 support:
+    # https://github.com/google/flatbuffers/pull/6946
+    (fetchpatch {
+      name = "gcc-12.patch";
+      url = "https://github.com/google/flatbuffers/commit/17d9f0c4cf47a9575b4f43a2ac33eb35ba7f9e3e.patch";
+      sha256 = "0sksk47hi7camja9ppnjr88jfdgj0nxqxy8976qs1nx73zkgbpf9";
+    })
+  ];
 
   nativeBuildInputs = [ cmake ];
 
@@ -38,9 +43,10 @@ stdenv.mkDerivation rec {
       access serialized data without unpacking/parsing it first, while still
       having great forwards/backwards compatibility.
     '';
-    maintainers = [ maintainers.teh ];
+    homepage = "https://google.github.io/flatbuffers/";
     license = licenses.asl20;
+    maintainers = [ maintainers.teh ];
+    mainProgram = "flatc";
     platforms = platforms.unix;
-    homepage = "https://google.github.io/flatbuffers/";
   };
 }
diff --git a/pkgs/development/libraries/fltk/common.nix b/pkgs/development/libraries/fltk/common.nix
index 54c8b4094f162..6d0f90956b251 100644
--- a/pkgs/development/libraries/fltk/common.nix
+++ b/pkgs/development/libraries/fltk/common.nix
@@ -37,7 +37,7 @@
 , doxygen
 , graphviz
 
-, withExamples ? true
+, withExamples ? (stdenv.buildPlatform == stdenv.hostPlatform)
 , withShared ? true
 }:
 
@@ -139,6 +139,7 @@ stdenv.mkDerivation rec {
 
     # Examples & Tests
     "-DFLTK_BUILD_EXAMPLES=${onOff withExamples}"
+    "-DFLTK_BUILD_TEST=${onOff withExamples}"
 
     # Docs
     "-DOPTION_BUILD_HTML_DOCUMENTATION=${onOff withDocs}"
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 7f906e19224ad..8c7cba42eb2a1 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -7,6 +7,21 @@
   # LCD filtering is also known as ClearType and covered by several Microsoft patents.
   # This option allows it to be disabled. See http://www.freetype.org/patents.html.
   useEncumberedCode ? true
+
+# for passthru.tests
+, cairo
+, fontforge
+, ghostscript
+, graphicsmagick
+, gtk3
+, harfbuzz
+, imagemagick
+, pango
+, poppler
+, python3
+, qt5
+, texmacs
+, ttfautohint
 }:
 
 
@@ -52,6 +67,23 @@ stdenv.mkDerivation rec {
       --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig"
   '';
 
+  passthru.tests = {
+    inherit
+      cairo
+      fontforge
+      ghostscript
+      graphicsmagick
+      gtk3
+      harfbuzz
+      imagemagick
+      pango
+      poppler
+      texmacs
+      ttfautohint;
+    inherit (python3.pkgs) freetype-py;
+    inherit (qt5) qtbase;
+  };
+
   meta = with lib; {
     description = "A font rendering engine";
     longDescription = ''
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 1e9c881ae8ce8..cbed6a62a3c58 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -149,8 +149,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A library for image loading and manipulation";
     homepage = "https://gitlab.gnome.org/GNOME/gdk-pixbuf";
-    maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
     license = licenses.lgpl21Plus;
+    maintainers = [ maintainers.eelco ] ++ teams.gnome.members;
+    mainProgram = "gdk-pixbuf-thumbnailer";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index 84d54b3bc35ea..48e2d4fd8fb33 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     homepage = "https://sourceforge.net/projects/ser2net/";
     license = licenses.gpl2;
     maintainers = with maintainers; [ emantor ];
+    mainProgram = "gensiot";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glibmm/2.68.nix b/pkgs/development/libraries/glibmm/2.68.nix
index e0ef34a451e31..f1f3df86349e6 100644
--- a/pkgs/development/libraries/glibmm/2.68.nix
+++ b/pkgs/development/libraries/glibmm/2.68.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.72.0";
+  version = "2.72.1";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-eCkkvxNklvOHj9wqCqnvQPDFFeLD4FTK/6XS5SOAxx4=";
+    sha256 = "sha256-KnZJooq13FOsTau3bJ9hWZ+8Yokjq2p910v2ddkVXNg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 8ba33b98634e2..996eacd65f4c6 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "glibmm";
-  version = "2.66.3";
+  version = "2.66.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-r7liAkkUhdP0QQLZghmhctotP563j848+5JVm6SW5Jk=";
+    sha256 = "sha256-GZrOVoLYGxWh1WVIC0qVBoLy22QCyKpd1yF9ce3/gdU=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 82429add26198..f50704bcb65c2 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -1,13 +1,9 @@
 { lib, stdenv, fetchurl
-, zlibSupport ? true, zlib ? null
-, sslSupport ? true, openssl ? null
-, idnSupport ? true, libidn ? null
+, zlibSupport ? true, zlib
+, sslSupport ? true, openssl
+, idnSupport ? true, libidn
 }:
 
-assert zlibSupport -> zlib != null;
-assert sslSupport -> openssl != null;
-assert idnSupport -> libidn != null;
-
 with lib;
 
 stdenv.mkDerivation rec{
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index a46c84844e891..7551c15649e67 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -73,6 +73,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
 
     maintainers = with maintainers; [ bjg ] ++ teams.sage.members;
+    mainProgram = "glpsol";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/glpng/default.nix b/pkgs/development/libraries/glpng/default.nix
index 1194d988c073f..34c58774fb241 100644
--- a/pkgs/development/libraries/glpng/default.nix
+++ b/pkgs/development/libraries/glpng/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     cmake
     pkg-config
   ];
+
   buildInputs = [
     libGL
     libpng
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://repo.or.cz/glpng.git/blob_plain/HEAD:/glpng.htm";
-    description = "PNG loader for OpenGL";
+    description = "PNG loader library for OpenGL";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index a8e39047256ca..aee2dec5a9c74 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -2,12 +2,12 @@
 , vala }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.7";
+  version = "3.2.11";
   pname = "gmime";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
-    sha256 = "0i3xfc84qn1z99i70q68kbnp9rmgqrnprqb418ba52s6g9j9dsia";
+  src = fetchurl { # https://github.com/jstedfast/gmime/releases
+    url = "https://github.com/jstedfast/gmime/releases/download/${version}/gmime-${version}.tar.xz";
+    sha256 = "5e023855a215b427645b400f5e55cf19cfd229f971317007e03e7bae72569bf8";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gnome-desktop/default.nix b/pkgs/development/libraries/gnome-desktop/default.nix
index 5d682e23b277c..49f21fa540418 100644
--- a/pkgs/development/libraries/gnome-desktop/default.nix
+++ b/pkgs/development/libraries/gnome-desktop/default.nix
@@ -27,13 +27,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-desktop";
-  version = "42.0";
+  version = "42.1";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-desktop/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-88qik6Xob2zK0Y+BcnPbHGcGHmgNedg5qop1KOW7JtY=";
+    sha256 = "sha256-JDOrYG0kTDUk3luBIJTbimcPsR7Z/3GAwtAhrh/J/AU=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index 1f2966695d864..f59198a5528e9 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, gtk-doc, gobject-introspection, python2, gtk3, cairo, glib, gnome }:
+{ lib, stdenv, fetchurl, pkg-config, gettext, gtk-doc, gobject-introspection, python3, gtk3, cairo, glib, gnome }:
 
 stdenv.mkDerivation rec {
   pname = "goocanvas";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "141fm7mbqib0011zmkv3g8vxcjwa7hypmq71ahdyhnj2sjvy4a67";
   };
 
-  nativeBuildInputs = [ pkg-config gettext gtk-doc python2 ];
+  nativeBuildInputs = [ pkg-config gettext gtk-doc python3 ];
   buildInputs = [ gtk3 cairo glib gobject-introspection ];
 
   configureFlags = [
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index f55e2c2f6e453..d7576594adcf1 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "grpc";
-  version = "1.45.2"; # N.B: if you change this, please update:
+  version = "1.46.1"; # N.B: if you change this, please update:
     # pythonPackages.grpcio-tools
     # pythonPackages.grpcio-status
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "grpc";
     repo = "grpc";
     rev = "v${version}";
-    sha256 = "sha256-l2r1NdbfwViXfLcwbfUgLueqfAVnLzI+gdEarlkIqkI=";
+    sha256 = "sha256-jci45jCcm2EN+tw7KCU9tOVB0jIADitQWoUlvyutRqw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/gtk/3.x.nix b/pkgs/development/libraries/gtk/3.x.nix
index c736c5cc76171..5e0dcf6ce03c2 100644
--- a/pkgs/development/libraries/gtk/3.x.nix
+++ b/pkgs/development/libraries/gtk/3.x.nix
@@ -30,7 +30,7 @@
 , gnome
 , gsettings-desktop-schemas
 , sassc
-, trackerSupport ? stdenv.isLinux
+, trackerSupport ? stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)
 , tracker
 , x11Support ? stdenv.isLinux
 , waylandSupport ? stdenv.isLinux
@@ -39,12 +39,13 @@
 , wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux
-, withGtkDoc ? stdenv.isLinux
+, withGtkDoc ? stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform)
 , cups
 , AppKit
 , Cocoa
 , QuartzCore
 , broadwaySupport ? true
+, wayland-scanner
 }:
 
 let
@@ -85,6 +86,9 @@ stdenv.mkDerivation rec {
     ./patches/3.0-darwin-x11.patch
   ];
 
+  depsBuildBuild = [
+    pkg-config
+  ];
   nativeBuildInputs = [
     gettext
     gobject-introspection
@@ -94,12 +98,15 @@ stdenv.mkDerivation rec {
     pkg-config
     python3
     sassc
+    gdk-pixbuf
   ] ++ setupHooks ++ lib.optionals withGtkDoc [
     docbook_xml_dtd_43
     docbook-xsl-nons
     gtk-doc
     # For xmllint
     libxml2
+  ] ++ lib.optionals waylandSupport [
+    wayland-scanner
   ];
 
   buildInputs = [
@@ -151,6 +158,7 @@ stdenv.mkDerivation rec {
     "-Dbroadway_backend=${lib.boolToString broadwaySupport}"
     "-Dx11_backend=${lib.boolToString x11Support}"
     "-Dquartz_backend=${lib.boolToString (stdenv.isDarwin && !x11Support)}"
+    "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
   ];
 
   doCheck = false; # needs X11
diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix
index ed4326527005a..d773434b8323f 100644
--- a/pkgs/development/libraries/gtkd/default.nix
+++ b/pkgs/development/libraries/gtkd/default.nix
@@ -1,40 +1,25 @@
-{ lib, stdenv, fetchzip, fetchpatch, atk, cairo, ldc, gdk-pixbuf, gnome, gst_all_1, librsvg
+{ lib, stdenv, fetchzip, atk, cairo, dcompiler, gdk-pixbuf, gnome, gst_all_1, librsvg
 , glib, gtk3, gtksourceview4, libgda, libpeas, pango, pkg-config, which, vte }:
 
 let
   inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
 in stdenv.mkDerivation rec {
   pname = "gtkd";
-  version = "3.9.0";
-
-  outputs = [ "out" "dev" ];
+  version = "3.10.0";
 
   src = fetchzip {
     url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
-    sha256 = "12kc4s5gp6gn456d8pzhww1ggi9qbxldmcpp6855297g2x8xxy5p";
+    sha256 = "DEKVDexGyg/T3SdnnvRjaHq1LbDo8ekNslxKROpMCCE=";
     stripRoot = false;
   };
 
-  nativeBuildInputs = [ ldc pkg-config which ];
+  nativeBuildInputs = [ dcompiler pkg-config which ];
   propagatedBuildInputs = [
     atk cairo gdk-pixbuf glib gstreamer gst-plugins-base gtk3 gtksourceview4
     libgda libpeas librsvg pango vte
   ];
 
-  patches = [
-    # Fix makefile not installing .pc's
-    (fetchpatch {
-      url = "https://github.com/gtkd-developers/GtkD/commit/a9db09117ab27127ca4c3b8d2f308fae483a9199.patch";
-      sha256 = "0ngyqifw1kandc1vk01kms3z65pcisfd75q7z09rml96glhfzjd6";
-    })
-    # Fix breakage with dmd ldc 1.26 and newer
-    (fetchpatch {
-      url = "https://github.com/gtkd-developers/GtkD/commit/323ff96c648882eaca2faee170bd9e90c6e1e9c3.patch";
-      sha256 = "1rhyi0isl6fl5i6fgsinvgq6v72xq7c6sajrxcsnmrzpvw91il3d";
-    })
-  ];
-
-  prePatch = ''
+  postPatch = ''
     substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
 
     substituteInPlace generated/gstreamer/gst/app/c/functions.d \
@@ -134,6 +119,10 @@ in stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    inherit dcompiler;
+  };
+
   meta = with lib; {
     description = "D binding and OO wrapper for GTK";
     homepage = "https://gtkd.org";
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 2d0921cf097fb..420dee6cbaafc 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "3.24.5";
+  version = "3.24.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ri2msp3cmzi6r65ghwb8gfavfaxv0axpwi3q60nm7v8hvg36qw5";
+    sha256 = "Sz4ULpROFjO7oAiQBgXDQak8/XVaf6KgCwXQQTQfEdY=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/htmlcxx/c++17.patch b/pkgs/development/libraries/htmlcxx/c++17.patch
new file mode 100644
index 0000000000000..53fa9fbfc8c1c
--- /dev/null
+++ b/pkgs/development/libraries/htmlcxx/c++17.patch
@@ -0,0 +1,24 @@
+diff --color -Naur a/html/CharsetConverter.cc b/html/CharsetConverter.cc
+--- a/html/CharsetConverter.cc	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.cc	2021-05-31 23:03:10.705334580 +0100
+@@ -7,7 +7,7 @@
+ using namespace std;
+ using namespace htmlcxx;
+ 
+-CharsetConverter::CharsetConverter(const string &from, const string &to) throw (Exception)
++CharsetConverter::CharsetConverter(const string &from, const string &to)
+ {
+ 	mIconvDescriptor = iconv_open(to.c_str(), from.c_str());
+ 	if (mIconvDescriptor == (iconv_t)(-1))
+diff --color -Naur a/html/CharsetConverter.h b/html/CharsetConverter.h
+--- a/html/CharsetConverter.h	2018-12-29 03:13:56.000000000 +0000
++++ b/html/CharsetConverter.h	2021-05-31 23:03:19.042574598 +0100
+@@ -17,7 +17,7 @@
+ 						: std::runtime_error(arg) {}
+ 			};
+ 			
+-			CharsetConverter(const std::string &from, const std::string &to) throw (Exception);
++			CharsetConverter(const std::string &from, const std::string &to);
+ 			~CharsetConverter();
+ 			
+ 			std::string convert(const std::string &input);
diff --git a/pkgs/development/libraries/htmlcxx/default.nix b/pkgs/development/libraries/htmlcxx/default.nix
index d9072e46e4070..221ec7622ff4a 100644
--- a/pkgs/development/libraries/htmlcxx/default.nix
+++ b/pkgs/development/libraries/htmlcxx/default.nix
@@ -2,15 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "htmlcxx";
-  version = "0.86";
+  version = "0.87";
 
   src = fetchurl {
-    url = "mirror://sourceforge/htmlcxx/htmlcxx/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1hgmyiad3qgbpf2dvv2jygzj6jpz4dl3n8ds4nql68a4l9g2nm07";
+    url = "mirror://sourceforge/htmlcxx/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-XTj5OM9N+aKYpTRq8nGV//q/759GD8KgIjPLz6j8dcg=";
   };
 
   buildInputs = [ libiconv ];
-  patches = [ ./ptrdiff.patch ];
+  patches = [
+    ./ptrdiff.patch
+    ./c++17.patch
+  ];
 
   meta = with lib; {
     homepage = "http://htmlcxx.sourceforge.net/";
diff --git a/pkgs/development/libraries/hunspell/wrapper.nix b/pkgs/development/libraries/hunspell/wrapper.nix
index 4ae1772327511..d67fe23010395 100644
--- a/pkgs/development/libraries/hunspell/wrapper.nix
+++ b/pkgs/development/libraries/hunspell/wrapper.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   name = (appendToName "with-dicts" hunspell).name;
   nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
-    makeWrapper ${hunspell.bin}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${searchPath}
+    makeWrapper ${hunspell.bin}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${lib.escapeShellArg searchPath}
   '';
   meta = removeAttrs hunspell.meta ["outputsToInstall"];
 }
diff --git a/pkgs/development/libraries/icu/71.nix b/pkgs/development/libraries/icu/71.nix
new file mode 100644
index 0000000000000..456dffc322a43
--- /dev/null
+++ b/pkgs/development/libraries/icu/71.nix
@@ -0,0 +1,4 @@
+import ./base.nix {
+  version = "71.1";
+  sha256 = "sha256-Z6fm5R9h+vEwa2k1Mz4TssSKvY2m0vRs5q3KJLHiHr8=";
+}
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index 1447a327e0dfc..2790eaf460bb7 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -2,9 +2,22 @@
 # Image file formats
 , libjpeg, libtiff, giflib, libpng, libwebp
 # imlib2 can load images from ID3 tags.
-, libid3tag
+, libid3tag, librsvg, libheif
 , freetype , bzip2, pkg-config
 , x11Support ? true, xlibsWrapper ? null
+# Compilation error on Darwin with librsvg. For more information see:
+# https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
+, svgSupport ? !stdenv.isDarwin
+, heifSupport ? !stdenv.isDarwin
+
+# for passthru.tests
+, libcaca
+, diffoscopeMinimal
+, feh
+, icewm
+, openbox
+, fluxbox
+, enlightenment
 }:
 
 let
@@ -12,17 +25,19 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.5";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
-    hash = "sha256-RY2DAKp6bUzjU1GDi7pdn9+wiES9WxU8WTjs/kP/Ngo=";
+    hash = "sha256-Ui4ecOZbwO3f4gdhfRXJo5VmKnwJBmHaqiwpT7fZ/ao=";
   };
 
   buildInputs = [
     libjpeg libtiff giflib libpng libwebp
     bzip2 freetype libid3tag
-  ] ++ optional x11Support xlibsWrapper;
+  ] ++ optional x11Support xlibsWrapper
+    ++ optional heifSupport libheif
+    ++ optional svgSupport librsvg;
 
   nativeBuildInputs = [ pkg-config ];
 
@@ -31,10 +46,23 @@ stdenv.mkDerivation rec {
   # Do not build amd64 assembly code on Darwin, because it fails to compile
   # with unknow directive errors
   configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
+    ++ optional (!svgSupport) "--without-svg"
+    ++ optional (!heifSupport) "--without-heif"
     ++ optional (!x11Support) "--without-x";
 
   outputs = [ "bin" "out" "dev" ];
 
+  passthru.tests = {
+    inherit
+      libcaca
+      diffoscopeMinimal
+      feh
+      icewm
+      openbox
+      fluxbox
+      enlightenment;
+  };
+
   meta = with lib; {
     description = "Image manipulation library";
 
diff --git a/pkgs/development/libraries/irrlichtmt/default.nix b/pkgs/development/libraries/irrlichtmt/default.nix
new file mode 100644
index 0000000000000..e40f2c84b2af5
--- /dev/null
+++ b/pkgs/development/libraries/irrlichtmt/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, zlib
+, libpng
+, libjpeg
+, libGL
+, libX11
+, libXxf86vm
+, withTouchSupport ? false
+, libXi
+, libXext
+, Cocoa
+, Kernel
+}:
+stdenv.mkDerivation rec {
+  pname = "irrlichtmt";
+  version = "1.9.0mt4";
+
+  src = fetchFromGitHub {
+    owner = "minetest";
+    repo = "irrlicht";
+    rev = version;
+    sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  # https://github.com/minetest/minetest/pull/10729
+  postPatch = lib.optionalString withTouchSupport ''
+    substituteInPlace include/IrrCompileConfig.h \
+      --replace '//#define _IRR_LINUX_X11_XINPUT2_' '#define _IRR_LINUX_X11_XINPUT2_'
+  '';
+
+  buildInputs = [
+    zlib
+    libpng
+    libjpeg
+    libGL
+    libX11
+    libXxf86vm
+  ] ++ lib.optionals withTouchSupport [
+    libXi
+    libXext
+  ] ++ lib.optionals stdenv.isDarwin [
+    Cocoa
+    Kernel
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  meta = {
+    homepage = "https://github.com/minetest/irrlicht";
+    license = lib.licenses.zlib;
+    maintainers = with lib.maintainers; [ DeeUnderscore ];
+    description = "Minetest project's fork of Irrlicht, a realtime 3D engine written in C++";
+  };
+}
diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix
index e3d3409554057..5ab33fcf46fd9 100644
--- a/pkgs/development/libraries/kdb/default.nix
+++ b/pkgs/development/libraries/kdb/default.nix
@@ -6,7 +6,7 @@
 , qtbase
 , qttranslations
 , kcoreaddons
-, python2
+, python3
 , sqlite
 , postgresql
 , libmysqlclient
@@ -36,7 +36,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ qttranslations kcoreaddons python2 sqlite postgresql libmysqlclient ];
+  buildInputs = [ qttranslations kcoreaddons python3 sqlite postgresql libmysqlclient ];
 
   propagatedBuildInputs = [ qtbase ];
 
diff --git a/pkgs/development/libraries/keystone/default.nix b/pkgs/development/libraries/keystone/default.nix
index 70864bcf24a9e..0bb979f7a5503 100644
--- a/pkgs/development/libraries/keystone/default.nix
+++ b/pkgs/development/libraries/keystone/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.keystone-engine.org";
     license = licenses.gpl2Only;
     maintainers = with maintainers; [ luc65r ];
+    mainProgram = "kstool";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/kompute/default.nix b/pkgs/development/libraries/kompute/default.nix
new file mode 100644
index 0000000000000..426aaf3c581e9
--- /dev/null
+++ b/pkgs/development/libraries/kompute/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, vulkan-headers
+, vulkan-loader
+, fmt
+, glslang
+, ninja
+}:
+
+stdenv.mkDerivation rec {
+  pname = "kompute";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "KomputeProject";
+    repo = "kompute";
+    rev = "v${version}";
+    sha256 = "sha256-OkVGYh8QrD7JNqWFBLrDTYlk6IYHdvt4i7UtC4sQTzo=";
+  };
+
+  cmakeFlags = [
+    "-DKOMPUTE_OPT_INSTALL=1"
+    "-DRELEASE=1"
+    "-DKOMPUTE_ENABLE_SPDLOG=1"
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ fmt ];
+  propagatedBuildInputs = [ glslang vulkan-headers vulkan-loader ];
+
+  meta = with lib; {
+    description = "General purpose GPU compute framework built on Vulkan";
+    longDescription = ''
+      General purpose GPU compute framework built on Vulkan to
+      support 1000s of cross vendor graphics cards (AMD,
+      Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled,
+      asynchronous and optimized for advanced GPU data
+      processing usecases. Backed by the Linux Foundation"
+    '';
+    homepage = "https://kompute.cc/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ atila ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix
index c3621d375870f..81109194356c4 100644
--- a/pkgs/development/libraries/kpmcore/default.nix
+++ b/pkgs/development/libraries/kpmcore/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, extra-cmake-modules
+{ stdenv, lib, fetchurl, extra-cmake-modules
 , qca-qt5, kauth, kio, polkit-qt, qtbase
 , util-linux
 }:
@@ -6,25 +6,14 @@
 stdenv.mkDerivation rec {
   pname = "kpmcore";
   # NOTE: When changing this version, also change the version of `partition-manager`.
-  version = "4.2.0";
+  version = "22.04.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    hash = "sha256-MvW0CqvFZtzcJlya6DIpzorPbKJai6fxt7nKsKpJn54=";
+    url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-sO8WUJL6072H1ghMZd7j0xNMwEn4bJF5PXMhfEb2jbs=";
   };
 
-  patches = [
-    # Fix build with `kcoreaddons` >= 5.77.0
-    (fetchpatch {
-      url = "https://github.com/KDE/kpmcore/commit/07e5a3ac2858e6d38cc698e0f740e7a693e9f302.patch";
-      sha256 = "sha256-LYzea888euo2HXM+acWaylSw28iwzOdZBvPBt/gjP1s=";
-    })
-    # Fix crash when `fstab` omits mount options.
-    (fetchpatch {
-      url = "https://github.com/KDE/kpmcore/commit/eea84fb60525803a789e55bb168afb968464c130.patch";
-      sha256 = "sha256-NJ3PvyRC6SKNSOlhJPrDDjepuw7IlAoufPgvml3fap0=";
-    })
-  ];
+  nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [
     qca-qt5
@@ -35,10 +24,13 @@ stdenv.mkDerivation rec {
     util-linux # Needs blkid in configure script (note that this is not provided by util-linux-compat)
   ];
 
-  nativeBuildInputs = [ extra-cmake-modules ];
-
   dontWrapQtApps = true;
 
+  preConfigure = ''
+    substituteInPlace src/util/CMakeLists.txt \
+      --replace \$\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\} $out/share/polkit-1/actions
+  '';
+
   meta = with lib; {
     description = "KDE Partition Manager core library";
     homepage = "https://invent.kde.org/system/kpmcore";
diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix
index 46d55b1f550d3..1c8470204f803 100644
--- a/pkgs/development/libraries/kreport/default.nix
+++ b/pkgs/development/libraries/kreport/default.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python2
+  qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python3
 }:
 
 mkDerivation rec {
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ qtdeclarative qtwebkit kconfig kcoreaddons kwidgetsaddons kguiaddons kproperty marble python2 ];
+  buildInputs = [ qtdeclarative qtwebkit kconfig kcoreaddons kwidgetsaddons kguiaddons kproperty marble python3 ];
 
   meta = with lib; {
     description = "A framework for creation and generation of reports in multiple formats";
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index 8ed0962bece85..ec79f8cf6008d 100644
--- a/pkgs/development/libraries/lame/default.nix
+++ b/pkgs/development/libraries/lame/default.nix
@@ -1,21 +1,16 @@
 { lib, stdenv, fetchurl
-, nasmSupport ? true, nasm ? null # Assembly optimizations
+, nasmSupport ? true, nasm # Assembly optimizations
 , cpmlSupport ? true # Compaq's fast math library
-#, efenceSupport ? false, libefence ? null # Use ElectricFence for malloc debugging
-, sndfileFileIOSupport ? false, libsndfile ? null # Use libsndfile, instead of lame's internal routines
+#, efenceSupport ? false, libefence # Use ElectricFence for malloc debugging
+, sndfileFileIOSupport ? false, libsndfile # Use libsndfile, instead of lame's internal routines
 , analyzerHooksSupport ? true # Use analyzer hooks
 , decoderSupport ? true # mpg123 decoder
 , frontendSupport ? true # Build the lame executable
-#, mp3xSupport ? false, gtk1 ? null # Build GTK frame analyzer
+#, mp3xSupport ? false, gtk1 # Build GTK frame analyzer
 , mp3rtpSupport ? false # Build mp3rtp
 , debugSupport ? false # Debugging (disables optimizations)
 }:
 
-assert nasmSupport -> (nasm != null);
-#assert efenceSupport -> (libefence != null);
-assert sndfileFileIOSupport -> (libsndfile != null);
-#assert mp3xSupport -> (analyzerHooksSupport && (gtk1 != null));
-
 let
   mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
 in
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 1ccb0e41e7086..6712d7c6d3c0a 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -42,9 +42,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Library with the aim of simplifying DNS programming in C";
-    license = licenses.bsd3;
     homepage = "http://www.nlnetlabs.nl/projects/ldns/";
-    platforms = platforms.unix;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ dtzWill ];
+    mainProgram = "drill";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 76e5a32316d89..066ea8b60ddcf 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -40,18 +40,21 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace Makefile.am --replace '/bin/pwd' "$(type -P pwd)"
 
-    declare -a skip_tests=(
+    declare -a skip_test_paths=(
       # test won't work in nix sandbox
-      'test_write_disk_perms'
+      'libarchive/test/test_write_disk_perms.c'
       # can't be sure builder will have sparse-capable fs
-      'test_sparse_basic'
+      'libarchive/test/test_sparse_basic.c'
       # can't even be sure builder will have hardlink-capable fs
-      'test_write_disk_hardlink'
+      'libarchive/test/test_write_disk_hardlink.c'
+      # access-time-related tests flakey on some systems
+      'cpio/test/test_option_a.c'
+      'cpio/test/test_option_t.c'
     )
 
-    for test_name in "''${skip_tests[@]}" ; do
-      sed -i "/$test_name/d" Makefile.am
-      rm "libarchive/test/$test_name.c"
+    for test_path in "''${skip_test_paths[@]}" ; do
+      substituteInPlace Makefile.am --replace "$test_path" ""
+      rm "$test_path"
     done
   '';
 
diff --git a/pkgs/development/libraries/libargon2/default.nix b/pkgs/development/libraries/libargon2/default.nix
index eb8e6333d419d..19ca4fab40139 100644
--- a/pkgs/development/libraries/libargon2/default.nix
+++ b/pkgs/development/libraries/libargon2/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.argon2.com/";
     license = with licenses; [ asl20 cc0 ];
     maintainers = with maintainers; [ taeer olynch ];
+    mainProgram = "argon2";
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libast/default.nix b/pkgs/development/libraries/libast/default.nix
index b48971bc43136..f4dae188f31cf 100644
--- a/pkgs/development/libraries/libast/default.nix
+++ b/pkgs/development/libraries/libast/default.nix
@@ -1,20 +1,29 @@
-{ lib, stdenv, fetchurl
-, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+}:
 
 stdenv.mkDerivation rec {
   pname = "libast";
-  version = "0.7.1";
+  version = "0.8";
 
-  src = fetchurl {
-    url = "http://www.eterm.org/download/${pname}-${version}.tar.gz";
-    sha256 = "1w7bs46r4lykfd83kc3bg9i1rxzzlb4ydk23ikf8mx8avz05q1aj";
+  src = fetchFromGitHub {
+    owner = "mej";
+    repo = pname;
+    rev = version;
+    hash = "sha256-rnqToFi+d6D6O+JDHQxkVjTc/0RBag6Jqv4uDcE4PNc=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
 
   meta = with lib; {
+    inherit (src.meta) homepage;
     description = "Library of Assorted Spiffy Things";
-    homepage = "https://www.eterm.org";
     license = licenses.bsd2;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libaudec/default.nix b/pkgs/development/libraries/libaudec/default.nix
index 78e4b5cfa4045..5340f62a32edc 100644
--- a/pkgs/development/libraries/libaudec/default.nix
+++ b/pkgs/development/libraries/libaudec/default.nix
@@ -18,9 +18,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkg-config ];
 
   meta = with lib; {
-    homepage = "https://www.zrythm.org";
     description = "A library for reading and resampling audio files";
+    homepage = "https://www.zrythm.org";
     license = licenses.agpl3Plus;
+    mainProgram = "audec";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libb64/default.nix b/pkgs/development/libraries/libb64/default.nix
index 987a36cd79fe5..88bc059892cf9 100644
--- a/pkgs/development/libraries/libb64/default.nix
+++ b/pkgs/development/libraries/libb64/default.nix
@@ -36,7 +36,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "ANSI C routines for fast base64 encoding/decoding";
+    homepage = "https://github.com/libb64/libb64";
     license = lib.licenses.publicDomain;
+    mainProgram = "base64";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libbencodetools/default.nix b/pkgs/development/libraries/libbencodetools/default.nix
index b8150a90f6838..42e6fb9f4ede8 100644
--- a/pkgs/development/libraries/libbencodetools/default.nix
+++ b/pkgs/development/libraries/libbencodetools/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.com/heikkiorsila/bencodetools";
     license = licenses.bsd2;
     maintainers = with maintainers; [ OPNA2608 ];
+    mainProgram = "bencat";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libbluray/default.nix b/pkgs/development/libraries/libbluray/default.nix
index 47015f3b981df..8d8e64502d423 100644
--- a/pkgs/development/libraries/libbluray/default.nix
+++ b/pkgs/development/libraries/libbluray/default.nix
@@ -1,19 +1,13 @@
 { lib, stdenv, fetchurl, pkg-config, fontconfig, autoreconfHook, DiskArbitration
-, withJava ? false, jdk ? null, ant ? null
-, withAACS ? false, libaacs ? null
-, withBDplus ? false, libbdplus ? null
-, withMetadata ? true, libxml2 ? null
-, withFonts ? true, freetype ? null
+, withJava ? false, jdk, ant
+, withAACS ? false, libaacs
+, withBDplus ? false, libbdplus
+, withMetadata ? true, libxml2
+, withFonts ? true, freetype
 }:
 
 with lib;
 
-assert withJava -> jdk != null && ant != null;
-assert withAACS -> libaacs != null;
-assert withBDplus -> libbdplus != null;
-assert withMetadata -> libxml2 != null;
-assert withFonts -> freetype != null;
-
 # Info on how to use:
 # https://wiki.archlinux.org/index.php/BluRay
 
diff --git a/pkgs/development/libraries/libbtbb/default.nix b/pkgs/development/libraries/libbtbb/default.nix
index 15047f6e8f2f1..2e2b95c2d8c76 100644
--- a/pkgs/development/libraries/libbtbb/default.nix
+++ b/pkgs/development/libraries/libbtbb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake }:
+{ stdenv, lib, fetchFromGitHub, cmake, CoreServices }:
 
 stdenv.mkDerivation rec {
   pname = "libbtbb";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1byv8174xam7siakr1p0523x97wkh0fmwmq341sd3g70qr2g767d";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ] ++ lib.optionals stdenv.isDarwin [ CoreServices ];
 
   meta = with lib; {
     description = "Bluetooth baseband decoding library";
diff --git a/pkgs/development/libraries/libburn/default.nix b/pkgs/development/libraries/libburn/default.nix
index f9b6538027d6f..ba24182ade80a 100644
--- a/pkgs/development/libraries/libburn/default.nix
+++ b/pkgs/development/libraries/libburn/default.nix
@@ -10,10 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://libburnia-project.org/";
     description = "A library by which preformatted data get onto optical media: CD, DVD, BD (Blu-Ray)";
+    homepage = "http://libburnia-project.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar vrthra ];
+    mainProgram = "cdrskin";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index bf20211ee60a9..4848f5fcc2659 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     description = "C library to access data on a CDDB server (freedb.org)";
     homepage = "http://libcddb.sourceforge.net/";
     license = licenses.lgpl2Plus;
+    mainProgram = "cddb_query";
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libcdio-paranoia/default.nix b/pkgs/development/libraries/libcdio-paranoia/default.nix
index 999c04504898b..36b591b0605b3 100644
--- a/pkgs/development/libraries/libcdio-paranoia/default.nix
+++ b/pkgs/development/libraries/libcdio-paranoia/default.nix
@@ -28,9 +28,10 @@ stdenv.mkDerivation rec {
       This is a port of xiph.org's cdda paranoia to use libcdio for CDROM
       access. By doing this, cdparanoia runs on platforms other than GNU/Linux.
     '';
-    license = licenses.gpl3;
     homepage = "https://github.com/rocky/libcdio-paranoia";
-    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.gpl3;
     maintainers = [ ];
+    mainProgram = "cd-paranoia";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix
index 2898c9a1c835e..f5a9974f3bcfa 100644
--- a/pkgs/development/libraries/libcmis/default.nix
+++ b/pkgs/development/libraries/libcmis/default.nix
@@ -25,8 +25,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "C++ client library for the CMIS interface";
-    homepage = "https://sourceforge.net/projects/libcmis/";
+    homepage = "https://github.com/tdf/libcmis";
     license = licenses.gpl2;
+    mainProgram = "cmis-client";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libcutl/default.nix b/pkgs/development/libraries/libcutl/default.nix
index ed6aae0f30832..dca7a6148f22b 100644
--- a/pkgs/development/libraries/libcutl/default.nix
+++ b/pkgs/development/libraries/libcutl/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
     homepage = "https://codesynthesis.com/projects/libcutl/";
     changelog = "https://git.codesynthesis.com/cgit/libcutl/libcutl/plain/NEWS?h=${version}";
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ ];
     license = licenses.mit;
   };
@@ -26,4 +27,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ xercesc ];
   enableParallelBuilding = true;
+
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
 }
diff --git a/pkgs/development/libraries/libdap/default.nix b/pkgs/development/libraries/libdap/default.nix
deleted file mode 100644
index 8eacd9706a880..0000000000000
--- a/pkgs/development/libraries/libdap/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchurl, bison, libuuid, curl, libxml2, flex }:
-
-stdenv.mkDerivation rec {
-  version = "3.20.6";
-  pname = "libdap";
-
-  nativeBuildInputs = [ bison flex ];
-  buildInputs = [ libuuid curl libxml2 ];
-
-  src = fetchurl {
-    url = "https://www.opendap.org/pub/source/${pname}-${version}.tar.gz";
-    sha256 = "0jn5bi8k2lq6mmrsw7r1r5aviyf8gb39b2iy20v4kpkj5napzk1m";
-  };
-
-  meta = with lib; {
-    description = "A C++ SDK which contains an implementation of DAP";
-    homepage = "https://www.opendap.org/software/libdap";
-    license = licenses.lgpl2;
-    maintainers = [ maintainers.bzizou ];
-    platforms = platforms.linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/libdc1394/default.nix b/pkgs/development/libraries/libdc1394/default.nix
index a666eb3a650be..379f5397ec048 100644
--- a/pkgs/development/libraries/libdc1394/default.nix
+++ b/pkgs/development/libraries/libdc1394/default.nix
@@ -15,10 +15,11 @@ stdenv.mkDerivation rec {
     ++ lib.optional stdenv.isDarwin CoreServices;
 
   meta = with lib; {
-    homepage = "https://sourceforge.net/projects/libdc1394/";
     description = "Capture and control API for IIDC compliant cameras";
+    homepage = "https://sourceforge.net/projects/libdc1394/";
     license = licenses.lgpl21Plus;
     maintainers = [ maintainers.viric ];
+    mainProgram = "dc1394_reset_bus";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libde265/default.nix b/pkgs/development/libraries/libde265/default.nix
index bbbcdc3f05440..762fe1765fd2d 100644
--- a/pkgs/development/libraries/libde265/default.nix
+++ b/pkgs/development/libraries/libde265/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config }:
 
 stdenv.mkDerivation rec {
   version = "1.0.8";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1dzflqbk248lz5ws0ni5acmf32b3rmnq5gsfaz7691qqjxkl1zml";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2022-1253.patch";
+      url = "https://github.com/strukturag/libde265/commit/8e89fe0e175d2870c39486fdd09250b230ec10b8.patch";
+      sha256 = "sha256-F1BOWFx9oXR2trM22atyD3AJ5x6vVfURQ/PTlYP2Ibg=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   enableParallelBuilding = true;
@@ -22,5 +30,4 @@ stdenv.mkDerivation rec {
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ gebner ];
   };
-
 }
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index b2d3f4c6bbb16..462434f9839e0 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -5,6 +5,7 @@
 , openssl
 , perl
 , pkg-config
+, python3
 , rustPlatform
 , sqlcipher
 , sqlite
@@ -16,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.78.0";
+  version = "1.80.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-SMobKC34RU7/LfRtgBxa8CHsLlWOQ29zaiw/V4+wWqU=";
+    hash = "sha256-4b2tf7QmLQ5ltnkxUGCwA1TZSQRoyKaRGcxBxbSKDaE=";
   };
 
   patches = [
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-G2lUk1M3B+a3BaNPFWQgsYehUu7dyfuRc+fXSlWjSq4=";
+    hash = "sha256-t1/xztmiuJMqNkIe7cBzO7MaZQb6GtnIX5wxEpC+IFo=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,10 @@ stdenv.mkDerivation rec {
     cargoCheckHook
   ];
 
+  passthru.tests = {
+    python = python3.pkgs.deltachat;
+  };
+
   meta = with lib; {
     description = "Delta Chat Rust Core library";
     homepage = "https://github.com/deltachat/deltachat-core-rust/";
diff --git a/pkgs/development/libraries/libdigidoc/default.nix b/pkgs/development/libraries/libdigidoc/default.nix
index 7ee268e4e7d97..a639b4b32947a 100644
--- a/pkgs/development/libraries/libdigidoc/default.nix
+++ b/pkgs/development/libraries/libdigidoc/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     description = "Library for creating DigiDoc signature files";
     homepage = "https://github.com/open-eid/libdigidoc";
     license = licenses.lgpl2;
-    platforms = platforms.unix;
     maintainers = [ maintainers.jagajaga ];
+    mainProgram = "cdigidoc";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 70fab2da56884..3a3abdc5e9ac1 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     description = "Small LD_PRELOAD library to disable fsync and friends";
     homepage = "https://www.flamingspork.com/projects/libeatmydata/";
     license = licenses.gpl3Plus;
+    mainProgram = "eatmydata";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index ae0529718259c..1269f6f0eff3b 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -12,9 +12,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ libestr];
 
   meta = {
-    homepage = "http://www.libee.org/";
     description = "An Event Expression Library inspired by CEE";
-    platforms = lib.platforms.unix;
+    homepage = "http://www.libee.org/";
     license = lib.licenses.lgpl21Plus;
+    mainProgram = "libee-convert";
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index c315379d92c73..39369c5c3b6be 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = "https://wiki.documentfoundation.org/Libexttextcat";
-    platforms = platforms.all;
     license = licenses.bsd3;
+    mainProgram = "createfp";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libffi/3.3.nix b/pkgs/development/libraries/libffi/3.3.nix
new file mode 100644
index 0000000000000..a1e2ff8c5888b
--- /dev/null
+++ b/pkgs/development/libraries/libffi/3.3.nix
@@ -0,0 +1,64 @@
+{ lib, stdenv, fetchurl, fetchpatch
+, autoreconfHook
+
+, doCheck ? true # test suite depends on dejagnu which cannot be used during bootstrapping
+, dejagnu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libffi";
+  version = "3.3";
+
+  src = fetchurl {
+    url = "https://github.com/libffi/libffi/releases/download/v${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-cvunkicD3fp6Ao1ROsFahcjVTI1n9V+lpIAohdxlIFY=";
+  };
+
+  patches = [];
+
+  outputs = [ "out" "dev" "man" "info" ];
+
+  configureFlags = [
+    "--with-gcc-arch=generic" # no detection of -march= or -mtune=
+    "--enable-pax_emutramp"
+
+    # Causes issues in downstream packages which misuse ffi_closure_alloc
+    # Reenable once these issues are fixed and merged:
+    # https://gitlab.haskell.org/ghc/ghc/-/merge_requests/6155
+    # https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/283
+    "--disable-exec-static-tramp"
+  ];
+
+  preCheck = ''
+    # The tests use -O0 which is not compatible with -D_FORTIFY_SOURCE.
+    NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}
+  '';
+
+  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 = ''
+      The libffi library provides a portable, high level programming
+      interface to various calling conventions.  This allows a
+      programmer to call any function specified by a call interface
+      description at run-time.
+
+      FFI stands for Foreign Function Interface.  A foreign function
+      interface is the popular name for the interface that allows code
+      written in one language to call code written in another
+      language.  The libffi library really only provides the lowest,
+      machine dependent layer of a fully featured foreign function
+      interface.  A layer must exist above libffi that handles type
+      conversions for values passed between the two languages.
+    '';
+    homepage = "http://sourceware.org/libffi/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ armeenm ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix
index dc12e643cb75e..10f3ceaac2626 100644
--- a/pkgs/development/libraries/libgit2/default.nix
+++ b/pkgs/development/libraries/libgit2/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , pkg-config
 , python3
@@ -16,23 +15,16 @@
 
 stdenv.mkDerivation rec {
   pname = "libgit2";
-  version = "1.4.0";
+  version = "1.4.3";
   # 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=";
+    sha256 = "sha256-WnRzH5uMVEStA5ns4GNgMD5YoLQoats9aPLfnz9RoQs=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/libgit2/libgit2/commit/8bc9eda779b2e2602fc74944aba5d39198e0642f.patch";
-      sha256 = "sha256-r2i4+WsrxIpSwH0g/AikBdAajBncXb1zz0uOQB0h1Jk=";
-    })
-  ];
-
   cmakeFlags = [
     "-DTHREADSAFE=ON"
     "-DUSE_HTTP_PARSER=system"
@@ -48,11 +40,11 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # hangs. or very expensive?
 
-  meta = {
+  meta = with lib; {
     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; [ ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/libraries/libgtkflow/default.nix b/pkgs/development/libraries/libgtkflow/default.nix
new file mode 100644
index 0000000000000..3e08f0dee7726
--- /dev/null
+++ b/pkgs/development/libraries/libgtkflow/default.nix
@@ -0,0 +1,39 @@
+{stdenv, lib, vala, meson, ninja, pkg-config, fetchFromGitea, gobject-introspection, glib, gtk3}:
+
+stdenv.mkDerivation rec {
+  pname = "libgtkflow";
+  version = "0.8.0";
+
+  src = fetchFromGitea {
+    domain = "notabug.org";
+    owner = "grindhold";
+    repo = pname;
+    rev = version;
+    hash = "sha256:1m30rvj5hx3b4cj8lbzrxv4j8lp3hx4jlb8vpf4rh46vc1rdkxpz";
+  };
+
+  nativeBuildInputs = [
+    vala
+    meson
+    ninja
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+  ];
+
+  mesonFlags = [
+    "-Denable_valadoc=true"
+  ];
+
+  meta = with lib; {
+    description = "Flow graph widget for GTK 3";
+    homepage = "https://notabug.org/grindhold/libgtkflow";
+    maintainers = with maintainers; [ grindhold ];
+    license = licenses.lgpl3Plus;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index 35d01cd3e820d..5be5ecfd82e43 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -50,6 +50,7 @@ stdenv.mkDerivation rec {
     license = lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
+    mainProgram = "iconv";
 
     # This library is not needed on GNU platforms.
     hydraPlatforms = with lib.platforms; cygwin ++ darwin ++ freebsd;
diff --git a/pkgs/development/libraries/libinjection/default.nix b/pkgs/development/libraries/libinjection/default.nix
index 81a1398147bae..d4193f32ccc08 100644
--- a/pkgs/development/libraries/libinjection/default.nix
+++ b/pkgs/development/libraries/libinjection/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchFromGitHub
-, python2
+{ lib, stdenv, fetchFromGitHub, fetchpatch
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -13,11 +13,19 @@ stdenv.mkDerivation rec {
     sha256 = "0chsgam5dqr9vjfhdcp8cgk7la6nf3lq44zs6z6si98cq743550g";
   };
 
-  nativeBuildInputs = [ python2 ];
+  nativeBuildInputs = [ python3 ];
 
   strictDeps = true;
 
-  patchPhase = ''
+  patches = [
+    (fetchpatch {
+      name = "support-python3-for-building";
+      url = "https://raw.githubusercontent.com/sysown/proxysql/bed58f92917eb651b80fd8ffa627a485eb320805/deps/libinjection/update-build-py3.diff";
+      hash = "sha256-SPdf57FIDDNpatWe5pjhAiZl5yPMDEv50k0Wj+eWTEM=";
+    })
+  ];
+
+  postPatch = ''
     patchShebangs src
     substituteInPlace src/Makefile \
       --replace /usr/local $out
diff --git a/pkgs/development/libraries/libirecovery/default.nix b/pkgs/development/libraries/libirecovery/default.nix
index 6a2f926d79ef1..c10d46577ff68 100644
--- a/pkgs/development/libraries/libirecovery/default.nix
+++ b/pkgs/development/libraries/libirecovery/default.nix
@@ -39,16 +39,17 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/libimobiledevice/libirecovery";
     description = "Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux";
     longDescription = ''
       libirecovery is a cross-platform library which implements communication to
       iBoot/iBSS found on Apple's iOS devices via USB. A command-line utility is also
       provided.
     '';
+    homepage = "https://github.com/libimobiledevice/libirecovery";
     license = licenses.lgpl21;
+    maintainers = with maintainers; [ nh2 ];
+    mainProgram = "irecovery";
     # Upstream description says it works on more platforms, but packager hasn't tried that yet
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nh2 ];
   };
 }
diff --git a/pkgs/development/libraries/libkqueue/default.nix b/pkgs/development/libraries/libkqueue/default.nix
index 39a6efeb6fdb9..8a4bfdedd1e33 100644
--- a/pkgs/development/libraries/libkqueue/default.nix
+++ b/pkgs/development/libraries/libkqueue/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libkqueue";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "mheily";
     repo = "libkqueue";
     rev = "v${version}";
-    sha256 = "sha256-qh1r95A/ngg4KWSVYlC8ldv2ClV+rRPNcJDH+aAGxHs=";
+    sha256 = "sha256-YKKBHOxjUS7+/ib4gcR7EYjjVOwhHVksYasLhErdV8s=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/liblinphone/default.nix b/pkgs/development/libraries/liblinphone/default.nix
index 89a23dccc7e8e..10c2bfb272c80 100644
--- a/pkgs/development/libraries/liblinphone/default.nix
+++ b/pkgs/development/libraries/liblinphone/default.nix
@@ -1,50 +1,20 @@
-{ bcg729
-, bctoolbox
-, bcunit
+{ bctoolbox
 , belcard
 , belle-sip
 , belr
-, bzrtp
-, cairo
 , cmake
-, cyrus_sasl
 , doxygen
 , fetchFromGitLab
-, ffmpeg
-, gdk-pixbuf
-, glib
-, graphviz
-, gtk2
-, intltool
 , jsoncpp
-, libexosip
-, libmatroska
-, libnotify
-, libosip
-, libsoup
-, libupnp
-, libX11
 , libxml2
 , lime
-, makeWrapper
-, mbedtls
 , mediastreamer
-, openldap
-, ortp
-, pango
-, pkg-config
 , python3
-, readline
 , bc-soci
-, boost
-, speex
 , sqlite
 , lib
 , stdenv
-, udev
 , xercesc
-, xsd
-, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -62,69 +32,31 @@ stdenv.mkDerivation rec {
 
   patches = [ ./use-normal-jsoncpp.patch ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
-  # TODO: Not sure if all these inputs are actually needed. Most of them were
-  # defined when liblinphone and linphone-desktop weren't separated yet, so some
-  # of them might not be needed for liblinphone alone.
   buildInputs = [
-    (python3.withPackages (ps: [ ps.pystache ps.six ]))
-
     # Made by BC
-    bcg729
-    bctoolbox
     belcard
     belle-sip
-    belr
-    bzrtp
     lime
     mediastreamer
-    ortp
 
     # Vendored by BC
     bc-soci
 
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
-
-    cairo
-    cyrus_sasl
-    ffmpeg
-    gdk-pixbuf
-    glib
-    gtk2
-    libX11
-    libexosip
-    libnotify
-    libosip
-    libsoup
-    libupnp
+    jsoncpp
     libxml2
-    mbedtls
-    openldap
-    pango
-    readline
-    boost
-    speex
+    (python3.withPackages (ps: [ ps.pystache ps.six ]))
     sqlite
-    udev
     xercesc
-    xsd
-    zlib
-    jsoncpp
   ];
 
   nativeBuildInputs = [
-    # Made by BC
-    bcunit
-
     cmake
     doxygen
-    graphviz
-    intltool
-    makeWrapper
-    pkg-config
   ];
 
   strictDeps = true;
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
index af4190f968333..184d9932eb281 100644
--- a/pkgs/development/libraries/liblognorm/default.nix
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -15,9 +15,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-regexp" ];
 
   meta = with lib; {
-    homepage = "https://www.liblognorm.com/";
     description = "Help to make sense out of syslog data, or, actually, any event data that is present in text form";
+    homepage = "https://www.liblognorm.com/";
     license = licenses.lgpl21;
+    mainProgram = "lognormalizer";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
index 1c15519aaff92..855296bddb455 100644
--- a/pkgs/development/libraries/libmaxminddb/default.nix
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     description = "C library for working with MaxMind geolocation DB files";
     homepage = "https://github.com/maxmind/libmaxminddb";
     license = licenses.asl20;
-    platforms = platforms.all;
     maintainers = [ maintainers.vcunat ];
+    mainProgram = "mmdblookup";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 2a74c79afaf07..3a0ced3d98016 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,23 +1,16 @@
-{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, zlib, fetchpatch }:
+{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "21.09";
+  version = "22.03";
   pname = "libmediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "09pinxqw3z3hxrafn67clw1cb1z9aqfy6gkiavginfm0yr299gk9";
+    sha256 = "sha256-/FC6u2KOnPumVSiNrgbVw0Kw1+aUGjLWT7uxEySMgLk=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ libzen zlib ];
-
-  patches = [
-    # fixes pkgsMusl.libmediainfo build
-    (fetchpatch {
-      url = "https://git.alpinelinux.org/aports/plain/community/libmediainfo/fix-include-signal.patch?id=b8d666a3d33575c184308e1176f4de9e519af577";
-      sha256 = "sha256-b3HoIwy/hKSh8jUakwVJpnPmYw5KUwZXgLW7IPMY4/c=";
-    })
-  ];
+  buildInputs = [ zlib ];
+  propagatedBuildInputs = [ libzen ];
 
   postPatch = "cd Project/GNU/Library";
 
diff --git a/pkgs/development/libraries/libnatpmp/default.nix b/pkgs/development/libraries/libnatpmp/default.nix
index 54177ad559d6a..f718170fc76c8 100644
--- a/pkgs/development/libraries/libnatpmp/default.nix
+++ b/pkgs/development/libraries/libnatpmp/default.nix
@@ -22,10 +22,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://miniupnp.free.fr/libnatpmp.html";
     description = "NAT-PMP client";
+    homepage = "http://miniupnp.free.fr/libnatpmp.html";
     license = licenses.bsd3;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "natpmpc";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index d3b857d76739f..de3f2141c2e49 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
-  version = "0.7.9";
+  version = "0.7.11";
 
   outputs = [ "out" "man" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qa7cx6ra5hwqnxw95b9svgjg5q6ynm8y843iqjszxvds5z53h36";
+    sha256 = "3VaC7GgiAznhHFFZt+ASIEoxjdGzaDoJxILKQhqwc3U=";
   };
 
   mesonFlags = [
@@ -61,10 +61,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://gitlab.gnome.org/GNOME/libnotify";
     description = "A library that sends desktop notifications to a notification daemon";
-    platforms = platforms.unix;
-    maintainers = teams.gnome.members;
+    homepage = "https://gitlab.gnome.org/GNOME/libnotify";
     license = licenses.lgpl21;
+    maintainers = teams.gnome.members;
+    mainProgram = "notify-send";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpg_query/default.nix b/pkgs/development/libraries/libpg_query/default.nix
index ba554065cfc71..1319a8eedf87f 100644
--- a/pkgs/development/libraries/libpg_query/default.nix
+++ b/pkgs/development/libraries/libpg_query/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libpg_query";
-  version = "13-2.1.0";
+  version = "13-2.1.1";
 
   src = fetchFromGitHub {
     owner = "pganalyze";
     repo = "libpg_query";
     rev = version;
-    sha256 = "sha256-DpvPmBvpx5pWDlx6T3Kp82ALi6FjOO549Exd8tWXDIk=";
+    sha256 = "sha256-195WNTTdXHHPbQg2Ipwa3v/qPEeAtehvZa2OC1egoFo=";
   };
 
   nativeBuildInputs = [ which ];
diff --git a/pkgs/development/libraries/libpostal/default.nix b/pkgs/development/libraries/libpostal/default.nix
index 6b616a61d5170..30c7af9ccc564 100644
--- a/pkgs/development/libraries/libpostal/default.nix
+++ b/pkgs/development/libraries/libpostal/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/openvenues/libpostal";
     license = licenses.mit;
     maintainers = [ maintainers.Thra11 ];
+    mainProgram = "libpostal_data";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index 0a710d648fbfc..fc85f5375918b 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -85,7 +85,8 @@ in stdenv.mkDerivation rec {
     homepage = "https://rockdaboot.github.io/libpsl/";
     changelog = "https://raw.githubusercontent.com/rockdaboot/${pname}/${pname}-${version}/NEWS";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = [ maintainers.c0bw3b ];
+    mainProgram = "psl";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index ddaa6ae3e1d4d..afc2313df7a34 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -41,8 +41,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An advanced calculator library";
     homepage = "http://qalculate.github.io";
-    maintainers = with maintainers; [ gebner doronbehar ];
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ gebner doronbehar ];
+    mainProgram = "qalc";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index 1ad63db733dfa..97f21d0cb94a6 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -71,11 +71,9 @@ let
       moveToOutput "bin/nc" "$nc"
       moveToOutput "bin/openssl" "$bin"
       moveToOutput "bin/ocspcheck" "$bin"
-      moveToOutput "share/man/man1/nc.1${lib.optionalString (dontGzipMan==null) ".gz"}" "$nc"
+      moveToOutput "share/man/man1/nc.1.gz" "$nc"
     '';
 
-    dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
-
     meta = with lib; {
       description = "Free TLS/SSL implementation";
       homepage    = "https://www.libressl.org";
@@ -90,4 +88,9 @@ in {
     version = "3.4.3";
     sha256 = "sha256-/4i//jVIGLPM9UXjyv5FTFAxx6dyFwdPUzJx1jw38I0=";
   };
+
+  libressl_3_5 = generic {
+    version = "3.5.2";
+    sha256 = "sha256-Vv6rjiHD+mVJ+LfXURZYuOmFGBYoOKeVMUcyZUrfPl8=";
+  };
 }
diff --git a/pkgs/development/libraries/libroxml/default.nix b/pkgs/development/libraries/libroxml/default.nix
index 71d78a8b8e590..647e4c188a050 100644
--- a/pkgs/development/libraries/libroxml/default.nix
+++ b/pkgs/development/libraries/libroxml/default.nix
@@ -10,10 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "https://www.libroxml.net/";
     description = "This library is minimum, easy-to-use, C implementation for xml file parsing";
+    homepage = "https://www.libroxml.net/";
     license = licenses.lgpl3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ mpickering ];
+    mainProgram = "roxml";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index b093544138417..a1dde0bdb794c 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -17,7 +17,7 @@
 , rust
 , cargo
 , gi-docgen
-, python3
+, python3Packages
 , gnome
 , vala
 , withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.54.0";
+  version = "2.54.1";
 
   outputs = [ "out" "dev" "installedTests" ] ++ lib.optionals withIntrospection [
     "devdoc"
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "uvjrwUfxRrQmG7PQzQ+slEv427Sx8jR9IzQfl03MMIU=";
+    sha256 = "1VV++9zEFaQYDhEWt/c2y3EbJT0RDZX6huyDD3ACZiU=";
   };
 
   cargoVendorDir = "vendor";
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     pkg-config
     rustc
     cargo
-    python3.pkgs.docutils
+    python3Packages.docutils
     vala
     rustPlatform.cargoSetupHook
   ] ++ lib.optionals withIntrospection [
@@ -125,7 +125,7 @@ stdenv.mkDerivation rec {
     mv $GDK_PIXBUF/loaders.cache.tmp $GDK_PIXBUF/loaders.cache
   '';
 
-  postFixup = ''
+  postFixup = lib.optionalString withIntrospection ''
     # Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
     moveToOutput "share/doc" "$devdoc"
   '';
@@ -146,6 +146,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Projects/LibRsvg";
     license = licenses.lgpl2Plus;
     maintainers = teams.gnome.members;
+    mainProgram = "rsvg-convert";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index a0248e774b7d4..0594e9e6e20bf 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = with lib; {
+    description = "Implementation of the rsync remote-delta algorithm";
     homepage = "http://librsync.sourceforge.net/";
     license = licenses.lgpl2Plus;
-    description = "Implementation of the rsync remote-delta algorithm";
+    mainProgram = "rdiff";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index d0e8bd163ddde..fbc8a026af593 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, getopt, util-linux, gperf, nix-update-script }:
+{ lib, stdenv, fetchurl, getopt, util-linuxMinimal, which, gperf, nix-update-script }:
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  checkInputs = [ util-linux ];
-  doCheck = false; # dependency cycle
+  checkInputs = [ util-linuxMinimal which ];
+  doCheck = true;
 
   # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference.
   preFixup = "rm -rfv src";
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 95e2c69e4c7ba..b04012cec28bc 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -110,6 +110,7 @@ stdenv.mkDerivation rec {
     description = "A library for storing and retrieving passwords and other secrets";
     homepage = "https://wiki.gnome.org/Projects/Libsecret";
     license = lib.licenses.lgpl21Plus;
+    mainProgram = "secret-tool";
     inherit (glib.meta) platforms maintainers;
   };
 }
diff --git a/pkgs/development/libraries/libshout/default.nix b/pkgs/development/libraries/libshout/default.nix
index e231fb0ed6eee..07025b26eea08 100644
--- a/pkgs/development/libraries/libshout/default.nix
+++ b/pkgs/development/libraries/libshout/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.icecast.org";
     license = lib.licenses.gpl2;
     maintainers = with lib.maintainers; [ jcumming ];
+    mainProgram = "shout";
     platforms = with lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index dbe108f586f42..a319de5ce6b25 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsndfile";
-  version = "1.0.31";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1alba3iv8i7i2jb5fd6q5s7j9bcj48sf28nfjd3qigz2n2is5jl2";
+    sha256 = "sha256-bhIXVSKuUnUzs5aaLDHt21RcnqekEpLU414sFtl2Lro=";
   };
 
   nativeBuildInputs = [ autoreconfHook autogen pkg-config python3 ];
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 2d50851e5832d..3dde703853580 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.21";
+  version  = "0.7.22";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "sha256-ka1HXVo0CFr0eqGTkatYq1jXE+9UgM0YTZNW1WtMLF0=";
+    sha256 = "sha256-rqWQJz3gZuhcNblyFWiYCC17miNY8F5xguAJwDk3xFE=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libssh2/1_10.nix b/pkgs/development/libraries/libssh2/1_10.nix
deleted file mode 100644
index edba7a84ef2b2..0000000000000
--- a/pkgs/development/libraries/libssh2/1_10.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ libssh2, fetchurl }:
-
-libssh2.overrideAttrs (attrs: rec {
-  version = "1.10.0";
-  src = fetchurl {
-    url = with attrs; "${meta.homepage}/download/${pname}-${version}.tar.gz";
-    sha256 = "sha256-LWTpDz3tOUuR06LndMogOkF59prr7gMAPlpvpiHkHVE=";
-  };
-  patches = [];
-})
diff --git a/pkgs/development/libraries/libstrophe/default.nix b/pkgs/development/libraries/libstrophe/default.nix
index a98099cfaec21..cddc563ccf049 100644
--- a/pkgs/development/libraries/libstrophe/default.nix
+++ b/pkgs/development/libraries/libstrophe/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libstrophe";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "strophe";
     repo = pname;
     rev = version;
-    sha256 = "sha256-xAqBxCYNo2IntnHKXY6CSJ+Yiu01lxQ1Q3gb0ioypSs=";
+    sha256 = "sha256-YJ8A97ECc3VxdGfhUu0YYijAamnrHCO6kr7TAIan96o=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
index 3be758c906f1a..9acbaa4790630 100644
--- a/pkgs/development/libraries/libu2f-host/default.nix
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -24,9 +24,10 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://developers.yubico.com/libu2f-host";
     description = "A C library and command-line tool that implements the host-side of the U2F protocol";
+    homepage = "https://developers.yubico.com/libu2f-host";
     license = with licenses; [ gpl3Plus lgpl21Plus ];
+    mainProgram = "u2f-host";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libubox/default.nix b/pkgs/development/libraries/libubox/default.nix
index 9261d1b81bacd..bb49ad4472cf4 100644
--- a/pkgs/development/libraries/libubox/default.nix
+++ b/pkgs/development/libraries/libubox/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation {
     description = "C utility functions for OpenWrt";
     homepage = "https://git.openwrt.org/?p=project/libubox.git;a=summary";
     license = licenses.isc;
-    platforms = platforms.all;
     maintainers = with maintainers; [ fpletz ];
+    mainProgram = "jshn";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 12f7f982c1df0..92b8a99c72d90 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://libuv.org/";
     changelog   = "https://github.com/libuv/libuv/blob/v${version}/ChangeLog";
     maintainers = with maintainers; [ cstrahan ];
-    platforms   = with platforms; linux ++ darwin;
+    platforms   = platforms.all;
     license     = with licenses; [ mit isc bsd2 bsd3 cc-by-40 ];
   };
 
diff --git a/pkgs/development/libraries/libvmaf/default.nix b/pkgs/development/libraries/libvmaf/default.nix
index a58f816e8afaf..e7add08871a6c 100644
--- a/pkgs/development/libraries/libvmaf/default.nix
+++ b/pkgs/development/libraries/libvmaf/default.nix
@@ -21,12 +21,13 @@ stdenv.mkDerivation rec {
   doCheck = false;
 
   meta = with lib; {
-    homepage = "https://github.com/Netflix/vmaf";
     description = "Perceptual video quality assessment based on multi-method fusion (VMAF)";
+    homepage = "https://github.com/Netflix/vmaf";
     changelog = "https://github.com/Netflix/vmaf/raw/v${version}/CHANGELOG.md";
-    platforms = platforms.unix;
     license = licenses.bsd2Patent;
     maintainers = [ maintainers.cfsmp3 maintainers.marsam ];
+    mainProgram = "vmaf";
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index 4333b4fbda495..da75d3a915045 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libtool
 , threadingSupport ? true # multi-threading
-, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp)
-, pngSupport ? true, libpng ? null # PNG image format
-, jpegSupport ? true, libjpeg ? null # JPEG image format
-, tiffSupport ? true, libtiff ? null # TIFF image format
-, gifSupport ? true, giflib ? null # GIF image format
+, openglSupport ? false, freeglut, libGL, libGLU # OpenGL (required for vwebp)
+, pngSupport ? true, libpng # PNG image format
+, jpegSupport ? true, libjpeg # JPEG image format
+, tiffSupport ? true, libtiff # TIFF image format
+, gifSupport ? true, giflib # GIF image format
 #, wicSupport ? true # Windows Imaging Component
 , alignedSupport ? false # Force aligned memory operations
 , swap16bitcspSupport ? false # Byte swap for 16bit color spaces
@@ -14,12 +14,6 @@
 , libwebpdecoderSupport ? true # Build libwebpdecoder
 }:
 
-assert openglSupport -> freeglut != null && libGL != null && libGLU != null;
-assert pngSupport -> (libpng != null);
-assert jpegSupport -> (libjpeg != null);
-assert tiffSupport -> (libtiff != null);
-assert gifSupport -> (giflib != null);
-
 let
   mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
 in
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index e0ee94faf0d48..82f5614458f0b 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -32,13 +32,12 @@ let
       "-DLWS_WITH_PLUGINS=ON"
       "-DLWS_WITH_IPV6=ON"
       "-DLWS_WITH_SOCKS5=ON"
+      "-DDISABLE_WERROR=ON"
       # Required since v4.2.0
       "-DLWS_BUILD_HASH=no_hash"
     ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "-DLWS_WITHOUT_TESTAPPS=ON"
       ++ lib.optional withExternalPoll "-DLWS_WITH_EXTERNAL_POLL=ON";
 
-    NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isGNU "-Wno-error=unused-but-set-variable";
-
     postInstall = ''
       rm -r ${placeholder "out"}/share/libwebsockets-test-server
     '';
@@ -63,21 +62,6 @@ let
   };
 
 in {
-  libwebsockets_3_1 = generic {
-    sha256 = "1w1wz6snf3cmcpa3f4dci2nz9za2f5rrylxl109id7bcb36xhbdl";
-    version = "3.1.0";
-  };
-
-  libwebsockets_3_2 = generic {
-    version = "3.2.2";
-    sha256 = "0m1kn4p167jv63zvwhsvmdn8azx3q7fkk8qc0fclwyps2scz6dna";
-  };
-
-  libwebsockets_4_2 = generic {
-    version = "4.2.1";
-    sha256 = "sha256-C+WGfNF4tAgbp/7aRraBgjNOe4I5ihm+8CGelXzfxbU=";
-  };
-
   libwebsockets_4_3 = generic {
     version = "4.3.1";
     sha256 = "sha256-lB3JHh058cQc5rycLnHk3JAOgtku0nRCixN5U6lPKq8=";
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 7bcc62af6ec8b..5c632009beef0 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
     changelog = "https://github.com/xkbcommon/libxkbcommon/blob/xkbcommon-${version}/NEWS";
     license = licenses.mit;
     maintainers = with maintainers; [ primeos ttuegel ];
+    mainProgram = "xkbcli";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
index 539fca7456ba1..6578a86e35b1b 100644
--- a/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
+++ b/pkgs/development/libraries/libxkbcommon/libxkbcommon_7.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     homepage = "https://xkbcommon.org";
     license = licenses.mit;
     maintainers = with maintainers; [ ttuegel ];
+    mainProgram = "xkbcli";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 43c96027d08bd..8ba48e15f2260 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     description = "Extract Cell Data From Excel xls files";
     homepage = "https://github.com/libxls/libxls";
     license = licenses.bsd2;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
+    mainProgram = "xls2csv";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 3b7cae36a0ee5..f0b4d0baf4fb3 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libxml2";
-  version = "2.9.13";
+  version = "2.9.14";
 
   outputs = [ "bin" "dev" "out" "man" "doc" ]
     ++ lib.optional pythonSupport "py"
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "J2EwYC0S/khOzANEfuXnWdBGVVj7yda9FE43RTBuvw4=";
+    sha256 = "1vnzk33wfms348lgz9pvkq9li7jm44pvm73lbr3w1khwgljlmmv0";
   };
 
   patches = [
@@ -124,7 +124,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://xmlsoft.org/";
+    homepage = "https://gitlab.gnome.org/GNOME/libxml2";
     description = "XML parsing library for C";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index ac4dd74923374..a8ed68b088bd5 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    homepage = "http://xmlsoft.org/XSLT/";
+    homepage = "https://gitlab.gnome.org/GNOME/libxslt";
     description = "A C library and tools to do XSL transformations";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix
index cedc24909bcae..8cc4ad06e356b 100644
--- a/pkgs/development/libraries/libyang/default.nix
+++ b/pkgs/development/libraries/libyang/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libyang";
-  version = "2.0.164";
+  version = "2.0.194";
 
   src = fetchFromGitHub {
     owner = "CESNET";
     repo = "libyang";
     rev = "v${version}";
-    sha256 = "sha256-0Ou0j9KaNkX/SFmid+wphvtu3wDTXkw+8xdck6lEE3w=";
+    sha256 = "sha256-5dgSBXJIeGXT+jGqT2MFqtsEFcIn+ULjybnyXz+95Gk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libykneomgr/default.nix b/pkgs/development/libraries/libykneomgr/default.nix
index 7f314410667f9..d0fc1cfd9fbd1 100644
--- a/pkgs/development/libraries/libykneomgr/default.nix
+++ b/pkgs/development/libraries/libykneomgr/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://developers.yubico.com/libykneomgr";
     description = "A C library to interact with the CCID-part of the Yubikey NEO";
+    homepage = "https://developers.yubico.com/libykneomgr";
     license = licenses.bsd3;
+    mainProgram = "ykneomgr";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/lime/default.nix b/pkgs/development/libraries/lime/default.nix
index 1d6a94a828a08..38dd0d04e6723 100644
--- a/pkgs/development/libraries/lime/default.nix
+++ b/pkgs/development/libraries/lime/default.nix
@@ -5,7 +5,6 @@
 , lib
 , bc-soci
 , sqlite
-, boost
 , stdenv
 }:
 
@@ -31,12 +30,13 @@ stdenv.mkDerivation rec {
     bc-soci
 
     sqlite
-    boost
   ];
   nativeBuildInputs = [ cmake ];
 
-  # Do not build static libraries
-  cmakeFlags = [ "-DENABLE_STATIC=NO" ];
+  cmakeFlags = [
+    "-DENABLE_STATIC=NO" # Do not build static libraries
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
+  ];
 
   meta = with lib; {
     description = "End-to-end encryption library for instant messaging. Part of the Linphone project.";
diff --git a/pkgs/development/libraries/lmdb/bin-ext.patch b/pkgs/development/libraries/lmdb/bin-ext.patch
new file mode 100644
index 0000000000000..2d5af99772c0e
--- /dev/null
+++ b/pkgs/development/libraries/lmdb/bin-ext.patch
@@ -0,0 +1,21 @@
+diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
+index 612484e..2e6b562 100644
+--- a/libraries/liblmdb/Makefile
++++ b/libraries/liblmdb/Makefile
+@@ -27,6 +27,7 @@ CFLAGS	= $(THREADS) $(OPT) $(W) $(XCFLAGS)
+ LDLIBS	=
+ SOLIBS	=
+ SOEXT	= .so
++BINEXT  =
+ prefix	= /usr/local
+ exec_prefix = $(prefix)
+ bindir = $(exec_prefix)/bin
+@@ -49,7 +50,7 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
+ 	mkdir -p $(DESTDIR)$(libdir)
+ 	mkdir -p $(DESTDIR)$(includedir)
+ 	mkdir -p $(DESTDIR)$(mandir)/man1
+-	for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
++	for f in $(IPROGS); do cp $$f$(BINEXT) $(DESTDIR)$(bindir); done
+ 	for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
+ 	for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
+ 	for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done
diff --git a/pkgs/development/libraries/lmdb/default.nix b/pkgs/development/libraries/lmdb/default.nix
index 0a3515db26225..a8b5da5b56da4 100644
--- a/pkgs/development/libraries/lmdb/default.nix
+++ b/pkgs/development/libraries/lmdb/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab }:
+{ lib, stdenv, fetchFromGitLab, windows }:
 
 stdenv.mkDerivation rec {
   pname = "lmdb";
@@ -14,17 +14,20 @@ stdenv.mkDerivation rec {
 
   postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
 
-  patches = [ ./hardcoded-compiler.patch ];
+  patches = [ ./hardcoded-compiler.patch ./bin-ext.patch ];
   patchFlags = [ "-p3" ];
 
   outputs = [ "bin" "out" "dev" ];
 
+  buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
+
   makeFlags = [
     "prefix=$(out)"
     "CC=${stdenv.cc.targetPrefix}cc"
     "AR=${stdenv.cc.targetPrefix}ar"
   ]
-    ++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so";
+    ++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so"
+    ++ lib.optionals stdenv.hostPlatform.isWindows [ "SOEXT=.dll" "BINEXT=.exe" ];
 
   doCheck = true;
   checkTarget = "test";
diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix
index ef55541ed777c..96be84ee2a7e9 100644
--- a/pkgs/development/libraries/lucene++/default.nix
+++ b/pkgs/development/libraries/lucene++/default.nix
@@ -14,13 +14,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ boost gtest zlib ];
 
-  doCheck = true;
-
   postPatch = ''
-     substituteInPlace src/test/CMakeLists.txt \
-            --replace "add_subdirectory(gtest)" ""
+    substituteInPlace src/test/CMakeLists.txt \
+      --replace "add_subdirectory(gtest)" ""
   '';
 
+  doCheck = true;
+
   checkPhase = ''
     runHook preCheck
     LD_LIBRARY_PATH=$PWD/src/contrib:$PWD/src/core \
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mv $out/include/pkgconfig $out/lib/
+    cp $src/src/contrib/include/*h $out/include/lucene++/
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
index 7a227e57560d1..1805de0264cea 100644
--- a/pkgs/development/libraries/matio/default.nix
+++ b/pkgs/development/libraries/matio/default.nix
@@ -9,9 +9,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A C library for reading and writing Matlab MAT files";
+    homepage = "http://matio.sourceforge.net/";
     license = licenses.bsd2;
-    platforms = platforms.all;
     maintainers = [ maintainers.vbgl ];
-    homepage = "http://matio.sourceforge.net/";
+    mainProgram = "matdump";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/mauikit-accounts/default.nix b/pkgs/development/libraries/mauikit-accounts/default.nix
new file mode 100644
index 0000000000000..a102bd7f36a2e
--- /dev/null
+++ b/pkgs/development/libraries/mauikit-accounts/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, kconfig
+, kio
+, mauikit
+}:
+
+mkDerivation rec {
+  pname = "mauikit-accounts";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "mauikit-accounts";
+    rev = "v${version}";
+    sha256 = "sha256-B0VmgE0L8kBOqR/lrWCHO3psCQ7GZVPIGljGAwpuymE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kconfig
+    kio
+    mauikit
+  ];
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/maui/mauikit-accounts";
+    description = "MauiKit utilities to handle User Accounts";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/libraries/mauikit-texteditor/default.nix b/pkgs/development/libraries/mauikit-texteditor/default.nix
new file mode 100644
index 0000000000000..a405fd851bd74
--- /dev/null
+++ b/pkgs/development/libraries/mauikit-texteditor/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, kconfig
+, kio
+, mauikit
+, syntax-highlighting
+}:
+
+mkDerivation rec {
+  pname = "mauikit-texteditor";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "mauikit-texteditor";
+    rev = "v${version}";
+    sha256 = "sha256-C0EOc0CE6Ef7vnmOKRqTzeJUamGXsvREpHRPGTcAaIc=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kconfig
+    kio
+    mauikit
+    syntax-highlighting
+  ];
+
+  meta = with lib; {
+    homepage = "https://invent.kde.org/maui/mauikit-texteditor";
+    description = "MauiKit Text Editor components";
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/libraries/md4c/default.nix b/pkgs/development/libraries/md4c/default.nix
index 2ad77b2d2fd83..6504d99af3e93 100644
--- a/pkgs/development/libraries/md4c/default.nix
+++ b/pkgs/development/libraries/md4c/default.nix
@@ -29,7 +29,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/mity/md4c";
     description = "Markdown parser made in C";
     longDescription = ''
       MD4C is Markdown parser implementation in C, with the following features:
@@ -58,8 +57,10 @@ stdenv.mkDerivation rec {
         "Unicode"). See more details below.
       - Permissive license: MD4C is available under the MIT license.
     '';
+    homepage = "https://github.com/mity/md4c";
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "md2html";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 2d9c559bcba83..bb5bc566bc1d6 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,33 +1,21 @@
-{ alsa-lib
-, bctoolbox
+{ bctoolbox
 , bzrtp
 , cmake
-, doxygen
 , fetchFromGitLab
 , ffmpeg
 , glew
 , gsm
-, intltool
 , lib
-, libGL
-, libGLU
 , libX11
 , libXext
-, libXv
-, libmatroska
 , libopus
-, libpcap
 , libpulseaudio
-, libtheora
-, libupnp
 , libv4l
 , libvpx
 , ortp
-, pkg-config
 , python3
 , qtbase
 , qtdeclarative
-, SDL
 , speex
 , srtp
 , stdenv
@@ -59,9 +47,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    doxygen
-    intltool
-    pkg-config
     python3
     qtbase
     qtdeclarative
@@ -73,28 +58,19 @@ stdenv.mkDerivation rec {
     bzrtp
     ortp
 
-    # Vendored by BC but we use upstream, might cause problems
-    libmatroska
-
-    alsa-lib
     ffmpeg
     glew
-    gsm
-    libGL
-    libGLU
     libX11
     libXext
-    libXv
-    libopus
-    libpcap
     libpulseaudio
-    libtheora
-    libupnp
     libv4l
-    libvpx
-    SDL
     speex
     srtp
+
+    # Optional
+    gsm  # GSM audio codec
+    libopus  # Opus audio codec
+    libvpx  # VP8 video codec
   ];
 
   strictDeps = true;
@@ -104,6 +80,7 @@ stdenv.mkDerivation rec {
     "-DENABLE_QT_GL=ON" # Build necessary MSQOGL plugin for Linphone desktop
     "-DCMAKE_C_FLAGS=-DGIT_VERSION=\"v${version}\""
     "-DENABLE_STRICT=NO" # Disable -Werror
+    "-DENABLE_UNIT_TESTS=NO" # Do not build test executables
   ];
 
   NIX_LDFLAGS = "-lXext";
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 17f537b4d8734..83a96175cba55 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-AqZ7tsNZw2Djgyo1JBJbT/c3eQVyEn6r3CT6DQLD/B8=";
   };
 
-  nativeBuildInputs = [ autoreconfHook cmake pkg-config ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [ mediastreamer openh264 ];
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/microsoft_gsl/default.nix b/pkgs/development/libraries/microsoft_gsl/default.nix
index 187508a998188..35765ff2d43f6 100644
--- a/pkgs/development/libraries/microsoft_gsl/default.nix
+++ b/pkgs/development/libraries/microsoft_gsl/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , cmake
 , gtest
-, fetchurl
+, fetchpatch
 , pkg-config
 }:
 
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
 
   patches = [
     # Search for GoogleTest via pkg-config first, ref: https://github.com/NixOS/nixpkgs/pull/130525
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/microsoft/GSL/commit/f5cf01083baf7e8dc8318db3648bc6098dc32d67.patch";
-      sha256 = "sha256-uouv35crtly8kYhKyvMyZkqwTKt1jXC6dZjw4sQ6uv0=";
+      sha256 = "sha256-HJxG87nVFo1CGNivCqt/JhjTj2xLzQe8bF5Km7/KG+Y=";
     })
   ];
 
diff --git a/pkgs/development/libraries/mongoc/default.nix b/pkgs/development/libraries/mongoc/default.nix
index e9779cf0a054f..8b5753b3aca99 100644
--- a/pkgs/development/libraries/mongoc/default.nix
+++ b/pkgs/development/libraries/mongoc/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "The official C client library for MongoDB";
-    homepage = "https://github.com/mongodb/mongo-c-driver";
+    homepage = "http://mongoc.org";
     license = licenses.asl20;
+    mainProgram = "mongoc-stat";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
index 49a93abd7fb07..2bc86edef70ac 100644
--- a/pkgs/development/libraries/nanomsg/default.nix
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     description= "Socket library that provides several common communication patterns";
     homepage = "https://nanomsg.org/";
     license = licenses.mit;
+    mainProgram = "nanocat";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index 2e8a997299f1b..b798320c69135 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.ntop.org/products/deep-packet-inspection/ndpi/";
     license = with licenses; [ lgpl3Plus bsd3 ];
     maintainers = with maintainers; [ takikawa ];
+    mainProgram = "ndpiReader";
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 01df15c0a831e..ca8cb6418190a 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -6,15 +6,15 @@
 
 # Optional dependencies
 , enableApp ? with stdenv.hostPlatform; !isWindows && !isStatic
-, c-ares ? null, libev ? null, openssl ? null, zlib ? null
-, enableAsioLib ? false, boost ? null
-, enableGetAssets ? false, libxml2 ? null
-, enableHpack ? false, jansson ? null
-, enableJemalloc ? false, jemalloc ? null
-, enablePython ? false, python ? null, cython ? null, ncurses ? null, setuptools ? null
+, c-ares, libev, openssl, zlib
+, enableAsioLib ? false, boost
+, enableGetAssets ? false, libxml2
+, enableHpack ? false, jansson
+, enableJemalloc ? false, jemalloc
+, enablePython ? false, python3Packages, ncurses
 
 # Unit tests ; we have to set TZDIR, which is a GNUism.
-, enableTests ? stdenv.hostPlatform.isGnu, cunit ? null, tzdata ? null
+, enableTests ? stdenv.hostPlatform.isGnu, cunit, tzdata
 
 # downstream dependencies, for testing
 , curl
@@ -25,13 +25,9 @@
 # All mutable patches (generated by GitHub or cgit) that are needed here
 # should be included directly in Nixpkgs as files.
 
-assert enableApp -> c-ares != null && libev != null && openssl != null && zlib != null;
-assert enableAsioLib -> boost != null;
-assert enableGetAssets -> enableApp == true && libxml2 != null;
-assert enableHpack -> enableApp == true && jansson != null;
-assert enableJemalloc -> enableApp == true && jemalloc != null;
-assert enablePython -> python != null && cython != null && ncurses != null && setuptools != null;
-assert enableTests -> cunit != null && tzdata != null;
+assert enableGetAssets -> enableApp;
+assert enableHpack -> enableApp;
+assert enableJemalloc -> enableApp;
 
 stdenv.mkDerivation rec {
   pname = "nghttp2";
@@ -47,14 +43,14 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (enableApp) [ installShellFiles ]
-    ++ lib.optionals (enablePython) [ cython ];
+    ++ lib.optionals (enablePython) [ python3Packages.cython ];
 
   buildInputs = lib.optionals enableApp [ c-ares libev openssl zlib ]
     ++ lib.optionals (enableAsioLib) [ boost ]
     ++ lib.optionals (enableGetAssets) [ libxml2 ]
     ++ lib.optionals (enableHpack) [ jansson ]
     ++ lib.optionals (enableJemalloc) [ jemalloc ]
-    ++ lib.optionals (enablePython) [ python ncurses setuptools ];
+    ++ lib.optionals (enablePython) [ python3Packages.python ncurses python3Packages.setuptools ];
 
   enableParallelBuilding = true;
 
@@ -62,7 +58,7 @@ stdenv.mkDerivation rec {
     "--disable-examples"
     (lib.enableFeature enableApp "app")
   ] ++ lib.optionals (enableAsioLib) [ "--enable-asio-lib" "--with-boost-libdir=${boost}/lib" ]
-    ++ lib.optionals (enablePython) [ "--with-cython=${cython}/bin/cython" ];
+    ++ lib.optionals (enablePython) [ "--with-cython=${python3Packages.cython}/bin/cython" ];
 
   # Unit tests require CUnit and setting TZDIR environment variable
   doCheck = enableTests;
@@ -72,13 +68,13 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = lib.optionalString (enablePython) ''
-    mkdir -p $out/${python.sitePackages}
+    mkdir -p $out/${python3Packages.python.sitePackages}
     # convince installer it's ok to install here
-    export PYTHONPATH="$PYTHONPATH:$out/${python.sitePackages}"
+    export PYTHONPATH="$PYTHONPATH:$out/${python3Packages.python.sitePackages}"
   '';
   postInstall = lib.optionalString (enablePython) ''
-    mkdir -p $python/${python.sitePackages}
-    mv $out/${python.sitePackages}/* $python/${python.sitePackages}
+    mkdir -p $python/${python3Packages.python.sitePackages}
+    mv $out/${python3Packages.python.sitePackages}/* $python/${python3Packages.python.sitePackages}
     rm -r $out/lib
   '' + lib.optionalString (enableApp) ''
     installShellCompletion --bash doc/bash_completion/{h2load,nghttp,nghttpd,nghttpx}
diff --git a/pkgs/development/libraries/nuspell/wrapper.nix b/pkgs/development/libraries/nuspell/wrapper.nix
index ab09931579c78..64108c33b7c1b 100644
--- a/pkgs/development/libraries/nuspell/wrapper.nix
+++ b/pkgs/development/libraries/nuspell/wrapper.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   name = (appendToName "with-dicts" nuspell).name;
   nativeBuildInputs = [ makeWrapper ];
   buildCommand = ''
-    makeWrapper ${nuspell}/bin/nuspell $out/bin/nuspell --prefix DICPATH : ${searchPath}
+    makeWrapper ${nuspell}/bin/nuspell $out/bin/nuspell --prefix DICPATH : ${lib.escapeShellArg searchPath}
   '';
   meta = removeAttrs nuspell.meta ["outputsToInstall"];
 }
diff --git a/pkgs/development/libraries/openbr/default.nix b/pkgs/development/libraries/openbr/default.nix
deleted file mode 100644
index 8e56e250ac405..0000000000000
--- a/pkgs/development/libraries/openbr/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, opencv, qtbase, qtsvg }:
-
-stdenv.mkDerivation {
-
-  version = "0.5";
-  pname = "openbr";
-
-  src = fetchFromGitHub {
-    owner = "biometrics";
-    repo = "openbr";
-    rev = "cc364a89a86698cd8d3052f42a3cb520c929b325";
-    sha256 = "12y00cf5dlzp9ciiwbihf6xhlkdxpydhscv5hwp83qjdllid9rrz";
-  };
-
-  buildInputs = [ opencv qtbase qtsvg ];
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = {
-    description = "Open Source Biometric Recognition";
-    homepage = "http://openbiometrics.org/";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [flosse];
-    platforms = with lib.platforms; linux;
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/opencl-clang/default.nix b/pkgs/development/libraries/opencl-clang/default.nix
index 243dfa44d5b37..f4897331c938d 100644
--- a/pkgs/development/libraries/opencl-clang/default.nix
+++ b/pkgs/development/libraries/opencl-clang/default.nix
@@ -67,15 +67,15 @@ let
   in
     stdenv.mkDerivation rec {
       pname = "opencl-clang";
-      version = "unstable-2021-06-22";
+      version = "unstable-2022-03-16";
 
       inherit passthru;
 
       src = fetchFromGitHub {
         owner = "intel";
         repo = "opencl-clang";
-        rev = "fd68f64b33e67d58f6c36b9e25c31c1178a1962a";
-        sha256 = "sha256-q1YPBb/LY67iEuQx1fMUQD/I7OsNfobW3yNfJxLXx3E=";
+        rev = "bbdd1587f577397a105c900be114b56755d1f7dc";
+        sha256 = "sha256-qEZoQ6h4XAvSnJ7/gLXBb1qrzeYa6Jp6nij9VFo8MwQ=";
       };
 
       patches = [
diff --git a/pkgs/development/libraries/opengrm-ngram/default.nix b/pkgs/development/libraries/opengrm-ngram/default.nix
index 06f2e3542bba4..b84e4159f3e73 100644
--- a/pkgs/development/libraries/opengrm-ngram/default.nix
+++ b/pkgs/development/libraries/opengrm-ngram/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "opengrm-ngram";
-  version = "1.3.13";
+  version = "1.3.14";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/GRM/NGramDownload/ngram-${version}.tar.gz";
-    sha256 = "sha256-5CXf6OXs7owny3yZQrWYA6yhIyN0dgA2B8TSDEUTF1Q=";
+    sha256 = "sha256-ivMPDy6CPM17hWCToLOVzUgcWZiEt2pjYeizeBLYnYc=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 8182a01cd52d6..26a89fe47a413 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -178,8 +178,8 @@ in {
 
 
   openssl_1_1 = common rec {
-    version = "1.1.1n";
-    sha256 = "sha256-QNzrUaT2pSdb3g5r8g70uRv8Mu1XwFUuLo4VRjNysXo=";
+    version = "1.1.1o";
+    sha256 = "sha256-k4SisFcN2ANYhBRkZ3EV33he25QccSEfdQdtcv5rQ48=";
     patches = [
       ./1.1/nix-ssl-cert-file.patch
 
@@ -193,8 +193,8 @@ in {
   };
 
   openssl_3_0 = common {
-    version = "3.0.2";
-    sha256 = "sha256-mOkczq1NR1auPJzeXgkZGo5YbZ9NUIOOfsCdZBHf22M=";
+    version = "3.0.3";
+    sha256 = "sha256-7gB4rc7x3l8APGLIDMllJ3IWCcbzu0K3eV3zH4tVjAs=";
     patches = [
       ./3.0/nix-ssl-cert-file.patch
 
diff --git a/pkgs/development/libraries/pe-parse/default.nix b/pkgs/development/libraries/pe-parse/default.nix
index 445188bd0d9bc..c8689d15e24bd 100644
--- a/pkgs/development/libraries/pe-parse/default.nix
+++ b/pkgs/development/libraries/pe-parse/default.nix
@@ -2,27 +2,31 @@
 
 stdenv.mkDerivation rec {
   pname = "pe-parse";
-  version = "1.2.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "pe-parse";
     rev = "v${version}";
-    sha256 = "1jvfjaiwddczjlx4xdhpbgwvvpycab7ix35lwp3wfy44hs6qpjqv";
+    hash = "sha256-HwWlMRhpB/sa/JRyAZF7LZzkXCCyuxB+gtDAfHt7e6k=";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  # See https://github.com/trailofbits/pe-parse/issues/169
+  NIX_CFLAGS_COMPILE = "-Wno-sign-conversion";
+
   doInstallCheck = true;
   installCheckPhase = ''
-    $out/bin/dump-pe ../test/assets/example.exe
+    $out/bin/dump-pe ../tests/assets/example.exe
   '';
 
   meta = with lib; {
     description = "A principled, lightweight parser for Windows portable executable files";
     homepage = "https://github.com/trailofbits/pe-parse";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ arturcygan ];
+    mainProgram = "dump-pe";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/pico-sdk/default.nix b/pkgs/development/libraries/pico-sdk/default.nix
index eb98c2f9ef6bc..1b58253edc01e 100644
--- a/pkgs/development/libraries/pico-sdk/default.nix
+++ b/pkgs/development/libraries/pico-sdk/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/raspberrypi/picotool";
     description = "SDK provides the headers, libraries and build system necessary to write programs for the RP2040-based devices";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ musfay ];
+    maintainers = with maintainers; [ muscaln ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index da594346c297c..96d8c9c205297 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -2,7 +2,6 @@
 , lib
 , buildPackages
 , fetchFromGitLab
-, fetchpatch
 , removeReferencesTo
 , python3
 , meson
@@ -68,7 +67,7 @@ let
 
   self = stdenv.mkDerivation rec {
     pname = "pipewire";
-    version = "0.3.49";
+    version = "0.3.51";
 
     outputs = [
       "out"
@@ -86,7 +85,7 @@ let
       owner = "pipewire";
       repo = "pipewire";
       rev = version;
-      sha256 = "sha256-8heX/9BsPguIOzHOuqEQdt6MS3eS4HxR4A+FUZKNpdo=";
+      sha256 = "sha256-k5OdKgkQUaelvrGS4KtO0MtSJg6cF2Nf8RrsR8Kf+C8=";
     };
 
     patches = [
@@ -102,12 +101,6 @@ let
       ./0090-pipewire-config-template-paths.patch
       # Place SPA data files in lib output to avoid dependency cycles
       ./0095-spa-data-dir.patch
-      # Fixes missing function declarations in pipewire headers
-      # Should be removed after the next release
-      (fetchpatch {
-        url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a2e98e28c1e6fb58b273ef582398d8bee4d2b769.patch";
-        sha256 = "sha256-tqiiAW2fTEp23HT59XR2D/G08pVENJtpxUI7UVufj/A=";
-      })
     ];
 
     nativeBuildInputs = [
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index 7b9759f553bc3..f7b26d2809ad0 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -26,7 +26,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wireplumber";
-  version = "0.4.9";
+  version = "0.4.10";
 
   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "wireplumber";
     rev = version;
-    sha256 = "sha256-U92ozuEUFJA416qKnalVowJuBjLRdORHfhmznGf1IFU=";
+    sha256 = "sha256-Z5Uqjw05SdEU9bGLuhdS+hDv7Fgqx4oW92k4AG1p3Ug=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 5547e492a65be..3e22483eb07f5 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -35,13 +35,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "poppler-${suffix}";
-  version = "22.03.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too!
+  version = "22.04.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-cox4upTXWlX2tjVdT72qb0mTTZYWvljl5nmpz9CYDh4=";
+    sha256 = "sha256-gT+0uQ572mPfUyBcVIYCuucoiHpg9ASKrk29mxkn3v8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
index ba35a55d9207b..e700a5f9f11b2 100644
--- a/pkgs/development/libraries/precice/default.nix
+++ b/pkgs/development/libraries/precice/default.nix
@@ -25,10 +25,11 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "preCICE stands for Precise Code Interaction Coupling Environment";
-    license = with lib.licenses; [ gpl3 ];
     homepage = "https://precice.org/";
-    platforms = lib.platforms.unix;
+    license = with lib.licenses; [ gpl3 ];
     maintainers = with lib.maintainers; [ Scriptkiddi ];
+    mainProgram = "binprecice";
+    platforms = lib.platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/presage/default.nix b/pkgs/development/libraries/presage/default.nix
index df15e73f73cf9..5f03a425dcc0c 100644
--- a/pkgs/development/libraries/presage/default.nix
+++ b/pkgs/development/libraries/presage/default.nix
@@ -30,6 +30,12 @@ stdenv.mkDerivation rec {
       sha256 = "0243nx1ygggmsly7057vndb4pkjxg9rpay5gyqqrq9jjzjzh63dj";
     })
     ./fixed-cppunit-detection.patch
+    # fix gcc11 build
+    (fetchpatch {
+      name = "presage-0.9.1-gcc11.patch";
+      url = "https://build.opensuse.org/public/source/openSUSE:Factory/presage/presage-0.9.1-gcc11.patch?rev=3f8b4b19c99276296d6ea595cc6c431f";
+      sha256 = "sha256-pLrIFXvJHRvv4x9gBIfal4Y68lByDE3XE2NZNiAXe9k=";
+    })
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/proj-datumgrid/default.nix b/pkgs/development/libraries/proj-datumgrid/default.nix
index 8251a17a83c6e..2593c04fa158c 100644
--- a/pkgs/development/libraries/proj-datumgrid/default.nix
+++ b/pkgs/development/libraries/proj-datumgrid/default.nix
@@ -26,7 +26,8 @@ stdenv.mkDerivation rec {
     description = "Repository for proj datum grids";
     homepage = "https://proj4.org";
     license = licenses.mit;
-    platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ ];
+    mainProgram = "nad2bin";
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/protobuf/3.1.nix b/pkgs/development/libraries/protobuf/3.1.nix
deleted file mode 100644
index 91ef87512c84d..0000000000000
--- a/pkgs/development/libraries/protobuf/3.1.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.1.0";
-  sha256 = "0qlvpsmqgh9nw0k4zrxlxf75pafi3p0ahz99v6761b903y8qyv4i";
-}
diff --git a/pkgs/development/libraries/protobuf/3.10.nix b/pkgs/development/libraries/protobuf/3.10.nix
deleted file mode 100644
index 5ecb8e67f8416..0000000000000
--- a/pkgs/development/libraries/protobuf/3.10.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.10.1";
-  sha256 = "1kbi2i1m5c7ss02ip8h0bdzvns4dgxx30a5c0iiph8g2ns02lr33";
-}
diff --git a/pkgs/development/libraries/protobuf/3.12.nix b/pkgs/development/libraries/protobuf/3.12.nix
deleted file mode 100644
index 6ea64a023800d..0000000000000
--- a/pkgs/development/libraries/protobuf/3.12.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.12.4";
-  sha256 = "1gzvnd0g5hmx5ln39w7p4z4qphw87ksgsa1fgbpvi8d0asmwab2p";
-}
diff --git a/pkgs/development/libraries/protobuf/3.13.nix b/pkgs/development/libraries/protobuf/3.13.nix
deleted file mode 100644
index 8499ac069e84f..0000000000000
--- a/pkgs/development/libraries/protobuf/3.13.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.13.0.1";
-  sha256 = "1r3hvbvjjww6pdk0mlg1lym7avxn8851xm8dg98bf4zq4vyrcw12";
-}
diff --git a/pkgs/development/libraries/protobuf/3.14.nix b/pkgs/development/libraries/protobuf/3.14.nix
deleted file mode 100644
index 82896b0dadee6..0000000000000
--- a/pkgs/development/libraries/protobuf/3.14.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.14.0";
-  sha256 = "1k4kkb78kdbz732wsph07v3zy3cz7l1msk2byrfvp0nb02sfl3a4";
-}
diff --git a/pkgs/development/libraries/protobuf/3.15.nix b/pkgs/development/libraries/protobuf/3.15.nix
deleted file mode 100644
index e4783be6a3519..0000000000000
--- a/pkgs/development/libraries/protobuf/3.15.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.15.8";
-  sha256 = "1q3k8axhq6g8fqczmd6kbgzpdplrrgygppym4x1l99lzhplx9rqv";
-}
diff --git a/pkgs/development/libraries/protobuf/3.16.nix b/pkgs/development/libraries/protobuf/3.16.nix
deleted file mode 100644
index fdbbed733d857..0000000000000
--- a/pkgs/development/libraries/protobuf/3.16.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.16.1";
-  sha256 = "sha256-eOwUyZtrmyh3HwLQ1kLnk+briaXQPrlUqtbFol/nGBo=";
-}
diff --git a/pkgs/development/libraries/protobuf/3.18.nix b/pkgs/development/libraries/protobuf/3.18.nix
deleted file mode 100644
index 0d5d2c652cba6..0000000000000
--- a/pkgs/development/libraries/protobuf/3.18.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.18.2";
-  sha256 = "sha256-IXxVTZOAKVMuGCJtD32rVQRBJRWUJMEK2d+fPEmgzRU=";
-}
diff --git a/pkgs/development/libraries/protobuf/3.19.nix b/pkgs/development/libraries/protobuf/3.19.nix
index 7e2be4bec04c0..e47bb62e736ac 100644
--- a/pkgs/development/libraries/protobuf/3.19.nix
+++ b/pkgs/development/libraries/protobuf/3.19.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.19.3";
-  sha256 = "sha256-nA6L064MuyP5Si4MCLk2yg8PDM7RWggFEGQyibputYQ=";
+  version = "3.19.4";
+  sha256 = "sha256-mxQ8XonVgctfaNAyd3vqQHMLHVnkjBa9EObk47vxH24=";
 }
diff --git a/pkgs/development/libraries/protobuf/3.6.nix b/pkgs/development/libraries/protobuf/3.6.nix
deleted file mode 100644
index 16decc44e8470..0000000000000
--- a/pkgs/development/libraries/protobuf/3.6.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.6.1.3";
-  sha256 = "1spj0d4flx6h3phxx3sg9r00yv734hina3365avkcz9brnm089c1";
-}
diff --git a/pkgs/development/libraries/protobuf/3.9.nix b/pkgs/development/libraries/protobuf/3.9.nix
deleted file mode 100644
index e74d5c527b1d7..0000000000000
--- a/pkgs/development/libraries/protobuf/3.9.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... }:
-
-callPackage ./generic-v3.nix {
-  version = "3.9.2";
-  sha256 = "080zxa9w1pxp5y05aiwc0c8mlqkkh98wmid4l7m99cliphsd4qnn";
-}
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 6867940d1f23c..130f681d84967 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -48,9 +48,10 @@ mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation {
         yet extensible format. Google uses Protocol Buffers for almost all of
         its internal RPC protocols and file formats.
       '';
+    homepage = "https://developers.google.com/protocol-buffers/";
     license = lib.licenses.bsd3;
+    mainProgram = "protoc";
     platforms = lib.platforms.unix;
-    homepage = "https://developers.google.com/protocol-buffers/";
   };
 
   passthru.version = version;
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index 4c8249abe87a8..6ad8e06b1456c 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -1,4 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, nix-update-script }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, nix-update-script
+
+# for passthru.tests
+, bazel
+, chromium
+, grpc
+, haskellPackages
+, mercurial
+, ninja
+, python3
+}:
 
 stdenv.mkDerivation rec {
   pname = "re2";
@@ -39,6 +52,16 @@ stdenv.mkDerivation rec {
     updateScript = nix-update-script {
       attrPath = pname;
     };
+    tests = {
+      inherit
+        chromium
+        grpc
+        mercurial;
+      inherit (python3.pkgs)
+        fb-re2
+        google-re2;
+      haskellPackages-re2 = haskellPackages.re2;
+    };
   };
 
   meta = {
diff --git a/pkgs/development/libraries/rnnoise/default.nix b/pkgs/development/libraries/rnnoise/default.nix
index ad587f0f58398..af4fcf30153c5 100644
--- a/pkgs/development/libraries/rnnoise/default.nix
+++ b/pkgs/development/libraries/rnnoise/default.nix
@@ -18,10 +18,11 @@ stdenv.mkDerivation (rec {
   '';
 
   meta = with lib; {
-    homepage = "https://people.xiph.org/~jm/demo/rnnoise/";
     description = "Recurrent neural network for audio noise reduction";
+    homepage = "https://people.xiph.org/~jm/demo/rnnoise/";
     license = licenses.bsd3;
     maintainers = [ maintainers.nh2 ];
+    mainProgram = "rnnoise_demo";
     platforms = platforms.all;
   };
 })
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index fb847b83fe958..8afb0d0441830 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
+, fetchpatch
 , writeScript
 , rocm-comgr
 }:
@@ -15,6 +16,16 @@ stdenv.mkDerivation rec {
     hash = "sha256-SFWEGKffhuiTE7ICbkElVV5cldXu4Xbwvjb6LiNmijA=";
   };
 
+  patches = [
+    # Enable support for gfx8 again
+    # See the upstream issue: https://github.com/RadeonOpenCompute/ROCm/issues/1659
+    # And the arch patch: https://github.com/rocm-arch/rocm-arch/pull/742
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/John-Gee/rocm-arch/d6812d308fee3caf2b6bb01b4d19fe03a6a0e3bd/rocm-opencl-runtime/enable-gfx800.patch";
+      hash = "sha256-59jFDIIsTTZcNns9RyMVWPRUggn/bSlAGrky4quu8B4=";
+    })
+  ];
+
   prePatch = ''
     substituteInPlace device/comgrctx.cpp \
       --replace "libamd_comgr.so" "${rocm-comgr}/lib/libamd_comgr.so"
diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
index 9c19638d3f406..26bf783f4486e 100644
--- a/pkgs/development/libraries/rocm-opencl-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
@@ -24,13 +24,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-opencl-runtime";
-  version = "5.0.2";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-OpenCL-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-ovYwElZGRKySH1mWFIISxuNNxCjaqoe9oCvqYZGdfq0=";
+    hash = "sha256-O7q3uTjspO/rZ2+8+g7pRfBXsCRaEr4DZxEqABHbOeY=";
   };
 
   nativeBuildInputs = [ cmake rocm-cmake ];
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DAMD_OPENCL_PATH=${src}"
     "-DROCCLR_PATH=${rocclr}"
+    "-DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rocm/opencl"
   ];
 
   dontStrip = true;
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/libraries/rocm-runtime/default.nix
index d16966d213089..9eb9218addafe 100644
--- a/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-runtime/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-runtime";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${version}";
-    hash = "sha256-MGm7YmnoFNk7VsxsbsUgSD9Y5r1OBm6Ycg3wXNme8EI=";
+    hash = "sha256-IP5ylfUXOFkw9+Frfh+tNaZ83ozAbOK9kO2AzFVzzWk=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/development/libraries/rubberband/default.nix b/pkgs/development/libraries/rubberband/default.nix
index 1e70d6e0dbedc..5cb5da3224fe1 100644
--- a/pkgs/development/libraries/rubberband/default.nix
+++ b/pkgs/development/libraries/rubberband/default.nix
@@ -1,16 +1,16 @@
 { lib, stdenv, fetchurl, pkg-config, libsamplerate, libsndfile, fftw
-, vamp-plugin-sdk, ladspaH }:
+, vamp-plugin-sdk, ladspaH, meson, ninja }:
 
 stdenv.mkDerivation rec {
   pname = "rubberband";
-  version = "1.9.0";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "https://breakfastquay.com/files/releases/${pname}-${version}.tar.bz2";
-    sha256 = "4f5b9509364ea876b4052fc390c079a3ad4ab63a2683aad09662fb905c2dc026";
+    sha256 = "sha256-uerAJ+eXeJrplhHJ6urxw6RMyAT5yKBEGg0dJvPWvfk=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config meson ninja ];
   buildInputs = [ libsamplerate libsndfile fftw vamp-plugin-sdk ladspaH ];
   makeFlags = [ "AR:=$(AR)" ];
 
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index e6e35f9b2c421..918626d04c9de 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.6";
+  version = "1.3.12";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-i1RbyHw+Fr1QABra6fskRpIbYxEfhOVToeesyax4NtU=";
+    sha256 = "1n1bak4s67cfizh8j5wpf05kfdcjvwqaca4rq9qys25z52bbpn9f";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
index 3be249531bbe3..e7e8dd04b071e 100644
--- a/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
+++ b/pkgs/development/libraries/science/astronomy/cfitsio/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./darwin-rpath-universal.patch ];
 
-  configureFlags = [ "--with-bzip2=${bzip2.out}" ];
+  configureFlags = [ "--with-bzip2=${bzip2.out}" "--enable-reentrant" ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index d93b4fb2a5a72..2e3f9dec31940 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -14,9 +14,25 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib bzip2 xz curl ];
 
-  configureFlags = [ "--enable-libcurl" ]; # optional but strongly recommended
+  configureFlags = if ! stdenv.hostPlatform.isStatic
+                    then [ "--enable-libcurl" ] # optional but strongly recommended
+                    else [ "--disable-libcurl" "--disable-plugins" ];
 
-  installFlags = [ "prefix=$(out)" ];
+
+  # In the case of static builds, we need to replace the build and install phases
+  buildPhase = lib.optional stdenv.hostPlatform.isStatic ''
+    make AR=$AR lib-static
+    make LDFLAGS=-static bgzip htsfile tabix
+  '';
+
+  installPhase = lib.optional stdenv.hostPlatform.isStatic ''
+    install -d $out/bin
+    install -d $out/lib
+    install -d $out/include/htslib
+    install -D libhts.a $out/lib
+    install  -m644 htslib/*h $out/include/htslib
+    install -D bgzip htsfile tabix $out/bin
+  '';
 
   preCheck = ''
     patchShebangs test/
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
deleted file mode 100644
index 9333d5cdfe89c..0000000000000
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ /dev/null
@@ -1,151 +0,0 @@
-{ stdenv, lib, config, fetchFromGitHub
-, cmake
-, glog, gflags, gtest
-, protobuf, snappy
-, python, future, six, python-protobuf, numpy, pydot
-, eigen
-, doxygen
-, useCuda ? (config.cudaSupport or false), cudaPackages ? {}
-, useCudnn ? (config.cudnnSupport or false)
-, useOpenmp ? false, openmp ? null
-, useOpencv3 ? true, opencv3 ? null
-, useLeveldb ? false, leveldb ? null
-, useLmdb ? true, lmdb ? null
-, useRocksdb ? false, rocksdb ? null
-, useZeromq ? false, zeromq ? null
-, useMpi ? false, mpi ? null
-# TODO: distributed computations
-#, useGloo ? false
-#, useNccl ? false
-#, useNnpack ? false
-}:
-
-let
-   inherit (cudaPackages) cudatoolkit cudnn;
-in
-
-assert useCuda -> cudatoolkit != null;
-assert useCudnn -> (useCuda && cudnn != null);
-assert useOpencv3 -> opencv3 != null;
-assert useLeveldb -> leveldb != null;
-assert useLmdb -> lmdb != null;
-assert useRocksdb -> rocksdb != null;
-assert useZeromq -> zeromq != null;
-assert useMpi -> mpi != null;
-
-let
-  # Third party modules that caffe2 holds as git submodules.
-  # Download them and create symlinks from caffe2/third_party.
-  installExtraSrc = extra: ''
-    rmdir "third_party/${extra.dst}"
-    ln -s "${extra.src}" "third_party/${extra.dst}"
-  '';
-
-  cub = {
-    src = fetchFromGitHub {
-      owner  = "NVlabs";
-      repo   = "cub";
-      rev    = "v1.7.4";
-      sha256 = "0ksd5n1lxqhm5l5cd2lps4cszhjkf6gmzahaycs7nxb06qci8c66";
-    };
-    dst = "cub";
-  };
-
-  pybind11 = {
-    src = fetchFromGitHub {
-      owner  = "pybind";
-      repo   = "pybind11";
-      rev    = "86e2ad4f77442c3350f9a2476650da6bee253c52";
-      sha256 = "05gi58dirvc8fgm0avpydvidzsbh2zrzgfaq671ym09f6dz0bcgz";
-    };
-    dst = "pybind11";
-  };
-
-  ccVersion = lib.getVersion stdenv.cc;
-in
-
-stdenv.mkDerivation rec {
-  pname = "caffe2";
-  version = "0.8.1";
-  src = fetchFromGitHub {
-    owner = "caffe2";
-    repo = "caffe2";
-    rev = "v${version}";
-    sha256 = "18y7zjc69j6n5642l9caddl641b0djf3pjn4wacdsc1wk1jiyqk8";
-  };
-
-  nativeBuildInputs = [ cmake doxygen gtest ];
-  outputs = [ "bin" "out" ];
-  propagatedBuildOutputs = [ ]; # otherwise propagates out -> bin cycle
-
-  buildInputs = [ glog gflags protobuf snappy eigen ]
-    ++ lib.optional useCuda cudatoolkit
-    ++ lib.optional useCudnn cudnn
-    ++ lib.optional useOpenmp openmp
-    ++ lib.optional useOpencv3 opencv3
-    ++ lib.optional useLeveldb leveldb
-    ++ lib.optional useLmdb lmdb
-    ++ lib.optional useRocksdb rocksdb
-    ++ lib.optional useZeromq zeromq
-  ;
-  propagatedBuildInputs = [ numpy future six python-protobuf pydot ];
-
-  patches = lib.optional (stdenv.cc.isGNU && lib.versionAtLeast ccVersion "7.0.0") [
-    ./fix_compilation_on_gcc7.patch
-  ] ++ lib.optional stdenv.cc.isClang [ ./update_clang_cvtsh_bugfix.patch ];
-
-  cmakeFlags = [ "-DBUILD_TEST=OFF"
-                 "-DBUILD_PYTHON=ON"
-                 ''-DUSE_CUDA=${if useCuda then "ON"else "OFF"}''
-                 ''-DUSE_OPENMP=${if useOpenmp then "ON"else "OFF"}''
-                 ''-DUSE_OPENCV=${if useOpencv3 then "ON"else "OFF"}''
-                 ''-DUSE_MPI=${if useMpi then "ON"else "OFF"}''
-                 ''-DUSE_LEVELDB=${if useLeveldb then "ON"else "OFF"}''
-                 ''-DUSE_LMDB=${if useLmdb then "ON"else "OFF"}''
-                 ''-DUSE_ROCKSDB=${if useRocksdb then "ON"else "OFF"}''
-                 ''-DUSE_ZMQ=${if useZeromq  then "ON"else "OFF"}''
-                 "-DUSE_GLOO=OFF"
-                 "-DUSE_NNPACK=OFF"
-                 "-DUSE_NCCL=OFF"
-                 "-DUSE_REDIS=OFF"
-                 "-DUSE_FFMPEG=OFF"
-               ]
-               ++ lib.optional useCuda [
-                 "-DCUDA_TOOLKIT_ROOT_DIR=${cudatoolkit}"
-                 "-DCUDA_FAST_MATH=ON"
-                 "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
-               ];
-
-  preConfigure = ''
-    ${installExtraSrc cub}
-    ${installExtraSrc pybind11}
-    # XXX hack
-    export NIX_CFLAGS_COMPILE="-I ${eigen}/include/eigen3/ $NIX_CFLAGS_COMPILE"
-  '';
-
-  postInstall = ''
-    moveToOutput "bin" "$bin"
-    mkdir -p $out/lib/${python.libPrefix}
-    ln -s $out/ $out/${python.sitePackages}
-  '';
-
-  doCheck = false;
-
-  meta = {
-    homepage = "https://caffe2.ai/";
-    description = "A new lightweight, modular, and scalable deep learning framework";
-    longDescription = ''
-      Caffe2 aims to provide an easy and straightforward way for you to experiment
-      with deep learning and leverage community contributions of new models and
-      algorithms. You can bring your creations to scale using the power of GPUs in the
-      cloud or to the masses on mobile with Caffe2's cross-platform libraries.
-    '';
-    platforms = with lib.platforms; linux;
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ yuriaisaka ];
-    # fails to compile with
-    # error: invalid conversion from 'const char*' to 'char*'
-    # TODO: Remove usage of python2, protobuf overwrite
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch b/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
deleted file mode 100644
index f319f20233a21..0000000000000
--- a/pkgs/development/libraries/science/math/caffe2/fix_compilation_on_gcc7.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/caffe2/operators/recurrent_network_op.cc b/caffe2/operators/recurrent_network_op.cc
-index dd4fded..5995e8a 100644
---- a/caffe2/operators/recurrent_network_op.cc
-+++ b/caffe2/operators/recurrent_network_op.cc
-@@ -1,4 +1,4 @@
--#include "recurrent_network_op.h"
-+#include "caffe2/operators/recurrent_network_op.h"
- #include "caffe2/core/workspace.h"
- 
- namespace caffe2 {
-diff --git a/caffe2/operators/recurrent_network_op.h b/caffe2/operators/recurrent_network_op.h
-index 55328e5..ea898bc 100644
---- a/caffe2/operators/recurrent_network_op.h
-+++ b/caffe2/operators/recurrent_network_op.h
-@@ -762,8 +762,8 @@ class AccumulateInputGradientOp : public Operator<Context> {
-   USE_OPERATOR_CONTEXT_FUNCTIONS;
- 
-   bool RunOnDevice() override {
--    const auto t =
--        OperatorBase::Input<Tensor<CPUContext>>(0).template data<int32_t>()[0];
-+    const auto& t0 = OperatorBase::Input<Tensor<CPUContext>>(0);
-+    const auto t = t0.template data<int32_t>()[0];
-     auto& og = Input(1);
-     auto* g = Output(0);
- 
-diff --git a/caffe2/queue/queue_ops.h b/caffe2/queue/queue_ops.h
-index f2c0a33..642343f 100644
---- a/caffe2/queue/queue_ops.h
-+++ b/caffe2/queue/queue_ops.h
-@@ -17,13 +17,10 @@ class CreateBlobsQueueOp final : public Operator<Context> {
-         name(operator_def.output().Get(0)) {}
- 
-   bool RunOnDevice() override {
--    const auto capacity =
--        OperatorBase::template GetSingleArgument<int>("capacity", 1);
--    const auto numBlobs =
--        OperatorBase::template GetSingleArgument<int>("num_blobs", 1);
-+    const auto capacity = GetSingleArgument("capacity", 1);
-+    const auto numBlobs = GetSingleArgument("num_blobs", 1);
-     const auto enforceUniqueName =
--        OperatorBase::template GetSingleArgument<int>(
--            "enforce_unique_name", false);
-+        GetSingleArgument("enforce_unique_name", false);
-     const auto fieldNames =
-         OperatorBase::template GetRepeatedArgument<std::string>("field_names");
-     CAFFE_ENFORCE_EQ(this->OutputSize(), 1);
diff --git a/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch b/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch
deleted file mode 100644
index d908cb6ba80b2..0000000000000
--- a/pkgs/development/libraries/science/math/caffe2/update_clang_cvtsh_bugfix.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-diff --git a/caffe2/perfkernels/cvtsh_ss_bugfix.h b/caffe2/perfkernels/cvtsh_ss_bugfix.h
-index bd06681..00172b7 100644
---- a/caffe2/perfkernels/cvtsh_ss_bugfix.h
-+++ b/caffe2/perfkernels/cvtsh_ss_bugfix.h
-@@ -1,10 +1,36 @@
-+/**
-+ * Copyright (c) 2016-present, Facebook, Inc.
-+ *
-+ * Licensed under the Apache License, Version 2.0 (the "License");
-+ * you may not use this file except in compliance with the License.
-+ * You may obtain a copy of the License at
-+ *
-+ *     http://www.apache.org/licenses/LICENSE-2.0
-+ *
-+ * Unless required by applicable law or agreed to in writing, software
-+ * distributed under the License is distributed on an "AS IS" BASIS,
-+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+ * See the License for the specific language governing permissions and
-+ * limitations under the License.
-+ */
-+
- #pragma once
- 
--#if defined(__APPLE__) && (__clang_major__ < 8)
-+// Apple clang was fixed in 8.1
-+#if defined(__apple_build_version__) && ((__clang_major__ < 8) || ((__clang_major__ == 8) && (__clang_minor__ < 1)))
-+#define __APPLE_NEED_FIX 1
-+#endif
-+
-+// Regular clang was fixed in 3.9
-+#if defined(__clang__) && (__clang_major__ < 4) && (__clang_minor__ < 9)
-+#define __CLANG_NEED_FIX 1
-+#endif
-+
-+#if __APPLE_NEED_FIX || __CLANG_NEED_FIX
- 
- #include <emmintrin.h>
- 
--// This version of apple clang has a bug that _cvtsh_ss is not defined, see
-+// This version of clang has a bug that _cvtsh_ss is not defined, see
- // https://reviews.llvm.org/D16177
- static __inline float
-     __attribute__((__always_inline__, __nodebug__, __target__("f16c")))
-@@ -15,7 +41,10 @@ _cvtsh_ss(unsigned short a)
-   return r[0];
- }
- 
--#endif // defined(__APPLE__) && (__clang_major__ < 8)
-+#endif // __APPLE_NEED_FIX || __CLANG_NEED_FIX
-+
-+#undef __APPLE_NEED_FIX
-+#undef __CLANG_NEED_FIX
- 
- #ifdef _MSC_VER
- 
diff --git a/pkgs/development/libraries/science/math/cliquer/default.nix b/pkgs/development/libraries/science/math/cliquer/default.nix
index 0d8bafffb44f8..fd89ede1efb9a 100644
--- a/pkgs/development/libraries/science/math/cliquer/default.nix
+++ b/pkgs/development/libraries/science/math/cliquer/default.nix
@@ -22,8 +22,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://users.aalto.fi/~pat/cliquer.html";
-    downloadPage = src.meta.homepage; # autocliquer
     description = "Routines for clique searching";
     longDescription = ''
       Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph.
@@ -31,8 +29,11 @@ stdenv.mkDerivation rec {
       It is designed with the aim of being efficient while still being flexible and
       easy to use.
     '';
+    homepage = "https://users.aalto.fi/~pat/cliquer.html";
+    downloadPage = src.meta.homepage; # autocliquer
     license = licenses.gpl2Plus;
     maintainers = teams.sage.members;
+    mainProgram = "cl";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/math/flintqs/default.nix b/pkgs/development/libraries/science/math/flintqs/default.nix
index c956eae4f7100..c5426ed67fc7f 100644
--- a/pkgs/development/libraries/science/math/flintqs/default.nix
+++ b/pkgs/development/libraries/science/math/flintqs/default.nix
@@ -30,10 +30,11 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/sagemath/FlintQS";
     description = "Highly optimized multi-polynomial quadratic sieve for integer factorization";
+    homepage = "https://github.com/sagemath/FlintQS";
     license = with licenses; [ gpl2 ];
     maintainers = teams.sage.members;
+    mainProgram = "QuadraticSieve";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/science/math/itpp/default.nix b/pkgs/development/libraries/science/math/itpp/default.nix
index d7a0dcfe06a7b..b2acbe761b3bc 100644
--- a/pkgs/development/libraries/science/math/itpp/default.nix
+++ b/pkgs/development/libraries/science/math/itpp/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   ];
 
   cmakeFlags = [
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
     "-DBLAS_FOUND:BOOL=TRUE"
     "-DBLAS_LIBRARIES:STRING=${blas}/lib/libblas.so"
     "-DLAPACK_FOUND:BOOL=TRUE"
diff --git a/pkgs/development/libraries/science/math/primecount/default.nix b/pkgs/development/libraries/science/math/primecount/default.nix
deleted file mode 100644
index e1390ce6416ed..0000000000000
--- a/pkgs/development/libraries/science/math/primecount/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, primesieve }:
-
-stdenv.mkDerivation rec {
-  pname = "primecount";
-  version = "7.2";
-
-  nativeBuildInputs = [ cmake ];
-
-  buildInputs = [ primesieve ];
-
-  src = fetchFromGitHub {
-    owner = "kimwalisch";
-    repo = "primecount";
-    rev = "v${version}";
-    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";
-    license = licenses.bsd2;
-    platforms = platforms.unix;
-    maintainers = teams.sage.members;
-  };
-}
diff --git a/pkgs/development/libraries/science/math/primesieve/default.nix b/pkgs/development/libraries/science/math/primesieve/default.nix
deleted file mode 100644
index 0cf263218a3bc..0000000000000
--- a/pkgs/development/libraries/science/math/primesieve/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake }:
-
-stdenv.mkDerivation rec {
-  pname = "primesieve";
-  version = "7.8";
-
-  nativeBuildInputs = [ cmake ];
-
-  src = fetchFromGitHub {
-    owner = "kimwalisch";
-    repo = "primesieve";
-    rev = "v${version}";
-    sha256 = "sha256-M35CP/xEyC7mEh84kaGsgfsDI9fnanHraNPgTvpqimI=";
-  };
-
-  meta = with lib; {
-    description = "Fast C/C++ prime number generator";
-    homepage = "https://primesieve.org/";
-    license = licenses.bsd2;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ abbradar ];
-  };
-}
diff --git a/pkgs/development/libraries/sealcurses/default.nix b/pkgs/development/libraries/sealcurses/default.nix
new file mode 100644
index 0000000000000..21ee2a782a2f6
--- /dev/null
+++ b/pkgs/development/libraries/sealcurses/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitea, cmake, pkg-config, ncurses, the-foundation }:
+
+stdenv.mkDerivation rec {
+  pname = "sealcurses";
+  version = "unstable-2022-04-28"; # No release yet
+
+  src = fetchFromGitea {
+    domain = "git.skyjake.fi";
+    owner = "skyjake";
+    repo = pname;
+    rev = "abf27cfd2567a0765aaa115cabab0abb7f862253";
+    hash = "sha256-c4zi/orHyr1hkuEisqZ9V8SaiH1IoxIbeGMrLBEkZ0A=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ ncurses the-foundation ];
+
+  cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
+
+  meta = with lib; {
+    description = "SDL Emulation and Adaptation Layer for Curses (ncursesw)";
+    homepage = "https://git.skyjake.fi/skyjake/sealcurses";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 82237ef143410..1a1f3475c3531 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -14,10 +14,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config python3 wafHook ];
 
   meta = with lib; {
-    homepage = "http://drobilla.net/software/serd";
     description = "A lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples";
+    homepage = "http://drobilla.net/software/serd";
     license = licenses.mit;
     maintainers = [ maintainers.goibhniu ];
+    mainProgram = "serdi";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/signond/default.nix b/pkgs/development/libraries/signond/default.nix
index 7e986ed2635e0..ff5aeca626ebf 100644
--- a/pkgs/development/libraries/signond/default.nix
+++ b/pkgs/development/libraries/signond/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "signond";
-  version = "8.60";
+  version = "8.61";
 
   src = fetchFromGitLab {
     owner = "accounts-sso";
     repo = pname;
     rev = "VERSION_${version}";
-    sha256 = "pFpeJ13ut5EoP37W33WrYL2LzkX/k7ZKJcRpPO5l8i4=";
+    sha256 = "sha256-d7JZmGpjIvSN9l1nvKbBZjF0OR5L5frPTGHF/pNEqHE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index ea1bb4936834f..9255889c6943c 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -44,8 +44,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "An advanced font engine";
+    homepage = "https://graphite.sil.org/";
+    license = licenses.lgpl21;
     maintainers = [ maintainers.raskin ];
+    mainProgram = "gr2fonttest";
     platforms = platforms.unix;
-    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index fe32076858a94..53d69a7e549d9 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -84,6 +84,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.jedsoft.org/slang/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "slsh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/soundtouch/default.nix b/pkgs/development/libraries/soundtouch/default.nix
index b29095f7e1991..b03a7cc072287 100644
--- a/pkgs/development/libraries/soundtouch/default.nix
+++ b/pkgs/development/libraries/soundtouch/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
     description = "A program and library for changing the tempo, pitch and playback rate of audio";
     homepage = "https://www.surina.net/soundtouch/";
     license = licenses.lgpl21Plus;
-    platforms = platforms.all;
     maintainers = with maintainers; [ orivej ];
+    mainProgram = "soundstretch";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
index e4884b85b4ae9..23464990d8699 100644
--- a/pkgs/development/libraries/spdk/default.nix
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -10,9 +10,19 @@
 , libuuid
 , numactl
 , openssl
+, fetchurl
 }:
 
-stdenv.mkDerivation rec {
+let
+  # The old version has some CVEs howver they should not affect SPDK's usage of the framework: https://github.com/NixOS/nixpkgs/pull/171648#issuecomment-1121964568
+  dpdk' = dpdk.overrideAttrs (old: rec {
+    name = "dpdk-21.11";
+    src = fetchurl {
+      url = "https://fast.dpdk.org/rel/${name}.tar.xz";
+      sha256 = "sha256-Mkbj7WjuKzaaXYviwGzxCKZp4Vf01Bxby7sha/Wr06E=";
+    };
+  });
+in stdenv.mkDerivation rec {
   pname = "spdk";
   version = "21.10";
 
@@ -40,7 +50,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    cunit dpdk libaio libbsd libuuid numactl openssl ncurses
+    cunit dpdk' libaio libbsd libuuid numactl openssl ncurses
   ];
 
   postPatch = ''
@@ -49,7 +59,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--with-dpdk=${dpdk}" ];
+  configureFlags = [ "--with-dpdk=${dpdk'}" ];
 
   NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
   # otherwise does not find strncpy when compiling
diff --git a/pkgs/development/libraries/spglib/default.nix b/pkgs/development/libraries/spglib/default.nix
index 6d973f36c02ba..e1472b594a40c 100644
--- a/pkgs/development/libraries/spglib/default.nix
+++ b/pkgs/development/libraries/spglib/default.nix
@@ -1,24 +1,27 @@
-{ stdenv, lib, fetchFromGitHub, cmake } :
+{ stdenv, lib, fetchFromGitHub, cmake, openmp }:
 
 stdenv.mkDerivation rec {
   pname = "spglib";
-  version = "1.16.3";
+  version = "1.16.5"; # N.B: if you change this, please update: pythonPackages.spglib
 
   src = fetchFromGitHub {
-    owner = "atztogo";
+    owner = "spglib";
     repo = "spglib";
     rev = "v${version}";
-    sha256 = "sha256-sM6+RBAVc2aJYlWatdD4nYZkFnaTFVjBzd/VDSSA+kk=";
+    sha256 = "sha256-BbqyL7WJ/jpOls1MmY7VNCN+OlF6u4uz/pZjMAqk87w=";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  buildInputs = lib.optionals stdenv.isDarwin [ openmp ];
+
   checkTarget = "check";
   doCheck = true;
 
   meta = with lib; {
     description = "C library for finding and handling crystal symmetries";
-    homepage = "https://atztogo.github.io/spglib/";
+    homepage = "https://spglib.github.io/spglib/";
+    changelog = "https://github.com/spglib/spglib/raw/v${version}/ChangeLog";
     license = licenses.bsd3;
     maintainers = [ maintainers.markuskowa ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 0d80a83e8ed7f..726ccff02bb9a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${optionalString interactive "-interactive"}";
-  version = "3.38.2";
+  version = "3.38.3";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-55dKoUMLrWkKXp95pu5chJKtqCadxnWHWtD7dH18raQ=";
+    sha256 = "sha256-YfLdk6LjjDNGi3EllnwyGL+fTdg2Xe9gJeMU+QXclC4=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index ebb887ffa0177..d112515c8e9e3 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -2,14 +2,14 @@
 
 let
   archiveVersion = import ./archive-version.nix lib;
-  mkTool = { pname, makeTarget, description, homepage }: stdenv.mkDerivation rec {
+  mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.38.2";
+    version = "3.38.3";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-x8DwcKM4yS6wiAWQXAXyVPpG0cTdo1SKAkdPb7VnMpo=";
+      sha256 = "sha256-oQTUk+CEAGvXT/H/esLrKzh8fAo7Y7pv6i+vtBGDE68=";
     };
 
     nativeBuildInputs = [ unzip ];
@@ -20,7 +20,7 @@ let
     installPhase = "install -Dt $out/bin ${makeTarget}";
 
     meta = with lib; {
-      inherit description homepage;
+      inherit description homepage mainProgram;
       downloadPage = "http://sqlite.org/download.html";
       license = licenses.publicDomain;
       maintainers = with maintainers; [ johnazoidberg ];
@@ -34,11 +34,13 @@ in
     makeTarget = "sqldiff";
     description = "A tool that displays the differences between SQLite databases";
     homepage = "https://www.sqlite.org/sqldiff.html";
+    mainProgram = "sqldiff";
   };
   sqlite-analyzer = mkTool {
     pname = "sqlite-analyzer";
     makeTarget = "sqlite3_analyzer";
     description = "A tool that shows statistics about SQLite databases";
     homepage = "https://www.sqlite.org/sqlanalyze.html";
+    mainProgram = "sqlite3_analyzer";
   };
 }
diff --git a/pkgs/development/libraries/stxxl/default.nix b/pkgs/development/libraries/stxxl/default.nix
index 391424ee2c93d..499532092f026 100644
--- a/pkgs/development/libraries/stxxl/default.nix
+++ b/pkgs/development/libraries/stxxl/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/stxxl/stxxl";
     license = licenses.boost;
     maintainers = with maintainers; [ ];
+    mainProgram = "stxxl_tool";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix
index ef30c5916eab9..848fd57336ee8 100644
--- a/pkgs/development/libraries/swiften/default.nix
+++ b/pkgs/development/libraries/swiften/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , lib
-, python2
 , libidn
 , lua
 , miniupnpc
@@ -40,7 +39,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    python2
     libidn
     lua
     miniupnpc
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index 970b8a846222c..ed2819e88c174 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -1,16 +1,12 @@
 { lib, stdenv
 , fetchurl
-, Carbon ? null
-, libjpeg ? null
-, libpng ? null
+, Carbon
+, libjpeg
+, libpng
 , withJpegSupport ? true # support jpeg output
 , withPngSupport ? true # support png output
 }:
 
-assert withJpegSupport -> libjpeg != null;
-assert withPngSupport -> libpng != null;
-assert stdenv.isDarwin -> Carbon != null;
-
 stdenv.mkDerivation rec {
   pname = "tachyon";
   version = "0.99.4";
diff --git a/pkgs/development/libraries/tecla/default.nix b/pkgs/development/libraries/tecla/default.nix
index 11918d76da6c0..7163f24815c52 100644
--- a/pkgs/development/libraries/tecla/default.nix
+++ b/pkgs/development/libraries/tecla/default.nix
@@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
     description = "Command-line editing library";
+    homepage = "https://www.astro.caltech.edu/~mcs/tecla/";
     license = "as-is";
-
+    mainProgram = "enhance";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
index f561efb473c59..a10ad67b23d92 100644
--- a/pkgs/development/libraries/tepl/default.nix
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -9,17 +9,19 @@
 , gtksourceview4
 , icu
 , pkg-config
+, gtk-doc
+, docbook-xsl-nons
 }:
 
 stdenv.mkDerivation rec {
   pname = "tepl";
-  version = "6.00.0";
+  version = "6.0.1";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0qvs7s86gqyyrzi0r5fbrj8zczlgv8xhdjswgbgc1afwjnl9fqx8";
+    sha256 = "J08Fa75V8wpq5EQq0i8VfQTTphtWjZC8hRF7txMgIME=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +29,8 @@ stdenv.mkDerivation rec {
     ninja
     gobject-introspection
     pkg-config
+    gtk-doc
+    docbook-xsl-nons
   ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/the-foundation/default.nix b/pkgs/development/libraries/the-foundation/default.nix
new file mode 100644
index 0000000000000..012d13964c4b2
--- /dev/null
+++ b/pkgs/development/libraries/the-foundation/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitea
+, cmake
+, pkg-config
+, curl
+, libunistring
+, openssl
+, pcre
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "the-foundation";
+  version = "1.4.0";
+
+  src = fetchFromGitea {
+    domain = "git.skyjake.fi";
+    owner = "skyjake";
+    repo = "the_Foundation";
+    rev = "v${version}";
+    hash = "sha256-IHwWJryG4HcrW9Bf8KJrisCrbF86RBQj6Xl1HTmcr6k=";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ curl libunistring openssl pcre zlib ];
+
+  meta = with lib; {
+    description = "Opinionated C11 library for low-level functionality";
+    homepage = "https://git.skyjake.fi/skyjake/the_Foundation";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/tre/default.nix b/pkgs/development/libraries/tre/default.nix
index 9ac026ee94b81..8cd0faf486730 100644
--- a/pkgs/development/libraries/tre/default.nix
+++ b/pkgs/development/libraries/tre/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Lightweight and robust POSIX compliant regexp matching library";
     homepage = "https://laurikari.net/tre/";
-    platforms = lib.platforms.unix;
     license = lib.licenses.bsd2;
+    mainProgram = "agrep";
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index fbf5a71bb4b1a..a389d204a83ea 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -19,15 +19,21 @@
 
 stdenv.mkDerivation rec {
   pname = "umockdev";
-  version = "0.17.8";
+  version = "0.17.9";
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-s3zeWJxw5ohUtsv4NZGKcdP8khEYzIXycbBrAzdnVoU=";
+    sha256 = "sha256-FEmWjJVmKKckC30zULGI/mZ3VNtirnweZq2gKh/Y5VE=";
   };
 
+  patches = [
+    # Hardcode absolute paths to libraries so that consumers
+    # do not need to set LD_LIBRARY_PATH themselves.
+    ./hardcode-paths.patch
+  ];
+
   nativeBuildInputs = [
     docbook-xsl-nons
     gobject-introspection
@@ -57,6 +63,21 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    # Substitute the path to this derivation in the patch we apply.
+    substituteInPlace src/umockdev-wrapper \
+      --subst-var-by 'LIBDIR' "''${!outputLib}/lib"
+  '';
+
+  preCheck = ''
+    # Our patch makes the path to the `LD_PRELOAD`ed library absolute.
+    # When running tests, the library is not yet installed, though,
+    # so we need to replace the absolute path with a local one during build.
+    # We are using a symlink that will be overridden during installation.
+    mkdir -p "$out/lib"
+    ln -s "$PWD/libumockdev-preload.so.0" "$out/lib/libumockdev-preload.so.0"
+  '';
+
   meta = with lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl21Plus;
diff --git a/pkgs/development/libraries/umockdev/hardcode-paths.patch b/pkgs/development/libraries/umockdev/hardcode-paths.patch
new file mode 100644
index 0000000000000..91f1e928ec609
--- /dev/null
+++ b/pkgs/development/libraries/umockdev/hardcode-paths.patch
@@ -0,0 +1,69 @@
+diff --git a/meson.build b/meson.build
+index 2ed9027..1f6bbf2 100644
+--- a/meson.build
++++ b/meson.build
+@@ -38,6 +38,7 @@ g_ir_compiler = find_program('g-ir-compiler', required: false)
+ 
+ conf.set('PACKAGE_NAME', meson.project_name())
+ conf.set_quoted('VERSION', meson.project_version())
++conf.set_quoted('LIBDIR', get_option('prefix') / get_option('libdir'))
+ 
+ # glibc versions somewhere between 2.28 and 2.34
+ if cc.has_function('__fxstatat', prefix: '#include <sys/stat.h>')
+@@ -148,7 +149,7 @@ hacked_gir = custom_target('UMockdev-1.0 hacked gir',
+ 
+ if g_ir_compiler.found()
+ umockdev_typelib = custom_target('UMockdev-1.0 typelib',
+-  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', 'libumockdev.so.0', '@INPUT@'],
++  command: [g_ir_compiler, '--output', '@OUTPUT@', '-l', get_option('prefix') / get_option('libdir') / 'libumockdev.so.0', '@INPUT@'],
+   input: hacked_gir,
+   output: 'UMockdev-1.0.typelib',
+   install: true,
+diff --git a/src/config.vapi b/src/config.vapi
+index 5269dd0..a2ec46d 100644
+--- a/src/config.vapi
++++ b/src/config.vapi
+@@ -2,5 +2,6 @@
+ namespace Config {
+     public const string PACKAGE_NAME;
+     public const string VERSION;
++    public const string LIBDIR;
+ }
+ 
+diff --git a/src/umockdev-record.vala b/src/umockdev-record.vala
+index 8434d32..68c7f8e 100644
+--- a/src/umockdev-record.vala
++++ b/src/umockdev-record.vala
+@@ -435,7 +435,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     try {
+         root_dir = DirUtils.make_tmp("umockdev.XXXXXX");
+diff --git a/src/umockdev-run.vala b/src/umockdev-run.vala
+index 9a1ba10..6df2522 100644
+--- a/src/umockdev-run.vala
++++ b/src/umockdev-run.vala
+@@ -95,7 +95,7 @@ main (string[] args)
+         preload = "";
+     else
+         preload = preload + ":";
+-    Environment.set_variable ("LD_PRELOAD", preload + "libumockdev-preload.so.0", true);
++    Environment.set_variable ("LD_PRELOAD", preload + Config.LIBDIR + "/libumockdev-preload.so.0", true);
+ 
+     var testbed = new UMockdev.Testbed ();
+ 
+diff --git a/src/umockdev-wrapper b/src/umockdev-wrapper
+index 6ce4dcd..706c49a 100755
+--- a/src/umockdev-wrapper
++++ b/src/umockdev-wrapper
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+ # Wrapper program to preload the libumockdev library, so that test programs can
+ # set $UMOCKDEV_DIR for redirecting sysfs and other queries to a test bed.
+-exec env LD_PRELOAD=libumockdev-preload.so.0:$LD_PRELOAD "$@"
++exec env LD_PRELOAD=@LIBDIR@/libumockdev-preload.so.0:$LD_PRELOAD "$@"
+ 
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 28eea0525176d..c39fdb03e8960 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -20,14 +20,15 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   meta = with lib; {
-    homepage = "https://uriparser.github.io/";
     description = "Strictly RFC 3986 compliant URI parsing library";
     longDescription = ''
       uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C.
       API documentation is available on uriparser website.
     '';
+    homepage = "https://uriparser.github.io/";
     license = licenses.bsd3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ bosu ];
+    mainProgram = "uriparse";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/uthenticode/default.nix b/pkgs/development/libraries/uthenticode/default.nix
index 9957eccd42671..c342ee4d70d36 100644
--- a/pkgs/development/libraries/uthenticode/default.nix
+++ b/pkgs/development/libraries/uthenticode/default.nix
@@ -1,28 +1,21 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, gtest, openssl, pe-parse }:
+{ stdenv, lib, fetchFromGitHub, cmake, gtest, openssl, pe-parse }:
 
 stdenv.mkDerivation rec {
   pname = "uthenticode";
-  version = "1.0.4";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = "uthenticode";
     rev = "v${version}";
-    sha256 = "16j91cki63zk4d7wzwvq8al98l8hmvcdil3vfp44ink4q4bfswkx";
+    hash = "sha256-H4fAHZM+vYaUkXZE4f7r2bxw9dno7O+lYrqQ9/6YPWA=";
   };
 
-  patches = [
-    # adds USE_SYSTEM_GTEST cmake flag, the patch won't be necessary in next versions
-    (fetchpatch {
-      url = "https://github.com/trailofbits/uthenticode/commit/7a4c5499c8e5ea7bfae1c620e1f96c112866b1dd.patch";
-      sha256 = "17637j5zwp71jmi803mv1z04arld3k3kmrm8nvrkpg08q5kizh28";
-    })
-  ];
-
-  cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_SYSTEM_GTEST=1" ];
+  cmakeFlags = [ "-DBUILD_TESTS=1" "-DUSE_EXTERNAL_GTEST=1" ];
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ pe-parse openssl gtest ];
+  checkInputs = [ gtest ];
+  buildInputs = [ pe-parse openssl ];
 
   doCheck = true;
   checkPhase = "test/uthenticode_test";
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index 1d2911c1313f8..2b56d2e5dcf8e 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -165,5 +165,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ cstrahan proglodyte matthewbauer ];
     platforms = platforms.unix;
     license = licenses.bsd3;
+    # Fails to build on Darwin, see https://github.com/NixOS/nixpkgs/issues/158076
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/vtk/9.x.nix b/pkgs/development/libraries/vtk/9.x.nix
index b95bcb2b86932..5e918e8122fd3 100644
--- a/pkgs/development/libraries/vtk/9.x.nix
+++ b/pkgs/development/libraries/vtk/9.x.nix
@@ -2,4 +2,13 @@ import ./generic.nix {
   majorVersion = "9.0";
   minorVersion = "3";
   sourceSha256 = "vD65Ylsrjb/stgUqKrCR/JFAXeQzOw7GjzMjgVFU7Yo=";
+
+  patchesToFetch = [
+    # Add missing header includes.
+    # https://gitlab.kitware.com/vtk/vtk/-/merge_requests/7611
+    {
+     url = "https://gitlab.kitware.com/vtk/vtk/-/commit/e066c3f4fbbfe7470c6207db0fc3f3952db633cb.patch";
+     sha256 = "ggmDisS3qoMquOqrmIYlCIT7TLxP/DUtW29ktjaEnlM=";
+    }
+  ];
 }
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 196081aa58c1d..067e47b3a2ff0 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
     ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
-    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share";
+    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
+    ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "-DUSE_GAS=OFF";
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/waylandpp/default.nix b/pkgs/development/libraries/waylandpp/default.nix
index 30976e46bf1fd..c0b48ea17c6f5 100644
--- a/pkgs/development/libraries/waylandpp/default.nix
+++ b/pkgs/development/libraries/waylandpp/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv
 , fetchFromGitHub
 , cmake
+, makeFontsConf
 , pkg-config
 , pugixml
 , wayland
@@ -8,22 +9,19 @@
 , libffi
 , buildPackages
 , docSupport ? true
-, doxygen ? null
-, graphviz ? null
+, doxygen
+, graphviz
 }:
 
-assert docSupport -> doxygen != null;
-
-with lib;
 stdenv.mkDerivation rec {
   pname = "waylandpp";
-  version = "0.2.10";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "NilsBrause";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5/u6tp7/E4tjSfX+QJFmcUYdnyOgl9rB79PDE/SJH1o=";
+    hash = "sha256-Dw2RnLLyhykikHps1in+euHksO+ERbATbfmbUFOJklg=";
   };
 
   cmakeFlags = [
@@ -32,15 +30,23 @@ stdenv.mkDerivation rec {
     "-DWAYLAND_SCANNERPP=${buildPackages.waylandpp}/bin/wayland-scanner++"
   ];
 
-  nativeBuildInputs = [ cmake pkg-config ] ++ optionals docSupport [ doxygen graphviz ];
+  # Complains about not being able to find the fontconfig config file otherwise
+  FONTCONFIG_FILE = lib.optional docSupport (makeFontsConf { fontDirectories = [ ]; });
+
+  nativeBuildInputs = [ cmake pkg-config ] ++ lib.optionals docSupport [ doxygen graphviz ];
   buildInputs = [ pugixml wayland libGL libffi ];
 
-  outputs = [ "bin" "dev" "lib" "out" ] ++ optionals docSupport [ "doc" "devman" ];
+  outputs = [ "bin" "dev" "lib" "out" ] ++ lib.optionals docSupport [ "doc" "devman" ];
+
+  # Resolves the warning "Fontconfig error: No writable cache directories"
+  preBuild = ''
+    export XDG_CACHE_HOME="$(mktemp -d)"
+  '';
 
   meta = with lib; {
     description = "Wayland C++ binding";
     homepage = "https://github.com/NilsBrause/waylandpp/";
-    license = with licenses; [ bsd2 hpnd ];
-    maintainers = with maintainers; [ minijackson ];
+    license = with lib.licenses; [ bsd2 hpnd ];
+    maintainers = with lib.maintainers; [ minijackson ];
   };
 }
diff --git a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
index 1ce3c2d9fa8be..c9fafdd276678 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
@@ -9,7 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
   };
 
-  patches = [ ./enable-riscv.patch ];
+  patches = [
+    ./enable-riscv.patch
+    ./enable-powerpc.patch
+  ];
 
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
 
diff --git a/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch b/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch
new file mode 100644
index 0000000000000..636cae4df854c
--- /dev/null
+++ b/pkgs/development/libraries/webrtc-audio-processing/enable-powerpc.patch
@@ -0,0 +1,37 @@
+This patch was extracted from the Gentoo powerpc64le-qtwebengine
+patchset, referenced here:
+
+  https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-qt/qtwebengine/qtwebengine-5.15.3_p20220406.ebuild
+
+and downloaded from here:
+
+  https://dev.gentoo.org/~asturm/distfiles/${PN}-5.15.3_p20220406-patchset.tar.xz
+
+From 4bbb4482e14ad27cf0bd5032b1b5d4abba29dc99 Mon Sep 17 00:00:00 2001
+From: Georgy Yakovlev <gyakovlev@gentoo.org>
+Date: Fri, 27 Nov 2020 13:05:45 -0800
+Subject: [PATCH] 5.15.2 ppc64le patchet
+
+diff --git a/webrtc/typedefs.h b/webrtc/typedefs.h
+index ce1f3e8..fd39a16 100644
+--- a/webrtc/typedefs.h
++++ b/webrtc/typedefs.h
+@@ -38,6 +38,18 @@
+ #define WEBRTC_ARCH_X86
+ #define WEBRTC_ARCH_32_BITS
+ #define WEBRTC_ARCH_LITTLE_ENDIAN
++#elif defined(__PPC__)
++#define WEBRTC_ARCH_PPC_FAMILY
++#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
++#define WEBRTC_ARCH_LITTLE_ENDIAN
++#else
++#define WEBRTC_ARCH_BIG_ENDIAN
++#endif
++#if defined(__LP64__)
++#define WEBRTC_ARCH_64_BITS
++#else
++#define WEBRTC_ARCH_32_BITS
++#endif
+ #elif defined(__ARMEL__)
+ // TODO(ajm): We'd prefer to control platform defines here, but this is
+ // currently provided by the Android makefiles. Commented to avoid duplicate
diff --git a/pkgs/development/libraries/wlroots/0.14.nix b/pkgs/development/libraries/wlroots/0.14.nix
index 398a09ff2aa7f..7fe678cb62461 100644
--- a/pkgs/development/libraries/wlroots/0.14.nix
+++ b/pkgs/development/libraries/wlroots/0.14.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
+  strictDeps = true;
   depsBuildBuild = [ pkg-config ];
 
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
diff --git a/pkgs/development/libraries/wlroots/0.15.nix b/pkgs/development/libraries/wlroots/0.15.nix
index ed3effaa54055..7648ebe5d2578 100644
--- a/pkgs/development/libraries/wlroots/0.15.nix
+++ b/pkgs/development/libraries/wlroots/0.15.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
+  strictDeps = true;
   depsBuildBuild = [ pkg-config ];
 
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner glslang ];
diff --git a/pkgs/development/libraries/wlroots/protocols.nix b/pkgs/development/libraries/wlroots/protocols.nix
index 0ec1584055876..7fd0e40d0754b 100644
--- a/pkgs/development/libraries/wlroots/protocols.nix
+++ b/pkgs/development/libraries/wlroots/protocols.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1vw8b10d1pwsj6f4sr3imvwsy55d3435sp068sj4hdszkxc6axsr";
   };
 
+  strictDeps = true;
   checkInputs = [ wayland-scanner ];
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index 2fc57b87ab3bf..0ae563f8b1933 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wolfssl";
-  version = "5.2.0";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "1xdhbhn31q7waw7w158hz9n0vj76zlfn5njq7hncf73ks38drj6k";
+    sha256 = "sha256-KteArWAgDohlqEYaNfzLPuBn6uy5ABA8vV/LRCVIPGA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index 9a8bee561c11e..c8706c737b12b 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -27,7 +27,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.14.3";
+  version = "1.14.4";
 
   outputs = [ "out" "installedTests" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "CDqTQQ8dOatOxDKR+HiVQgSJKxH6ZstskKdR84U/870=";
+    sha256 = "///X0inMi9Znuhjn9n0HlVLa5/kFWpKorKS8RY9WeYM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index 7d50d2b53b1d6..b4d668d5fba17 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -25,7 +25,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-h7zcHCOxe1h7HRB6idtjf4HUBEoHC4V2pqbN9hpe00g=";
   };
 
-  nativeBuildInputs = [ cmake ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp;
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals stdenv.isDarwin [
+    llvmPackages.openmp
+  ] ++ lib.optionals cudaSupport [
+    cudaPackages.autoAddOpenGLRunpathHook
+  ];
 
   buildInputs = [ gtest ] ++ lib.optional cudaSupport cudaPackages.cudatoolkit
                 ++ lib.optional ncclSupport cudaPackages.nccl;
@@ -37,6 +43,12 @@ stdenv.mkDerivation rec {
 
   inherit doCheck;
 
+  # By default, cmake build will run ctests with all checks enabled
+  # If we're building with cuda, we run ctest manually so that we can skip the GPU tests
+  checkPhase = lib.optionalString cudaSupport ''
+    ctest --force-new-ctest-process ${lib.optionalString cudaSupport "-E TestXGBoostLib"}
+  '';
+
   installPhase = let
     libname = "libxgboost${stdenv.hostPlatform.extensions.sharedLibrary}";
   in ''
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 5f2557514804c..187e6900aa07d 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -68,10 +68,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
+    description = "XML Security Library in C based on libxml2";
     homepage = "http://www.aleksey.com/xmlsec";
     downloadPage = "https://www.aleksey.com/xmlsec/download.html";
-    description = "XML Security Library in C based on libxml2";
     license = lib.licenses.mit;
+    mainProgram = "xmlsec1";
     platforms = with lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix
index 9a1861f60440a..b60168a6f5cb6 100644
--- a/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/pkgs/development/libraries/zeroc-ice/default.nix
@@ -1,9 +1,7 @@
 { stdenv, lib, fetchFromGitHub
 , bzip2, expat, libedit, lmdb, openssl
-, darwin, libiconv, Security
 , python3 # for tests only
 , cpp11 ? false
-, fetchpatch
 }:
 
 let
@@ -24,36 +22,16 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zeroc-ice";
-  version = "3.7.6";
+  version = "3.7.7";
 
   src = fetchFromGitHub {
     owner = "zeroc-ice";
     repo = "ice";
     rev = "v${version}";
-    sha256 = "0zc8gmlzl2f38m1fj6pv2vm8ka7fkszd6hx2lb8gfv65vn3m4sk4";
+    sha256 = "sha256-h455isEmnRyoasXhh1UaA5PICcEEM8/C3IJf5yHRl5g=";
   };
 
-  patches = [
-    # Fixes for openssl 3.0 / glibc-2.34.
-    (fetchpatch {
-      url = "https://github.com/zeroc-ice/ice/commit/7204b31a082a10cd481c1f31dbb6184ec699160d.patch";
-      sha256 = "sha256-RN8kQrvWRu1oXB7UV7DkYbZ8A0VyJYGArx6ikovwefo=";
-    })
-    (fetchpatch {
-      url = "https://github.com/zeroc-ice/ice/commit/358e7fea00383d55d1c19d38a3bbb64aca803aeb.patch";
-      sha256 = "sha256-ntrTO6qHB7dw398BRdAyJQUfVYW3iEfzUaBYoWWOEDs=";
-    })
-  ];
-
-  buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ]
-    ++ lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=class-memaccess -Wno-error=deprecated-copy";
-
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace Make.rules.Darwin \
-        --replace xcrun ""
-  '';
+  buildInputs = [ zeroc_mcpp bzip2 expat libedit lmdb openssl ];
 
   preBuild = ''
     makeFlagsArray+=(
@@ -97,5 +75,6 @@ in stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index b115cf7b675b8..99163ae5dc6cb 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -17,8 +17,9 @@ stdenv.mkDerivation rec {
     description= "Reliable, high-performance, thread safe, flexible, clear-model, pure C logging library";
     homepage = "https://hardysimpson.github.io/zlog/";
     license = licenses.lgpl21;
-    platforms = platforms.unix;
     maintainers = [ maintainers.matthiasbeyer ];
+    mainProgram = "zlog-chk-conf";
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/lua-modules/generated-packages.nix b/pkgs/development/lua-modules/generated-packages.nix
index 2089cdea46f39..c89493d94e1f0 100644
--- a/pkgs/development/lua-modules/generated-packages.nix
+++ b/pkgs/development/lua-modules/generated-packages.nix
@@ -182,17 +182,17 @@ cassowary = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 }:
 buildLuarocksPackage {
   pname = "cassowary";
-  version = "2.3.1-2";
+  version = "2.3.2-1";
   knownRockspec = (fetchurl {
-    url    = "https://luafr.org/luarocks/cassowary-2.3.1-2.rockspec";
-    sha256 = "04y882f9ai1jhk0zwla2g0fvl56a75rwnxhsl9r3m0qa5i0ia1i5";
+    url    = "https://luarocks.org/cassowary-2.3.2-1.rockspec";
+    sha256 = "0c6sflm8zpgbcdj47s3rd34h69h3nqcciaaqd1wdx5m0lwc3mii0";
   }).outPath;
   src = fetchgit ( removeAttrs (builtins.fromJSON ''{
   "url": "https://github.com/sile-typesetter/cassowary.lua",
-  "rev": "c022a120dee86979d18e4c4613e55e721c632d80",
-  "date": "2021-07-19T14:37:34+03:00",
-  "path": "/nix/store/rzsbr6gqg8vhchl24ma3p1h4slhk0xp7-cassowary.lua",
-  "sha256": "1r668qcvd2a1rx17xp7ajp5wjhyvh2fwn0c60xmw0mnarjb5w1pq",
+  "rev": "e33195f08438c15d725d283979165fda7c6c3321",
+  "date": "2022-04-22T11:23:46+03:00",
+  "path": "/nix/store/51mb376xh9pnh2krk08ljmy01zhr9y3z-cassowary.lua",
+  "sha256": "1lvl40dhzmbqqjrqpjgqlg2kl993fpdy1mpc6d1610zpa9znx1f0",
   "fetchLFS": false,
   "fetchSubmodules": true,
   "deepClone": false,
@@ -211,6 +211,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+cldr = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua, penlight
+}:
+buildLuarocksPackage {
+  pname = "cldr";
+  version = "0.2.0-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/cldr-0.2.0-0.rockspec";
+    sha256 = "1vjwrlrdy10bacn0324fvs4sx85xryyg7npw2mp1k9kmasfr8r1s";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/alerque/cldr-lua.git",
+  "rev": "51e4760838c0a83ef1a76d0a0fb2e9f964069a50",
+  "date": "2022-04-16T14:46:14+03:00",
+  "path": "/nix/store/7jziz15bjm27zw9i3arrxprglakz8n4d-cldr-lua",
+  "sha256": "1i22mcs50z99850j47gkgwyf0ahl4yh1732b4x3davjwy2fwak1x",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua penlight ];
+
+  meta = {
+    homepage = "https://github.com/alerque/cldr-lua";
+    description = "Lua interface to Unicode CLDR data";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT/ICU";
+  };
+}) {};
+
 compat53 = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
@@ -435,6 +469,40 @@ buildLuarocksPackage {
   };
 }) {};
 
+fluent = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua, cldr, luaepnf, penlight
+}:
+buildLuarocksPackage {
+  pname = "fluent";
+  version = "0.2.0-0";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/fluent-0.2.0-0.rockspec";
+    sha256 = "1x3nk8xdf923rvdijr0jx8v6w3wxxfch7ri3kxca0pw80b5bc2fa";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/alerque/fluent-lua.git",
+  "rev": "e1cd4130e460bcd52f9118b7d9f9a72d2e8b902c",
+  "date": "2022-04-16T23:08:20+03:00",
+  "path": "/nix/store/flxlnrzg6rx75qikiggmy494npx59p0b-fluent-lua",
+  "sha256": "12js8l4hcxhziza0sry0f01kfm8f8m6kx843dmcky36z1y2mccmq",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua cldr luaepnf penlight ];
+
+  meta = {
+    homepage = "https://github.com/alerque/fluent-lua";
+    description = "Lua implementation of Project Fluent";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 gitsigns-nvim = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, lua, plenary-nvim
 }:
@@ -659,6 +727,91 @@ buildLuarocksPackage {
   };
 }) {};
 
+lmathx = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "lmathx";
+  version = "20150624-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lmathx-20150624-1.rockspec";
+    sha256 = "181wzsj1mxjyia43y8zwaydxahnl7a70qzcgc8jhhgic7jyi9pgv";
+  }).outPath;
+  src = fetchurl {
+    url    = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.3/lmathx.tar.gz";
+    sha256 = "1r0ax3lq4xx6469aqc6qlfl3jynlghzhl5j65mpdj0kyzv4nknzf";
+  };
+
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/#lmathx";
+    description = "C99 extensions for the math library";
+    maintainers = with lib.maintainers; [ alexshpilkin ];
+    license.fullName = "Public domain";
+  };
+}) {};
+
+lmpfrlib = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchurl, lua
+}:
+buildLuarocksPackage {
+  pname = "lmpfrlib";
+  version = "20170112-2";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/lmpfrlib-20170112-2.rockspec";
+    sha256 = "1x7qiwmk5b9fi87fn7yvivdsis8h9fk9r3ipqiry5ahx72vzdm7d";
+  }).outPath;
+  src = fetchurl {
+    url    = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.c";
+    sha256 = "00d32cwvk298k3vyrjkdmfjgc69x1fwyks3hs7dqr2514zdhgssm";
+  };
+
+  disabled = with lua; (luaOlder "5.3") || (luaAtLeast "5.5");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "http://www.circuitwizard.de/lmpfrlib/lmpfrlib.html";
+    description = "Lua API for the GNU MPFR library";
+    maintainers = with lib.maintainers; [ alexshpilkin ];
+    license.fullName = "LGPL";
+  };
+}) {};
+
+loadkit = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, lua
+}:
+buildLuarocksPackage {
+  pname = "loadkit";
+  version = "1.1.0-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/loadkit-1.1.0-1.rockspec";
+    sha256 = "08fx0xh90r2zvjlfjkyrnw2p95xk1a0qgvlnq4siwdb2mm6fq12l";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/leafo/loadkit.git",
+  "rev": "c6c712dab45f6c568821f9ed7b49c790a44d12e7",
+  "date": "2021-01-07T14:41:10-08:00",
+  "path": "/nix/store/xvwq7b2za8ciww1gjw7vnspg9183xmfa-loadkit",
+  "sha256": "15znriijs7izf9f6vmhr6dnvw3pzr0yr0mh6ah41fmdwjqi7jzcz",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  disabled = with lua; (luaOlder "5.1");
+  propagatedBuildInputs = [ lua ];
+
+  meta = {
+    homepage = "https://github.com/leafo/loadkit";
+    description = "Loadkit allows you to load arbitrary files within the Lua package path";
+    maintainers = with lib.maintainers; [ alerque ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 lpeg = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchurl, lua
 }:
@@ -2479,6 +2632,39 @@ buildLuarocksPackage {
   };
 }) {};
 
+tl = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
+, fetchgit, compat53, argparse, luafilesystem
+}:
+buildLuarocksPackage {
+  pname = "tl";
+  version = "0.13.2-1";
+  knownRockspec = (fetchurl {
+    url    = "https://luarocks.org/tl-0.13.2-1.rockspec";
+    sha256 = "0a9nr03q6w1689drd0r2y8m7qbyxm8n6bkgjplwkr6c6abvbis3f";
+  }).outPath;
+  src = fetchgit ( removeAttrs (builtins.fromJSON ''{
+  "url": "https://github.com/teal-language/tl",
+  "rev": "473fef59f21e836e1337a0e3da3c759a1e3556bd",
+  "date": "2021-07-30T21:02:34-03:00",
+  "path": "/nix/store/29dm1abr2cc9zqs9n9lymg92gaxqh09g-tl",
+  "sha256": "1cj7ihw1kz1n1jkha6q0mq0qmlw1vi04i6pcbw3w1cdf2i4fcglh",
+  "fetchLFS": false,
+  "fetchSubmodules": true,
+  "deepClone": false,
+  "leaveDotGit": false
+}
+ '') ["date" "path"]) ;
+
+  propagatedBuildInputs = [ compat53 argparse luafilesystem ];
+
+  meta = {
+    homepage = "https://github.com/teal-language/tl";
+    description = "Teal, a typed dialect of Lua";
+    maintainers = with lib.maintainers; [ mephistophiles ];
+    license.fullName = "MIT";
+  };
+}) {};
+
 vstruct = callPackage({ buildLuarocksPackage, luaOlder, luaAtLeast
 , fetchgit, lua
 }:
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index cc179f0b9463d..3ca4b219950c9 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -129,6 +129,48 @@ with prev;
     '';
   });
 
+  lmathx = prev.lib.overrideLuarocks prev.lmathx (drv:
+    if luaAtLeast "5.1" && luaOlder "5.2" then {
+      version = "20120430.51-1";
+      knownRockspec = (pkgs.fetchurl {
+        url    = "https://luarocks.org/lmathx-20120430.51-1.rockspec";
+        sha256 = "148vbv2g3z5si2db7rqg5bdily7m4sjyh9w6r3jnx3csvfaxyhp0";
+      }).outPath;
+      src = pkgs.fetchurl {
+        url    = "https://web.tecgraf.puc-rio.br/~lhf/ftp/lua/5.1/lmathx.tar.gz";
+        sha256 = "0sa553d0zlxhvpsmr4r7d841f16yq4wr3fg7i07ibxkz6yzxax51";
+      };
+    } else
+    if luaAtLeast "5.2" && luaOlder "5.3" then {
+      version = "20120430.52-1";
+      knownRockspec = (pkgs.fetchurl {
+        url    = "https://luarocks.org/lmathx-20120430.52-1.rockspec";
+        sha256 = "14rd625sipakm72wg6xqsbbglaxyjba9nsajsfyvhg0sz8qjgdya";
+      }).outPath;
+      src = pkgs.fetchurl {
+        url    = "http://www.tecgraf.puc-rio.br/~lhf/ftp/lua/5.2/lmathx.tar.gz";
+        sha256 = "19dwa4z266l2njgi6fbq9rak4rmx2fsx1s0p9sl166ar3mnrdwz5";
+      };
+    } else
+    {
+      disabled = luaOlder "5.1" || luaAtLeast "5.5";
+      # works fine with 5.4 as well
+      postConfigure = ''
+        substituteInPlace ''${rockspecFilename} \
+          --replace 'lua ~> 5.3' 'lua >= 5.3, < 5.5'
+      '';
+    });
+
+  lmpfrlib = prev.lib.overrideLuarocks prev.lmpfrlib (drv: {
+    externalDeps = [
+      { name = "GMP"; dep = pkgs.gmp; }
+      { name = "MPFR"; dep = pkgs.mpfr; }
+    ];
+    unpackPhase = ''
+      cp $src $(stripHash $src)
+    '';
+  });
+
   lrexlib-gnu = prev.lib.overrideLuarocks prev.lrexlib-gnu (drv: {
     buildInputs = [
       pkgs.gnulib
@@ -240,7 +282,9 @@ with prev;
     ];
   });
 
-  luasystem = prev.lib.overrideLuarocks prev.luasystem (drv: { buildInputs = [ pkgs.glibc.out ]; });
+  luasystem = prev.lib.overrideLuarocks prev.luasystem (drv: pkgs.lib.optionalAttrs pkgs.stdenv.isLinux {
+    buildInputs = [ pkgs.glibc.out ];
+  });
 
   luazip = prev.lib.overrideLuarocks prev.luazip (drv: {
     buildInputs = [
diff --git a/pkgs/development/misc/rpiboot/default.nix b/pkgs/development/misc/rpiboot/default.nix
index 941c7ce904ef2..35fb41d0a8da5 100644
--- a/pkgs/development/misc/rpiboot/default.nix
+++ b/pkgs/development/misc/rpiboot/default.nix
@@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
     description = "Utility to boot a Raspberry Pi CM/CM3/CM4/Zero over USB";
     license = licenses.asl20;
     maintainers = with maintainers; [ cartr ];
-    platforms = [ "aarch64-linux" "armv7l-linux" "armv6l-linux" "x86_64-linux" ];
+    platforms = [ "aarch64-linux" "aarch64-darwin" "armv7l-linux" "armv6l-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 8f5ca85f8299f..b681c3b357037 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -111,10 +111,6 @@ let
       meta.broken = since "10";
     };
 
-    jshint = super.jshint.override {
-      buildInputs = [ pkgs.phantomjs2 ];
-    };
-
     dat = super.dat.override {
       buildInputs = [ self.node-gyp-build pkgs.libtool pkgs.autoconf pkgs.automake ];
       meta.broken = since "12";
@@ -123,6 +119,7 @@ let
     # NOTE: this is a stub package to fetch npm dependencies for
     # ../../applications/video/epgstation
     epgstation = super."epgstation-../../applications/video/epgstation".override (drv: {
+      buildInputs = [ self.node-pre-gyp self.node-gyp-build ];
       meta = drv.meta // {
         platforms = pkgs.lib.platforms.none;
       };
@@ -333,7 +330,7 @@ let
 
       src = fetchurl {
         url = "https://registry.npmjs.org/prisma/-/prisma-${version}.tgz";
-        sha512 = "sha512-oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q==";
+        sha512 = "sha512-l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==";
       };
       postInstall = with pkgs; ''
         wrapProgram "$out/bin/prisma" \
@@ -343,6 +340,12 @@ let
           --set PRISMA_INTROSPECTION_ENGINE_BINARY ${prisma-engines}/bin/introspection-engine \
           --set PRISMA_FMT_BINARY ${prisma-engines}/bin/prisma-fmt
       '';
+
+      passthru.tests = {
+        simple-execution = pkgs.callPackage ./package-tests/prisma.nix {
+          inherit (self) prisma;
+        };
+      };
     };
 
     pulp = super.pulp.override {
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 75748305604e0..3877215335930 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -194,7 +194,6 @@
 , "live-server"
 , "livedown"
 , "lodash"
-, {"lumo-build-deps": "../interpreters/clojurescript/lumo" }
 , "lua-fmt"
 , "madoko"
 , "manta"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 9d7f473ac4df7..5efcf38e83f07 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -103,13 +103,13 @@ let
         sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
       };
     };
-    "@angular-devkit/architect-0.1303.4" = {
+    "@angular-devkit/architect-0.1303.5" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1303.4";
+      version = "0.1303.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.4.tgz";
-        sha512 = "d6YmIWdYvwk6WaknHRcJgiXeJvX9K5i8uPMAaL2P2/LU8n3moIQ59C7SP0uULcHuuiREEmFWOyyrWnGxZCI9bg==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1303.5.tgz";
+        sha512 = "ZF5Vul8UqwDSwYPxJ4YvdG7lmciJZ1nncyt9Dbk0swxw4MGdy0ZIf+91o318qUn/5JrttQ7ZCYoCZJCjYOSBtw==";
       };
     };
     "@angular-devkit/core-13.3.2" = {
@@ -121,13 +121,13 @@ let
         sha512 = "wav5plcnlxQAfZ+0EUt3dvVTJnJ1au2TlKVQ0jSQJdR1LA6N7QUI49N2Ua6ZnDMwruQaQkoynitMW2l1it3qYQ==";
       };
     };
-    "@angular-devkit/core-13.3.4" = {
+    "@angular-devkit/core-13.3.5" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.3.4";
+      version = "13.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.4.tgz";
-        sha512 = "gj6i8ksPaT2bvYwI7wKJxLX53pHfTmZc1RaNbAGfZB1/zFNnb3MPj8utTcJSk4qMsGXuDDhiB7hpTKBw8ROaGA==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.3.5.tgz";
+        sha512 = "w7vzK4VoYP9rLgxJ2SwEfrkpKybdD+QgQZlsDBzT0C6Ebp7b4gkNcNVFo8EiZvfDl6Yplw2IAP7g7fs3STn0hQ==";
       };
     };
     "@angular-devkit/schematics-13.3.2" = {
@@ -139,13 +139,13 @@ let
         sha512 = "XCLb23jmqHN0gJg9ZlICaFgfpfnCufIQp5SOsRKMKRkhjKycvDmKnfBTKDlkzb1IaUl6wQwP5k7Z69b9EX+CQw==";
       };
     };
-    "@angular-devkit/schematics-13.3.4" = {
+    "@angular-devkit/schematics-13.3.5" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.3.4";
+      version = "13.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.4.tgz";
-        sha512 = "gKNpMMoZJjLKdXxjuVembic4GWa4AYV7kU1ou3ZuZoDKtKcig9URISr1wjS+nrhKYz+miFy0zIqSGMMattDlDQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.3.5.tgz";
+        sha512 = "0N/kL/Vfx0yVAEwa3HYxNx9wYb+G9r1JrLjJQQzDp+z9LtcojNf7j3oey6NXrDUs1WjVZOa/AIdRl3/DuaoG5w==";
       };
     };
     "@angular-devkit/schematics-cli-13.3.2" = {
@@ -319,13 +319,13 @@ let
         sha512 = "vF+zxhPiLtkwxONs6YanSt1EpwpGilThpneExUN5K3tCymuxNnVq2yojTvnpRjv2QfsEIt/n7ozPIIzBLwGIDQ==";
       };
     };
-    "@apollographql/apollo-tools-0.5.3" = {
+    "@apollographql/apollo-tools-0.5.4" = {
       name = "_at_apollographql_slash_apollo-tools";
       packageName = "@apollographql/apollo-tools";
-      version = "0.5.3";
+      version = "0.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.3.tgz";
-        sha512 = "VcsXHfTFoCodDAgJZxN04GdFK1kqOhZQnQY/9Fa147P+I8xfvOSz5d+lKAPB+hwSgBNyd7ncAKGIs4+utbL+yA==";
+        url = "https://registry.npmjs.org/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz";
+        sha512 = "shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw==";
       };
     };
     "@apollographql/graphql-playground-html-1.6.27" = {
@@ -472,31 +472,31 @@ let
         sha512 = "+D3xnPD5985iphgAqgUerBDs371a2WzzoEVi7eHJUMMsP/gEnSTdSH0HNxsqhYv6CW4EdKtvDAQdAwA1VtCf2A==";
       };
     };
-    "@aws-sdk/client-s3-3.81.0" = {
+    "@aws-sdk/client-s3-3.88.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.81.0";
+      version = "3.88.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.81.0.tgz";
-        sha512 = "TzdSQlnLniRh31ix5kLkbBNM2TZnm4Bf0NXkQqTRzBIj4ngDjiiKoQX+avl8EeZ2WehVYGLuAG8iWN0psxIICg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.88.0.tgz";
+        sha512 = "OZZZ2k1YMpnWYi+9Jb9lIhc2Gr6Z4vl35MKlWAsSC9ed/3vzPhkyKBAFuIi7wIWsRof0QtVLlpQKKBPyylK95g==";
       };
     };
-    "@aws-sdk/client-sso-3.81.0" = {
+    "@aws-sdk/client-sso-3.85.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.81.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.81.0.tgz";
-        sha512 = "VP6igPAA6pfF7Z7oBILeN4gVf/g6HLnof/oI6OLJp+I4633IKyajxcuSXcH1hYUVkWDIsNE9AW7/tZDNV1KX9Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.85.0.tgz";
+        sha512 = "JMW0NzFpo99oE6O9M/kgLela73p4vmhe/5TIcdrqUvP9XUV9nANl5nSXh3rqLz0ubmliedz9kdYYhwMC3ntoXg==";
       };
     };
-    "@aws-sdk/client-sts-3.81.0" = {
+    "@aws-sdk/client-sts-3.87.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.81.0";
+      version = "3.87.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.81.0.tgz";
-        sha512 = "NmuTUHtFxMLz05CMXjCt/9joCa6R2Vv3trbnjPGhhwcgl0KOeYO19PxDaKdckx0QFH7b3EL9eRl5CLxD6gf+PQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.87.0.tgz";
+        sha512 = "JGI5rzSq8T7IVlfDJ8ltGl8nyVEtwvqXrYR87DwTjeE4HP+/oBdWdbO0oBL1TJMGjzZcENyVYvmaSAkobenkTg==";
       };
     };
     "@aws-sdk/config-resolver-3.80.0" = {
@@ -526,22 +526,22 @@ let
         sha512 = "BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.81.0" = {
+    "@aws-sdk/credential-provider-ini-3.85.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.81.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.81.0.tgz";
-        sha512 = "Fl29sS5V40/WnQFSzeVZEN0E79ND/YuzuWB4aw6SfX44fA6CtpN0HZzvVZxdtPGAQwezPSPGZBc7JrbAVBevTQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.85.0.tgz";
+        sha512 = "KgzLGq+w8OrSLutwdYUw0POeLinGQKcqvQJ9702eoeXCwZMnEHwKqU61bn8QKMX/tuYVCNV4I1enI7MmYPW8Lw==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.81.0" = {
+    "@aws-sdk/credential-provider-node-3.87.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.81.0";
+      version = "3.87.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.81.0.tgz";
-        sha512 = "50YSQdvWrjoAmw/tkJNaDUntNtaCS5QsL86tSPKWAdvpcoath52pQhOGW7PgLMDMRFvh726yOzK2NdrK2eD2yg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.87.0.tgz";
+        sha512 = "yL9W5nX00grNNsGj2df1y7hQ0F77UA7+2toPOVqYPIDhFtIUA97AVYiBEFQz1mO9OAhUfCGgxuFF4pyqFoMcHQ==";
       };
     };
     "@aws-sdk/credential-provider-process-3.80.0" = {
@@ -553,13 +553,13 @@ let
         sha512 = "3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.81.0" = {
+    "@aws-sdk/credential-provider-sso-3.85.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.81.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.81.0.tgz";
-        sha512 = "TKcPnHgLBPN00p3nRstfWg+Rf0rJJelBDJXFgosqh/v0FzJD9UKab9nqOLbrCb15Fjod/stt1aXgdkrw3uvpjw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.85.0.tgz";
+        sha512 = "uE238BgJ/AftPDlBGDlV0XdiNWnUZxFmUmLxgbr19/6jHaCuBr//T6rP+Bc0BjcHkvQCvTdFoCjs17R3Quy3cw==";
       };
     };
     "@aws-sdk/credential-provider-web-identity-3.78.0" = {
@@ -760,13 +760,13 @@ let
         sha512 = "CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.78.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.86.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.78.0";
+      version = "3.86.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.78.0.tgz";
-        sha512 = "gxtfVHaL0CkKDIEwRQnmBequtN3dsCtY5LByZQoP3l5qEuTAzwxgbtvGUfHE8LwDVByBqUEFanzafjv1KJ3F8w==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.86.0.tgz";
+        sha512 = "1L9q8iJXy/KNyVR8JRs4DZ5SJse6nJPiK4AR8c2xF5FWHdGoFaLcdqpg2/TLB1kpdcfGgNp96uCROxh+IPXtDQ==";
       };
     };
     "@aws-sdk/middleware-sdk-sts-3.78.0" = {
@@ -832,13 +832,13 @@ let
         sha512 = "vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==";
       };
     };
-    "@aws-sdk/node-http-handler-3.78.0" = {
+    "@aws-sdk/node-http-handler-3.82.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.78.0";
+      version = "3.82.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.78.0.tgz";
-        sha512 = "oGnX91QLB3qaeh2x5n7jtw9RZukLZ2Rqjf8/smVIedAPMJg4fuqnDN/597j+wlEFDPZFpGO2eoE4nah3BoWtwg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.82.0.tgz";
+        sha512 = "yyq/DA/IMzL4fLJhV7zVfP7aUQWPHfOKTCJjWB3KeV5YPiviJtSKb/KyzNi+gQyO7SmsL/8vQbQrf3/s7N/2OA==";
       };
     };
     "@aws-sdk/property-provider-3.78.0" = {
@@ -877,13 +877,13 @@ let
         sha512 = "csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.81.0" = {
+    "@aws-sdk/s3-request-presigner-3.88.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.81.0";
+      version = "3.88.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.81.0.tgz";
-        sha512 = "0VDYMqVjk1knv3cSOZQCmPEhg4EmBVti2Do+SNX2bKQytTbzbYlX+bhMINySpYFmnukf26Pj8iSh6v3iRFdwKQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.88.0.tgz";
+        sha512 = "Ms3Fx+9HBV4llP5ZFrZ9LRQ6GTWGQs1ooX6kmdnzC1uNhKhAdcPrs4ngDQ4xqSsOCF77KMPaxRDTjj9o1DGqIQ==";
       };
     };
     "@aws-sdk/service-error-classification-3.78.0" = {
@@ -913,22 +913,22 @@ let
         sha512 = "eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==";
       };
     };
-    "@aws-sdk/signature-v4-multi-region-3.78.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.88.0" = {
       name = "_at_aws-sdk_slash_signature-v4-multi-region";
       packageName = "@aws-sdk/signature-v4-multi-region";
-      version = "3.78.0";
+      version = "3.88.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.78.0.tgz";
-        sha512 = "5C+3m4dikUsSLTxW++aBCHP0DT1niiEfXR4UdnjJzcjTtmi/jbL/i8UPG5sCpib9Mu6TMW633tN0h5woVPIIcg==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.88.0.tgz";
+        sha512 = "RBbyQRpohlIQiuZc5qAvwbXO0Bob9XhHFS/kuLh+DcyeaBp+m+Bt291FX1Ksz2A0Q3ETNM34LFt7kTOBtMvjIQ==";
       };
     };
-    "@aws-sdk/smithy-client-3.78.0" = {
+    "@aws-sdk/smithy-client-3.85.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.78.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.78.0.tgz";
-        sha512 = "qweaupZtFPm9rFiEgErnVNgB6co/DylJfhC6/UImHBKa7mGzxv6t2JDm6+d8fs8cNnGNXozN+jJG8Lz6C8Roxw==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.85.0.tgz";
+        sha512 = "Ox/yQEAnANzhpJMyrpuxWtF/i3EviavENczT7fo4uwSyZTz/sfSBQNjs/YAG1UeA6uOI3pBP5EaFERV5hr2fRA==";
       };
     };
     "@aws-sdk/types-3.78.0" = {
@@ -1012,31 +1012,31 @@ let
         sha512 = "30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==";
       };
     };
-    "@aws-sdk/util-create-request-3.78.0" = {
+    "@aws-sdk/util-create-request-3.85.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.78.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.78.0.tgz";
-        sha512 = "aGRuBXGZ/GFYpP+Bkdzo6kyfX1nkH0dhFK6RYZLxe3r7X/AfkMKeUmIco9tyS1sBAiyoy6a7Re/Oux2Y+ASnjg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.85.0.tgz";
+        sha512 = "AQrG+mIgjtcN23O4zCAWpIwyPIHzKZAcPbF8OROAbNcQcMwyg2Q9hyodRR5l3fzGG2jiRt9P3copvORBWB7diA==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.78.0" = {
+    "@aws-sdk/util-defaults-mode-browser-3.85.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.78.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.78.0.tgz";
-        sha512 = "fsKEqlRbrztjpdTsMbZTlWxFpo3Av9QeYYpJuFaZbwfE0ElzinUU54kKwUrKbi60HRroQV+itoUNj3JogQDeHw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.85.0.tgz";
+        sha512 = "oqK/e2pHuMWrvTJWtDBzylbj232ezlTay5dCq4RQlyi3LPPVBQ08haYD1Mk2ikQ/qa0XvbSD6YVhjpTlvwRNjw==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.81.0" = {
+    "@aws-sdk/util-defaults-mode-node-3.85.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.81.0";
+      version = "3.85.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.81.0.tgz";
-        sha512 = "+7YOtl+TxF08oXt2h/ONP5qk6ZZg6GaO1YSAdpjIfco4odhpy7N2AlEGSX0jZyP6Zbfi+8N7yihBa4sOuOf+Cw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.85.0.tgz";
+        sha512 = "KDNl4H8jJJLh6y7I3MSwRKe4plKbFKK8MVkS0+Fce/GJh4EnqxF0HzMMaSeNUcPvO2wHRq2a60+XW+0d7eWo1A==";
       };
     };
     "@aws-sdk/util-format-url-3.78.0" = {
@@ -1162,7 +1162,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.1.tgz";
-        sha1 = "6967350a94640f6b02855169bd897ce54d6cebe2";
+        sha512 = "fyPhr8C1DHQqq/xC8gIg2jmYTw/SoY+KgtVFs6H+DFhfh4Hr4OSDeQZuK1eGpOjhuckWy9A1Hhq84+uRjoznLQ==";
       };
     };
     "@azu/style-format-1.0.0" = {
@@ -1171,7 +1171,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.0.tgz";
-        sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
+        sha512 = "L7iaxNrk0OLsH7kw3yx3KVQTKhc2zeW0D9SLrRCqbTZi3XtvSVmmjqO73kR4EnWbTRZ18mwdAikbFYJ0coZ55Q==";
       };
     };
     "@babel/cli-7.17.10" = {
@@ -1516,15 +1516,6 @@ let
         sha512 = "di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==";
       };
     };
-    "@babel/plugin-external-helpers-7.8.3" = {
-      name = "_at_babel_slash_plugin-external-helpers";
-      packageName = "@babel/plugin-external-helpers";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz";
-        sha512 = "mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==";
-      };
-    };
     "@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";
@@ -1678,15 +1669,6 @@ let
         sha512 = "tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==";
       };
     };
-    "@babel/plugin-syntax-bigint-7.8.3" = {
-      name = "_at_babel_slash_plugin-syntax-bigint";
-      packageName = "@babel/plugin-syntax-bigint";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz";
-        sha512 = "wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==";
-      };
-    };
     "@babel/plugin-syntax-class-properties-7.12.13" = {
       name = "_at_babel_slash_plugin-syntax-class-properties";
       packageName = "@babel/plugin-syntax-class-properties";
@@ -1741,15 +1723,6 @@ let
         sha512 = "UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==";
       };
     };
-    "@babel/plugin-syntax-import-meta-7.10.4" = {
-      name = "_at_babel_slash_plugin-syntax-import-meta";
-      packageName = "@babel/plugin-syntax-import-meta";
-      version = "7.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz";
-        sha512 = "Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==";
-      };
-    };
     "@babel/plugin-syntax-json-strings-7.8.3" = {
       name = "_at_babel_slash_plugin-syntax-json-strings";
       packageName = "@babel/plugin-syntax-json-strings";
@@ -2245,15 +2218,6 @@ let
         sha512 = "+l6FlG1j73t4wh78W41StbcCz0/9a1/y+vxfnjtHl060kSmcgMfGzK9MEkLvrCOXfhp9RCX+d88sm6rOqxEIEQ==";
       };
     };
-    "@babel/preset-stage-2-7.8.3" = {
-      name = "_at_babel_slash_preset-stage-2";
-      packageName = "@babel/preset-stage-2";
-      version = "7.8.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/preset-stage-2/-/preset-stage-2-7.8.3.tgz";
-        sha512 = "dStnEQgejNYIHFNACdDCigK4BF7wgW6Zahv9Dc2un7rGjbeVtZhBfR3sy0I7ZJOhBexkFxVdMZ5hqmll7BFShw==";
-      };
-    };
     "@babel/preset-typescript-7.16.7" = {
       name = "_at_babel_slash_preset-typescript";
       packageName = "@babel/preset-typescript";
@@ -2344,13 +2308,13 @@ let
         sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
       };
     };
-    "@blueprintjs/colors-4.1.1" = {
+    "@blueprintjs/colors-4.1.2" = {
       name = "_at_blueprintjs_slash_colors";
       packageName = "@blueprintjs/colors";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.1.tgz";
-        sha512 = "uA/TDvIOG/TJ+mDJNerFRK5WnUJlInbRshzHI5SbJXlaPXXIj5BMxAXB67izH0gjvSNj5cXy/9UIgTO2WCB7XA==";
+        url = "https://registry.npmjs.org/@blueprintjs/colors/-/colors-4.1.2.tgz";
+        sha512 = "wvq92hgRZZYrohI8GaN/pV0iQfxvWa2RI1cLYuItDvXM6i/u1riaw0RcsqqAIL1MH1fHsKFdH1O8i7Tj5a+lpQ==";
       };
     };
     "@blueprintjs/core-3.54.0" = {
@@ -2434,31 +2398,31 @@ let
         sha512 = "mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w==";
       };
     };
-    "@cdktf/hcl2cdk-0.10.3" = {
+    "@cdktf/hcl2cdk-0.10.4" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.10.3";
+      version = "0.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.10.3.tgz";
-        sha512 = "JM+fknoNa+w6HXMC6XinOToxiofxpCfwskIimR2OgHflEuyuAjN4hX21fgys4mRPQq9ItNm/PIyC1FtAvr3fvA==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.10.4.tgz";
+        sha512 = "o6/4Gtx7o24cwChYHc58GQfCUB94FEKBHRCx4TAaeOo8JDwdmveGiKTI35/9riwHrwxEE5WdYgQZfbWNodJ3qg==";
       };
     };
-    "@cdktf/hcl2json-0.10.3" = {
+    "@cdktf/hcl2json-0.10.4" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.10.3";
+      version = "0.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.10.3.tgz";
-        sha512 = "kiiif6H/mFBRfg9SJOVSOyOFRl5r2OFHDIssp+1q4w1nlKwQHwFkGcrYrWsID9gvFNaLZepbWg6GbMqT7sPJZw==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.10.4.tgz";
+        sha512 = "futYHyzFIOc7N1LeGFM0Td854pwkmgwNYh2uRL/ImO/KrgsRQfxjb4eZqeWZ70p1Xdh52vt7Ae6fSXb9t+EB7g==";
       };
     };
-    "@cdktf/provider-generator-0.10.3" = {
+    "@cdktf/provider-generator-0.10.4" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.10.3";
+      version = "0.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.10.3.tgz";
-        sha512 = "T8MLSXIZqO4ZmXuxrM7ySPaA9qsh3vUTBpxiOA6z24PoVKAhKQXZFUtyrmlSrHc0DoGibyYQqD2H4NQZ414oLw==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.10.4.tgz";
+        sha512 = "bRzR7E3boCAd2l8AhybLQ53roRMZmQH1Dr8Nx25pZhTGzMkUXUOsy+3VU9FC2jHdRAIVESWtncPWW0GOD+cC5w==";
       };
     };
     "@chemzqm/neovim-5.7.9" = {
@@ -2479,15 +2443,6 @@ let
         sha512 = "1rgl8GNttf8+Ru/lOhWmH36zYQwUBaKIChHXe66KdJXDF+lRUaFhD1cR5NBCOFR983xzrvTJtGp0GWoYbILd1Q==";
       };
     };
-    "@cnakazawa/watch-1.0.4" = {
-      name = "_at_cnakazawa_slash_watch";
-      packageName = "@cnakazawa/watch";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz";
-        sha512 = "v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==";
-      };
-    };
     "@colors/colors-1.5.0" = {
       name = "_at_colors_slash_colors";
       packageName = "@colors/colors";
@@ -2497,15 +2452,6 @@ let
         sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
       };
     };
-    "@comandeer/babel-plugin-banner-5.0.0" = {
-      name = "_at_comandeer_slash_babel-plugin-banner";
-      packageName = "@comandeer/babel-plugin-banner";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@comandeer/babel-plugin-banner/-/babel-plugin-banner-5.0.0.tgz";
-        sha512 = "sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==";
-      };
-    };
     "@commitlint/config-validator-16.2.1" = {
       name = "_at_commitlint_slash_config-validator";
       packageName = "@commitlint/config-validator";
@@ -2659,31 +2605,31 @@ let
         sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
       };
     };
-    "@cspell/cspell-bundled-dicts-5.19.7" = {
+    "@cspell/cspell-bundled-dicts-5.20.0" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.19.7.tgz";
-        sha512 = "9h2KdI3yKODc8rAxkgB5UZb6RLwwEO25Fo91vnOtM1xfwLhX/scMACU1DoqtnTVaE73HoQ46DYAZAAq/OloRFQ==";
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.20.0.tgz";
+        sha512 = "tCO32xVSuey4Tg8XuayBzcrCAfrAXL8J1PeYl26+/ZUl5zkAL4AuyL0Cf4e2PpeEomnUWP2y5noZLLbUeOIwnw==";
       };
     };
-    "@cspell/cspell-pipe-5.19.7" = {
+    "@cspell/cspell-pipe-5.20.0" = {
       name = "_at_cspell_slash_cspell-pipe";
       packageName = "@cspell/cspell-pipe";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.19.7.tgz";
-        sha512 = "C2+qovrXyZtoM+IcyMuwwYieoGBwwnWORat+j7bkIkVHf6Pa9spxY3D1IdLt04PqWBKWKHb1g9KzJzw5grBqZw==";
+        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.20.0.tgz";
+        sha512 = "dGHf4XZgPlGqviYTD+5ZwSk3hpiywsuuDqnoPo9SeQ1xPon7uFVKsMiAAzvhGAkkBaKIBNP/nwPU0feYvLoCJg==";
       };
     };
-    "@cspell/cspell-types-5.19.7" = {
+    "@cspell/cspell-types-5.20.0" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.19.7.tgz";
-        sha512 = "xL9a0oE8kPQ/GCkE/bxE5DTCMTctCpk7tdrhYG26wVbMK1VRGo8fv9w+vRVzXgTfF5jTxolEA1LTtfVBuik1MA==";
+        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.20.0.tgz";
+        sha512 = "p06/HAKgalqyGHfnowJvjO3SQHxuOzKdiJTUlUi8x1CrEk7PmZEHuORlt9tVVZ46Xf2qY9+QLeTtattlWPJ39A==";
       };
     };
     "@cspell/dict-ada-2.0.0" = {
@@ -2803,13 +2749,13 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
-    "@cspell/dict-en_us-2.2.1" = {
+    "@cspell/dict-en_us-2.2.4" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "2.2.1";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.1.tgz";
-        sha512 = "tx6sJOCgfLRTiXxF5Jeheo0wnhc+nedmEx9IKnWMJFzOZ1J9gXmdjDBlZE/zG8g7tsH415yqqPBh6k5J9bupiA==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.2.4.tgz";
+        sha512 = "gblsvIPLNAK+pRR/Mn2m2kRQLVFeoORQJeaZKlGHWckA3s0iuTN49hSSTbK66k3aWlzhirtSoux7IdvT2RpgnQ==";
       };
     };
     "@cspell/dict-filetypes-2.0.1" = {
@@ -2830,13 +2776,13 @@ let
         sha512 = "AgkTalphfDPtKFPYmEExDcj8rRCh86xlOSXco8tehOEkYVYbksOk9XH0YVH34RFpy93YBd2nnVGLgyGVwagcPw==";
       };
     };
-    "@cspell/dict-fullstack-2.0.4" = {
+    "@cspell/dict-fullstack-2.0.5" = {
       name = "_at_cspell_slash_dict-fullstack";
       packageName = "@cspell/dict-fullstack";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-2.0.4.tgz";
-        sha512 = "+JtYO58QAXnetRN+MGVzI8YbkbFTLpYfl/Cw/tmNqy7U1IDVC4sTXQ2pZvbbeKQWFHBqYvBs0YASV+mTouXYBw==";
+        url = "https://registry.npmjs.org/@cspell/dict-fullstack/-/dict-fullstack-2.0.5.tgz";
+        sha512 = "jnLnHZ4HcCFNUfN+q7m0CUDtISNKat0Jahe1GgnAdEwzcozqKBhlGAjV7mQWPtKpqfJU61JakDnrxzqefAfZHw==";
       };
     };
     "@cspell/dict-git-1.0.1" = {
@@ -2929,13 +2875,13 @@ let
         sha512 = "ztBWzhvI+YaMehICSJ65cohhjQqoztxf9vrS3YckOiVGBFvUMaFVNdX9klQkvrLcS/O4+2PzoGeIEkmf99amLA==";
       };
     };
-    "@cspell/dict-npm-2.0.2" = {
+    "@cspell/dict-npm-2.0.3" = {
       name = "_at_cspell_slash_dict-npm";
       packageName = "@cspell/dict-npm";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-2.0.2.tgz";
-        sha512 = "Q5ua0aeKTxW4WxvtU+UMdct46hCStOTeEiiG8iinTh/mH5brmdtMEj4olO8+mmkAKPpIC4TI3TmaaN6RN+Vpgw==";
+        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-2.0.3.tgz";
+        sha512 = "K/rnVhmHkR3jfdo7o8P2NDKyMcpVe9pUBiFDY1y2C0YqZXIxCz1f5hObm/hxyO+Vbn5VLU3TKU5fZ5z3LspXOg==";
       };
     };
     "@cspell/dict-php-2.0.0" = {
@@ -2965,13 +2911,13 @@ let
         sha512 = "h4xULfVEDUeWyvp1OO19pcGDqWcBEQ7WGMp3QBHyYpjsamlzsyYYjCRSY2ZvpM7wruDmywSRFmRHJ/+uNFT7nA==";
       };
     };
-    "@cspell/dict-python-2.0.6" = {
+    "@cspell/dict-python-3.0.3" = {
       name = "_at_cspell_slash_dict-python";
       packageName = "@cspell/dict-python";
-      version = "2.0.6";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-2.0.6.tgz";
-        sha512 = "54ICgMRiGwavorg8UJC38Fwx8tW8WKj8pimJmFUd0F/ImQ8wmeg4VrmyMach5MZVUaw1qUe2aP5uSyqA15Q0mg==";
+        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-3.0.3.tgz";
+        sha512 = "Mt415KczTfqmLvKTgeV8FzMzpms9baTS0P5HfULTW+UxQtZeroviYyRM9TJPJKJSoI0ISu0GiIDgmYlV7+YPog==";
       };
     };
     "@cspell/dict-r-1.0.2" = {
@@ -3010,13 +2956,13 @@ let
         sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
-    "@cspell/dict-software-terms-2.1.4" = {
+    "@cspell/dict-software-terms-2.1.5" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.4.tgz";
-        sha512 = "MB2eT9qhbnIEJajGv+ndzzi6S8NCJ9cMyeGJYMoRAiJobTKP6xPrT37VjPzhckRtrHJGG//UgtQ4NsiK5aBITw==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.5.tgz";
+        sha512 = "ylXWCsOJlYuucaMoHaHQLVaB8HeDrsCZ42a3jrTC/i6F/SF9I+4tBg4lMivd4w31bXBgILdbIvVHtWzJf+5m0A==";
       };
     };
     "@cspell/dict-swift-1.0.2" = {
@@ -3070,7 +3016,7 @@ let
       version = "18.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@cycle/dom/-/dom-18.3.0.tgz";
-        sha1 = "37b9f55c6b0f629d1b689ece57637768fbeed2b0";
+        sha512 = "f0/+Hk/fCiODGlCDIcs3O5Gv4AZ8vehs/BbL8EnYB07M/H3sECxox2iYeC/1yVhiUY6kTxyF5ms5bpzJHi8jEQ==";
       };
     };
     "@cycle/http-14.10.0" = {
@@ -3115,7 +3061,7 @@ let
       version = "0.10.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/@cycle/time/-/time-0.10.1.tgz";
-        sha1 = "cbc4b9a68981bf0b501ccd06a9058acd65309bf7";
+        sha512 = "BGzQLeZGA1PtwEkbwgItUEOEgE7kDZL151DuqMRaH172dY4NIMpFoLc6OghiGdtNBJGVkbfJ/UTKiM0iRsApIg==";
       };
     };
     "@dabh/diagnostics-2.0.3" = {
@@ -3442,13 +3388,13 @@ let
         sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@eslint/eslintrc-1.2.2" = {
+    "@eslint/eslintrc-1.2.3" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz";
-        sha512 = "lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.3.tgz";
+        sha512 = "uGo44hIwoLGNyduRpjdEpovcbMdd+Nv7amtmJxnKmI8xj6yd5LncmSwDa5NgX/41lIFJtkjD6YdVfgEzPfJ5UA==";
       };
     };
     "@exodus/schemasafe-1.0.0-rc.6" = {
@@ -3640,13 +3586,13 @@ let
         sha512 = "HwFvBMtikal8s2mwf3veE8TReVOhkuMXX7HOBhRq8BSbq7RPnVzh6r8tVJVrIaWfqRn3s85GFvzU0YjqcvvHLA==";
       };
     };
-    "@expo/xcpretty-4.1.1" = {
+    "@expo/xcpretty-4.1.2" = {
       name = "_at_expo_slash_xcpretty";
       packageName = "@expo/xcpretty";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.1.1.tgz";
-        sha512 = "2ssiyKGjgRUn61MSdSQyptV5lq1BtaT1DX80OjnCLvg+tXxIp2MVLZASSNqYqo8gQotghv35EpVrWBmOxMFuoQ==";
+        url = "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.1.2.tgz";
+        sha512 = "B2Nu52RFpXvZejEUllXnPQtKUoUcO799FHEAAU3quTb3Q10irUxhYAI2H+xRLg3pDYZEO7w09CoNYO8zHfeQrw==";
       };
     };
     "@fast-csv/format-4.3.5" = {
@@ -3730,13 +3676,13 @@ let
         sha512 = "jzTyqhockpunkFKbEK+8sBP2cbgLllcmcWdTkCrxb+8CxLXD5bMWGMgUiI99Xz7+G/01QBMgAHOngKC05dVS7A==";
       };
     };
-    "@fluentui/react-8.67.2" = {
+    "@fluentui/react-8.67.4" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.67.2";
+      version = "8.67.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.67.2.tgz";
-        sha512 = "QzDa4gXcVacBsUfXKRQV+tL7NwBJZpzgJU/lRlI4zjeC9pqiBxh6ZmxtHu0XXXIKFXa0DyesgnAKBbyqGsENmw==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.67.4.tgz";
+        sha512 = "iBbSyOmsuxRJkn1P4rMrvN5uAyORrtNAXLk9qXzpI7h9ohXZPfGCImHXn7GyrVON0zGtjNEYevkW5VS/M2hDww==";
       };
     };
     "@fluentui/react-focus-8.5.7" = {
@@ -3874,13 +3820,13 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-2.19.3" = {
+    "@google-cloud/pubsub-2.19.4" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.19.3";
+      version = "2.19.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.19.3.tgz";
-        sha512 = "VUP+4vaKPrgy/9YzZHfZgR+9jnmmZe6ZwkWS8xVq5B5DdSJAYAEjKWuYcY9MQo9sNeyVAQCzTV6zzaS57vya0g==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.19.4.tgz";
+        sha512 = "+aZxq6N5XGarQS3xGXjKSRFy4TB+3PMpI0CBmSrcC59g3TB5nmwps3pv/KkdLa0Cd+CPHDdfrEW1uSrGBMLICw==";
       };
     };
     "@grammyjs/types-2.7.1" = {
@@ -3919,13 +3865,13 @@ let
         sha512 = "IuR2SB2MnC2ztA/XeTMTfWcA0Wy7ZH5u+nDkDNLAdX+AaSyDnsQS35sCmHqG0VOGTl7rzoyBWLCKGwSJplgtwg==";
       };
     };
-    "@graphql-tools/batch-execute-8.4.6" = {
+    "@graphql-tools/batch-execute-8.4.7" = {
       name = "_at_graphql-tools_slash_batch-execute";
       packageName = "@graphql-tools/batch-execute";
-      version = "8.4.6";
+      version = "8.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.6.tgz";
-        sha512 = "8O42fReZMssrA4HCkpK68RlRQz/QAvLfOkz+/6dDX2X7VgZtRx3VvFiJd2hFaGdNbLzklBWXF9E6hJdJGkEO5g==";
+        url = "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.4.7.tgz";
+        sha512 = "+ZXikTo8kJ1hJAQrT94sUrwmdL8EcvoDz4HULbb4B8hIFw0PPBaGkEaN8u5ylsCLOEoWIQNe1SwHx9yDhlvnJg==";
       };
     };
     "@graphql-tools/delegate-7.1.5" = {
@@ -3937,13 +3883,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.7.7" = {
+    "@graphql-tools/delegate-8.7.8" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.7.7";
+      version = "8.7.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.7.tgz";
-        sha512 = "Yb9UHG+Upm0M+5FgtWipXM0/Q8Vuuh1Ieod7hFDmAwHGHbmwG0YpcS/NMdxrQAZYWnli9EdnSPgDAFnWLFN+ZQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.7.8.tgz";
+        sha512 = "QRpk0B0VD+23mC3ePBLM542TvCXbQhdr0V/AmcnpxQLsV27/NA6fDxxN/zjjjs15M5v9/M2DaBT4rwY9NMMlQA==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -3955,22 +3901,22 @@ let
         sha512 = "5k2SNz0W87tDcymhEMZMkd6/vs6QawDyjQXWtqkuLTBF3vxjxPD1I4dwHoxgWPIjjANhXybvulD7E+St/7s9TQ==";
       };
     };
-    "@graphql-tools/graphql-file-loader-7.3.11" = {
+    "@graphql-tools/graphql-file-loader-7.3.12" = {
       name = "_at_graphql-tools_slash_graphql-file-loader";
       packageName = "@graphql-tools/graphql-file-loader";
-      version = "7.3.11";
+      version = "7.3.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.11.tgz";
-        sha512 = "3RMTfBN0VYSJH+5he9DxW8nGSn5p2+dNN2O2H88QSSwGorkONmKBdmf+9+JTzrEDvPObOzBjIuSD8wCnXlNaQA==";
+        url = "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.3.12.tgz";
+        sha512 = "V1K+g0QBflBnN58pU6jo7qrmXfIJjSgmIGo4zYxbMwfvcYCQcTmfYnKWUkvZmBj0cXIAGfhqSOQZsxZW9rgXIA==";
       };
     };
-    "@graphql-tools/import-6.6.13" = {
+    "@graphql-tools/import-6.6.14" = {
       name = "_at_graphql-tools_slash_import";
       packageName = "@graphql-tools/import";
-      version = "6.6.13";
+      version = "6.6.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.13.tgz";
-        sha512 = "yqdCem+ZZFVAaIC2IxWyAXSEHLNPIuMzm4avTQe/LbYNRFRTpzyIYo3clc22ixeuh2LqSL3tLXKq2IsggCAeQw==";
+        url = "https://registry.npmjs.org/@graphql-tools/import/-/import-6.6.14.tgz";
+        sha512 = "XN6swtMdUxd9czmdNIK6yJ0w5t4FOUWSoSkYP0+to8j44r8zdM3nsAppoA0OLmsUY+JnTBgkW3jGlOFvqC3HWg==";
       };
     };
     "@graphql-tools/json-file-loader-6.2.6" = {
@@ -3982,13 +3928,13 @@ let
         sha512 = "CnfwBSY5926zyb6fkDBHnlTblHnHI4hoBALFYXnrg0Ev4yWU8B04DZl/pBRUc459VNgO2x8/mxGIZj2hPJG1EA==";
       };
     };
-    "@graphql-tools/json-file-loader-7.3.11" = {
+    "@graphql-tools/json-file-loader-7.3.12" = {
       name = "_at_graphql-tools_slash_json-file-loader";
       packageName = "@graphql-tools/json-file-loader";
-      version = "7.3.11";
+      version = "7.3.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.11.tgz";
-        sha512 = "3in/1y+OVKP3eJ8aloxWD2HdZLcZChgHRk5j3ey3C+ANTwoedIgTWcwxro+iLH40IZ7a6z+I/Lb2dEc8xlgwug==";
+        url = "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.3.12.tgz";
+        sha512 = "gmH6XFN7Alt/hGXeez6Jlp0/lHuY9O1rLVKq5w5FqslkQvWYg2dqzhn2U9jRqD42NbEmSQ5Sjhfkdmc4VT6OfA==";
       };
     };
     "@graphql-tools/load-6.2.4" = {
@@ -4000,13 +3946,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.5.10" = {
+    "@graphql-tools/load-7.5.11" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.5.10";
+      version = "7.5.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.10.tgz";
-        sha512 = "I9b9Md1DdB7Du//+x8CtBAKUW21jyuENCPssvlBjHZjvmx5cIGrTftqwGzuDBgR0Zm72tkmat/FTu6/SQPiyeQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.5.11.tgz";
+        sha512 = "a8sD3iHfxcbIwP0nSxF+DUAVg+/MuLNOizVJHcZGGS8AdDoezUsnWRkNDT6FlVqRoxHNbkpq8+6B55JKtqHSxg==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -4018,13 +3964,13 @@ let
         sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/merge-8.2.10" = {
+    "@graphql-tools/merge-8.2.11" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.2.10";
+      version = "8.2.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.10.tgz";
-        sha512 = "wpg22seOTNfkIO8jFAgo8w1BsT3IS2OTMpkCNf+dvcKSP09SVidYCOliyWHgjDCmpCrvvSjOX855NUKDx/Biew==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.11.tgz";
+        sha512 = "fsjJVdsk9GV1jj1Ed2AKLlHYlsf0ZadTK8X5KxFRE1ZSnKqh56BLVX93JrtOIAnsiHkwOK2TC43HGhApF1swpQ==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -4036,13 +3982,13 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
-    "@graphql-tools/schema-8.3.10" = {
+    "@graphql-tools/schema-8.3.11" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "8.3.10";
+      version = "8.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.10.tgz";
-        sha512 = "tfhjSTi3OzheDrVzG7rkPZg2BbQjmZRLM2vvQoM2b1TnUwgUIbpAgcnf+AWDLRsoCOWlezeLgij1BLeAR0Q0jg==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.3.11.tgz";
+        sha512 = "esMEnbyXbp8B5VEI4o395+x0G7Qmz3JSX5onFBF8HeLYcqWJasY5vBuWkO18VxrZpEnvnryodP6Y00bVag9O3Q==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -4054,13 +4000,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.9.17" = {
+    "@graphql-tools/url-loader-7.9.21" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.9.17";
+      version = "7.9.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.17.tgz";
-        sha512 = "tnzjx5qf81/4qjMkFSMVWKMG1/Avqlqh2GRDK0JTPZgZpHDTr9Xy3Hs+FLzhrfm5X7ILihug0jDwf8nBiymFSA==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.9.21.tgz";
+        sha512 = "OPE08LVvKmeGyauWWksRYTBtQ1lB0kHUv2hofb0lOlD4TKURg53TwFopncof+1IT+1hTl3sLsERn7S5M1Z5PhQ==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -4090,13 +4036,13 @@ let
         sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
-    "@graphql-tools/utils-8.6.9" = {
+    "@graphql-tools/utils-8.6.10" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.6.9";
+      version = "8.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.9.tgz";
-        sha512 = "Z1X4d4GCT81+8CSt6SgU4t1w1UAUsAIRb67mI90k/zAs+ArkB95iE3bWXuJCUmd1+r8DGGtmUNOArtd6wkt+OQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.6.10.tgz";
+        sha512 = "bJH9qwuyM3BP0PTU6/lvBDkk6jdEIOn+dbyk4pHMVNnvbJ1gZQwo62To8SHxxaUTus8OMhhVPSh9ApWXREURcg==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -4108,13 +4054,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.4.16" = {
+    "@graphql-tools/wrap-8.4.17" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.4.16";
+      version = "8.4.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.16.tgz";
-        sha512 = "b3yz7uN0en44sBEv/fAEQIqdiCEM/gQJSaLyA7Z2hWJwM0gQ5kiq0XMwKvyUAIY8NGig7IywC7bbup5Jc2F35Q==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.17.tgz";
+        sha512 = "oXTNXuUsty2smv3wm9M0W3Pon+fofy9ItIgGT3xfHnJITCNC2GC1s29lhcr0pIZL4Tjp7oTlqMx+sPjLHETSzw==";
       };
     };
     "@grpc/grpc-js-1.5.7" = {
@@ -4162,6 +4108,15 @@ let
         sha512 = "eBM03pu9hd3VqDQG+kHahiG1x80RGkkqqRb1Pchcwqej/KkAH95gAvKs6laqaHCycYaPK+TKuNQnOz9UXYA8qw==";
       };
     };
+    "@grpc/proto-loader-0.6.12" = {
+      name = "_at_grpc_slash_proto-loader";
+      packageName = "@grpc/proto-loader";
+      version = "0.6.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.12.tgz";
+        sha512 = "filTVbETFnxb9CyRX98zN18ilChTuf/C5scZ2xyaOTp0EHGq0/ufX8rjqXUcSb1Gpv7eZq4M2jDvbh9BogKnrg==";
+      };
+    };
     "@grpc/proto-loader-0.6.9" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
@@ -4186,7 +4141,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz";
-        sha1 = "890ae7c5d8c877f6d384860215ace9d7ec945bda";
+        sha512 = "o/EatdaGt8+x2qpb0vFLC/2Gug/xYPRXb6a+ET1wGYKozKN3krDWC/zZFZAtrzxJHuDL12mwdfEFKcKMNvc55A==";
       };
     };
     "@handsontable/formulajs-2.0.2" = {
@@ -4513,24 +4468,6 @@ let
         sha512 = "SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==";
       };
     };
-    "@istanbuljs/load-nyc-config-1.1.0" = {
-      name = "_at_istanbuljs_slash_load-nyc-config";
-      packageName = "@istanbuljs/load-nyc-config";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz";
-        sha512 = "VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==";
-      };
-    };
-    "@istanbuljs/schema-0.1.3" = {
-      name = "_at_istanbuljs_slash_schema";
-      packageName = "@istanbuljs/schema";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz";
-        sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
-      };
-    };
     "@jcubic/lily-0.3.0" = {
       name = "_at_jcubic_slash_lily";
       packageName = "@jcubic/lily";
@@ -4558,24 +4495,6 @@ let
         sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
       };
     };
-    "@jest/transform-25.5.1" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "25.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz";
-        sha512 = "Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==";
-      };
-    };
-    "@jest/types-25.5.0" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz";
-        sha512 = "OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==";
-      };
-    };
     "@jest/types-27.5.1" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
@@ -4666,40 +4585,40 @@ let
         sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
       };
     };
-    "@jridgewell/resolve-uri-3.0.6" = {
+    "@jridgewell/resolve-uri-3.0.7" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz";
-        sha512 = "R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz";
+        sha512 = "8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==";
       };
     };
-    "@jridgewell/set-array-1.1.0" = {
+    "@jridgewell/set-array-1.1.1" = {
       name = "_at_jridgewell_slash_set-array";
       packageName = "@jridgewell/set-array";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz";
-        sha512 = "SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==";
+        url = "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz";
+        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
       };
     };
-    "@jridgewell/sourcemap-codec-1.4.11" = {
+    "@jridgewell/sourcemap-codec-1.4.13" = {
       name = "_at_jridgewell_slash_sourcemap-codec";
       packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.11";
+      version = "1.4.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz";
-        sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
+        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
       };
     };
-    "@jridgewell/trace-mapping-0.3.9" = {
+    "@jridgewell/trace-mapping-0.3.13" = {
       name = "_at_jridgewell_slash_trace-mapping";
       packageName = "@jridgewell/trace-mapping";
-      version = "0.3.9";
+      version = "0.3.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz";
-        sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz";
+        sha512 = "o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==";
       };
     };
     "@jsdevtools/ono-7.1.3" = {
@@ -4711,22 +4630,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.57.0" = {
+    "@jsii/check-node-1.58.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.57.0.tgz";
-        sha512 = "7c4D07I8xefmafKtiXQkarpRsSRufpach4lcM/mepWhBqVGxFjzGF7S4vRT7MAQiEKEpGhnIfpWFhmBgUtP6bw==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.58.0.tgz";
+        sha512 = "JKLvi1Zx0R3qX7MeYo7G9qRekNog+gjK3ppssG98HOYsQgoT2VbZ7Hzp1RAVAgL+Qt5HrLbLoVZMboZmH/VRIw==";
       };
     };
-    "@jsii/spec-1.57.0" = {
+    "@jsii/spec-1.58.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.57.0.tgz";
-        sha512 = "Pt1wWIVeBN7UHJ9Flj676hNA3sNN06YSbErUd3loLgCUjRDOUzp2QysaRQK2Zsf2DBIjwLq048btoWkjPsTFJQ==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.58.0.tgz";
+        sha512 = "jAFpUW0xGu08CeJLJxc+9z+ZHDQK62OFjV8i2S7850DRm2FJdUMU98wzG4A1FDXRCYlQNlYk2E51LdQfSo7+Vw==";
       };
     };
     "@juggle/resize-observer-3.3.1" = {
@@ -4891,13 +4810,13 @@ let
         sha512 = "lLseUPEhSFUXYTKj6q7s2O3s2vW2ebgA11vMAlKodXGf5AFw4zUoEbTz9CoFOC9jS6xY4Qr8BmRnxP/odT4Uuw==";
       };
     };
-    "@leichtgewicht/ip-codec-2.0.3" = {
+    "@leichtgewicht/ip-codec-2.0.4" = {
       name = "_at_leichtgewicht_slash_ip-codec";
       packageName = "@leichtgewicht/ip-codec";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.3.tgz";
-        sha512 = "nkalE/f1RvRGChwBnEIoBfSEYOXnCRdleKuv6+lePbMDrMZXeDQnqak5XDOeBgrPPyPfAdcCu/B5z+v3VhplGg==";
+        url = "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz";
+        sha512 = "Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==";
       };
     };
     "@lerna/add-4.0.0" = {
@@ -5809,13 +5728,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.260" = {
+    "@microsoft/load-themed-styles-1.10.263" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.260";
+      version = "1.10.263";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.260.tgz";
-        sha512 = "fW6YvdNMrMVQ6LY8Ckl72dtUDdxY/wxgq8o9UKSoC+3sCN2vaSxB6rlmxaSCaR79BWVaxl6oIeQKKDX3UbPg5Q==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.263.tgz";
+        sha512 = "nInzHMgly/OXuU3VycNcp5qvogDOZppOtQR1hFBopGZQ1nKT5jF+YUoB/0Aku5qG6hjzwAvbpjHMs9RbQeeSBQ==";
       };
     };
     "@mischnic/json-sourcemap-0.1.0" = {
@@ -5881,13 +5800,13 @@ let
         sha512 = "BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==";
       };
     };
-    "@nestjs/schematics-8.0.10" = {
+    "@nestjs/schematics-8.0.11" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "8.0.10";
+      version = "8.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.10.tgz";
-        sha512 = "gQq/8TYjtgum+5+QuPfHHKgKxDgNLGh8mH+EJ1skOKX+GTxgt5jmg1GFmwEfiOXZUcF9thT6GsOVNKWrdO3YMg==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.11.tgz";
+        sha512 = "W/WzaxgH5aE01AiIErE9QrQJ73VR/M/8p8pq0LZmjmNcjZqU5kQyOWUxZg13WYfSpJdOa62t6TZRtFDmgZPoIg==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -7015,85 +6934,85 @@ let
         sha512 = "dygDmPsfAYJKTnUftcbEzjCik7AAaPbFvJW8ETYz8diyjkAG9y6hvCAZIrJE5pNOjFzg32en4v4UWv8Sqlzl9g==";
       };
     };
-    "@parcel/css-1.8.2" = {
+    "@parcel/css-1.8.3" = {
       name = "_at_parcel_slash_css";
       packageName = "@parcel/css";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css/-/css-1.8.2.tgz";
-        sha512 = "3vTyKHy2LnZ3YJEut+UQPVIxsaY/mdGk7cDXtmvH4xR48Pd6rYzChHCMl4Ru2DUkCBpr0KCQRPZTdYcsJhUmIA==";
+        url = "https://registry.npmjs.org/@parcel/css/-/css-1.8.3.tgz";
+        sha512 = "6qUN4iicr8f9Q6UUZttwwHMzrb65BRX46PHWq0icA4KEmvmfR9cSYlp/hJH8F4stg3Wncx12Bnw+EuPf5OAEPQ==";
       };
     };
-    "@parcel/css-darwin-arm64-1.8.2" = {
+    "@parcel/css-darwin-arm64-1.8.3" = {
       name = "_at_parcel_slash_css-darwin-arm64";
       packageName = "@parcel/css-darwin-arm64";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.2.tgz";
-        sha512 = "p5etxX3kPCuEQcipjqH9yc5j0x5/Yc++uB4MvG/sFbRgL2gI2zUuRo9sIgqA21boOP8lE4bQgz1ovPD/W1hj+Q==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.3.tgz";
+        sha512 = "qh/Ig6GfVjGoiGSWjIYDo6Ghwmyy/9BXvYS1l3R+Bp50F300cq84Czfl6wxaL+aFmghdHzhjJuGfWmZlcYliPA==";
       };
     };
-    "@parcel/css-darwin-x64-1.8.2" = {
+    "@parcel/css-darwin-x64-1.8.3" = {
       name = "_at_parcel_slash_css-darwin-x64";
       packageName = "@parcel/css-darwin-x64";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.8.2.tgz";
-        sha512 = "c3xi5DXRZYec5db4KPTxp69eHbomOuasgZNiuPPOi80k7jlOwfzCFQs0h6/KwWvTcJrKEFsLl8BKJU/aX7mETw==";
+        url = "https://registry.npmjs.org/@parcel/css-darwin-x64/-/css-darwin-x64-1.8.3.tgz";
+        sha512 = "gTUIoRgwyYr4UuH7sSn3gOuMlIshJBOJLmjL+E/mR5lqdYabguiKiRORvkrnb/gHBmOUF9re0RcTaFmJ2VOAlg==";
       };
     };
-    "@parcel/css-linux-arm-gnueabihf-1.8.2" = {
+    "@parcel/css-linux-arm-gnueabihf-1.8.3" = {
       name = "_at_parcel_slash_css-linux-arm-gnueabihf";
       packageName = "@parcel/css-linux-arm-gnueabihf";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.8.2.tgz";
-        sha512 = "+ih3+mMpwbwtOjr/XW5pP0frsV1PMN+Qz7jCAM84h8xX+8UE/1IR0UVi3EPa8wQiIlcVcEwszQ1MV2UHacvo/A==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm-gnueabihf/-/css-linux-arm-gnueabihf-1.8.3.tgz";
+        sha512 = "4P1r0BvL9dPz70py2xLg/jEvWJmKNyokPgafyrDP+GbpPTfH5NYJJkVRGo/TkKsp3Rv8SJhV9fdlpFKC6BI92A==";
       };
     };
-    "@parcel/css-linux-arm64-gnu-1.8.2" = {
+    "@parcel/css-linux-arm64-gnu-1.8.3" = {
       name = "_at_parcel_slash_css-linux-arm64-gnu";
       packageName = "@parcel/css-linux-arm64-gnu";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.8.2.tgz";
-        sha512 = "jIoyXbjJ1trUHXtyJhi3hlF1ck6xM4CDyaY5N6eN+3+ovkdw6wxog9IiheYJ1jf9ellYevLvTF5kiYE9MiP04A==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-gnu/-/css-linux-arm64-gnu-1.8.3.tgz";
+        sha512 = "1fUy94eaqdzum+C7bsYVF2AgxjLGR/qppArn/4HTQyydHR5QeV+Uoyqo5vdnO5Vclj8eQwlgR9OyAOlmzXxFDA==";
       };
     };
-    "@parcel/css-linux-arm64-musl-1.8.2" = {
+    "@parcel/css-linux-arm64-musl-1.8.3" = {
       name = "_at_parcel_slash_css-linux-arm64-musl";
       packageName = "@parcel/css-linux-arm64-musl";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.8.2.tgz";
-        sha512 = "QVTc5a+HatoywIei3djKYmp3s5dbI2Q3QaYZf3gqhyjOkeC7bm6j5eeNzFO+wa5xtga5jdHkIuTRrJ/wCojKKw==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-arm64-musl/-/css-linux-arm64-musl-1.8.3.tgz";
+        sha512 = "ct1QRK5gAP8sO22NZ7RULZQB7dbHpou+WMa4z0LJb+Fho13a1JNw931vNHbeI5cRr1fCTDq76pz/+Valgetzcw==";
       };
     };
-    "@parcel/css-linux-x64-gnu-1.8.2" = {
+    "@parcel/css-linux-x64-gnu-1.8.3" = {
       name = "_at_parcel_slash_css-linux-x64-gnu";
       packageName = "@parcel/css-linux-x64-gnu";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.8.2.tgz";
-        sha512 = "9r2tSfa6i3ZQ3a6C9XufJWuTv3LB7JYzxzEqsI35SSA8D/DrfAHMaIhqog5wSxKZRWmQxckh2wdT96eIIGHSGA==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-gnu/-/css-linux-x64-gnu-1.8.3.tgz";
+        sha512 = "pg/mahoogzjbaZcW76rrTZ64tEu8Wok4Gm0sW/dXHJEJD2QVJ6GxLP4UVNBuhaV0GrNFHggp9pcdhTtLGkKl/g==";
       };
     };
-    "@parcel/css-linux-x64-musl-1.8.2" = {
+    "@parcel/css-linux-x64-musl-1.8.3" = {
       name = "_at_parcel_slash_css-linux-x64-musl";
       packageName = "@parcel/css-linux-x64-musl";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.8.2.tgz";
-        sha512 = "5SetLWkxXRQ3NU6QwwbGf9tOmGW2m1cGt07Moybbe4RCXOY6R5wAYUtauZUp7pD/fJlE9mHge4jnNHKpVO9pvw==";
+        url = "https://registry.npmjs.org/@parcel/css-linux-x64-musl/-/css-linux-x64-musl-1.8.3.tgz";
+        sha512 = "4Iwawy28HQ2yAgbuyR60bgO+8oE+OiWpE02eNjbgqnDpTsfmXFMt4l5OYgZwJJ7DlaZqm+/yO8RPMd+EzwtNzg==";
       };
     };
-    "@parcel/css-win32-x64-msvc-1.8.2" = {
+    "@parcel/css-win32-x64-msvc-1.8.3" = {
       name = "_at_parcel_slash_css-win32-x64-msvc";
       packageName = "@parcel/css-win32-x64-msvc";
-      version = "1.8.2";
+      version = "1.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.8.2.tgz";
-        sha512 = "/EdW5Ejlnkvc/AYrAi/FmLNvM6a6eAx+A4Y7oW+8JSMvk6bYa2zmXi7XLU/QOQuH2VQa/3gIIMA+sYjPndvDpw==";
+        url = "https://registry.npmjs.org/@parcel/css-win32-x64-msvc/-/css-win32-x64-msvc-1.8.3.tgz";
+        sha512 = "vnHUdzIVjqONa5ALFzMJ3ZHt6NiaYTHW/lqzP+AR4l+bq+UTXD2Q75/RgirY5NYwdfy1VPy/jI82jAtLOCymkw==";
       };
     };
     "@parcel/diagnostic-2.5.0" = {
@@ -7546,13 +7465,13 @@ let
         sha512 = "/Ow5OKJWs+9OzV3Jy4J++VnbNx0j3ls/M1CGVBLiBWyCada9DMtquYoBQ4Sk6Uam50BKkIFYetGOeXPNQyyMjg==";
       };
     };
-    "@peculiar/asn1-schema-2.1.0" = {
+    "@peculiar/asn1-schema-2.1.6" = {
       name = "_at_peculiar_slash_asn1-schema";
       packageName = "@peculiar/asn1-schema";
-      version = "2.1.0";
+      version = "2.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.1.0.tgz";
-        sha512 = "D6g4C5YRKC/iPujMAOXuZ7YGdaoMx8GsvWzfVSyx2LYeL38ECOKNywlYAuwbqQvON64lgsYdAujWQPX8hhoBLw==";
+        url = "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.1.6.tgz";
+        sha512 = "6ewdxD32vsjxbI/MvTef7PQxZIfLyV4w/5XzjOkosIGNt726zj8evLitCbjTeMHSZ/VeU4ZFSnrPXdCBHI6NWQ==";
       };
     };
     "@peculiar/json-schema-1.1.12" = {
@@ -7564,13 +7483,13 @@ let
         sha512 = "coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==";
       };
     };
-    "@peculiar/webcrypto-1.3.3" = {
+    "@peculiar/webcrypto-1.4.0" = {
       name = "_at_peculiar_slash_webcrypto";
       packageName = "@peculiar/webcrypto";
-      version = "1.3.3";
+      version = "1.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.3.3.tgz";
-        sha512 = "+jkp16Hp18HkphJlMtqsQKjyDWJBh0AhDuoB+vVakuIRbkBdaFb7v26Ldm25altjiYhCyQnR5NChHxwSTvbXJw==";
+        url = "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.0.tgz";
+        sha512 = "U58N44b2m3OuTgpmKgf0LPDOmP3bhwNz01vAnj1mBwxBASRhptWYK+M3zG+HBkDqGQM+bFsoIihTW8MdmPXEqg==";
       };
     };
     "@pm2/agent-2.0.1" = {
@@ -7618,22 +7537,22 @@ let
         sha512 = "DiIjtous4XPuR2deTctD3/RVZy/vRzVYBgYYvHV313MmTfkbVP60qLH5txrT3/bYNvnb0poNDelLS6U0kqlvHA==";
       };
     };
-    "@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" = {
+    "@prisma/engines-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b";
+      version = "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b.tgz";
-        sha512 = "Ip9CcCeUocH61eXu4BUGpvl5KleQyhcUVLpWCv+0ZmDv44bFaDpREqjGHHdRupvPN/ugB6gTlD9b9ewdj02yVA==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz";
+        sha512 = "LwZvI3FY6f43xFjQNRuE10JM5R8vJzFTSmbV9X0Wuhv9kscLkjRlZt0BEoiHmO+2HA3B3xxbMfB5du7ZoSFXGg==";
       };
     };
-    "@prisma/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b" = {
+    "@prisma/prisma-fmt-wasm-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" = {
       name = "_at_prisma_slash_prisma-fmt-wasm";
       packageName = "@prisma/prisma-fmt-wasm";
-      version = "3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b";
+      version = "3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b.tgz";
-        sha512 = "zCJfpPpH98YJMKbpygHHVqPrDRTO5WhUAgf8hZnUDCu/iWlgW9Zi9dzuFScml+Ns/Jr5XAl1lOTJXK/3IZu9NA==";
+        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a.tgz";
+        sha512 = "YwiGDAfUqLPz1NIyd6y6LyT1ViiTCXNx7AFWuMwb7aGhBmzhfuTeo/MQpzlA9x90wKh2ACJ4Fa3nZS5Wvr8xbg==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -7780,22 +7699,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.94" = {
+    "@redocly/openapi-core-1.0.0-beta.97" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.94";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.94.tgz";
-        sha512 = "xTklcobv+51bQVkUOpUiNY0GztL+0u3yGsy2BtldaHpcnNGMu3lu/utsoOHkiNTpgVEGyEWVZzBtF6Sz5v/Fkg==";
-      };
-    };
-    "@redocly/react-dropdown-aria-2.0.12" = {
-      name = "_at_redocly_slash_react-dropdown-aria";
-      packageName = "@redocly/react-dropdown-aria";
-      version = "2.0.12";
+      version = "1.0.0-beta.97";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/react-dropdown-aria/-/react-dropdown-aria-2.0.12.tgz";
-        sha512 = "feQEZlyBvQsbT/fvpJ4jJ5OLGaUPpnskHYDsY8DGpPymN+HUeDQrqkBEbbKRwMKidFTI2cxk2kJNNTnvdS9jyw==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.97.tgz";
+        sha512 = "3WW9/6flosJuRtU3GI0Vw39OYFZqqXMDCp5TLa3EjXOb7Nm6AZTWRb3Y+I/+UdNJ/NTszVJkQczoa1t476ekiQ==";
       };
     };
     "@request/api-0.6.0" = {
@@ -7843,13 +7753,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-13.3.4" = {
+    "@schematics/angular-13.3.5" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "13.3.4";
+      version = "13.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.4.tgz";
-        sha512 = "Cta11k965Igz2kWj60KQ/9z6RFAg9FjZ8i1TH4nyROJs9nWemWPQNA+OJFuXrEy6Ldpk7yJ5cWgJsyryGB25PA==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.3.5.tgz";
+        sha512 = "1Ovx0cq72ZaNCyTyRD8ebIwUzpqhEH9ypWF05bfBLq3J0LlZgewIMhPJSxKmwRC3NQB5DZIYEvD0uhzBIuHCCA==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -7897,13 +7807,13 @@ let
         sha512 = "DAa5Z0JAZc6UfrTZLYwqoZxgAponZpFwaqd7WzzMA+loMCkYWyJNwxrAmV6cr2UUJpkko4toPZuJ3vM9Ie+NDA==";
       };
     };
-    "@serverless/utils-6.0.3" = {
+    "@serverless/utils-6.4.0" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "6.0.3";
+      version = "6.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.0.3.tgz";
-        sha512 = "6oKLqAkK6CG2zjAs2rfuHEOLoK11K/oep5bwGTEb5JmFP/92JQtvyb+FxP4DknL4jYpiYj1Dd5sCt5auHhOASg==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.4.0.tgz";
+        sha512 = "N93Vd55docYMg2d8Gqb4/MagG4GDOStpUsWZak4QpBenkzE3Q+MK7TkeNCeBpmK+PzRiL6/4K6p81QPvZel+Pw==";
       };
     };
     "@sideway/address-4.1.4" = {
@@ -8185,13 +8095,13 @@ let
         sha512 = "X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==";
       };
     };
-    "@stylelint/postcss-css-in-js-0.37.2" = {
+    "@stylelint/postcss-css-in-js-0.37.3" = {
       name = "_at_stylelint_slash_postcss-css-in-js";
       packageName = "@stylelint/postcss-css-in-js";
-      version = "0.37.2";
+      version = "0.37.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.2.tgz";
-        sha512 = "nEhsFoJurt8oUmieT8qy4nk81WRHmJynmVwn/Vts08PL9fhgIsMhk1GId5yAN643OzqEEb5S/6At2TZW7pqPDA==";
+        url = "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.3.tgz";
+        sha512 = "scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==";
       };
     };
     "@stylelint/postcss-markdown-0.36.2" = {
@@ -8203,13 +8113,13 @@ let
         sha512 = "2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==";
       };
     };
-    "@swc/helpers-0.3.9" = {
+    "@swc/helpers-0.3.13" = {
       name = "_at_swc_slash_helpers";
       packageName = "@swc/helpers";
-      version = "0.3.9";
+      version = "0.3.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.9.tgz";
-        sha512 = "TLzWHAHOrzxauG2uB+5t7fqdom0CDiIbtjJ5zbhnT+SsGmipB767Hrw+d4/si8aS/wrYgWbqjbBR4Y0bxSyLxw==";
+        url = "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.13.tgz";
+        sha512 = "A1wswJhnqaLRn8uYVQ8YiNTtY5i/JIPmV08EXXjjTresIkUVUEUaFv/wXVhGXfRNYMvHPkuoMR1Nb6NgpxGjNg==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -8311,15 +8221,6 @@ let
         sha512 = "TmqFyNqi68YpkqKabrkMlPzeSJMfY/+Wsv1/r43uDFgSYyM9GiD0eIpP12uKyL8xLW+rgfbqXxeFwSo26Conqw==";
       };
     };
-    "@textlint/markdown-to-ast-6.1.7" = {
-      name = "_at_textlint_slash_markdown-to-ast";
-      packageName = "@textlint/markdown-to-ast";
-      version = "6.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.7.tgz";
-        sha512 = "B0QtokeQR4a9+4q0NQr8T9l7A1fFihTN5Ze57tVgqW+3ymzXEouh8DvPHeNQ4T6jEkAThvdjk95mxAMpGRJ79w==";
-      };
-    };
     "@textlint/module-interop-12.1.1" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
@@ -8527,15 +8428,6 @@ let
         sha512 = "veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==";
       };
     };
-    "@types/asn1js-2.0.2" = {
-      name = "_at_types_slash_asn1js";
-      packageName = "@types/asn1js";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.2.tgz";
-        sha512 = "t4YHCgtD+ERvH0FyxvNlYwJ2ezhqw7t+Ygh4urQ7dJER8i185JPv6oIM3ey5YQmGN6Zp9EMbpohkjZi9t3UxwA==";
-      };
-    };
     "@types/atob-2.1.2" = {
       name = "_at_types_slash_atob";
       packageName = "@types/atob";
@@ -8554,42 +8446,6 @@ let
         sha512 = "pkPtJUUY+Vwv6B1inAz55rQvivClHJxc9aVEPPmaq2cbyeMLCiDpbKpcKyX4LAwpNGi+SHBv0tHv6+0gXv0P2A==";
       };
     };
-    "@types/babel__core-7.1.19" = {
-      name = "_at_types_slash_babel__core";
-      packageName = "@types/babel__core";
-      version = "7.1.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz";
-        sha512 = "WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==";
-      };
-    };
-    "@types/babel__generator-7.6.4" = {
-      name = "_at_types_slash_babel__generator";
-      packageName = "@types/babel__generator";
-      version = "7.6.4";
-      src = fetchurl {
-        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" = {
-      name = "_at_types_slash_babel__template";
-      packageName = "@types/babel__template";
-      version = "7.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz";
-        sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
-      };
-    };
-    "@types/babel__traverse-7.17.1" = {
-      name = "_at_types_slash_babel__traverse";
-      packageName = "@types/babel__traverse";
-      version = "7.17.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz";
-        sha512 = "kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==";
-      };
-    };
     "@types/babylon-6.16.6" = {
       name = "_at_types_slash_babylon";
       packageName = "@types/babylon";
@@ -8725,13 +8581,13 @@ let
         sha512 = "h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==";
       };
     };
-    "@types/content-disposition-0.5.4" = {
+    "@types/content-disposition-0.5.5" = {
       name = "_at_types_slash_content-disposition";
       packageName = "@types/content-disposition";
-      version = "0.5.4";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.4.tgz";
-        sha512 = "0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ==";
+        url = "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.5.tgz";
+        sha512 = "v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==";
       };
     };
     "@types/cookie-0.4.1" = {
@@ -8824,13 +8680,13 @@ let
         sha512 = "n0zoEj/fMdMOvqbHxmqnza/kXyoGgJmEpsXjpP+gEqE1Ye4yNqc7xWipKnUoMpWhMuzJQSfK2gMrwlElly7OGQ==";
       };
     };
-    "@types/ejs-3.1.0" = {
+    "@types/ejs-3.1.1" = {
       name = "_at_types_slash_ejs";
       packageName = "@types/ejs";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.0.tgz";
-        sha512 = "DCg+Ka+uDQ31lJ/UtEXVlaeV3d6t81gifaVWKJy4MYVVgvJttyX/viREy+If7fz+tK/gVxTGMtyrFPnm4gjrVA==";
+        url = "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.1.tgz";
+        sha512 = "RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==";
       };
     };
     "@types/emoji-mart-3.0.9" = {
@@ -8851,13 +8707,13 @@ let
         sha512 = "VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==";
       };
     };
-    "@types/eslint-8.4.1" = {
+    "@types/eslint-8.4.2" = {
       name = "_at_types_slash_eslint";
       packageName = "@types/eslint";
-      version = "8.4.1";
+      version = "8.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz";
-        sha512 = "GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==";
+        url = "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz";
+        sha512 = "Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==";
       };
     };
     "@types/eslint-scope-3.7.3" = {
@@ -8977,15 +8833,6 @@ let
         sha512 = "ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==";
       };
     };
-    "@types/graceful-fs-4.1.5" = {
-      name = "_at_types_slash_graceful-fs";
-      packageName = "@types/graceful-fs";
-      version = "4.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz";
-        sha512 = "anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==";
-      };
-    };
     "@types/hast-2.3.4" = {
       name = "_at_types_slash_hast";
       packageName = "@types/hast";
@@ -9040,13 +8887,13 @@ let
         sha512 = "EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==";
       };
     };
-    "@types/http-proxy-1.17.8" = {
+    "@types/http-proxy-1.17.9" = {
       name = "_at_types_slash_http-proxy";
       packageName = "@types/http-proxy";
-      version = "1.17.8";
+      version = "1.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.8.tgz";
-        sha512 = "5kPLG5BKpWYkw/LVOGWpiq3nEVqxiN32rTgI53Sk12/xHFQ2rG3ehI9IO+O3W2QoKeyB92dJkoka8SUm6BX1pA==";
+        url = "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz";
+        sha512 = "QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==";
       };
     };
     "@types/inquirer-6.5.0" = {
@@ -9094,15 +8941,6 @@ let
         sha512 = "plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==";
       };
     };
-    "@types/istanbul-reports-1.1.2" = {
-      name = "_at_types_slash_istanbul-reports";
-      packageName = "@types/istanbul-reports";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz";
-        sha512 = "P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==";
-      };
-    };
     "@types/istanbul-reports-3.0.1" = {
       name = "_at_types_slash_istanbul-reports";
       packageName = "@types/istanbul-reports";
@@ -9445,13 +9283,13 @@ let
         sha512 = "Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==";
       };
     };
-    "@types/node-12.20.50" = {
+    "@types/node-12.20.51" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.50";
+      version = "12.20.51";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz";
-        sha512 = "+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.51.tgz";
+        sha512 = "anVDMfReTatfH8GVmHmaTZOL0jeTLNZ9wK9SSrQS3tMmn4vUc+9fVWlUzAieuQefWDyWUz4Z3aqXxDgO1VsYjg==";
       };
     };
     "@types/node-13.13.52" = {
@@ -9472,13 +9310,13 @@ let
         sha512 = "USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==";
       };
     };
-    "@types/node-14.18.16" = {
+    "@types/node-14.18.17" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.16";
+      version = "14.18.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz";
-        sha512 = "X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.17.tgz";
+        sha512 = "oajWz4kOajqpKJMPgnCvBajPq8QAvl2xIWoFjlAJPKGu6n7pjov5SxGE45a+0RxHDoo4ycOMoZw1SCOWtDERbw==";
       };
     };
     "@types/node-15.14.9" = {
@@ -9490,13 +9328,13 @@ let
         sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
-    "@types/node-16.11.33" = {
+    "@types/node-16.11.34" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.33";
+      version = "16.11.34";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.33.tgz";
-        sha512 = "0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.34.tgz";
+        sha512 = "UrWGDyLAlQ2Z8bNOGWTsqbP9ZcBeTYBVuTRNxXTztBy5KhWUFI3BaeDWoCP/CzV/EVGgO1NTYzv9ZytBI9GAEw==";
       };
     };
     "@types/node-16.11.6" = {
@@ -9544,6 +9382,15 @@ let
         sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     };
+    "@types/node-17.0.32" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.32.tgz";
+        sha512 = "eAIcfAvhf/BkHcf4pkLJ7ECpBAhh9kcxRBpip9cTiO+hf+aJrsxYxBeS6OXvOd9WqNAJmavXVpZvY1rBjNsXmw==";
+      };
+    };
     "@types/node-6.14.13" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -9688,22 +9535,22 @@ let
         sha512 = "+TRLFmHLnpoV0uw4O/PzqMbPT6bhQM0q2KO0l+R7M3sHYRndPpNL6kv8p7Ee9ZxgQ6noYB18/t+heQi7eijOHA==";
       };
     };
-    "@types/react-16.14.25" = {
+    "@types/react-16.14.26" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "16.14.25";
+      version = "16.14.26";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-16.14.25.tgz";
-        sha512 = "cXRVHd7vBT5v1is72mmvmsg9stZrbJO04DJqFeh3Yj2tVKO6vmxg5BI+ybI6Ls7ROXRG3aFbZj9x0WA3ZAoDQw==";
+        url = "https://registry.npmjs.org/@types/react/-/react-16.14.26.tgz";
+        sha512 = "c/5CYyciOO4XdFcNhZW1O2woVx86k4T+DO2RorHZL7EhitkNQgSD/SgpdZJAUJa/qjVgOmTM44gHkAdZSXeQuQ==";
       };
     };
-    "@types/react-dom-16.9.15" = {
+    "@types/react-dom-16.9.16" = {
       name = "_at_types_slash_react-dom";
       packageName = "@types/react-dom";
-      version = "16.9.15";
+      version = "16.9.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.15.tgz";
-        sha512 = "PjWhZj54ACucQX2hDmnHyqHz+N2On5g3Lt5BeNn+wy067qvOokVSQw1nEog1XGfvLYrSl3cyrdebEfjQQNXD3A==";
+        url = "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.16.tgz";
+        sha512 = "Oqc0RY4fggGA3ltEgyPLc3IV9T73IGoWjkONbsyJ3ZBn+UPPCYpU2ec0i3cEbJuEdZtkqcCF2l1zf2pBdgUGSg==";
       };
     };
     "@types/react-window-1.8.5" = {
@@ -9733,15 +9580,6 @@ let
         sha512 = "whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==";
       };
     };
-    "@types/resolve-0.0.8" = {
-      name = "_at_types_slash_resolve";
-      packageName = "@types/resolve";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz";
-        sha512 = "auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==";
-      };
-    };
     "@types/responselike-1.0.0" = {
       name = "_at_types_slash_responselike";
       packageName = "@types/responselike";
@@ -10039,13 +9877,13 @@ let
         sha512 = "awvdx4vX7SkMKyvWIlRjycjb4blYRSQI3Bav0YMn+lJLGN6gJgb20urN/dQCv/2ejDu5S6ADEBt6O15DOpIAkg==";
       };
     };
-    "@types/vscode-1.66.0" = {
+    "@types/vscode-1.67.0" = {
       name = "_at_types_slash_vscode";
       packageName = "@types/vscode";
-      version = "1.66.0";
+      version = "1.67.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.66.0.tgz";
-        sha512 = "ZfJck4M7nrGasfs4A4YbUoxis3Vu24cETw3DERsNYtDZmYSYtk6ljKexKFKhImO/ZmY6ZMsmegu2FPkXoUFImA==";
+        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.67.0.tgz";
+        sha512 = "GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g==";
       };
     };
     "@types/webidl-conversions-6.1.1" = {
@@ -10156,15 +9994,6 @@ let
         sha512 = "6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==";
       };
     };
-    "@types/yargs-15.0.14" = {
-      name = "_at_types_slash_yargs";
-      packageName = "@types/yargs";
-      version = "15.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.14.tgz";
-        sha512 = "yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==";
-      };
-    };
     "@types/yargs-16.0.4" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
@@ -10228,13 +10057,13 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.21.0" = {
+    "@typescript-eslint/eslint-plugin-5.23.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.21.0.tgz";
-        sha512 = "fTU85q8v5ZLpoZEyn/u1S2qrFOhi33Edo2CZ0+q1gDaWWm0JuPh3bgOyU8lM0edIEYgKLDkPFiZX2MOupgjlyg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.23.0.tgz";
+        sha512 = "hEcSmG4XodSLiAp1uxv/OQSGsDY6QN3TcRU32gANp+19wGE1QQZLRS8/GV58VRUoXhnkuJ3ZxNQ3T6Z6zM59DA==";
       };
     };
     "@typescript-eslint/experimental-utils-4.33.0" = {
@@ -10255,13 +10084,13 @@ let
         sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     };
-    "@typescript-eslint/parser-5.21.0" = {
+    "@typescript-eslint/parser-5.23.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.21.0.tgz";
-        sha512 = "8RUwTO77hstXUr3pZoWZbRQUxXcSXafZ8/5gpnQCfXvgmP9gpNlRGlWzvfbEQ14TLjmtU8eGnONkff8U2ui2Eg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.23.0.tgz";
+        sha512 = "V06cYUkqcGqpFjb8ttVgzNF53tgbB/KoQT/iB++DOIExKmzI9vBJKjZKt/6FuV9c+zrDsvJKbJ2DOCYwX91cbw==";
       };
     };
     "@typescript-eslint/scope-manager-4.33.0" = {
@@ -10273,22 +10102,22 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/scope-manager-5.21.0" = {
+    "@typescript-eslint/scope-manager-5.23.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.21.0.tgz";
-        sha512 = "XTX0g0IhvzcH/e3393SvjRCfYQxgxtYzL3UREteUneo72EFlt7UNoiYnikUtmGVobTbhUDByhJ4xRBNe+34kOQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.23.0.tgz";
+        sha512 = "EhjaFELQHCRb5wTwlGsNMvzK9b8Oco4aYNleeDlNuL6qXWDF47ch4EhVNPh8Rdhf9tmqbN4sWDk/8g+Z/J8JVw==";
       };
     };
-    "@typescript-eslint/type-utils-5.21.0" = {
+    "@typescript-eslint/type-utils-5.23.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.21.0.tgz";
-        sha512 = "MxmLZj0tkGlkcZCSE17ORaHl8Th3JQwBzyXL/uvC6sNmu128LsgjTX0NIzy+wdH2J7Pd02GN8FaoudJntFvSOw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.23.0.tgz";
+        sha512 = "iuI05JsJl/SUnOTXA9f4oI+/4qS/Zcgk+s2ir+lRmXI+80D8GaGwoUqs4p+X+4AxDolPpEpVUdlEH4ADxFy4gw==";
       };
     };
     "@typescript-eslint/types-4.33.0" = {
@@ -10300,13 +10129,13 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/types-5.21.0" = {
+    "@typescript-eslint/types-5.23.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.21.0.tgz";
-        sha512 = "XnOOo5Wc2cBlq8Lh5WNvAgHzpjnEzxn4CJBwGkcau7b/tZ556qrWXQz4DJyChYg8JZAD06kczrdgFPpEQZfDsA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.23.0.tgz";
+        sha512 = "NfBsV/h4dir/8mJwdZz7JFibaKC3E/QdeMEDJhiAE3/eMkoniZ7MjbEMCGXw6MZnZDMN3G9S0mH/6WUIj91dmw==";
       };
     };
     "@typescript-eslint/typescript-estree-4.33.0" = {
@@ -10318,22 +10147,22 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.21.0" = {
+    "@typescript-eslint/typescript-estree-5.23.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.21.0.tgz";
-        sha512 = "Y8Y2T2FNvm08qlcoSMoNchh9y2Uj3QmjtwNMdRQkcFG7Muz//wfJBGBxh8R7HAGQFpgYpdHqUpEoPQk+q9Kjfg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.23.0.tgz";
+        sha512 = "xE9e0lrHhI647SlGMl+m+3E3CKPF1wzvvOEWnuE3CCjjT7UiRnDGJxmAcVKJIlFgK6DY9RB98eLr1OPigPEOGg==";
       };
     };
-    "@typescript-eslint/utils-5.21.0" = {
+    "@typescript-eslint/utils-5.23.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.21.0.tgz";
-        sha512 = "q/emogbND9wry7zxy7VYri+7ydawo2HDZhRZ5k6yggIvXa7PvBbAAZ4PFH/oZLem72ezC4Pr63rJvDK/sTlL8Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.23.0.tgz";
+        sha512 = "dbgaKN21drqpkbbedGMNPCtRPZo1IOUr5EI9Jrrh99r5UW5Q0dz46RKXeSBoPV+56R6dFKpbrdhgUNSJsDDRZA==";
       };
     };
     "@typescript-eslint/visitor-keys-4.33.0" = {
@@ -10345,13 +10174,13 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.21.0" = {
+    "@typescript-eslint/visitor-keys-5.23.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.21.0";
+      version = "5.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.21.0.tgz";
-        sha512 = "SX8jNN+iHqAF0riZQMkm7e8+POXa/fXw5cxL+gjpyP+FI+JVNhii53EmQgDAfDcBpFekYSlO0fGytMQwRiMQCA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.23.0.tgz";
+        sha512 = "Vd4mFNchU62sJB8pX19ZSPog05B0Y0CE2UxAZPT5k4iqhRYjPnqyY3woMxCd0++t9OTqkgjST+1ydLBi7e2Fvg==";
       };
     };
     "@ungap/promise-all-settled-1.1.2" = {
@@ -10381,31 +10210,31 @@ let
         sha1 = "c585c0bdb94210198945c6597e4fe23d6e63e084";
       };
     };
-    "@vercel/build-utils-2.16.0" = {
+    "@vercel/build-utils-2.17.0" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "2.16.0";
+      version = "2.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.16.0.tgz";
-        sha512 = "KEkt/uhBCMTca4qtRK9F9/M4kV712rkWKYm2p7xo4HVKrF5e+oSEQKF6zDHzUk0R0YOYY1aL3it01r440YsABA==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.17.0.tgz";
+        sha512 = "eKHx3nW5MJ21xQC9RQrm+OthmHiV0PHr6bRpJAhsXryE/H6fbNqr1ZxOAQJpq2MaoKzEA/6Lt7J4TjJLd4pkqA==";
       };
     };
-    "@vercel/go-1.4.0" = {
+    "@vercel/go-1.4.1" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-1.4.0.tgz";
-        sha512 = "FDMQCeDIZnFYhteNWDQSe2H4SY3AL+u5G+YWHiVfnEjMl449843A8Q2lnG8YVfpQ5iyz6nS2+kUmPCBsfd03Pw==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-1.4.1.tgz";
+        sha512 = "bfMaPTDWd62GM2h1LXqPdYGwofh+jAeI+s2rNYT4PJVXBXvdulfsIhjhEOBTJ86XACdtkDjUYnRHSR1UpYsRfg==";
       };
     };
-    "@vercel/node-1.15.0" = {
+    "@vercel/node-1.15.1" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "1.15.0";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-1.15.0.tgz";
-        sha512 = "1xH2zBiLTPJKJPvF0odYna0ge5h754Ucpr3mdOtnrG2aW/F3DxS9TJ5h0GDwt15QVYfkdKmZ1RbNEj7ZOP4s4g==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-1.15.1.tgz";
+        sha512 = "78Cki0sOyxXI2qQDyNUpJ1subEyusDEfodiFqQoZL1EF4EpZHrKlBgy0ckVu4L6J3xc2rUtSeEwMHErtx6cuJg==";
       };
     };
     "@vercel/node-bridge-2.2.1" = {
@@ -10417,22 +10246,22 @@ let
         sha512 = "GJdBio0nKyxvFwfLcj6CMp2s22d5V6K9tmhmHkQcaiFwdKWK/Pa7jngiO84a09fvX+DFaOtpalJuxQa5LAJ9xQ==";
       };
     };
-    "@vercel/python-2.3.0" = {
+    "@vercel/python-2.3.1" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-2.3.0.tgz";
-        sha512 = "Cfis3gt3lUhX/eBOAJRfSEXYKpJAzRayt4xxQly96Ey2vvLNaFDBZK6J71o5P+fM2Q9z9FynVwrsY3rcW1lL8Q==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-2.3.1.tgz";
+        sha512 = "I5H04bRIPiYGMCiLEKM3NPyuU7vL1f8q8PuuBqKVk4l3bOF/iNIMq+mk9WHBS9tJDLK2SKQPeLKrCNFpiwgXgw==";
       };
     };
-    "@vercel/ruby-1.3.3" = {
+    "@vercel/ruby-1.3.4" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.3.3";
+      version = "1.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.3.tgz";
-        sha512 = "kEYtp+jLu9xFmlf6K28elkc6GOkdccGHNJOhqroYOnGmesEU9yXc00A2sQGKTwLLApbmmtTDyoG6PwnzStn5jw==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.4.tgz";
+        sha512 = "ctY4FBCeSGfidX1aWdCOeKaqhLASkj4R5SnaC2UCklmS0BRiIDbpiYRmS76+IsAajU4G97eEH9TWrfoC/UHnGA==";
       };
     };
     "@vscode/emmet-helper-2.8.4" = {
@@ -11659,15 +11488,6 @@ let
         sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
-    "ace.improved-0.2.1" = {
-      name = "ace.improved";
-      packageName = "ace.improved";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ace.improved/-/ace.improved-0.2.1.tgz";
-        sha1 = "4d74628fc431b09cdcaa1fb2b23d1ec83c5d2f32";
-      };
-    };
     "acorn-1.2.2" = {
       name = "acorn";
       packageName = "acorn";
@@ -12037,13 +11857,13 @@ let
         sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
       };
     };
-    "aggregate-error-4.0.0" = {
+    "aggregate-error-4.0.1" = {
       name = "aggregate-error";
       packageName = "aggregate-error";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.0.tgz";
-        sha512 = "8DGp7zUt1E9k0NE2q4jlXHk+V3ORErmwolEdRz9iV+LKJ40WhMHh92cxAvhqV2I+zEn/gotIoqoMs0NjF3xofg==";
+        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-4.0.1.tgz";
+        sha512 = "0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==";
       };
     };
     "aglfn-1.0.2" = {
@@ -12748,13 +12568,13 @@ let
         sha512 = "y8H99NExU1Sk4TvcaUxTdzfq2SZo6uSj5dyh75XSQvbpH6gdAXIW9MaBcvlNC7n0cVPsidHmOcHOWxJ/pTXGjA==";
       };
     };
-    "apollo-graphql-0.9.6" = {
+    "apollo-graphql-0.9.7" = {
       name = "apollo-graphql";
       packageName = "apollo-graphql";
-      version = "0.9.6";
+      version = "0.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.6.tgz";
-        sha512 = "CrqJxZwfu/U5x0bYYPPluwu1G+oC3jjKFK/EVn9CDcpi4+yD9rAYko/h1iUB5A6VRQhA4Boluc7QexMYQ2tCng==";
+        url = "https://registry.npmjs.org/apollo-graphql/-/apollo-graphql-0.9.7.tgz";
+        sha512 = "bezL9ItUWUGHTm1bI/XzIgiiZbhXpsC7uxk4UxFPmcVJwJsDc3ayZ99oXxAaK+3Rbg/IoqrHckA6CwmkCsbaSA==";
       };
     };
     "apollo-link-1.2.1" = {
@@ -12874,15 +12694,6 @@ let
         sha1 = "2af5c2b544a40e15fc1ac55548314397460845d0";
       };
     };
-    "app-path-3.3.0" = {
-      name = "app-path";
-      packageName = "app-path";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/app-path/-/app-path-3.3.0.tgz";
-        sha512 = "EAgEXkdcxH1cgEePOSsmUtw9ItPl0KTxnh/pj9ZbhvbKbij9x0oX6PWpGnorDr0DS5AosLgoa5n3T/hZmKQpYA==";
-      };
-    };
     "app-root-path-3.0.0" = {
       name = "app-root-path";
       packageName = "app-root-path";
@@ -13414,13 +13225,13 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "array-includes-3.1.4" = {
+    "array-includes-3.1.5" = {
       name = "array-includes";
       packageName = "array-includes";
-      version = "3.1.4";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz";
-        sha512 = "ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==";
+        url = "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz";
+        sha512 = "iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==";
       };
     };
     "array-initial-1.1.0" = {
@@ -13747,13 +13558,13 @@ let
         sha512 = "+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==";
       };
     };
-    "asn1js-2.4.0" = {
+    "asn1js-3.0.1" = {
       name = "asn1js";
       packageName = "asn1js";
-      version = "2.4.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/asn1js/-/asn1js-2.4.0.tgz";
-        sha512 = "PvZC0FMyMut8aOnR2jAEGSkmRtHIUYPe9amUEnGjr9TdnUmsfoOkjrvUkOEU9mzpYBR1HyO9bF+8U1cLTMMHhQ==";
+        url = "https://registry.npmjs.org/asn1js/-/asn1js-3.0.1.tgz";
+        sha512 = "7RX/y1foVCz6QXITV3IycqP7FMAC/gbd680gHpO5xGWn8vri1mCJxRJuMFmmkXDQt2/ToeYAcf8VrkNu2cLW+A==";
       };
     };
     "assert-1.5.0" = {
@@ -14341,13 +14152,13 @@ let
         sha512 = "545VawhsCQ7yEx9jZKV0hTTW3FS/waycISWMvnNwqRfpU9o4FQ4DSu3je7ekn5yFKM+91dxJC+IfJgtIV8WaUw==";
       };
     };
-    "aws-sdk-2.1125.0" = {
+    "aws-sdk-2.1134.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1125.0";
+      version = "2.1134.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1125.0.tgz";
-        sha512 = "2syNkKDqDcDmB/chc61a5xx+KYzaarLs1/KshE0b1Opp2oSq2FARyUBbk59HgwKaDUB61uPF33ZG9sHiIVx2hQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1134.0.tgz";
+        sha512 = "CvIcPSDzKFn4LRmk6GcQZYWtCxD/FwbbC1yaslvmpOYP8CndCmdz1MHMOPy/QyUyrH2WnUrVTAP2WdWqq6oCjQ==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -14494,87 +14305,6 @@ let
         sha512 = "poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==";
       };
     };
-    "babel-eslint-10.0.3" = {
-      name = "babel-eslint";
-      packageName = "babel-eslint";
-      version = "10.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.3.tgz";
-        sha512 = "z3U7eMY6r/3f3/JB9mTsLjyxrv0Yb1zb8PCWCLpguxfCzBIZUwy23R1t/XKewP+8mEN2Ck8Dtr4q20z6ce6SoA==";
-      };
-    };
-    "babel-helper-evaluate-path-0.5.0" = {
-      name = "babel-helper-evaluate-path";
-      packageName = "babel-helper-evaluate-path";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz";
-        sha512 = "mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==";
-      };
-    };
-    "babel-helper-flip-expressions-0.4.3" = {
-      name = "babel-helper-flip-expressions";
-      packageName = "babel-helper-flip-expressions";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz";
-        sha1 = "3696736a128ac18bc25254b5f40a22ceb3c1d3fd";
-      };
-    };
-    "babel-helper-is-nodes-equiv-0.0.1" = {
-      name = "babel-helper-is-nodes-equiv";
-      packageName = "babel-helper-is-nodes-equiv";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz";
-        sha1 = "34e9b300b1479ddd98ec77ea0bbe9342dfe39684";
-      };
-    };
-    "babel-helper-is-void-0-0.4.3" = {
-      name = "babel-helper-is-void-0";
-      packageName = "babel-helper-is-void-0";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz";
-        sha1 = "7d9c01b4561e7b95dbda0f6eee48f5b60e67313e";
-      };
-    };
-    "babel-helper-mark-eval-scopes-0.4.3" = {
-      name = "babel-helper-mark-eval-scopes";
-      packageName = "babel-helper-mark-eval-scopes";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz";
-        sha1 = "d244a3bef9844872603ffb46e22ce8acdf551562";
-      };
-    };
-    "babel-helper-remove-or-void-0.4.3" = {
-      name = "babel-helper-remove-or-void";
-      packageName = "babel-helper-remove-or-void";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz";
-        sha1 = "a4f03b40077a0ffe88e45d07010dee241ff5ae60";
-      };
-    };
-    "babel-helper-to-multiple-sequence-expressions-0.5.0" = {
-      name = "babel-helper-to-multiple-sequence-expressions";
-      packageName = "babel-helper-to-multiple-sequence-expressions";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz";
-        sha512 = "m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==";
-      };
-    };
-    "babel-jest-25.5.1" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "25.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz";
-        sha512 = "9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==";
-      };
-    };
     "babel-loader-8.1.0" = {
       name = "babel-loader";
       packageName = "babel-loader";
@@ -14602,24 +14332,6 @@ let
         sha512 = "jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==";
       };
     };
-    "babel-plugin-istanbul-6.1.1" = {
-      name = "babel-plugin-istanbul";
-      packageName = "babel-plugin-istanbul";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz";
-        sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
-      };
-    };
-    "babel-plugin-jest-hoist-25.5.0" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz";
-        sha512 = "u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==";
-      };
-    };
     "babel-plugin-jsx-pragmatic-1.0.2" = {
       name = "babel-plugin-jsx-pragmatic";
       packageName = "babel-plugin-jsx-pragmatic";
@@ -14638,105 +14350,6 @@ let
         sha512 = "SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==";
       };
     };
-    "babel-plugin-minify-builtins-0.5.0" = {
-      name = "babel-plugin-minify-builtins";
-      packageName = "babel-plugin-minify-builtins";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz";
-        sha512 = "wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==";
-      };
-    };
-    "babel-plugin-minify-constant-folding-0.5.0" = {
-      name = "babel-plugin-minify-constant-folding";
-      packageName = "babel-plugin-minify-constant-folding";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz";
-        sha512 = "Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==";
-      };
-    };
-    "babel-plugin-minify-dead-code-elimination-0.5.1" = {
-      name = "babel-plugin-minify-dead-code-elimination";
-      packageName = "babel-plugin-minify-dead-code-elimination";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz";
-        sha512 = "x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==";
-      };
-    };
-    "babel-plugin-minify-flip-comparisons-0.4.3" = {
-      name = "babel-plugin-minify-flip-comparisons";
-      packageName = "babel-plugin-minify-flip-comparisons";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz";
-        sha1 = "00ca870cb8f13b45c038b3c1ebc0f227293c965a";
-      };
-    };
-    "babel-plugin-minify-guarded-expressions-0.4.4" = {
-      name = "babel-plugin-minify-guarded-expressions";
-      packageName = "babel-plugin-minify-guarded-expressions";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz";
-        sha512 = "RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==";
-      };
-    };
-    "babel-plugin-minify-infinity-0.4.3" = {
-      name = "babel-plugin-minify-infinity";
-      packageName = "babel-plugin-minify-infinity";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz";
-        sha1 = "dfb876a1b08a06576384ef3f92e653ba607b39ca";
-      };
-    };
-    "babel-plugin-minify-mangle-names-0.5.0" = {
-      name = "babel-plugin-minify-mangle-names";
-      packageName = "babel-plugin-minify-mangle-names";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz";
-        sha512 = "3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==";
-      };
-    };
-    "babel-plugin-minify-numeric-literals-0.4.3" = {
-      name = "babel-plugin-minify-numeric-literals";
-      packageName = "babel-plugin-minify-numeric-literals";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz";
-        sha1 = "8e4fd561c79f7801286ff60e8c5fd9deee93c0bc";
-      };
-    };
-    "babel-plugin-minify-replace-0.5.0" = {
-      name = "babel-plugin-minify-replace";
-      packageName = "babel-plugin-minify-replace";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz";
-        sha512 = "aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==";
-      };
-    };
-    "babel-plugin-minify-simplify-0.5.1" = {
-      name = "babel-plugin-minify-simplify";
-      packageName = "babel-plugin-minify-simplify";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz";
-        sha512 = "OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==";
-      };
-    };
-    "babel-plugin-minify-type-constructors-0.4.3" = {
-      name = "babel-plugin-minify-type-constructors";
-      packageName = "babel-plugin-minify-type-constructors";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz";
-        sha1 = "1bc6f15b87f7ab1085d42b330b717657a2156500";
-      };
-    };
     "babel-plugin-polyfill-corejs2-0.3.1" = {
       name = "babel-plugin-polyfill-corejs2";
       packageName = "babel-plugin-polyfill-corejs2";
@@ -14773,15 +14386,6 @@ let
         sha512 = "i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==";
       };
     };
-    "babel-plugin-syntax-flow-6.18.0" = {
-      name = "babel-plugin-syntax-flow";
-      packageName = "babel-plugin-syntax-flow";
-      version = "6.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz";
-        sha1 = "4c3ab20a2af26aa20cd25995c398c4eb70310c8d";
-      };
-    };
     "babel-plugin-syntax-jsx-6.18.0" = {
       name = "babel-plugin-syntax-jsx";
       packageName = "babel-plugin-syntax-jsx";
@@ -14791,60 +14395,6 @@ let
         sha1 = "0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946";
       };
     };
-    "babel-plugin-transform-flow-strip-types-6.22.0" = {
-      name = "babel-plugin-transform-flow-strip-types";
-      packageName = "babel-plugin-transform-flow-strip-types";
-      version = "6.22.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz";
-        sha1 = "84cb672935d43714fdc32bce84568d87441cf7cf";
-      };
-    };
-    "babel-plugin-transform-inline-consecutive-adds-0.4.3" = {
-      name = "babel-plugin-transform-inline-consecutive-adds";
-      packageName = "babel-plugin-transform-inline-consecutive-adds";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz";
-        sha1 = "323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1";
-      };
-    };
-    "babel-plugin-transform-member-expression-literals-6.9.4" = {
-      name = "babel-plugin-transform-member-expression-literals";
-      packageName = "babel-plugin-transform-member-expression-literals";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz";
-        sha1 = "37039c9a0c3313a39495faac2ff3a6b5b9d038bf";
-      };
-    };
-    "babel-plugin-transform-merge-sibling-variables-6.9.4" = {
-      name = "babel-plugin-transform-merge-sibling-variables";
-      packageName = "babel-plugin-transform-merge-sibling-variables";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz";
-        sha1 = "85b422fc3377b449c9d1cde44087203532401dae";
-      };
-    };
-    "babel-plugin-transform-minify-booleans-6.9.4" = {
-      name = "babel-plugin-transform-minify-booleans";
-      packageName = "babel-plugin-transform-minify-booleans";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz";
-        sha1 = "acbb3e56a3555dd23928e4b582d285162dd2b198";
-      };
-    };
-    "babel-plugin-transform-property-literals-6.9.4" = {
-      name = "babel-plugin-transform-property-literals";
-      packageName = "babel-plugin-transform-property-literals";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz";
-        sha1 = "98c1d21e255736573f93ece54459f6ce24985d39";
-      };
-    };
     "babel-plugin-transform-react-remove-prop-types-0.4.24" = {
       name = "babel-plugin-transform-react-remove-prop-types";
       packageName = "babel-plugin-transform-react-remove-prop-types";
@@ -14854,60 +14404,6 @@ let
         sha512 = "eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==";
       };
     };
-    "babel-plugin-transform-regexp-constructors-0.4.3" = {
-      name = "babel-plugin-transform-regexp-constructors";
-      packageName = "babel-plugin-transform-regexp-constructors";
-      version = "0.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz";
-        sha1 = "58b7775b63afcf33328fae9a5f88fbd4fb0b4965";
-      };
-    };
-    "babel-plugin-transform-remove-console-6.9.4" = {
-      name = "babel-plugin-transform-remove-console";
-      packageName = "babel-plugin-transform-remove-console";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz";
-        sha1 = "b980360c067384e24b357a588d807d3c83527780";
-      };
-    };
-    "babel-plugin-transform-remove-debugger-6.9.4" = {
-      name = "babel-plugin-transform-remove-debugger";
-      packageName = "babel-plugin-transform-remove-debugger";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz";
-        sha1 = "42b727631c97978e1eb2d199a7aec84a18339ef2";
-      };
-    };
-    "babel-plugin-transform-remove-undefined-0.5.0" = {
-      name = "babel-plugin-transform-remove-undefined";
-      packageName = "babel-plugin-transform-remove-undefined";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz";
-        sha512 = "+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==";
-      };
-    };
-    "babel-plugin-transform-simplify-comparison-operators-6.9.4" = {
-      name = "babel-plugin-transform-simplify-comparison-operators";
-      packageName = "babel-plugin-transform-simplify-comparison-operators";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz";
-        sha1 = "f62afe096cab0e1f68a2d753fdf283888471ceb9";
-      };
-    };
-    "babel-plugin-transform-undefined-to-void-6.9.4" = {
-      name = "babel-plugin-transform-undefined-to-void";
-      packageName = "babel-plugin-transform-undefined-to-void";
-      version = "6.9.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz";
-        sha1 = "be241ca81404030678b748717322b89d0c8fe280";
-      };
-    };
     "babel-plugin-universal-import-4.0.2" = {
       name = "babel-plugin-universal-import";
       packageName = "babel-plugin-universal-import";
@@ -14917,33 +14413,6 @@ let
         sha512 = "VTtHsmvwRBkX3yLK4e+pFwk88BC6iNFqS2J8CCx2ddQc7RjXoRhuXXIgYCng21DYNty9IicCwDdTDjdr+TM7eg==";
       };
     };
-    "babel-preset-current-node-syntax-0.1.4" = {
-      name = "babel-preset-current-node-syntax";
-      packageName = "babel-preset-current-node-syntax";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.4.tgz";
-        sha512 = "5/INNCYhUGqw7VbVjT/hb3ucjgkVHKXY7lX3ZjlN4gm565VyFmJUrJ/h+h16ECVB38R/9SF6aACydpKMLZ/c9w==";
-      };
-    };
-    "babel-preset-jest-25.5.0" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz";
-        sha512 = "8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==";
-      };
-    };
-    "babel-preset-minify-0.5.1" = {
-      name = "babel-preset-minify";
-      packageName = "babel-preset-minify";
-      version = "0.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz";
-        sha512 = "1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==";
-      };
-    };
     "babel-runtime-6.26.0" = {
       name = "babel-runtime";
       packageName = "babel-runtime";
@@ -15727,13 +15196,13 @@ let
         sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
       };
     };
-    "bip174-2.0.1" = {
+    "bip174-2.1.0" = {
       name = "bip174";
       packageName = "bip174";
-      version = "2.0.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bip174/-/bip174-2.0.1.tgz";
-        sha512 = "i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ==";
+        url = "https://registry.npmjs.org/bip174/-/bip174-2.1.0.tgz";
+        sha512 = "lkc0XyiX9E9KiVAS1ZiOqK1xfiwvf4FXDDdkDq5crcDzOq+xGytY+14qCsqz7kCiy8rpN1CRNfacRhf9G3JNSA==";
       };
     };
     "bip32-2.0.6" = {
@@ -15916,13 +15385,13 @@ let
         sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
       };
     };
-    "bittorrent-tracker-9.18.5" = {
+    "bittorrent-tracker-9.18.6" = {
       name = "bittorrent-tracker";
       packageName = "bittorrent-tracker";
-      version = "9.18.5";
+      version = "9.18.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.5.tgz";
-        sha512 = "yh/lGHLNuTNZJJlUAmikYOX+njHIr8BFqCxJiXSQ3FaEmhj2xhe1OXF9DcrHpmMYmAQEKWC6+P/uNWGRKdkH9g==";
+        url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-9.18.6.tgz";
+        sha512 = "Exd6udzcnquiE6n9G2Jge70CsV2xI8PuQoLOnuNtFX5FPTALN/MGDxpAMVSCnvb9wMe/T9+FdDHk8TaCbKPIGw==";
       };
     };
     "bitwise-xor-0.0.0" = {
@@ -16600,6 +16069,15 @@ let
         sha512 = "PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==";
       };
     };
+    "bplist-parser-0.3.2" = {
+      name = "bplist-parser";
+      packageName = "bplist-parser";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz";
+        sha512 = "apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==";
+      };
+    };
     "brace-expansion-1.1.11" = {
       name = "brace-expansion";
       packageName = "brace-expansion";
@@ -17357,13 +16835,13 @@ let
         sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
       };
     };
-    "builtin-modules-3.2.0" = {
+    "builtin-modules-3.3.0" = {
       name = "builtin-modules";
       packageName = "builtin-modules";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz";
-        sha512 = "lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==";
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz";
+        sha512 = "zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==";
       };
     };
     "builtin-status-codes-3.0.0" = {
@@ -18023,13 +17501,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001334" = {
+    "caniuse-lite-1.0.30001340" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001334";
+      version = "1.0.30001340";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001334.tgz";
-        sha512 = "kbaCEBRRVSoeNs74sCuq92MJyGrMtjWVfhltoHUCW4t4pXFvGjUBrfo47weBRViHkiV3eBYyIsfl956NtHGazw==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001340.tgz";
+        sha512 = "jUNz+a9blQTQVu4uFcn17uAD8IDizPzQkIKh3LCJfg9BkyIqExYYdyc/ZSlWUSKb8iYiXxKsxbv4zYSvkqjrxw==";
       };
     };
     "canvas-2.9.1" = {
@@ -18059,15 +17537,6 @@ let
         sha1 = "51ad87353f1936ffd77f2f21c74633a4dea88801";
       };
     };
-    "capture-exit-2.0.0" = {
-      name = "capture-exit";
-      packageName = "capture-exit";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/capture-exit/-/capture-exit-2.0.0.tgz";
-        sha512 = "PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==";
-      };
-    };
     "capture-stack-trace-1.0.1" = {
       name = "capture-stack-trace";
       packageName = "capture-stack-trace";
@@ -18203,22 +17672,22 @@ let
         sha512 = "5brCXdY69cJYff1njLMhbpj2lO5EAeeXbaR4l7m+vb/BIN/WpgiV9QatNgcxLqalcILnzGyDzlMB+TaCp//Rqw==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.218" = {
+    "cdk8s-plus-22-1.0.0-beta.220" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.218";
+      version = "1.0.0-beta.220";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.218.tgz";
-        sha512 = "MpodeEotALdHVUie7ioxvs35WHN/2E31Hw/TTWYcXyrcBMg8g+x9y4u96ZWpsCfHE+QCaXCQ1jAGSQta2dE9AA==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.220.tgz";
+        sha512 = "8oY3HE5LTmj1Q8z5cCfUT/OOl/rZu/zb6zkY7XiMsuBfUDoW2Tmr1N45VyvxwwB64tOlpDMHbETcm+sRz6BNRg==";
       };
     };
-    "cdktf-0.10.3" = {
+    "cdktf-0.10.4" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.10.3";
+      version = "0.10.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.10.3.tgz";
-        sha512 = "Ja9YmHOZz1jqAbbZjK0V2IDsOJUc6MI38nlBu7wSA+ajmUmYOhgW331kxvT+q6nRwO06iqkUtRsR6FfndQ1xvA==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.10.4.tgz";
+        sha512 = "jaNfN+DXGLGVsCWtAe9I6a+sYUPMqTf2e5oIvkk/j3qJBZTUKeuUcVFrjlvbLPsN3YkfNHwZQTK3mdJsIx3MdA==";
       };
     };
     "center-align-0.1.3" = {
@@ -18851,13 +18320,13 @@ let
         sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
       };
     };
-    "ci-info-3.3.0" = {
+    "ci-info-3.3.1" = {
       name = "ci-info";
       packageName = "ci-info";
-      version = "3.3.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz";
-        sha512 = "riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==";
+        url = "https://registry.npmjs.org/ci-info/-/ci-info-3.3.1.tgz";
+        sha512 = "SXgeMX9VwDe7iFFaEWkA5AstuER9YKqy4EhHqr4DVqkwmD9rpVimkMKWHdjn30Ja45txyjhSn63lVX69eVCckg==";
       };
     };
     "cint-8.2.1" = {
@@ -19787,13 +19256,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.57.0" = {
+    "codemaker-1.58.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.57.0.tgz";
-        sha512 = "M2/8sfQxQ9IkN2tsbOIwHn9U6KqG/mCRsg14muK8HIZH5oqjgc8Ucfqboqlrye8+9kyuQLieIhABiRV2gqeEDg==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.58.0.tgz";
+        sha512 = "hV9snVkPiXjHKsYpZD7tTb28LHeXCkvZxiwSph9iWTJJP7+fP9s2inDiHdMHF+Nq+o+JLXKWkE2DP5iNOHAtuA==";
       };
     };
     "codepage-1.4.0" = {
@@ -20507,13 +19976,13 @@ let
         sha1 = "8a47901700238e4fc32269771230226f24b415a9";
       };
     };
-    "compress-brotli-1.3.6" = {
+    "compress-brotli-1.3.8" = {
       name = "compress-brotli";
       packageName = "compress-brotli";
-      version = "1.3.6";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.6.tgz";
-        sha512 = "au99/GqZtUtiCBliqLFbWlhnCxn+XSYjwZ77q6mKN4La4qOXDoLVPZ50iXr0WmAyMxl8yqoq3Yq4OeQNPPkyeQ==";
+        url = "https://registry.npmjs.org/compress-brotli/-/compress-brotli-1.3.8.tgz";
+        sha512 = "lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ==";
       };
     };
     "compress-commons-2.1.1" = {
@@ -20849,22 +20318,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.130" = {
+    "constructs-10.1.7" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.130";
+      version = "10.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.130.tgz";
-        sha512 = "9LYBePJHHnuXCr42eN0T4+O8xXHRxxak6G/UX+avt8ZZ/SNE9HFbFD8a+FKP8ixSNzzaEamDMswrMwPPTtU8cA==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.1.7.tgz";
+        sha512 = "U4zMM7Iqa81hzLSfof9IW9R7kUWSMdhzV2JS8lXGISRFXljZrd4qwzYxhSO/VMB+CS24Tt0/YYLyNxET+6/3Mg==";
       };
     };
-    "constructs-3.3.283" = {
+    "constructs-3.4.7" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.283";
+      version = "3.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.283.tgz";
-        sha512 = "0LbWDLDPE6sa19F87kTg/a+7ZhO6YXaGs3JYPYcYcd1vzastOUbJQ+GY9O7BweDMLj0Hcw4WP33qV0SFmGnipQ==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.4.7.tgz";
+        sha512 = "TnYJY+u7+TP/p5/sZOzBrPGNA/Aa3MDlqpS/+98gvWWndRwnLy0VFPX3HDS/gvVMa0WcE3U59heFXnxtQvSbqA==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -21201,13 +20670,13 @@ let
         sha1 = "7e3e48bbe6d997b1417ddca2868204b4d3d85715";
       };
     };
-    "convict-6.2.2" = {
+    "convict-6.2.3" = {
       name = "convict";
       packageName = "convict";
-      version = "6.2.2";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/convict/-/convict-6.2.2.tgz";
-        sha512 = "3MsROJiEFN3BAzeFit1t87t7EUFzd44MNd13MLSikV2dsnDl7znwKgtYPPONtnDzxiDW0nBAsxVhSRNrjUrTTg==";
+        url = "https://registry.npmjs.org/convict/-/convict-6.2.3.tgz";
+        sha512 = "mTY04Qr7WrqiXifdeUYXr4/+Te4hPFWDvz6J2FVIKCLc2XBhq63VOSSYAKJ+unhZAYOAjmEdNswTOeHt7s++pQ==";
       };
     };
     "cookie-0.0.4" = {
@@ -21471,31 +20940,31 @@ let
         sha512 = "YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ==";
       };
     };
-    "core-js-3.22.3" = {
+    "core-js-3.22.5" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.22.3";
+      version = "3.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.3.tgz";
-        sha512 = "1t+2a/d2lppW1gkLXx3pKPVGbBdxXAkqztvWb1EJ8oF8O2gIGiytzflNiFEehYwVK/t2ryUsGBoOFFvNx95mbg==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.5.tgz";
+        sha512 = "VP/xYuvJ0MJWRAobcmQ8F2H6Bsn+s7zqAAjFaHGBMc5AQm7zaelhD1LGduFn2EehEcQcU+br6t+fwbpQ5d1ZWA==";
       };
     };
-    "core-js-compat-3.22.3" = {
+    "core-js-compat-3.22.5" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.22.3";
+      version = "3.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.3.tgz";
-        sha512 = "wliMbvPI2idgFWpFe7UEyHMvu6HWgW8WA+HnDRtgzoSDYvXFMpoGX1H3tPDDXrcfUSyXafCLDd7hOeMQHEZxGw==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.5.tgz";
+        sha512 = "rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==";
       };
     };
-    "core-js-pure-3.22.3" = {
+    "core-js-pure-3.22.5" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.22.3";
+      version = "3.22.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.3.tgz";
-        sha512 = "oN88zz7nmKROMy8GOjs+LN+0LedIvbMdnB5XsTlhcOg1WGARt9l0LFg0zohdoFmCsEZ1h2ZbSQ6azj3M+vhzwQ==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.5.tgz";
+        sha512 = "8xo9R00iYD7TcV7OrC98GwxiUEAabVWO3dix+uyWjnYrx9fyASLlIX+f/3p5dW5qByaP2bcZ8X/T47s55et/tA==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -21741,13 +21210,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-2.13.0" = {
+    "create-gatsby-2.14.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.13.0";
+      version = "2.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.13.0.tgz";
-        sha512 = "y2v+O1ydY0jfGevbW7oU/UA+gp5ljBTRwjdc4DyDdvS+SLnbHUp586j0rgaT/6cbY6CxfDgyGJxiAzYxuB5dlg==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.14.0.tgz";
+        sha512 = "Q92Omw5zPTKRrv5XDcsIVzBqSIHwl3T1lpOjQhSrQd42LDKUFAuE8zf/kTWT0QXo9cacBC+diUWIRxkqIZVKzQ==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -21840,15 +21309,6 @@ let
         sha512 = "1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==";
       };
     };
-    "cross-env-7.0.0" = {
-      name = "cross-env";
-      packageName = "cross-env";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-env/-/cross-env-7.0.0.tgz";
-        sha512 = "rV6M9ldNgmwP7bx5u6rZsTbYidzwvrwIYZnT08hSGLcQCcggofgFW+sNe7IhA1SRauPS0QuLbbX+wdNtpqE5CQ==";
-      };
-    };
     "cross-fetch-3.0.6" = {
       name = "cross-fetch";
       packageName = "cross-fetch";
@@ -21930,13 +21390,13 @@ let
         sha512 = "mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==";
       };
     };
-    "cross-undici-fetch-0.3.3" = {
+    "cross-undici-fetch-0.4.3" = {
       name = "cross-undici-fetch";
       packageName = "cross-undici-fetch";
-      version = "0.3.3";
+      version = "0.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.3.3.tgz";
-        sha512 = "pNariiu7YGO/00sFPAUxgQUDEJcoYbalF4XwmA6p2fYICbcv5y9FsybnuaNGZ2wEk49HhiN8xaFt7s+Lk4EQ/w==";
+        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.4.3.tgz";
+        sha512 = "mv1jusEQsFnBHEBkpFaYROKAzAWyuW8ZyN48NcyqkjLGRrscMKuFRmUigUrkE/pdprQZjNTQQ/aWJKe6F4tzTA==";
       };
     };
     "crossroads-0.12.2" = {
@@ -22011,49 +21471,49 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-5.19.7" = {
+    "cspell-gitignore-5.20.0" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.19.7.tgz";
-        sha512 = "rEqlN6wigNj4P/4Z3QCI1P56KhKkPtXNBpGMXC5CbxIK/NTtn3cLaqHKIZp92pypEnU077lxSCSqRRYCPbg/6A==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.20.0.tgz";
+        sha512 = "oWzoHcaidX6jFON6vwiH3cA1HqkGmawD1DWt+fPWKrea9/SuTcvFxm+RbqO4DjwXEAMIczyPOWo+SCM0VbcCrA==";
       };
     };
-    "cspell-glob-5.19.7" = {
+    "cspell-glob-5.20.0" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.19.7.tgz";
-        sha512 = "fqlF7oqYTT2A3SRfQr7gzN21fwPoRO9IGKec1L3QeGkni5UPDxGrM2a5z+oLaYs2GN5pEf29BXVlN7dq0jVxIg==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.20.0.tgz";
+        sha512 = "eyo8NYH4GapHxfilMarwvf1HIyGWT3gWuFlYkmQjYVx3KjzmfR1Y1x9S068wmwjp9kKCu9T6Vj71EGG+9R59Lw==";
       };
     };
-    "cspell-io-5.19.7" = {
+    "cspell-io-5.20.0" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.19.7.tgz";
-        sha512 = "SEy8XkuOhvwleGjh336EBYj5HlH1J5FrCI5GxxGiU2g8zvWlBPQmaCfQPPO4tnDrrXtK76rZvolBu1jfCmWwQA==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.20.0.tgz";
+        sha512 = "wgqqpVIhtMh+/+3YfHt8cDfrD7OLF+xQlStlURj8AJwEJ0xu16zyI9S5zcig+83+0QyzuMdxfZiMgbdQxWEvOg==";
       };
     };
-    "cspell-lib-5.19.7" = {
+    "cspell-lib-5.20.0" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.19.7.tgz";
-        sha512 = "d4ewH1RBgcBE9NqAh0FexmVQ6YvkDQv9XOysskeDH+G9wm975owENUU/mBd8AyBt2b4YXL/FoLtaKd/7MRoNDA==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.20.0.tgz";
+        sha512 = "Fc7+3ExF2pNS8BsQTXSMkhR6ITbpyiMQf+y4ZH/aBml09+O6lrbj4j2tJx/oR4XvDEA8uQkV/5lMGdU+otC1KQ==";
       };
     };
-    "cspell-trie-lib-5.19.7" = {
+    "cspell-trie-lib-5.20.0" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "5.19.7";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.19.7.tgz";
-        sha512 = "qr0HS2hGuyIQhDGG5li0nqIjVi039iPRHR8wpeDoSO0YIBCll22i/VlvW3CSmqXLaP5RRoAc9txiZkIGob6DkQ==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.20.0.tgz";
+        sha512 = "ET95dJh+OJ04PdLI9dKqAa+dDu47tXcUxCR6uKiZ+qZ18v1Zl986s8q89m9c+xpo7Leqh0rF6Zsw3M9Cjy6Jhw==";
       };
     };
     "csrf-3.1.0" = {
@@ -22632,15 +22092,6 @@ let
         sha1 = "596e9698fd0c80e12038c2b82d6eb1b35b6224d9";
       };
     };
-    "cypress-image-snapshot-4.0.1" = {
-      name = "cypress-image-snapshot";
-      packageName = "cypress-image-snapshot";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cypress-image-snapshot/-/cypress-image-snapshot-4.0.1.tgz";
-        sha512 = "PBpnhX/XItlx3/DAk5ozsXQHUi72exybBNH5Mpqj1DVmjq+S5Jd9WE5CRa4q5q0zuMZb2V2VpXHth6MjFpgj9Q==";
-      };
-    };
     "d-1.0.1" = {
       name = "d";
       packageName = "d";
@@ -23667,13 +23118,13 @@ let
         sha512 = "2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==";
       };
     };
-    "dayjs-1.11.1" = {
+    "dayjs-1.11.2" = {
       name = "dayjs";
       packageName = "dayjs";
-      version = "1.11.1";
+      version = "1.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.11.1.tgz";
-        sha512 = "ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==";
+        url = "https://registry.npmjs.org/dayjs/-/dayjs-1.11.2.tgz";
+        sha512 = "F4LXf1OeU9hrSYRPTTj/6FbO4HTjPKXvEIC1P2kcnFurViINCVk3ZV0xAS3XVx9MkMsXbbqlK6hjseaYbgKEHw==";
       };
     };
     "dayjs-1.8.36" = {
@@ -23712,15 +23163,6 @@ let
         sha512 = "YKw0BmJSWxkjtQsbgn6Q9CHSWB7DKMen8vKrgyC006zy0UZ6nWyGidB0IzZgqkVRkOglAeUaFtiRTeLyel72bg==";
       };
     };
-    "death-1.1.0" = {
-      name = "death";
-      packageName = "death";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/death/-/death-1.1.0.tgz";
-        sha1 = "01aa9c401edd92750514470b8266390c66c67318";
-      };
-    };
     "debounce-1.2.0" = {
       name = "debounce";
       packageName = "debounce";
@@ -25224,31 +24666,31 @@ let
         sha512 = "k770mVWaCm3KbyOSPFizP6WB2ucZjfAv8aun4UsKl+IivowK7ItwBixNbziBjN05yNpvCL1/IxBdZiSz6KQIvA==";
       };
     };
-    "dockerfile-language-service-0.8.1" = {
+    "dockerfile-language-service-0.9.0" = {
       name = "dockerfile-language-service";
       packageName = "dockerfile-language-service";
-      version = "0.8.1";
+      version = "0.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.8.1.tgz";
-        sha512 = "bqrZ2FzG45w2Mzmak3oC5ecIl/edStygSFQ0i/8WGabb5k/w6zWwqDaHVgT8dkfogm+swHMQUu4WGTvVu1qLCA==";
+        url = "https://registry.npmjs.org/dockerfile-language-service/-/dockerfile-language-service-0.9.0.tgz";
+        sha512 = "sDUkTR4LUimEAWXDIbUTEx2CytCBlx+XlJkg4B2Ptvak9HkwPD4JpXesaWxXPpp6YHCzxqwsTDY7Gf79ic340g==";
       };
     };
-    "dockerfile-utils-0.9.4" = {
+    "dockerfile-utils-0.10.0" = {
       name = "dockerfile-utils";
       packageName = "dockerfile-utils";
-      version = "0.9.4";
+      version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.9.4.tgz";
-        sha512 = "lqmCxVhaUyCUIz9dhzYVrHZLJG5hzdcwd29JcA/0o7xIx2VwvIctUE6SpK8ugLTNuwMx/oKU2YVLaRIX/CmQPg==";
+        url = "https://registry.npmjs.org/dockerfile-utils/-/dockerfile-utils-0.10.0.tgz";
+        sha512 = "gnEhxITHpOXNXdlwJgJEq3xnJokm0IZOmrmHlJv8zCB2EDsgZWwdYWuktMMslIywK2YT22gxgZEoFjtEaJqzhQ==";
       };
     };
-    "doctoc-2.1.0" = {
+    "doctoc-2.2.0" = {
       name = "doctoc";
       packageName = "doctoc";
-      version = "2.1.0";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/doctoc/-/doctoc-2.1.0.tgz";
-        sha512 = "0darEVEuWKLyIlpGOzE5cILf/pgUu25qUs6YwCqLqfxb8+3b9Cl4iakA8vwYrBQOkJ5SwpHKEPVMu2KOMrTA7A==";
+        url = "https://registry.npmjs.org/doctoc/-/doctoc-2.2.0.tgz";
+        sha512 = "PtiyaS+S3kcMbpx6x2V0S+PeDKisxmjEFnZsuYkkj4Lh3ObozJuuYh9dM4+sX02Ouuty8RF2LOCnIbpu/hWy/A==";
       };
     };
     "doctrine-2.1.0" = {
@@ -25512,6 +24954,15 @@ let
         sha512 = "OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg==";
       };
     };
+    "dompurify-2.3.7" = {
+      name = "dompurify";
+      packageName = "dompurify";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.7.tgz";
+        sha512 = "fsVZLywBd3awZIG3qU4JEdw7DCb0uUCajTfWRrLhsgKjTBd5CIIluPoAkNfco05GuNYQGj4/+bQIhlq96eT9eQ==";
+      };
+    };
     "domutils-1.4.3" = {
       name = "domutils";
       packageName = "domutils";
@@ -25764,13 +25215,13 @@ let
         sha1 = "5bcc80be7097e45fc489c342405ab68140a8c1d9";
       };
     };
-    "dset-3.1.1" = {
+    "dset-3.1.2" = {
       name = "dset";
       packageName = "dset";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dset/-/dset-3.1.1.tgz";
-        sha512 = "hYf+jZNNqJBD2GiMYb+5mqOIX4R4RRHXU3qWMWYN+rqcR2/YpRL2bUHr8C8fU+5DNvqYjJ8YvMGSLuVPWU1cNg==";
+        url = "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz";
+        sha512 = "g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==";
       };
     };
     "dtrace-provider-0.6.0" = {
@@ -26034,13 +25485,13 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
-    "ejs-3.1.7" = {
+    "ejs-3.1.8" = {
       name = "ejs";
       packageName = "ejs";
-      version = "3.1.7";
+      version = "3.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz";
-        sha512 = "BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==";
+        url = "https://registry.npmjs.org/ejs/-/ejs-3.1.8.tgz";
+        sha512 = "/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==";
       };
     };
     "electron-14.2.9" = {
@@ -26088,13 +25539,13 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.129" = {
+    "electron-to-chromium-1.4.137" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.129";
+      version = "1.4.137";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.129.tgz";
-        sha512 = "GgtN6bsDtHdtXJtlMYZWGB/uOyjZWjmRDumXTas7dGBaB9zUyCjzHet1DY2KhyHN8R0GLbzZWqm4efeddqqyRQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz";
+        sha512 = "0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==";
       };
     };
     "electrum-client-git+https://github.com/janoside/electrum-client" = {
@@ -26143,6 +25594,15 @@ let
         sha512 = "iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==";
       };
     };
+    "emitter-component-1.1.1" = {
+      name = "emitter-component";
+      packageName = "emitter-component";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz";
+        sha1 = "065e2dbed6959bf470679edabeaf7981d1003ab6";
+      };
+    };
     "emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" = {
       name = "emitter";
       packageName = "emitter";
@@ -26513,13 +25973,13 @@ let
         sha512 = "IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==";
       };
     };
-    "engine.io-client-6.2.1" = {
+    "engine.io-client-6.2.2" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
-      version = "6.2.1";
+      version = "6.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.1.tgz";
-        sha512 = "5cu7xubVxEwoB6O9hJ6Zfu990yBVjXfyMlE1ZvfO5L8if3Kvc9bgDNEapV0C5pMp+5Om1UZFnljxoOuFm6dBKA==";
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.2.tgz";
+        sha512 = "8ZQmx0LQGRTYkHuogVZuGSpDqYZtCM/nv8zQ68VZ+JkOpazJ7ICdsSpaO6iXwvaU30oFg5QJOJWj8zWqhbKjkQ==";
       };
     };
     "engine.io-parser-1.0.6" = {
@@ -26801,13 +26261,13 @@ let
         sha512 = "rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==";
       };
     };
-    "es-abstract-1.19.5" = {
+    "es-abstract-1.20.0" = {
       name = "es-abstract";
       packageName = "es-abstract";
-      version = "1.19.5";
+      version = "1.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz";
-        sha512 = "Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==";
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.0.tgz";
+        sha512 = "URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==";
       };
     };
     "es-get-iterator-1.1.2" = {
@@ -27197,13 +26657,13 @@ let
         sha512 = "/KRpd9mIRg2raGxHRGwW9ZywYNAClZrHjdueHcrVDuO3a6bj83eoTirCCk0M0yPwOjWYKHwRVRid+xK4F/GHgA==";
       };
     };
-    "eslint-8.14.0" = {
+    "eslint-8.15.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.14.0";
+      version = "8.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
-        sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz";
+        sha512 = "GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==";
       };
     };
     "eslint-config-prettier-6.15.0" = {
@@ -27449,6 +26909,15 @@ let
         sha512 = "bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==";
       };
     };
+    "espree-9.3.2" = {
+      name = "espree";
+      packageName = "espree";
+      version = "9.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.2.tgz";
+        sha512 = "D211tC7ZwouTIuY5x9XnS0E9sWNChB7IYKX/Xp5eQj3nFXhqmiUDB9q27y76oFl8jTg3pXcQx/bpxMfs3CIZbA==";
+      };
+    };
     "esprima-1.1.1" = {
       name = "esprima";
       packageName = "esprima";
@@ -27629,15 +27098,6 @@ let
         sha512 = "3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==";
       };
     };
-    "estree-walker-0.6.1" = {
-      name = "estree-walker";
-      packageName = "estree-walker";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz";
-        sha512 = "SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==";
-      };
-    };
     "estree-walker-2.0.2" = {
       name = "estree-walker";
       packageName = "estree-walker";
@@ -27917,13 +27377,13 @@ let
         sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
       };
     };
-    "eventsource-1.1.0" = {
+    "eventsource-1.1.1" = {
       name = "eventsource";
       packageName = "eventsource";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz";
-        sha512 = "VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==";
+        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.1.tgz";
+        sha512 = "qV5ZC0h7jYIAOhArFJgSfdyz6rALJyb270714o7ZtNnw2WSJ+eexhKtE0O8LYPRsHZHf2osHKZBxGPvm3kPkCA==";
       };
     };
     "everyauth-0.4.5" = {
@@ -27953,15 +27413,6 @@ let
         sha1 = "c7c5ad2eef3478d38390c6dd3acfe8af0efc8301";
       };
     };
-    "exec-sh-0.3.6" = {
-      name = "exec-sh";
-      packageName = "exec-sh";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.6.tgz";
-        sha512 = "nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==";
-      };
-    };
     "execa-0.10.0" = {
       name = "execa";
       packageName = "execa";
@@ -28178,13 +27629,13 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-modules-autolinking-0.7.0" = {
+    "expo-modules-autolinking-0.7.1" = {
       name = "expo-modules-autolinking";
       packageName = "expo-modules-autolinking";
-      version = "0.7.0";
+      version = "0.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.7.0.tgz";
-        sha512 = "xwO3hLCl3Ru8ouuf35cLQgbOL6ym1ku1HLXX/1xs7inYLKvDzAWY/oeiNS30qOl13T4aYFR3q2Nq9XlDw41/2Q==";
+        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.7.1.tgz";
+        sha512 = "HKPcwXuRztEjhQRHxwhLXyAblkOsSi3n7aaBV6qgrOOi0WL/E3di8E2fowlHiiQW/i9vJDemMcvq0ZTCYW+bFg==";
       };
     };
     "expo-pwa-0.0.118" = {
@@ -28376,6 +27827,15 @@ let
         sha512 = "mPcYcLA0lvh7D4Oqr5aNJFMtBMKPLl++OKKxkHzZ0U0oDq1rpKBnkR5f5vCHR26VeArlTOEF9td4x5IjICksRQ==";
       };
     };
+    "express-session-1.17.3" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.17.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz";
+        sha512 = "4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==";
+      };
+    };
     "express-urlrewrite-1.4.0" = {
       name = "express-urlrewrite";
       packageName = "express-urlrewrite";
@@ -28691,13 +28151,13 @@ let
         sha1 = "c18d24ef5091174a497f318cd24b026a25cddab4";
       };
     };
-    "falafel-2.2.4" = {
+    "falafel-2.2.5" = {
       name = "falafel";
       packageName = "falafel";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz";
-        sha512 = "0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==";
+        url = "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz";
+        sha512 = "HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==";
       };
     };
     "fancy-log-1.3.3" = {
@@ -29375,13 +28835,13 @@ let
         sha512 = "hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==";
       };
     };
-    "filelist-1.0.3" = {
+    "filelist-1.0.4" = {
       name = "filelist";
       packageName = "filelist";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.3.tgz";
-        sha512 = "LwjCsruLWQULGYKy7TX0OPtrL9kLpojOFKc5VCTxdFTV7w5zbsgqVKfnkKG7Qgjtq50gKfO56hJv88OfcGb70Q==";
+        url = "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz";
+        sha512 = "w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==";
       };
     };
     "filename-regex-2.0.1" = {
@@ -29735,13 +29195,13 @@ let
         sha512 = "ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==";
       };
     };
-    "firebase-frameworks-0.3.0" = {
+    "firebase-frameworks-0.4.2" = {
       name = "firebase-frameworks";
       packageName = "firebase-frameworks";
-      version = "0.3.0";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.3.0.tgz";
-        sha512 = "Zxtx5WsD8ZZdItIeDjjpM+JgaIWDdwBujmLYLKf2Ou6onyRsd8bNRrnVsqrnq4S3FN9TcNYliXdwMu7AwYdW7Q==";
+        url = "https://registry.npmjs.org/firebase-frameworks/-/firebase-frameworks-0.4.2.tgz";
+        sha512 = "a3xNE3wPh8JWq2WOgWlSypVS9O/y/3/3Im9EV7bNBF44wFV2oOAyFdVgDk6it81+lBRv7ci8PttgQZohtsFeVA==";
       };
     };
     "firefox-profile-4.2.2" = {
@@ -29888,22 +29348,13 @@ let
         sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
       };
     };
-    "flow-bin-0.118.0" = {
-      name = "flow-bin";
-      packageName = "flow-bin";
-      version = "0.118.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flow-bin/-/flow-bin-0.118.0.tgz";
-        sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
-      };
-    };
-    "flow-parser-0.176.3" = {
+    "flow-parser-0.178.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.176.3";
+      version = "0.178.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.176.3.tgz";
-        sha512 = "KDzHEoEtc/kbW7NzujhfFkcTCdNi6VK91UpcdT3tc3yEAQdh4JXAEY/0TVJKipjRuVm8E2FxX/3B5Xpm3EFWXA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.178.0.tgz";
+        sha512 = "OviMR2Y/sMSyUzR1xLLAmQvmHXTsD1Sq69OTmP5AckVulld7sVNsCfwsw7t3uK00dO9A7k4fD+wodbzzaaEn5g==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -30050,13 +29501,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.9" = {
+    "follow-redirects-1.15.0" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.9";
+      version = "1.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     };
     "follow-redirects-1.5.10" = {
@@ -30131,13 +29582,13 @@ let
         sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
       };
     };
-    "foreach-2.0.5" = {
+    "foreach-2.0.6" = {
       name = "foreach";
       packageName = "foreach";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz";
-        sha1 = "0bee005018aeb260d0a3af3ae658dd0136ec1b99";
+        url = "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz";
+        sha512 = "k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==";
       };
     };
     "foreachasync-3.0.0" = {
@@ -30536,15 +29987,6 @@ let
         sha512 = "C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==";
       };
     };
-    "fs-extra-10.0.1" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "10.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz";
-        sha512 = "NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==";
-      };
-    };
     "fs-extra-10.1.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -30824,6 +30266,15 @@ let
         sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     };
+    "function.prototype.name-1.1.5" = {
+      name = "function.prototype.name";
+      packageName = "function.prototype.name";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
+        sha512 = "uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==";
+      };
+    };
     "functional-red-black-tree-1.0.1" = {
       name = "functional-red-black-tree";
       packageName = "functional-red-black-tree";
@@ -30896,22 +30347,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.13.0" = {
+    "gatsby-core-utils-3.14.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.13.0";
+      version = "3.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.13.0.tgz";
-        sha512 = "uAyy54t9dYAUHjLq38QfX/pxyWxsqDiWN/+Ppg/KXTbE83LUQlD0PctdNxz9jFmJ8CgE1BUbfUKpmemh8BLkjw==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.14.0.tgz";
+        sha512 = "JavHwcX5L+ZRoL5FKhYex3JfbwwS0273YTpf8y8SRKsObD8H+bbLOUlbOjASpqy+IU3dW+r76gT1dQdaqeH9Og==";
       };
     };
-    "gatsby-telemetry-3.13.0" = {
+    "gatsby-telemetry-3.14.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.13.0";
+      version = "3.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.13.0.tgz";
-        sha512 = "VKwRRw6WVvCmekeeMgb+Ic4pS/3Jn+3LTP2nX/QZ1G3256xFxKZVPMRO4007xLKmuIu4liEAaLrnZpG3ZuprYA==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.14.0.tgz";
+        sha512 = "QnlN3nvb+1gYsY6cIQKAuvkhx9uoOg71yuEYB0EFQdgcnyIbWlBVRHId8wOXoQHwRYFmatvxBmcKlVF8FCs61A==";
       };
     };
     "gauge-1.2.7" = {
@@ -31139,15 +30590,6 @@ let
         sha1 = "6432796563e28113cd9474dbbd00052985a4999c";
       };
     };
-    "get-package-type-0.1.0" = {
-      name = "get-package-type";
-      packageName = "get-package-type";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz";
-        sha512 = "pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==";
-      };
-    };
     "get-pkg-repo-4.2.1" = {
       name = "get-pkg-repo";
       packageName = "get-pkg-repo";
@@ -31652,13 +31094,13 @@ let
         sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     };
-    "glob-8.0.1" = {
+    "glob-8.0.2" = {
       name = "glob";
       packageName = "glob";
-      version = "8.0.1";
+      version = "8.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz";
-        sha512 = "cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==";
+        url = "https://registry.npmjs.org/glob/-/glob-8.0.2.tgz";
+        sha512 = "0jzor6jfIKaDg/2FIN+9L8oDxzHTkI/+vwJimOmOZjaVjFVVZJFojOYbbWC0okXbBVSgYpbcuQ7xy6gDP9f8gw==";
       };
     };
     "glob-base-0.3.0" = {
@@ -31932,13 +31374,13 @@ let
         sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
       };
     };
-    "globals-13.13.0" = {
+    "globals-13.15.0" = {
       name = "globals";
       packageName = "globals";
-      version = "13.13.0";
+      version = "13.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz";
-        sha512 = "EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.15.0.tgz";
+        sha512 = "bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog==";
       };
     };
     "globals-9.18.0" = {
@@ -31950,13 +31392,13 @@ let
         sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
       };
     };
-    "globalthis-1.0.2" = {
+    "globalthis-1.0.3" = {
       name = "globalthis";
       packageName = "globalthis";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.2.tgz";
-        sha512 = "ZQnSFO1la8P7auIOQECnm0sSuoMeaSq0EEdXMBFF2QJO4uNcwbyhSgG3MruWNbFTqCLmxVwGOl7LZ9kASvHdeQ==";
+        url = "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz";
+        sha512 = "sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==";
       };
     };
     "globby-10.0.2" = {
@@ -32085,15 +31527,6 @@ let
         sha512 = "5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==";
       };
     };
-    "glur-1.1.2" = {
-      name = "glur";
-      packageName = "glur";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz";
-        sha1 = "f20ea36db103bfc292343921f1f91e83c3467689";
-      };
-    };
     "gm-1.23.1" = {
       name = "gm";
       packageName = "gm";
@@ -32139,22 +31572,13 @@ let
         sha512 = "5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==";
       };
     };
-    "google-closure-compiler-js-20170910.0.1" = {
-      name = "google-closure-compiler-js";
-      packageName = "google-closure-compiler-js";
-      version = "20170910.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/google-closure-compiler-js/-/google-closure-compiler-js-20170910.0.1.tgz";
-        sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
-      };
-    };
-    "google-gax-2.30.2" = {
+    "google-gax-2.30.3" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.30.2";
+      version = "2.30.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.30.2.tgz";
-        sha512 = "BCNCT26kb0iC52zj2SosyOZMhI5sVfXuul1h0Aw5uT9nGAbmS5eOvQ49ft53ft6XotDj11sUSDV6XESEiQqCqg==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.30.3.tgz";
+        sha512 = "Zsd6hbJBMvAcJS3cYpAsmupvfsxygFR2meUZJcGeR7iUqYHCR/1Hf2aQNB9srrlXQMm91pNiUvW0Kz6Qld8QkA==";
       };
     };
     "google-p12-pem-3.1.4" = {
@@ -32328,6 +31752,15 @@ let
         sha512 = "mD3E/QxYJYfT8jPxWDxJPszVQteMtPoLHAMvXT1EsjEBvxCbrFVg5U3TKaA6Xgl6fhinBcv2yFT6tWw3h+xJzQ==";
       };
     };
+    "grammy-1.8.3" = {
+      name = "grammy";
+      packageName = "grammy";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grammy/-/grammy-1.8.3.tgz";
+        sha512 = "3esAETA0HXR9wb8x65uYeAt1AbCQsJC5l6iuxSRXZR2cSxEf+61vIbJ5qUvw7TfMkgPuH71Gi7AHSFGZ+F1eqQ==";
+      };
+    };
     "grant-4.7.0" = {
       name = "grant";
       packageName = "grant";
@@ -32571,13 +32004,13 @@ let
         sha512 = "sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==";
       };
     };
-    "graphql-ws-5.8.1" = {
+    "graphql-ws-5.8.2" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "5.8.1";
+      version = "5.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.8.1.tgz";
-        sha512 = "UVf/fxlHultC1+12tX9ShTIipqQFNZ96g7N51RFQlk7MFPsDUUMCR3QXVEzHEd5xlTp16rs5vCyfBljvcPN3fA==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.8.2.tgz";
+        sha512 = "hYo8kTGzxePFJtMGC7Y4cbypwifMphIJJ7n4TDcVUAfviRwQBnmZAbfZlC+XFwWDUaR7raEDQPxWctpccmE0JQ==";
       };
     };
     "gray-matter-4.0.3" = {
@@ -33858,6 +33291,15 @@ let
         sha512 = "DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==";
       };
     };
+    "html-link-extractor-1.0.5" = {
+      name = "html-link-extractor";
+      packageName = "html-link-extractor";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz";
+        sha512 = "ADd49pudM157uWHwHQPUSX4ssMsvR/yHIswOR5CUfBdK9g9ZYGMhVSE6KZVHJ6kCkR0gH4htsfzU6zECDNVwyw==";
+      };
+    };
     "html-loader-1.1.0" = {
       name = "html-loader";
       packageName = "html-loader";
@@ -34272,13 +33714,13 @@ let
         sha512 = "3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==";
       };
     };
-    "http-status-1.5.1" = {
+    "http-status-1.5.2" = {
       name = "http-status";
       packageName = "http-status";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-status/-/http-status-1.5.1.tgz";
-        sha512 = "EP6M4naWmtIrCHL1QfVHz6hsQb8dJLP5rDO1oPn03eAXD3CNVXgUqR5302gr3Gl8B/gVE1zz+Pmws7aJx+VMSw==";
+        url = "https://registry.npmjs.org/http-status/-/http-status-1.5.2.tgz";
+        sha512 = "HzxX+/hV/8US1Gq4V6R6PgUmJ5Pt/DGATs4QhdEOpG8LrdS9/3UG2nnOvkqUpRks04yjVtV5p/NODjO+wvf6vg==";
       };
     };
     "http2-client-1.3.5" = {
@@ -35847,13 +35289,13 @@ let
         sha1 = "81ef57fe5d05814cd58c2483632a99c30a0e8087";
       };
     };
-    "ip-1.1.5" = {
+    "ip-1.1.8" = {
       name = "ip";
       packageName = "ip";
-      version = "1.1.5";
+      version = "1.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
-        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
+        url = "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz";
+        sha512 = "PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==";
       };
     };
     "ip-address-6.1.0" = {
@@ -36756,15 +36198,6 @@ let
         sha512 = "CPduJfuGg8h8vW74WOxHtHmtQutyQBzR+3MjQ6iDHIYdbOnm1YC7jv43SqCoU8OPGTJD4nibmiryA4kmogbGrA==";
       };
     };
-    "is-module-1.0.0" = {
-      name = "is-module";
-      packageName = "is-module";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz";
-        sha1 = "3258fb69f78c14d5b815d664336b4cffb6441591";
-      };
-    };
     "is-my-ip-valid-1.0.1" = {
       name = "is-my-ip-valid";
       packageName = "is-my-ip-valid";
@@ -37152,13 +36585,13 @@ let
         sha512 = "eCTBKm9K6nO3H1S3BrJBAqZJIVXKNdwDuGl6KHf1bnf/bn02BvEe+l+MypjsxbqZ7mt5oMhu+bS/mm7G2FRW3A==";
       };
     };
-    "is-reachable-5.1.1" = {
+    "is-reachable-5.2.0" = {
       name = "is-reachable";
       packageName = "is-reachable";
-      version = "5.1.1";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-reachable/-/is-reachable-5.1.1.tgz";
-        sha512 = "CIZlnpOha9mgqHjLaodY3OeYEX62ElsuYvtI8HmJz4uJEHfaeQ+vNBCAkUsyfCrYawSbCOSufUHM6lHaP4hG8Q==";
+        url = "https://registry.npmjs.org/is-reachable/-/is-reachable-5.2.0.tgz";
+        sha512 = "x9rn66RltP1CDAdk00y6hG7kgVTTYvQwcIp8s8ug6d4M1EdhvNwi19YmSJwfVfHtlFViMI8anKHX52SgQKJuRQ==";
       };
     };
     "is-redirect-1.0.0" = {
@@ -37170,15 +36603,6 @@ let
         sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
       };
     };
-    "is-reference-1.2.1" = {
-      name = "is-reference";
-      packageName = "is-reference";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz";
-        sha512 = "U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==";
-      };
-    };
     "is-regex-1.1.4" = {
       name = "is-regex";
       packageName = "is-regex";
@@ -37782,24 +37206,6 @@ let
         sha512 = "0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==";
       };
     };
-    "istanbul-lib-coverage-3.2.0" = {
-      name = "istanbul-lib-coverage";
-      packageName = "istanbul-lib-coverage";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz";
-        sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
-      };
-    };
-    "istanbul-lib-instrument-5.2.0" = {
-      name = "istanbul-lib-instrument";
-      packageName = "istanbul-lib-instrument";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz";
-        sha512 = "6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==";
-      };
-    };
     "isuri-2.0.3" = {
       name = "isuri";
       packageName = "isuri";
@@ -37872,15 +37278,6 @@ let
         sha512 = "R2SE/AQrE4IhlyRbBp7ASIjFO+Wlpfra2Q7GMZkOjQb890MLtKyINPawJ7fr+Z7CPgHoXj2J3BNyebBIbVn8PQ==";
       };
     };
-    "iterm2-version-4.2.0" = {
-      name = "iterm2-version";
-      packageName = "iterm2-version";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iterm2-version/-/iterm2-version-4.2.0.tgz";
-        sha512 = "IoiNVk4SMPu6uTcK+1nA5QaHNok2BMDLjSl5UomrOixe5g4GkylhPwuiGdw00ysSCrXAKNMfFTu+u/Lk5f6OLQ==";
-      };
-    };
     "jade-0.26.3" = {
       name = "jade";
       packageName = "jade";
@@ -37944,24 +37341,6 @@ let
         sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
       };
     };
-    "jest-haste-map-25.5.1" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "25.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz";
-        sha512 = "dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==";
-      };
-    };
-    "jest-image-snapshot-4.2.0" = {
-      name = "jest-image-snapshot";
-      packageName = "jest-image-snapshot";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-image-snapshot/-/jest-image-snapshot-4.2.0.tgz";
-        sha512 = "6aAqv2wtfOgxiJeBayBCqHo1zX+A12SUNNzo7rIxiXh6W6xYVu8QyHWkada8HeRi+QUTHddp0O0Xa6kmQr+xbQ==";
-      };
-    };
     "jest-message-util-27.5.1" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
@@ -37980,33 +37359,6 @@ let
         sha512 = "K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==";
       };
     };
-    "jest-regex-util-25.2.6" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "25.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz";
-        sha512 = "KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==";
-      };
-    };
-    "jest-serializer-25.5.0" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz";
-        sha512 = "LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==";
-      };
-    };
-    "jest-util-25.5.0" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz";
-        sha512 = "KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==";
-      };
-    };
     "jest-util-27.5.1" = {
       name = "jest-util";
       packageName = "jest-util";
@@ -38016,15 +37368,6 @@ let
         sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
       };
     };
-    "jest-worker-25.5.0" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "25.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz";
-        sha512 = "/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==";
-      };
-    };
     "jest-worker-26.6.2" = {
       name = "jest-worker";
       packageName = "jest-worker";
@@ -38197,13 +37540,13 @@ let
         sha512 = "2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==";
       };
     };
-    "jquery.terminal-2.32.1" = {
+    "jquery.terminal-2.33.1" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.32.1";
+      version = "2.33.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.32.1.tgz";
-        sha512 = "AbaZfSuNPQSBpUEP2jqNix5H7wS3fqUQGe+k6D8umBAOA3XxIVJpXTcGitfs1df7AZ52DruOQnV+p5+s+E3QqQ==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.33.1.tgz";
+        sha512 = "p5sEs/bvziLrQG+rchL5ceJ7hldlFDxqKh98DxJSU+XSyrGmucrDq1UKgEhuePvTf4dL1cuIUmMLy7H/ihK/Pg==";
       };
     };
     "js-base64-2.6.3" = {
@@ -38539,49 +37882,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.57.0" = {
+    "jsii-1.58.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.57.0.tgz";
-        sha512 = "r9U1+vAfYlKgJ4FnBmf8Fj/VP+ngx/uSi3FxH9BL2KrCS0PBcHml5YXsH9pBGfCSrDQvOxULlONnw+RqEbI1Lw==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.58.0.tgz";
+        sha512 = "xG7z3jU68fJ+4efGeYxhYqbT8MnF9YEIfaaJvtPAaHp0E/knC1Hz2d46FIwriL2yQlsxnYq3BKKcJwwgsHNkhQ==";
       };
     };
-    "jsii-pacmak-1.57.0" = {
+    "jsii-pacmak-1.58.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.57.0.tgz";
-        sha512 = "yUIuhVqovNEE8Oq0BKVauiv1/5AT1JguhsuKkB4AWTxdkXHxOkv4eVA/w4jiCBaGjbwVg7BjgWR8zuMuNCU98w==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.58.0.tgz";
+        sha512 = "BxnpHhUKfccqtIKwgZ4wnRF9qUswDPmTzCRhMxNAUXoyStWKQywYsY7P1R5fs4ZDXjo/Dq92MISFcUr85w+ZSA==";
       };
     };
-    "jsii-reflect-1.57.0" = {
+    "jsii-reflect-1.58.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.57.0.tgz";
-        sha512 = "aSmEAxxBjyrdTnzzFx1O0Q+6D8pi1jwIB7LTvdlPQMy8GuLqO8K3nAiZPjfnNpzKBM65iJKFY3I5XNjJf2iIfA==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.58.0.tgz";
+        sha512 = "kCc7S0XJpJkWz1EBLkvZZnZqKFlT2JqGL72j0nuZFlVvd2W6Hg698JXrTjFWK+/36nfCBKtrUY9mCpbu/Xy6eQ==";
       };
     };
-    "jsii-rosetta-1.57.0" = {
+    "jsii-rosetta-1.58.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.57.0.tgz";
-        sha512 = "ey0tBYk6or4CGkgiP+Ox+9Qxf2HD0KZnqr2dN4hpu8aiyZRJYinktaL/ryARM89EqhfpHKrgHAPD11RPDhFo9w==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.58.0.tgz";
+        sha512 = "dp4LUkewqR+i4VWutpYsikwL8LqWMyxx6SLFxmSmsTVGZ1/8Y5b/nen44FdAeSA5LhRN1wsQNzUwqLxt6XYcCA==";
       };
     };
-    "jsii-srcmak-0.1.548" = {
+    "jsii-srcmak-0.1.556" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.548";
+      version = "0.1.556";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.548.tgz";
-        sha512 = "T04iUa1449ajETALwI0QNiCy+ePrhU21cyGzcVrhF4dRTnfQeNwQkWZkcc6QIoL6rg/m9zuuxJl5wZaHDDXqhA==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.556.tgz";
+        sha512 = "5JA4iwr3UT1S8FUdqrUUTm8I/ZOe5REp6gl2ewMOwRDd4v8AKZlO0qnpzpduwlaDhVT4jT+nqQOwNduO3TfxdA==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -39223,15 +38566,6 @@ let
         sha1 = "69ec30ce4518bed5997b38f027648e8c285e92f7";
       };
     };
-    "jszip-2.6.1" = {
-      name = "jszip";
-      packageName = "jszip";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-2.6.1.tgz";
-        sha1 = "b88f3a7b2e67a2a048152982c7a3756d9c4828f0";
-      };
-    };
     "jszip-3.9.1" = {
       name = "jszip";
       packageName = "jszip";
@@ -39556,13 +38890,22 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.2.2" = {
+    "keyv-4.2.7" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.2.2";
+      version = "4.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.2.7.tgz";
+        sha512 = "HeOstD8SXvtWoQhMMBCelcUuZsiV7T7MwsADtOXT0KuwYP9nCxrSoMDeLXNDTLN3VFSuRp38JzoGbbTboq3QQw==";
+      };
+    };
+    "keyv-4.2.8" = {
+      name = "keyv";
+      packageName = "keyv";
+      version = "4.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.2.2.tgz";
-        sha512 = "uYS0vKTlBIjNCAUqrjlxmruxOEiZxZIHXyp32sdcGmP+ukFrmWUnE//RcPXJH3Vxrni1H2gsQbjHE0bH7MtMQQ==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.2.8.tgz";
+        sha512 = "IZZo6krhHWPhgsP5mBkEdPopVPN/stgCnBVuqi6dda/Nm5mDTOSVTrFMkWqlJsDum+B0YSe887tNxdjDWkO7aQ==";
       };
     };
     "khroma-1.4.1" = {
@@ -39574,6 +38917,15 @@ let
         sha512 = "+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==";
       };
     };
+    "khroma-2.0.0" = {
+      name = "khroma";
+      packageName = "khroma";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz";
+        sha512 = "2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==";
+      };
+    };
     "killable-1.0.1" = {
       name = "killable";
       packageName = "killable";
@@ -39700,13 +39052,13 @@ let
         sha512 = "sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==";
       };
     };
-    "known-css-properties-0.24.0" = {
+    "known-css-properties-0.25.0" = {
       name = "known-css-properties";
       packageName = "known-css-properties";
-      version = "0.24.0";
+      version = "0.25.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz";
-        sha512 = "RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==";
+        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.25.0.tgz";
+        sha512 = "b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==";
       };
     };
     "koa-2.13.4" = {
@@ -40465,6 +39817,15 @@ let
         sha512 = "T8NGH6F+t4sajEbC3CT2MbjqGyzTu0fH/X/UnnO8YlKoSUlU3Y9LFkmQDjMyDkxWN+peJmUQt8Em+OZu5XHLaw==";
       };
     };
+    "lightning-5.15.0" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "5.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.15.0.tgz";
+        sha512 = "FeWhHa9O2AuzE2EzkTAVmk+sJIOd9kgiDsA8lXti5bCHW709zwZaq8IP+hQ1ksSh79+ZcOWozot6ONLEbf+w8w==";
+      };
+    };
     "lightning-5.8.2" = {
       name = "lightning";
       packageName = "lightning";
@@ -40672,67 +40033,67 @@ let
         sha512 = "gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ==";
       };
     };
-    "lmdb-2.3.8" = {
+    "lmdb-2.3.10" = {
       name = "lmdb";
       packageName = "lmdb";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.3.8.tgz";
-        sha512 = "SoYYrcmJWJgIG4PSkVJiXot3m9035zE0FRUgqhgzZIO6LnikbORzBznxbSrN7SaogR95w9lgTm+LwW+Os4mN5Q==";
+        url = "https://registry.npmjs.org/lmdb/-/lmdb-2.3.10.tgz";
+        sha512 = "GtH+nStn9V59CfYeQ5ddx6YTfuFCmu86UJojIjJAweG+/Fm0PDknuk3ovgYDtY/foMeMdZa8/P7oSljW/d5UPw==";
       };
     };
-    "lmdb-darwin-arm64-2.3.8" = {
+    "lmdb-darwin-arm64-2.3.10" = {
       name = "lmdb-darwin-arm64";
       packageName = "lmdb-darwin-arm64";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.8.tgz";
-        sha512 = "QFFnLQlQn1WjSyWSKU4pdOQNPLea2/iL8LcR979LGp3y4OKmuC9fNLIiCTqp+t5QBVBOKfJZ8sqFd/5KHmDFYg==";
+        url = "https://registry.npmjs.org/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.3.10.tgz";
+        sha512 = "LVXbH2MYu7/ZuQ8+P9rv+SwNyBKltxo7vHAGJS94HWyfwnCbKEYER9PImBvNBwzvgtaYk6x0RMX3oor6e6KdDQ==";
       };
     };
-    "lmdb-darwin-x64-2.3.8" = {
+    "lmdb-darwin-x64-2.3.10" = {
       name = "lmdb-darwin-x64";
       packageName = "lmdb-darwin-x64";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.8.tgz";
-        sha512 = "cPVym3ZUXJurjv9YnZ40fsJuszPzn8mvIWjcqZuhXonUXAgSxvGloAwH5HCtFF7oIT6r/iXZejfgVL1MbM97tw==";
+        url = "https://registry.npmjs.org/lmdb-darwin-x64/-/lmdb-darwin-x64-2.3.10.tgz";
+        sha512 = "gAc/1b/FZOb9yVOT+o0huA+hdW82oxLo5r22dFTLoRUFG1JMzxdTjmnW6ONVOHdqC9a5bt3vBCEY3jmXNqV26A==";
       };
     };
-    "lmdb-linux-arm-2.3.8" = {
+    "lmdb-linux-arm-2.3.10" = {
       name = "lmdb-linux-arm";
       packageName = "lmdb-linux-arm";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.8.tgz";
-        sha512 = "jriO1nsPIPEBZjJ4OgshLRmi1br5E6CWnPTwSz3XO1UvDh6GEj87IL/brQxJq6HlpUj01wrQCqpvJMBTMtk+Ew==";
+        url = "https://registry.npmjs.org/lmdb-linux-arm/-/lmdb-linux-arm-2.3.10.tgz";
+        sha512 = "Rb8+4JjsThuEcJ7GLLwFkCFnoiwv/3hAAbELWITz70buQFF+dCZvCWWgEgmDTxwn5r+wIkdUjmFv4dqqiKQFmQ==";
       };
     };
-    "lmdb-linux-arm64-2.3.8" = {
+    "lmdb-linux-arm64-2.3.10" = {
       name = "lmdb-linux-arm64";
       packageName = "lmdb-linux-arm64";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.8.tgz";
-        sha512 = "9kgNOm7xhGmji2pH4UgeBbojBuH+0KeJ7C51kL7zEBxVXB/xD3IMZV42+MdSFzJJcmgEe3XuIdxt/TFSXhEEIw==";
+        url = "https://registry.npmjs.org/lmdb-linux-arm64/-/lmdb-linux-arm64-2.3.10.tgz";
+        sha512 = "Ihr8mdICTK3jA4GXHxrXGK2oekn0mY6zuDSXQDNtyRSH19j3D2Y04A7SEI9S0EP/t5sjKSudYgZbiHDxRCsI5A==";
       };
     };
-    "lmdb-linux-x64-2.3.8" = {
+    "lmdb-linux-x64-2.3.10" = {
       name = "lmdb-linux-x64";
       packageName = "lmdb-linux-x64";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.8.tgz";
-        sha512 = "qTdGkBKhuROMNxrOsI31YInjBEr3b29tI80XutD3kcO3UgBXE/I1Jy57WOde6ghEdPlfh3pkycme6+Q+tsmhyA==";
+        url = "https://registry.npmjs.org/lmdb-linux-x64/-/lmdb-linux-x64-2.3.10.tgz";
+        sha512 = "E3l3pDiCA9uvnLf+t3qkmBGRO01dp1EHD0x0g0iRnfpAhV7wYbayJGfG93BUt22Tj3fnq4HDo4dQ6ZWaDI1nuw==";
       };
     };
-    "lmdb-win32-x64-2.3.8" = {
+    "lmdb-win32-x64-2.3.10" = {
       name = "lmdb-win32-x64";
       packageName = "lmdb-win32-x64";
-      version = "2.3.8";
+      version = "2.3.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.8.tgz";
-        sha512 = "IalYsXztvgjjPmXxFEkmZ3Tio0QmDCOxYBgxQDvAghpqa4RwufbS6unbkxO+aYK6ZWjzEZbsNKFSSb/vVgkn2A==";
+        url = "https://registry.npmjs.org/lmdb-win32-x64/-/lmdb-win32-x64-2.3.10.tgz";
+        sha512 = "gspWk34tDANhjn+brdqZstJMptGiwj4qFNVg0Zey9ds+BUlif+Lgf5szrfOVzZ8gVRkk1Lgbz7i78+V7YK7SCA==";
       };
     };
     "ln-accounting-5.0.6" = {
@@ -40771,6 +40132,15 @@ let
         sha512 = "7WHV5uP0BrnXX3me4OsdaFI8J81LMJRENCREbxR/CQuvLW6rvLe0KlZmuLVBxwVAYKcXc0CcfiZPX0js2+8NKA==";
       };
     };
+    "ln-service-53.16.0" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.16.0.tgz";
+        sha512 = "xTAiirmYr/ZCDNevGiYsEUUUJDOpd4BlT5s8/P6XjJ0ax0LZTz/Evp7NQ2smegUmjvzPEmMXSrKgg3hlPAgb8g==";
+      };
+    };
     "ln-service-53.9.3" = {
       name = "ln-service";
       packageName = "ln-service";
@@ -40789,13 +40159,13 @@ let
         sha512 = "+TFRyMVvUU9jAqRGPiawPY8cGSmfd2bKfofGsH95zTlQ4DeQLYyEPFxzqJZrkmddqdohfuF0XVW9y7+4v4eq5A==";
       };
     };
-    "ln-telegram-3.21.4" = {
+    "ln-telegram-3.21.5" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.21.4";
+      version = "3.21.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.21.4.tgz";
-        sha512 = "h3EpnHptvIDF+9H9hvaHGMNHkvYNSnXLLhOL5S6RBfFSl0rcQW0tB/fkxBOHB8//3Ich3AvBJMiISabA6m2ckg==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.21.5.tgz";
+        sha512 = "/x9yM8h9LyHMwZL/mjV95rS6zpKZDgATtSiPwYlsh+ZhAswVk3jcitgLckIJHV6I9kzgZb61ZIbPCk6o530MJQ==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -42697,13 +42067,13 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lru-cache-7.9.0" = {
+    "lru-cache-7.10.1" = {
       name = "lru-cache";
       packageName = "lru-cache";
-      version = "7.9.0";
+      version = "7.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.9.0.tgz";
-        sha512 = "lkcNMUKqdJk96TuIXUidxaPuEg5sJo/+ZyVE2BDFnuZGzwXem7d8582eG8vbu4todLfT14snP6iHriCHXXi5Rw==";
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.10.1.tgz";
+        sha512 = "BQuhQxPuRl79J5zSXRP+uNzPOyZw2oFI9JLRQ80XswSvg21KMKNtQza9eF42rfI/3Z40RvzBdXgziEkudzjo8A==";
       };
     };
     "lru-queue-0.1.0" = {
@@ -42968,13 +42338,13 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
-    "make-fetch-happen-10.1.2" = {
+    "make-fetch-happen-10.1.3" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
-      version = "10.1.2";
+      version = "10.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.2.tgz";
-        sha512 = "GWMGiZsKVeJACQGJ1P3Z+iNec7pLsU6YW1q11eaPn3RR8nRXHppFWfP7Eu0//55JK3hSjrAQRl8sDa5uXpq1Ew==";
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.1.3.tgz";
+        sha512 = "s/UjmGjUHn9m52cctFhN2ITObbT+axoUhgeir8xGrOlPbKDyJsdhQzb8PGncPQQ28uduHybFJ6Iumy2OZnreXw==";
       };
     };
     "make-fetch-happen-8.0.14" = {
@@ -43004,15 +42374,6 @@ let
         sha512 = "pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==";
       };
     };
-    "makeerror-1.0.12" = {
-      name = "makeerror";
-      packageName = "makeerror";
-      version = "1.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz";
-        sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
-      };
-    };
     "map-age-cleaner-0.1.3" = {
       name = "map-age-cleaner";
       packageName = "map-age-cleaner";
@@ -43193,13 +42554,13 @@ let
         sha512 = "/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA==";
       };
     };
-    "markdown-it-anchor-8.6.2" = {
+    "markdown-it-anchor-8.6.4" = {
       name = "markdown-it-anchor";
       packageName = "markdown-it-anchor";
-      version = "8.6.2";
+      version = "8.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.2.tgz";
-        sha512 = "JNaekTlIwwyYGBN3zifZDxgz4bSL8sbEj58fdTZGmPSMMGXBZapFjcZk2I33Jy79c1fvCKHpF7MA/67FOTjvzA==";
+        url = "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.4.tgz";
+        sha512 = "Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==";
       };
     };
     "markdown-it-deflist-2.1.0" = {
@@ -43310,13 +42671,13 @@ let
         sha512 = "UB/IbzjWazwTlNAX0pvWNlJS8NKsOQ4syrXZQ/C72j+jirrsjVRT627lCaylrKJFBQWfRsPmIVQie8x38DEhAQ==";
       };
     };
-    "markdown-link-extractor-2.0.1" = {
+    "markdown-link-extractor-3.0.2" = {
       name = "markdown-link-extractor";
       packageName = "markdown-link-extractor";
-      version = "2.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-2.0.1.tgz";
-        sha512 = "Qy5AcoW7CDfIAB3I6cz2QFGHoLQYSH15lmfEqRgPvC/DEEMhb/EK0yeXmpIk+GSuJveYxLvkpXVFEZhgvubxTw==";
+        url = "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-3.0.2.tgz";
+        sha512 = "vmTTAWSa49Lqojr6L4ALGLV0TLz4+1movDb6saDS6c6FLGGbPFSkhjevpXsQTXEYY9lCWYcVQqb7l41WEZsM7Q==";
       };
     };
     "markdown-serve-0.3.3" = {
@@ -43391,13 +42752,13 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "marked-4.0.14" = {
+    "marked-4.0.15" = {
       name = "marked";
       packageName = "marked";
-      version = "4.0.14";
+      version = "4.0.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-4.0.14.tgz";
-        sha512 = "HL5sSPE/LP6U9qKgngIIPTthuxC0jrfxpYMZ3LdGDD3vTnLs59m2Z7r6+LNDR3ToqEQdkKd6YaaEfJhodJmijQ==";
+        url = "https://registry.npmjs.org/marked/-/marked-4.0.15.tgz";
+        sha512 = "esX5lPdTfG4p8LDkv+obbRCyOKzB+820ZZyMOXJZygZBHrH9b3xXR64X4kT3sPe9Nx8qQXbmcz6kFSMt4Nfk6Q==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -44291,13 +43652,13 @@ let
         sha512 = "ITSHjwVaby1Li738sxhF48sLTxcNyUAoWfoqyztL1f7J6JOLpHOuQPNLBb6lxGPUA0u7xP9IRULgvod0dKu35A==";
       };
     };
-    "mermaid-9.0.1" = {
+    "mermaid-9.1.1" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "9.0.1";
+      version = "9.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-9.0.1.tgz";
-        sha512 = "TXXffALLhCACez+MUky4cOOcGXEXiJhHwN8eRV7bBqD8F6KdcjssyPZClVgzrC2KQzSGLqQkj7ce8ea7MhWz+Q==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-9.1.1.tgz";
+        sha512 = "2RVD+WkzZ4VDyO9gQvQAuQ/ux2gLigJtKDTlbwjYqOR/NwsVzTSfGm/kx648/qWJsg6Sv04tE9BWCO8s6a+pFA==";
       };
     };
     "meros-1.1.4" = {
@@ -44741,13 +44102,13 @@ let
         sha512 = "U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==";
       };
     };
-    "micromark-util-events-to-acorn-1.0.6" = {
+    "micromark-util-events-to-acorn-1.1.0" = {
       name = "micromark-util-events-to-acorn";
       packageName = "micromark-util-events-to-acorn";
-      version = "1.0.6";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.0.6.tgz";
-        sha512 = "+kUMe2kNGy4mljNVt+YmFfwomSIVqX3NI6ePrk6SIl/0GaR53a6eUIGmhV5DDUkbLPPNWgVFCS6ExOqb0WFgHQ==";
+        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.1.0.tgz";
+        sha512 = "hB8HzidNt/Us5q2BvqXj8eeEm0U9rRfnZxcA9T65JRUMAY4MbfJRAFm7m9fXMAdSHJiVPmajsp8/rp6/FlHL8A==";
       };
     };
     "micromark-util-html-tag-name-1.0.0" = {
@@ -45587,22 +44948,22 @@ let
         sha512 = "pHZ/cySF00FVENDWIDzJyoObFahK6Eg4d0papqm6d7yMkxWTZ/S/csqJX1A3PsYy4t5k3z2QnlwuCfMW5lSEwA==";
       };
     };
-    "mobx-react-7.3.0" = {
+    "mobx-react-7.4.0" = {
       name = "mobx-react";
       packageName = "mobx-react";
-      version = "7.3.0";
+      version = "7.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.3.0.tgz";
-        sha512 = "RGEcwZokopqyJE5JPwXKB9FWMSqFM9NJVO2QPI+z6laJTJeBHqvPicjnKgY5mvihxTeXB1+72TnooqUePeGV1g==";
+        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.4.0.tgz";
+        sha512 = "gbUwaKZK09SiAleTMxNMKs1MYKTpoIEWJLTLRIR/xnALuuHET8wkL8j1nbc1/6cDkOWVyKz/ReftILx0Pdh2PQ==";
       };
     };
-    "mobx-react-lite-3.3.0" = {
+    "mobx-react-lite-3.4.0" = {
       name = "mobx-react-lite";
       packageName = "mobx-react-lite";
-      version = "3.3.0";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.3.0.tgz";
-        sha512 = "U/kMSFtV/bNVgY01FuiGWpRkaQVHozBq5CEBZltFvPt4FcV111hEWkgwqVg9GPPZSEuEdV438PEz8mk8mKpYlA==";
+        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.0.tgz";
+        sha512 = "bRuZp3C0itgLKHu/VNxi66DN/XVkQG7xtoBVWxpvC5FhAqbOCP21+nPhULjnzEqd7xBMybp6KwytdUpZKEgpIQ==";
       };
     };
     "mocha-2.5.3" = {
@@ -45731,13 +45092,13 @@ let
         sha512 = "3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==";
       };
     };
-    "mongodb-4.5.0" = {
+    "mongodb-4.6.0" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.5.0.tgz";
-        sha512 = "A2l8MjEpKojnhbCM0MK3+UOGUSGvTNNSv7AkP1fsT7tkambrkkqN/5F2y+PhzsV0Nbv58u04TETpkaSEdI2zKA==";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-4.6.0.tgz";
+        sha512 = "1gsxVXmjFTPJ+CkMG9olE4bcVsyY8lBJN9m5B5vj+LZ7wkBqq3PO8RVmNX9GwCBOBz1KV0zM00vPviUearSv7A==";
       };
     };
     "mongodb-connection-string-url-2.5.2" = {
@@ -45992,13 +45353,13 @@ let
         sha512 = "VoY2AaoowHZLLKyEb5FRzuhdSzXn5quGjcMKJOJHJPxp9baYZx5t6jiHUhp5aNRlqqlt+5GXQGovMLNKsrm1hg==";
       };
     };
-    "msgpackr-1.5.6" = {
+    "msgpackr-1.5.7" = {
       name = "msgpackr";
       packageName = "msgpackr";
-      version = "1.5.6";
+      version = "1.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.6.tgz";
-        sha512 = "Y1Ia1AYKcz30JOAUyyC0jCicI7SeP8NK+SVCGZIeLg2oQs28wSwW2GbHXktk4ZZmrq9/v2jU0JAbvbp2d1ewpg==";
+        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.7.tgz";
+        sha512 = "Hsa80i8W4BiObSMHslfnwC+CC1CYHZzoXJZn0+3EvoCEOgt3c5QlXhdcjgFk2aZxMgpV8aUFZqJyQUCIp4UrzA==";
       };
     };
     "msgpackr-extract-1.1.4" = {
@@ -46559,6 +45920,15 @@ let
         sha512 = "p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==";
       };
     };
+    "nanoid-3.3.4" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "3.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz";
+        sha512 = "MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==";
+      };
+    };
     "nanoiterator-1.2.1" = {
       name = "nanoiterator";
       packageName = "nanoiterator";
@@ -46703,6 +46073,15 @@ let
         sha512 = "fKiXMQrpP7CYWJQzKkPPx9hPgmq+YLDyxcG9N8RpiE9FoCkCbzD0NyW0YhE3xn3Aupe7nnDeIx4PFzYehpHT9Q==";
       };
     };
+    "nconf-0.11.4" = {
+      name = "nconf";
+      packageName = "nconf";
+      version = "0.11.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nconf/-/nconf-0.11.4.tgz";
+        sha512 = "YaDR846q11JnG1vTrhJ0QIlhiGY6+W1bgWtReG9SS3vkTl3AoNwFvUItdhG6/ZjGCfWpUVuRTNEBTDAQ3nWhGw==";
+      };
+    };
     "nconf-0.6.9" = {
       name = "nconf";
       packageName = "nconf";
@@ -48306,13 +47685,13 @@ let
         sha512 = "L/cbzmutAwII5glUcf2DBRNY/d0TFd4e/FnaZigJV6JD85RHZXJFGwCndjMWiiViiWSsWt3tiOLpI3ByTnIdFQ==";
       };
     };
-    "npm-packlist-5.0.2" = {
+    "npm-packlist-5.0.3" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "5.0.2";
+      version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.2.tgz";
-        sha512 = "jLhcNisUgpz6v2KC75qSeEYAM8UBMYjQ2OhlCOJjB4Ovu7XXnD25UqZ6hOQNeGShL/2ju3LL2E/zBbsuzkIQ8w==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.0.3.tgz";
+        sha512 = "KuSbzgejxdsAWbNNyEs8EsyDHsO+nJF6k+9WuWzFbSNh5tFHs4lDApXw7kntKpuehfp8lKRzJkMtz0+WmGvTIw==";
       };
     };
     "npm-pick-manifest-6.1.1" = {
@@ -49009,13 +48388,13 @@ let
         sha512 = "eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==";
       };
     };
-    "obliterator-2.0.3" = {
+    "obliterator-2.0.4" = {
       name = "obliterator";
       packageName = "obliterator";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/obliterator/-/obliterator-2.0.3.tgz";
-        sha512 = "qN5lHhArxl/789Bp3XCpssAYy7cvOdRzxzflmGEJaiipAT2b/USr1XvKjYyssPOwQ/3KjV1e8Ed9po9rie6E6A==";
+        url = "https://registry.npmjs.org/obliterator/-/obliterator-2.0.4.tgz";
+        sha512 = "lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==";
       };
     };
     "observ-0.2.0" = {
@@ -49243,13 +48622,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.57.0" = {
+    "oo-ascii-tree-1.58.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.57.0";
+      version = "1.58.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.57.0.tgz";
-        sha512 = "f0YTN8p0IN/X05R3N8yfENqCx7seBtDdVdJa8yQc2kx/v5OuEz/femhwEerxSsVXlb/OKjo2u4QAXTkjWjbPHA==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.58.0.tgz";
+        sha512 = "XxnHnZsIpWoB1fHs0pKQXJpxIjpIcOkSar2tld7w1aVMPVk1RY7M5pi5FTcASvgrUUrA1mYXz0hGjg/Ve3lsYg==";
       };
     };
     "open-0.0.2" = {
@@ -50566,13 +49945,13 @@ let
         sha512 = "CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==";
       };
     };
-    "pacote-13.1.1" = {
+    "pacote-13.3.0" = {
       name = "pacote";
       packageName = "pacote";
-      version = "13.1.1";
+      version = "13.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-13.1.1.tgz";
-        sha512 = "MTT3k1OhUo+IpvoHGp25OwsRU0L+kJQM236OCywxvY4OIJ/YfloNW2/Yc3HMASH10BkfZaGMVK/pxybB7fWcLw==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz";
+        sha512 = "auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==";
       };
     };
     "pad-0.0.5" = {
@@ -50656,15 +50035,6 @@ let
         sha512 = "RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==";
       };
     };
-    "paredit.js-0.3.6" = {
-      name = "paredit.js";
-      packageName = "paredit.js";
-      version = "0.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/paredit.js/-/paredit.js-0.3.6.tgz";
-        sha512 = "Z97Go1ucly6XzJDWsX8g6aXKIapx610JElNEgAvOQ8DA3A5uTAzEIaPZyn3r/WskHS+HpaO17oALcy2dUsKlQA==";
-      };
-    };
     "parent-module-1.0.1" = {
       name = "parent-module";
       packageName = "parent-module";
@@ -51520,13 +50890,13 @@ let
         sha512 = "gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==";
       };
     };
-    "path-to-regexp-6.2.0" = {
+    "path-to-regexp-6.2.1" = {
       name = "path-to-regexp";
       packageName = "path-to-regexp";
-      version = "6.2.0";
+      version = "6.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz";
-        sha512 = "f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==";
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz";
+        sha512 = "JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==";
       };
     };
     "path-type-1.1.0" = {
@@ -51862,15 +51232,6 @@ let
         sha512 = "eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==";
       };
     };
-    "pinkie-1.0.0" = {
-      name = "pinkie";
-      packageName = "pinkie";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie/-/pinkie-1.0.0.tgz";
-        sha1 = "5a47f28ba1015d0201bda7bf0f358e47bec8c7e4";
-      };
-    };
     "pinkie-2.0.4" = {
       name = "pinkie";
       packageName = "pinkie";
@@ -51880,15 +51241,6 @@ let
         sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
       };
     };
-    "pinkie-promise-1.0.0" = {
-      name = "pinkie-promise";
-      packageName = "pinkie-promise";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-1.0.0.tgz";
-        sha1 = "d1da67f5482563bb7cf57f286ae2822ecfbf3670";
-      };
-    };
     "pinkie-promise-2.0.1" = {
       name = "pinkie-promise";
       packageName = "pinkie-promise";
@@ -51979,15 +51331,6 @@ let
         sha1 = "8f47dcec5011b477b67db03c243bc1f3085e8854";
       };
     };
-    "pixelmatch-5.3.0" = {
-      name = "pixelmatch";
-      packageName = "pixelmatch";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pixelmatch/-/pixelmatch-5.3.0.tgz";
-        sha512 = "o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q==";
-      };
-    };
     "pixiv-api-client-0.25.0" = {
       name = "pixiv-api-client";
       packageName = "pixiv-api-client";
@@ -52339,15 +51682,6 @@ let
         sha512 = "40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==";
       };
     };
-    "pngjs-6.0.0" = {
-      name = "pngjs";
-      packageName = "pngjs";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz";
-        sha512 = "TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==";
-      };
-    };
     "pnp-webpack-plugin-1.7.0" = {
       name = "pnp-webpack-plugin";
       packageName = "pnp-webpack-plugin";
@@ -52420,16 +51754,6 @@ let
         sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
       };
     };
-    "posix-getopt-git+https://github.com/anmonteiro/node-getopt#master" = {
-      name = "posix-getopt";
-      packageName = "posix-getopt";
-      version = "1.2.0";
-      src = fetchgit {
-        url = "https://github.com/anmonteiro/node-getopt";
-        rev = "a3123885e3559c9b70903948d6e5c34852520d74";
-        sha256 = "0092766ac49279342f7d17677359880b44b245ad9d32237a11a5ea45cb0d03fa";
-      };
-    };
     "postcss-6.0.1" = {
       name = "postcss";
       packageName = "postcss";
@@ -55292,13 +54616,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pvtsutils-1.2.2" = {
+    "pvtsutils-1.3.2" = {
       name = "pvtsutils";
       packageName = "pvtsutils";
-      version = "1.2.2";
+      version = "1.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.2.2.tgz";
-        sha512 = "OALo5ZEdqiI127i64+CXwkCOyFHUA+tCQgaUO/MvRDFXWPr53f2sx28ECNztUEzuyu5xvuuD1EB/szg9mwJoGA==";
+        url = "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.2.tgz";
+        sha512 = "+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==";
       };
     };
     "pvutils-1.1.3" = {
@@ -55310,13 +54634,13 @@ let
         sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
       };
     };
-    "pyright-1.1.243" = {
+    "pyright-1.1.246" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.243";
+      version = "1.1.246";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.243.tgz";
-        sha512 = "0PUyHTSr+LyE9Ej0A7tB8tM4pzAr34o1c3rHtfaBdZ2265HPvPE/Kj92ljX2F00Q6uAeZyyLEmzPOTuKh2WC8Q==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.246.tgz";
+        sha512 = "TEbHs4HD0J4/KGpXLqLBauOVT8G+yC7W8FKjyd00AzM9eyB+sx0EpujPnLKf6qI7x6LZJBgNoxpkPVq/6Wcq3A==";
       };
     };
     "q-0.9.7" = {
@@ -56192,13 +55516,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.24.4" = {
+    "react-devtools-core-4.24.6" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.24.4";
+      version = "4.24.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.4.tgz";
-        sha512 = "jbX8Yqyq4YvFEobHyXVlGaH0Cs/+EOdb3PL911bxaR5BnzbB5TE4RFHC1iOgT4vRH3VxIIrVQ7lR9vsiFFCYCA==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.24.6.tgz";
+        sha512 = "+6y6JAtAo1NUUxaCwCYTb13ViBpc7RjNTlj1HZRlDJmi7UYToj5+BNn8Duzz2YizzAzmRUWZkRM7OtqxnN6TnA==";
       };
     };
     "react-dom-17.0.2" = {
@@ -56327,13 +55651,13 @@ let
         sha512 = "2FoTQzRNTncBVtnzxFOk2mCpcfxQpenBMbk5kSVBg5UcPqV9fRbgY2zhb7GTWWOlpFmAxhClBDlIq8Rsubz1yQ==";
       };
     };
-    "react-string-replace-1.0.0" = {
+    "react-string-replace-1.1.0" = {
       name = "react-string-replace";
       packageName = "react-string-replace";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-string-replace/-/react-string-replace-1.0.0.tgz";
-        sha512 = "+iLsyE4AeSmnfctgswXOf1PmKRgns6wJ4LVb+8ADMU6mDK3jvBE11QzfMQf7CYtPUUiBCDjZ9ZppzXOIYrzCRg==";
+        url = "https://registry.npmjs.org/react-string-replace/-/react-string-replace-1.1.0.tgz";
+        sha512 = "N6RalSDFGbOHs0IJi1H611WbZsvk3ZT47Jl2JEXFbiS3kTwsdCYij70Keo/tWtLy7sfhDsYm7CwNM/WmjXIaMw==";
       };
     };
     "react-tabs-3.2.3" = {
@@ -56840,15 +56164,6 @@ let
         sha512 = "r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==";
       };
     };
-    "realpath-native-2.0.0" = {
-      name = "realpath-native";
-      packageName = "realpath-native";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz";
-        sha512 = "v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==";
-      };
-    };
     "recast-0.10.43" = {
       name = "recast";
       packageName = "recast";
@@ -57029,13 +56344,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "redoc-2.0.0-rc.67" = {
+    "redoc-2.0.0-rc.69" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.67";
+      version = "2.0.0-rc.69";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.67.tgz";
-        sha512 = "u6rEKB0LylSisN+mFa3flj7zf+prXDB+G02foqC9BOlcXkUYXHFDZM4L3BTBL/DstyGTgjhe2dA9csAjIVti/g==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.69.tgz";
+        sha512 = "AFedbb9h0I98z0lBF2hkkn3M09CsF/zXfRCd07vGL0fZg72/VFPAmHN7CyFRGg/whVEstZ2iUhN2jbN6MmTTDQ==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -57416,15 +56731,6 @@ let
         sha512 = "ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==";
       };
     };
-    "remark-frontmatter-1.3.3" = {
-      name = "remark-frontmatter";
-      packageName = "remark-frontmatter";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz";
-        sha512 = "fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==";
-      };
-    };
     "remark-frontmatter-2.0.0" = {
       name = "remark-frontmatter";
       packageName = "remark-frontmatter";
@@ -57956,15 +57262,6 @@ let
         sha512 = "1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==";
       };
     };
-    "remark-parse-5.0.0" = {
-      name = "remark-parse";
-      packageName = "remark-parse";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz";
-        sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
-      };
-    };
     "remark-parse-8.0.3" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -59081,69 +58378,6 @@ let
         sha512 = "ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==";
       };
     };
-    "rollup-1.32.1" = {
-      name = "rollup";
-      packageName = "rollup";
-      version = "1.32.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup/-/rollup-1.32.1.tgz";
-        sha512 = "/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A==";
-      };
-    };
-    "rollup-plugin-babel-4.4.0" = {
-      name = "rollup-plugin-babel";
-      packageName = "rollup-plugin-babel";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz";
-        sha512 = "Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==";
-      };
-    };
-    "rollup-plugin-babel-minify-9.1.1" = {
-      name = "rollup-plugin-babel-minify";
-      packageName = "rollup-plugin-babel-minify";
-      version = "9.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-babel-minify/-/rollup-plugin-babel-minify-9.1.1.tgz";
-        sha512 = "/Jph4PungzuB4h8uPSNKJQ16GjxVTfaRT6f4EwZW5NfD7RU7niFSEMMCZAlM6ezf11MBo1ttQcei+FisyCxicg==";
-      };
-    };
-    "rollup-plugin-commonjs-10.1.0" = {
-      name = "rollup-plugin-commonjs";
-      packageName = "rollup-plugin-commonjs";
-      version = "10.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz";
-        sha512 = "jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==";
-      };
-    };
-    "rollup-plugin-node-resolve-5.2.0" = {
-      name = "rollup-plugin-node-resolve";
-      packageName = "rollup-plugin-node-resolve";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz";
-        sha512 = "jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==";
-      };
-    };
-    "rollup-plugin-replace-2.2.0" = {
-      name = "rollup-plugin-replace";
-      packageName = "rollup-plugin-replace";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-2.2.0.tgz";
-        sha512 = "/5bxtUPkDHyBJAKketb4NfaeZjL5yLZdeUihSfbF2PQMz+rSTEb8ARKoOl3UBT4m7/X+QOXJo3sLTcq+yMMYTA==";
-      };
-    };
-    "rollup-pluginutils-2.8.2" = {
-      name = "rollup-pluginutils";
-      packageName = "rollup-pluginutils";
-      version = "2.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz";
-        sha512 = "EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==";
-      };
-    };
     "root-check-1.0.0" = {
       name = "root-check";
       packageName = "root-check";
@@ -59216,15 +58450,6 @@ let
         sha512 = "OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==";
       };
     };
-    "rsvp-4.8.5" = {
-      name = "rsvp";
-      packageName = "rsvp";
-      version = "4.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz";
-        sha512 = "nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==";
-      };
-    };
     "rtcpeerconnection-shim-1.2.15" = {
       name = "rtcpeerconnection-shim";
       packageName = "rtcpeerconnection-shim";
@@ -59558,15 +58783,6 @@ let
         sha512 = "jLYV0DORrzY3xaz/S9ydJL6Iz7essZeAfnAavsJ+zsJGZ1MOnsS52yRjU3uF3pJa/lla7+wisp//fxOwOH8SKQ==";
       };
     };
-    "sane-4.1.0" = {
-      name = "sane";
-      packageName = "sane";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sane/-/sane-4.1.0.tgz";
-        sha512 = "hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==";
-      };
-    };
     "sanitize-filename-1.6.3" = {
       name = "sanitize-filename";
       packageName = "sanitize-filename";
@@ -61880,15 +61096,6 @@ let
         sha1 = "17c742ff7cf187e2f59a15df9b81f17a62ce0899";
       };
     };
-    "source-list-map-0.1.8" = {
-      name = "source-list-map";
-      packageName = "source-list-map";
-      version = "0.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz";
-        sha1 = "c550b2ab5427f6b3f21f5afead88c4f5587b2106";
-      };
-    };
     "source-list-map-2.0.1" = {
       name = "source-list-map";
       packageName = "source-list-map";
@@ -62492,13 +61699,13 @@ let
         sha512 = "1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==";
       };
     };
-    "sqlite3-5.0.6" = {
+    "sqlite3-5.0.8" = {
       name = "sqlite3";
       packageName = "sqlite3";
-      version = "5.0.6";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.6.tgz";
-        sha512 = "uT1dC6N3ReF+jchY01zvl1wVFFJ5xO86wSnCpK39uA/zmAHBDm6TiAq1v876QKv8JgiijxQ7/fb5C2LPm7ZAJA==";
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.8.tgz";
+        sha512 = "f2ACsbSyb2D1qFFcqIXPfFscLtPVOWJr5GmUzYxf4W+0qelu5MWrR+FAQE1d5IUArEltBrzSDxDORG8P/IkqyQ==";
       };
     };
     "sqlite3-git+https://github.com/mapbox/node-sqlite3.git#918052b538b0effe6c4a44c74a16b2749c08a0d2" = {
@@ -63015,15 +62222,6 @@ let
         sha512 = "YzAzemVrXEf1OeZUpveXLeYUT5VVw/I5gxLeyzq1aMS3pRvFvCeaGliNFjKR3VKtGXRqF9WamqKwYadIG6vStQ==";
       };
     };
-    "ssim.js-3.5.0" = {
-      name = "ssim.js";
-      packageName = "ssim.js";
-      version = "3.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ssim.js/-/ssim.js-3.5.0.tgz";
-        sha512 = "Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g==";
-      };
-    };
     "ssri-5.3.0" = {
       name = "ssri";
       packageName = "ssri";
@@ -63321,6 +62519,15 @@ let
         sha512 = "KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==";
       };
     };
+    "stream-0.0.2" = {
+      name = "stream";
+      packageName = "stream";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream/-/stream-0.0.2.tgz";
+        sha1 = "7f5363f057f6592c5595f00bc80a27f5cec1f0ef";
+      };
+    };
     "stream-browserify-2.0.2" = {
       name = "stream-browserify";
       packageName = "stream-browserify";
@@ -63870,22 +63077,22 @@ let
         sha512 = "8lMR2m+U0VJTPp6JjvJTtGyc4FIGq9CdRt7O9p6T0e6K4vjU+OP+SQJpbe/SBmRcCUIvNUnjsbmY6lnMp8MhsQ==";
       };
     };
-    "string.prototype.trimend-1.0.4" = {
+    "string.prototype.trimend-1.0.5" = {
       name = "string.prototype.trimend";
       packageName = "string.prototype.trimend";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
+        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz";
+        sha512 = "I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==";
       };
     };
-    "string.prototype.trimstart-1.0.4" = {
+    "string.prototype.trimstart-1.0.5" = {
       name = "string.prototype.trimstart";
       packageName = "string.prototype.trimstart";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
+        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz";
+        sha512 = "THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==";
       };
     };
     "string2compact-1.3.2" = {
@@ -64923,13 +64130,13 @@ let
         sha512 = "8z18eX8G/jbTXYzyNIaobrnD7PSN7yU/YkSasMmajrXtw0FGS64XjrKn5v37d36qmU3o1xLeuYnktshRr7uIFw==";
       };
     };
-    "swagger-ui-dist-4.10.3" = {
+    "swagger-ui-dist-4.11.0" = {
       name = "swagger-ui-dist";
       packageName = "swagger-ui-dist";
-      version = "4.10.3";
+      version = "4.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.10.3.tgz";
-        sha512 = "eR4vsd7sYo0Sx7ZKRP5Z04yij7JkNmIlUQfrDQgC+xO5ABYx+waabzN+nDsQTLAJ4Z04bjkRd8xqkJtbxr3G7w==";
+        url = "https://registry.npmjs.org/swagger-ui-dist/-/swagger-ui-dist-4.11.0.tgz";
+        sha512 = "Jo4oq4Nc7LaTYuvyo1VY3z3OWmGZCzZon8s92auKqpIuVCJo3t1Qih+S+Ph8lS5+ZbvF2ugqWvXk83boXQux1w==";
       };
     };
     "swagger2openapi-7.0.8" = {
@@ -65067,13 +64274,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.11.14" = {
+    "systeminformation-5.11.15" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.11.14";
+      version = "5.11.15";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.14.tgz";
-        sha512 = "m8CJx3fIhKohanB0ExTk5q53uI1J0g5B09p77kU+KxnxRVpADVqTAwCg1PFelqKsj4LHd+qmVnumb511Hg4xow==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.15.tgz";
+        sha512 = "zUbObRjQeZcu84z9NVSm9JTiCPyPQ3MefJ3+76yvp+TeCv9WsO3szijyQLv0fChRrm2/sl2De3y1ewUOYOtz2Q==";
       };
     };
     "sywac-1.3.0" = {
@@ -65518,15 +64725,6 @@ let
         sha512 = "ZXwggmsv+mheSNZ0yOtpOBS5kTSosGPVcTeS9didqs2VRW0sIByYr2cLS1N2vlpGAjq5PKqmy6Z3hZEgcCG4Wg==";
       };
     };
-    "term-img-4.1.0" = {
-      name = "term-img";
-      packageName = "term-img";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/term-img/-/term-img-4.1.0.tgz";
-        sha512 = "DFpBhaF5j+2f7kheKFc1ajsAUUDGOaNPpKPtiIMxlbfud6mvfFZuWGnTRpaujUa5J7yl6cIw/h6nyr4mSsENPg==";
-      };
-    };
     "term-size-1.2.0" = {
       name = "term-size";
       packageName = "term-size";
@@ -65626,15 +64824,6 @@ let
         sha512 = "GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==";
       };
     };
-    "test-exclude-6.0.0" = {
-      name = "test-exclude";
-      packageName = "test-exclude";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz";
-        sha512 = "cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==";
-      };
-    };
     "test-value-2.1.0" = {
       name = "test-value";
       packageName = "test-value";
@@ -65977,6 +65166,15 @@ let
         sha512 = "jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==";
       };
     };
+    "throughput-1.0.0" = {
+      name = "throughput";
+      packageName = "throughput";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throughput/-/throughput-1.0.0.tgz";
+        sha512 = "owbJr1scbvJjvHkRONwHyY3Z4zIFTr9s0q9o6fYSnc8ur+2RenH88siGBat9agc4AgarrDiYSCZqEvucL6C+KQ==";
+      };
+    };
     "thunkify-2.1.2" = {
       name = "thunkify";
       packageName = "thunkify";
@@ -66292,15 +65490,6 @@ let
         sha512 = "76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==";
       };
     };
-    "tmpl-1.0.5" = {
-      name = "tmpl";
-      packageName = "tmpl";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz";
-        sha512 = "3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==";
-      };
-    };
     "to-absolute-glob-2.0.2" = {
       name = "to-absolute-glob";
       packageName = "to-absolute-glob";
@@ -66616,13 +65805,13 @@ let
         sha1 = "2d17d82cf669ada7f9dfe75db4b31f7034b71e29";
       };
     };
-    "torrent-discovery-9.4.10" = {
+    "torrent-discovery-9.4.12" = {
       name = "torrent-discovery";
       packageName = "torrent-discovery";
-      version = "9.4.10";
+      version = "9.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.10.tgz";
-        sha512 = "Sx2BdYYRCWXkxenGlbt3ZRSH6rcrt8ii6O6Aub9vqeS+RzzyNn2w68QVGClpctExoLle3T2eXO9gdlPANckMkA==";
+        url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-9.4.12.tgz";
+        sha512 = "Des49BZggopAXc/rF8+MqDd4NGe9iwT4g7LGzithHUYocTax5wFFnVXkUh6N5U9sGZN4RZ1dr7bVIkD3xCfxIA==";
       };
     };
     "torrent-piece-1.1.2" = {
@@ -67102,15 +66291,6 @@ let
         sha512 = "hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==";
       };
     };
-    "ts-pattern-4.0.2" = {
-      name = "ts-pattern";
-      packageName = "ts-pattern";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts-pattern/-/ts-pattern-4.0.2.tgz";
-        sha512 = "eHqR/7A6fcw05vCOfnL6RwgGJbVi9G/YHTdYdjYmElhDdJ1SMn7pWs+6+YuxygaFwQS/g+cIDlu+UD8IVpur1A==";
-      };
-    };
     "ts-pnp-1.2.0" = {
       name = "ts-pnp";
       packageName = "ts-pnp";
@@ -67966,13 +67146,13 @@ let
         sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
       };
     };
-    "uglify-js-3.15.4" = {
+    "uglify-js-3.15.5" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.15.4";
+      version = "3.15.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz";
-        sha512 = "vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz";
+        sha512 = "hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -68299,13 +67479,13 @@ let
         sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
       };
     };
-    "undici-5.1.0" = {
+    "undici-5.2.0" = {
       name = "undici";
       packageName = "undici";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-5.1.0.tgz";
-        sha512 = "S+Vy6GGLHmW0uNLyCOpma6qCEoX6Pw/Mga34UFeqNaMnfDMgeJhPdHwb9FDPC/gWnNhLxhE9Lis6yBDHtcJCqw==";
+        url = "https://registry.npmjs.org/undici/-/undici-5.2.0.tgz";
+        sha512 = "XY6+NS3WH9b3TKOHeNz2CjR+qrVz/k4fO9g3etPpLozRvULoQmZ1+dk9JbIz40ehn27xzFk4jYVU2MU3Nle62A==";
       };
     };
     "unherit-1.1.3" = {
@@ -68416,15 +67596,6 @@ let
         sha1 = "14bc6cd40d98ffff75b405506bad873ecbbac3ba";
       };
     };
-    "unified-6.2.0" = {
-      name = "unified";
-      packageName = "unified";
-      version = "6.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz";
-        sha512 = "1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==";
-      };
-    };
     "unified-7.1.0" = {
       name = "unified";
       packageName = "unified";
@@ -68785,15 +67956,6 @@ let
         sha512 = "xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==";
       };
     };
-    "unist-util-remove-position-1.1.4" = {
-      name = "unist-util-remove-position";
-      packageName = "unist-util-remove-position";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz";
-        sha512 = "tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A==";
-      };
-    };
     "unist-util-remove-position-2.0.1" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
@@ -70514,15 +69676,6 @@ let
         sha1 = "c0fd6fa484f8debdb771f68c31ed75d88da97fe7";
       };
     };
-    "vfile-2.3.0" = {
-      name = "vfile";
-      packageName = "vfile";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz";
-        sha512 = "ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==";
-      };
-    };
     "vfile-3.0.1" = {
       name = "vfile";
       packageName = "vfile";
@@ -70586,15 +69739,6 @@ let
         sha512 = "TPE1tYyHrYxewHxi42F8yP45rY5fK78jiPg9WP1xH5TfAbdncxja5NquZyYSSzG1aHpK98AvUOVJrEOoTonW6w==";
       };
     };
-    "vfile-location-2.0.6" = {
-      name = "vfile-location";
-      packageName = "vfile-location";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.6.tgz";
-        sha512 = "sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA==";
-      };
-    };
     "vfile-location-3.2.0" = {
       name = "vfile-location";
       packageName = "vfile-location";
@@ -71099,13 +70243,13 @@ let
         sha512 = "owRllqcFTnz5rXxcbmHPFGmpFmLqj9Z1V3Dzrv+s8ejOHLIT62Pyb5Uqzyl2/in2VP22DmzErPgZwrxjLCIKiQ==";
       };
     };
-    "vscode-jsonrpc-8.0.0-next.8" = {
+    "vscode-jsonrpc-8.0.1" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "8.0.0-next.8";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.8.tgz";
-        sha512 = "2eh7v+rzttUG6wg21xnm3U4IaR/i8cU9vHI9ZntRXuBtCcyR3RrPBvl86Ffm91m/Cio45kmn/LskHK3BAKZILA==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz";
+        sha512 = "N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -71207,13 +70351,13 @@ let
         sha512 = "/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==";
       };
     };
-    "vscode-languageserver-8.0.0-next.14" = {
+    "vscode-languageserver-8.0.1" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "8.0.0-next.14";
+      version = "8.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.14.tgz";
-        sha512 = "8CjwnSuKuIs71E9dCtx8MBTCKmH7KvWZHgTf2KN9Pa03IshdNU3zcFs/yfifpDSWpE1EcLeWYCvZwir/1Jt5kA==";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.1.tgz";
+        sha512 = "sn7SjBwWm3OlmLtgg7jbM0wBULppyL60rj8K5HF0ny/MzN+GzPBX1kCvYdybhl7UW63V5V5tRVnyB8iwC73lSQ==";
       };
     };
     "vscode-languageserver-protocol-3.14.1" = {
@@ -71261,22 +70405,22 @@ let
         sha512 = "VLRcWKOpCXcx9UrqrS+NSF6pNxV498VGYGW+eyp9a79/F9ElUq3wdG6acXYlEfpWHuIxpm6MXps8FU88wqIgTg==";
       };
     };
-    "vscode-languageserver-protocol-3.17.0-next.20" = {
+    "vscode-languageserver-protocol-3.17.0-next.5" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.0-next.20";
+      version = "3.17.0-next.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.20.tgz";
-        sha512 = "uQSgoKsxFH+74NRwoWGYWr/FwmtN0XGesh+jHqTGhmVsMco9I5Li8kAc5et6zA7yt1RQcUAW3Jqim7Uvb0Npfg==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.5.tgz";
+        sha512 = "LFZ6WMB3iPezQAU9OnGoERzcIVKhcs0OLfD/NHcqSj3g1wgxuLUL5kSlZbbjFySQCmhzm6b0yb3hjTSeBtq1+w==";
       };
     };
-    "vscode-languageserver-protocol-3.17.0-next.5" = {
+    "vscode-languageserver-protocol-3.17.1" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.0-next.5";
+      version = "3.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.5.tgz";
-        sha512 = "LFZ6WMB3iPezQAU9OnGoERzcIVKhcs0OLfD/NHcqSj3g1wgxuLUL5kSlZbbjFySQCmhzm6b0yb3hjTSeBtq1+w==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz";
+        sha512 = "BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg==";
       };
     };
     "vscode-languageserver-protocol-3.5.1" = {
@@ -71369,15 +70513,6 @@ let
         sha512 = "VGzh06oynbYa6JbTKUbxOEZN7CYEtWhN7DK5wfzUpeCJl8X8xZX39g2PVfpqXrIEduu7dcJgK007KgnX9tHNKA==";
       };
     };
-    "vscode-languageserver-types-3.17.0-next.12" = {
-      name = "vscode-languageserver-types";
-      packageName = "vscode-languageserver-types";
-      version = "3.17.0-next.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.12.tgz";
-        sha512 = "kaXEKkIrkd8UaQzkwUYSMgG6VVr8lplvng+/UKPb6rPYdOJ5a6JqNd87ohgIIWFE/tDWPiFM8TTGIQ2IJe02eg==";
-      };
-    };
     "vscode-languageserver-types-3.17.0-next.3" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -71396,6 +70531,15 @@ let
         sha512 = "rHYeCotiabJHgvIYzWjV8g0dHCxyOQtcryTv1Xa1horaQ4jx2V+rjLBstc6zMpCyrnZcjorwEcAvGBDCd6wudw==";
       };
     };
+    "vscode-languageserver-types-3.17.1" = {
+      name = "vscode-languageserver-types";
+      packageName = "vscode-languageserver-types";
+      version = "3.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz";
+        sha512 = "K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ==";
+      };
+    };
     "vscode-languageserver-types-3.5.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
@@ -71747,15 +70891,6 @@ let
         sha512 = "hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==";
       };
     };
-    "walker-1.0.8" = {
-      name = "walker";
-      packageName = "walker";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz";
-        sha512 = "ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==";
-      };
-    };
     "ware-1.3.0" = {
       name = "ware";
       packageName = "ware";
@@ -71981,13 +71116,13 @@ let
         sha512 = "WkwV9qJLZZm1ygrryt4+6hAKbk4jLSVCpE92RYk/MOtLSpxq/2S1U0JFyKgsASXhYU5hqHQRiXvFBoNQhfCHyg==";
       };
     };
-    "webcrypto-core-1.7.3" = {
+    "webcrypto-core-1.7.5" = {
       name = "webcrypto-core";
       packageName = "webcrypto-core";
-      version = "1.7.3";
+      version = "1.7.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.3.tgz";
-        sha512 = "8TnMtwwC/hQOyvElAOJ26lJKGgcErUG02KnKS1+QhjV4mDvQetVWU1EUEeLF8ICOrdc42+GypocyBJKRqo2kQg==";
+        url = "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.5.tgz";
+        sha512 = "gaExY2/3EHQlRNNNVSrbG2Cg94Rutl7fAaKILS1w8ZDhGxdFOaw6EbCfHIxPy9vt/xwp5o0VQAx9aySPF6hU1A==";
       };
     };
     "webidl-conversions-2.0.1" = {
@@ -72080,13 +71215,13 @@ let
         sha512 = "g4dFT7CFG8LY0iU5G8nBL6VlkT21Z7dcYDpJAEJV5Q1WLb9UwnFbrem1k7K52ILqEmomN7pnzWFxxE6SlDY56A==";
       };
     };
-    "webpack-5.72.0" = {
+    "webpack-5.72.1" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.72.0";
+      version = "5.72.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz";
-        sha512 = "qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz";
+        sha512 = "dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -72107,15 +71242,6 @@ let
         sha512 = "7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==";
       };
     };
-    "webpack-cli-3.3.12" = {
-      name = "webpack-cli";
-      packageName = "webpack-cli";
-      version = "3.3.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.12.tgz";
-        sha512 = "NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==";
-      };
-    };
     "webpack-cli-4.9.2" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
@@ -72125,15 +71251,6 @@ let
         sha512 = "m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==";
       };
     };
-    "webpack-core-0.6.9" = {
-      name = "webpack-core";
-      packageName = "webpack-core";
-      version = "0.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz";
-        sha1 = "fc571588c8558da77be9efb6debdc5a3b172bdc2";
-      };
-    };
     "webpack-dev-middleware-3.7.3" = {
       name = "webpack-dev-middleware";
       packageName = "webpack-dev-middleware";
@@ -72296,13 +71413,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.8.16" = {
+    "webtorrent-1.8.19" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.8.16";
+      version = "1.8.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.16.tgz";
-        sha512 = "cRiCUn+B62KHN+BtQLZ8+9eGJ8aPQtrk9OVnLDehudxY1u/1ajwuE+5p/ho1vT3ysmro0UtCRNnEor0+QmNaDA==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.19.tgz";
+        sha512 = "xwmzXREDid5AGtycjfiAmhfBu+mGq6UmbH/QK1X42EByyjGgu52nVW2wTGAhni4TSKM2avQa9lFM139/+/t/JQ==";
       };
     };
     "webworkify-webpack-2.1.5" = {
@@ -72521,15 +71638,6 @@ let
         sha512 = "n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==";
       };
     };
-    "which-promise-1.0.0" = {
-      name = "which-promise";
-      packageName = "which-promise";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-promise/-/which-promise-1.0.0.tgz";
-        sha1 = "20b721df05b35b706176ffa10b0909aba4603035";
-      };
-    };
     "which-typed-array-1.1.7" = {
       name = "which-typed-array";
       packageName = "which-typed-array";
@@ -74043,13 +73151,13 @@ let
         sha512 = "WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==";
       };
     };
-    "yargs-17.4.1" = {
+    "yargs-17.5.0" = {
       name = "yargs";
       packageName = "yargs";
-      version = "17.4.1";
+      version = "17.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz";
-        sha512 = "WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==";
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.5.0.tgz";
+        sha512 = "3sLxVhbAB5OC8qvVRebCLWuouhwh/rswsiDYx3WGxajUk/l4G20SKfrKKFeNIHboUFt2JFgv2yfn+5cgOr/t5A==";
       };
     };
     "yargs-3.10.0" = {
@@ -74250,15 +73358,6 @@ let
         sha512 = "H0p241BXaH0UN9IeH//RT82tl5PfNraVpSpEoW+ET7lmopNC61eZ+A+IDvU8FM6Go5vx162SncDL8J1ZjRBriQ==";
       };
     };
-    "yarn-1.22.18" = {
-      name = "yarn";
-      packageName = "yarn";
-      version = "1.22.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yarn/-/yarn-1.22.18.tgz";
-        sha512 = "oFffv6Jp2+BTUBItzx1Z0dpikTX+raRdqupfqzeMKnoh7WD6RuPAxcqDkMUy9vafJkrB0YaV708znpuMhEBKGQ==";
-      };
-    };
     "yarn-1.22.4" = {
       name = "yarn";
       packageName = "yarn";
@@ -74553,15 +73652,15 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "13.3.4";
+    version = "13.3.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.3.4.tgz";
-      sha512 = "4S5FNjkZgq98zcBVgwkYtMgMRMSVsprCgq7dM8yTxIQh+Np3fYgj5eRJ1+mfFG/kankH2z/TFyuoYiILh2D9Uw==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.3.5.tgz";
+      sha512 = "FrPg86cfmm0arWZInt55muCTpcQSNlvoViVrIVkyqSN06GoyCAQ2zn6/OYJnx/XAg/XvXTbygL+58c0WXuOaiA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1303.4"
-      sources."@angular-devkit/core-13.3.4"
-      sources."@angular-devkit/schematics-13.3.4"
+      sources."@angular-devkit/architect-0.1303.5"
+      sources."@angular-devkit/core-13.3.5"
+      sources."@angular-devkit/schematics-13.3.5"
       sources."@gar/promisify-1.1.3"
       sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
@@ -74570,7 +73669,7 @@ in
       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.3.4"
+      sources."@schematics/angular-13.3.5"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
@@ -74652,7 +73751,7 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
@@ -74699,10 +73798,10 @@ in
           sources."@tootallnate/once-2.0.0"
           sources."brace-expansion-2.0.1"
           sources."cacache-16.0.7"
-          sources."glob-8.0.1"
+          sources."glob-8.0.2"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.9.0"
-          (sources."make-fetch-happen-10.1.2" // {
+          sources."lru-cache-7.10.1"
+          (sources."make-fetch-happen-10.1.3" // {
             dependencies = [
               sources."minipass-fetch-2.1.0"
             ];
@@ -74824,7 +73923,7 @@ in
       sources."color-name-1.1.3"
       sources."colorette-2.0.16"
       sources."commander-8.3.0"
-      sources."convict-6.2.2"
+      sources."convict-6.2.3"
       sources."dateformat-4.6.3"
       sources."duplexify-4.1.2"
       sources."end-of-stream-1.4.4"
@@ -74940,7 +74039,7 @@ in
       sources."colorette-2.0.16"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
-      sources."convict-6.2.2"
+      sources."convict-6.2.3"
       sources."core-util-is-1.0.3"
       sources."crc-32-1.2.2"
       sources."dateformat-4.6.3"
@@ -75090,7 +74189,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."type-fest-1.4.0"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."unxhr-1.0.1"
@@ -75130,10 +74229,10 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.16.0";
+    version = "0.17.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.16.0.tgz";
-      sha512 = "NNXsLGh6LxzcIBPTtwPcS9nrkTCI2afHzxaAsdG3DXUFaztNlJa05PIA/tqnob/BIqZj02cEFS5bX1npLyjqaw==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.17.0.tgz";
+      sha512 = "8moxFL54ObrvRLVpeawjP1qy3eBmH0KmemZFHit7EVy7+K9MvMctdbp3bsaF8D+LfeXEJKJVw30UeU0EPNOZ1A==";
     };
     dependencies = [
       sources."@astrojs/svelte-language-integration-0.1.4"
@@ -75160,10 +74259,19 @@ in
       sources."vscode-css-languageservice-5.4.2"
       sources."vscode-html-languageservice-4.2.5"
       sources."vscode-jsonrpc-6.0.0"
-      sources."vscode-languageserver-7.0.0"
-      sources."vscode-languageserver-protocol-3.16.0"
+      (sources."vscode-languageserver-7.0.0" // {
+        dependencies = [
+          sources."vscode-languageserver-protocol-3.16.0"
+          sources."vscode-languageserver-types-3.16.0"
+        ];
+      })
+      (sources."vscode-languageserver-protocol-3.17.1" // {
+        dependencies = [
+          sources."vscode-jsonrpc-8.0.1"
+        ];
+      })
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
     ];
@@ -75362,7 +74470,7 @@ in
       sources."papaparse-5.3.2"
       sources."parse5-6.0.1"
       sources."parseurl-1.3.3"
-      sources."path-to-regexp-6.2.0"
+      sources."path-to-regexp-6.2.1"
       sources."pify-3.0.0"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
@@ -75493,7 +74601,7 @@ in
       sources."@tsconfig/node14-1.0.1"
       sources."@tsconfig/node16-1.0.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."JSONStream-1.3.5"
@@ -75649,7 +74757,7 @@ in
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
-      (sources."yargs-17.4.1" // {
+      (sources."yargs-17.5.0" // {
         dependencies = [
           sources."yargs-parser-21.0.1"
         ];
@@ -75723,7 +74831,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."abort-controller-3.0.0"
@@ -75763,7 +74871,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."currently-unhandled-0.4.1"
       sources."debounce-1.2.1"
@@ -75839,7 +74947,7 @@ in
       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-reachable-5.2.0"
       sources."is-stream-2.0.1"
       sources."is-unicode-supported-1.2.0"
       sources."is-wsl-2.2.0"
@@ -75850,7 +74958,7 @@ in
       sources."jsonfile-6.1.0"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.7"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
@@ -75897,7 +75005,7 @@ in
       sources."p-locate-5.0.0"
       (sources."p-map-5.3.0" // {
         dependencies = [
-          sources."aggregate-error-4.0.0"
+          sources."aggregate-error-4.0.1"
           sources."clean-stack-4.2.0"
           sources."escape-string-regexp-5.0.0"
           sources."indent-string-5.0.0"
@@ -76009,8 +75117,8 @@ in
       sources."@hyperswarm/discovery-2.0.1"
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
-      sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-17.0.31"
+      sources."@leichtgewicht/ip-codec-2.0.4"
+      sources."@types/node-17.0.32"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
       sources."acorn-8.7.1"
@@ -76406,7 +75514,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -76628,9 +75736,9 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
@@ -76813,8 +75921,8 @@ in
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."markdown-it-12.3.2"
-      sources."markdown-it-anchor-8.6.2"
-      sources."marked-4.0.14"
+      sources."markdown-it-anchor-8.6.4"
+      sources."marked-4.0.15"
       sources."md5.js-1.3.5"
       sources."mdurl-1.0.1"
       (sources."mem-4.3.0" // {
@@ -77210,7 +76318,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."underscore-1.13.3"
       sources."union-value-1.0.1"
       (sources."universal-url-2.0.0" // {
@@ -77425,13 +76533,18 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@nestjs/schematics-8.0.10"
-      sources."@types/eslint-8.4.1"
+      (sources."@nestjs/schematics-8.0.11" // {
+        dependencies = [
+          sources."@angular-devkit/core-13.3.5"
+          sources."@angular-devkit/schematics-13.3.5"
+        ];
+      })
+      sources."@types/eslint-8.4.2"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
       sources."@types/json5-0.0.29"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -77470,7 +76583,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -77489,7 +76602,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enhanced-resolve-5.9.3"
@@ -77516,7 +76629,7 @@ in
           sources."chalk-4.1.2"
         ];
       })
-      sources."fs-extra-10.0.1"
+      sources."fs-extra-10.1.0"
       sources."fs-monkey-1.0.3"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -77777,10 +76890,10 @@ in
   "@tailwindcss/forms" = nodeEnv.buildNodePackage {
     name = "_at_tailwindcss_slash_forms";
     packageName = "@tailwindcss/forms";
-    version = "0.5.0";
+    version = "0.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.0.tgz";
-      sha512 = "KzWugryEBFkmoaYcBE18rs6gthWCFHHO7cAZm2/hv3hwD67AzwP7udSCa22E7R1+CEJL/FfhYsJWrc0b1aeSzw==";
+      url = "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.1.tgz";
+      sha512 = "QSwsFORnC2BAP0lRzQkz1pw+EzIiiPdk4e27vGQjyXkwJPeC7iLIRVndJzf9CJVbcrrIcirb/TfxF3gRTyFEVA==";
     };
     dependencies = [
       sources."mini-svg-data-uri-1.4.4"
@@ -77879,7 +76992,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1134.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -78165,7 +77278,7 @@ in
           sources."@types/node-10.17.60"
         ];
       })
-      sources."@apollographql/apollo-tools-0.5.3"
+      sources."@apollographql/apollo-tools-0.5.4"
       sources."@apollographql/graphql-playground-html-1.6.27"
       sources."@apollographql/graphql-upload-8-fork-8.1.3"
       sources."@babel/code-frame-7.16.7"
@@ -78309,10 +77422,10 @@ in
       sources."@hapi/topo-5.1.0"
       sources."@josephg/resolvable-1.0.1"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@node-ipc/js-queue-2.0.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -78334,10 +77447,10 @@ in
       sources."@types/accepts-1.3.5"
       sources."@types/body-parser-1.19.0"
       sources."@types/connect-3.4.35"
-      sources."@types/content-disposition-0.5.4"
+      sources."@types/content-disposition-0.5.5"
       sources."@types/cookies-0.7.7"
       sources."@types/cors-2.8.10"
-      sources."@types/ejs-3.1.0"
+      sources."@types/ejs-3.1.1"
       sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/fs-capacitor-2.0.0"
@@ -78355,7 +77468,7 @@ in
       sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.2"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -78390,7 +77503,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."apollo-cache-control-0.14.0"
       sources."apollo-datasource-0.9.0"
-      sources."apollo-graphql-0.9.6"
+      sources."apollo-graphql-0.9.7"
       (sources."apollo-link-1.2.14" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -78481,7 +77594,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -78534,12 +77647,12 @@ in
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.22.3" // {
+      (sources."core-js-compat-3.22.5" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.22.3"
+      sources."core-js-pure-3.22.5"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -78601,15 +77714,15 @@ in
       sources."duplexer3-0.1.4"
       sources."easy-stack-1.0.1"
       sources."ee-first-1.1.1"
-      sources."ejs-3.1.7"
-      sources."electron-to-chromium-1.4.129"
+      sources."ejs-3.1.8"
+      sources."electron-to-chromium-1.4.137"
       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."error-ex-1.3.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -78669,7 +77782,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
       sources."file-type-8.1.0"
-      (sources."filelist-1.0.3" // {
+      (sources."filelist-1.0.4" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."minimatch-5.0.1"
@@ -78711,7 +77824,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."flow-parser-0.176.3"
+      sources."flow-parser-0.178.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
@@ -78730,6 +77843,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -79049,6 +78164,7 @@ in
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.15.0"
       sources."regex-not-1.0.2"
+      sources."regexp.prototype.flags-1.4.3"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
@@ -79175,8 +78291,8 @@ in
       sources."streamsearch-0.1.2"
       sources."strict-uri-encode-1.1.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-dirs-2.1.0"
@@ -79458,8 +78574,8 @@ in
       sources."@babel/template-7.16.7"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -79549,7 +78665,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
@@ -79790,7 +78906,7 @@ in
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
       sources."micromark-util-encode-1.0.1"
-      sources."micromark-util-events-to-acorn-1.0.6"
+      sources."micromark-util-events-to-acorn-1.1.0"
       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"
@@ -80038,10 +79154,10 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@xmldom/xmldom-0.8.2"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
@@ -80050,7 +79166,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-2.0.1"
       sources."browserslist-4.20.3"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -80060,11 +79176,11 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.4"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
-      (sources."filelist-1.0.3" // {
+      (sources."filelist-1.0.4" // {
         dependencies = [
           sources."minimatch-5.0.1"
         ];
@@ -80213,7 +79329,7 @@ in
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-json-stable-stringify-2.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fresh-0.5.2"
@@ -80233,7 +79349,7 @@ in
       sources."http-signature-1.2.0"
       sources."humanize-number-0.0.2"
       sources."inherits-2.0.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-generator-function-1.0.10"
       sources."is-typedarray-1.0.0"
@@ -80336,7 +79452,7 @@ in
         ];
       })
       sources."y18n-5.0.8"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
       sources."ylru-1.3.2"
     ];
@@ -80361,7 +79477,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -80439,15 +79555,15 @@ in
   autoprefixer = nodeEnv.buildNodePackage {
     name = "autoprefixer";
     packageName = "autoprefixer";
-    version = "10.4.6";
+    version = "10.4.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.6.tgz";
-      sha512 = "Rvzel0AZO9tJNm3ydySK80PpkWoEZTGC5bHUh/xbrP8qJCy08NFBwNGPcozy3d3SDIM0b2kNxw2K7jAIYFF01A==";
+      url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz";
+      sha512 = "ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==";
     };
     dependencies = [
       sources."browserslist-4.20.3"
-      sources."caniuse-lite-1.0.30001334"
-      sources."electron-to-chromium-1.4.129"
+      sources."caniuse-lite-1.0.30001340"
+      sources."electron-to-chromium-1.4.137"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
       sources."node-releases-2.0.4"
@@ -80475,14 +79591,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/yauzl-2.10.0"
       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.1125.0" // {
+      (sources."aws-sdk-2.1134.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -80568,7 +79684,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
       sources."inquirer-8.2.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-interactive-1.0.0"
       sources."is-unicode-supported-0.1.0"
@@ -81102,10 +80218,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "12.7.1";
+    version = "12.8.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.7.1.tgz";
-      sha512 = "moTdbzn6qXvDWYe4NuzePwTRK4QtlH4VMEkz7YHgOB/H/218vTRugg/qx1B8mAnLG4h7dwpZcribQXVOsM4Jww==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-12.8.2.tgz";
+      sha512 = "sM6J3VAYyfw0at5FEJY2slgtntKbXv72EANMyi4h7rovasw+AyUvKR2UVbyZtCBzlQNYnqQCJVrm52R5+7qipQ==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.4" // {
@@ -81156,7 +80272,7 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/long-4.0.2"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/request-2.48.8"
@@ -81189,7 +80305,7 @@ in
       sources."basic-auth-2.0.1"
       sources."bech32-2.0.0"
       sources."bessel-1.0.2"
-      sources."bip174-2.0.1"
+      sources."bip174-2.1.0"
       sources."bip65-1.0.3"
       sources."bip66-1.1.5"
       sources."bip68-1.0.4"
@@ -81343,7 +80459,7 @@ in
       })
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
-      (sources."grammy-1.8.2" // {
+      (sources."grammy-1.8.3" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -81394,7 +80510,7 @@ in
         ];
       })
       sources."invoices-2.0.5"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.3.2"
@@ -81487,13 +80603,22 @@ in
           sources."type-fest-2.12.0"
         ];
       })
-      (sources."ln-service-53.15.0" // {
+      (sources."ln-service-53.16.0" // {
         dependencies = [
           sources."@grpc/grpc-js-1.6.7"
-          sources."@types/node-17.0.25"
+          sources."@grpc/proto-loader-0.6.12"
+          sources."@types/node-17.0.31"
           sources."bolt09-0.2.3"
+          sources."cookie-0.5.0"
+          sources."express-4.18.1"
+          sources."finalhandler-1.2.0"
           sources."invoices-2.0.6"
-          sources."lightning-5.14.0"
+          sources."lightning-5.15.0"
+          sources."ms-2.1.3"
+          sources."safe-buffer-5.2.1"
+          sources."send-0.18.0"
+          sources."serve-static-1.15.0"
+          sources."ws-8.6.0"
         ];
       })
       (sources."ln-sync-3.12.0" // {
@@ -81529,7 +80654,19 @@ in
           sources."statuses-1.5.0"
         ];
       })
-      sources."ln-telegram-3.21.4"
+      (sources."ln-telegram-3.21.5" // {
+        dependencies = [
+          sources."@grpc/grpc-js-1.6.7"
+          sources."@types/node-17.0.25"
+          sources."bolt09-0.2.3"
+          sources."debug-4.3.4"
+          sources."grammy-1.8.2"
+          sources."invoices-2.0.6"
+          sources."lightning-5.14.0"
+          sources."ln-service-53.15.0"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.difference-4.5.0"
@@ -81619,8 +80756,12 @@ in
       })
       (sources."paid-services-3.16.0" // {
         dependencies = [
+          sources."@grpc/grpc-js-1.6.7"
+          sources."@types/node-17.0.25"
           sources."bolt09-0.2.3"
           sources."invoices-2.0.6"
+          sources."lightning-5.14.0"
+          sources."ln-service-53.15.0"
         ];
       })
       sources."parseurl-1.3.3"
@@ -81920,11 +81061,11 @@ in
       sources."urijs-1.19.11"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-jsonrpc-8.0.1"
       sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."w3c-hr-time-1.0.2"
       sources."web-tree-sitter-0.19.4"
       sources."webidl-conversions-4.0.2"
@@ -81955,8 +81096,10 @@ in
       sha512 = "cwi9b6H7pMWDFcUNsAt2DDStOmd9DCgWUQ5olAe+PHe+dwxqeRJVaCQLMiDwJBOHEPuRhaXh8V/7JEtgQPgoPQ==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-4.4.3"
-      sources."@textlint/markdown-to-ast-6.1.7"
+      sources."@textlint/ast-node-types-12.1.1"
+      sources."@textlint/markdown-to-ast-12.1.1"
+      sources."@types/mdast-3.0.10"
+      sources."@types/unist-2.0.6"
       sources."anchor-markdown-header-0.5.7"
       sources."ansi-regex-2.1.1"
       sources."aproba-1.2.0"
@@ -81968,14 +81111,13 @@ in
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."boundary-1.0.1"
       sources."buffer-5.7.1"
+      sources."ccount-1.1.0"
       sources."character-entities-1.2.4"
       sources."character-entities-legacy-1.1.4"
       sources."character-reference-invalid-1.1.4"
       sources."chownr-1.1.4"
       sources."code-point-at-1.1.0"
-      sources."collapse-white-space-1.0.6"
       sources."commander-6.2.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.3"
@@ -81984,22 +81126,19 @@ in
       sources."deep-extend-0.6.0"
       sources."delegates-1.0.0"
       sources."detect-libc-1.0.3"
-      sources."doctoc-2.1.0"
+      sources."doctoc-2.2.0"
       (sources."dom-serializer-1.4.1" // {
         dependencies = [
-          sources."domhandler-4.3.1"
+          sources."entities-2.2.0"
         ];
       })
       sources."domelementtype-2.3.0"
-      sources."domhandler-3.3.0"
-      (sources."domutils-2.8.0" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
+      sources."domhandler-4.3.1"
+      sources."domutils-2.8.0"
       sources."emoji-regex-6.1.3"
       sources."end-of-stream-1.4.4"
-      sources."entities-2.2.0"
+      sources."entities-3.0.1"
+      sources."escape-string-regexp-4.0.0"
       sources."expand-template-2.0.3"
       sources."extend-3.0.2"
       sources."fault-1.0.4"
@@ -82008,21 +81147,40 @@ in
       sources."gauge-2.7.4"
       sources."github-from-package-0.0.0"
       sources."has-unicode-2.0.1"
-      sources."htmlparser2-4.1.0"
+      sources."htmlparser2-7.2.0"
       sources."ieee754-1.2.1"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."is-alphabetical-1.0.4"
       sources."is-alphanumerical-1.0.4"
-      sources."is-buffer-1.1.6"
+      sources."is-buffer-2.0.5"
       sources."is-decimal-1.0.4"
       sources."is-fullwidth-code-point-1.0.0"
       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."is-plain-obj-2.1.0"
       sources."isarray-1.0.0"
-      sources."markdown-escapes-1.0.4"
+      sources."longest-streak-2.0.4"
+      sources."markdown-table-2.0.0"
+      sources."mdast-util-find-and-replace-1.1.1"
+      sources."mdast-util-footnote-0.1.7"
+      sources."mdast-util-from-markdown-0.8.5"
+      sources."mdast-util-frontmatter-0.2.0"
+      sources."mdast-util-gfm-0.1.2"
+      sources."mdast-util-gfm-autolink-literal-0.1.3"
+      sources."mdast-util-gfm-strikethrough-0.2.3"
+      sources."mdast-util-gfm-table-0.1.6"
+      sources."mdast-util-gfm-task-list-item-0.1.6"
+      sources."mdast-util-to-markdown-0.6.5"
+      sources."mdast-util-to-string-2.0.0"
+      sources."micromark-2.11.4"
+      sources."micromark-extension-footnote-0.3.2"
+      sources."micromark-extension-frontmatter-0.2.2"
+      sources."micromark-extension-gfm-0.3.3"
+      sources."micromark-extension-gfm-autolink-literal-0.5.7"
+      sources."micromark-extension-gfm-strikethrough-0.6.5"
+      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."mimic-response-2.1.0"
       sources."minimist-1.2.6"
       sources."mkdirp-classic-0.5.3"
@@ -82035,29 +81193,28 @@ in
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
-      sources."parse-entities-1.2.2"
+      sources."parse-entities-2.0.0"
       sources."prebuild-install-5.3.6"
       sources."process-nextick-args-2.0.1"
       sources."pump-3.0.0"
       sources."rc-1.2.8"
       sources."readable-stream-2.3.7"
       sources."reflect-metadata-0.1.13"
-      sources."remark-frontmatter-1.3.3"
-      sources."remark-parse-5.0.0"
+      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."replace-ext-1.0.0"
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
       sources."simple-get-3.1.1"
-      sources."state-toggle-1.0.3"
       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."structured-source-3.0.2"
       sources."tar-fs-2.1.1"
       (sources."tar-stream-2.2.0" // {
         dependencies = [
@@ -82067,25 +81224,19 @@ in
       sources."traverse-0.6.6"
       sources."tree-sitter-0.17.2"
       sources."tree-sitter-beancount-1.0.0"
-      sources."trim-0.0.1"
-      sources."trim-trailing-lines-1.1.4"
       sources."trough-1.0.5"
       sources."tslib-1.14.1"
       sources."tsyringe-4.6.0"
       sources."tunnel-agent-0.6.0"
-      sources."underscore-1.12.1"
-      sources."unherit-1.1.3"
-      sources."unified-6.2.0"
-      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."underscore-1.13.3"
+      sources."unified-9.2.2"
+      sources."unist-util-is-4.1.0"
+      sources."unist-util-stringify-position-2.0.3"
+      sources."unist-util-visit-parents-3.1.1"
       sources."update-section-0.3.3"
       sources."util-deprecate-1.0.2"
-      sources."vfile-2.3.0"
-      sources."vfile-location-2.0.6"
-      sources."vfile-message-1.1.1"
+      sources."vfile-4.2.1"
+      sources."vfile-message-2.0.4"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
@@ -82096,8 +81247,7 @@ in
       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"
-      sources."xtend-4.0.2"
+      sources."zwitch-1.0.5"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -82343,14 +81493,16 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."events-3.3.0"
       sources."evp_bytestokey-1.0.3"
       sources."fast-safe-stringify-2.1.1"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-assigned-identifiers-1.2.0"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
@@ -82440,6 +81592,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
+      sources."regexp.prototype.flags-1.4.3"
       sources."resolve-1.22.0"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
@@ -82462,8 +81615,8 @@ in
         ];
       })
       sources."stream-splicer-2.0.1"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."subarg-1.0.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
@@ -82512,7 +81665,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."accepts-1.3.8"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -82564,7 +81717,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."engine.io-6.2.0"
-      sources."engine.io-client-6.2.1"
+      sources."engine.io-client-6.2.2"
       sources."engine.io-parser-5.0.4"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -82578,7 +81731,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fresh-0.5.2"
       sources."fs-extra-3.0.1"
       sources."fsevents-2.3.2"
@@ -82705,7 +81858,7 @@ in
       sources."ws-8.2.3"
       sources."xmlhttprequest-ssl-2.0.0"
       sources."y18n-5.0.8"
-      (sources."yargs-17.4.1" // {
+      (sources."yargs-17.5.0" // {
         dependencies = [
           sources."yargs-parser-21.0.1"
         ];
@@ -82767,7 +81920,7 @@ in
       sources."bech32-2.0.0"
       sources."bignumber.js-9.0.2"
       sources."bindings-1.5.0"
-      sources."bip174-2.0.1"
+      sources."bip174-2.1.0"
       sources."bip32-2.0.6"
       sources."bip66-1.1.5"
       sources."bitcoin-ops-1.4.1"
@@ -82885,8 +82038,9 @@ in
         ];
       })
       sources."express-async-handler-1.2.0"
-      (sources."express-session-1.17.2" // {
+      (sources."express-session-1.17.3" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."debug-2.6.9"
           sources."safe-buffer-5.2.1"
         ];
@@ -82902,7 +82056,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
@@ -83199,7 +82353,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -83338,7 +82492,7 @@ in
       sources."ini-1.1.0"
       sources."inquirer-0.8.5"
       sources."internal-ip-1.2.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
       sources."is-arrayish-0.2.1"
@@ -84212,12 +83366,12 @@ in
       sha512 = "1saDFNPhU3v1GI7KxuIj96oXV3x+QbqF9ZKBS9gRSj61YkZOsQ6L8UsMl1lFBBvKeO2OYc11Kvtrqxss0bIXkQ==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.57.0"
-      sources."@jsii/spec-1.57.0"
+      sources."@jsii/check-node-1.58.0"
+      sources."@jsii/spec-1.58.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.50"
+      sources."@types/node-12.20.51"
       sources."@xmldom/xmldom-0.8.2"
       sources."ajv-8.11.0"
       sources."ansi-regex-5.0.1"
@@ -84229,11 +83383,11 @@ in
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
       sources."cdk8s-1.5.86"
-      sources."cdk8s-plus-22-1.0.0-beta.218"
+      sources."cdk8s-plus-22-1.0.0-beta.220"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.57.0" // {
+      (sources."codemaker-1.58.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -84242,7 +83396,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.283"
+      sources."constructs-3.4.7"
       sources."date-format-4.0.9"
       sources."debug-4.3.4"
       sources."decamelize-5.0.1"
@@ -84253,7 +83407,7 @@ in
       sources."dot-case-3.0.4"
       sources."emoji-regex-8.0.0"
       sources."entities-2.0.3"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
@@ -84264,7 +83418,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flatted-3.2.5"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       (sources."fs-extra-8.1.0" // {
         dependencies = [
           sources."jsonfile-4.0.0"
@@ -84272,6 +83426,7 @@ in
         ];
       })
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -84307,31 +83462,31 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
-      (sources."jsii-1.57.0" // {
+      (sources."jsii-1.58.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.57.0" // {
+      (sources."jsii-pacmak-1.58.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.57.0" // {
+      (sources."jsii-reflect-1.58.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.57.0" // {
+      (sources."jsii-rosetta-1.58.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.548" // {
+      (sources."jsii-srcmak-0.1.556" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -84356,7 +83511,7 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.57.0"
+      sources."oo-ascii-tree-1.58.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -84390,8 +83545,8 @@ in
       })
       sources."string-width-4.2.3"
       sources."string.prototype.repeat-0.2.0"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
@@ -84434,10 +83589,10 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.10.3";
+    version = "0.10.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.10.3.tgz";
-      sha512 = "gSbwPFofGm0VShMyx3k8SThmabe73Imib2jN7W1F7Lg5MI1Rjyx3+hNGI6YCI0hnT8pqdWghEGO1QHC7Smbl6g==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.10.4.tgz";
+      sha512 = "LCUSiQ4boFornAdHB8AocWz0o2y9KcVHUSlgC9rGoO0Pa73U22jCU1CK5obM36rxzBmdBCQ+N0lG5z0EillZ7A==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -84447,13 +83602,13 @@ in
       sources."@babel/parser-7.17.10"
       sources."@babel/template-7.16.7"
       sources."@babel/types-7.17.10"
-      sources."@cdktf/hcl2cdk-0.10.3"
-      sources."@cdktf/hcl2json-0.10.3"
-      sources."@cdktf/provider-generator-0.10.3"
+      sources."@cdktf/hcl2cdk-0.10.4"
+      sources."@cdktf/hcl2json-0.10.4"
+      sources."@cdktf/provider-generator-0.10.4"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      (sources."@jsii/check-node-1.57.0" // {
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      (sources."@jsii/check-node-1.58.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84463,11 +83618,11 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.57.0"
+      sources."@jsii/spec-1.58.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.31"
+      sources."@types/node-17.0.32"
       sources."@types/node-fetch-2.6.1"
       sources."@types/yargs-17.0.10"
       sources."@types/yargs-parser-21.0.0"
@@ -84484,7 +83639,7 @@ in
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.10.3"
+      sources."cdktf-0.10.4"
       sources."chalk-2.4.2"
       sources."cliui-6.0.0"
       sources."clone-2.1.2"
@@ -84498,7 +83653,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.130"
+      sources."constructs-10.1.7"
       sources."cross-spawn-7.0.3"
       sources."date-format-4.0.9"
       sources."debug-4.3.4"
@@ -84510,7 +83665,7 @@ in
       sources."detect-newline-2.1.0"
       sources."emoji-regex-8.0.0"
       sources."entities-2.0.3"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
@@ -84522,11 +83677,12 @@ in
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flatted-3.2.5"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -84576,7 +83732,7 @@ in
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.57.0" // {
+      (sources."jsii-1.58.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84594,11 +83750,11 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.57.0" // {
+      (sources."jsii-pacmak-1.58.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
-          sources."codemaker-1.57.0"
+          sources."codemaker-1.58.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."decamelize-5.0.1"
@@ -84612,7 +83768,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.57.0" // {
+      (sources."jsii-reflect-1.58.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -84630,7 +83786,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.57.0" // {
+      (sources."jsii-rosetta-1.58.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -84645,7 +83801,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.548" // {
+      (sources."jsii-srcmak-0.1.556" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -84678,9 +83834,9 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."obliterator-2.0.3"
+      sources."obliterator-2.0.4"
       sources."once-1.4.0"
-      sources."oo-ascii-tree-1.57.0"
+      sources."oo-ascii-tree-1.58.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -84720,8 +83876,8 @@ in
       })
       sources."string-width-4.2.3"
       sources."string.prototype.repeat-0.2.0"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
@@ -84750,7 +83906,7 @@ in
       sources."xmlbuilder-15.1.1"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
-      (sources."yargs-17.4.1" // {
+      (sources."yargs-17.5.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -85050,10 +84206,10 @@ in
   coc-diagnostic = nodeEnv.buildNodePackage {
     name = "coc-diagnostic";
     packageName = "coc-diagnostic";
-    version = "0.23.2";
+    version = "0.23.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.2.tgz";
-      sha512 = "E25+KhDPSUloQifiFPgoWZDIGpDH+MPF6Yi5WCjnNaztExFph5GYLjwsYdO0vV0IYxNgkpzr0YZNPOZt+2AB1g==";
+      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.3.tgz";
+      sha512 = "IJ6Z7wmyhufVD69rzc0NI4g4OH7fw88bJhfhZCeqTikk50IKBfd7D3hikuF8hbilu0M+67Z2RlZkaFFUgrnLhQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85077,7 +84233,7 @@ in
       sources."@emmetio/extract-abbreviation-0.1.6"
       sources."jsonc-parser-1.0.3"
       sources."vscode-emmet-helper-1.2.17"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85109,10 +84265,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.22.9";
+    version = "0.23.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.9.tgz";
-      sha512 = "HzIKBNcTpmvqc38grrktkdCTxCZvee2UwZ7qD67Y5xxN2aipDCW9IOeqTATiX56zWCcYeq/iNZjBvvMe3OlNjQ==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.23.0.tgz";
+      sha512 = "o7Vsc2G7VZFBNIqEUEvn5EoglRchSQzfsy6D/bsR6iBKLOia1twR5McnkkyW43yFJ7hmY7Ybw2f6gmJcukud0g==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -85250,10 +84406,10 @@ in
   coc-haxe = nodeEnv.buildNodePackage {
     name = "coc-haxe";
     packageName = "coc-haxe";
-    version = "0.8.0";
+    version = "0.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-haxe/-/coc-haxe-0.8.0.tgz";
-      sha512 = "u8DAHCGDi9C/7xY5xXxmsD4mIry07ujX+piCzkcDg/n6rMQ0R3lmqDk4tBt+C/qfWxqAFgee45q++OD62wsNxg==";
+      url = "https://registry.npmjs.org/coc-haxe/-/coc-haxe-0.11.0.tgz";
+      sha512 = "HF+Sa6NFsVH0tsEV8F6SCnKGU89sIXPeHvYwezzkb19GkTrJByLGmxfSZANN35y32FxqJDGqweTUFEqmr48FQg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -85454,14 +84610,14 @@ in
       sources."define-properties-1.1.4"
       sources."duplexer2-0.1.4"
       sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."event-lite-0.1.2"
       sources."execa-1.0.0"
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
       sources."flatted-3.2.5"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fp-ts-2.12.1"
       sources."fs-extra-10.1.0"
       sources."fs-minipass-2.1.0"
@@ -85473,6 +84629,8 @@ in
         ];
       })
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
@@ -85556,6 +84714,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
+      sources."regexp.prototype.flags-1.4.3"
       sources."rfc-3986-1.0.1"
       sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
@@ -85568,8 +84727,8 @@ in
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       sources."streamroller-3.0.8"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -85593,7 +84752,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-2.1.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -85632,10 +84791,10 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "9.2.4";
+    version = "9.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-9.2.4.tgz";
-      sha512 = "QI0SD7lbfDz969h8wgpepbDKZcLAbg3rmdBtzC9OnHUGZr6C6iWfhEfbWzFvdEgqvlkUTCrqt/IkxxKbkzXZDw==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-9.3.0.tgz";
+      sha512 = "ns5+SO7o0ckeGeVo9r9JM1gfpfByASsDouOhwqjgF0mDJurXMZ/q6Dax+h8Sv+EIgR1C/nU0rpmIQXg6KL7G6g==";
     };
     dependencies = [
       sources."prettier-2.6.2"
@@ -85653,13 +84812,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.235";
+    version = "1.1.243";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.235.tgz";
-      sha512 = "7hF2rkGFbx4KQrYflu12OlPVV/7lQxaJWyslJMsdElEVOVOpO5C6wmwf2+6Xnzm65i6mFIg5lO7zYAz6nRSMFg==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.243.tgz";
+      sha512 = "Jc5YOiN2vBrsD7Mcm21t5qwu0ltvtRhm9KAOWhl8fnABlOlvxiceqdtY5p2rnyW460PI5FD/iFSQTTovQuveWg==";
     };
     dependencies = [
-      sources."pyright-1.1.243"
+      sources."pyright-1.1.246"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85698,10 +84857,10 @@ in
       sha512 = "SOsCwIuQeE4eiX/Scgs2nL1WnR0JwFZ2/Edh3dx5ijmZSlEPxdc0PnMUN0hT9y96jK5/ZHAByC3qEperpWqPUA==";
     };
     dependencies = [
-      sources."vscode-jsonrpc-6.0.0"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -85835,14 +84994,14 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@stylelint/postcss-css-in-js-0.37.2"
+      sources."@stylelint/postcss-css-in-js-0.37.3"
       sources."@stylelint/postcss-markdown-0.36.2"
       sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
@@ -85872,7 +85031,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -85909,7 +85068,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -86127,7 +85286,7 @@ in
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-2.1.2"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
@@ -86279,10 +85438,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.10.1";
+    version = "1.10.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.10.1.tgz";
-      sha512 = "wkXnt6Ok/VL7/Nx/96mldX/BactXvNmme2mpmk3qk9VdN8Do9esETyBxqzbQqBO71ZVtTUxYGpK+W61gm15Dow==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.10.3.tgz";
+      sha512 = "SwjYCJ2JGHKdYo1u9qoZbZMriZuKRiiYFiNme+P7tOwS8P8zDGjfcRk9i2dKbOI+aaw53lBWXHTnEWT+EwHIyw==";
     };
     dependencies = [
       sources."typescript-4.6.4"
@@ -86413,7 +85572,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -86824,7 +85983,7 @@ in
       sources."colors-1.4.0"
       sources."commander-2.20.3"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."has-flag-3.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."log-symbols-2.2.0"
@@ -86920,7 +86079,7 @@ in
       sources."eventemitter3-4.0.7"
       sources."fecha-4.2.3"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."http-proxy-1.18.1"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
@@ -87150,7 +86309,7 @@ in
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."validate-npm-package-license-3.0.4"
@@ -87489,7 +86648,7 @@ in
           sources."uuid-8.3.2"
         ];
       })
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ipaddr.js-1.9.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.9.0"
@@ -87713,7 +86872,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.14"
+      sources."systeminformation-5.11.15"
       sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -87810,7 +86969,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
-      sources."aggregate-error-4.0.0"
+      sources."aggregate-error-4.0.1"
       sources."ansi-styles-3.2.1"
       sources."arrify-3.0.0"
       sources."braces-3.0.2"
@@ -87943,7 +87102,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.31"
+      sources."@types/node-17.0.32"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -87997,7 +87156,7 @@ in
       sources."formidable-1.2.6"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
-      sources."globalthis-1.0.2"
+      sources."globalthis-1.0.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
       sources."has-flag-3.0.0"
@@ -88208,10 +87367,10 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "5.19.7";
+    version = "5.20.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-5.19.7.tgz";
-      sha512 = "7/y+k708tv68+5lpN23Ew1/djx/EnG838zZ8W2ZDWCc6uRHutqRhpxsjMZr/MT3RHN44iKUj2MgT5+sfnhr4eg==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-5.20.0.tgz";
+      sha512 = "lXAS14ZlfJfOI3FgoAAfyl/AlTB8T+ayHmKrHxwuRRUvN4IBT4y8d7tdjWDj7/bsM4u5M5WrlAXg6vXH3Fg5bA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -88226,9 +87385,9 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-5.19.7"
-      sources."@cspell/cspell-pipe-5.19.7"
-      sources."@cspell/cspell-types-5.19.7"
+      sources."@cspell/cspell-bundled-dicts-5.20.0"
+      sources."@cspell/cspell-pipe-5.20.0"
+      sources."@cspell/cspell-types-5.20.0"
       sources."@cspell/dict-ada-2.0.0"
       sources."@cspell/dict-aws-2.0.0"
       sources."@cspell/dict-bash-2.0.2"
@@ -88242,10 +87401,10 @@ in
       sources."@cspell/dict-dotnet-2.0.1"
       sources."@cspell/dict-elixir-2.0.1"
       sources."@cspell/dict-en-gb-1.1.33"
-      sources."@cspell/dict-en_us-2.2.1"
+      sources."@cspell/dict-en_us-2.2.4"
       sources."@cspell/dict-filetypes-2.0.1"
       sources."@cspell/dict-fonts-2.0.0"
-      sources."@cspell/dict-fullstack-2.0.4"
+      sources."@cspell/dict-fullstack-2.0.5"
       sources."@cspell/dict-git-1.0.1"
       sources."@cspell/dict-golang-2.0.0"
       sources."@cspell/dict-haskell-2.0.0"
@@ -88256,16 +87415,16 @@ in
       sources."@cspell/dict-lorem-ipsum-2.0.0"
       sources."@cspell/dict-lua-2.0.0"
       sources."@cspell/dict-node-2.0.1"
-      sources."@cspell/dict-npm-2.0.2"
+      sources."@cspell/dict-npm-2.0.3"
       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.6"
+      sources."@cspell/dict-python-3.0.3"
       sources."@cspell/dict-r-1.0.2"
       sources."@cspell/dict-ruby-2.0.1"
       sources."@cspell/dict-rust-2.0.0"
       sources."@cspell/dict-scala-2.0.0"
-      sources."@cspell/dict-software-terms-2.1.4"
+      sources."@cspell/dict-software-terms-2.1.5"
       sources."@cspell/dict-swift-1.0.2"
       sources."@cspell/dict-typescript-2.0.0"
       sources."@cspell/dict-vue-2.0.2"
@@ -88288,11 +87447,11 @@ in
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-7.0.1"
       sources."crypto-random-string-2.0.0"
-      sources."cspell-gitignore-5.19.7"
-      sources."cspell-glob-5.19.7"
-      sources."cspell-io-5.19.7"
-      sources."cspell-lib-5.19.7"
-      sources."cspell-trie-lib-5.19.7"
+      sources."cspell-gitignore-5.20.0"
+      sources."cspell-glob-5.20.0"
+      sources."cspell-io-5.20.0"
+      sources."cspell-lib-5.20.0"
+      sources."cspell-trie-lib-5.20.0"
       sources."dot-prop-5.3.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
@@ -88308,7 +87467,12 @@ in
       sources."fs.realpath-1.0.0"
       sources."gensequence-3.1.1"
       sources."get-stdin-8.0.0"
-      sources."glob-7.2.0"
+      (sources."glob-8.0.2" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."minimatch-5.0.1"
+        ];
+      })
       sources."global-dirs-0.1.1"
       sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
@@ -88352,7 +87516,11 @@ in
       sources."repeat-string-1.6.1"
       sources."resolve-from-5.0.0"
       sources."resolve-global-1.0.0"
-      sources."rimraf-3.0.2"
+      (sources."rimraf-3.0.2" // {
+        dependencies = [
+          sources."glob-7.2.0"
+        ];
+      })
       sources."semver-7.3.7"
       sources."signal-exit-3.0.7"
       sources."strip-ansi-6.0.1"
@@ -88424,7 +87592,7 @@ in
         ];
       })
       sources."@hyperswarm/network-2.1.0"
-      sources."@leichtgewicht/ip-codec-2.0.3"
+      sources."@leichtgewicht/ip-codec-2.0.4"
       sources."abstract-random-access-1.1.2"
       sources."ajv-6.12.6"
       sources."ansi-align-2.0.0"
@@ -89153,17 +88321,17 @@ in
       sources."@babel/template-7.16.7"
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
-      sources."@blueprintjs/colors-4.1.1"
+      sources."@blueprintjs/colors-4.1.2"
       sources."@blueprintjs/core-3.54.0"
       sources."@blueprintjs/icons-3.33.0"
       sources."@deltachat/message_parser_wasm-0.3.0"
       sources."@electron/get-1.14.1"
       sources."@hypnosphi/create-react-context-0.3.1"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@juggle/resize-observer-3.3.1"
       sources."@mapbox/extent-0.4.0"
       sources."@mapbox/geojson-coords-0.0.2"
@@ -89187,12 +88355,12 @@ in
       sources."@types/mapbox-gl-0.54.5"
       sources."@types/mime-types-2.1.1"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-14.18.16"
+      sources."@types/node-14.18.17"
       sources."@types/node-fetch-2.6.1"
       sources."@types/prop-types-15.7.5"
       sources."@types/rc-1.2.1"
-      sources."@types/react-16.14.25"
-      sources."@types/react-dom-16.9.15"
+      sources."@types/react-16.14.26"
+      sources."@types/react-dom-16.9.16"
       sources."@types/react-window-1.8.5"
       sources."@types/react-window-infinite-loader-1.0.6"
       sources."@types/scheduler-0.16.2"
@@ -89244,7 +88412,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -89285,7 +88453,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.22.3" // {
+      (sources."core-js-compat-3.22.5" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -89311,7 +88479,7 @@ in
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
       sources."electron-14.2.9"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -89398,7 +88566,7 @@ in
       })
       sources."global-tunnel-ng-2.7.1"
       sources."globals-11.12.0"
-      sources."globalthis-1.0.2"
+      sources."globalthis-1.0.3"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
@@ -89551,7 +88719,7 @@ in
       sources."react-popper-1.3.11"
       sources."react-qr-reader-2.2.1"
       sources."react-qr-svg-2.4.0"
-      sources."react-string-replace-1.0.0"
+      sources."react-string-replace-1.1.0"
       sources."react-transition-group-2.9.0"
       sources."react-virtualized-auto-sizer-1.0.6"
       sources."react-window-1.8.7"
@@ -89836,11 +89004,11 @@ in
       sources."tslib-1.14.1"
       sources."type-fest-0.16.0"
       sources."unique-string-2.0.0"
-      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-jsonrpc-8.0.1"
       sources."vscode-languageserver-6.1.1"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-2.1.2"
       sources."wrappy-1.0.2"
     ];
@@ -89857,20 +89025,20 @@ in
   dockerfile-language-server-nodejs = nodeEnv.buildNodePackage {
     name = "dockerfile-language-server-nodejs";
     packageName = "dockerfile-language-server-nodejs";
-    version = "0.8.0";
+    version = "0.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.8.0.tgz";
-      sha512 = "7oxOu3PWDzsTkLbUIm1O61rgdNiM9j9tAt+T0R5m0TFG0NYypYBM77pfzAYmQFpHGHAstCtOaEYzEnp0IkRCnQ==";
+      url = "https://registry.npmjs.org/dockerfile-language-server-nodejs/-/dockerfile-language-server-nodejs-0.9.0.tgz";
+      sha512 = "QPWcUxbbNTaWaRQrJKUBmCXI6iE8l7f81bCVaZizCIkVg4py/4o2mho+AKlLUsZcCml5ss8MkJ257SFV2BZWCg==";
     };
     dependencies = [
       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.8"
-      sources."vscode-languageserver-8.0.0-next.14"
-      (sources."vscode-languageserver-protocol-3.17.0-next.20" // {
+      sources."dockerfile-language-service-0.9.0"
+      sources."dockerfile-utils-0.10.0"
+      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-languageserver-8.0.1"
+      (sources."vscode-languageserver-protocol-3.17.1" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.12"
+          sources."vscode-languageserver-types-3.17.1"
         ];
       })
       sources."vscode-languageserver-textdocument-1.0.4"
@@ -89897,7 +89065,7 @@ in
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.16"
+      sources."@types/node-14.18.17"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
@@ -89934,7 +89102,7 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."http-signature-1.2.0"
-      sources."http-status-1.5.1"
+      sources."http-status-1.5.2"
       sources."ieee754-1.1.13"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
@@ -90106,7 +89274,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.10.0"
       sources."abbrev-1.1.1"
@@ -90173,7 +89341,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commander-4.1.1"
       sources."compare-version-0.1.2"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."config-chain-1.1.13"
       sources."console-control-strings-1.1.0"
@@ -90322,7 +89490,7 @@ in
         ];
       })
       sources."global-tunnel-ng-2.7.1"
-      sources."globalthis-1.0.2"
+      sources."globalthis-1.0.3"
       sources."got-11.8.3"
       sources."graceful-fs-4.2.10"
       sources."graceful-readlink-1.0.1"
@@ -90350,7 +89518,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inquirer-8.2.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-arrayish-0.2.1"
       sources."is-core-module-2.9.0"
       sources."is-docker-2.2.1"
@@ -90377,7 +89545,7 @@ in
       sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       sources."junk-3.1.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.7"
       sources."load-json-file-2.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.21"
@@ -90605,7 +89773,7 @@ in
       sources."xtend-2.1.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      (sources."yargs-17.4.1" // {
+      (sources."yargs-17.5.0" // {
         dependencies = [
           sources."yargs-parser-21.0.1"
         ];
@@ -90699,10 +89867,10 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yoga-layout-1.9.2"
@@ -90727,7 +89895,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -90756,7 +89924,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -90881,7 +90049,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.24.4"
+      sources."react-devtools-core-4.24.6"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
@@ -91025,7 +90193,7 @@ in
       sources."@fluentui/foundation-legacy-8.2.6"
       sources."@fluentui/keyboard-key-0.4.0"
       sources."@fluentui/merge-styles-8.5.1"
-      sources."@fluentui/react-8.67.2"
+      sources."@fluentui/react-8.67.4"
       sources."@fluentui/react-focus-8.5.7"
       sources."@fluentui/react-hooks-8.5.4"
       sources."@fluentui/react-window-provider-2.2.0"
@@ -91054,7 +90222,7 @@ in
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@microsoft/load-themed-styles-1.10.260"
+      sources."@microsoft/load-themed-styles-1.10.263"
       sources."@node-rs/crc32-1.5.0"
       sources."@node-rs/crc32-android-arm-eabi-1.5.0"
       sources."@node-rs/crc32-android-arm64-1.5.0"
@@ -91598,7 +90766,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       sources."for-own-1.0.0"
       sources."forever-agent-0.6.1"
@@ -91626,7 +90794,7 @@ in
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
-      sources."glob-8.0.1"
+      sources."glob-8.0.2"
       sources."glob-parent-5.1.2"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
@@ -91643,7 +90811,7 @@ in
       sources."glob-watcher-5.0.5"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."globby-11.1.0"
       sources."glogg-1.0.2"
       sources."got-9.6.0"
@@ -91796,7 +90964,7 @@ in
       sources."interpret-1.4.0"
       sources."inversify-5.1.1"
       sources."invert-kv-1.0.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-num-1.4.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
@@ -91971,7 +91139,7 @@ in
             ];
           })
           sources."openapi-types-7.2.3"
-          sources."swagger-ui-dist-4.10.3"
+          sources."swagger-ui-dist-4.11.0"
         ];
       })
       (sources."mixin-deep-1.3.2" // {
@@ -91980,7 +91148,7 @@ in
         ];
       })
       sources."mkdirp-1.0.4"
-      sources."mongodb-4.5.0"
+      sources."mongodb-4.6.0"
       sources."mongodb-connection-string-url-2.5.2"
       (sources."morgan-1.10.0" // {
         dependencies = [
@@ -92570,7 +91738,7 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."yargs-17.4.1" // {
+      (sources."yargs-17.5.0" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
           sources."is-fullwidth-code-point-3.0.0"
@@ -92645,14 +91813,14 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.3"
-      sources."@types/http-proxy-1.17.8"
+      sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/json-stable-stringify-1.0.33"
       sources."@types/lodash-4.14.178"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
@@ -92967,7 +92135,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -93208,7 +92376,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -93234,7 +92402,7 @@ in
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
       sources."error-stack-parser-2.0.7"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."es6-promise-4.2.8"
       sources."escalade-3.1.1"
@@ -93306,7 +92474,7 @@ in
       sources."eventemitter2-6.4.5"
       sources."eventemitter3-4.0.7"
       sources."events-3.3.0"
-      sources."eventsource-1.1.0"
+      sources."eventsource-1.1.1"
       sources."evp_bytestokey-1.0.3"
       sources."execa-1.0.0"
       (sources."expand-brackets-2.1.4" // {
@@ -93383,7 +92551,7 @@ in
       })
       sources."flatted-3.2.5"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       sources."forever-agent-0.6.1"
       (sources."fork-ts-checker-webpack-plugin-3.1.1" // {
@@ -93420,6 +92588,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functional-red-black-tree-1.0.1"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
@@ -93432,7 +92601,7 @@ in
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.3.0"
-      (sources."globals-13.13.0" // {
+      (sources."globals-13.15.0" // {
         dependencies = [
           sources."type-fest-0.20.2"
         ];
@@ -93558,7 +92727,7 @@ in
       sources."internal-slot-1.0.3"
       sources."interpret-1.4.0"
       sources."inversify-6.0.1"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
@@ -94205,8 +93374,8 @@ in
       sources."stream-shift-1.0.1"
       sources."strict-uri-encode-1.1.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -94575,13 +93744,13 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.14.0";
+    version = "8.15.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
-      sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.15.0.tgz";
+      sha512 = "GG5USZ1jhCu8HJkzGgeK8/+RGnHaNYZGrGDzUtigK3BsGESW/rs2az23XqE0WVwDxy1VRvvjSSGu5nB0Bu+6SA==";
     };
     dependencies = [
-      sources."@eslint/eslintrc-1.2.2"
+      sources."@eslint/eslintrc-1.2.3"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
       sources."acorn-8.7.1"
@@ -94609,7 +93778,7 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.1"
+      sources."espree-9.3.2"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
@@ -94624,7 +93793,7 @@ in
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-6.0.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
@@ -94685,7 +93854,7 @@ in
       sha512 = "mRttHSO/sC6oxnfdlnLUTfB1sI2ApmbPAHSNx60+8jQmwwvEZjUv4WDmv20g7i9DSBuK8Y5boTyz4ijBAujk0Q==";
     };
     dependencies = [
-      sources."@eslint/eslintrc-1.2.2"
+      sources."@eslint/eslintrc-1.2.3"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
       sources."acorn-8.7.1"
@@ -94711,7 +93880,7 @@ in
       sources."deep-is-0.1.4"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-8.14.0"
+      sources."eslint-8.15.0"
       sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -94719,7 +93888,7 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.1"
+      sources."espree-9.3.2"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
@@ -94734,7 +93903,7 @@ in
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-6.0.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
@@ -94895,7 +94064,7 @@ in
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
       sources."@expo/webpack-config-0.16.23"
-      (sources."@expo/xcpretty-4.1.1" // {
+      (sources."@expo/xcpretty-4.1.2" // {
         dependencies = [
           sources."js-yaml-4.1.0"
         ];
@@ -94904,8 +94073,8 @@ in
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -95123,7 +94292,7 @@ in
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -95204,7 +94373,7 @@ in
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
       sources."component-type-1.2.1"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
         dependencies = [
@@ -95382,7 +94551,7 @@ in
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -95402,7 +94571,7 @@ in
       sources."eol-0.9.1"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -95418,7 +94587,7 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-2.0.3"
       sources."events-3.3.0"
-      sources."eventsource-1.1.0"
+      sources."eventsource-1.1.1"
       sources."evp_bytestokey-1.0.3"
       sources."exec-async-2.2.0"
       (sources."execa-1.0.0" // {
@@ -95447,7 +94616,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-modules-autolinking-0.7.0" // {
+      (sources."expo-modules-autolinking-0.7.1" // {
         dependencies = [
           sources."commander-7.2.0"
           sources."fs-extra-9.1.0"
@@ -95513,7 +94682,7 @@ 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.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
         dependencies = [
@@ -95558,6 +94727,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
@@ -95683,7 +94853,7 @@ in
       sources."ini-1.3.8"
       sources."internal-ip-4.3.0"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
@@ -95792,7 +94962,7 @@ in
       sources."json5-1.0.1"
       sources."jsonfile-6.1.0"
       sources."keychain-1.3.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.7"
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
@@ -96498,8 +95668,8 @@ in
       })
       sources."stream-shift-1.0.1"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-6.0.1"
       sources."strip-eof-1.0.0"
@@ -96854,7 +96024,7 @@ in
       })
       (sources."xdl-59.2.36" // {
         dependencies = [
-          sources."bplist-parser-0.3.1"
+          sources."bplist-parser-0.3.2"
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
           sources."minimatch-3.0.4"
@@ -96946,12 +96116,12 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.10.0"
       sources."@types/yoga-layout-1.9.2"
@@ -96978,7 +96148,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -97003,7 +96173,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.981744"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -97100,7 +96270,7 @@ in
       })
       sources."quick-lru-4.0.1"
       sources."react-17.0.2"
-      sources."react-devtools-core-4.24.4"
+      sources."react-devtools-core-4.24.6"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -97580,10 +96750,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "10.7.2";
+    version = "10.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.7.2.tgz";
-      sha512 = "KU6cQ9XPBn2++gMBkR393LYbl4YEbKbHG/KsUR/JnfB2p5rhSPL/X4TntIl59QFs5527+VcLpeeeRRIB4Z9wUw==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.9.2.tgz";
+      sha512 = "oH5AV7mnoIhVsgFT5QI/HeMh7bfpbr60Siw0tbD5FB4xtaqYyyPC42W6/unbLMxlM6qNH3rHe1+PZmU2z7NeWA==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -97598,7 +96768,7 @@ in
       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.19.3"
+      sources."@google-cloud/pubsub-2.19.4"
       sources."@grpc/grpc-js-1.6.7"
       sources."@grpc/proto-loader-0.6.9"
       sources."@jsdevtools/ono-7.1.3"
@@ -97630,7 +96800,7 @@ in
       sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.11"
       sources."@types/long-4.0.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
@@ -97905,14 +97075,24 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."firebase-frameworks-0.3.0"
+      (sources."firebase-frameworks-0.4.2" // {
+        dependencies = [
+          sources."fs-extra-10.1.0"
+          sources."semver-7.3.7"
+        ];
+      })
       sources."fn.name-1.1.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-constants-1.0.0"
-      sources."fs-extra-5.0.0"
+      (sources."fs-extra-5.0.0" // {
+        dependencies = [
+          sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
+        ];
+      })
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -97938,6 +97118,8 @@ in
       (sources."get-uri-3.0.2" // {
         dependencies = [
           sources."fs-extra-8.1.0"
+          sources."jsonfile-4.0.0"
+          sources."universalify-0.1.2"
         ];
       })
       sources."getpass-0.1.7"
@@ -97947,7 +97129,7 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-7.14.1"
-      sources."google-gax-2.30.2"
+      sources."google-gax-2.30.3"
       sources."google-p12-pem-3.1.4"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
@@ -97981,7 +97163,7 @@ in
       sources."ini-1.3.7"
       sources."inquirer-8.2.4"
       sources."install-artifact-from-github-1.3.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-4.3.0"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.3.2"
@@ -98024,7 +97206,8 @@ in
       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."jsonc-parser-3.0.0"
+      sources."jsonfile-6.1.0"
       (sources."jsonwebtoken-8.5.1" // {
         dependencies = [
           sources."jwa-1.4.1"
@@ -98079,7 +97262,7 @@ in
           sources."socks-proxy-agent-6.2.0"
         ];
       })
-      sources."marked-4.0.14"
+      sources."marked-4.0.15"
       (sources."marked-terminal-3.3.0" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
@@ -98353,7 +97536,7 @@ in
       sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
       sources."universal-analytics-0.5.3"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
       (sources."unzipper-0.10.11" // {
         dependencies = [
@@ -98493,7 +97676,7 @@ in
       })
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
-      sources."aggregate-error-4.0.0"
+      sources."aggregate-error-4.0.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -98703,7 +97886,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.31"
+      sources."@types/node-17.0.32"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -99036,7 +98219,7 @@ in
       sources."dot-prop-4.2.1"
       sources."duplexer-0.1.2"
       sources."enabled-2.0.0"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."event-stream-3.3.4"
@@ -99080,13 +98263,14 @@ in
       sources."flatiron-0.4.3"
       sources."fn.name-1.1.0"
       sources."for-in-1.0.2"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."forever-monitor-3.0.3"
       sources."fragment-cache-0.2.1"
       sources."from-0.1.7"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
@@ -99316,8 +98500,8 @@ in
         ];
       })
       sources."stream-combiner-0.0.4"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       sources."strip-json-comments-2.0.1"
       sources."text-hex-1.0.0"
@@ -99470,10 +98654,10 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.13.0";
+    version = "4.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.13.0.tgz";
-      sha512 = "xxO+869h6QmQnkuT9Bk9DFpKFvjPDVMjmhq8+44QbxKqrjTt/3Hz5rqnFvhmxUyhr/JyczRRL2HwaTBOEzixPQ==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.14.0.tgz";
+      sha512 = "jmLhrBNguZM8ldKpt1dmxbEZ4j/OtEdE1IpUCHoLGoCIZ7QGtleA2WHhn0R4GnoY0FVP7+pGWcmPpBXo63DBXA==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
@@ -99522,10 +98706,10 @@ in
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@sideway/address-4.1.4"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
@@ -99539,7 +98723,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/node-fetch-2.6.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -99568,7 +98752,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -99601,12 +98785,12 @@ in
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.8"
       sources."common-tags-1.8.2"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.8.0"
-      sources."create-gatsby-2.13.0"
+      sources."create-gatsby-2.14.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -99633,7 +98817,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -99668,8 +98852,8 @@ in
       sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.13.0"
-      (sources."gatsby-telemetry-3.13.0" // {
+      sources."gatsby-core-utils-3.14.0"
+      (sources."gatsby-telemetry-3.14.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -99733,16 +98917,16 @@ in
       sources."json-buffer-3.0.1"
       sources."json5-2.2.1"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.7"
       sources."kleur-3.0.3"
       sources."latest-version-5.1.0"
-      sources."lmdb-2.3.8"
-      sources."lmdb-darwin-arm64-2.3.8"
-      sources."lmdb-darwin-x64-2.3.8"
-      sources."lmdb-linux-arm-2.3.8"
-      sources."lmdb-linux-arm64-2.3.8"
-      sources."lmdb-linux-x64-2.3.8"
-      sources."lmdb-win32-x64-2.3.8"
+      sources."lmdb-2.3.10"
+      sources."lmdb-darwin-arm64-2.3.10"
+      sources."lmdb-darwin-x64-2.3.10"
+      sources."lmdb-linux-arm-2.3.10"
+      sources."lmdb-linux-arm64-2.3.10"
+      sources."lmdb-linux-x64-2.3.10"
+      sources."lmdb-win32-x64-2.3.10"
       sources."locate-path-5.0.0"
       sources."lock-1.1.0"
       sources."lodash-4.17.21"
@@ -99762,7 +98946,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
       sources."ms-2.1.2"
-      sources."msgpackr-1.5.6"
+      sources."msgpackr-1.5.7"
       sources."msgpackr-extract-1.1.4"
       sources."msgpackr-extract-darwin-arm64-1.1.0"
       sources."msgpackr-extract-darwin-x64-1.1.0"
@@ -100232,7 +99416,7 @@ in
       sources."increment-buffer-1.0.1"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-canonical-base64-1.1.1"
       sources."is-my-ip-valid-1.0.1"
       sources."is-my-json-valid-2.20.6"
@@ -100426,7 +99610,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -100445,7 +99629,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."decode-uri-component-0.2.0"
       (sources."decompress-response-6.0.0" // {
         dependencies = [
@@ -100473,7 +99657,7 @@ in
       sources."is-interactive-2.0.0"
       sources."is-unicode-supported-1.2.0"
       sources."json-buffer-3.0.1"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.7"
       sources."li-1.3.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
@@ -100680,7 +99864,7 @@ in
         ];
       })
       sources."inquirer-autocomplete-prompt-2.0.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-arrayish-0.2.1"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.9.0"
@@ -100887,10 +100071,10 @@ in
   glob = nodeEnv.buildNodePackage {
     name = "glob";
     packageName = "glob";
-    version = "8.0.1";
+    version = "8.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-8.0.1.tgz";
-      sha512 = "cF7FYZZ47YzmCu7dDy50xSRRfO3ErRfrXuLZcNIuyiJEco0XSrGtuilG19L5xp3NcwTx7Gn+X6Tv3fmsUPTbow==";
+      url = "https://registry.npmjs.org/glob/-/glob-8.0.2.tgz";
+      sha512 = "0jzor6jfIKaDg/2FIN+9L8oDxzHTkI/+vwJimOmOZjaVjFVVZJFojOYbbWC0okXbBVSgYpbcuQ7xy6gDP9f8gw==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
@@ -100900,7 +100084,6 @@ in
       sources."inherits-2.0.4"
       sources."minimatch-5.0.1"
       sources."once-1.4.0"
-      sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -101058,7 +100241,7 @@ in
       sources."wrappy-1.0.2"
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
       sources."yauzl-2.10.0"
     ];
@@ -101125,10 +100308,10 @@ in
           sources."tslib-2.1.0"
         ];
       })
-      (sources."@graphql-tools/import-6.6.13" // {
+      (sources."@graphql-tools/import-6.6.14" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.6.9"
-          sources."tslib-2.3.1"
+          sources."@graphql-tools/utils-8.6.10"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@graphql-tools/json-file-loader-6.2.6" // {
@@ -101152,11 +100335,11 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@graphql-tools/schema-8.3.10" // {
+      (sources."@graphql-tools/schema-8.3.11" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.10"
-          sources."@graphql-tools/utils-8.6.9"
-          sources."tslib-2.3.1"
+          sources."@graphql-tools/merge-8.2.11"
+          sources."@graphql-tools/utils-8.6.10"
+          sources."tslib-2.4.0"
         ];
       })
       (sources."@graphql-tools/url-loader-6.10.1" // {
@@ -101186,7 +100369,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.31"
+      sources."@types/node-17.0.32"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -101280,7 +100463,7 @@ in
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."es6-promise-3.3.1"
@@ -101307,7 +100490,7 @@ in
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
       sources."filter-obj-2.0.2"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."form-urlencoded-4.5.1"
@@ -101316,6 +100499,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fullname-4.0.1"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -101484,7 +100668,7 @@ in
       sources."oas-linter-3.2.2"
       (sources."oas-resolver-2.5.6" // {
         dependencies = [
-          sources."yargs-17.4.1"
+          sources."yargs-17.5.0"
         ];
       })
       sources."oas-schema-walker-1.1.5"
@@ -101588,8 +100772,8 @@ in
           sources."strip-ansi-6.0.1"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."strip-ansi-5.2.0"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
@@ -101597,7 +100781,7 @@ in
       sources."supports-color-7.2.0"
       (sources."swagger2openapi-7.0.8" // {
         dependencies = [
-          sources."yargs-17.4.1"
+          sources."yargs-17.5.0"
         ];
       })
       sources."symbol-observable-1.2.0"
@@ -101678,61 +100862,21 @@ in
       })
       sources."@cronvel/get-pixels-3.4.0"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
-      (sources."@graphql-tools/batch-execute-8.4.6" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/delegate-8.7.7" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/graphql-file-loader-7.3.11" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/import-6.6.13" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/json-file-loader-7.3.11" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/load-7.5.10" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/merge-8.2.10" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/schema-8.3.10" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/url-loader-7.9.17" // {
+      sources."@graphql-tools/batch-execute-8.4.7"
+      sources."@graphql-tools/delegate-8.7.8"
+      sources."@graphql-tools/graphql-file-loader-7.3.12"
+      sources."@graphql-tools/import-6.6.14"
+      sources."@graphql-tools/json-file-loader-7.3.12"
+      sources."@graphql-tools/load-7.5.11"
+      sources."@graphql-tools/merge-8.2.11"
+      sources."@graphql-tools/schema-8.3.11"
+      (sources."@graphql-tools/url-loader-7.9.21" // {
         dependencies = [
           sources."ws-8.6.0"
         ];
       })
-      (sources."@graphql-tools/utils-8.6.9" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
-      (sources."@graphql-tools/wrap-8.4.16" // {
-        dependencies = [
-          sources."tslib-2.3.1"
-        ];
-      })
+      sources."@graphql-tools/utils-8.6.10"
+      sources."@graphql-tools/wrap-8.4.17"
       sources."@iarna/toml-2.2.5"
       sources."@n1ru4l/graphql-live-query-0.9.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -101768,7 +100912,7 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/parse-json-4.0.0"
       sources."@types/ws-8.5.3"
       sources."abort-controller-3.0.0"
@@ -101794,6 +100938,7 @@ in
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
+      sources."busboy-1.6.0"
       sources."bytes-3.0.0"
       sources."callsites-3.1.0"
       sources."cardinal-2.1.1"
@@ -101834,7 +100979,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."cross-undici-fetch-0.3.3"
+      sources."cross-undici-fetch-0.4.3"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.1.0"
       sources."debug-4.3.4"
@@ -101842,7 +100987,7 @@ in
       sources."destroy-1.0.4"
       sources."diff-4.0.2"
       sources."dir-glob-3.0.1"
-      sources."dset-3.1.1"
+      sources."dset-3.1.2"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
@@ -101893,7 +101038,7 @@ in
       sources."graphql-language-service-parser-1.10.4"
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
-      sources."graphql-ws-5.8.1"
+      sources."graphql-ws-5.8.2"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
       sources."hyperlinker-1.0.0"
@@ -102002,6 +101147,7 @@ in
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."statuses-1.4.0"
+      sources."streamsearch-1.1.0"
       sources."string-env-interpolation-1.0.1"
       sources."string-kit-0.11.10"
       sources."string-width-4.2.3"
@@ -102032,7 +101178,7 @@ in
       sources."ts-node-9.1.1"
       sources."tslib-2.4.0"
       sources."type-is-1.6.18"
-      sources."undici-5.1.0"
+      sources."undici-5.2.0"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
@@ -102040,7 +101186,7 @@ in
       sources."utils-merge-1.0.1"
       sources."value-or-promise-1.0.11"
       sources."vary-1.1.2"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."web-streams-polyfill-3.2.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-fetch-3.6.2"
@@ -102332,7 +101478,7 @@ in
       sources."isarray-0.0.1"
       sources."lodash-4.17.21"
       sources."map-canvas-0.1.5"
-      sources."marked-4.0.14"
+      sources."marked-4.0.15"
       (sources."marked-terminal-5.1.1" // {
         dependencies = [
           sources."chalk-5.0.1"
@@ -102363,7 +101509,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.11.14"
+      sources."systeminformation-5.11.15"
       sources."term-canvas-0.0.5"
       sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
@@ -103263,7 +102409,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -103342,7 +102488,7 @@ in
       sources."corser-2.0.1"
       sources."debug-3.2.7"
       sources."eventemitter3-4.0.7"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
@@ -103555,7 +102701,7 @@ in
       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.16"
+      sources."@types/node-14.18.17"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -103564,7 +102710,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1125.0"
+      sources."aws-sdk-2.1134.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -103666,7 +102812,7 @@ in
       sources."lodash.reject-4.6.0"
       sources."lodash.some-4.6.0"
       sources."lodash.uniq-4.5.0"
-      sources."marked-4.0.14"
+      sources."marked-4.0.15"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimist-1.2.6"
@@ -104135,7 +103281,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.32.1"
+      sources."jquery.terminal-2.33.1"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -104350,12 +103496,12 @@ in
       sources."verror-1.10.0"
       (sources."vscode-css-languageservice-5.4.2" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.16.0"
+          sources."vscode-languageserver-types-3.17.1"
         ];
       })
       (sources."vscode-html-languageservice-4.2.5" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.16.0"
+          sources."vscode-languageserver-types-3.17.1"
         ];
       })
       sources."vscode-jsonrpc-6.0.0"
@@ -104519,7 +103665,7 @@ in
           sources."restore-cursor-3.1.0"
         ];
       })
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-stream-1.1.0"
@@ -104840,7 +103986,7 @@ in
       sources."universalify-2.0.0"
       (sources."verda-1.5.0" // {
         dependencies = [
-          sources."yargs-17.4.1"
+          sources."yargs-17.5.0"
           sources."yargs-parser-21.0.1"
         ];
       })
@@ -104879,7 +104025,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      (sources."filelist-1.0.3" // {
+      (sources."filelist-1.0.4" // {
         dependencies = [
           sources."minimatch-5.0.1"
         ];
@@ -104973,7 +104119,7 @@ in
           sources."vscode-languageserver-types-3.14.0"
         ];
       })
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-1.0.8"
       sources."wrappy-1.0.2"
       sources."xorshift-1.2.0"
@@ -105041,16 +104187,16 @@ in
       sources."@aws-sdk/abort-controller-3.78.0"
       sources."@aws-sdk/chunked-blob-reader-3.55.0"
       sources."@aws-sdk/chunked-blob-reader-native-3.58.0"
-      sources."@aws-sdk/client-s3-3.81.0"
-      sources."@aws-sdk/client-sso-3.81.0"
-      sources."@aws-sdk/client-sts-3.81.0"
+      sources."@aws-sdk/client-s3-3.88.0"
+      sources."@aws-sdk/client-sso-3.85.0"
+      sources."@aws-sdk/client-sts-3.87.0"
       sources."@aws-sdk/config-resolver-3.80.0"
       sources."@aws-sdk/credential-provider-env-3.78.0"
       sources."@aws-sdk/credential-provider-imds-3.81.0"
-      sources."@aws-sdk/credential-provider-ini-3.81.0"
-      sources."@aws-sdk/credential-provider-node-3.81.0"
+      sources."@aws-sdk/credential-provider-ini-3.85.0"
+      sources."@aws-sdk/credential-provider-node-3.87.0"
       sources."@aws-sdk/credential-provider-process-3.80.0"
-      sources."@aws-sdk/credential-provider-sso-3.81.0"
+      sources."@aws-sdk/credential-provider-sso-3.85.0"
       sources."@aws-sdk/credential-provider-web-identity-3.78.0"
       sources."@aws-sdk/eventstream-marshaller-3.78.0"
       sources."@aws-sdk/eventstream-serde-browser-3.78.0"
@@ -105077,7 +104223,7 @@ in
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.78.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.86.0"
       sources."@aws-sdk/middleware-sdk-sts-3.78.0"
       sources."@aws-sdk/middleware-serde-3.78.0"
       sources."@aws-sdk/middleware-signing-3.78.0"
@@ -105085,17 +104231,17 @@ in
       sources."@aws-sdk/middleware-stack-3.78.0"
       sources."@aws-sdk/middleware-user-agent-3.78.0"
       sources."@aws-sdk/node-config-provider-3.80.0"
-      sources."@aws-sdk/node-http-handler-3.78.0"
+      sources."@aws-sdk/node-http-handler-3.82.0"
       sources."@aws-sdk/property-provider-3.78.0"
       sources."@aws-sdk/protocol-http-3.78.0"
       sources."@aws-sdk/querystring-builder-3.78.0"
       sources."@aws-sdk/querystring-parser-3.78.0"
-      sources."@aws-sdk/s3-request-presigner-3.81.0"
+      sources."@aws-sdk/s3-request-presigner-3.88.0"
       sources."@aws-sdk/service-error-classification-3.78.0"
       sources."@aws-sdk/shared-ini-file-loader-3.80.0"
       sources."@aws-sdk/signature-v4-3.78.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.78.0"
-      sources."@aws-sdk/smithy-client-3.78.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.88.0"
+      sources."@aws-sdk/smithy-client-3.85.0"
       sources."@aws-sdk/types-3.78.0"
       sources."@aws-sdk/url-parser-3.78.0"
       sources."@aws-sdk/util-arn-parser-3.55.0"
@@ -105105,9 +104251,9 @@ in
       sources."@aws-sdk/util-body-length-node-3.55.0"
       sources."@aws-sdk/util-buffer-from-3.55.0"
       sources."@aws-sdk/util-config-provider-3.55.0"
-      sources."@aws-sdk/util-create-request-3.78.0"
-      sources."@aws-sdk/util-defaults-mode-browser-3.78.0"
-      sources."@aws-sdk/util-defaults-mode-node-3.81.0"
+      sources."@aws-sdk/util-create-request-3.85.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.85.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.85.0"
       sources."@aws-sdk/util-format-url-3.78.0"
       sources."@aws-sdk/util-hex-encoding-3.58.0"
       sources."@aws-sdk/util-locate-window-3.55.0"
@@ -105223,7 +104369,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1134.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -105250,7 +104396,7 @@ in
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
       sources."buffer-4.9.2"
-      sources."builtin-modules-3.2.0"
+      sources."builtin-modules-3.3.0"
       (sources."cacache-15.3.0" // {
         dependencies = [
           sources."chownr-2.0.0"
@@ -105440,7 +104586,7 @@ in
       sources."file-type-10.11.0"
       sources."fill-range-7.0.1"
       sources."find-up-2.1.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."font-awesome-filetypes-2.1.0"
       sources."for-each-property-0.0.4"
       sources."for-each-property-deep-0.0.3"
@@ -105540,7 +104686,7 @@ in
       })
       sources."internmap-2.0.3"
       sources."iota-array-1.0.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."is-absolute-0.2.6"
       sources."is-arrayish-0.3.2"
@@ -105683,7 +104829,7 @@ in
       sources."ms-2.1.2"
       sources."multiparty-4.2.3"
       sources."mustache-4.2.0"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
@@ -105856,7 +105002,7 @@ in
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      (sources."sqlite3-5.0.6" // {
+      (sources."sqlite3-5.0.8" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
@@ -106092,8 +105238,8 @@ in
       sources."linkify-it-3.0.3"
       sources."lodash-4.17.21"
       sources."markdown-it-12.3.2"
-      sources."markdown-it-anchor-8.6.2"
-      sources."marked-4.0.14"
+      sources."markdown-it-anchor-8.6.4"
+      sources."marked-4.0.15"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
@@ -106433,7 +105579,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."negotiator-0.6.3"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
@@ -106511,7 +105657,7 @@ in
       sources."xdg-basedir-4.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -107240,7 +106386,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."function-bind-1.1.1"
@@ -107394,7 +106540,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -107447,7 +106593,7 @@ in
         ];
       })
       sources."flatted-3.2.5"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fs-extra-10.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -107603,20 +106749,19 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@openpgp/hkp-client-0.0.2"
       sources."@openpgp/wkd-client-0.0.3"
-      sources."@peculiar/asn1-schema-2.1.0"
+      sources."@peculiar/asn1-schema-2.1.6"
       sources."@peculiar/json-schema-1.1.12"
-      sources."@peculiar/webcrypto-1.3.3"
+      sources."@peculiar/webcrypto-1.4.0"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/asn1js-2.0.2"
       sources."@xmpp/base64-0.13.1"
       sources."@xmpp/client-0.13.1"
       sources."@xmpp/client-core-0.13.1"
@@ -107667,7 +106812,7 @@ in
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
       sources."asn1.js-5.4.1"
-      sources."asn1js-2.4.0"
+      sources."asn1js-3.0.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."axios-0.25.0"
@@ -107694,7 +106839,7 @@ in
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
       sources."chownr-1.1.4"
@@ -107723,7 +106868,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
@@ -107762,12 +106907,12 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -107800,7 +106945,7 @@ in
       })
       sources."find-cache-dir-2.1.0"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -107819,6 +106964,8 @@ in
       sources."fs-readdir-recursive-1.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."strip-ansi-3.0.1"
@@ -107999,7 +107146,7 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."pvtsutils-1.2.2"
+      sources."pvtsutils-1.3.2"
       sources."pvutils-1.1.3"
       sources."qs-6.10.3"
       sources."query-string-6.14.1"
@@ -108010,6 +107157,7 @@ in
       sources."rc-1.2.8"
       sources."readable-stream-3.6.0"
       sources."regenerator-runtime-0.13.9"
+      sources."regexp.prototype.flags-1.4.3"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.0"
       sources."reusify-1.0.4"
@@ -108059,8 +107207,8 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
@@ -108097,7 +107245,7 @@ in
       sources."vary-1.1.2"
       sources."w3c-hr-time-1.0.2"
       sources."w3c-xmlserializer-2.0.0"
-      sources."webcrypto-core-1.7.3"
+      sources."webcrypto-core-1.7.5"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
@@ -108500,17 +107648,17 @@ in
   vsc-leetcode-cli = nodeEnv.buildNodePackage {
     name = "vsc-leetcode-cli";
     packageName = "vsc-leetcode-cli";
-    version = "2.8.0";
+    version = "2.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vsc-leetcode-cli/-/vsc-leetcode-cli-2.8.0.tgz";
-      sha512 = "KcFzpk3OZ+wUCoeK1yjBK0hYpJItYd8WFC7pQfE1zxJGjQs4tUvadLI5imKfRjw5NicjNRFnVpVv6N7ig7ik4A==";
+      url = "https://registry.npmjs.org/vsc-leetcode-cli/-/vsc-leetcode-cli-2.8.1.tgz";
+      sha512 = "C5q5wGeedHKJzs53/jrVWEeobRteB/libKrVHmLqE3zraKJBgteUN4LUNEYrAjU9O6yxgj/NPEWOLoEdRhwATw==";
     };
     dependencies = [
       sources."abab-1.0.4"
       sources."acorn-2.7.0"
       sources."acorn-globals-1.0.9"
       sources."ajv-6.12.6"
-      sources."ansi-regex-2.1.1"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
@@ -108522,15 +107670,14 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."boolbase-1.0.0"
       sources."brace-expansion-1.1.11"
-      sources."camelcase-2.1.1"
+      sources."camelcase-5.3.1"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."cheerio-0.20.0"
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.3.1"
-      sources."cliui-3.2.0"
+      sources."cliui-7.0.4"
       sources."clone-1.0.4"
-      sources."code-point-at-1.1.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colors-1.4.0"
@@ -108555,6 +107702,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
+      sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-1.14.3"
       sources."esprima-4.0.1"
@@ -108586,9 +107734,8 @@ in
       sources."i-0.3.7"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."invert-kv-1.0.0"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."ini-2.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-typedarray-1.0.0"
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
@@ -108598,7 +107745,6 @@ in
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsprim-1.4.2"
-      sources."lcid-1.0.0"
       sources."levn-0.3.0"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
@@ -108611,14 +107757,13 @@ in
       sources."mkdirp-1.0.4"
       sources."moment-2.29.3"
       sources."mute-stream-0.0.8"
-      (sources."nconf-0.10.0" // {
+      (sources."nconf-0.11.4" // {
         dependencies = [
-          sources."yargs-3.32.0"
+          sources."yargs-16.2.0"
         ];
       })
       sources."ncp-1.0.1"
       sources."nth-check-1.0.2"
-      sources."number-is-nan-1.0.1"
       sources."nwmatcher-1.4.4"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -108630,7 +107775,6 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."os-locale-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
@@ -108666,9 +107810,9 @@ in
       sources."source-map-0.6.1"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
-      sources."string-width-1.0.2"
+      sources."string-width-4.2.3"
       sources."string_decoder-0.10.31"
-      sources."strip-ansi-3.0.1"
+      sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
       sources."symbol-tree-3.2.4"
       sources."tough-cookie-2.5.0"
@@ -108694,7 +107838,6 @@ in
       sources."webidl-conversions-2.0.1"
       sources."whatwg-url-compat-0.6.5"
       sources."which-module-2.0.0"
-      sources."window-size-0.1.4"
       (sources."winston-2.1.1" // {
         dependencies = [
           sources."async-1.0.0"
@@ -108704,29 +107847,28 @@ in
       })
       sources."word-wrap-1.2.3"
       sources."wordwrap-1.0.0"
-      sources."wrap-ansi-2.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."wrappy-1.0.2"
       sources."xml-name-validator-2.0.1"
-      sources."y18n-3.2.2"
+      sources."y18n-5.0.8"
       (sources."yargs-15.4.1" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."ansi-styles-4.3.0"
           sources."cliui-6.0.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."strip-ansi-6.0.1"
           sources."wrap-ansi-6.2.0"
           sources."y18n-4.0.3"
+          sources."yargs-parser-18.1.3"
         ];
       })
-      (sources."yargs-parser-18.1.3" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-        ];
-      })
+      sources."yargs-parser-20.2.9"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -109014,7 +108156,7 @@ in
       sources."envinfo-7.8.1"
       sources."err-code-2.0.3"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -109041,6 +108183,8 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       (sources."gauge-2.7.4" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -109123,7 +108267,7 @@ in
       })
       sources."inquirer-7.3.3"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-arrayish-0.2.1"
       sources."is-bigint-1.0.4"
       sources."is-boolean-object-1.1.2"
@@ -109363,6 +108507,7 @@ in
       sources."readable-stream-3.6.0"
       sources."readdir-scoped-modules-1.1.0"
       sources."redent-3.0.0"
+      sources."regexp.prototype.flags-1.4.3"
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.0"
@@ -109402,8 +108547,8 @@ in
       sources."ssri-8.0.1"
       sources."strict-uri-encode-2.0.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-bom-4.0.0"
@@ -109434,7 +108579,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.2"
@@ -110420,1161 +109565,6 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "lumo-build-deps-../interpreters/clojurescript/lumo" = nodeEnv.buildNodePackage {
-    name = "lumo-build-deps";
-    packageName = "lumo-build-deps";
-    version = "1.10.1";
-    src = ../interpreters/clojurescript/lumo;
-    dependencies = [
-      sources."@ampproject/remapping-2.2.0"
-      sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.17.10"
-      sources."@babel/core-7.17.10"
-      sources."@babel/generator-7.17.10"
-      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.17.10"
-      sources."@babel/helper-create-class-features-plugin-7.17.9"
-      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.17.9"
-      sources."@babel/helper-hoist-variables-7.16.7"
-      sources."@babel/helper-member-expression-to-functions-7.17.7"
-      sources."@babel/helper-module-imports-7.16.7"
-      sources."@babel/helper-module-transforms-7.17.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.17.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.17.9"
-      (sources."@babel/highlight-7.17.9" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-        ];
-      })
-      sources."@babel/parser-7.17.10"
-      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.8"
-      sources."@babel/plugin-proposal-class-properties-7.16.7"
-      sources."@babel/plugin-proposal-class-static-block-7.17.6"
-      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"
-      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-import-meta-7.10.4"
-      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.17.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.17.9"
-      sources."@babel/plugin-transform-modules-systemjs-7.17.8"
-      sources."@babel/plugin-transform-modules-umd-7.16.7"
-      sources."@babel/plugin-transform-named-capturing-groups-regex-7.17.10"
-      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.17.9"
-      sources."@babel/plugin-transform-reserved-words-7.16.7"
-      sources."@babel/plugin-transform-runtime-7.17.10"
-      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.17.10"
-      sources."@babel/preset-modules-0.1.5"
-      sources."@babel/preset-stage-2-7.8.3"
-      sources."@babel/runtime-7.17.9"
-      sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.17.10"
-      sources."@babel/types-7.17.10"
-      sources."@cnakazawa/watch-1.0.4"
-      sources."@comandeer/babel-plugin-banner-5.0.0"
-      sources."@istanbuljs/load-nyc-config-1.1.0"
-      sources."@istanbuljs/schema-0.1.3"
-      sources."@jest/transform-25.5.1"
-      sources."@jest/types-25.5.0"
-      sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@types/babel__core-7.1.19"
-      sources."@types/babel__generator-7.6.4"
-      sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.17.1"
-      sources."@types/estree-0.0.51"
-      sources."@types/graceful-fs-4.1.5"
-      sources."@types/istanbul-lib-coverage-2.0.4"
-      sources."@types/istanbul-lib-report-3.0.0"
-      sources."@types/istanbul-reports-1.1.2"
-      sources."@types/json-schema-7.0.11"
-      sources."@types/node-17.0.31"
-      sources."@types/normalize-package-data-2.4.1"
-      sources."@types/resolve-0.0.8"
-      sources."@types/yargs-15.0.14"
-      sources."@types/yargs-parser-21.0.0"
-      sources."@webassemblyjs/ast-1.9.0"
-      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
-      sources."@webassemblyjs/helper-api-error-1.9.0"
-      sources."@webassemblyjs/helper-buffer-1.9.0"
-      sources."@webassemblyjs/helper-code-frame-1.9.0"
-      sources."@webassemblyjs/helper-fsm-1.9.0"
-      sources."@webassemblyjs/helper-module-context-1.9.0"
-      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-      sources."@webassemblyjs/helper-wasm-section-1.9.0"
-      sources."@webassemblyjs/ieee754-1.9.0"
-      sources."@webassemblyjs/leb128-1.9.0"
-      sources."@webassemblyjs/utf8-1.9.0"
-      sources."@webassemblyjs/wasm-edit-1.9.0"
-      sources."@webassemblyjs/wasm-gen-1.9.0"
-      sources."@webassemblyjs/wasm-opt-1.9.0"
-      sources."@webassemblyjs/wasm-parser-1.9.0"
-      sources."@webassemblyjs/wast-parser-1.9.0"
-      sources."@webassemblyjs/wast-printer-1.9.0"
-      sources."@xtuc/ieee754-1.2.0"
-      sources."@xtuc/long-4.2.2"
-      sources."JSONStream-1.3.5"
-      sources."ace.improved-0.2.1"
-      sources."acorn-7.4.1"
-      sources."acorn-node-1.8.2"
-      sources."acorn-walk-7.2.0"
-      sources."ajv-6.12.6"
-      sources."ajv-errors-1.0.1"
-      sources."ajv-keywords-3.5.2"
-      sources."amdefine-1.0.1"
-      sources."ansi-regex-4.1.1"
-      sources."ansi-styles-3.2.1"
-      sources."anymatch-3.1.2"
-      sources."aproba-1.2.0"
-      sources."argparse-1.0.10"
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-unique-0.3.2"
-      sources."asn1-0.2.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assert-plus-1.0.0"
-      sources."assign-symbols-1.0.0"
-      sources."async-3.2.3"
-      sources."async-each-1.0.3"
-      sources."async-retry-1.3.3"
-      sources."asynckit-0.4.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-eslint-10.0.3"
-      sources."babel-helper-evaluate-path-0.5.0"
-      sources."babel-helper-flip-expressions-0.4.3"
-      sources."babel-helper-is-nodes-equiv-0.0.1"
-      sources."babel-helper-is-void-0-0.4.3"
-      sources."babel-helper-mark-eval-scopes-0.4.3"
-      sources."babel-helper-remove-or-void-0.4.3"
-      sources."babel-helper-to-multiple-sequence-expressions-0.5.0"
-      sources."babel-jest-25.5.1"
-      sources."babel-loader-8.2.5"
-      sources."babel-plugin-dynamic-import-node-2.3.3"
-      sources."babel-plugin-istanbul-6.1.1"
-      sources."babel-plugin-jest-hoist-25.5.0"
-      sources."babel-plugin-minify-builtins-0.5.0"
-      sources."babel-plugin-minify-constant-folding-0.5.0"
-      sources."babel-plugin-minify-dead-code-elimination-0.5.1"
-      sources."babel-plugin-minify-flip-comparisons-0.4.3"
-      sources."babel-plugin-minify-guarded-expressions-0.4.4"
-      sources."babel-plugin-minify-infinity-0.4.3"
-      sources."babel-plugin-minify-mangle-names-0.5.0"
-      sources."babel-plugin-minify-numeric-literals-0.4.3"
-      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.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"
-      sources."babel-plugin-transform-member-expression-literals-6.9.4"
-      sources."babel-plugin-transform-merge-sibling-variables-6.9.4"
-      sources."babel-plugin-transform-minify-booleans-6.9.4"
-      sources."babel-plugin-transform-property-literals-6.9.4"
-      sources."babel-plugin-transform-regexp-constructors-0.4.3"
-      sources."babel-plugin-transform-remove-console-6.9.4"
-      sources."babel-plugin-transform-remove-debugger-6.9.4"
-      sources."babel-plugin-transform-remove-undefined-0.5.0"
-      sources."babel-plugin-transform-simplify-comparison-operators-6.9.4"
-      sources."babel-plugin-transform-undefined-to-void-6.9.4"
-      sources."babel-preset-current-node-syntax-0.1.4"
-      sources."babel-preset-jest-25.5.0"
-      sources."babel-preset-minify-0.5.1"
-      (sources."babel-runtime-6.26.0" // {
-        dependencies = [
-          sources."regenerator-runtime-0.11.1"
-        ];
-      })
-      sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."big.js-5.2.2"
-      sources."binary-extensions-2.2.0"
-      sources."bindings-1.5.0"
-      (sources."bl-4.1.0" // {
-        dependencies = [
-          sources."buffer-5.7.1"
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."bluebird-3.7.2"
-      sources."bn.js-5.2.0"
-      sources."brace-expansion-1.1.11"
-      (sources."braces-2.3.2" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-        ];
-      })
-      sources."brorand-1.1.0"
-      sources."browser-pack-6.1.0"
-      sources."browser-resolve-2.0.0"
-      (sources."browserify-16.5.2" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.20.3"
-      sources."bser-2.1.1"
-      sources."buffer-5.2.1"
-      sources."buffer-from-1.1.2"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-modules-3.2.0"
-      sources."builtin-status-codes-3.0.0"
-      (sources."cacache-12.0.4" // {
-        dependencies = [
-          sources."mkdirp-0.5.6"
-        ];
-      })
-      sources."cache-base-1.0.1"
-      sources."cached-path-relative-1.1.0"
-      sources."call-bind-1.0.2"
-      sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001334"
-      sources."capture-exit-2.0.0"
-      sources."caseless-0.12.0"
-      (sources."chalk-3.0.0" // {
-        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."chokidar-3.5.3" // {
-        dependencies = [
-          sources."braces-3.0.2"
-          sources."fill-range-7.0.1"
-          sources."is-number-7.0.0"
-          sources."to-regex-range-5.0.1"
-        ];
-      })
-      sources."chownr-1.1.4"
-      sources."chrome-trace-event-1.0.3"
-      sources."ci-info-2.0.0"
-      sources."cipher-base-1.0.4"
-      (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."kind-of-5.1.0"
-        ];
-      })
-      sources."cliui-5.0.0"
-      sources."clone-2.1.2"
-      sources."clone-buffer-1.0.0"
-      sources."clone-stats-1.0.0"
-      sources."cloneable-readable-1.1.3"
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."colors-1.4.0"
-      (sources."combine-source-map-0.8.0" // {
-        dependencies = [
-          sources."convert-source-map-1.1.3"
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."combined-stream-1.0.8"
-      sources."commander-2.20.3"
-      sources."commondir-1.0.1"
-      sources."component-emitter-1.3.0"
-      sources."concat-map-0.0.1"
-      sources."concat-stream-1.6.2"
-      sources."console-browserify-1.2.0"
-      sources."constants-browserify-1.0.0"
-      sources."convert-source-map-1.8.0"
-      (sources."copy-concurrently-1.0.5" // {
-        dependencies = [
-          sources."mkdirp-0.5.6"
-        ];
-      })
-      sources."copy-descriptor-0.1.1"
-      sources."core-js-2.6.12"
-      (sources."core-js-compat-3.22.3" // {
-        dependencies = [
-          sources."semver-7.0.0"
-        ];
-      })
-      sources."core-util-is-1.0.3"
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
-      (sources."cross-env-7.0.0" // {
-        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."cross-spawn-6.0.5" // {
-        dependencies = [
-          sources."semver-5.7.1"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."crypto-browserify-3.12.0"
-      sources."cyclist-1.0.1"
-      sources."dash-ast-1.0.0"
-      sources."dashdash-1.14.1"
-      sources."death-1.1.0"
-      sources."debug-4.3.4"
-      sources."decamelize-1.2.0"
-      sources."decode-uri-component-0.2.0"
-      sources."define-properties-1.1.4"
-      sources."define-property-2.0.2"
-      sources."defined-1.0.0"
-      sources."delayed-stream-1.0.0"
-      sources."deps-sort-2.0.1"
-      sources."des.js-1.0.1"
-      sources."detect-file-1.0.0"
-      sources."detective-5.2.0"
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."domain-browser-1.2.0"
-      sources."duplexer2-0.1.4"
-      sources."duplexify-3.7.1"
-      sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.129"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."emoji-regex-7.0.3"
-      sources."emojis-list-3.0.0"
-      sources."end-of-stream-1.4.4"
-      (sources."enhanced-resolve-4.5.0" // {
-        dependencies = [
-          sources."memory-fs-0.5.0"
-        ];
-      })
-      sources."errno-0.1.8"
-      sources."error-ex-1.3.2"
-      sources."escalade-3.1.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."eslint-scope-4.0.3"
-      sources."eslint-visitor-keys-1.3.0"
-      sources."esprima-4.0.1"
-      (sources."esrecurse-4.3.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      sources."estraverse-4.3.0"
-      sources."estree-walker-0.6.1"
-      sources."esutils-2.0.3"
-      sources."events-2.1.0"
-      sources."evp_bytestokey-1.0.3"
-      sources."exec-sh-0.3.6"
-      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"
-            ];
-          })
-          (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."expand-tilde-2.0.2"
-      sources."extend-3.0.2"
-      (sources."extend-shallow-3.0.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      (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-json-stable-stringify-2.1.0"
-      sources."fast-safe-stringify-2.1.1"
-      sources."fb-watchman-2.0.1"
-      sources."figgy-pudding-3.5.2"
-      sources."file-uri-to-path-1.0.0"
-      (sources."fill-range-4.0.0" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-        ];
-      })
-      sources."find-cache-dir-3.3.2"
-      sources."find-up-4.1.0"
-      (sources."findup-sync-3.0.0" // {
-        dependencies = [
-          sources."micromatch-3.1.10"
-        ];
-      })
-      sources."flow-bin-0.118.0"
-      sources."flush-write-stream-1.1.1"
-      sources."for-in-1.0.2"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
-      sources."fragment-cache-0.2.1"
-      sources."from2-2.3.0"
-      sources."fs-constants-1.0.0"
-      sources."fs-write-stream-atomic-1.0.10"
-      sources."fs.realpath-1.0.0"
-      sources."fsevents-2.3.2"
-      sources."function-bind-1.1.1"
-      sources."gensync-1.0.0-beta.2"
-      sources."get-assigned-identifiers-1.2.0"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.1"
-      sources."get-package-type-0.1.0"
-      sources."get-stream-4.1.0"
-      sources."get-value-2.0.6"
-      sources."getpass-0.1.7"
-      sources."glob-7.2.0"
-      sources."glob-parent-5.1.2"
-      (sources."global-modules-2.0.0" // {
-        dependencies = [
-          sources."global-prefix-3.0.0"
-          sources."which-1.3.1"
-        ];
-      })
-      (sources."global-prefix-1.0.2" // {
-        dependencies = [
-          sources."which-1.3.1"
-        ];
-      })
-      sources."globals-11.12.0"
-      sources."google-closure-compiler-js-20170910.0.1"
-      sources."graceful-fs-4.2.10"
-      (sources."gunzip-maybe-1.4.2" // {
-        dependencies = [
-          sources."browserify-zlib-0.1.4"
-          sources."pako-0.2.9"
-        ];
-      })
-      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-property-descriptors-1.0.0"
-      sources."has-symbols-1.0.3"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          sources."kind-of-4.0.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."homedir-polyfill-1.0.3"
-      sources."hosted-git-info-2.8.9"
-      sources."htmlescape-1.1.1"
-      sources."http-signature-1.2.0"
-      sources."https-browserify-1.0.0"
-      sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
-      (sources."import-local-2.0.0" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."pkg-dir-3.0.0"
-        ];
-      })
-      sources."imurmurhash-0.1.4"
-      sources."infer-owner-1.0.4"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      (sources."inline-source-map-0.6.2" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."insert-module-globals-7.2.1"
-      sources."interpret-1.4.0"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-arrayish-0.2.1"
-      sources."is-binary-path-2.1.0"
-      sources."is-buffer-1.1.6"
-      sources."is-ci-2.0.0"
-      sources."is-core-module-2.9.0"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-deflate-1.0.0"
-      sources."is-descriptor-1.0.2"
-      sources."is-extendable-0.1.1"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-glob-4.0.3"
-      sources."is-gzip-1.0.0"
-      sources."is-module-1.0.0"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."is-plain-object-2.0.4"
-      sources."is-reference-1.2.1"
-      sources."is-stream-1.1.0"
-      sources."is-typedarray-1.0.0"
-      sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
-      sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      sources."isstream-0.1.2"
-      sources."istanbul-lib-coverage-3.2.0"
-      sources."istanbul-lib-instrument-5.2.0"
-      sources."jest-haste-map-25.5.1"
-      sources."jest-regex-util-25.2.6"
-      sources."jest-serializer-25.5.0"
-      sources."jest-util-25.5.0"
-      (sources."jest-worker-25.5.0" // {
-        dependencies = [
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
-      sources."jsbn-0.1.1"
-      sources."jsesc-2.5.2"
-      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-traverse-0.4.1"
-      sources."json-stable-stringify-0.0.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."json5-2.2.1"
-      sources."jsonify-0.0.0"
-      sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.2"
-      sources."jszip-2.6.1"
-      sources."kind-of-6.0.3"
-      sources."labeled-stream-splicer-2.0.2"
-      sources."lines-and-columns-1.2.4"
-      sources."loader-runner-2.4.0"
-      sources."loader-utils-2.0.2"
-      sources."locate-path-5.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.debounce-4.0.8"
-      sources."lodash.memoize-3.0.4"
-      sources."lru-cache-5.1.1"
-      sources."magic-string-0.25.9"
-      sources."make-dir-3.1.0"
-      sources."makeerror-1.0.12"
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
-      sources."md5.js-1.3.5"
-      sources."memory-fs-0.4.1"
-      sources."merge-stream-2.0.0"
-      (sources."micromatch-4.0.5" // {
-        dependencies = [
-          sources."braces-3.0.2"
-          sources."fill-range-7.0.1"
-          sources."is-number-7.0.0"
-          sources."to-regex-range-5.0.1"
-        ];
-      })
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
-      sources."mississippi-3.0.0"
-      (sources."mixin-deep-1.3.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."mkdirp-1.0.4"
-      sources."mkdirp-classic-0.5.3"
-      sources."module-deps-6.2.3"
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."mkdirp-0.5.6"
-        ];
-      })
-      sources."ms-2.1.2"
-      sources."nan-2.15.0"
-      sources."nanomatch-1.2.13"
-      sources."ncp-2.0.0"
-      sources."neo-async-2.6.2"
-      sources."nice-try-1.0.5"
-      sources."node-fetch-2.6.7"
-      sources."node-int64-0.4.0"
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."buffer-4.9.2"
-          sources."events-3.3.0"
-          sources."inherits-2.0.3"
-          sources."punycode-1.4.1"
-          sources."stream-http-2.8.3"
-          sources."timers-browserify-2.0.12"
-          sources."tty-browserify-0.0.0"
-          sources."util-0.11.1"
-        ];
-      })
-      sources."node-releases-2.0.4"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-3.0.0"
-      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 = [
-          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."kind-of-3.2.2"
-        ];
-      })
-      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."os-browserify-0.3.0"
-      sources."p-finally-1.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
-      sources."p-try-2.2.0"
-      sources."pako-1.0.11"
-      sources."parallel-transform-1.2.0"
-      sources."paredit.js-0.3.6"
-      sources."parents-1.0.1"
-      sources."parse-asn1-5.1.6"
-      sources."parse-json-5.2.0"
-      sources."parse-passwd-1.0.0"
-      sources."pascalcase-0.1.1"
-      sources."path-browserify-0.0.1"
-      sources."path-dirname-1.0.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-platform-0.11.15"
-      sources."pbkdf2-3.1.2"
-      sources."peek-stream-1.1.3"
-      sources."performance-now-2.1.0"
-      sources."picocolors-1.0.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.5"
-      sources."pkg-dir-4.2.0"
-      sources."posix-character-classes-0.1.1"
-      sources."posix-getopt-git+https://github.com/anmonteiro/node-getopt#master"
-      sources."prettier-1.19.1"
-      sources."process-0.11.10"
-      sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
-      sources."promise-inflight-1.0.1"
-      sources."prr-1.0.1"
-      sources."psl-1.8.0"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."punycode-2.1.1"
-      sources."qs-6.5.3"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
-      sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
-      sources."read-only-stream-2.0.0"
-      sources."read-pkg-5.2.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."readdirp-3.6.0"
-      sources."realpath-native-2.0.0"
-      sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-10.0.1"
-      sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.15.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."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."replace-ext-1.0.1"
-      sources."request-2.88.2"
-      sources."require-directory-2.1.1"
-      sources."require-main-filename-2.0.0"
-      sources."resolve-1.22.0"
-      (sources."resolve-cwd-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      (sources."resolve-dir-1.0.1" // {
-        dependencies = [
-          sources."global-modules-1.0.0"
-        ];
-      })
-      sources."resolve-from-5.0.0"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      sources."retry-0.13.1"
-      sources."rimraf-2.7.1"
-      sources."ripemd160-2.0.2"
-      sources."rollup-1.32.1"
-      sources."rollup-plugin-babel-4.4.0"
-      sources."rollup-plugin-babel-minify-9.1.1"
-      sources."rollup-plugin-commonjs-10.1.0"
-      sources."rollup-plugin-node-resolve-5.2.0"
-      sources."rollup-plugin-replace-2.2.0"
-      sources."rollup-pluginutils-2.8.2"
-      sources."rsvp-4.8.5"
-      sources."run-queue-1.0.3"
-      sources."safe-buffer-5.1.2"
-      sources."safe-regex-1.1.0"
-      sources."safer-buffer-2.1.2"
-      (sources."sane-4.1.0" // {
-        dependencies = [
-          sources."anymatch-2.0.0"
-          sources."micromatch-3.1.10"
-          sources."normalize-path-2.1.1"
-        ];
-      })
-      sources."schema-utils-2.7.1"
-      sources."semver-6.3.0"
-      sources."serialize-javascript-4.0.0"
-      sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-        ];
-      })
-      sources."setimmediate-1.0.5"
-      sources."sha.js-2.4.11"
-      sources."shasum-1.0.2"
-      sources."shasum-object-1.0.0"
-      sources."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."shell-quote-1.7.3"
-      sources."signal-exit-3.0.7"
-      sources."simple-concat-1.0.1"
-      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"
-            ];
-          })
-          (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."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."source-list-map-0.1.8"
-      sources."source-map-0.6.1"
-      sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.5.21"
-      sources."source-map-url-0.4.1"
-      sources."sourcemap-codec-1.4.8"
-      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"
-      sources."sprintf-js-1.0.3"
-      sources."sshpk-1.17.0"
-      sources."ssri-6.0.2"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."stream-browserify-2.0.2"
-      sources."stream-combiner2-1.1.1"
-      sources."stream-each-1.2.3"
-      (sources."stream-http-3.2.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."stream-shift-1.0.1"
-      sources."stream-splicer-2.0.1"
-      sources."string-width-3.1.0"
-      (sources."string_decoder-1.3.0" // {
-        dependencies = [
-          sources."safe-buffer-5.2.1"
-        ];
-      })
-      sources."strip-ansi-5.2.0"
-      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" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."terser-4.8.0"
-      (sources."terser-webpack-plugin-1.4.5" // {
-        dependencies = [
-          sources."find-cache-dir-2.1.0"
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."make-dir-2.1.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."pkg-dir-3.0.0"
-          sources."schema-utils-1.0.0"
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."test-exclude-6.0.0"
-      sources."through-2.3.8"
-      sources."through2-2.0.5"
-      sources."timers-browserify-1.4.2"
-      sources."tmpl-1.0.5"
-      sources."to-arraybuffer-1.0.1"
-      sources."to-fast-properties-2.0.0"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      sources."to-regex-3.0.2"
-      sources."to-regex-range-2.1.1"
-      sources."tough-cookie-2.5.0"
-      sources."tr46-0.0.3"
-      sources."tty-browserify-0.0.1"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-fest-0.6.0"
-      sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-3.1.5"
-      sources."umd-3.0.3"
-      sources."undeclared-identifiers-1.1.3"
-      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."union-value-1.0.1"
-      sources."unique-filename-1.1.1"
-      sources."unique-slug-2.0.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."upath-1.2.0"
-      sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      sources."use-3.1.1"
-      (sources."util-0.10.4" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      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."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
-      sources."vinyl-2.2.1"
-      sources."vm-browserify-1.1.2"
-      sources."walker-1.0.8"
-      sources."watchpack-1.7.5"
-      (sources."watchpack-chokidar2-2.0.1" // {
-        dependencies = [
-          sources."anymatch-2.0.0"
-          sources."binary-extensions-1.13.1"
-          sources."chokidar-2.1.8"
-          sources."fsevents-1.2.13"
-          sources."glob-parent-3.1.0"
-          sources."is-binary-path-1.0.1"
-          sources."is-glob-3.1.0"
-          sources."micromatch-3.1.10"
-          sources."normalize-path-2.1.1"
-          sources."readdirp-2.2.1"
-        ];
-      })
-      sources."webidl-conversions-3.0.1"
-      (sources."webpack-4.46.0" // {
-        dependencies = [
-          sources."acorn-6.4.2"
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          sources."micromatch-3.1.10"
-          sources."mkdirp-0.5.6"
-          sources."schema-utils-1.0.0"
-        ];
-      })
-      (sources."webpack-cli-3.3.12" // {
-        dependencies = [
-          (sources."chalk-2.4.2" // {
-            dependencies = [
-              sources."supports-color-5.5.0"
-            ];
-          })
-          sources."json5-1.0.1"
-          sources."loader-utils-1.4.0"
-          sources."supports-color-6.1.0"
-        ];
-      })
-      (sources."webpack-core-0.6.9" // {
-        dependencies = [
-          sources."source-map-0.4.4"
-        ];
-      })
-      (sources."webpack-sources-1.4.3" // {
-        dependencies = [
-          sources."source-list-map-2.0.1"
-        ];
-      })
-      sources."whatwg-url-5.0.0"
-      sources."which-2.0.2"
-      sources."which-module-2.0.0"
-      (sources."which-promise-1.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."worker-farm-1.7.0"
-      sources."wrap-ansi-5.1.0"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-3.0.3"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
-      sources."yallist-3.1.1"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-        ];
-      })
-      sources."yargs-parser-13.1.2"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
   lua-fmt = nodeEnv.buildNodePackage {
     name = "lua-fmt";
     packageName = "lua-fmt";
@@ -111587,7 +109577,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -111933,35 +109923,51 @@ in
   markdown-link-check = nodeEnv.buildNodePackage {
     name = "markdown-link-check";
     packageName = "markdown-link-check";
-    version = "3.10.0";
+    version = "3.10.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.0.tgz";
-      sha512 = "P2WeISLd669q4yxmX3rU6zoGcmAXdvvRK8paXxLvOlTjtxY6cObpMv0blVtampmJGMeE7QcF4Q/9YT/wfXUNaw==";
+      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.2.tgz";
+      sha512 = "5yQEVtjLxAjxWy82+iTgxrekr1tuD4sKGgwXiyLrCep8RERFH3yCdpZdeA12em2S2SEwXGxp6qHI73jVhuScKA==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
       sources."async-3.2.3"
+      sources."boolbase-1.0.0"
       sources."chalk-4.1.2"
+      sources."cheerio-1.0.0-rc.10"
+      sources."cheerio-select-1.6.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-6.2.1"
+      sources."css-select-4.3.0"
+      sources."css-what-6.1.0"
       sources."debug-3.2.7"
+      sources."dom-serializer-1.4.1"
+      sources."domelementtype-2.3.0"
+      sources."domhandler-4.3.1"
+      sources."domutils-2.8.0"
+      sources."entities-2.2.0"
       sources."has-flag-4.0.0"
+      sources."html-link-extractor-1.0.5"
+      sources."htmlparser2-6.1.0"
       sources."iconv-lite-0.6.3"
       sources."is-absolute-url-3.0.3"
       sources."is-relative-url-3.0.0"
       sources."isemail-3.2.0"
       sources."link-check-5.1.0"
       sources."lodash-4.17.21"
-      sources."markdown-link-extractor-2.0.1"
-      sources."marked-4.0.14"
+      sources."markdown-link-extractor-3.0.2"
+      sources."marked-4.0.15"
       sources."ms-2.1.3"
       sources."needle-3.1.0"
+      sources."nth-check-2.0.1"
+      sources."parse5-6.0.1"
+      sources."parse5-htmlparser2-tree-adapter-6.0.1"
       sources."progress-2.0.3"
       sources."punycode-2.1.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."supports-color-7.2.0"
+      sources."tslib-2.4.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -112454,13 +110460,10 @@ in
     };
     dependencies = [
       sources."@braintree/sanitize-url-6.0.0"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/yauzl-2.10.0"
       sources."agent-base-6.0.2"
-      sources."ansi-escapes-4.3.2"
-      sources."ansi-regex-2.1.1"
       sources."ansi-styles-4.3.0"
-      sources."app-path-3.3.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
@@ -112474,17 +110477,6 @@ in
       sources."commander-9.2.0"
       sources."concat-map-0.0.1"
       sources."cross-fetch-3.1.5"
-      sources."cross-spawn-6.0.5"
-      (sources."cypress-image-snapshot-4.0.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."d3-7.4.4"
       sources."d3-array-3.1.6"
       sources."d3-axis-3.0.0"
@@ -112564,25 +110556,14 @@ in
       sources."devtools-protocol-0.0.981744"
       sources."dompurify-2.3.6"
       sources."end-of-stream-1.4.4"
-      sources."escape-string-regexp-1.0.5"
-      sources."execa-1.0.0"
-      (sources."extract-zip-2.0.1" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-        ];
-      })
+      sources."extract-zip-2.0.1"
       sources."fd-slicer-1.1.0"
-      sources."find-up-3.0.0"
+      sources."find-up-4.1.0"
       sources."fs-constants-1.0.0"
-      sources."fs-extra-7.0.1"
       sources."fs.realpath-1.0.0"
-      sources."get-stdin-5.0.1"
-      sources."get-stream-4.1.0"
+      sources."get-stream-5.2.0"
       sources."glob-7.2.0"
-      sources."glur-1.1.2"
-      sources."graceful-fs-4.2.10"
       sources."graphlib-2.1.8"
-      sources."has-ansi-2.0.0"
       sources."has-flag-4.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."iconv-lite-0.6.3"
@@ -112590,91 +110571,46 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internmap-2.0.3"
-      sources."is-stream-1.1.0"
-      sources."isexe-2.0.0"
-      sources."iterm2-version-4.2.0"
-      (sources."jest-image-snapshot-4.2.0" // {
-        dependencies = [
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."supports-color-2.0.0"
-        ];
-      })
-      sources."jsonfile-4.0.0"
-      sources."khroma-1.4.1"
-      sources."locate-path-3.0.0"
+      sources."khroma-2.0.0"
+      sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."mermaid-9.0.1"
+      sources."mermaid-9.1.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
-      sources."mkdirp-0.5.6"
       sources."mkdirp-classic-0.5.3"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
-      sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
-      sources."npm-run-path-2.0.2"
       sources."once-1.4.0"
-      sources."p-finally-1.0.0"
       sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
+      sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      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."pend-1.2.0"
-      (sources."pixelmatch-5.3.0" // {
-        dependencies = [
-          sources."pngjs-6.0.0"
-        ];
-      })
-      sources."pkg-dir-3.0.0"
-      sources."plist-3.0.5"
-      sources."pngjs-3.4.0"
+      sources."pkg-dir-4.2.0"
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      (sources."puppeteer-13.7.0" // {
-        dependencies = [
-          sources."find-up-4.1.0"
-          sources."locate-path-5.0.0"
-          sources."p-locate-4.1.0"
-          sources."path-exists-4.0.0"
-          sources."pkg-dir-4.2.0"
-          sources."rimraf-3.0.2"
-        ];
-      })
+      sources."puppeteer-13.7.0"
       sources."readable-stream-3.6.0"
-      sources."rimraf-2.7.1"
+      sources."rimraf-3.0.2"
       sources."robust-predicates-3.0.1"
       sources."rw-1.3.3"
       sources."safe-buffer-5.2.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.7"
-      sources."ssim.js-3.5.0"
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-3.0.1"
-      sources."strip-eof-1.0.0"
       sources."stylis-4.1.1"
       sources."supports-color-7.2.0"
       sources."tar-fs-2.1.1"
       sources."tar-stream-2.2.0"
-      sources."term-img-4.1.0"
       sources."through-2.3.8"
       sources."tr46-0.0.3"
-      sources."type-fest-0.21.3"
       sources."unbzip2-stream-1.4.3"
-      sources."universalify-0.1.2"
       sources."util-deprecate-1.0.2"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
-      sources."which-1.3.1"
       sources."wrappy-1.0.2"
       sources."ws-8.5.0"
-      sources."xmlbuilder-9.0.7"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -113004,7 +110940,7 @@ in
       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.31"
+      sources."@types/node-17.0.32"
       sources."@types/stack-utils-2.0.1"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
@@ -113141,7 +111077,7 @@ in
       sources."jest-mock-27.5.1"
       (sources."jest-util-27.5.1" // {
         dependencies = [
-          sources."ci-info-3.3.0"
+          sources."ci-info-3.3.1"
         ];
       })
       sources."js-sha256-0.9.0"
@@ -113409,7 +111345,7 @@ in
       (sources."cacache-16.0.7" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
-          sources."glob-8.0.1"
+          sources."glob-8.0.2"
           sources."minimatch-5.0.1"
         ];
       })
@@ -113441,12 +111377,12 @@ in
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-lambda-1.0.1"
       sources."isexe-2.0.0"
-      sources."lru-cache-7.9.0"
-      sources."make-fetch-happen-10.1.2"
+      sources."lru-cache-7.10.1"
+      sources."make-fetch-happen-10.1.3"
       sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -113958,7 +111894,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -114021,7 +111957,7 @@ in
       sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."commist-1.1.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
         dependencies = [
@@ -114083,7 +112019,7 @@ in
       })
       sources."fast-deep-equal-3.1.3"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."form-data-4.0.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -114139,7 +112075,7 @@ in
           sources."universalify-2.0.0"
         ];
       })
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lowercase-keys-2.0.0"
@@ -114713,7 +112649,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -114769,7 +112705,7 @@ in
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       (sources."configstore-5.0.1" // {
         dependencies = [
@@ -114917,7 +112853,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.2.2"
+      sources."keyv-4.2.8"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.2.4"
@@ -115208,10 +113144,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.8.0";
+    version = "8.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.8.0.tgz";
-      sha512 = "MDHVaj0zrinLkshylII8pT46VCkAUqQfYRS+pyuuZZtBZRRphH/IG5HC1YbIc77AX5FmLUWGvu23Kah5fscIbw==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.10.0.tgz";
+      sha512 = "6oo65q9Quv9mRPGZJufmSH+C/UFdgelwzRXiglT/2mDB50zdy/lZK5dFY0TJ9fJ/8gHqnxcX1NM206KLjTBMlQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -115265,7 +113201,7 @@ in
       sources."builtins-5.0.1"
       (sources."cacache-16.0.7" // {
         dependencies = [
-          sources."glob-8.0.1"
+          sources."glob-8.0.2"
         ];
       })
       (sources."cacheable-request-6.1.0" // {
@@ -115354,7 +113290,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-ci-2.0.0"
       sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
@@ -115392,13 +113328,13 @@ in
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
-      sources."lru-cache-7.9.0"
+      sources."lru-cache-7.10.1"
       (sources."make-dir-3.1.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."make-fetch-happen-10.1.2"
+      sources."make-fetch-happen-10.1.3"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."mimic-response-1.0.1"
@@ -115423,9 +113359,9 @@ in
       sources."npm-install-checks-5.0.0"
       sources."npm-normalize-package-bin-1.0.1"
       sources."npm-package-arg-9.0.2"
-      (sources."npm-packlist-5.0.2" // {
+      (sources."npm-packlist-5.0.3" // {
         dependencies = [
-          sources."glob-8.0.1"
+          sources."glob-8.0.2"
         ];
       })
       sources."npm-pick-manifest-7.0.1"
@@ -115442,7 +113378,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."pacote-13.1.1"
+      sources."pacote-13.3.0"
       sources."parse-github-url-1.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -115461,7 +113397,7 @@ in
       sources."rc-config-loader-4.1.0"
       (sources."read-package-json-5.0.1" // {
         dependencies = [
-          sources."glob-8.0.1"
+          sources."glob-8.0.2"
         ];
       })
       sources."read-package-json-fast-2.0.3"
@@ -115665,7 +113601,7 @@ in
       sources."vscode-languageclient-4.0.1"
       sources."vscode-languageserver-4.0.0"
       sources."vscode-languageserver-protocol-3.6.0"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-1.0.3"
       sources."wrappy-1.0.2"
     ];
@@ -115811,10 +113747,10 @@ in
       sources."@babel/types-7.17.10"
       sources."@iarna/toml-2.2.5"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
@@ -115935,7 +113871,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -115961,7 +113897,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.22.3" // {
+      (sources."core-js-compat-3.22.5" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -116072,7 +114008,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.129"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116082,7 +114018,7 @@ in
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."error-ex-1.3.2"
-      (sources."es-abstract-1.19.5" // {
+      (sources."es-abstract-1.20.0" // {
         dependencies = [
           sources."object-inspect-1.12.0"
         ];
@@ -116112,7 +114048,7 @@ in
         ];
       })
       sources."extsprintf-1.3.0"
-      sources."falafel-2.2.4"
+      sources."falafel-2.2.5"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-2.2.7"
       sources."fast-json-stable-stringify-2.1.0"
@@ -116122,7 +114058,6 @@ in
       sources."filesize-3.6.1"
       sources."fill-range-4.0.0"
       sources."for-in-1.0.2"
-      sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fragment-cache-0.2.1"
@@ -116130,6 +114065,8 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-intrinsic-1.1.1"
       sources."get-port-3.2.0"
@@ -116497,6 +114434,7 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
+      sources."regexp.prototype.flags-1.4.3"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
       (sources."regjsparser-0.8.4" // {
@@ -116595,8 +114533,8 @@ in
       sources."stealthy-require-1.1.1"
       sources."stream-browserify-2.0.2"
       sources."stream-http-2.8.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-4.0.0"
       (sources."stylehacks-4.0.3" // {
@@ -116736,15 +114674,15 @@ in
       sources."@parcel/compressor-raw-2.5.0"
       sources."@parcel/config-default-2.5.0"
       sources."@parcel/core-2.5.0"
-      sources."@parcel/css-1.8.2"
-      sources."@parcel/css-darwin-arm64-1.8.2"
-      sources."@parcel/css-darwin-x64-1.8.2"
-      sources."@parcel/css-linux-arm-gnueabihf-1.8.2"
-      sources."@parcel/css-linux-arm64-gnu-1.8.2"
-      sources."@parcel/css-linux-arm64-musl-1.8.2"
-      sources."@parcel/css-linux-x64-gnu-1.8.2"
-      sources."@parcel/css-linux-x64-musl-1.8.2"
-      sources."@parcel/css-win32-x64-msvc-1.8.2"
+      sources."@parcel/css-1.8.3"
+      sources."@parcel/css-darwin-arm64-1.8.3"
+      sources."@parcel/css-darwin-x64-1.8.3"
+      sources."@parcel/css-linux-arm-gnueabihf-1.8.3"
+      sources."@parcel/css-linux-arm64-gnu-1.8.3"
+      sources."@parcel/css-linux-arm64-musl-1.8.3"
+      sources."@parcel/css-linux-x64-gnu-1.8.3"
+      sources."@parcel/css-linux-x64-musl-1.8.3"
+      sources."@parcel/css-win32-x64-msvc-1.8.3"
       sources."@parcel/diagnostic-2.5.0"
       sources."@parcel/events-2.5.0"
       sources."@parcel/fs-2.5.0"
@@ -116802,7 +114740,7 @@ in
       sources."@parcel/utils-2.5.0"
       sources."@parcel/watcher-2.0.5"
       sources."@parcel/workers-2.5.0"
-      sources."@swc/helpers-0.3.9"
+      sources."@swc/helpers-0.3.13"
       sources."@trysound/sax-0.2.0"
       sources."@types/parse-json-4.0.0"
       sources."abortcontroller-polyfill-1.7.3"
@@ -116813,7 +114751,7 @@ in
       sources."browserslist-4.20.3"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -116844,13 +114782,13 @@ in
       sources."domutils-2.8.0"
       sources."dotenv-7.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."entities-3.0.1"
       sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."get-port-4.2.0"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."has-flag-3.0.0"
       sources."htmlnano-2.0.2"
       sources."htmlparser2-7.2.0"
@@ -116864,7 +114802,7 @@ in
       sources."lmdb-2.2.4"
       sources."lodash.sortby-4.7.0"
       sources."mdn-data-2.0.14"
-      sources."msgpackr-1.5.6"
+      sources."msgpackr-1.5.7"
       sources."msgpackr-extract-1.1.4"
       sources."msgpackr-extract-darwin-arm64-1.1.0"
       sources."msgpackr-extract-darwin-x64-1.1.0"
@@ -116908,6 +114846,7 @@ in
       })
       sources."timsort-0.3.0"
       sources."tr46-1.0.1"
+      sources."tslib-2.4.0"
       sources."type-fest-0.20.2"
       sources."utility-types-3.10.0"
       sources."v8-compile-cache-2.3.0"
@@ -117180,7 +115119,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -117421,7 +115360,7 @@ in
         ];
       })
       sources."internal-ip-1.2.0"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-set-1.0.2"
       sources."ipaddr.js-2.0.1"
       sources."is-arguments-1.1.1"
@@ -117776,7 +115715,7 @@ in
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-set-1.0.2"
       sources."ipaddr.js-1.9.1"
       sources."is-typedarray-1.0.0"
@@ -118283,7 +116222,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.9"
+      sources."follow-redirects-1.15.0"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -118304,7 +116243,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-binary-path-2.1.0"
       sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
@@ -118387,7 +116326,7 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.11.14"
+      sources."systeminformation-5.11.15"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-2.4.0"
@@ -118423,10 +116362,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "7.0.0";
+    version = "7.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.0.0.tgz";
-      sha512 = "5njVSmE/Sz6coyikS6gjwoKWaxxsJ6BY6jL1aqwvnEpNUfFednbHqid3aZ42JszOFaSOz3Qipcfp4ei22G/JEg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.1.0.tgz";
+      sha512 = "iT2Hk2jycfh8NXoEnwpg7oCNMwsMlheSR9QAgkhWtRHvjfAAtp0HsKEOA62ILoAwbvv/ea8Ph5lTQLsGQJRq+w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -118475,7 +116414,7 @@ in
       sha512 = "jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==";
     };
     dependencies = [
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."picocolors-1.0.0"
       sources."source-map-js-1.0.2"
     ];
@@ -118558,7 +116497,7 @@ in
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -118733,14 +116672,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.13.0";
+    version = "3.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.13.0.tgz";
-      sha512 = "oO1auBnBtieGdiN+57IgsA9Vr7Sy4HkILi1KSaUG4mpKfEbnkTGnLOxAqjLed+K2nsG/GtE1tJBtB7JxN1a78Q==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.14.0.tgz";
+      sha512 = "l9MOgNCn/paDE+i1K2fp9NZ+Du4trzPTJsGkaQHVBufTGqzoYHuNk8JfzXuIn0Gte6/ZjyKj652Jq/Lc1tp2yw==";
     };
     dependencies = [
-      sources."@prisma/engines-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b"
-      sources."ts-pattern-4.0.2"
+      sources."@prisma/engines-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -118755,13 +116693,13 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "3.13.0";
+    version = "3.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.13.0.tgz";
-      sha512 = "0QzP+i+WgbpVsmdx6Xnq7P1b4Zjep6R6TKWjexD88/DeS5aUUdmuA2JXSEFhRyr67Q2BURPtSGfPCgeGCd9Nqg==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.14.0.tgz";
+      sha512 = "KP562fcqP010ja+Srt6Hi3XOooVQ11SwMAFvY9SxJfdRaLvU/vLxGW3+SnkAjq3tbQ0ij1ZyJTmshMWh/Vwevw==";
     };
     dependencies = [
-      sources."@prisma/prisma-fmt-wasm-3.13.0-17.efdf9b1183dddfd4258cd181a72125755215ab7b"
+      sources."@prisma/prisma-fmt-wasm-3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a"
       sources."@types/js-levenshtein-1.1.1"
       sources."js-levenshtein-1.1.6"
       sources."klona-2.0.5"
@@ -118825,10 +116763,10 @@ in
   pulp = nodeEnv.buildNodePackage {
     name = "pulp";
     packageName = "pulp";
-    version = "16.0.0";
+    version = "16.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pulp/-/pulp-16.0.0.tgz";
-      sha512 = "JrAiw/j2zokiuhNTxQDtOMXaTHZ6hdlyPFD4QtBVt/+bSAwiSm5+4VokCQRmn4+Z7RngO9yEzSot81BE7gKYAQ==";
+      url = "https://registry.npmjs.org/pulp/-/pulp-16.0.1.tgz";
+      sha512 = "cz8q10m3JLqmxOwp5JBNFAdgMx89UGyGlp4hHOp4lImNPcDUmw7e+991x10tQXYxRy77tfQS1HUFsFspV85jvQ==";
     };
     dependencies = [
       sources."JSONStream-1.3.5"
@@ -119104,11 +117042,11 @@ in
       sources."isexe-2.0.0"
       sources."shell-quote-1.7.3"
       sources."uuid-3.4.0"
-      sources."vscode-jsonrpc-8.0.0-next.8"
-      sources."vscode-languageserver-8.0.0-next.14"
-      sources."vscode-languageserver-protocol-3.17.0-next.20"
+      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-languageserver-8.0.1"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.17.0-next.12"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-uri-2.1.2"
       sources."which-2.0.2"
     ];
@@ -119191,7 +117129,7 @@ in
       sources."define-lazy-prop-2.0.0"
       sources."duplexer3-0.1.4"
       sources."end-of-stream-1.4.4"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."fs-extra-10.1.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
@@ -119203,7 +117141,7 @@ in
       sources."http-cache-semantics-4.1.0"
       sources."https-proxy-agent-5.0.1"
       sources."ini-1.3.8"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."is-docker-2.2.1"
       sources."is-wsl-2.2.0"
       sources."js-base64-3.7.2"
@@ -119266,10 +117204,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.243";
+    version = "1.1.246";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.243.tgz";
-      sha512 = "0PUyHTSr+LyE9Ej0A7tB8tM4pzAr34o1c3rHtfaBdZ2265HPvPE/Kj92ljX2F00Q6uAeZyyLEmzPOTuKh2WC8Q==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.246.tgz";
+      sha512 = "TEbHs4HD0J4/KGpXLqLBauOVT8G+yC7W8FKjyd00AzM9eyB+sx0EpujPnLKf6qI7x6LZJBgNoxpkPVq/6Wcq3A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -119328,7 +117266,7 @@ in
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
       sources."execa-1.0.0"
-      sources."falafel-2.2.4"
+      sources."falafel-2.2.5"
       sources."fast-levenshtein-2.0.6"
       (sources."find-replace-1.0.3" // {
         dependencies = [
@@ -119336,7 +117274,6 @@ in
         ];
       })
       sources."find-up-3.0.0"
-      sources."foreach-2.0.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
@@ -119386,7 +117323,6 @@ in
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
       sources."object-inspect-1.4.1"
-      sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."optionator-0.8.3"
       sources."os-locale-3.1.0"
@@ -119532,14 +117468,15 @@ in
       sources."cycle-1.0.3"
       sources."deep-equal-2.0.5"
       sources."define-properties-1.1.4"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
       sources."eyes-0.1.8"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
@@ -119593,8 +117530,8 @@ in
       sources."semver-5.7.1"
       sources."side-channel-1.0.4"
       sources."stack-trace-0.0.10"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
       sources."unbox-primitive-1.0.2"
@@ -119761,16 +117698,16 @@ in
       sources."@babel/traverse-7.17.10"
       sources."@babel/types-7.17.10"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/resolve-uri-3.0.6"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.9"
+      sources."@jridgewell/resolve-uri-3.0.7"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
+      sources."@jridgewell/trace-mapping-0.3.13"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -119962,7 +117899,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -120042,7 +117979,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.22.3" // {
+      (sources."core-js-compat-3.22.5" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -120183,7 +118120,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -120214,7 +118151,7 @@ in
       sources."entities-2.2.0"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
@@ -120231,7 +118168,7 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
       sources."events-3.3.0"
-      sources."eventsource-1.1.0"
+      sources."eventsource-1.1.1"
       sources."evp_bytestokey-1.0.3"
       sources."execa-0.7.0"
       (sources."expand-brackets-2.1.4" // {
@@ -120319,7 +118256,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.9"
+      sources."follow-redirects-1.15.0"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -120332,6 +118269,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
@@ -120470,7 +118408,7 @@ in
       sources."intersection-observer-0.7.0"
       sources."into-stream-3.1.0"
       sources."invariant-2.2.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-url-2.1.0"
@@ -121131,8 +119069,8 @@ in
           sources."strip-ansi-4.0.0"
         ];
       })
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       (sources."strip-ansi-5.2.0" // {
         dependencies = [
@@ -121487,7 +119425,7 @@ in
       sources."deep-is-0.1.4"
       sources."delayed-stream-1.0.0"
       sources."domexception-4.0.0"
-      sources."dompurify-2.3.6"
+      sources."dompurify-2.3.7"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."escodegen-2.0.0"
@@ -121537,7 +119475,7 @@ in
       sources."xml-name-validator-4.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -121553,10 +119491,10 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.13.11";
+    version = "0.13.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.11.tgz";
-      sha512 = "6zqf2j+LdsM0SnisPYrAln6nYW7tc/E28+sJMhIiTbI3TtEPGHC7hgRrRsrnhavNChKclU7ln2+dEtRZkzpR+Q==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.13.tgz";
+      sha512 = "v6Pj/KQNH3Rq/33Dvj9KJ7lZ42K5ugDIuTtbf4ZbzLF0LvuwoTO+Wq6JNxO5Ajcj/uVO9MaOeBwq0KH8FXIJoA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -121580,13 +119518,12 @@ in
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
       sources."@jridgewell/gen-mapping-0.1.1"
-      sources."@jridgewell/set-array-1.1.0"
-      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/set-array-1.1.1"
+      sources."@jridgewell/sourcemap-codec-1.4.13"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.94"
-      sources."@redocly/react-dropdown-aria-2.0.12"
+      sources."@redocly/openapi-core-1.0.0-beta.97"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-14.18.16"
+      sources."@types/node-14.18.17"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -121607,7 +119544,7 @@ in
       sources."base64-js-1.5.1"
       sources."binary-extensions-2.2.0"
       sources."bn.js-5.2.0"
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."brorand-1.1.0"
       sources."browserify-aes-1.2.0"
@@ -121639,7 +119576,6 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colorette-1.4.0"
-      sources."concat-map-0.0.1"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
       sources."core-util-is-1.0.3"
@@ -121662,7 +119598,7 @@ in
         ];
       })
       sources."domain-browser-1.2.0"
-      sources."dompurify-2.3.6"
+      sources."dompurify-2.3.7"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -121679,7 +119615,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."fast-safe-stringify-2.1.1"
       sources."fill-range-7.0.1"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
       sources."glob-parent-5.1.2"
@@ -121720,7 +119656,7 @@ in
       sources."loose-envify-1.4.0"
       sources."lunr-2.3.9"
       sources."mark.js-8.11.1"
-      sources."marked-4.0.14"
+      sources."marked-4.0.15"
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
@@ -121729,12 +119665,12 @@ in
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.1.2"
+      sources."minimatch-5.0.1"
       sources."minimist-1.2.6"
       sources."mkdirp-1.0.4"
       sources."mobx-6.5.0"
-      sources."mobx-react-7.3.0"
-      sources."mobx-react-lite-3.3.0"
+      sources."mobx-react-7.4.0"
+      sources."mobx-react-lite-3.4.0"
       sources."ms-2.1.2"
       sources."neo-async-2.6.2"
       sources."node-fetch-2.6.7"
@@ -121786,7 +119722,7 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.67" // {
+      (sources."redoc-2.0.0-rc.69" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
@@ -121826,7 +119762,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -121859,7 +119795,7 @@ in
       sources."y18n-5.0.8"
       sources."yaml-1.10.2"
       sources."yaml-ast-parser-0.0.43"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -122357,10 +120293,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.71.1";
+    version = "2.72.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.71.1.tgz";
-      sha512 = "lMZk3XfUBGjrrZQpvPSoXcZSfKcJ2Bgn+Z0L1MoW2V8Wh7BVM+LOBJTPo16yul2MwL59cXedzW1ruq3rCjSRgw==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.72.1.tgz";
+      sha512 = "NTc5UGy/NWFGpSqF1lFY8z9Adri6uhyMLI6LvPAXdBKoPRFhIIiBUpt+Qg2awixqO3xvzSijjhnb4+QEZwJmxA==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -122378,10 +120314,10 @@ in
   "rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
     name = "rust-analyzer";
     packageName = "rust-analyzer";
-    version = "0.2.975";
+    version = "0.2.1048";
     src = ../../applications/editors/vscode/extensions/rust-analyzer/build-deps;
     dependencies = [
-      sources."@eslint/eslintrc-1.2.2"
+      sources."@eslint/eslintrc-1.2.3"
       sources."@hpcc-js/wasm-1.12.8"
       sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
@@ -122392,14 +120328,14 @@ in
       sources."@types/json-schema-7.0.11"
       sources."@types/node-14.17.34"
       sources."@types/vscode-1.63.2"
-      sources."@typescript-eslint/eslint-plugin-5.21.0"
-      sources."@typescript-eslint/parser-5.21.0"
-      sources."@typescript-eslint/scope-manager-5.21.0"
-      sources."@typescript-eslint/type-utils-5.21.0"
-      sources."@typescript-eslint/types-5.21.0"
-      sources."@typescript-eslint/typescript-estree-5.21.0"
-      sources."@typescript-eslint/utils-5.21.0"
-      sources."@typescript-eslint/visitor-keys-5.21.0"
+      sources."@typescript-eslint/eslint-plugin-5.23.0"
+      sources."@typescript-eslint/parser-5.23.0"
+      sources."@typescript-eslint/scope-manager-5.23.0"
+      sources."@typescript-eslint/type-utils-5.23.0"
+      sources."@typescript-eslint/types-5.23.0"
+      sources."@typescript-eslint/typescript-estree-5.23.0"
+      sources."@typescript-eslint/utils-5.23.0"
+      sources."@typescript-eslint/visitor-keys-5.23.0"
       sources."@vscode/test-electron-2.1.3"
       sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
@@ -122521,7 +120457,7 @@ in
       sources."entities-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.14.0" // {
+      (sources."eslint-8.15.0" // {
         dependencies = [
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
@@ -122535,7 +120471,7 @@ in
         ];
       })
       sources."eslint-visitor-keys-3.3.0"
-      sources."espree-9.3.1"
+      sources."espree-9.3.2"
       (sources."esquery-1.4.0" // {
         dependencies = [
           sources."estraverse-5.3.0"
@@ -122581,7 +120517,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
@@ -122755,7 +120691,7 @@ in
       sources."xmlbuilder-11.0.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
@@ -122778,7 +120714,7 @@ in
     dependencies = [
       sources."find-up-5.0.0"
       sources."locate-path-6.0.0"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."path-exists-4.0.0"
@@ -122843,7 +120779,7 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
       sources."function-bind-1.1.1"
@@ -123077,10 +121013,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.16.0";
+    version = "3.17.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.16.0.tgz";
-      sha512 = "z/UV32k+Pipii6CVtaCTDka5+rYExUwvF0Kx8808ghr7MstWclfL81x4CGDoXSTixRE/lus2KHLQfdljnunBnA==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.17.0.tgz";
+      sha512 = "M3VJc8PW/elxCAU/vQeNYPdjp3m7Ms/WyE+A+s2TTJYOVBVUuQhX2s+4u6GulTkxeBF3s83EvX26eAJ4RdXCTQ==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -123096,7 +121032,7 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
-      (sources."@serverless/utils-6.0.3" // {
+      (sources."@serverless/utils-6.4.0" // {
         dependencies = [
           sources."jwt-decode-3.1.2"
         ];
@@ -123109,7 +121045,7 @@ in
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
       sources."@types/lodash-4.14.182"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."adm-zip-0.5.9"
       sources."agent-base-6.0.2"
@@ -123135,7 +121071,7 @@ in
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1134.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -123160,7 +121096,7 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."builtin-modules-3.2.0"
+      sources."builtin-modules-3.3.0"
       sources."builtins-1.0.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
@@ -123180,7 +121116,7 @@ in
       sources."child-process-ext-2.1.1"
       sources."chokidar-3.5.3"
       sources."chownr-2.0.0"
-      sources."ci-info-3.3.0"
+      sources."ci-info-3.3.1"
       sources."cli-color-2.0.2"
       sources."cli-cursor-3.1.0"
       sources."cli-progress-footer-2.3.1"
@@ -123198,7 +121134,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       (sources."compress-commons-4.1.1" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -123228,7 +121164,7 @@ in
           sources."type-1.2.0"
         ];
       })
-      sources."dayjs-1.11.1"
+      sources."dayjs-1.11.2"
       sources."debug-4.3.4"
       (sources."decompress-4.2.1" // {
         dependencies = [
@@ -123310,7 +121246,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."form-data-2.5.1"
       sources."formidable-1.2.6"
       sources."fs-constants-1.0.0"
@@ -123377,7 +121313,7 @@ in
       sources."jsonfile-6.1.0"
       sources."jszip-3.9.1"
       sources."jwt-decode-2.2.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."lazystream-1.0.1"
       sources."lie-3.3.0"
       sources."lodash-4.17.21"
@@ -124208,10 +122144,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.915.0";
+    version = "1.928.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.915.0.tgz";
-      sha512 = "1b7HkeFdD33hA/yWbAhenPIMJeqxR0w377+HsgIUHqDbbBVMvgEkz93tlZE3WigaiQ1J09R6bA4QA1/ELMnUNA==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.928.0.tgz";
+      sha512 = "5Surqm2iWk6sAC0i0JrBw4qPKBTW2YQ8f3s4YDuuLFUinEaDbit2DNqPgFESIRWUVWp7j+g1OT+K2KA7K3RM7Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -124234,7 +122170,7 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
@@ -124428,10 +122364,10 @@ in
   sql-formatter = nodeEnv.buildNodePackage {
     name = "sql-formatter";
     packageName = "sql-formatter";
-    version = "4.0.2";
+    version = "6.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-4.0.2.tgz";
-      sha512 = "R6u9GJRiXZLr/lDo8p56L+OyyN2QFJPCDnsyEOsbdIpsnDKL8gubYFo7lNR7Zx7hfdWT80SfkoVS0CMaF/DE2w==";
+      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-6.1.0.tgz";
+      sha512 = "orheHQZIHz/v51eCIJzTUcmTrF+hZGPcparpM3+A0rdBFj0ppGf+Z7LbcdmytyzLXQqgEQGaERdOThe/NAOD3w==";
     };
     dependencies = [
       sources."argparse-2.0.1"
@@ -124612,7 +122548,7 @@ in
       })
       sources."epidemic-broadcast-trees-7.0.0"
       sources."errno-0.1.8"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       (sources."es-get-iterator-1.1.2" // {
         dependencies = [
           sources."isarray-2.0.5"
@@ -124677,11 +122613,12 @@ in
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
       sources."for-own-0.1.5"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."fragment-cache-0.2.1"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
@@ -124727,7 +122664,7 @@ in
       sources."ini-1.3.8"
       sources."int53-1.0.0"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."irregular-plurals-1.4.0"
       (sources."is-accessor-descriptor-1.0.0" // {
         dependencies = [
@@ -125296,8 +123233,8 @@ in
       })
       sources."string-width-1.0.2"
       sources."string.prototype.trim-1.2.6"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.1.1"
       sources."stringify-entities-1.3.2"
       sources."strip-ansi-3.0.1"
@@ -125473,7 +123410,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1125.0" // {
+      (sources."aws-sdk-2.1134.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -125664,7 +123601,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.2.0"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.6"
@@ -126249,10 +124186,10 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "14.8.1";
+    version = "14.8.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz";
-      sha512 = "0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.8.2.tgz";
+      sha512 = "tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -126350,7 +124287,7 @@ in
       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.24.0"
+      sources."known-css-properties-0.25.0"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
       sources."lodash.truncate-4.4.2"
@@ -126364,7 +124301,7 @@ in
       sources."minimatch-3.1.2"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."normalize-package-data-3.0.3"
       sources."normalize-path-3.0.0"
       sources."normalize-selector-0.2.0"
@@ -126612,7 +124549,7 @@ in
       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.31"
+      sources."@types/node-17.0.32"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -126697,7 +124634,7 @@ in
       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.31"
+      sources."@types/node-17.0.32"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -127423,7 +125360,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."undefsafe-2.0.5"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -127531,7 +125468,7 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
       sources."minimist-1.2.6"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."normalize-path-3.0.0"
       sources."object-hash-3.0.0"
       sources."path-parse-1.0.7"
@@ -128665,10 +126602,12 @@ in
       sources."define-properties-1.1.4"
       sources."emoji-regex-6.5.1"
       sources."end-with-1.0.2"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-shim-unscopables-1.0.0"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."has-1.0.3"
@@ -128691,9 +126630,10 @@ in
       sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."regexp.prototype.flags-1.4.3"
       sources."side-channel-1.0.4"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."unbox-primitive-1.0.2"
       sources."which-boxed-primitive-1.0.2"
     ];
@@ -128710,10 +126650,10 @@ in
   textlint-rule-stop-words = nodeEnv.buildNodePackage {
     name = "textlint-rule-stop-words";
     packageName = "textlint-rule-stop-words";
-    version = "2.0.9";
+    version = "3.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-2.0.9.tgz";
-      sha512 = "UW7nWrqBUHfz/sRLTFo40BNjwXOiXSHg00TJuYY4GVDQtsWRLyAsOnXSBqClP4i6wl7ejMBeYmB5mfllYAYMgA==";
+      url = "https://registry.npmjs.org/textlint-rule-stop-words/-/textlint-rule-stop-words-3.0.1.tgz";
+      sha512 = "gO4N3OnPLvE6+fvJ1Y5m8MzDVrqMEWzW8pTGMXjL8VAXmQkD6YQ9eDMbsVN0/DzEe8tcsBqNgA/iIrQ64oECuQ==";
     };
     dependencies = [
       sources."@types/unist-2.0.6"
@@ -128739,10 +126679,10 @@ in
   textlint-rule-terminology = nodeEnv.buildNodePackage {
     name = "textlint-rule-terminology";
     packageName = "textlint-rule-terminology";
-    version = "2.1.5";
+    version = "3.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-2.1.5.tgz";
-      sha512 = "VW+ea4ByLPddSUqoFkVVJF8zWnO8kqKwvC681wGFAjI4CYz9WhjEQH1ikhoEHXnd5AFXNArcjyoa8hoihrXy0w==";
+      url = "https://registry.npmjs.org/textlint-rule-terminology/-/textlint-rule-terminology-3.0.0.tgz";
+      sha512 = "ySHbdLcA9Mdbbbc/Wkts3f8CVvY2Nsy3r21NH4bK785jhdpZozG771WDR7d7L5nNnFBeH7MmS0IcscfMpxMyvQ==";
     };
     dependencies = [
       sources."@types/unist-2.0.6"
@@ -128774,12 +126714,14 @@ in
       sha512 = "F1kV06CdonOM2awtXjCSRYUsRJfDfZIujQQo4zEMqNqD6UwpkapxpZOiwcwbeaQz00+17ljbJEoGqIe2XeiU+w==";
     };
     dependencies = [
-      sources."array-includes-3.1.4"
+      sources."array-includes-3.1.5"
       sources."call-bind-1.0.2"
       sources."define-properties-1.1.4"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
       sources."has-1.0.3"
@@ -128803,9 +126745,10 @@ in
       sources."object-inspect-1.12.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
+      sources."regexp.prototype.flags-1.4.3"
       sources."side-channel-1.0.4"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."unbox-primitive-1.0.2"
       sources."which-boxed-primitive-1.0.2"
     ];
@@ -128875,7 +126818,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -128920,14 +126863,14 @@ in
       sources."color-support-1.1.3"
       sources."commander-9.0.0"
       sources."component-emitter-1.3.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       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-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -128962,7 +126905,7 @@ in
       })
       sources."engine.io-parser-5.0.4"
       sources."entities-2.2.0"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -128975,12 +126918,14 @@ in
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
       sources."finalhandler-1.1.2"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gauge-3.0.2"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-5.2.0"
@@ -129012,7 +126957,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ipaddr.js-1.9.1"
       (sources."irc-framework-4.12.1" // {
         dependencies = [
@@ -129039,7 +126984,7 @@ in
       sources."json-buffer-3.0.1"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -129105,6 +127050,7 @@ in
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-3.0.2"
       sources."regenerator-runtime-0.13.9"
+      sources."regexp.prototype.flags-1.4.3"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."resolve-alpn-1.2.1"
@@ -129142,8 +127088,8 @@ in
       sources."statuses-1.5.0"
       sources."stream-browserify-3.0.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
@@ -129218,7 +127164,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -129263,14 +127209,14 @@ in
       sources."color-support-1.1.3"
       sources."commander-9.0.0"
       sources."component-emitter-1.3.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       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-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -129305,7 +127251,7 @@ in
       })
       sources."engine.io-parser-5.0.4"
       sources."entities-2.2.0"
-      sources."es-abstract-1.19.5"
+      sources."es-abstract-1.20.0"
       sources."es-to-primitive-1.2.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -129318,12 +127264,14 @@ in
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
       sources."finalhandler-1.1.2"
-      sources."foreach-2.0.5"
+      sources."foreach-2.0.6"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
+      sources."function.prototype.name-1.1.5"
+      sources."functions-have-names-1.2.3"
       sources."gauge-3.0.2"
       sources."get-intrinsic-1.1.1"
       sources."get-stream-5.2.0"
@@ -129355,7 +127303,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-slot-1.0.3"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ipaddr.js-1.9.1"
       (sources."irc-framework-4.12.1" // {
         dependencies = [
@@ -129382,7 +127330,7 @@ in
       sources."json-buffer-3.0.1"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -129448,6 +127396,7 @@ in
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-3.0.2"
       sources."regenerator-runtime-0.13.9"
+      sources."regexp.prototype.flags-1.4.3"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."resolve-alpn-1.2.1"
@@ -129485,8 +127434,8 @@ in
       sources."statuses-1.5.0"
       sources."stream-browserify-3.0.0"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.4"
-      sources."string.prototype.trimstart-1.0.4"
+      sources."string.prototype.trimend-1.0.5"
+      sources."string.prototype.trimstart-1.0.5"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
@@ -129635,7 +127584,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130228,7 +128177,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130298,7 +128247,7 @@ in
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       (sources."content-disposition-0.5.3" // {
@@ -130309,7 +128258,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130443,7 +128392,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -130695,7 +128644,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -130765,7 +128714,7 @@ in
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
       sources."component-inherit-0.0.3"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       (sources."content-disposition-0.5.3" // {
@@ -130776,7 +128725,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -130910,7 +128859,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -131545,10 +129494,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.140.0";
+    version = "0.140.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.140.0.tgz";
-      sha512 = "jcHjbnYspPLDdsDQChmzyAoZ5KhJbgFk6pNGlAIc9fQMvsfPGjF5H9glrngqvb2CR/qXcClMyp5PYdF996lldA==";
+      url = "https://registry.npmjs.org/three/-/three-0.140.2.tgz";
+      sha512 = "DdT/AHm/TbZXEhQKQpGt5/iSgBrmXpjU26FNtj1KhllVPTKj1eG4X/ShyD5W2fngE+I1s1wa4ttC4C3oCJt7Ag==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -132044,10 +129993,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.9.7";
+    version = "0.10.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.9.7.tgz";
-      sha512 = "xjw6C9PctpLSwKEqaavSKfeH1CRmx1sD/DWXjig4xA/e9Y9/Mr70ViOinq5grFzexzDcdqdb7VDdkf7Ke+eZFg==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.10.0.tgz";
+      sha512 = "VHCrQT2Znbcb+Bbw+cE1vVN2k9mZCJzjxW/i8b3B8Vhw8PNCNHYkWE3i0SzYshWCktWQk/LepJX/imKHEXw6YA==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -132115,8 +130064,17 @@ in
       sources."unique-string-2.0.0"
       sources."universalify-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-7.0.0" // {
+        dependencies = [
+          sources."vscode-languageserver-protocol-3.16.0"
+        ];
+      })
+      (sources."vscode-languageserver-protocol-3.17.1" // {
+        dependencies = [
+          sources."vscode-jsonrpc-8.0.1"
+          sources."vscode-languageserver-types-3.17.1"
+        ];
+      })
       sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-3.0.3"
@@ -132136,10 +130094,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.15.4";
+    version = "3.15.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz";
-      sha512 = "vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.5.tgz";
+      sha512 = "hNM5q5GbBRB5xB+PMqVRcgYe4c8jbyZ1pzZhS6jbq54/4F2gFK869ZheiE5A8/t+W5jtTNpWef/5Q9zk639FNQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -132190,7 +130148,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/json-buffer-3.0.0"
       sources."@types/keyv-3.1.4"
-      sources."@types/node-16.11.33"
+      sources."@types/node-16.11.34"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
@@ -132222,7 +130180,7 @@ in
       sources."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
-      sources."compress-brotli-1.3.6"
+      sources."compress-brotli-1.3.8"
       sources."concat-map-0.0.1"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
@@ -132273,8 +130231,9 @@ in
           sources."cookie-0.4.2"
         ];
       })
-      (sources."express-session-1.17.2" // {
+      (sources."express-session-1.17.3" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."depd-2.0.0"
         ];
       })
@@ -132315,7 +130274,7 @@ in
       sources."jquery-ui-1.13.1"
       sources."json-buffer-3.0.1"
       sources."just-detect-adblock-1.1.0"
-      sources."keyv-4.2.2"
+      sources."keyv-4.2.8"
       sources."knockout-3.5.1"
       sources."kuler-2.0.0"
       sources."latest-version-6.0.0"
@@ -132507,7 +130466,7 @@ in
       sources."@types/is-empty-1.2.1"
       sources."@types/js-yaml-4.0.5"
       sources."@types/ms-0.7.31"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."ansi-regex-6.0.1"
@@ -132749,7 +130708,7 @@ in
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -132812,21 +130771,21 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "24.2.0";
+    version = "24.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-24.2.0.tgz";
-      sha512 = "XC0ejLnWJ90hk6K9r3zycClhpzCz3hU4p7vStvbQe73r+kyqzLEdop1CB+vBg5jSy7ApE+6pz0fon7TWA1gNrg==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-24.2.1.tgz";
+      sha512 = "sKVn/Q3WGF6a6bXjBLgfR3oyi9Pb7KQrltHOam6aM5vAWWMyC5uJi4e5mVVZ2KULlO6I6e5GKNxzNFxw1FWYiA==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.31"
-      sources."@vercel/build-utils-2.16.0"
-      sources."@vercel/go-1.4.0"
-      sources."@vercel/node-1.15.0"
+      sources."@types/node-17.0.32"
+      sources."@vercel/build-utils-2.17.0"
+      sources."@vercel/go-1.4.1"
+      sources."@vercel/node-1.15.1"
       sources."@vercel/node-bridge-2.2.1"
-      sources."@vercel/python-2.3.0"
-      sources."@vercel/ruby-1.3.3"
+      sources."@vercel/python-2.3.1"
+      sources."@vercel/ruby-1.3.4"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -133044,7 +131003,7 @@ in
       sources."get-intrinsic-1.1.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -133162,11 +131121,11 @@ in
     };
     dependencies = [
       sources."vscode-css-languageservice-3.0.13"
-      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-jsonrpc-8.0.1"
       sources."vscode-languageserver-4.4.2"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-4.1.2"
       sources."vscode-uri-1.0.8"
     ];
@@ -133200,11 +131159,11 @@ in
           sources."vscode-nls-4.1.2"
         ];
       })
-      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-jsonrpc-8.0.1"
       sources."vscode-languageserver-4.4.2"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-protocol-foldingprovider-2.0.1"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-3.2.5"
       sources."vscode-uri-1.0.8"
     ];
@@ -133243,9 +131202,13 @@ in
       })
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
-      sources."vscode-languageserver-protocol-3.16.0"
+      (sources."vscode-languageserver-protocol-3.16.0" // {
+        dependencies = [
+          sources."vscode-languageserver-types-3.16.0"
+        ];
+      })
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-4.1.2"
       sources."vscode-uri-3.0.3"
     ];
@@ -133312,13 +131275,13 @@ in
   vscode-langservers-extracted = nodeEnv.buildNodePackage {
     name = "vscode-langservers-extracted";
     packageName = "vscode-langservers-extracted";
-    version = "4.1.0";
+    version = "4.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.1.0.tgz";
-      sha512 = "HZfrlqpVu8N0UkSyjldPsGFpVFByYaDRDMmBvmKwKai2rAsd2vtde2CFnX9rOpmg3pN2vET8j3qtqZvZLzmkjQ==";
+      url = "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.2.1.tgz";
+      sha512 = "Un7gzQgvACjGtsT0Yll5QqHgL65a4mTK5ChgMnO4dgTZ3tuwJCaP84oztBqvuFZzN9QxA3C07J4QEQvf1xjcgQ==";
     };
     dependencies = [
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."jsonc-parser-3.0.0"
       sources."regenerator-runtime-0.13.9"
       sources."request-light-0.5.8"
@@ -133326,18 +131289,13 @@ in
       sources."vscode-css-languageservice-5.4.2"
       sources."vscode-html-languageservice-4.2.5"
       sources."vscode-json-languageservice-4.2.1"
-      sources."vscode-jsonrpc-8.0.0-next.8"
-      sources."vscode-languageserver-8.0.0-next.14"
-      (sources."vscode-languageserver-protocol-3.17.0-next.20" // {
-        dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.12"
-        ];
-      })
+      sources."vscode-jsonrpc-8.0.1"
+      sources."vscode-languageserver-8.0.1"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
-      sources."yarn-1.22.18"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -133356,13 +131314,13 @@ in
     src = ../../applications/editors/vscode/extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.7"
-      sources."@types/eslint-8.4.1"
+      sources."@types/eslint-8.4.2"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
-      sources."@types/vscode-1.66.0"
+      sources."@types/vscode-1.67.0"
       sources."@types/yauzl-2.10.0"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."@webassemblyjs/ast-1.11.1"
@@ -133407,7 +131365,7 @@ in
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -133447,7 +131405,7 @@ in
       sources."domelementtype-2.3.0"
       sources."domhandler-4.3.1"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.9.3"
@@ -133508,7 +131466,7 @@ in
       sources."isobject-3.0.1"
       sources."jest-worker-27.5.1"
       sources."js-yaml-4.0.0"
-      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-0.4.1"
       sources."json5-2.2.1"
       sources."kind-of-6.0.3"
@@ -133659,7 +131617,7 @@ in
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.3.1"
       sources."webidl-conversions-4.0.2"
-      sources."webpack-5.72.0"
+      sources."webpack-5.72.1"
       (sources."webpack-cli-4.9.2" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -133963,7 +131921,7 @@ in
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.15.4"
+      sources."uglify-js-3.15.5"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -134026,7 +131984,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.31"
+      sources."@types/node-17.0.32"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -134888,11 +132846,11 @@ in
         ];
       })
       sources."vscode-emmet-helper-1.2.17"
-      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-jsonrpc-8.0.1"
       sources."vscode-languageserver-5.3.0-next.10"
-      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-protocol-3.17.1"
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-5.0.1"
       sources."vscode-textbuffer-1.0.0"
       sources."vscode-uri-1.0.8"
@@ -134987,7 +132945,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.22.3"
+      sources."core-js-pure-3.22.5"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -135128,7 +133086,7 @@ in
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -135167,9 +133125,10 @@ 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.2.2" // {
+      (sources."@eslint/eslintrc-1.2.3" // {
         dependencies = [
           sources."debug-4.3.4"
+          sources."espree-9.3.2"
           sources."ms-2.1.2"
         ];
       })
@@ -135184,7 +133143,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/yauzl-2.9.2"
       sources."acorn-8.7.1"
       sources."acorn-jsx-5.3.2"
@@ -135367,7 +133326,7 @@ in
       sources."glob-parent-6.0.2"
       sources."glob-to-regexp-0.4.1"
       sources."global-dirs-3.0.0"
-      sources."globals-13.13.0"
+      sources."globals-13.15.0"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
@@ -135500,7 +133459,7 @@ in
       })
       sources."mz-2.7.0"
       sources."nan-2.15.0"
-      sources."nanoid-3.3.3"
+      sources."nanoid-3.3.4"
       sources."natural-compare-1.4.0"
       sources."ncp-2.0.0"
       sources."node-forge-0.10.0"
@@ -135702,17 +133661,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.72.0";
+    version = "5.72.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz";
-      sha512 = "qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz";
+      sha512 = "dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==";
     };
     dependencies = [
-      sources."@types/eslint-8.4.1"
+      sources."@types/eslint-8.4.2"
       sources."@types/eslint-scope-3.7.3"
       sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.11"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -135736,10 +133695,10 @@ in
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.20.3"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001334"
+      sources."caniuse-lite-1.0.30001340"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.129"
+      sources."electron-to-chromium-1.4.137"
       sources."enhanced-resolve-5.9.3"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
@@ -135757,7 +133716,7 @@ in
       sources."graceful-fs-4.2.10"
       sources."has-flag-4.0.0"
       sources."jest-worker-27.5.1"
-      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.3.1"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.3.0"
       sources."lodash.sortby-4.7.0"
@@ -135871,23 +133830,23 @@ in
   webpack-dev-server = nodeEnv.buildNodePackage {
     name = "webpack-dev-server";
     packageName = "webpack-dev-server";
-    version = "4.8.1";
+    version = "4.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.8.1.tgz";
-      sha512 = "dwld70gkgNJa33czmcj/PlKY/nOy/BimbrgZRaR9vDATBQAYgLzggR0nxDtPLJiLrMgZwbE6RRfJ5vnBBasTyg==";
+      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz";
+      sha512 = "+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw==";
     };
     dependencies = [
-      sources."@leichtgewicht/ip-codec-2.0.3"
+      sources."@leichtgewicht/ip-codec-2.0.4"
       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/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/retry-0.12.0"
@@ -135902,7 +133861,6 @@ in
       sources."ansi-html-community-0.0.8"
       sources."anymatch-3.1.2"
       sources."array-flatten-2.1.2"
-      sources."async-2.6.4"
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
@@ -135956,7 +133914,7 @@ in
       sources."faye-websocket-0.11.4"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.2.0"
-      sources."follow-redirects-1.14.9"
+      sources."follow-redirects-1.15.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-monkey-1.0.3"
@@ -135998,7 +133956,6 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."json-schema-traverse-1.0.0"
-      sources."lodash-4.17.21"
       sources."media-typer-0.3.0"
       sources."memfs-3.4.1"
       sources."merge-descriptors-1.0.1"
@@ -136011,8 +133968,6 @@ in
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.1.2"
-      sources."minimist-1.2.6"
-      sources."mkdirp-0.5.6"
       sources."ms-2.0.0"
       sources."multicast-dns-7.2.4"
       sources."negotiator-0.6.3"
@@ -136032,12 +133987,6 @@ in
       sources."path-key-3.1.1"
       sources."path-to-regexp-0.1.7"
       sources."picomatch-2.3.1"
-      (sources."portfinder-1.0.28" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."ms-2.1.3"
-        ];
-      })
       sources."process-nextick-args-2.0.1"
       (sources."proxy-addr-2.0.7" // {
         dependencies = [
@@ -136198,7 +134147,7 @@ in
       sha512 = "uamNZvqmpk1NpK+Vk/L8hppxq/7n8qtD+pQKia9pkXIAGqOGDA65ql9hx6g8rA2tM7cKDNkJhtxxF9ibJsyveQ==";
     };
     dependencies = [
-      sources."@leichtgewicht/ip-codec-2.0.3"
+      sources."@leichtgewicht/ip-codec-2.0.4"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -136210,7 +134159,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
@@ -136242,7 +134191,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      (sources."bittorrent-tracker-9.18.5" // {
+      (sources."bittorrent-tracker-9.18.6" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -136316,6 +134265,7 @@ in
       })
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
+      sources."emitter-component-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."err-code-3.0.1"
@@ -136342,7 +134292,7 @@ in
       sources."immediate-chunk-store-2.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-set-2.1.0"
       sources."ipaddr.js-2.0.1"
       sources."is-ascii-1.0.0"
@@ -136469,6 +134419,7 @@ in
       sources."speed-limiter-1.0.2"
       sources."speedometer-1.1.0"
       sources."split-1.0.1"
+      sources."stream-0.0.2"
       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"
@@ -136480,10 +134431,11 @@ in
       sources."supports-color-7.2.0"
       sources."thirty-two-1.0.2"
       sources."through-2.3.8"
+      sources."throughput-1.0.0"
       sources."thunky-0.1.0"
       sources."timeout-refresh-1.0.3"
       sources."to-arraybuffer-1.0.1"
-      (sources."torrent-discovery-9.4.10" // {
+      (sources."torrent-discovery-9.4.12" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -136510,7 +134462,7 @@ in
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.8.16" // {
+      (sources."webtorrent-1.8.19" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."decompress-response-6.0.0"
@@ -136527,7 +134479,7 @@ in
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
       sources."y18n-5.0.8"
-      sources."yargs-17.4.1"
+      sources."yargs-17.5.0"
       sources."yargs-parser-21.0.1"
     ];
     buildInputs = globalBuildInputs;
@@ -136599,9 +134551,13 @@ in
       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-protocol-3.16.0" // {
+        dependencies = [
+          sources."vscode-languageserver-types-3.16.0"
+        ];
+      })
       sources."vscode-languageserver-textdocument-1.0.4"
-      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-languageserver-types-3.17.1"
       sources."vscode-nls-5.0.1"
       sources."vscode-uri-3.0.3"
       sources."yaml-2.0.0-11"
@@ -136869,7 +134825,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.22.3"
+      sources."core-js-3.22.5"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -136897,7 +134853,7 @@ in
       sources."downgrade-root-1.2.2"
       sources."duplexer3-0.1.4"
       sources."ecc-jsbn-0.1.2"
-      sources."ejs-3.1.7"
+      sources."ejs-3.1.8"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       (sources."encoding-0.1.13" // {
@@ -136925,7 +134881,7 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."figures-2.0.0"
-      (sources."filelist-1.0.3" // {
+      (sources."filelist-1.0.4" // {
         dependencies = [
           sources."minimatch-5.0.1"
         ];
@@ -136949,7 +134905,7 @@ in
       sources."get-stdin-4.0.1"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
-      (sources."glob-8.0.1" // {
+      (sources."glob-8.0.2" // {
         dependencies = [
           sources."minimatch-5.0.1"
         ];
@@ -136962,7 +134918,7 @@ in
       })
       sources."global-dirs-0.1.1"
       sources."global-tunnel-ng-2.7.1"
-      sources."globalthis-1.0.2"
+      sources."globalthis-1.0.3"
       sources."globby-11.1.0"
       (sources."got-8.3.2" // {
         dependencies = [
@@ -137022,7 +134978,7 @@ in
           sources."p-is-promise-1.1.0"
         ];
       })
-      sources."ip-1.1.5"
+      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."is-arrayish-0.2.1"
       sources."is-ci-1.2.1"
@@ -137232,8 +135188,8 @@ in
           sources."debug-4.3.4"
           sources."http-cache-semantics-4.1.0"
           sources."http-proxy-agent-5.0.0"
-          sources."lru-cache-7.9.0"
-          (sources."make-fetch-happen-10.1.2" // {
+          sources."lru-cache-7.10.1"
+          (sources."make-fetch-happen-10.1.3" // {
             dependencies = [
               sources."minipass-fetch-2.1.0"
             ];
@@ -137717,7 +135673,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.32"
       sources."@types/which-2.0.1"
       sources."braces-3.0.2"
       sources."chalk-5.0.1"
diff --git a/pkgs/development/node-packages/package-tests/prisma.nix b/pkgs/development/node-packages/package-tests/prisma.nix
new file mode 100644
index 0000000000000..35a5516a3b5b0
--- /dev/null
+++ b/pkgs/development/node-packages/package-tests/prisma.nix
@@ -0,0 +1,56 @@
+{ lib, pkgs, runCommand, prisma }:
+
+let
+  inherit (prisma) packageName;
+  prismaMajorVersion = lib.versions.majorMinor prisma.version;
+  enginesMajorVersion = lib.versions.majorMinor pkgs.prisma-engines.version;
+in
+
+runCommand "${packageName}-tests" {
+  nativeBuildInputs = with pkgs; [ prisma sqlite-interactive ];
+  meta.timeout = 60;
+}
+  ''
+    mkdir $out
+    cd $out
+
+    if [ "${prismaMajorVersion}" != "${enginesMajorVersion}" ]; then
+      echo "nodePackages.prisma in version ${prismaMajorVersion} and prisma-engines in ${enginesMajorVersion}. Major versions must match."
+      exit 1
+    fi
+
+    # Ensure CLI runs
+    prisma --help > /dev/null
+
+    # Init a new project
+    prisma init > /dev/null
+
+    # Create a simple data model
+    cat << EOF > prisma/schema.prisma
+    datasource db {
+      provider = "sqlite"
+      url      = "file:test.db"
+    }
+
+    generator js {
+      provider = "prisma-client-js"
+    }
+
+    model A {
+      id Int    @id @default(autoincrement())
+      b  String @default("foo")
+    }
+    EOF
+
+    # Format
+    prisma format > /dev/null
+
+    # Create the database
+    prisma db push --skip-generate > /dev/null
+
+    # The database file should exist and be a SQLite database
+    sqlite3 prisma/test.db "SELECT id, b FROM A" > /dev/null
+
+    # Introspect the database
+    prisma db pull > /dev/null
+  ''
diff --git a/pkgs/development/ocaml-modules/atd/default.nix b/pkgs/development/ocaml-modules/atd/default.nix
index 5ff5496ed6f6b..81b9567fcdc44 100644
--- a/pkgs/development/ocaml-modules/atd/default.nix
+++ b/pkgs/development/ocaml-modules/atd/default.nix
@@ -17,9 +17,10 @@ buildDunePackage rec {
   };
 
   meta = with lib; {
-    homepage = "https://github.com/mjambon/atd";
     description = "Syntax for cross-language type definitions";
+    homepage = "https://github.com/mjambon/atd";
     license = licenses.mit;
     maintainers = with maintainers; [ aij jwilberding ];
+    mainProgram = "atdcat";
   };
 }
diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix
index d870ab8650539..eba150e340238 100644
--- a/pkgs/development/ocaml-modules/awa/default.nix
+++ b/pkgs/development/ocaml-modules/awa/default.nix
@@ -32,9 +32,10 @@ buildDunePackage rec {
 
   meta = with lib; {
     description = "SSH implementation in OCaml";
-    license = licenses.isc;
     homepage = "https://github.com/mirage/awa-ssh";
     changelog = "https://github.com/mirage/awa-ssh/raw/v${version}/CHANGES.md";
+    license = licenses.isc;
     maintainers = [ maintainers.sternenseemann ];
+    mainProgram = "awa_lwt_server";
   };
 }
diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix
index c80162307241d..f2a98516c757e 100644
--- a/pkgs/development/ocaml-modules/benchmark/default.nix
+++ b/pkgs/development/ocaml-modules/benchmark/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = "http://ocaml-benchmark.forge.ocamlcore.org/";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     description = "Benchmark running times of code";
     license = lib.licenses.lgpl21;
     maintainers = with lib.maintainers; [ volth ];
diff --git a/pkgs/development/ocaml-modules/biniou/1.0.nix b/pkgs/development/ocaml-modules/biniou/1.0.nix
deleted file mode 100644
index ec81e5b8db912..0000000000000
--- a/pkgs/development/ocaml-modules/biniou/1.0.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{lib, stdenv, fetchurl, ocaml, findlib, easy-format}:
-let
-  pname = "biniou";
-  version = "1.0.9";
-  webpage = "http://mjambon.com/${pname}.html";
-in
-
-assert lib.versionAtLeast (lib.getVersion ocaml) "3.11";
-
-stdenv.mkDerivation rec {
-
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://mjambon.com/releases/${pname}/${name}.tar.gz";
-    sha256 = "14j3hrhbjqxbizr1pr8fcig9dmfzhbjjwzwyc99fcsdic67w8izb";
-  };
-
-  nativeBuildInputs = [ ocaml findlib ];
-  buildInputs = [ easy-format ];
-
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
-  makeFlags = [ "PREFIX=$(out)" ];
-
-  preBuild = ''
-    mkdir -p $out/bin
-  '';
-
-  meta = with lib; {
-    description = "A binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
-    homepage = webpage;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/biniou/default.nix b/pkgs/development/ocaml-modules/biniou/default.nix
index 75725f135518c..ff3b87699356d 100644
--- a/pkgs/development/ocaml-modules/biniou/default.nix
+++ b/pkgs/development/ocaml-modules/biniou/default.nix
@@ -22,9 +22,10 @@ buildDunePackage rec {
   '';
 
   meta = {
-    inherit (src.meta) homepage;
     description = "Binary data format designed for speed, safety, ease of use and backward compatibility as protocols evolve";
-    maintainers = [ lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
     license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "bdump";
   };
 }
diff --git a/pkgs/development/ocaml-modules/bisect_ppx/default.nix b/pkgs/development/ocaml-modules/bisect_ppx/default.nix
index 48b9684902ce0..fdfc61e73c34d 100644
--- a/pkgs/development/ocaml-modules/bisect_ppx/default.nix
+++ b/pkgs/development/ocaml-modules/bisect_ppx/default.nix
@@ -21,8 +21,9 @@ buildDunePackage rec {
 
   meta = with lib; {
     description = "Bisect_ppx is a code coverage tool for OCaml and Reason. It helps you test thoroughly by showing what's not tested.";
-    license = licenses.mit;
     homepage = "https://github.com/aantron/bisect_ppx";
+    license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "bisect-ppx-report";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
index 987c325ee00ee..9c71ca476c969 100644
--- a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
+++ b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
@@ -43,9 +43,10 @@ buildDunePackage rec {
   checkInputs = [ alcotest ];
 
   meta = with lib; {
-    license = licenses.isc;
     description = "X.509 trust anchors extracted from Mozilla's NSS";
-    maintainers = [ maintainers.sternenseemann ];
     homepage = "https://github.com/mirage/ca-certs-nss";
+    license = licenses.isc;
+    maintainers = [ maintainers.sternenseemann ];
+    mainProgram = "extract-from-certdata";
   };
 }
diff --git a/pkgs/development/ocaml-modules/camlzip/default.nix b/pkgs/development/ocaml-modules/camlzip/default.nix
index 8124b8d8e4371..caf3e7a63f0dd 100644
--- a/pkgs/development/ocaml-modules/camlzip/default.nix
+++ b/pkgs/development/ocaml-modules/camlzip/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation {
       for reading from and writing to compressed files in these formats.
     '';
     license = "LGPL+linking exceptions";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = with maintainers; [ maggesi ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.2.nix b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
index 43bbfe7b6a6dc..502e517b2a9d0 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.2.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.2.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "A comprehensive Unicode library for OCaml";
     license = lib.licenses.lgpl21;
     branch = "0.8.2";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
     ];
diff --git a/pkgs/development/ocaml-modules/camomile/0.8.5.nix b/pkgs/development/ocaml-modules/camomile/0.8.5.nix
index e639538369820..7726a95cece69 100644
--- a/pkgs/development/ocaml-modules/camomile/0.8.5.nix
+++ b/pkgs/development/ocaml-modules/camomile/0.8.5.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homepage = "https://github.com/yoriyuki/Camomile/tree/master/Camomile";
     description = "A comprehensive Unicode library for OCaml";
     license = lib.licenses.lgpl21;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
     ];
diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix
index 3a07707a4cd19..13d9f2829aff7 100644
--- a/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -39,9 +39,10 @@ buildDunePackage rec {
   doCheck = true;
 
   meta = {
-    homepage = "https://github.com/mirage/checkseum";
     description = "ADLER-32 and CRC32C Cyclic Redundancy Check";
+    homepage = "https://github.com/mirage/checkseum";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "checkseum.checkseum";
   };
 }
diff --git a/pkgs/development/ocaml-modules/cmdliner/default.nix b/pkgs/development/ocaml-modules/cmdliner/default.nix
index 7797055610098..ed96b1b61553a 100644
--- a/pkgs/development/ocaml-modules/cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/cmdliner/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage = "https://erratique.ch/software/cmdliner";
     description = "An OCaml module for the declarative definition of command line interfaces";
     license = licenses.bsd3;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/coin/default.nix b/pkgs/development/ocaml-modules/coin/default.nix
index 0ff2ce9404105..5996cd7adb612 100644
--- a/pkgs/development/ocaml-modules/coin/default.nix
+++ b/pkgs/development/ocaml-modules/coin/default.nix
@@ -30,8 +30,9 @@ buildDunePackage rec {
 
   meta = {
     description = "A library to normalize an KOI8-{U,R} input to Unicode";
-    license = lib.licenses.mit;
     homepage = "https://github.com/mirage/coin";
+    license = lib.licenses.mit;
     maintainers = with lib.maintainers; [ ];
+    mainProgram = "coin.generate";
   };
 }
diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix
index b1694885258a1..d9960f732c744 100644
--- a/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -31,10 +31,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://www.coherentpdf.com/";
-    platforms = ocaml.meta.platforms or [];
     description = "PDF Command Line Tools";
+    homepage = "https://www.coherentpdf.com/";
     license = licenses.unfree;
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "cpdf";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/cryptgps/default.nix b/pkgs/development/ocaml-modules/cryptgps/default.nix
index aeaa87aaf75f9..60f64c3405431 100644
--- a/pkgs/development/ocaml-modules/cryptgps/default.nix
+++ b/pkgs/development/ocaml-modules/cryptgps/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
       itself.
     '';
     license = lib.licenses.mit;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
     ];
diff --git a/pkgs/development/ocaml-modules/cryptokit/default.nix b/pkgs/development/ocaml-modules/cryptokit/default.nix
index 1b5a50b13b973..59ba28be3c3bf 100644
--- a/pkgs/development/ocaml-modules/cryptokit/default.nix
+++ b/pkgs/development/ocaml-modules/cryptokit/default.nix
@@ -1,16 +1,16 @@
-{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith, ncurses }:
+{ lib, buildDunePackage, fetchFromGitHub, zlib, dune-configurator, zarith }:
 
 buildDunePackage rec {
   pname = "cryptokit";
-  version = "1.16.1";
+  version = "1.17";
 
-  useDune2 = true;
+  minimalOCamlVersion = "4.08";
 
   src = fetchFromGitHub {
     owner = "xavierleroy";
     repo = "cryptokit";
     rev = "release${lib.replaceStrings ["."] [""] version}";
-    sha256 = "sha256-eDIzi16Al/mXCNos/lVqjZWCtdP9SllXnRfm4GBWMfA=";
+    sha256 = "sha256:1xi7kcigxkfridjas2zwldsfc21wi31cgln071sbmv4agh3dqbyw";
   };
 
   # dont do autotools configuration, but do trigger findlib's preConfigure hook
@@ -19,7 +19,7 @@ buildDunePackage rec {
     runHook postConfigure
   '';
 
-  buildInputs = [ dune-configurator ncurses ];
+  buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ zarith zlib ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/curses/default.nix b/pkgs/development/ocaml-modules/curses/default.nix
index 824f24ab95507..b9006012ae512 100644
--- a/pkgs/development/ocaml-modules/curses/default.nix
+++ b/pkgs/development/ocaml-modules/curses/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl21Plus;
     changelog = "https://github.com/mbacarella/curses/raw/${version}/CHANGES";
     maintainers = [ maintainers.volth ];
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index 7629349c1d1cd..f329a0ff013bd 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -23,8 +23,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Pure OCaml implementation of Zlib";
+    homepage = "https://github.com/mirage/decompress";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
-    homepage = "https://github.com/mirage/decompress";
+    mainProgram = "decompress.pipe";
   };
 }
diff --git a/pkgs/development/ocaml-modules/dns/client.nix b/pkgs/development/ocaml-modules/dns/client.nix
index a6dc40de24eae..5178360f7b50a 100644
--- a/pkgs/development/ocaml-modules/dns/client.nix
+++ b/pkgs/development/ocaml-modules/dns/client.nix
@@ -16,5 +16,6 @@ buildDunePackage {
 
   meta = dns.meta // {
     description = "Pure DNS resolver API";
+    mainProgram = "dns-client.unix";
   };
 }
diff --git a/pkgs/development/ocaml-modules/dypgen/default.nix b/pkgs/development/ocaml-modules/dypgen/default.nix
index 64017bd65fe2d..f504e3d7ca466 100644
--- a/pkgs/development/ocaml-modules/dypgen/default.nix
+++ b/pkgs/development/ocaml-modules/dypgen/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "http://dypgen.free.fr";
     description = "Dypgen GLR self extensible parser generator";
     license = lib.licenses.cecill-b;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index a6e78977846c9..a3fb972296577 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -1,24 +1,15 @@
-{ lib, stdenv, fetchFromGitHub, ocaml, findlib }:
-
-stdenv.mkDerivation rec {
+{ lib, fetchurl, buildDunePackage }:
 
+buildDunePackage rec {
   pname = "easy-format";
-  version = "1.2.0";
+  version = "1.3.2";
 
-  src = fetchFromGitHub {
-    owner = "mjambon";
-    repo = "easy-format";
-    rev = "v${version}";
-    sha256 = "sha256-qf73+T9a+eDy78iZgpA08TjIo+lvjftfSkwyT3M96gE=";
+  src = fetchurl {
+    url = "https://github.com/ocaml-community/easy-format/releases/download/${version}/easy-format-${version}.tbz";
+    sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l";
   };
 
-  nativeBuildInputs = [ ocaml findlib ];
-  strictDeps = true;
-
-  createFindlibDestdir = true;
-
   doCheck = true;
-  checkTarget = "test";
 
   meta = with lib; {
     description = "A high-level and functional interface to the Format module of the OCaml standard library";
diff --git a/pkgs/development/ocaml-modules/extlib/default.nix b/pkgs/development/ocaml-modules/extlib/default.nix
index 7f50548f4b87f..7baee7a6032a8 100644
--- a/pkgs/development/ocaml-modules/extlib/default.nix
+++ b/pkgs/development/ocaml-modules/extlib/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ygrek/ocaml-extlib";
     description = "Enhancements to the OCaml Standard Library modules";
     license = lib.licenses.lgpl21Only;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ lib.maintainers.sternenseemann ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix
index a05472366a21f..3c56aaf0a0ad9 100644
--- a/pkgs/development/ocaml-modules/functory/default.nix
+++ b/pkgs/development/ocaml-modules/functory/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation {
     description = "A distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion";
     license = licenses.lgpl21;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/hidapi/default.nix b/pkgs/development/ocaml-modules/hidapi/default.nix
index 44b1d5f150a87..b4492f438ccca 100644
--- a/pkgs/development/ocaml-modules/hidapi/default.nix
+++ b/pkgs/development/ocaml-modules/hidapi/default.nix
@@ -24,9 +24,10 @@ buildDunePackage rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/vbmithr/ocaml-hidapi";
     description = "Bindings to Signal11's hidapi library";
+    homepage = "https://github.com/vbmithr/ocaml-hidapi";
     license = licenses.isc;
     maintainers = [ maintainers.alexfmpe ];
+    mainProgram = "ocaml-hid-enumerate";
   };
 }
diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix
index 5955dda8ed99f..12934007cf14d 100644
--- a/pkgs/development/ocaml-modules/irmin/pack.nix
+++ b/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -20,6 +20,7 @@ buildDunePackage rec {
 
   meta = irmin.meta // {
     description = "Irmin backend which stores values in a pack file";
+    mainProgram = "irmin_fsck";
   };
 
 }
diff --git a/pkgs/development/ocaml-modules/irmin/unix.nix b/pkgs/development/ocaml-modules/irmin/unix.nix
index 89cf36979bde1..2906e77b1b6fa 100644
--- a/pkgs/development/ocaml-modules/irmin/unix.nix
+++ b/pkgs/development/ocaml-modules/irmin/unix.nix
@@ -26,6 +26,7 @@ buildDunePackage rec {
 
   meta = irmin.meta // {
     description = "Unix backends for Irmin";
+    mainProgram = "irmin";
   };
 
 }
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index 800b1c1e531a8..b9a19f13410af 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -313,6 +313,7 @@ with self;
     meta.description = "A library for building dynamic webapps, using Js_of_ocaml";
     buildInputs = [ js_of_ocaml-ppx ];
     propagatedBuildInputs = [ async_js incr_map incr_select virtual_dom ];
+    patches = [ ./incr_dom_jsoo_4_0.patch ];
   };
 
   incr_map = janePackage {
@@ -404,7 +405,10 @@ with self;
     pname = "ppx_base";
     hash = "1wv3q0qyghm0c5izq03y97lv3czqk116059mg62wx6valn22a000";
     minimumOCamlVersion = "4.04.2";
-    meta.description = "Base set of ppx rewriters";
+    meta = {
+      description = "Base set of ppx rewriters";
+      mainProgram = "ppx-base";
+    };
     propagatedBuildInputs = [ ppx_cold ppx_enumerate ppx_hash ppx_js_style ];
   };
 
@@ -518,7 +522,10 @@ with self;
     pname = "ppx_jane";
     hash = "1kk238fvrcylymwm7xwc7llbyspmx1y662ypq00vy70g112rir7j";
     minimumOCamlVersion = "4.04.2";
-    meta.description = "Standard Jane Street ppx rewriters";
+    meta = {
+      description = "Standard Jane Street ppx rewriters";
+      mainProgram = "ppx-jane";
+    };
     propagatedBuildInputs = [ base_quickcheck ppx_bin_prot ppx_expect ppx_fixed_literal ppx_module_timer ppx_optcomp ppx_optional ppx_pipebang ppx_stable ppx_string ppx_typerep_conv ppx_variants_conv ];
   };
 
diff --git a/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch b/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch
new file mode 100644
index 0000000000000..4e7a45ce96d36
--- /dev/null
+++ b/pkgs/development/ocaml-modules/janestreet/incr_dom_jsoo_4_0.patch
@@ -0,0 +1,24 @@
+diff --git a/src/js_misc.ml b/src/js_misc.ml
+index 65f7b44..bfef103 100644
+--- a/src/js_misc.ml
++++ b/src/js_misc.ml
+@@ -28,17 +28,11 @@ type rows_or_columns =
+ [@@deriving sexp, bin_io, variants, compare]
+ 
+ let innerHeight () =
+-  Js.Optdef.case
+-    Dom_html.window##.innerHeight
+-    (fun () -> Dom_html.document##.documentElement##.clientHeight)
+-    Fn.id
++  Dom_html.window##.innerHeight
+ ;;
+ 
+ let innerWidth () =
+-  Js.Optdef.case
+-    Dom_html.window##.innerWidth
+-    (fun () -> Dom_html.document##.documentElement##.clientWidth)
+-    Fn.id
++  Dom_html.window##.innerWidth
+ ;;
+ 
+ let element_is_in_viewport (elt : Dom_html.element Js.t) =
diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix
index 2b9c9918382b4..f90a252264ff7 100644
--- a/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     homepage = "https://erratique.ch/software/jsonm";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ vbgl ];
-    platforms = ocaml.meta.platforms or [];
+    mainProgram = "jsontrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index fa525dbba813d..b010272b54b48 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -39,10 +39,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html";
     description = "OpenGL bindings for ocaml";
+    homepage = "http://wwwfun.kurims.kyoto-u.ac.jp/soft/lsl/lablgl.html";
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub vbgl ];
+    mainProgram = "lablglut";
     broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
index f37c3b5c6f9a6..47f48c89be792 100644
--- a/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/2.14.0.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation (rec {
 
   meta = {
     branch = "2.14";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
       lib.maintainers.roconnor
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index 36ade6979c3eb..7eb94bc188aa3 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   dontStrip = true;
 
   meta = with lib; {
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = with maintainers; [
       maggesi roconnor vbgl
     ];
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index 56e79ffc59046..90bd678f287f1 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -42,6 +42,10 @@ let
     version = "8.06.11";
     sha256 = "1zjpg9jvs6i9jvbgn6zgispwqiv8rxvaszxcx9ha9fax3wzhv9qy";
   };
+  "4.14" = mkNewParam {
+    version = "8.06.12";
+    sha256 = "sha256:17fmb13l18isgwr38hg9r5a0nayf2hhw6acj5153cy1sygsdg3b5";
+  };
  };
  param = params . ${lib.versions.majorMinor ocaml.version}
    or (throw "labltk is not available for OCaml ${ocaml.version}");
diff --git a/pkgs/development/ocaml-modules/lambda-term/default.nix b/pkgs/development/ocaml-modules/lambda-term/default.nix
index b7ed4f24b1d95..e44fdbe3ee80f 100644
--- a/pkgs/development/ocaml-modules/lambda-term/default.nix
+++ b/pkgs/development/ocaml-modules/lambda-term/default.nix
@@ -25,7 +25,8 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ zed lwt_log lwt_react mew_vi ];
 
-  meta = { description = "Terminal manipulation library for OCaml";
+  meta = {
+    description = "Terminal manipulation library for OCaml";
     longDescription = ''
     Lambda-term is a cross-platform library for
     manipulating the terminal. It provides an abstraction for keys,
@@ -43,8 +44,7 @@ buildDunePackage rec {
 
     inherit (src.meta) homepage;
     license = lib.licenses.bsd3;
-    maintainers = [
-      lib.maintainers.gal_bolle
-    ];
+    maintainers = [ lib.maintainers.gal_bolle ];
+    mainProgram = "lambda-term-actions";
   };
 }
diff --git a/pkgs/development/ocaml-modules/letsencrypt/app.nix b/pkgs/development/ocaml-modules/letsencrypt/app.nix
index de1dbbb8c8494..1f6cc6e2b1039 100644
--- a/pkgs/development/ocaml-modules/letsencrypt/app.nix
+++ b/pkgs/development/ocaml-modules/letsencrypt/app.nix
@@ -43,5 +43,6 @@ buildDunePackage {
 
   meta = letsencrypt.meta // {
     description = "An ACME client implementation of the ACME protocol (RFC 8555) for OCaml";
+    mainProgram = "oacmel";
   };
 }
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index c0600df64f277..93824894455cc 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (libllvm.meta) license homepage;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     description = "OCaml bindings distributed with LLVM";
     maintainers = with lib.maintainers; [ vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/lustre-v6/default.nix b/pkgs/development/ocaml-modules/lustre-v6/default.nix
index 4eeb01e9f3b4f..3cc7a25a36aa6 100644
--- a/pkgs/development/ocaml-modules/lustre-v6/default.nix
+++ b/pkgs/development/ocaml-modules/lustre-v6/default.nix
@@ -20,9 +20,10 @@ buildDunePackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://www-verimag.imag.fr/lustre-v6.html";
     description = "Lustre V6 compiler";
+    homepage = "https://www-verimag.imag.fr/lustre-v6.html";
     license = lib.licenses.cecill21;
     maintainers = [ lib.maintainers.delta ];
+    mainProgram = "lv6";
   };
 }
diff --git a/pkgs/development/ocaml-modules/lutils/default.nix b/pkgs/development/ocaml-modules/lutils/default.nix
index 492a987dc9ccc..c462eb9fe15db 100644
--- a/pkgs/development/ocaml-modules/lutils/default.nix
+++ b/pkgs/development/ocaml-modules/lutils/default.nix
@@ -21,5 +21,6 @@ buildDunePackage rec {
     homepage = "https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/lutils/";
     description = "Tools and libs shared by Verimag/synchronous tools (lustre, lutin, rdbg)";
     license = lib.licenses.cecill21;
+    mainProgram = "gnuplot-rif";
   };
 }
diff --git a/pkgs/development/ocaml-modules/mrmime/default.nix b/pkgs/development/ocaml-modules/mrmime/default.nix
index a5c2a68ee47b0..50cd04ddb0a77 100644
--- a/pkgs/development/ocaml-modules/mrmime/default.nix
+++ b/pkgs/development/ocaml-modules/mrmime/default.nix
@@ -67,8 +67,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Parser and generator of mail in OCaml";
-    license = lib.licenses.mit;
     homepage = "https://github.com/mirage/mrmime";
-    maintainers = with lib.maintainers; [ ];
+    license = lib.licenses.mit;
+    maintainers = [ ];
+    mainProgram = "mrmime.generate";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index 6748619d49280..f0e70699ad883 100644
--- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -43,6 +43,6 @@ stdenv.mkDerivation rec {
     homepage = "http://cairographics.org/cairo-ocaml";
     description = "ocaml bindings for cairo library";
     license = lib.licenses.gpl2;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
index f2336cf88bbb4..f4a9e55cc1279 100644
--- a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = "https://libvirt.org/ocaml/";
     license = licenses.gpl2;
     maintainers = [ maintainers.volth ];
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
index c1831e660f423..f5b69a3b1e3a3 100644
--- a/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-lsp/default.nix
@@ -17,5 +17,6 @@ buildDunePackage rec {
 
   meta = lsp.meta // {
     description = "OCaml Language Server Protocol implementation";
+    mainProgram = "ocamllsp";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix
index 66bd00707add8..0be4e7806630c 100644
--- a/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
       x86 or x86-64 processors. Support for additional architectures and
       operating systems is planned, but not yet available.
     '';
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
     ];
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index d435d7a04842c..22cd84da1f865 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
     homepage = "http://projects.camlcity.org/projects/ocamlnet.html";
     description = "A library implementing Internet protocols (http, cgi, email, etc.) for OCaml";
     license = "Most Ocamlnet modules are released under the zlib/png license. The HTTP server module Nethttpd is, however, under the GPL.";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [
       lib.maintainers.maggesi
     ];
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index daa64b7e30193..704354202d102 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -67,7 +67,7 @@ buildDunePackage rec {
       A full featured Web server. It implements most features of the HTTP protocol, and has a very powerful extension mechanism that make very easy to plug your own OCaml modules for generating pages.
       '';
     license = lib.licenses.lgpl21Only;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ lib.maintainers.gal_bolle ];
   };
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
index 12a92c5be399c..60a07d30d0596 100644
--- a/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-toolkit/default.nix
@@ -5,7 +5,7 @@
 stdenv.mkDerivation rec {
  pname = "ocsigen-toolkit";
  name = "ocaml${ocaml.version}-${pname}-${version}";
- version = "3.1.1";
+ version = "3.2.0";
 
  propagatedBuildInputs = [ calendar js_of_ocaml-ppx_deriving_json eliom ];
  nativeBuildInputs = [ ocaml findlib opaline eliom ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "ocsigen";
     repo = pname;
     rev = version;
-    sha256 = "sha256:1fm0vvccmjib9yj5m2760vhzb4z3392swlprp51az53g3vk4q218";
+    sha256 = "sha256:13n0y8a80bl94la4lnp9dr2x7b8plhm17g9zgf0l6x42g3886pw7";
   };
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/omd/default.nix b/pkgs/development/ocaml-modules/omd/default.nix
index b9797e257abc1..cfb743cc982e3 100644
--- a/pkgs/development/ocaml-modules/omd/default.nix
+++ b/pkgs/development/ocaml-modules/omd/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ocaml/omd";
     license = lib.licenses.isc;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "omd";
     inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/otfm/default.nix b/pkgs/development/ocaml-modules/otfm/default.nix
index 91d91bdc46fe9..96ef1037cf698 100644
--- a/pkgs/development/ocaml-modules/otfm/default.nix
+++ b/pkgs/development/ocaml-modules/otfm/default.nix
@@ -34,8 +34,9 @@ stdenv.mkDerivation {
       of them.
     '';
     homepage = webpage;
-    platforms = ocaml.meta.platforms or [];
     license = licenses.bsd3;
     maintainers = [ maintainers.jirkamarsik ];
+    mainProgram = "otftrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/otoml/default.nix b/pkgs/development/ocaml-modules/otoml/default.nix
index c3f53fc611e5a..d69df70f772f0 100644
--- a/pkgs/development/ocaml-modules/otoml/default.nix
+++ b/pkgs/development/ocaml-modules/otoml/default.nix
@@ -1,4 +1,6 @@
-{ lib, fetchFromGitHub, buildDunePackage
+{ lib
+, fetchFromGitHub
+, buildDunePackage
 , menhir
 , menhirLib
 , uutf
@@ -6,7 +8,7 @@
 
 buildDunePackage rec {
   pname = "otoml";
-  version = "0.9.0";
+  version = "1.0.1";
 
   useDune2 = true;
 
@@ -16,7 +18,7 @@ buildDunePackage rec {
     owner = "dmbaturin";
     repo = pname;
     rev = version;
-    sha256 = "0l0c60rzgk11y8xq05kr8q9hkzb3c8vi995mq84x98ys73wb42j3";
+    sha256 = "sha256-2WGuq4ZLbLvfG6WZ3iimiSMqMYHCuruZc1EttZ/5rBE=";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
index 366ad9cc24acf..11da66bd76005 100644
--- a/pkgs/development/ocaml-modules/phylogenetics/default.nix
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -46,9 +46,10 @@ buildDunePackage rec {
   doCheck = true;
 
   meta = with lib; {
-    homepage = "https://github.com/biocaml/phylogenetics";
     description = "Algorithms and datastructures for phylogenetics";
-    maintainers = [ maintainers.bcdarwin ];
+    homepage = "https://github.com/biocaml/phylogenetics";
     license = licenses.cecill-b;
+    maintainers = [ maintainers.bcdarwin ];
+    mainProgram = "phylosim";
   };
 }
diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
index 8c0276bc9a7a6..39869765349bf 100644
--- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -28,9 +28,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://piqi.org";
     description = "Universal schema language and a collection of tools built around it. These are the ocaml bindings";
+    homepage = "https://piqi.org";
     license = licenses.asl20;
     maintainers = [ maintainers.maurer ];
+    mainProgram = "piqic-ocaml";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ppx_bap/default.nix b/pkgs/development/ocaml-modules/ppx_bap/default.nix
index f0a223c3db758..b1229643ae6af 100644
--- a/pkgs/development/ocaml-modules/ppx_bap/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_bap/default.nix
@@ -44,8 +44,9 @@ buildDunePackage rec {
 
   meta = {
     description = "The set of ppx rewriters for BAP";
-    license = lib.licenses.mit;
     inherit (src.meta) homepage;
+    license = lib.licenses.mit;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "ppx-bap";
   };
 }
diff --git a/pkgs/development/ocaml-modules/reperf/default.nix b/pkgs/development/ocaml-modules/reperf/default.nix
index bcae9dc695cfb..6ec05a8614986 100644
--- a/pkgs/development/ocaml-modules/reperf/default.nix
+++ b/pkgs/development/ocaml-modules/reperf/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ reason ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     printbox-text
   ];
 
diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix
index 9ac090a780e9f..483aefef12d46 100644
--- a/pkgs/development/ocaml-modules/rope/default.nix
+++ b/pkgs/development/ocaml-modules/rope/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation ({
 
   meta = {
     homepage = "http://rope.forge.ocamlcore.org/";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     description = ''Ropes ("heavyweight strings") in OCaml'';
     license = lib.licenses.lgpl21;
     maintainers = with lib.maintainers; [ volth ];
diff --git a/pkgs/development/ocaml-modules/sawja/default.nix b/pkgs/development/ocaml-modules/sawja/default.nix
index eaad7e7f1bbf6..78d28270035ab 100644
--- a/pkgs/development/ocaml-modules/sawja/default.nix
+++ b/pkgs/development/ocaml-modules/sawja/default.nix
@@ -44,6 +44,6 @@ stdenv.mkDerivation {
     homepage = "http://sawja.inria.fr/";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix
index 040a34ef6f1d3..74983fef3e77c 100644
--- a/pkgs/development/ocaml-modules/sodium/default.nix
+++ b/pkgs/development/ocaml-modules/sodium/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/dsheets/ocaml-sodium";
     description = "Binding to libsodium 1.0.9+";
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ maintainers.rixed ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/syslog/default.nix b/pkgs/development/ocaml-modules/syslog/default.nix
index 9614c404c5b91..ccec03296384a 100644
--- a/pkgs/development/ocaml-modules/syslog/default.nix
+++ b/pkgs/development/ocaml-modules/syslog/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/rixed/ocaml-syslog";
     description = "Simple wrapper to access the system logger from OCaml";
     license = licenses.lgpl21Plus;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ maintainers.rixed ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/telegraml/default.nix b/pkgs/development/ocaml-modules/telegraml/default.nix
new file mode 100644
index 0000000000000..b6f5f69b876fb
--- /dev/null
+++ b/pkgs/development/ocaml-modules/telegraml/default.nix
@@ -0,0 +1,34 @@
+{ batteries
+, buildDunePackage
+, cohttp-lwt-unix
+, fetchFromGitHub
+, lib
+, logs
+, yojson
+}:
+
+buildDunePackage rec {
+  pname = "telegraml";
+  version = "unstable-2021-06-17";
+
+  src = fetchFromGitHub {
+    owner = "nv-vn";
+    repo = "TelegraML";
+    rev = "3e28933a287e5eacd34c46b434c487f155397abc";
+    sha256 = "sha256-2bMHARatwl8Zl/fWppvwbH6Ut+igJVKzwyQb8Q4gem4=";
+  };
+
+  propagatedBuildInputs = [
+    batteries
+    cohttp-lwt-unix
+    logs
+    yojson
+  ];
+
+  meta = with lib; {
+    description = "An OCaml library implementing the Telegram bot API";
+    homepage = "https://github.com/nv-vn/TelegraML/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix
index 3a1990326df9c..44cc2076fbb44 100644
--- a/pkgs/development/ocaml-modules/tsdl/default.nix
+++ b/pkgs/development/ocaml-modules/tsdl/default.nix
@@ -37,6 +37,6 @@ stdenv.mkDerivation {
     homepage = webpage;
     description = "Thin bindings to the cross-platform SDL library";
     license = licenses.isc;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/tuntap/default.nix b/pkgs/development/ocaml-modules/tuntap/default.nix
index 981f05b01e381..2bbf89c612731 100644
--- a/pkgs/development/ocaml-modules/tuntap/default.nix
+++ b/pkgs/development/ocaml-modules/tuntap/default.nix
@@ -23,7 +23,8 @@ buildDunePackage rec {
 
   meta = {
     description = "Bindings to the UNIX tuntap facility";
-    license = lib.licenses.isc;
     homepage = "https://github.com/mirage/ocaml-tuntap";
+    license = lib.licenses.isc;
+    mainProgram = "otunctl";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ulex/default.nix b/pkgs/development/ocaml-modules/ulex/default.nix
index d08f2c4c0ae3a..b871bc403ed80 100644
--- a/pkgs/development/ocaml-modules/ulex/default.nix
+++ b/pkgs/development/ocaml-modules/ulex/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "A lexer generator for Unicode and OCaml";
     license = lib.licenses.mit;
-    platforms = ocaml.meta.platforms or [];
+    inherit (ocaml.meta) platforms;
     maintainers = [ lib.maintainers.roconnor ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index 336d66cb0a640..5e6d71c19ef8d 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -18,7 +18,8 @@ stdenv.mkDerivation rec {
     description = "An OCaml module implementing 128 bits universally unique identifiers version 3, 5 (name based with MD5, SHA-1 hashing) and 4 (random based) according to RFC 4122";
     homepage = "https://erratique.ch/software/uuidm";
     license = licenses.bsd3;
-    platforms = ocaml.meta.platforms or [];
     maintainers = [ maintainers.maurer ];
+    mainProgram = "uuidtrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uunf/default.nix b/pkgs/development/ocaml-modules/uunf/default.nix
index b61a60c2a3754..d69c22db80294 100644
--- a/pkgs/development/ocaml-modules/uunf/default.nix
+++ b/pkgs/development/ocaml-modules/uunf/default.nix
@@ -32,8 +32,9 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "An OCaml module for normalizing Unicode text";
     homepage = webpage;
-    inherit (ocaml.meta) platforms;
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "unftrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uuseg/default.nix b/pkgs/development/ocaml-modules/uuseg/default.nix
index 42642d2dc24ec..9d19de1c3ce85 100644
--- a/pkgs/development/ocaml-modules/uuseg/default.nix
+++ b/pkgs/development/ocaml-modules/uuseg/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An OCaml library for segmenting Unicode text";
     homepage = webpage;
-    inherit (ocaml.meta) platforms;
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "usegtrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uutf/default.nix b/pkgs/development/ocaml-modules/uutf/default.nix
index c76eac45b35dc..62ac1fc7c1c00 100644
--- a/pkgs/development/ocaml-modules/uutf/default.nix
+++ b/pkgs/development/ocaml-modules/uutf/default.nix
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Non-blocking streaming Unicode codec for OCaml";
     homepage = "https://erratique.ch/software/uutf";
-    inherit (ocaml.meta) platforms;
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "utftrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/uuuu/default.nix b/pkgs/development/ocaml-modules/uuuu/default.nix
index d2895ce68e67e..59dd7d5689671 100644
--- a/pkgs/development/ocaml-modules/uuuu/default.nix
+++ b/pkgs/development/ocaml-modules/uuuu/default.nix
@@ -32,8 +32,9 @@ buildDunePackage rec {
 
   meta = {
     description = "A library to normalize an ISO-8859 input to Unicode code-point";
-    license = lib.licenses.mit;
     homepage = "https://github.com/mirage/uuuu";
-    maintainers = with lib.maintainers; [ ];
+    license = lib.licenses.mit;
+    maintainers = [ ];
+    mainProgram = "uuuu.generate";
   };
 }
diff --git a/pkgs/development/ocaml-modules/vg/default.nix b/pkgs/development/ocaml-modules/vg/default.nix
index 35a0e51cb09a2..94ebc1b8d8170 100644
--- a/pkgs/development/ocaml-modules/vg/default.nix
+++ b/pkgs/development/ocaml-modules/vg/default.nix
@@ -57,8 +57,9 @@ stdenv.mkDerivation {
     module. An API allows to implement new renderers.
     '';
     homepage = webpage;
-    inherit (ocaml.meta) platforms;
     license = licenses.isc;
     maintainers = [ maintainers.jirkamarsik ];
+    mainProgram = "vecho";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/wayland/default.nix b/pkgs/development/ocaml-modules/wayland/default.nix
index 7dfb46ce63cf4..12c385eac72c0 100644
--- a/pkgs/development/ocaml-modules/wayland/default.nix
+++ b/pkgs/development/ocaml-modules/wayland/default.nix
@@ -42,8 +42,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Pure OCaml Wayland protocol library";
+    homepage = "https://github.com/talex5/ocaml-wayland";
     license = lib.licenses.asl20;
     maintainers = [ lib.maintainers.sternenseemann ];
-    homepage = "https://github.com/talex5/ocaml-wayland";
+    mainProgram = "wayland-scanner-ocaml";
   };
 }
diff --git a/pkgs/development/ocaml-modules/webbrowser/default.nix b/pkgs/development/ocaml-modules/webbrowser/default.nix
index a8adced93882c..7ace251e5533e 100644
--- a/pkgs/development/ocaml-modules/webbrowser/default.nix
+++ b/pkgs/development/ocaml-modules/webbrowser/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
     homepage = "https://erratique.ch/software/webbrowser";
     license = lib.licenses.isc;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "browse";
     inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/wodan/unix.nix b/pkgs/development/ocaml-modules/wodan/unix.nix
index 64a18b6b83d77..9b9cd841e0f16 100644
--- a/pkgs/development/ocaml-modules/wodan/unix.nix
+++ b/pkgs/development/ocaml-modules/wodan/unix.nix
@@ -22,6 +22,9 @@ buildDunePackage rec {
     moveToOutput bin "''${!outputBin}"
   '';
 
-  meta = wodan.meta // { description = "Wodan clients with Unix integration"; };
+  meta = wodan.meta // {
+    description = "Wodan clients with Unix integration";
+    mainProgram = "wodanc";
+  };
 
 }
diff --git a/pkgs/development/ocaml-modules/xmlm/default.nix b/pkgs/development/ocaml-modules/xmlm/default.nix
index d989b281cadd1..9396dd7b91444 100644
--- a/pkgs/development/ocaml-modules/xmlm/default.nix
+++ b/pkgs/development/ocaml-modules/xmlm/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "An OCaml streaming codec to decode and encode the XML data format";
     homepage = webpage;
-    platforms = ocaml.meta.platforms or [];
-    maintainers = [ maintainers.vbgl ];
     license = licenses.bsd3;
+    maintainers = [ maintainers.vbgl ];
+    mainProgram = "xmltrip";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 2be9ce1b0210b..03b01c4377668 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -18,5 +18,6 @@ buildDunePackage rec {
     homepage = "https://github.com/ocaml-community/${pname}";
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "ydump";
   };
 }
diff --git a/pkgs/development/php-packages/box/default.nix b/pkgs/development/php-packages/box/default.nix
index bc0f4ac636c69..97b9bbc0f11e0 100644
--- a/pkgs/development/php-packages/box/default.nix
+++ b/pkgs/development/php-packages/box/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "box";
-  version = "2.7.5";
+  version = "3.16.0";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
-    url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar";
-    sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18";
+    url = "https://github.com/box-project/box/releases/download/${version}/box.phar";
+    sha256 = "sha256-9QjijzCdfpWjGb3NXxPc+7GOuRy3psrJtpvHeZ14vfk=";
   };
 
   dontUnpack = true;
@@ -27,7 +27,7 @@ mkDerivation {
   meta = with lib; {
     description = "An application for building and managing Phars";
     license = licenses.mit;
-    homepage = "https://box-project.github.io/box2/";
+    homepage = "https://github.com/box-project/box";
     maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
   };
 }
diff --git a/pkgs/development/php-packages/openswoole/default.nix b/pkgs/development/php-packages/openswoole/default.nix
new file mode 100644
index 0000000000000..49379dfd54133
--- /dev/null
+++ b/pkgs/development/php-packages/openswoole/default.nix
@@ -0,0 +1,22 @@
+{ lib, stdenv, buildPecl, php, valgrind, pcre2 }:
+let
+  pname = "openswoole";
+  version = "4.11.1";
+in
+buildPecl {
+  inherit pname version;
+
+  sha256 = "sha256-Rhoa4ny86dwB3e86/1W30AlDGRUDYjK8RusquKF5Izg=";
+
+  buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
+  internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
+
+  meta = with lib; {
+    changelog = "https://pecl.php.net/package/openswoole/${version}";
+    description = "Coroutine-based concurrency library and high performance programmatic server for PHP";
+    homepage = "https://www.openswoole.com/";
+    license = licenses.asl20;
+    longDescription = "Open Swoole allows you to build high-performance, async multi-tasking webservices and applications using an easy to use Coroutine API.\nOpen Swoole is a complete async solution that has built-in support for async programming via coroutines.\nIt offers a range of multi-threaded I/O modules (HTTP Server, WebSockets, TaskWorkers, Process Pools) out of the box and support for popular PHP clients like PDO for MySQL, and CURL.\nYou can use the sync or async, Coroutine API to write whole applications or create thousands of light weight Coroutines within one Linux process.";
+    maintainers = teams.php.members;
+  };
+}
diff --git a/pkgs/development/php-packages/pdepend/default.nix b/pkgs/development/php-packages/pdepend/default.nix
new file mode 100644
index 0000000000000..d1507040fcec5
--- /dev/null
+++ b/pkgs/development/php-packages/pdepend/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, makeWrapper, lib, php }:
+
+let
+  pname = "pdepend";
+  version = "2.10.3";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl {
+    url = "https://github.com/pdepend/pdepend/releases/download/${version}/pdepend.phar";
+    sha256 = "I5+n8+a3rHRgW4OM6FbVcf3T1wu9zBrTSb5sGq7ArH4=";
+  };
+
+  dontUnpack = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    install -D $src $out/libexec/pdepend/pdepend.phar
+    makeWrapper ${php}/bin/php $out/bin/pdepend \
+      --add-flags "$out/libexec/pdepend/pdepend.phar"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "An adaptation of JDepend for PHP";
+    homepage = "https://github.com/pdepend/pdepend";
+    license = licenses.bsd3;
+    longDescription = "
+      PHP Depend is an adaptation of the established Java
+      development tool JDepend. This tool shows you the quality
+      of your design in terms of extensibility, reusability and
+      maintainability.
+    ";
+    maintainers = teams.php.members;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/php-packages/php-parallel-lint/default.nix b/pkgs/development/php-packages/php-parallel-lint/default.nix
index d0335142490ee..be1736b53910a 100644
--- a/pkgs/development/php-packages/php-parallel-lint/default.nix
+++ b/pkgs/development/php-packages/php-parallel-lint/default.nix
@@ -1,16 +1,16 @@
 { mkDerivation, fetchFromGitHub, makeWrapper, lib, php }:
 let
   pname = "php-parallel-lint";
-  version = "1.0.0";
+  version = "1.3.2";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchFromGitHub {
-    owner = "JakubOnderka";
+    owner = "php-parallel-lint";
     repo = "PHP-Parallel-Lint";
     rev = "v${version}";
-    sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw";
+    sha256 = "sha256-pTHH19HwqyOj5pSmH7l0JlntNVtMdu4K9Cl+qyrrg9U=";
   };
 
   nativeBuildInputs = [
@@ -38,7 +38,7 @@ mkDerivation {
   meta = with lib; {
     description = "Tool to check syntax of PHP files faster than serial check with fancier output";
     license = licenses.bsd2;
-    homepage = "https://github.com/JakubOnderka/PHP-Parallel-Lint";
+    homepage = "https://github.com/php-parallel-lint/PHP-Parallel-Lint";
     maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
   };
 }
diff --git a/pkgs/development/python-modules/afsapi/default.nix b/pkgs/development/python-modules/afsapi/default.nix
index 864d0caba3959..d1f6325f85073 100644
--- a/pkgs/development/python-modules/afsapi/default.nix
+++ b/pkgs/development/python-modules/afsapi/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "afsapi";
-  version = "0.2.3";
+  version = "0.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "wlcrs";
     repo = "python-afsapi";
-    rev = version;
-    hash = "sha256-6nmj15jCGBRkT7Ip/VGHX5IrAbhu1LUlvXuvFhvXknY=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-pNggrg97GIBBTm4rjtpx0NOZIWCGn9boB/Wss/QwF6U=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 9f6828fd63292..498caa2045daa 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-F0t4vVxi4KUUtIZc8FJD9+2qf1XA58haFfjmHwAQaWA=";
+    hash = "sha256-R8AaQj/Rdz8SSN2L8v8ZzIxnPQqdg/SKUB6FV9uYFLs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioairzone/default.nix b/pkgs/development/python-modules/aioairzone/default.nix
index fc62525915e91..5c12501723dfb 100644
--- a/pkgs/development/python-modules/aioairzone/default.nix
+++ b/pkgs/development/python-modules/aioairzone/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone";
-  version = "0.3.4";
+  version = "0.4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-ENdgaG30Fll5HQOTcghkmqOAiMYEY1aHRIel4Bd25Pk=";
+    hash = "sha256-fYhYqBnwvnfu2GbWUlmMmW/Xon3OE3fh+gGlnQRsCyA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioamqp/compat-pamqp-3.patch b/pkgs/development/python-modules/aioamqp/compat-pamqp-3.patch
deleted file mode 100644
index 0d319eb2a0d4b..0000000000000
--- a/pkgs/development/python-modules/aioamqp/compat-pamqp-3.patch
+++ /dev/null
@@ -1,498 +0,0 @@
-From 17b5be250cb5ecf95cf4f77c8c930450d876efa6 Mon Sep 17 00:00:00 2001
-From: dzen <benoit.calvez@polyconseil.fr>
-Date: Thu, 12 Mar 2020 08:32:29 +0100
-Subject: [PATCH 1/3] Moves to pamqp 3.0
-
----
- aioamqp/channel.py        | 114 +++++++++++++++++++-------------------
- aioamqp/frame.py          |   1 -
- aioamqp/protocol.py       |  22 ++++----
- aioamqp/tests/testcase.py |   2 +-
- 4 files changed, 69 insertions(+), 70 deletions(-)
-
-diff --git a/aioamqp/channel.py b/aioamqp/channel.py
-index 7f0f402..ea164c4 100644
---- a/aioamqp/channel.py
-+++ b/aioamqp/channel.py
-@@ -9,7 +9,7 @@
- from itertools import count
- import warnings
- 
--import pamqp.specification
-+import pamqp.commands
- 
- from . import frame as amqp_frame
- from . import exceptions
-@@ -78,35 +78,35 @@ def connection_closed(self, server_code=None, server_reason=None, exception=None
- 
-     async def dispatch_frame(self, frame):
-         methods = {
--            pamqp.specification.Channel.OpenOk.name: self.open_ok,
--            pamqp.specification.Channel.FlowOk.name: self.flow_ok,
--            pamqp.specification.Channel.CloseOk.name: self.close_ok,
--            pamqp.specification.Channel.Close.name: self.server_channel_close,
--
--            pamqp.specification.Exchange.DeclareOk.name: self.exchange_declare_ok,
--            pamqp.specification.Exchange.BindOk.name: self.exchange_bind_ok,
--            pamqp.specification.Exchange.UnbindOk.name: self.exchange_unbind_ok,
--            pamqp.specification.Exchange.DeleteOk.name: self.exchange_delete_ok,
--
--            pamqp.specification.Queue.DeclareOk.name: self.queue_declare_ok,
--            pamqp.specification.Queue.DeleteOk.name: self.queue_delete_ok,
--            pamqp.specification.Queue.BindOk.name: self.queue_bind_ok,
--            pamqp.specification.Queue.UnbindOk.name: self.queue_unbind_ok,
--            pamqp.specification.Queue.PurgeOk.name: self.queue_purge_ok,
--
--            pamqp.specification.Basic.QosOk.name: self.basic_qos_ok,
--            pamqp.specification.Basic.ConsumeOk.name: self.basic_consume_ok,
--            pamqp.specification.Basic.CancelOk.name: self.basic_cancel_ok,
--            pamqp.specification.Basic.GetOk.name: self.basic_get_ok,
--            pamqp.specification.Basic.GetEmpty.name: self.basic_get_empty,
--            pamqp.specification.Basic.Deliver.name: self.basic_deliver,
--            pamqp.specification.Basic.Cancel.name: self.server_basic_cancel,
--            pamqp.specification.Basic.Ack.name: self.basic_server_ack,
--            pamqp.specification.Basic.Nack.name: self.basic_server_nack,
--            pamqp.specification.Basic.RecoverOk.name: self.basic_recover_ok,
--            pamqp.specification.Basic.Return.name: self.basic_return,
--
--            pamqp.specification.Confirm.SelectOk.name: self.confirm_select_ok,
-+            pamqp.commands.Channel.OpenOk.name: self.open_ok,
-+            pamqp.commands.Channel.FlowOk.name: self.flow_ok,
-+            pamqp.commands.Channel.CloseOk.name: self.close_ok,
-+            pamqp.commands.Channel.Close.name: self.server_channel_close,
-+
-+            pamqp.commands.Exchange.DeclareOk.name: self.exchange_declare_ok,
-+            pamqp.commands.Exchange.BindOk.name: self.exchange_bind_ok,
-+            pamqp.commands.Exchange.UnbindOk.name: self.exchange_unbind_ok,
-+            pamqp.commands.Exchange.DeleteOk.name: self.exchange_delete_ok,
-+
-+            pamqp.commands.Queue.DeclareOk.name: self.queue_declare_ok,
-+            pamqp.commands.Queue.DeleteOk.name: self.queue_delete_ok,
-+            pamqp.commands.Queue.BindOk.name: self.queue_bind_ok,
-+            pamqp.commands.Queue.UnbindOk.name: self.queue_unbind_ok,
-+            pamqp.commands.Queue.PurgeOk.name: self.queue_purge_ok,
-+
-+            pamqp.commands.Basic.QosOk.name: self.basic_qos_ok,
-+            pamqp.commands.Basic.ConsumeOk.name: self.basic_consume_ok,
-+            pamqp.commands.Basic.CancelOk.name: self.basic_cancel_ok,
-+            pamqp.commands.Basic.GetOk.name: self.basic_get_ok,
-+            pamqp.commands.Basic.GetEmpty.name: self.basic_get_empty,
-+            pamqp.commands.Basic.Deliver.name: self.basic_deliver,
-+            pamqp.commands.Basic.Cancel.name: self.server_basic_cancel,
-+            pamqp.commands.Basic.Ack.name: self.basic_server_ack,
-+            pamqp.commands.Basic.Nack.name: self.basic_server_nack,
-+            pamqp.commands.Basic.RecoverOk.name: self.basic_recover_ok,
-+            pamqp.commands.Basic.Return.name: self.basic_return,
-+
-+            pamqp.commands.Confirm.SelectOk.name: self.confirm_select_ok,
-         }
- 
-         if frame.name not in methods:
-@@ -144,7 +144,7 @@ async def _write_frame_awaiting_response(self, waiter_id, channel_id, request,
- 
-     async def open(self):
-         """Open the channel on the server."""
--        request = pamqp.specification.Channel.Open()
-+        request = pamqp.commands.Channel.Open()
-         return (await self._write_frame_awaiting_response(
-             'open', self.channel_id, request, no_wait=False, check_open=False))
- 
-@@ -159,7 +159,7 @@ async def close(self, reply_code=0, reply_text="Normal Shutdown"):
-         if not self.is_open:
-             raise exceptions.ChannelClosed("channel already closed or closing")
-         self.close_event.set()
--        request = pamqp.specification.Channel.Close(reply_code, reply_text, class_id=0, method_id=0)
-+        request = pamqp.commands.Channel.Close(reply_code, reply_text, class_id=0, method_id=0)
-         return (await self._write_frame_awaiting_response(
-             'close', self.channel_id, request, no_wait=False, check_open=False))
- 
-@@ -169,7 +169,7 @@ async def close_ok(self, frame):
-         self.protocol.release_channel_id(self.channel_id)
- 
-     async def _send_channel_close_ok(self):
--        request = pamqp.specification.Channel.CloseOk()
-+        request = pamqp.commands.Channel.CloseOk()
-         await self._write_frame(self.channel_id, request)
- 
-     async def server_channel_close(self, frame):
-@@ -183,7 +183,7 @@ async def server_channel_close(self, frame):
-         self.connection_closed(results['reply_code'], results['reply_text'])
- 
-     async def flow(self, active):
--        request = pamqp.specification.Channel.Flow(active)
-+        request = pamqp.commands.Channel.Flow(active)
-         return (await self._write_frame_awaiting_response(
-             'flow', self.channel_id, request, no_wait=False,
-             check_open=False))
-@@ -201,7 +201,7 @@ async def flow_ok(self, frame):
- 
-     async def exchange_declare(self, exchange_name, type_name, passive=False, durable=False,
-                          auto_delete=False, no_wait=False, arguments=None):
--        request = pamqp.specification.Exchange.Declare(
-+        request = pamqp.commands.Exchange.Declare(
-             exchange=exchange_name,
-             exchange_type=type_name,
-             passive=passive,
-@@ -222,7 +222,7 @@ async def exchange_declare_ok(self, frame):
-         return future
- 
-     async def exchange_delete(self, exchange_name, if_unused=False, no_wait=False):
--        request = pamqp.specification.Exchange.Delete(exchange=exchange_name, if_unused=if_unused, nowait=no_wait)
-+        request = pamqp.commands.Exchange.Delete(exchange=exchange_name, if_unused=if_unused, nowait=no_wait)
-         return await self._write_frame_awaiting_response(
-             'exchange_delete', self.channel_id, request, no_wait)
- 
-@@ -235,7 +235,7 @@ async def exchange_bind(self, exchange_destination, exchange_source, routing_key
-                       no_wait=False, arguments=None):
-         if arguments is None:
-             arguments = {}
--        request = pamqp.specification.Exchange.Bind(
-+        request = pamqp.commands.Exchange.Bind(
-             destination=exchange_destination,
-             source=exchange_source,
-             routing_key=routing_key,
-@@ -255,7 +255,7 @@ async def exchange_unbind(self, exchange_destination, exchange_source, routing_k
-         if arguments is None:
-             arguments = {}
- 
--        request = pamqp.specification.Exchange.Unbind(
-+        request = pamqp.commands.Exchange.Unbind(
-             destination=exchange_destination,
-             source=exchange_source,
-             routing_key=routing_key,
-@@ -297,7 +297,7 @@ async def queue_declare(self, queue_name=None, passive=False, durable=False,
- 
-         if not queue_name:
-             queue_name = 'aioamqp.gen-' + str(uuid.uuid4())
--        request = pamqp.specification.Queue.Declare(
-+        request = pamqp.commands.Queue.Declare(
-             queue=queue_name,
-             passive=passive,
-             durable=durable,
-@@ -327,7 +327,7 @@ async def queue_delete(self, queue_name, if_unused=False, if_empty=False, no_wai
-                if_empty:       bool, the queue is deleted if it has no messages. Raise if not.
-                no_wait:        bool, if set, the server will not respond to the method
-         """
--        request = pamqp.specification.Queue.Delete(
-+        request = pamqp.commands.Queue.Delete(
-             queue=queue_name,
-             if_unused=if_unused,
-             if_empty=if_empty,
-@@ -346,7 +346,7 @@ async def queue_bind(self, queue_name, exchange_name, routing_key, no_wait=False
-         if arguments is None:
-             arguments = {}
- 
--        request = pamqp.specification.Queue.Bind(
-+        request = pamqp.commands.Queue.Bind(
-             queue=queue_name,
-             exchange=exchange_name,
-             routing_key=routing_key,
-@@ -367,7 +367,7 @@ async def queue_unbind(self, queue_name, exchange_name, routing_key, arguments=N
-         if arguments is None:
-             arguments = {}
- 
--        request = pamqp.specification.Queue.Unbind(
-+        request = pamqp.commands.Queue.Unbind(
-             queue=queue_name,
-             exchange=exchange_name,
-             routing_key=routing_key,
-@@ -383,7 +383,7 @@ async def queue_unbind_ok(self, frame):
-         logger.debug("Queue unbound")
- 
-     async def queue_purge(self, queue_name, no_wait=False):
--        request = pamqp.specification.Queue.Purge(
-+        request = pamqp.commands.Queue.Purge(
-             queue=queue_name, nowait=no_wait
-         )
-         return (await self._write_frame_awaiting_response(
-@@ -406,7 +406,7 @@ async def basic_publish(self, payload, exchange_name, routing_key,
-         if properties is None:
-             properties = {}
- 
--        method_request = pamqp.specification.Basic.Publish(
-+        method_request = pamqp.commands.Basic.Publish(
-             exchange=exchange_name,
-             routing_key=routing_key,
-             mandatory=mandatory,
-@@ -417,7 +417,7 @@ async def basic_publish(self, payload, exchange_name, routing_key,
- 
-         header_request = pamqp.header.ContentHeader(
-             body_size=len(payload),
--            properties=pamqp.specification.Basic.Properties(**properties)
-+            properties=pamqp.commands.Basic.Properties(**properties)
-         )
-         await self._write_frame(self.channel_id, header_request, drain=False)
- 
-@@ -446,7 +446,7 @@ async def basic_qos(self, prefetch_size=0, prefetch_count=0, connection_global=F
-                                 settings should apply per-consumer channel; and global=true to mean
-                                 that the QoS settings should apply per-channel.
-         """
--        request = pamqp.specification.Basic.Qos(
-+        request = pamqp.commands.Basic.Qos(
-             prefetch_size, prefetch_count, connection_global
-         )
-         return (await self._write_frame_awaiting_response(
-@@ -490,7 +490,7 @@ async def basic_consume(self, callback, queue_name='', consumer_tag='', no_local
-         if arguments is None:
-             arguments = {}
- 
--        request = pamqp.specification.Basic.Consume(
-+        request = pamqp.commands.Basic.Consume(
-             queue=queue_name,
-             consumer_tag=consumer_tag,
-             no_local=no_local,
-@@ -561,7 +561,7 @@ async def server_basic_cancel(self, frame):
-                              callback, error)
- 
-     async def basic_cancel(self, consumer_tag, no_wait=False):
--        request = pamqp.specification.Basic.Cancel(consumer_tag, no_wait)
-+        request = pamqp.commands.Basic.Cancel(consumer_tag, no_wait)
-         return (await self._write_frame_awaiting_response(
-             'basic_cancel', self.channel_id, request, no_wait=no_wait)
-         )
-@@ -575,7 +575,7 @@ async def basic_cancel_ok(self, frame):
-         logger.debug("Cancel ok")
- 
-     async def basic_get(self, queue_name='', no_ack=False):
--        request = pamqp.specification.Basic.Get(queue=queue_name, no_ack=no_ack)
-+        request = pamqp.commands.Basic.Get(queue=queue_name, no_ack=no_ack)
-         return (await self._write_frame_awaiting_response(
-             'basic_get', self.channel_id, request, no_wait=False)
-         )
-@@ -606,11 +606,11 @@ async def basic_get_empty(self, frame):
-         future.set_exception(exceptions.EmptyQueue)
- 
-     async def basic_client_ack(self, delivery_tag, multiple=False):
--        request = pamqp.specification.Basic.Ack(delivery_tag, multiple)
-+        request = pamqp.commands.Basic.Ack(delivery_tag, multiple)
-         await self._write_frame(self.channel_id, request)
- 
-     async def basic_client_nack(self, delivery_tag, multiple=False, requeue=True):
--        request = pamqp.specification.Basic.Nack(delivery_tag, multiple, requeue)
-+        request = pamqp.commands.Basic.Nack(delivery_tag, multiple, requeue)
-         await self._write_frame(self.channel_id, request)
- 
-     async def basic_server_ack(self, frame):
-@@ -620,15 +620,15 @@ async def basic_server_ack(self, frame):
-         fut.set_result(True)
- 
-     async def basic_reject(self, delivery_tag, requeue=False):
--        request = pamqp.specification.Basic.Reject(delivery_tag, requeue)
-+        request = pamqp.commands.Basic.Reject(delivery_tag, requeue)
-         await self._write_frame(self.channel_id, request)
- 
-     async def basic_recover_async(self, requeue=True):
--        request = pamqp.specification.Basic.RecoverAsync(requeue)
-+        request = pamqp.commands.Basic.RecoverAsync(requeue)
-         await self._write_frame(self.channel_id, request)
- 
-     async def basic_recover(self, requeue=True):
--        request = pamqp.specification.Basic.Recover(requeue)
-+        request = pamqp.commands.Basic.Recover(requeue)
-         return (await self._write_frame_awaiting_response(
-             'basic_recover', self.channel_id, request, no_wait=False)
-         )
-@@ -681,7 +681,7 @@ async def publish(self, payload, exchange_name, routing_key, properties=None, ma
-             delivery_tag = next(self.delivery_tag_iter)  # pylint: disable=stop-iteration-return
-             fut = self._set_waiter('basic_server_ack_{}'.format(delivery_tag))
- 
--        method_request = pamqp.specification.Basic.Publish(
-+        method_request = pamqp.commands.Basic.Publish(
-             exchange=exchange_name,
-             routing_key=routing_key,
-             mandatory=mandatory,
-@@ -689,7 +689,7 @@ async def publish(self, payload, exchange_name, routing_key, properties=None, ma
-         )
-         await self._write_frame(self.channel_id, method_request, drain=False)
- 
--        properties = pamqp.specification.Basic.Properties(**properties)
-+        properties = pamqp.commands.Basic.Properties(**properties)
-         header_request = pamqp.header.ContentHeader(
-             body_size=len(payload), properties=properties
-         )
-@@ -710,7 +710,7 @@ async def publish(self, payload, exchange_name, routing_key, properties=None, ma
-     async def confirm_select(self, *, no_wait=False):
-         if self.publisher_confirms:
-             raise ValueError('publisher confirms already enabled')
--        request = pamqp.specification.Confirm.Select(nowait=no_wait)
-+        request = pamqp.commands.Confirm.Select(nowait=no_wait)
- 
-         return (await self._write_frame_awaiting_response(
-             'confirm_select', self.channel_id, request, no_wait)
-diff --git a/aioamqp/frame.py b/aioamqp/frame.py
-index d70cfd7..af27ab5 100644
---- a/aioamqp/frame.py
-+++ b/aioamqp/frame.py
-@@ -42,7 +42,6 @@
- import socket
- 
- import pamqp.encode
--import pamqp.specification
- import pamqp.frame
- 
- from . import exceptions
-diff --git a/aioamqp/protocol.py b/aioamqp/protocol.py
-index e111dea..f0b928d 100644
---- a/aioamqp/protocol.py
-+++ b/aioamqp/protocol.py
-@@ -5,9 +5,9 @@
- import asyncio
- import logging
- 
-+import pamqp.commands
- import pamqp.frame
- import pamqp.heartbeat
--import pamqp.specification
- 
- from . import channel as amqp_channel
- from . import constants as amqp_constants
-@@ -159,7 +159,7 @@ async def close(self, no_wait=False, timeout=None):
-         """Close connection (and all channels)"""
-         await self.ensure_open()
-         self.state = CLOSING
--        request = pamqp.specification.Connection.Close(
-+        request = pamqp.commands.Connection.Close(
-             reply_code=0,
-             reply_text='',
-             class_id=0,
-@@ -254,11 +254,11 @@ async def dispatch_frame(self, frame_channel=None, frame=None):
-         """Dispatch the received frame to the corresponding handler"""
- 
-         method_dispatch = {
--            pamqp.specification.Connection.Close.name: self.server_close,
--            pamqp.specification.Connection.CloseOk.name: self.close_ok,
--            pamqp.specification.Connection.Tune.name: self.tune,
--            pamqp.specification.Connection.Start.name: self.start,
--            pamqp.specification.Connection.OpenOk.name: self.open_ok,
-+            pamqp.commands.Connection.Close.name: self.server_close,
-+            pamqp.commands.Connection.CloseOk.name: self.close_ok,
-+            pamqp.commands.Connection.Tune.name: self.tune,
-+            pamqp.commands.Connection.Start.name: self.start,
-+            pamqp.commands.Connection.OpenOk.name: self.open_ok,
-         }
-         if frame_channel is None and frame is None:
-             frame_channel, frame = await self.get_frame()
-@@ -395,7 +395,7 @@ async def start_ok(self, client_properties, mechanism, auth, locale):
-         def credentials():
-             return '\0{LOGIN}\0{PASSWORD}'.format(**auth)
- 
--        request = pamqp.specification.Connection.StartOk(
-+        request = pamqp.commands.Connection.StartOk(
-             client_properties=client_properties,
-             mechanism=mechanism,
-             locale=locale,
-@@ -417,7 +417,7 @@ async def server_close(self, frame):
-         self._stream_writer.close()
- 
-     async def _close_ok(self):
--        request = pamqp.specification.Connection.CloseOk()
-+        request = pamqp.commands.Connection.CloseOk()
-         await self._write_frame(0, request)
- 
-     async def tune(self, frame):
-@@ -426,7 +426,7 @@ async def tune(self, frame):
-         self.server_heartbeat = frame.heartbeat
- 
-     async def tune_ok(self, channel_max, frame_max, heartbeat):
--        request = pamqp.specification.Connection.TuneOk(
-+        request = pamqp.commands.Connection.TuneOk(
-             channel_max, frame_max, heartbeat
-         )
-         await self._write_frame(0, request)
-@@ -436,7 +436,7 @@ async def secure_ok(self, login_response):
- 
-     async def open(self, virtual_host, capabilities='', insist=False):
-         """Open connection to virtual host."""
--        request = pamqp.specification.Connection.Open(
-+        request = pamqp.commands.Connection.Open(
-             virtual_host, capabilities, insist
-         )
-         await self._write_frame(0, request)
-diff --git a/aioamqp/tests/testcase.py b/aioamqp/tests/testcase.py
-index 120104b..d6d702b 100644
---- a/aioamqp/tests/testcase.py
-+++ b/aioamqp/tests/testcase.py
-@@ -147,7 +147,7 @@ def server_version(self, amqp=None):
-         if amqp is None:
-             amqp = self.amqp
- 
--        server_version = tuple(int(x) for x in amqp.server_properties['version'].decode().split('.'))
-+        server_version = tuple(int(x) for x in amqp.server_properties['version'].split('.'))
-         return server_version
- 
-     async def check_exchange_exists(self, exchange_name):
-
-From c900f6d5e8ef273000d221d0e46ab81ed4aed2a2 Mon Sep 17 00:00:00 2001
-From: dzen <benoit.calvez@polyconseil.fr>
-Date: Wed, 25 Mar 2020 11:02:04 +0100
-Subject: [PATCH 2/3] fix pamqp version for tests on travis
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index a740243..2277b28 100644
---- a/setup.py
-+++ b/setup.py
-@@ -25,7 +25,7 @@
-         'aioamqp',
-     ],
-     install_requires=[
--        'pamqp>=2.2.0,<3',
-+        'pamqp>=3.0.0', # TODO(bcalvez): for tests purpose, until 3.0 is released
-     ],
-     classifiers=[
-         "Development Status :: 4 - Beta",
-
-From 836340e8d881a93b0111b9aed6f2bb2926f38de6 Mon Sep 17 00:00:00 2001
-From: dzen <benoit.calvez@polyconseil.fr>
-Date: Wed, 25 Mar 2020 11:37:45 +0100
-Subject: [PATCH 3/3] pamqp 3.0 is no more compatible with 3.5
-
----
- .travis.yml | 1 -
- setup.cfg   | 2 +-
- setup.py    | 2 +-
- 3 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 1069e7c..46d6fea 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -1,7 +1,6 @@
- language: python
- dist: bionic
- python:
--- 3.5
- - 3.6
- - 3.7-dev
- - 3.8
-diff --git a/setup.cfg b/setup.cfg
-index 0ab7d0b..d0ba16e 100644
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -1,2 +1,2 @@
- [bdist_wheel]
--python-tag = py35.py36.py37.py38
-+python-tag = py36.py37.py38
-diff --git a/setup.py b/setup.py
-index 2277b28..c413078 100644
---- a/setup.py
-+++ b/setup.py
-@@ -27,6 +27,7 @@
-     install_requires=[
-         'pamqp==3.0.0a6', # TODO(bcalvez): for tests purpose, until 3.0 is released
-     ],
-+    python_requires=">=3.6",
-     classifiers=[
-         "Development Status :: 4 - Beta",
-         "Intended Audience :: Developers",
-@@ -34,7 +35,6 @@
-         "Operating System :: OS Independent",
-         "Programming Language :: Python",
-         "Programming Language :: Python :: 3",
--        "Programming Language :: Python :: 3.5",
-         "Programming Language :: Python :: 3.6",
-         "Programming Language :: Python :: 3.7",
-         "Programming Language :: Python :: 3.8",
diff --git a/pkgs/development/python-modules/aioamqp/default.nix b/pkgs/development/python-modules/aioamqp/default.nix
index a2882ce1288b0..5d8c934e4275c 100644
--- a/pkgs/development/python-modules/aioamqp/default.nix
+++ b/pkgs/development/python-modules/aioamqp/default.nix
@@ -2,43 +2,38 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pamqp
-, pytest
-, asynctest
-, pyrabbit2
-, isPy27
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aioamqp";
-  version = "0.14.0";
-  disabled = isPy27;
+  version = "0.15.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Polyconseil";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "1gpfsrc2vi6w33c9zsycd2qn589pr7a222rb41r85m915283zy48";
+    hash = "sha256-fssPknJn1tLtzb+2SFyZjfdhUdD8jqkwlInoi5uaplk=";
   };
 
-  patches = [ ./compat-pamqp-3.patch ];
-
   propagatedBuildInputs = [
     pamqp
   ];
 
-  checkInputs = [
-    pytest
-    asynctest
-    pyrabbit2
-  ];
-
-  # tests assume rabbitmq server running
+  # Tests assume rabbitmq server running
   doCheck = false;
 
+  pythonImportsCheck = [
+    "aioamqp"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/polyconseil/aioamqp";
     description = "AMQP implementation using asyncio";
+    homepage = "https://github.com/polyconseil/aioamqp";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index df800eb475521..199495494ab45 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "2.2.0";
+  version = "2.3.0";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-cTV5OcMCJnDXu5SDMZQUekTr/OJLFkPk5E/twe5zSbo=";
+    sha256 = "sha256-/D09YGFBC8GU0J7FReMLRGnV90dw+TespfaqReYqG/4=";
   };
 
   # relax version constraints: aiobotocore works with newer botocore versions
diff --git a/pkgs/development/python-modules/aioimaplib/default.nix b/pkgs/development/python-modules/aioimaplib/default.nix
index a94818aee5c5c..7ec2499a9f5b1 100644
--- a/pkgs/development/python-modules/aioimaplib/default.nix
+++ b/pkgs/development/python-modules/aioimaplib/default.nix
@@ -1,4 +1,6 @@
 { lib
+, pythonOlder
+, pythonAtLeast
 , asynctest
 , buildPythonPackage
 , docutils
@@ -15,6 +17,11 @@
 buildPythonPackage rec {
   pname = "aioimaplib";
   version = "0.9.0";
+  format = "setuptools";
+
+  # Check https://github.com/bamthomas/aioimaplib/issues/75
+  # for Python 3.10 support
+  disabled = pythonOlder "3.5" || pythonAtLeast "3.10";
 
   src = fetchFromGitHub {
     owner = "bamthomas";
diff --git a/pkgs/development/python-modules/aiolimiter/default.nix b/pkgs/development/python-modules/aiolimiter/default.nix
new file mode 100644
index 0000000000000..9f8f81e2fca85
--- /dev/null
+++ b/pkgs/development/python-modules/aiolimiter/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, importlib-metadata
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, toml
+}:
+
+buildPythonPackage rec {
+  pname = "aiolimiter";
+  version = "1.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "mjpieters";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4wByVZoOLhrXFx9oK19GBmRcjGoJolQ3Gwx9vQV/n8s=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+    toml
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/mjpieters/aiolimiter/pull/77
+    (fetchpatch {
+      name = "switch-to-peotry-core.patch";
+      url = "https://github.com/mjpieters/aiolimiter/commit/84a85eff42621b0daff8fcf6bb485db313faae0b.patch";
+      sha256 = "sha256-xUfJwLvMF2Xt/V1bKBFn/fjn1uyw7bGNo9RpWxtyr50=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace tox.ini \
+      --replace " --cov=aiolimiter --cov-config=tox.ini --cov-report term-missing" ""
+  '';
+
+  pythonImportsCheck = [
+    "aiolimiter"
+  ];
+
+  meta = with lib; {
+    description = "Implementation of a rate limiter for asyncio";
+    homepage = "https://github.com/mjpieters/aiolimiter";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiooncue/default.nix b/pkgs/development/python-modules/aiooncue/default.nix
index 3e9cc46b16b0e..728c28eddd888 100644
--- a/pkgs/development/python-modules/aiooncue/default.nix
+++ b/pkgs/development/python-modules/aiooncue/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aiooncue";
-  version = "0.3.3";
+  version = "0.3.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    hash = "sha256-rzgSvgVfpz2AVwqnat+TO+QhA3KcXV/a1HDNAP1fNPM=";
+    hash = "sha256-/Db32OomEkrBtq5lfT8zBGgvaUWnWE/sTqwNVNB9XAg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioqsw/default.nix b/pkgs/development/python-modules/aioqsw/default.nix
index ae311fe4bc7b5..d788b1e8c7cb9 100644
--- a/pkgs/development/python-modules/aioqsw/default.nix
+++ b/pkgs/development/python-modules/aioqsw/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioqsw";
-  version = "0.0.7";
+  version = "0.0.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-EEgEpil6/pa3gihiLZ5RrtTxP63H24VmMc8Nf1Vsrw8=";
+    hash = "sha256-FSH7MWtxYdJjCLpit2IhxXUFkGWml6P0SroUJ3iorRw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioslimproto/default.nix b/pkgs/development/python-modules/aioslimproto/default.nix
index beb1652b14f02..2990659556cbb 100644
--- a/pkgs/development/python-modules/aioslimproto/default.nix
+++ b/pkgs/development/python-modules/aioslimproto/default.nix
@@ -1,12 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aioslimproto";
-  version = "1.0.1";
+  version = "2.0.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -15,11 +16,17 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    hash = "sha256-kR2PG2eivBfqu67hXr8/RRvo5EzI75e8NmG15NPGo1E=";
+    hash = "sha256-xa0LZGq0di4lnJGVMbb1Un0Ebd4vXRlbkxbatJ9GwB0=";
   };
 
-  # Module has no tests
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # AssertionError: assert ['mixer', 'volume', '50'] == ['volume', '50']
+    "test_msg_instantiation"
+  ];
 
   pythonImportsCheck = [
     "aioslimproto"
diff --git a/pkgs/development/python-modules/androguard/default.nix b/pkgs/development/python-modules/androguard/default.nix
index 42f37e130994f..5584f2bd6719a 100644
--- a/pkgs/development/python-modules/androguard/default.nix
+++ b/pkgs/development/python-modules/androguard/default.nix
@@ -17,7 +17,7 @@
 , nose
 , nose-timer
 , mock
-, python_magic
+, python-magic
 , codecov
 , coverage
 , qt5
@@ -70,7 +70,7 @@ buildPythonPackage rec {
     nose-timer
     pyperclip
     pyqt5
-    python_magic
+    python-magic
   ];
   inherit doCheck;
 
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index f116cef3dc759..2f7afc1137565 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.66";
+  version = "0.0.67";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    hash = "sha256-gSbckVjM49nVfzpk9sfynJDx15+zQ/KgaI7oxEkXQpo=";
+    hash = "sha256-MAlKD2PDQJQaKPiMQDu1CMvn4xnxb8FmeYqzcW4hso0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 31629eab9d674..f8e3ac530f17c 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,7 +46,7 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-7t4NV1udBq3tK7czuKYUsQ+9tLahFM8DlUUBT3d6bco=";
+    hash = "sha256-RcAiPzz2JUlNIGU7+6WCd5JskRYmlMee8wOcOclfb0Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index d32441a989c6a..d46c18f6d1773 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-VhlsRd5IN8zF6aUU5Ji/ULkdecOpR+egU3vhYpi+KL8=";
+    hash = "sha256-bhdn3uomvegpvynR0ts4KdwFapX2xGfuwp4e57Xtcoo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix
index 743ebab42f1e8..88ce74ad4cd0e 100644
--- a/pkgs/development/python-modules/ansible-compat/default.nix
+++ b/pkgs/development/python-modules/ansible-compat/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ansible-compat";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xlGZXcMj7xRbq4V/7mVA/ryIH7cbf+r+gWPUnicxY6U=";
+    sha256 = "sha256-oRV+QFneQYefP2XV7WK/ND/lvUUoYQHi0pcf/lfjqKU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index 0e6f26700bcd4..2e44fa4e243c7 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "ansible";
-  version = "5.7.0";
+  version = "5.7.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6AwOdN4XdK2ufAIzskf/crj72LXxBwd9tdC38DcNa4Y=";
+    sha256 = "sha256-kKCaNFENGU1jVWiVoiWonkqLdIua4hW1XlF6N94GOmE=";
   };
 
   postPatch = ''
@@ -78,6 +78,7 @@ buildPythonPackage {
   meta = with lib; {
     description = "Radically simple IT automation";
     homepage = "https://www.ansible.com";
+    changelog = "https://github.com/ansible-community/ansible-build-data/blob/${version}/${lib.versions.major version}/CHANGELOG-v${lib.versions.major version}.rst";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ hexa ];
   };
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index 8d774410ca355..e3545ee0e6dd0 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -5,6 +5,7 @@
 , dill
 , fastavro
 , fetchFromGitHub
+, fetchpatch
 , freezegun
 , grpcio
 , grpcio-tools
@@ -51,6 +52,15 @@ buildPythonPackage rec {
     sha256 = "sha256-FmfTxRLqXUHhhAZIxCRx2+phX0bmU5rIHaftBU4yBJY=";
   };
 
+  patches = [
+    # patch in the pyarrow.Table.to_batches(max_chunksize=...) argument fix
+    (fetchpatch {
+      url = "https://github.com/apache/beam/commit/2418a14ee99ff490d1c82944043f97f37ec97a85.patch";
+      sha256 = "sha256-G8ARBBf7nmF46P2ncnlteGFnPWq5iCqZDfuaosre9jY=";
+      stripLen = 2;
+    })
+  ];
+
   # See https://github.com/NixOS/nixpkgs/issues/156957.
   postPatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
index 0c1458488109c..9ad41715a2316 100644
--- a/pkgs/development/python-modules/apispec/default.nix
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "apispec";
-  version = "5.2.1";
+  version = "5.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z3VMQ5pW3xLwFJ/FaQpCJ3TprDOV+2eYiCwX+8OinS0=";
+    hash = "sha256-bqZULh6//p/ZW6Ae8/UTUerGwgCpdFYsdHMFm5zSCqc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index dd2f26e92d1ee..1a087e323c087 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -16,7 +16,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "5.0.1";
+  version = "5.0.2";
   pname = "approvaltests";
   format = "setuptools";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "approvals";
     repo = "ApprovalTests.Python";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-lmH/nw/7woLCDepR/rDQUqwrhuLFY+TO8sdgK1+apgc=";
+    sha256 = "sha256-yEzfDbYHGm3Za4+yIk5lIWM4I+5TnqfluZj8OLN9oK0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index b9b29a7167abc..59a2f9ad9c9a6 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RWdY7tzT5wDVjAn1QIkQm8b5lIo++VzktsYZxn8taeg=";
+    hash = "sha256-r0cZXyj47HmgFVyQ3POGexeQxBiQ1xx/ptsPMwCRjHY=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/argon2_cffi/default.nix b/pkgs/development/python-modules/argon2-cffi/default.nix
index 4ecf5fbc5f0d1..ed79243a6bd17 100644
--- a/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/pkgs/development/python-modules/argon2-cffi/default.nix
@@ -13,13 +13,12 @@
 }:
 
 buildPythonPackage rec {
-  pname = "argon2_cffi";
+  pname = "argon2-cffi";
   version = "21.3.0";
   format = "flit";
 
   src = fetchPypi {
-    pname = "argon2-cffi";
-    inherit version;
+    inherit pname version;
     sha256 = "d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b";
   };
 
diff --git a/pkgs/development/python-modules/async-lru/default.nix b/pkgs/development/python-modules/async-lru/default.nix
index 69e6519b32c3d..b656b19478575 100644
--- a/pkgs/development/python-modules/async-lru/default.nix
+++ b/pkgs/development/python-modules/async-lru/default.nix
@@ -8,15 +8,15 @@
 
 buildPythonPackage rec {
   pname = "async-lru";
-  version = "unstable-2022-02-03";
+  version = "1.0.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = "async-lru";
-    rev = "3574af7691371015c47faf77e0abf8c7b06a3cdc";
-    hash = "sha256-EsadpQlRNnebp0UUybzQwzyK4zwFlortutv3VTUsprU=";
+    rev = "v${version}";
+    hash = "sha256-98ZPFSOFRnymTCfCG9OuajfxXAWyCrByyJEHhpPVPbM=";
   };
 
   postPatch = ''
@@ -32,13 +32,6 @@ buildPythonPackage rec {
     "--asyncio-mode=strict"
   ];
 
-  disabledTests = [
-    # https://github.com/aio-libs/async-lru/issues/341
-    "test_alru_cache_deco"
-    "test_alru_cache_fn_called"
-    "test_close"
-  ];
-
   pythonImportsCheck = [ "async_lru" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
index f2fc5b855c109..c80c2646b7d4c 100644
--- a/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.28.0";
+  version = "0.29.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = version;
-    sha256 = "sha256-ZyYIZLIlLQV3Yj4a+M5vZVaTe9lEsrWhBe/g9wzM1TY=";
+    sha256 = "sha256-IzT48ABfk/v8VZJRJEMU/Rsi6mJG4IvtF7HNRv6TLeA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/atomman/default.nix b/pkgs/development/python-modules/atomman/default.nix
index 7e1738ad33ad4..cdef83e999e2b 100644
--- a/pkgs/development/python-modules/atomman/default.nix
+++ b/pkgs/development/python-modules/atomman/default.nix
@@ -13,6 +13,7 @@
 , pymatgen
 , pytest
 , pythonOlder
+, pythonAtLeast
 , requests
 , scipy
 , toolz
@@ -24,7 +25,7 @@ buildPythonPackage rec {
   pname = "atomman";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
 
   src = fetchFromGitHub {
     owner = "usnistgov";
@@ -57,8 +58,11 @@ buildPythonPackage rec {
   checkPhase = ''
     # pytestCheckHook doesn't work
     pytest tests -k "not test_rootdir and not test_version \
-      and not test_atomic_mass and not imageflags" \
-      --ignore tests/plot/test_interpolate.py
+      and not test_atomic_mass and not imageflags \
+      and not test_build_unit and not test_set_and_get_in_units \
+      and not test_set_literal and not test_scalar_model " \
+      --ignore tests/plot/test_interpolate.py \
+      --ignore tests/tools/test_vect_angle.py
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aurorapy/default.nix b/pkgs/development/python-modules/aurorapy/default.nix
index 7e59d9c8bc958..00eb71e3d7daf 100644
--- a/pkgs/development/python-modules/aurorapy/default.nix
+++ b/pkgs/development/python-modules/aurorapy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aurorapy";
-  version = "0.2.6";
+  version = "0.2.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "energievalsabbia";
     repo = pname;
     rev = version;
-    hash = "sha256-DMlzzLe94dbeHjESmLc045v7vQ//IEsngAv7TeVznHE=";
+    hash = "sha256-rGwfGq3zdoG9NCGqVN29Q4bWApk5B6CRdsW9ctWgOec=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index 49f18ebca4982..ff866c6364cab 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -1,25 +1,49 @@
 { lib
-, argon2_cffi
 , buildPythonPackage
-, cbor
+, fetchPypi
+, attrs
+, argon2-cffi
+, base58
 , cbor2
 , cffi
+, click
 , cryptography
-, fetchPypi
+, ecdsa
+  # , eth-abi
 , flatbuffers
+, jinja2
+, hkdf
+, hyperlink
+, mnemonic
 , mock
 , msgpack
 , passlib
+  # , py-ecc
+  # , py-eth-sig-utils
+, py-multihash
+, py-ubjson
 , pynacl
+, pygobject3
+, pyopenssl
+, pyqrcode
 , pytest-asyncio
+, python-snappy
 , pytestCheckHook
 , pythonOlder
+  # , pytrie
+, rlp
+, service-identity
+, spake2
 , twisted
-, py-ubjson
 , txaio
 , ujson
+  # , web3
+  # , wsaccel
+  # , xbr
+, yapf
+  # , zlmdb
 , zope_interface
-}:
+}@args:
 
 buildPythonPackage rec {
   pname = "autobahn";
@@ -34,27 +58,18 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    argon2_cffi
-    cbor
-    cbor2
-    cffi
     cryptography
-    flatbuffers
-    msgpack
-    passlib
-    py-ubjson
+    hyperlink
     pynacl
-    twisted
     txaio
-    ujson
-    zope_interface
   ];
 
   checkInputs = [
     mock
     pytest-asyncio
     pytestCheckHook
-  ];
+  ] ++ passthru.extras-require.scram
+  ++ passthru.extras-require.serialization;
 
   postPatch = ''
     substituteInPlace setup.py \
@@ -74,10 +89,23 @@ buildPythonPackage rec {
     "autobahn"
   ];
 
+  passthru.extras-require = rec {
+    all = accelerate ++ compress ++ encryption ++ nvx ++ serialization ++ scram ++ twisted ++ ui ++ xbr;
+    accelerate = [ /* wsaccel */ ];
+    compress = [ python-snappy ];
+    encryption = [ pynacl pyopenssl pyqrcode /* pytrie */ service-identity ];
+    nvx = [ cffi ];
+    scram = [ argon2-cffi cffi passlib ];
+    serialization = [ cbor2 flatbuffers msgpack ujson py-ubjson ];
+    twisted = [ attrs args.twisted zope_interface ];
+    ui = [ pygobject3 ];
+    xbr = [ base58 cbor2 click ecdsa /* eth-abi */ jinja2 hkdf mnemonic /* py-ecc py-eth-sig-utils */ py-multihash rlp spake2 twisted /* web3 xbr */ yapf /* zlmdb */ ];
+  };
+
   meta = with lib; {
     description = "WebSocket and WAMP in Python for Twisted and asyncio";
     homepage = "https://crossbar.io/autobahn";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 2b3b1e4ce8c17..9698b445eb873 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Manipulate JSON-like data with NumPy-like idioms";
-    homepage = "https://github.com/scikit-hep/awkward-1.0";
+    homepage = "https://github.com/scikit-hep/awkward";
     license = licenses.bsd3;
     maintainers = with maintainers; [ veprbl ];
   };
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 9f4a6dcb45a04..c888a99f26418 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,8 +26,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "venth";
     repo = pname;
-    rev = version;
-    hash = "sha256-T3AmPCOSeu7gvl57aHjnviy5iQAKlWy85fUOVecFRFc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-/cOJ8k8YuwTGEXrNuPFAYvDyDKERMJf3o3nRkDLkrJE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 0aac1e71e7c45..6d4baf0f553e7 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.14.0";
+  version = "1.16.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
-    rev = "v${version}";
-    sha256 = "sha256-ypzo0cYvP8LV74cQMzHIFDk3LH0bbEB4UxPxRuqe2fc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-XJDukyYTtnAHiHACi5gEJ9VPjqv8Y4V7oe4q3l5fpMA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-eventhub/default.nix b/pkgs/development/python-modules/azure-eventhub/default.nix
index de3ddb803aa54..feafb56323cc2 100644
--- a/pkgs/development/python-modules/azure-eventhub/default.nix
+++ b/pkgs/development/python-modules/azure-eventhub/default.nix
@@ -3,21 +3,27 @@
 , fetchPypi
 , azure-core
 , uamqp
+, pythonOlder
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "azure-eventhub";
-  version = "5.7.0";
+  version = "5.9.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "6ac364e5f1c5b376604c3b5a25ad0be5e3a5f96368f590e05b47e6745f1006ee";
+    sha256 = "509c6b351db0c1674a7c33308e6ffebc5a9bd2b0a9d10bcb2fa3d0a3a47d42d0";
   };
 
   propagatedBuildInputs = [
     azure-core
     uamqp
+    typing-extensions
   ];
 
   # too complicated to set up
@@ -31,6 +37,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Microsoft Azure Event Hubs Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/eventhub/azure-eventhub";
+    changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-eventhub_${version}/sdk/eventhub/azure-eventhub/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index 4a502ac65dbfb..df03e41d56b9f 100644
--- a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "19.0.0";
+  version = "19.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-UHkSUoNzXWomr4vczGRRXVJplVRfqDjwFczkOP2Jwsc=";
+    sha256 = "sha256-t06Cesxvjk31aDxkX2Yj0VzFubWbiAc26LzNTIgVEqs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix b/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
index d26033c414f1f..fc638390a3b30 100644
--- a/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datafactory";
-  version = "2.4.0";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-oCDh7tWsBA6z/auQm3AtkRzT9IUrq8HJ+R//HDJ+1nw=";
+    hash = "sha256-vV+VAK+lesBylrIsGB+MZCT4kW84beFSIYJZfOzPoTY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 1f1a2dde37627..d36a1b985c716 100644
--- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,27 +1,30 @@
 { lib
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , msrest
-, msrestazure
 , azure-common
-, azure-mgmt-nspkg
+, azure-mgmt-core
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-msi";
-  version = "6.0.0";
+  version = "6.0.1";
+
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-RpmYeF6LRKqu0KrjNAFAaOGxyfPuK+TImOumP+FPX2w=";
+    sha256 = "sha256-PPkQmUoBkJ8Su7h9G2/t8dVy/PT3uCYZjlf70fnY2vU=";
   };
 
   propagatedBuildInputs = [
     msrest
-    msrestazure
     azure-common
-    azure-mgmt-nspkg
+    azure-mgmt-core
   ];
 
   pythonNamespaces = [ "azure.mgmt" ];
@@ -29,9 +32,11 @@ buildPythonPackage rec {
   # has no tests
   doCheck = false;
 
+  pythonImportsCheck = [ "azure.mgmt.msi" ];
+
   meta = with lib; {
     description = "This is the Microsoft Azure MSI Management Client Library";
-    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/resources/azure-mgmt-msi";
     license = licenses.mit;
     maintainers = with maintainers; [ maxwilson ];
   };
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 6da9e8e2e0b49..93cd52c63d196 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -5,18 +5,20 @@
 , azure-mgmt-core
 , msrest
 , msrestazure
-, isPy3k
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "19.3.0";
+  version = "20.0.0";
   pname = "azure-mgmt-network";
-  disabled = !isPy3k;
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0b6a1ccdffd76e057ab16a6c319740a0ca68d59fedf7e9c02f2437396e72aa11";
+    hash = "sha256-mnjPyCAJ+rlNgZ4umSYjfVVVg83EobZYY/zupyDjdoY=";
   };
 
   propagatedBuildInputs = [
@@ -26,12 +28,16 @@ buildPythonPackage rec {
     msrestazure
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
-  pythonNamespaces = [ "azure.mgmt" ];
+  pythonNamespaces = [
+    "azure.mgmt"
+  ];
 
-  pythonImportsCheck = [ "azure.mgmt.network" ];
+  pythonImportsCheck = [
+    "azure.mgmt.network"
+  ];
 
   meta = with lib; {
     description = "Microsoft Azure SDK for Python";
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 5baf84c1c394d..f2426586d6a0c 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -5,17 +5,20 @@
 , msrestazure
 , azure-common
 , azure-mgmt-core
-, azure-mgmt-nspkg
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "4.1.1";
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-9xF2TIAzydmviOwfveA0ZGP7Qj0HWLL6rXp4V4IDS6A=";
+    hash = "sha256-At0BP9mWJneG65FDZuQXTnikaNcEWe+GtTr9ZPri89M=";
   };
 
   propagatedBuildInputs = [
@@ -23,13 +26,14 @@ buildPythonPackage rec {
     msrestazure
     azure-common
     azure-mgmt-core
-    azure-mgmt-nspkg
   ];
 
-  # has no tests
+  # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "azure.mgmt.recoveryservicesbackup" ];
+  pythonImportsCheck = [
+    "azure.mgmt.recoveryservicesbackup"
+  ];
 
   meta = with lib; {
     description = "This is the Microsoft Azure Recovery Services Backup Management Client Library";
diff --git a/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix b/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
index f2f4587cc67eb..b2a763441a332 100644
--- a/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-redhatopenshift/default.nix
@@ -9,14 +9,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.0";
+  version = "1.1.0";
   pname = "azure-mgmt-redhatopenshift";
   disabled = isPy27; # don't feel like fixing namespace issues on python2
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "94cd41f1ebd82e40620fd3e6d88f666b5c19ac7cf8b4e8edadb9721bd7c80980";
+    sha256 = "sha256-Tq8h3fvajxIG2QjtCyHCQDE2deBDioxLLaQQek/O24U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 761472b631fff..8ac4330b45a80 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,14 +8,14 @@
 
 
 buildPythonPackage rec {
-  version = "21.0.0";
+  version = "21.1.0";
   pname = "azure-mgmt-resource";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-y9J/UhxwtA/YO/Y88XsStbwD5ecNwrbnpxtevYuQDQM=";
+    sha256 = "sha256-UpZa3jHNBZ/qKxUT1l/mFgRuQz3g5YPc9cnJvr8+vWk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-servicebus/default.nix b/pkgs/development/python-modules/azure-servicebus/default.nix
index a0864529177fc..0fd1ca89f08c3 100644
--- a/pkgs/development/python-modules/azure-servicebus/default.nix
+++ b/pkgs/development/python-modules/azure-servicebus/default.nix
@@ -3,22 +3,25 @@
 , azure-core
 , buildPythonPackage
 , fetchPypi
-, futures ? null
 , isodate
-, isPy3k
 , msrestazure
+, pythonOlder
+, six
+, typing-extensions
 , uamqp
 }:
 
 buildPythonPackage rec {
   pname = "azure-servicebus";
-  version = "7.6.0";
+  version = "7.6.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-uZGxQ1Vl6wpBCMW1+80/CBuqelLV02yXf1sNlNtCpHU=";
+    hash = "sha256-wqt+uWKVklP2AxiQN9PeuOFUixtZuBUIUhN+WZBYrBI=";
   };
 
   propagatedBuildInputs = [
@@ -26,16 +29,15 @@ buildPythonPackage rec {
     azure-core
     isodate
     msrestazure
+    six
+    typing-extensions
     uamqp
-  ] ++ lib.optionals (!isPy3k) [
-    futures
   ];
 
-  # has no tests
+  # Tests require dev-tools
   doCheck = false;
 
-  # python2 will fail due to pep 420
-  pythonImportsCheck = lib.optionals isPy3k [
+  pythonImportsCheck = [
     "azure.servicebus"
   ];
 
diff --git a/pkgs/development/python-modules/azure-storage-file-share/default.nix b/pkgs/development/python-modules/azure-storage-file-share/default.nix
index c7c59fd2b9f41..754fbae5522ea 100644
--- a/pkgs/development/python-modules/azure-storage-file-share/default.nix
+++ b/pkgs/development/python-modules/azure-storage-file-share/default.nix
@@ -1,7 +1,7 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchPypi
-, isPy3k
-, lib
+, pythonOlder
 
 # pythonPackages
 , azure-core
@@ -11,13 +11,15 @@
 
 buildPythonPackage rec {
   pname = "azure-storage-file-share";
-  version = "12.7.0";
-  disabled = !isPy3k;
+  version = "12.8.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-kYNugiWNlXEgryKLwrzytca/W+2481RqqUCbdJWrqDI=";
+    hash = "sha256-46OEVjMYFUa8A6Qh+yicrqUuXmUaSzsWT4maBFG6Yqg=";
   };
 
   propagatedBuildInputs = [
@@ -28,6 +30,7 @@ buildPythonPackage rec {
 
   # requires checkout from monorepo
   doCheck = false;
+
   pythonImportsCheck = [
     "azure.core"
     "azure.storage"
@@ -37,8 +40,6 @@ buildPythonPackage rec {
     description = "Microsoft Azure File Share Storage Client Library for Python";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/backports-zoneinfo/default.nix b/pkgs/development/python-modules/backports-zoneinfo/default.nix
index d2b6d06c4cdbb..5fa4c6323169a 100644
--- a/pkgs/development/python-modules/backports-zoneinfo/default.nix
+++ b/pkgs/development/python-modules/backports-zoneinfo/default.nix
@@ -7,6 +7,7 @@
 , tzdata
 , hypothesis
 , pytestCheckHook
+, fetchpatch
 }:
 
 buildPythonPackage rec {
@@ -22,7 +23,25 @@ buildPythonPackage rec {
     sha256 = "sha256-00xdDOVdDanfsjQTd3yjMN2RFGel4cWRrAA3CvSnl24=";
   };
 
+  # Make sure test data update patch applies
+  prePatch = ''
+    substituteInPlace tests/data/zoneinfo_data.json --replace \"2020a\" \"2021a\"
+  '';
+
   patches = [
+    # Update test suite's test data to zoneinfo 2022a
+    # https://github.com/pganssle/zoneinfo/pull/115
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data1.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/837e2a0f9f1a1332e4233f83e3648fa564a9ec9e.patch";
+      sha256 = "196knwa212mr0b7zsh8papzr3f5mii87gcjjjx1r9zzvmk3g3ri0";
+    })
+    (fetchpatch {
+      name = "backports-zoneinfo-2022a-update-test-data2.patch";
+      url = "https://github.com/pganssle/zoneinfo/pull/115/commits/9fd330265b177916d6182249439bb40d5691eb58.patch";
+      sha256 = "1zxa5bkwi8hbnh4c0qv72wv6vdp5jlxqizfjsc05ymzvwa99cf75";
+    })
+
     (substituteAll {
       name = "zoneinfo-path";
       src = ./zoneinfo.patch;
diff --git a/pkgs/development/python-modules/beaker/default.nix b/pkgs/development/python-modules/beaker/default.nix
index 60823b4c077b5..c455ee50284ae 100644
--- a/pkgs/development/python-modules/beaker/default.nix
+++ b/pkgs/development/python-modules/beaker/default.nix
@@ -5,7 +5,7 @@
 , glibcLocales
 , nose
 , pylibmc
-, memcached
+, python-memcached
 , redis
 , pymongo
 , mock
@@ -42,7 +42,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     glibcLocales
-    memcached
+    python-memcached
     mock
     nose
     pylibmc
@@ -52,11 +52,7 @@ buildPythonPackage rec {
   ];
 
   # Can not run memcached tests because it immediately tries to connect
-  postPatch = lib.optionalString isPy3k ''
-    substituteInPlace setup.py \
-      --replace "python-memcached" "python3-memcached"
-    '' + ''
-
+  postPatch = ''
     rm tests/test_memcached.py
   '';
 
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index d4ced793f8304..6ba700cc6e24a 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -12,7 +12,7 @@
 , oauth2client
 , ply
 , pytest
-, python_magic
+, python-magic
 , requests
 }:
 
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     lxml
     oauth2client
     ply
-    python_magic
+    python-magic
     requests
     # pytest really is a runtime dependency
     # https://github.com/beancount/beancount/blob/v2/setup.py#L81-L82
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index 33539e371c2a4..531f05844f54d 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.29.0";
+  version = "0.30.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "zigpy";
     repo = "bellows";
-    rev = version;
-    sha256 = "sha256-coIrI3C6Wnn8Of/IHAlvZgkcBBf9OBQt5Ir6YOXCf0c=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-epsE/VKK6LwMVbkx5PWgAxZ62PO4udCFr3jYi0MrUpI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index d5806d77112d5..79ac6475ae6a0 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.4.1";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+uygP5eemSzHb3QGr365eVyxEbjYlpyJGgMr10l8h9o=";
+    sha256 = "sha256-jTj2B1EAgJmmWdWs+zXvQVAYPv/Vsr+mwQGZJw3fTJw=";
   };
 
   checkPhase = ''
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Efficient arrays of booleans";
     homepage = "https://github.com/ilanschnell/bitarray";
-    changelog = "https://github.com/ilanschnell/bitarray/blob/master/CHANGE_LOG";
+    changelog = "https://github.com/ilanschnell/bitarray/raw/${version}/CHANGE_LOG";
     license = licenses.psfl;
     maintainers = [ maintainers.bhipple ];
   };
diff --git a/pkgs/development/python-modules/bleach/default.nix b/pkgs/development/python-modules/bleach/default.nix
index 6d3c7fffe6adc..fce105163a54f 100644
--- a/pkgs/development/python-modules/bleach/default.nix
+++ b/pkgs/development/python-modules/bleach/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "bleach";
-  version = "4.1.0";
+  version = "5.0.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-CQDYs366YagC7kCsAGH4wrXe4pwZJ90dIz4HXr9acdo=";
+    hash = "sha256-xtbMBUvcnIO0i4CD4jbl8A8jhChmbSzi4IPqpf1WhWU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/blocksat-cli/default.nix b/pkgs/development/python-modules/blocksat-cli/default.nix
index 4c5b96bce5382..8652dbdc54416 100644
--- a/pkgs/development/python-modules/blocksat-cli/default.nix
+++ b/pkgs/development/python-modules/blocksat-cli/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "blocksat-cli";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-hz5BGE+gqOrPiXvmeOTOecm2RUrTvM/xxvV3cnO2QSc=";
+    sha256 = "sha256-HHalq64pgjobnPwjXMi57OumHxOuf7wjuw0d6arMoAI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bond-api/default.nix b/pkgs/development/python-modules/bond-api/default.nix
index a685c01fbc0fc..555caa6033ca2 100644
--- a/pkgs/development/python-modules/bond-api/default.nix
+++ b/pkgs/development/python-modules/bond-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bond-api";
-  version = "0.1.16";
+  version = "0.1.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "prystupa";
     repo = "bond-api";
     rev = "v${version}";
-    sha256 = "1nqf090b14nd7an2n776mb37yskddfnihmas2fy56pxclwvwqr9n";
+    hash = "sha256-fuVYyDy3fG+XobFe2GCzMWRWPk8VDPLU4RHJzcF5MLg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/boolean-py/default.nix b/pkgs/development/python-modules/boolean-py/default.nix
index dc1b1be0d81b2..3ac516e5e1b72 100644
--- a/pkgs/development/python-modules/boolean-py/default.nix
+++ b/pkgs/development/python-modules/boolean-py/default.nix
@@ -1,21 +1,36 @@
-{ lib, buildPythonPackage, fetchFromGitHub
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "boolean.py";
-  version = "3.8";
+  pname = "boolean-py";
+  version = "4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "bastikr";
     repo = "boolean.py";
     rev = "v${version}";
-    sha256 = "02jznrfrihhk69ai1vnh26s3rshl4kfc2id7li6xccavc2ws5y3b";
+    hash = "sha256-i6aNzGDhZip9YHXLiuh9crGm2qT2toBU2xze4PDLleg=";
   };
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "boolean"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/bastikr/boolean.py";
     description = "Implements boolean algebra in one module";
+    homepage = "https://github.com/bastikr/boolean.py";
     license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/breezy/default.nix b/pkgs/development/python-modules/breezy/default.nix
index 3c24d5f31924a..64774a70867a2 100644
--- a/pkgs/development/python-modules/breezy/default.nix
+++ b/pkgs/development/python-modules/breezy/default.nix
@@ -3,23 +3,36 @@
 , fetchPypi
 , configobj
 , patiencediff
-, six
+, fastbencode
 , fastimport
 , dulwich
 , launchpadlib
 , testtools
+, pythonOlder
+, installShellFiles
 }:
 
 buildPythonPackage rec {
   pname = "breezy";
-  version = "3.2.1";
+  version = "3.2.2";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-4LJo6xoooq8EUoDDfQIa4y1/8XX0ybmfM6rX2wsp2Fw=";
+    sha256 = "sha256-GHpuRSCN0F2BdQc2cgyDcQz0gJT1R+xAgcVxJZVZpNU=";
   };
 
-  propagatedBuildInputs = [ configobj patiencediff six fastimport dulwich launchpadlib ];
+  nativeBuildInputs = [ installShellFiles ];
+
+  propagatedBuildInputs = [
+    configobj
+    fastbencode
+    patiencediff
+    fastimport
+    dulwich
+    launchpadlib
+  ];
 
   checkInputs = [ testtools ];
 
@@ -29,6 +42,8 @@ buildPythonPackage rec {
   # symlink for bazaar compatibility
   postInstall = ''
     ln -s "$out/bin/brz" "$out/bin/bzr"
+
+    installShellCompletion --cmd brz --bash contrib/bash/brz
   '';
 
   pythonImportsCheck = [ "breezy" ];
@@ -36,7 +51,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Friendly distributed version control system";
     homepage = "https://www.breezy-vcs.org/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = [ maintainers.marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/browser-cookie3/default.nix b/pkgs/development/python-modules/browser-cookie3/default.nix
index 163c0e4a15ad6..a452c310e43dd 100644
--- a/pkgs/development/python-modules/browser-cookie3/default.nix
+++ b/pkgs/development/python-modules/browser-cookie3/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "browser-cookie3";
-  version = "0.14.0";
+  version = "0.14.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-kWYMl/JZxonLfT0u/13bXz0MlC36jssWWq/i05FDpOA=";
+    hash = "sha256-2cMWFyHK+7M99Z9O7PiKue37c5XVBe/n88AF5ax7A2s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/brunt/default.nix b/pkgs/development/python-modules/brunt/default.nix
new file mode 100644
index 0000000000000..1c11e92b2346d
--- /dev/null
+++ b/pkgs/development/python-modules/brunt/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, aiohttp
+, requests
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "brunt";
+  version = "1.2.0";
+
+  disabled = pythonOlder "3.8";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e704627dc7b9c0a50c67ae90f1d320b14f99f2b2fc9bf1ef0461b141dcf1bce9";
+  };
+
+  postPatch = ''
+    sed -i '/--cov/d' setup.cfg
+  '';
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # tests require Brunt hardware
+  doCheck = false;
+
+  pythonImportsCheck = [ "brunt" ];
+
+  meta = {
+    description = "Unofficial Python SDK for Brunt";
+    homepage = "https://github.com/eavanvalkenburg/brunt-api";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 743c9f2c4b117..2eff37314e83d 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -53,7 +53,7 @@ let
       unidiff
     ]
       # tls
-      ++ twisted.extras.tls;
+      ++ twisted.extras-require.tls;
 
     checkInputs = [
       treq
diff --git a/pkgs/development/python-modules/cachy/default.nix b/pkgs/development/python-modules/cachy/default.nix
index 278dd5a8ae60e..c88067146f344 100644
--- a/pkgs/development/python-modules/cachy/default.nix
+++ b/pkgs/development/python-modules/cachy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , redis
-, memcached
+, python-memcached
 , msgpack
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     redis
-    memcached
+    python-memcached
     msgpack
   ];
 
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index f09b2ab66307e..f38d9aa634ad9 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.16.3";
+  version = "1.16.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-7URIk76iQ1u59RM1VeqO5qqTg+0kCPtsP+2Y5CxCZ3I=";
+    sha256 = "sha256-/zIx1GlzAnQf0t2d8ME+bi2CZGj6Qr9f5Z4afrQD8FY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/chainer/default.nix b/pkgs/development/python-modules/chainer/default.nix
index 1b40d506abc1d..1585d6d5e895c 100644
--- a/pkgs/development/python-modules/chainer/default.nix
+++ b/pkgs/development/python-modules/chainer/default.nix
@@ -8,7 +8,6 @@ buildPythonPackage rec {
   version = "7.8.1";
   disabled = !isPy3k; # python2.7 abandoned upstream
 
-  # no tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "chainer";
     repo = "chainer";
@@ -16,11 +15,6 @@ buildPythonPackage rec {
     sha256 = "1n07zjzc4g92m1sbgxvnansl0z00y4jnhma2mw06vnahs7s9nrf6";
   };
 
-  checkInputs = [
-    pytestCheckHook
-    mock
-  ];
-
   propagatedBuildInputs = [
     filelock
     protobuf
@@ -28,8 +22,21 @@ buildPythonPackage rec {
     typing-extensions
   ] ++ lib.optionals cudaSupport [ cupy ];
 
+  checkInputs = [
+    pytestCheckHook
+    mock
+  ];
+
   pytestFlagsArray = [ "tests/chainer_tests/utils_tests" ];
 
+  preCheck = ''
+    # cf. https://github.com/chainer/chainer/issues/8621
+    export CHAINER_WARN_VERSION_MISMATCH=0
+
+    # ignore pytest warnings not listed
+    rm setup.cfg
+  '';
+
   disabledTests = [
     "gpu"
     "cupy"
@@ -39,8 +46,6 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "A flexible framework of neural networks for deep learning";
     homepage = "https://chainer.org/";
-    # Un-break me when updating chainer next time!
-    broken = cudaSupport && (lib.versionAtLeast cupy.version "8.0.0");
     license = licenses.mit;
     maintainers = with maintainers; [ hyphon81 ];
   };
diff --git a/pkgs/development/python-modules/chiavdf/default.nix b/pkgs/development/python-modules/chiavdf/default.nix
index a4bd20f9cd6a8..819b6fdcda39c 100644
--- a/pkgs/development/python-modules/chiavdf/default.nix
+++ b/pkgs/development/python-modules/chiavdf/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "chiavdf";
-  version = "1.0.6";
+  version = "1.0.7";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Ri7j/T0nnZFml4kC0qIQkyYRJBPZMhTYxolW/A25030=";
+    hash = "sha256-956517eGqRSLg+Y4ybmASiZoypgpYn/D9lbPA4Rcfts=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/cirq-core/default.nix b/pkgs/development/python-modules/cirq-core/default.nix
index 92045eb3e3ef4..74f8e488fd925 100644
--- a/pkgs/development/python-modules/cirq-core/default.nix
+++ b/pkgs/development/python-modules/cirq-core/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "cirq-core";
-  version = "0.13.1";
+  version = "0.14.1";
 
   disabled = pythonOlder "3.6";
 
@@ -38,32 +38,17 @@ buildPythonPackage rec {
     owner = "quantumlib";
     repo = "cirq";
     rev = "v${version}";
-    sha256 = "sha256-MVfJ8iEeW8gFvCNTqrWfYpNNYuDAufHgcjd7Nh3qp8U=";
+    sha256 = "sha256-cIDwV3IBXrTJ4jC1/HYmduY3tLe/f6wj8CWZ4cnThG8=";
   };
 
   sourceRoot = "source/${pname}";
 
-  patches = [
-    # present in upstream master - remove after 0.13.1
-    (fetchpatch {
-      name = "fix-test-tolerances.part-1.patch";
-      url = "https://github.com/quantumlib/Cirq/commit/eb1d9031e55d3c8801ea44abbb6a4132b2fc5126.patch";
-      sha256 = "0ka24v6dfxnap9p07ni32z9zccbmw0lbrp5mcknmpsl12hza98xm";
-      stripLen = 1;
-    })
-    (fetchpatch {
-      name = "fix-test-tolerances.part-2.patch";
-      url = "https://github.com/quantumlib/Cirq/commit/a28d601b2bcfc393336375c53e5915fd16455395.patch";
-      sha256 = "0k2dqsm4ydn6556d40kc8j04jgjn59z4wqqg1jn1r916a7yxw493";
-      stripLen = 1;
-    })
-  ];
-
   postPatch = ''
     substituteInPlace requirements.txt \
       --replace "matplotlib~=3.0" "matplotlib" \
       --replace "networkx~=2.4" "networkx" \
-      --replace "numpy~=1.16" "numpy"
+      --replace "numpy~=1.16" "numpy" \
+      --replace "sympy<1.10" "sympy"
   '';
 
   propagatedBuildInputs = [
@@ -93,9 +78,9 @@ buildPythonPackage rec {
     freezegun
   ];
 
-  pytestFlagsArray = lib.optionals (!withContribRequires) [
+  disabledTestPaths = lib.optionals (!withContribRequires) [
     # requires external (unpackaged) libraries, so untested.
-    "--ignore=cirq/contrib/"
+    "cirq/contrib/"
   ];
   disabledTests = [
     "test_metadata_search_path" # tries to import flynt, which isn't in Nixpkgs
diff --git a/pkgs/development/python-modules/cirq/default.nix b/pkgs/development/python-modules/cirq/default.nix
index 6e428eeb4ef61..17623817e7b64 100644
--- a/pkgs/development/python-modules/cirq/default.nix
+++ b/pkgs/development/python-modules/cirq/default.nix
@@ -1,4 +1,5 @@
 { buildPythonPackage
+, fetchpatch
 , cirq-aqt
 , cirq-core
 , cirq-google
@@ -14,6 +15,14 @@ buildPythonPackage rec {
   pname = "cirq";
   inherit (cirq-core) version src meta;
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/quantumlib/Cirq/commit/b832db606e5f1850b1eda168a6d4a8e77d8ec711.patch";
+      name = "pr-5330-prevent-implicit-packages.patch";
+      sha256 = "sha256-HTEH3fFxPiBedaz5GxZjXayvoiazwHysKZIOzqwZmbg=";
+    })
+  ];
+
   propagatedBuildInputs = [
     cirq-aqt
     cirq-core
diff --git a/pkgs/development/python-modules/ciscoconfparse/default.nix b/pkgs/development/python-modules/ciscoconfparse/default.nix
index 49b36a5c6582c..535c46fc40aa6 100644
--- a/pkgs/development/python-modules/ciscoconfparse/default.nix
+++ b/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -1,24 +1,27 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
-, poetry-core
-, passlib
 , dnspython
+, fetchFromGitHub
 , loguru
-, toml
+, passlib
+, poetry-core
 , pytestCheckHook
+, pythonOlder
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "ciscoconfparse";
-  version = "1.6.36";
+  version = "1.6.40";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "mpenning";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nIuuqAxz8eHEQRuH8nfYVQ+vGMmcDcARJLizoI5Mty8=";
+    hash = "sha256-2j1AlCIwTxIjotZ0fSt1zhsgPfJTqJukZ6KQvh74NJ8=";
   };
 
   postPatch = ''
@@ -45,17 +48,19 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
+    # Tests require network access
     "test_dns_lookup"
     "test_reverse_dns_lookup"
   ];
 
-  pythonImportsCheck = [ "ciscoconfparse" ];
+  pythonImportsCheck = [
+    "ciscoconfparse"
+  ];
 
   meta = with lib; {
-    description =
-      "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
+    description = "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
     homepage = "https://github.com/mpenning/ciscoconfparse";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.astro ];
+    maintainers = with maintainers; [ astro ];
   };
 }
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 8f66e8551edf5..e37f1ee8dbd3d 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-pCqhSpZfX3u9vJ8Oy1yyicagBQYK5+jBVCEab0TnGA4=";
+    hash = "sha256-O2nkGIQfjGmhrqBPoMI97DsCvOUZix0VcUHwmDyF40Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index 8ee898b445e72..f626e62db0d3b 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.1";
+  version = "9.2.3";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-OGdnrRFfx2LMMsw6giPC+4izWX603cYbpKHuslj4Gng=";
+    hash = "sha256-gyWeE4sF9Bmk2CNmXh90xMtXlaz/Agm7wX6sWr0Fyco=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/clickgen/default.nix b/pkgs/development/python-modules/clickgen/default.nix
index a85cee778b0b7..b74827d1971dd 100644
--- a/pkgs/development/python-modules/clickgen/default.nix
+++ b/pkgs/development/python-modules/clickgen/default.nix
@@ -1,5 +1,8 @@
 { lib
+, stdenv
 , buildPythonPackage
+, pythonOlder
+, pythonAtLeast
 , fetchFromGitHub
 , pillow
 , libX11
@@ -11,26 +14,38 @@
 
 buildPythonPackage rec {
   pname = "clickgen";
-  version = "1.1.9";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8" || pythonAtLeast "3.10";
 
   src = fetchFromGitHub {
     owner = "ful1e5";
     repo = "clickgen";
     rev = "v${version}";
-    sha256 = "108f3sbramd3hhs4d84s3i3lbwllfrkvjakjq4gdmbw6xpilvm0l";
+    sha256 = "sha256-01c8SVy+J004dq5KCUe62w7i/xUTxTfl/IpvUtGQgw0=";
   };
 
   buildInputs = [ libXcursor libX11 libpng ];
 
   propagatedBuildInputs = [ pillow ];
 
-  pythonImportsCheck = [ "clickgen" ];
+  checkInputs = [ pytestCheckHook ];
+
+  postBuild = ''
+    # Needs to build xcursorgen.so
+    cd src/xcursorgen
+    make
+    cd ../..
+  '';
 
   postInstall = ''
-    install -m644 clickgen/xcursorgen.so $out/${python.sitePackages}/clickgen/xcursorgen.so
+    install -m644 src/xcursorgen/xcursorgen.so $out/${python.sitePackages}/clickgen/xcursorgen.so
+    # Copying scripts directory needed by clickgen script at $out/bin/
+    cp -R src/clickgen/scripts $out/${python.sitePackages}/clickgen/scripts
   '';
 
-  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "clickgen" ];
 
   meta = with lib; {
     homepage = "https://github.com/ful1e5/clickgen";
@@ -41,5 +56,8 @@ buildPythonPackage rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ AdsonCicilioti ];
+    # fails with:
+    # ld: unknown option: -zdefs
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/container-inspector/default.nix b/pkgs/development/python-modules/container-inspector/default.nix
new file mode 100644
index 0000000000000..9d4f67ca83020
--- /dev/null
+++ b/pkgs/development/python-modules/container-inspector/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, attrs
+, buildPythonPackage
+, click
+, commoncode
+, dockerfile-parse
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "container-inspector";
+  version = "31.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-YwtyNZsTMb8iFXo/rojvjkKUbMNRCXVamzFykpwYCOk=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    click
+    dockerfile-parse
+    commoncode
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "container_inspector"
+  ];
+
+  meta = with lib; {
+    description = "Suite of analysis utilities and command line tools for container images";
+    homepage = "https://github.com/nexB/container-inspector";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/contexttimer/default.nix b/pkgs/development/python-modules/contexttimer/default.nix
index 02aeec5bfcc3c..7cf41e9fcbdc5 100644
--- a/pkgs/development/python-modules/contexttimer/default.nix
+++ b/pkgs/development/python-modules/contexttimer/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     })
   ];
 
-  pythonImportCheck = [ "contexttimer" ];
+  pythonImportsCheck = [ "contexttimer" ];
 
   checkInputs = [ mock ];
 
diff --git a/pkgs/development/python-modules/crossplane/default.nix b/pkgs/development/python-modules/crossplane/default.nix
new file mode 100644
index 0000000000000..14e153cd8b281
--- /dev/null
+++ b/pkgs/development/python-modules/crossplane/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, pytestCheckHook, fetchFromGitHub }:
+
+buildPythonPackage rec {
+  pname = "crossplane";
+  version = "0.5.7";
+
+  src = fetchFromGitHub {
+    owner = "nginxinc";
+    repo = "crossplane";
+    rev = "v${version}";
+    sha256 = "0lv3frfvnvz5wjxwh3mwy8nbypv4i62v4bvy5fv7vd6kmbxy1q9l";
+  };
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "crossplane" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/nginxinc/crossplane";
+    description = "NGINX configuration file parser and builder";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/pkgs/development/python-modules/curio/default.nix b/pkgs/development/python-modules/curio/default.nix
index 1a0f4e2d9fe75..7a66e47966489 100644
--- a/pkgs/development/python-modules/curio/default.nix
+++ b/pkgs/development/python-modules/curio/default.nix
@@ -26,9 +26,10 @@ buildPythonPackage rec {
 
   disabledTests = [
      "test_aside_basic" # times out
+     "test_write_timeout" # flaky, does not always time out
      "test_aside_cancel" # fails because modifies PYTHONPATH and cant find pytest
      "test_ssl_outgoing" # touches network
-   ] ++ lib.optionals (stdenv.isDarwin) [
+   ] ++ lib.optionals stdenv.isDarwin [
      "test_unix_echo" # socket bind error on hydra when built with other packages
      "test_unix_ssl_server" # socket bind error on hydra when built with other packages
    ];
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index dfae5ea249d2a..064c6f2b12ffc 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.3.1";
+  version = "2.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,8 +23,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "plotly";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-gsP/WbALUkO3AB0uuX/ByhzaeIDSUUE1Cb8Cnh4GEh0=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-7B1LEcEgUGJ/gDCDD4oURqli8I5YTJo9jl7l4E1aLVQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index 3475001a58b7d..1782598efd819 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.14";
+  version = "9.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-l+mTqiQPuPJfGbEVSILpCTlxAka0GeCgIXjMG4Vs82o=";
+    sha256 = "sha256-qXS/hgF2qKUtTfo9UZ5KBa9N0PHJqKA8SC/vgE46LmA=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/datapoint/default.nix b/pkgs/development/python-modules/datapoint/default.nix
new file mode 100644
index 0000000000000..b5d86acf2a006
--- /dev/null
+++ b/pkgs/development/python-modules/datapoint/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, appdirs
+, pytz
+, requests
+, pytestCheckHook
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "datapoint";
+  version = "0.9.8";
+
+  src = fetchFromGitHub {
+    owner = "ejep";
+    repo = "datapoint-python";
+    rev = "v${version}";
+    hash = "sha256-YC8KFTv6lnCqMfDw1LSova7XBgmKbR3TpPDAAbH9imw=";
+  };
+
+  propagatedBuildInputs = [
+    appdirs
+    pytz
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  pytestFlagsArray = [ "tests/unit" ];
+
+  pythonImportsCheck = [ "datapoint" ];
+
+  meta = {
+    description = "Python interface to the Met Office's Datapoint API";
+    homepage = "https://github.com/ejep/datapoint-python";
+    license = lib.licenses.gpl3Only;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/datatable/default.nix b/pkgs/development/python-modules/datatable/default.nix
index 004e47a60b5cc..2ebb488aba77f 100644
--- a/pkgs/development/python-modules/datatable/default.nix
+++ b/pkgs/development/python-modules/datatable/default.nix
@@ -6,6 +6,7 @@
 , llvm
 , pytestCheckHook
 , typesentry
+, isPy310
 }:
 
 buildPythonPackage rec {
@@ -61,5 +62,8 @@ buildPythonPackage rec {
     homepage = "https://github.com/h2oai/datatable";
     license = licenses.mpl20;
     maintainers = with maintainers; [ abbradar ];
+    # uses custom build system and adds -Wunused-variable -Werror
+    # warning: ‘dt::expr::doc_first’ defined but not used [-Wunused-variable]
+    broken = isPy310;
   };
 }
diff --git a/pkgs/development/python-modules/db-dtypes/default.nix b/pkgs/development/python-modules/db-dtypes/default.nix
index 883439aba4621..636882e4edff4 100644
--- a/pkgs/development/python-modules/db-dtypes/default.nix
+++ b/pkgs/development/python-modules/db-dtypes/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchpatch
+, fetchFromGitHub
 , numpy
 , packaging
 , pandas
@@ -12,11 +13,20 @@ buildPythonPackage rec {
   pname = "db-dtypes";
   version = "1.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "3070d1a8d86ff0b5d9b16f15c5fab9c18893c6b3d5723cd95ee397b169049454";
+  src = fetchFromGitHub {
+    owner = "googleapis";
+    repo = "python-db-dtypes-pandas";
+    rev = "v${version}";
+    hash = "sha256-7u/E0ICiz7LQfuplm/mkGlWrgGEPqeMwM3CUhfH6868=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/googleapis/python-db-dtypes-pandas/commit/fb30adfd427d3df9919df00b096210ba1eb1b91d.patch";
+      sha256 = "sha256-39kZtYGbn3U1WXiDTczki5EM6SjUlSRXz8UMcdTU20g=";
+    })
+  ];
+
   propagatedBuildInputs = [
     numpy
     packaging
diff --git a/pkgs/development/python-modules/dbf/default.nix b/pkgs/development/python-modules/dbf/default.nix
index b5b6f277fd651..6c85d0def6e82 100644
--- a/pkgs/development/python-modules/dbf/default.nix
+++ b/pkgs/development/python-modules/dbf/default.nix
@@ -1,28 +1,39 @@
-{ lib, fetchPypi, buildPythonPackage, aenum, isPy3k, pythonOlder, enum34, python }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, aenum
+, pythonOlder
+, python
+}:
 
 buildPythonPackage rec {
-    pname = "dbf";
-    version = "0.99.1";
+  pname = "dbf";
+  version = "0.99.2";
+  format = "setuptools";
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "4ed598a3866dfe7761b8099cf53ab44cb6ed5e4a7dbffb0da8c67a4af8d62fc5";
-    };
+  disabled = pythonOlder "3.7";
 
-    propagatedBuildInputs = [ aenum ] ++ lib.optional (pythonOlder "3.4") enum34;
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-aeutAP2y+bUmUOZ39TpXULP+egeBcjyDmtoCheGzw+0=";
+  };
 
-    doCheck = !isPy3k;
-    # tests are not yet ported.
-    # https://groups.google.com/forum/#!topic/python-dbase/96rx2xmCG4w
+  propagatedBuildInputs = [
+    aenum
+  ];
 
-    checkPhase = ''
-      ${python.interpreter} dbf/test.py
-    '';
+  checkPhase = ''
+    ${python.interpreter} dbf/test.py
+  '';
 
-    meta = with lib; {
-      description = "Pure python package for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
-      homepage    = "https://pypi.python.org/pypi/dbf";
-      license     = licenses.bsd2;
-      maintainers = with maintainers; [ vrthra ];
-    };
+  pythonImportsCheck = [
+    "dbf"
+  ];
+
+  meta = with lib; {
+    description = "Module for reading/writing dBase, FoxPro, and Visual FoxPro .dbf files";
+    homepage = "https://github.com/ethanfurman/dbf";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ vrthra ];
+  };
 }
diff --git a/pkgs/development/python-modules/debian-inspector/default.nix b/pkgs/development/python-modules/debian-inspector/default.nix
index 0da7f634d848e..1c8cee1d7186c 100644
--- a/pkgs/development/python-modules/debian-inspector/default.nix
+++ b/pkgs/development/python-modules/debian-inspector/default.nix
@@ -6,24 +6,30 @@
 , commoncode
 , pytestCheckHook
 , setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "debian-inspector";
   version = "30.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "debian_inspector";
     inherit version;
-    sha256 = "sha256-0PT5sT6adaqgYQtWjks12ys0z1C3n116aeJaEKR/Wxg=";
+    hash = "sha256-0PT5sT6adaqgYQtWjks12ys0z1C3n116aeJaEKR/Wxg=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  dontConfigure = true;
+
   nativeBuildInputs = [
     setuptools-scm
   ];
 
-  dontConfigure = true;
-
   propagatedBuildInputs = [
     chardet
     attrs
diff --git a/pkgs/development/python-modules/defcon/default.nix b/pkgs/development/python-modules/defcon/default.nix
index f40ba374d0345..12cbdf0a210df 100644
--- a/pkgs/development/python-modules/defcon/default.nix
+++ b/pkgs/development/python-modules/defcon/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "defcon";
-  version = "0.10.0";
+  version = "0.10.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a009862a0bc3f41f2b1a1b1f80d6aeedb3a17ed77d598da09f5a1bd93e970b3c";
+    sha256 = "sha256-+nlk9xG3mOCS4xHzp54J/V+he7HNMg1aMgFeTFTrMHA=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index 31e9da795d3a7..5485372a1e1c4 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "devolo-home-control-api";
-  version = "0.18.1";
+  version = "0.18.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "2Fake";
     repo = "devolo_home_control_api";
     rev = "v${version}";
-    sha256 = "sha256-Xj5k09uEVxZgG0oLbiPOBx/dALsRjqkZbLKit4X4q9Q=";
+    sha256 = "sha256-H4kLomHM0qq6LqsRMEp34oKy/4Me7AQi6dij2vraBS8=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/devolo-plc-api/default.nix b/pkgs/development/python-modules/devolo-plc-api/default.nix
index 4fbc0f06fc43b..5d44866da0eb1 100644
--- a/pkgs/development/python-modules/devolo-plc-api/default.nix
+++ b/pkgs/development/python-modules/devolo-plc-api/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "devolo-plc-api";
-  version = "0.7.1";
+  version = "0.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "2Fake";
     repo = "devolo_plc_api";
     rev = "v${version}";
-    sha256 = "sha256-XR/daDrnfbLBrUTTMFYtndr6+RxPwnF4qbXAdXsXKHk=";
+    sha256 = "sha256-LMwvIwbP/nRFby295ur6QTgyXLLJ8ip30V9bti27qKQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/diagrams/default.nix b/pkgs/development/python-modules/diagrams/default.nix
index 84d98d091356e..5708a17d6f0ea 100644
--- a/pkgs/development/python-modules/diagrams/default.nix
+++ b/pkgs/development/python-modules/diagrams/default.nix
@@ -27,8 +27,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'jinja2 = "^2.10"' 'jinja2 = "*"' \
-      --replace 'graphviz = ">=0.13.2,<0.17.0"' 'graphviz = "*"'
+      --replace 'graphviz = ">=0.13.2,<0.20.0"' 'graphviz = "*"'
   '';
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/django-auth-ldap/default.nix b/pkgs/development/python-modules/django-auth-ldap/default.nix
index ffd4796f2a570..b3596e1e44447 100644
--- a/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "django-auth-ldap";
-  version = "4.0.0";
+  version = "4.1.0";
   format = "pyproject";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "276f79e624ce083ce13f161387f65ff1c0efe83ef8a42f2b9830d43317b15239";
+    sha256 = "sha256-d/dJ07F4B86OtWqcnI5XRv8xZWf4HVumE0ldnHSVqUk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-jinja2/default.nix b/pkgs/development/python-modules/django-jinja2/default.nix
index 039a75aacee24..305e153ce602a 100644
--- a/pkgs/development/python-modules/django-jinja2/default.nix
+++ b/pkgs/development/python-modules/django-jinja2/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "django-jinja";
-  version = "2.10.0";
+  version = "2.10.2";
 
   meta = {
     description = "Simple and nonobstructive jinja2 integration with Django";
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae6a3fdf1ffa7a9ef6fd2f0a59c1a68c96b29f7f00f5166375658ef392f1ed32";
+    sha256 = "sha256-v9+7VcH1pnnWmtV11VDEcH04ZjQAkVLv4BQInzxNFBI=";
   };
 
   buildInputs = [ django pytz tox ];
diff --git a/pkgs/development/python-modules/django-tastypie/default.nix b/pkgs/development/python-modules/django-tastypie/default.nix
new file mode 100644
index 0000000000000..a6c184e2d67e2
--- /dev/null
+++ b/pkgs/development/python-modules/django-tastypie/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python-dateutil
+, python-mimeparse
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "django-tastypie";
+  version = "0.14.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "django-tastypie";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-O/aVi8BshOZmg9WQxrFlBEOXfgyqJKVK/QlEFG3Edqs=";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+    python-mimeparse
+  ];
+
+  # Tests requires a Django instance
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "tastypie"
+  ];
+
+  meta = with lib; {
+    description = "Utilities and helpers for writing Pylint plugins";
+    homepage = "https://github.com/django-tastypie/django-tastypie";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-versatileimagefield/default.nix b/pkgs/development/python-modules/django-versatileimagefield/default.nix
index eefda80f18e4e..01c1b8353ba88 100644
--- a/pkgs/development/python-modules/django-versatileimagefield/default.nix
+++ b/pkgs/development/python-modules/django-versatileimagefield/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , django
 , pillow
-, python_magic
+, python-magic
 }:
 
 buildPythonPackage rec {
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     inherit pname version;
     sha256 = "6569d5c3e13c69ab8912ba5100084aa5abcdcffb8d1f5abc085b226e7bbd65b3";
   };
-  propagatedBuildInputs = [ pillow python_magic ];
+  propagatedBuildInputs = [ pillow python-magic ];
 
   checkInputs = [ django ];
 
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
index db00506798115..924ece59feab2 100644
--- a/pkgs/development/python-modules/django/4.nix
+++ b/pkgs/development/python-modules/django/4.nix
@@ -17,12 +17,12 @@
 
 # tests
 , aiosmtpd
-, argon2_cffi
+, argon2-cffi
 , bcrypt
 , docutils
 , geoip2
 , jinja2
-, memcached
+, python-memcached
 , numpy
 , pillow
 , pylibmc
@@ -70,13 +70,13 @@ buildPythonPackage rec {
 
   checkInputs = [
     aiosmtpd
-    argon2_cffi
+    argon2-cffi
     asgiref
     bcrypt
     docutils
     geoip2
     jinja2
-    memcached
+    python-memcached
     numpy
     pillow
     pylibmc
diff --git a/pkgs/development/python-modules/dlinfo/default.nix b/pkgs/development/python-modules/dlinfo/default.nix
new file mode 100644
index 0000000000000..a1f3ace78275a
--- /dev/null
+++ b/pkgs/development/python-modules/dlinfo/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dlinfo";
+  version = "1.2.1";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5f6f43b47f3aa5fe12bd347cf536dc8fca6068c61a0a260e408bec7f6eb4bd38";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "dlinfo" ];
+
+  meta = {
+    description = "Python wrapper for libc's dlinfo and dyld_find on Mac";
+    homepage = "https://github.com/cloudflightio/python-dlinfo";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/python-modules/dnachisel/default.nix b/pkgs/development/python-modules/dnachisel/default.nix
index 0f30113ba2ffc..1c86e3bccf6bd 100644
--- a/pkgs/development/python-modules/dnachisel/default.nix
+++ b/pkgs/development/python-modules/dnachisel/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "dnachisel";
-  version = "3.2.8";
+  version = "3.2.9";
 
   src = fetchFromGitHub {
     owner = "Edinburgh-Genome-Foundry";
     repo = "DnaChisel";
-    rev = "v${version}";
-    sha256 = "17jldscmsq5lwp3pnjlxg56k3vfpr7rj4qbcbzkzhphifrfgm729";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-Fg0gkI+01xIt8LQmNmRzkzd4AObg/99x34y5NclMtDQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dparse2/default.nix b/pkgs/development/python-modules/dparse2/default.nix
new file mode 100644
index 0000000000000..d3b61574cf8a0
--- /dev/null
+++ b/pkgs/development/python-modules/dparse2/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, toml
+, pyyaml
+, packaging
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dparse2";
+  version = "0.6.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = pname;
+    rev = version;
+    hash = "sha256-1tbNW7Gy7gvMnETdAM2ahHiwbhG9qvdYZggia1+7eGo=";
+  };
+
+  propagatedBuildInputs = [
+    toml
+    pyyaml
+    packaging
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    # Requries pipenv
+    "tests/test_parse.py"
+  ];
+
+  pythonImportsCheck = [
+    "dparse2"
+  ];
+
+  meta = with lib; {
+    description = "Module to parse Python dependency files";
+    homepage = "https://github.com/nexB/dparse2";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/ducc0/default.nix b/pkgs/development/python-modules/ducc0/default.nix
new file mode 100644
index 0000000000000..6b84db43d4d19
--- /dev/null
+++ b/pkgs/development/python-modules/ducc0/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitLab, pythonOlder, pytestCheckHook, pybind11, numpy }:
+
+buildPythonPackage rec {
+  pname = "ducc0";
+  version = "0.23.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.mpcdf.mpg.de";
+    owner = "mtr";
+    repo = "ducc";
+    rev = "ducc0_${lib.replaceStrings ["."] ["_"] version}";
+    sha256 = "dOc3TihtoRuLfniC9zQ1MEbnvGJHzFZfZ8+J8Dnw6Lk=";
+  };
+
+  buildInputs = [ pybind11 ];
+  propagatedBuildInputs = [ numpy ];
+
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "python/test" ];
+  pythonImportsCheck = [ "ducc0" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.mpcdf.mpg.de/mtr/ducc";
+    description = "Efficient algorithms for Fast Fourier transforms and more";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ parras ];
+  };
+}
diff --git a/pkgs/development/python-modules/dunamai/default.nix b/pkgs/development/python-modules/dunamai/default.nix
index 8b51d829c8df1..7627c0505ac20 100644
--- a/pkgs/development/python-modules/dunamai/default.nix
+++ b/pkgs/development/python-modules/dunamai/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "dunamai";
-  version = "1.11.1";
+  version = "1.12.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "mtkennerly";
     repo = "dunamai";
-    rev = "v${version}";
-    sha256 = "sha256-nkE9QBziCQA/aN+Z0OuqJlf5FJ4fidE7u5Gt25zjX0c=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-SyHml8TIcqU7KQE4IuTZbp+Jktao7ReJHQyHV8wKeWg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dungeon-eos/default.nix b/pkgs/development/python-modules/dungeon-eos/default.nix
index 0b1e5ebc53f5f..f87bbf82b77b3 100644
--- a/pkgs/development/python-modules/dungeon-eos/default.nix
+++ b/pkgs/development/python-modules/dungeon-eos/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "dungeon-eos";
-  version = "0.0.4";
+  version = "0.0.5";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "0hxygjk9i4qlwsxnxr52cxhqy3i62pc373z1x5sh2pas5ag59bvl";
+    sha256 = "sha256-Z1fGtslXP8zcZmVeWjRrbcM2ZJsfbrWjpLWZ49uSCRY=";
   };
 
   doCheck = false; # there are no tests
diff --git a/pkgs/development/python-modules/ecos/default.nix b/pkgs/development/python-modules/ecos/default.nix
index 35470cb8b60b2..da1f9fa510696 100644
--- a/pkgs/development/python-modules/ecos/default.nix
+++ b/pkgs/development/python-modules/ecos/default.nix
@@ -1,50 +1,49 @@
 { lib
-, pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
-, pkgs
+, nose
 , numpy
+, pythonOlder
 , scipy
-  # check inputs
-, nose
 }:
 
 buildPythonPackage rec {
   pname = "ecos";
-  version = "2.0.8";
+  version = "2.0.10";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "embotech";
     repo = "ecos-python";
-    rev = version;
-    sha256 = "sha256-2OJqbcOZceeD2fO5cu9fohuUVaA2LwQOQSWR4jRv3mk=";
+    rev = "v${version}";
+    sha256 = "sha256-TPxrTyVZ1KXgPoDbZZqXT5+NEIEndg9qepujqFQwK+Q=";
     fetchSubmodules = true;
   };
 
-  prePatch = ''
-    echo '__version__ = "${version}"' >> ./src/ecos/version.py
-  '';
-
   propagatedBuildInputs = [
     numpy
     scipy
   ];
 
-  checkInputs = [ nose ];
+  checkInputs = [
+    nose
+  ];
+
   checkPhase = ''
-    # Run tests
     cd ./src
     nosetests test_interface.py test_interface_bb.py
   '';
-  pythonImportsCheck = [ "ecos" ];
+
+  pythonImportsCheck = [
+    "ecos"
+  ];
 
   meta = with lib; {
     description = "Python package for ECOS: Embedded Cone Solver";
-    downloadPage = "https://github.com/embotech/ecos-python/releases";
-    homepage = pkgs.ecos.meta.homepage;
-    license = licenses.asl20;
+    homepage = "https://github.com/embotech/ecos-python";
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ drewrisinger ];
   };
 }
diff --git a/pkgs/development/python-modules/editorconfig/default.nix b/pkgs/development/python-modules/editorconfig/default.nix
index 32e446d71a3b8..e90a6efdc63e1 100644
--- a/pkgs/development/python-modules/editorconfig/default.nix
+++ b/pkgs/development/python-modules/editorconfig/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     chmod +w -R source/tests
   '';
 
-  nativeBuildInputs = [
+  checkInputs = [
     cmake
   ];
 
@@ -46,8 +46,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "EditorConfig File Locator and Interpreter for Python";
-    homepage = "https://editorconfig.org";
+    homepage = "https://github.com/editorconfig/editorconfig-core-py";
     license = licenses.psfl;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/eiswarnung/default.nix b/pkgs/development/python-modules/eiswarnung/default.nix
index 87ff2a4287ac6..8bea9552b35b6 100644
--- a/pkgs/development/python-modules/eiswarnung/default.nix
+++ b/pkgs/development/python-modules/eiswarnung/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "eiswarnung";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-eiswarnung";
-    rev = "v${version}";
-    hash = "sha256-Cw/xRypErasdrOZJ/0dWLl4eYH01vBI9mYm98teIdRc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-fyxqVSZcbo/rrItad5ZTwmp4N8s0HGBdxvx3LBax/hc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix
index 57c51964fc8da..40f9aa451b693 100644
--- a/pkgs/development/python-modules/elkm1-lib/default.nix
+++ b/pkgs/development/python-modules/elkm1-lib/default.nix
@@ -11,16 +11,16 @@
 
 buildPythonPackage rec {
   pname = "elkm1-lib";
-  version = "1.3.6";
+  version = "2.0.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "gwww";
     repo = "elkm1";
     rev = version;
-    hash = "sha256-aIqwb2YHw/kYHBqydelTRs2+75WimgJ+4X0BYcwogh8=";
+    hash = "sha256-o0RQgAP38W7paVJonrfj54y2OhMmTihT9xiipEyNVaM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix
index f41bfae5942e4..c79adccc41f64 100644
--- a/pkgs/development/python-modules/emcee/default.nix
+++ b/pkgs/development/python-modules/emcee/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.1.1";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     owner = "dfm";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0q9dj7mihjjkcy6famzwhz1xcxxzzvm00n01w4bbm66ax9zvis52";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-MguhnLLo1zeNuMca8vWpxwysh9YJDD+IzvGQDbScK2M=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/enhancements/default.nix b/pkgs/development/python-modules/enhancements/default.nix
new file mode 100644
index 0000000000000..18fdfd29ce130
--- /dev/null
+++ b/pkgs/development/python-modules/enhancements/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, argcomplete
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, typeguard
+}:
+
+buildPythonPackage rec {
+  pname = "enhancements";
+  version = "0.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ssh-mitm";
+    repo = "python-enhancements";
+    rev = version;
+    hash = "sha256-Nff44WAQwSbkRpUHb9ANsQWWH2B819gtwQdXAjWJJls=";
+  };
+
+  propagatedBuildInputs = [
+    argcomplete
+    typeguard
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "enhancements"
+  ];
+
+  meta = with lib; {
+    description = "Library which extends various Python classes";
+    homepage = "https://enhancements.readthedocs.io";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
index 096279b3453a0..d24874ac5911f 100644
--- a/pkgs/development/python-modules/eventlet/default.nix
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -59,6 +59,8 @@ buildPythonPackage rec {
     "test_patcher_existing_locks_locked"
     # broken with pyopenssl 22.0.0
     "test_sendall_timeout"
+  ] ++ lib.optionals stdenv.isAarch64 [
+    "test_fork_after_monkey_patch"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/evtx/default.nix b/pkgs/development/python-modules/evtx/default.nix
new file mode 100644
index 0000000000000..1348282f98d86
--- /dev/null
+++ b/pkgs/development/python-modules/evtx/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, rustPlatform
+}:
+
+buildPythonPackage rec {
+  pname = "evtx";
+  version = "0.7.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "omerbenamram";
+    repo = "pyevtx-rs";
+    rev = version;
+    sha256 = "sha256-59iEmgF1m+Yr5k4oxZGqMs5oMZxToUFYuwQDeLEQ2jY=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    sha256 = "sha256-Q2SpJohLSQCMYmx1ZMWZ7a/NC0lPsHkwxom00qVooNM=";
+  };
+
+  nativeBuildInputs = with rustPlatform; [
+    cargoSetupHook
+    maturinBuildHook
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "evtx"
+  ];
+
+  meta = with lib; {
+    description = "Bindings for evtx";
+    homepage = "https://github.com/omerbenamram/pyevtx-rs";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/exceptiongroup/default.nix b/pkgs/development/python-modules/exceptiongroup/default.nix
index ac4174b2f4554..b2a355e94d273 100644
--- a/pkgs/development/python-modules/exceptiongroup/default.nix
+++ b/pkgs/development/python-modules/exceptiongroup/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "exceptiongroup";
-  version = "1.0.0rc2";
+  version = "1.0.0rc5";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-TSVLBSMb7R1DB5vc/g8dZsCrR4Pmd3oyk1X5t43jrYM=";
+    hash = "sha256-ZlQiVQuWU6zUbpzTXZM/KMUVjKTAWMU2Gc+hEpFc1p4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix
index 2f3f5fe16abbc..137f034d51a01 100644
--- a/pkgs/development/python-modules/exchangelib/default.nix
+++ b/pkgs/development/python-modules/exchangelib/default.nix
@@ -26,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "exchangelib";
-  version = "4.7.2";
+  version = "4.7.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -34,8 +34,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "ecederstrand";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-fdYc+fJEePgCzAkUWz7pmL/CI/O9zm5G9xh1f4bhrH4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-79113cUVl07oeXjlDaqfdfwNZvD7EWJK8JKHsPnBRG8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/extractcode/default.nix b/pkgs/development/python-modules/extractcode/default.nix
index 93374bd004c97..8af4cb865fd39 100644
--- a/pkgs/development/python-modules/extractcode/default.nix
+++ b/pkgs/development/python-modules/extractcode/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "extractcode";
-  version = "30.0.0";
+  version = "31.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5a660d1b9e3bae4aa87828e6947dc3b31dc2fa6705acb28a514874602b40bc90";
+    sha256 = "sha256-gIGTkum8+BKfdNiQT+ipjA3+0ngjVoQnNygsAoMRPYg=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 5d45c4dc5ce38..a75f2e3da959f 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "1.7.1";
+  version = "1.7.5";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-fCxLobQuCnUzfFS3d78GcQVrRWllDj/5J+S5s4WvyOw=";
+    hash = "sha256-STdcYwmB3UBF2akuJwn81Edskfkn4CKEk+76Yl5wUTM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/falcon/default.nix b/pkgs/development/python-modules/falcon/default.nix
index 58bbae872832e..8051fbb55bfbc 100644
--- a/pkgs/development/python-modules/falcon/default.nix
+++ b/pkgs/development/python-modules/falcon/default.nix
@@ -80,6 +80,11 @@ buildPythonPackage rec {
     "tests"
   ];
 
+  disabledTestPaths = [
+    # needs a running server
+    "tests/asgi/test_asgi_servers.py"
+  ];
+
   meta = with lib; {
     description = "An unladen web framework for building APIs and app backends";
     homepage = "https://falconframework.org/";
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index c3abc2163be76..63071fd9e4469 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
     pytest-asyncio
     sqlalchemy
     trio
-  ];
+  ] ++ passlib.extras-require.bcrypt;
 
   patches = [
     # Bump starlette, https://github.com/tiangolo/fastapi/pull/4483
diff --git a/pkgs/development/python-modules/fastbencode/default.nix b/pkgs/development/python-modules/fastbencode/default.nix
new file mode 100644
index 0000000000000..87072491cef45
--- /dev/null
+++ b/pkgs/development/python-modules/fastbencode/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, python, cython }:
+
+buildPythonPackage rec {
+  pname = "fastbencode";
+  version = "0.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-tryavlQtBmN5NSlXb0m6iJFQhVT4XQm11tXtevfgxuQ=";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  pythonImportsCheck = [ "fastbencode" ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest fastbencode.tests.test_suite
+  '';
+
+  meta = with lib; {
+    description = "Fast implementation of bencode";
+    homepage = "https://github.com/breezy-team/fastbencode";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/python-modules/fastjsonschema/default.nix b/pkgs/development/python-modules/fastjsonschema/default.nix
index 23a552a9b4cdc..f4551b65bd3b0 100644
--- a/pkgs/development/python-modules/fastjsonschema/default.nix
+++ b/pkgs/development/python-modules/fastjsonschema/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
@@ -31,6 +32,8 @@ buildPythonPackage rec {
     # these tests require network access
     "remote ref"
     "definitions"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_compile_to_code_custom_format"  # cannot import temporary module created during test
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/flametree/default.nix b/pkgs/development/python-modules/flametree/default.nix
index b4311eeb7cd68..047f2849d046b 100644
--- a/pkgs/development/python-modules/flametree/default.nix
+++ b/pkgs/development/python-modules/flametree/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "flametree";
-  version = "0.1.11";
+  version = "0.1.12";
 
   src = fetchFromGitHub {
     owner = "Edinburgh-Genome-Foundry";
     repo = "Flametree";
-    rev = "v${version}";
-    sha256 = "1ynrk1ivl1vjiga0ayl8k89vs5il7i0pf9jz2ycn771c47szwk4x";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-oyiuhsYouGDKRssKc0aYIoG32H7GS6Bn4RtI7/9N158=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/flask-restful/default.nix b/pkgs/development/python-modules/flask-restful/default.nix
index 1af875d4bbc59..cefedfe7fc371 100644
--- a/pkgs/development/python-modules/flask-restful/default.nix
+++ b/pkgs/development/python-modules/flask-restful/default.nix
@@ -1,26 +1,32 @@
 { lib
+, aniso8601
+, blinker
 , buildPythonPackage
 , fetchPypi
-, aniso8601
 , flask
-, pytz
-, six
-, blinker
 , mock
 , nose
 , pytestCheckHook
+, pythonOlder
+, pytz
+, six
+, werkzeug
 }:
 
 buildPythonPackage rec {
-  pname = "Flask-RESTful";
+  pname = "flask-restful";
   version = "0.3.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "0gm5dz088v3d2k1dkcp9b3nnqpkk0fp2jly870hijj2xhc5nbv6c";
+    pname = "Flask-RESTful";
+    inherit version;
+    hash = "sha256-zOxlC4NdSBkhOMhTKa4Dc15s7VjpstnCFG1shMBvpT4=";
   };
 
-  patches = [
+  patches = lib.optionals (lib.versionAtLeast werkzeug.version "2.1.0") [
     ./werkzeug-2.1.0-compat.patch
   ];
 
@@ -32,19 +38,24 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pytestCheckHook
+    blinker
     mock
     nose
-    blinker
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flask_restful"
   ];
 
   meta = with lib; {
+    description = "Framework for creating REST APIs";
     homepage = "https://flask-restful.readthedocs.io";
-    description = "Simple framework for creating REST APIs";
     longDescription = ''
       Flask-RESTful provides the building blocks for creating a great
       REST API.
     '';
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix
index 8379ec7bcfe4b..70a6b6e1d6b94 100644
--- a/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/pkgs/development/python-modules/flask-security-too/default.nix
@@ -32,6 +32,7 @@
 , passlib
 
 # tests
+, argon2-cffi
 , flask-mongoengine
 , mongoengine
 , mongomock
@@ -85,6 +86,7 @@ buildPythonPackage rec {
   };
 
   checkInputs = [
+    argon2-cffi
     flask-mongoengine
     mongoengine
     mongomock
diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix
index 9e1c881805e8c..590f1d9f824e5 100644
--- a/pkgs/development/python-modules/flux-led/default.nix
+++ b/pkgs/development/python-modules/flux-led/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "0.28.28";
+  version = "0.28.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = version;
-    sha256 = "sha256-FtZHZ48XGo+0aP4ARSfzI9xzFVptYhG6CDVGTT4oDBQ=";
+    sha256 = "sha256-Hwe8eshY5j+10fARCp7fMnZf2Sxal7+7Vj5DYVPNXks=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fontmake/default.nix b/pkgs/development/python-modules/fontmake/default.nix
new file mode 100644
index 0000000000000..a075d64406ee5
--- /dev/null
+++ b/pkgs/development/python-modules/fontmake/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, glyphslib
+, setuptools-scm
+, ufo2ft
+, fonttools
+, fontmath
+, lxml
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "fontmake";
+  version = "3.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-lD7MvZdr9CeWdoZtD3+8stVJTeQN5/AQ4miA/I2TFoE=";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  propagatedBuildInputs = [
+    glyphslib
+    ufo2ft
+    fonttools
+    fontmath
+    lxml
+    setuptools
+  ];
+
+  pythonImportsCheck = [ "fontmake" ];
+
+  meta = {
+    description = "Compiles fonts from various sources (.glyphs, .ufo, designspace) into binaries formats (.otf, .ttf)";
+    homepage = "https://github.com/googlefonts/fontmake";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/fontmath/default.nix b/pkgs/development/python-modules/fontmath/default.nix
index c0e4bc85773df..2d5f90ebb6868 100644
--- a/pkgs/development/python-modules/fontmath/default.nix
+++ b/pkgs/development/python-modules/fontmath/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "fontMath";
-  version = "0.9.1";
+  version = "0.9.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c5e76e135409f49b15809d0ce94dfd00850f893f86d4d6a336808dbbf292700";
+    sha256 = "sha256-TIsccR4cv0upPD0IQ5NbBmGXMTEmGvCGCL3hfeEBhAQ=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index a70dfef00541b..a667f631eb184 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -13,11 +13,12 @@
 , sphinx
 , pytestCheckHook
 , glibcLocales
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "4.30.0";
+  version = "4.33.3";
 
   disabled = pythonOlder "3.7";
 
@@ -25,9 +26,11 @@ buildPythonPackage rec {
     owner  = pname;
     repo   = pname;
     rev    = version;
-    sha256 = "1y9f071bdl66rsx42j16j5v53h85xra5qlg860rz3m054s2rmin9";
+    sha256 = "MUIZGnYwlfTat9655AOYgK5r6AvHj/xXghUvOZR8HIM=";
   };
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   # all dependencies are optional, but
   # we run the checks with them
 
@@ -51,6 +54,8 @@ buildPythonPackage rec {
     unicodedata2
   ];
 
+  pythonImportsCheck = [ "fontTools" ];
+
   preCheck = ''
     # tests want to execute the "fonttools" executable from $PATH
     export PATH="$out/bin:$PATH"
@@ -72,7 +77,6 @@ buildPythonPackage rec {
     "Tests/ufoLib"
   ];
 
-
   meta = with lib; {
     homepage = "https://github.com/fonttools/fonttools";
     description = "A library to manipulate font files from Python";
diff --git a/pkgs/development/python-modules/ftputil/default.nix b/pkgs/development/python-modules/ftputil/default.nix
index e9e445f11c3dd..4cb2fe442d325 100644
--- a/pkgs/development/python-modules/ftputil/default.nix
+++ b/pkgs/development/python-modules/ftputil/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "ftputil";
-  version = "5.0.3";
+  version = "5.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-m4buZ8GYDOHYmxN1K8SLlJP+4GNJy0doKFlOduCPhIg=";
+    hash = "sha256-aInbhkndINm21ApsXw+EzPNAp9rB4L/A8AJAkPwq+zM=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/gbulb/default.nix b/pkgs/development/python-modules/gbulb/default.nix
new file mode 100644
index 0000000000000..fe0c1b21d288c
--- /dev/null
+++ b/pkgs/development/python-modules/gbulb/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pygobject3
+, pytestCheckHook
+, gtk3
+, gobject-introspection
+}:
+
+buildPythonPackage rec {
+  pname = "gbulb";
+  version = "0.6.3";
+
+  src = fetchFromGitHub {
+    owner = "beeware";
+    repo = "gbulb";
+    rev = "v${version}";
+    sha256 = "sha256-QNpZf1zfe6r6MtmYMWSrXPsXm5iX36oMx4GnXiTYPaQ=";
+  };
+
+  propagatedBuildInputs = [
+    pygobject3
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    gtk3
+    gobject-introspection
+  ];
+
+  disabledTests = [
+    "test_glib_events.TestBaseGLibEventLoop" # Somtimes fail due to imprecise timing
+  ];
+
+  pythonImportsCheck = [ "gbulb" ];
+
+  meta = with lib; {
+    description = "GLib implementation of PEP 3156";
+    homepage = "https://github.com/beeware/gbulb";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ marius851000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix
new file mode 100644
index 0000000000000..101a3ef53d6d9
--- /dev/null
+++ b/pkgs/development/python-modules/gcal-sync/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, pydantic
+, freezegun
+, pytest-aiohttp
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "gcal-sync";
+  version = "0.7.1";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "allenporter";
+    repo = "gcal_sync";
+    rev = version;
+    hash = "sha256-NOB74P+5i63FEeHJsPXRdRgY6iyIUEn7BogbVKm8P5M=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    pydantic
+  ];
+
+  checkInputs = [
+    freezegun
+    pytest-aiohttp
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "gcal_sync" ];
+
+  meta = {
+    description = "Python library for syncing Google Calendar to local storage";
+    homepage = "https://github.com/allenporter/gcal_sync";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/genshi/default.nix b/pkgs/development/python-modules/genshi/default.nix
index be6abbd836443..6dd458fefb4f1 100644
--- a/pkgs/development/python-modules/genshi/default.nix
+++ b/pkgs/development/python-modules/genshi/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "Genshi";
-  version = "0.7.6";
+  version = "0.7.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NKLOi4DoQ/Ygxbe35ZqqNip2zpdkpvEQMig+2UWMOlk=";
+    sha256 = "sha256-wQBSCGLNaQhdEO4ah+kSief1n2s9m9Yiv1iygE5rmqs=";
   };
 
   # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase)
diff --git a/pkgs/development/python-modules/gidgethub/default.nix b/pkgs/development/python-modules/gidgethub/default.nix
index 9d1fdc07d9017..327672bad1bd7 100644
--- a/pkgs/development/python-modules/gidgethub/default.nix
+++ b/pkgs/development/python-modules/gidgethub/default.nix
@@ -2,21 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, setuptools
-, pytest-runner
-, pytest
-, pytest-asyncio
-, twisted
-, treq
-, tornado
-, aiohttp
 , uritemplate
 , pyjwt
+, pytestCheckHook
+, aiohttp
+, httpx
+, importlib-resources
+, pytest-asyncio
+, pytest-tornasync
 }:
 
 buildPythonPackage rec {
   pname = "gidgethub";
   version = "5.1.0";
+  format = "flit";
 
   disabled = pythonOlder "3.6";
 
@@ -25,20 +24,25 @@ buildPythonPackage rec {
     sha256 = "sha256-kNGTb6mA2XBaljYvpOWaKFEks3NigsiPgmdIgSMKTiU=";
   };
 
-  nativeBuildInputs = [ setuptools pytest-runner ];
-  checkInputs = [ pytest pytest-asyncio twisted treq tornado aiohttp ];
   propagatedBuildInputs = [
     uritemplate
     pyjwt
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "extras_require=extras_require," "extras_require=None,"
-  '';
+  checkInputs = [
+    pytestCheckHook
+    aiohttp
+    httpx
+    importlib-resources
+    pytest-asyncio
+    pytest-tornasync
+  ];
 
-  # requires network (reqests github.com)
-  doCheck = false;
+  disabledTests = [
+    # Require internet connection
+    "test__request"
+    "test_get"
+  ];
 
   meta = with lib; {
     description = "An async GitHub API library";
diff --git a/pkgs/development/python-modules/github3_py/default.nix b/pkgs/development/python-modules/github3_py/default.nix
index 67e1868fb8b1a..08786916bd994 100644
--- a/pkgs/development/python-modules/github3_py/default.nix
+++ b/pkgs/development/python-modules/github3_py/default.nix
@@ -1,41 +1,50 @@
 { lib
-, pythonOlder
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
-, betamax
-, pytest
-, betamax-matchers
-, unittest2
-, mock
 , requests
 , uritemplate
 , python-dateutil
-, jwcrypto
-, pyopenssl
-, ndg-httpsclient
-, pyasn1
+, pyjwt
+, pytestCheckHook
+, betamax
+, betamax-matchers
 }:
 
 buildPythonPackage rec {
   pname = "github3.py";
   version = "3.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-Cbcr4Ul9NGsJaM3oNgoNavedwgbQFJpjzT7IbGXDd8w=";
   };
 
-  checkInputs = [ betamax pytest betamax-matchers ]
-    ++ lib.optional (pythonOlder "3") unittest2
-    ++ lib.optional (pythonOlder "3.3") mock;
-  propagatedBuildInputs = [ requests uritemplate python-dateutil jwcrypto pyopenssl ndg-httpsclient pyasn1 ];
+  propagatedBuildInputs = [
+    requests
+    uritemplate
+    python-dateutil
+    pyjwt
+  ];
 
-  postPatch = ''
-    sed -i -e 's/unittest2 ==0.5.1/unittest2>=0.5.1/' setup.py
+  checkInputs = [
+    pytestCheckHook
+    betamax
+    betamax-matchers
+  ];
+
+  # Solves "__main__.py: error: unrecognized arguments: -nauto"
+  preCheck = ''
+    rm tox.ini
   '';
 
-  # TODO: only disable the tests that require network
-  doCheck = false;
+  disabledTests = [
+    # FileNotFoundError: [Errno 2] No such file or directory: 'tests/id_rsa.pub'
+    "test_delete_key"
+  ];
 
   meta = with lib; {
     homepage = "https://github3py.readthedocs.org/en/master/";
@@ -43,5 +52,4 @@ buildPythonPackage rec {
     license = licenses.bsd3;
     maintainers = with maintainers; [ pSub ];
   };
-
 }
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index 88a2c49e0520b..6820927542621 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "3.7.0";
+  version = "3.8.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-Us3SCkrBPL3v9YCOQ7ceF3neCUZkJTrchYsvCRSX84Y=";
+    hash = "sha256-JaAiAAf0zIJDXXl3zb4UE9XpmjZ8KQiEcZJm1ps+efA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/glyphslib/default.nix b/pkgs/development/python-modules/glyphslib/default.nix
new file mode 100644
index 0000000000000..2d6b19bea35d7
--- /dev/null
+++ b/pkgs/development/python-modules/glyphslib/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fonttools
+, openstep-plist
+, ufoLib2
+, pytestCheckHook
+, unicodedata2
+, setuptools-scm
+, ufonormalizer
+, xmldiff
+, defcon
+, ufo2ft
+, skia-pathops
+}:
+
+buildPythonPackage rec {
+  pname = "glyphslib";
+  version = "6.0.4";
+
+  format = "pyproject";
+
+  src = fetchPypi {
+    pname = "glyphsLib";
+    inherit version;
+    sha256 = "sha256-PT66n1WEO5FNcwov8GaXT1YNrAi22X4HN7iVNkuehKI=";
+  };
+
+  nativeBuildInputs = [ setuptools-scm ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "glyphsLib" ];
+
+  propagatedBuildInputs = [
+    fonttools
+    openstep-plist
+    ufoLib2
+    unicodedata2
+    ufonormalizer
+    xmldiff
+    defcon
+    ufo2ft
+    skia-pathops
+  ];
+
+  disabledTestPaths = [
+    "tests/builder/designspace_gen_test.py" # this test tries to use non-existent font "CoolFoundry Examplary Serif"
+    "tests/builder/interpolation_test.py" # this test tries to use a font that previous test should made
+  ];
+
+  meta = {
+    description = "Bridge from Glyphs source files (.glyphs) to UFOs and Designspace files via defcon and designspaceLib";
+    homepage = "https://github.com/googlefonts/glyphsLib";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 3a5142a9ceffe..94cebca1a0acc 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -16,18 +16,24 @@
 , proto-plus
 , psutil
 , pyarrow
+, pytest-xdist
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "3.0.1";
+  version = "3.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UmW6BEV44Ucdg/hUGSQk/kyDnB+Hsyx4q3AXTQe89hI=";
+    sha256 = "sha256-0tbK940cEz5//ZsLfi198fmy9wPeN3SXuW2adM/o7AI=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'pyarrow >= 3.0.0, < 8.0dev' 'pyarrow >= 3.0.0, < 9.0dev'
+  '';
+
   propagatedBuildInputs = [
     google-cloud-core
     google-cloud-bigquery-storage
@@ -47,6 +53,7 @@ buildPythonPackage rec {
     google-cloud-datacatalog
     google-cloud-storage
     pytestCheckHook
+    pytest-xdist
   ];
 
   # prevent google directory from shadowing google imports
diff --git a/pkgs/development/python-modules/google-cloud-pubsub/default.nix b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
index 9ba7f9145e30f..6871296a763de 100644
--- a/pkgs/development/python-modules/google-cloud-pubsub/default.nix
+++ b/pkgs/development/python-modules/google-cloud-pubsub/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-pubsub";
-  version = "2.12.0";
+  version = "2.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-5RoIpyVm/y2+6pN4mJPWHbVUwxH6yWI/vIuCVNJU2aw=";
+    hash = "sha256-mTphUjL61NwaE7vKDgeCv+0WeA15FNQzvnY/6fHZ/QU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gpt-2-simple/default.nix b/pkgs/development/python-modules/gpt-2-simple/default.nix
new file mode 100644
index 0000000000000..68f8cba8dc472
--- /dev/null
+++ b/pkgs/development/python-modules/gpt-2-simple/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchFromGitHub, regex, requests, tqdm, numpy
+, toposort, tensorflow }:
+
+buildPythonPackage rec {
+  pname = "gpt-2-simple";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "minimaxir";
+    repo = "gpt-2-simple";
+    rev = "v${version}";
+    sha256 = "sha256-WwD4sDcc28zXEOISJsq8e+rgaNrrgIy79Wa4J3E7Ovc=";
+  };
+
+  propagatedBuildInputs = [ regex requests tqdm numpy toposort tensorflow ];
+
+  dontCheck = true; # no tests in upstream
+
+  meta = with lib; {
+    description =
+      "Easily retrain OpenAI's GPT-2 text-generating model on new texts";
+    homepage = "https://github.com/minimaxir/gpt-2-simple";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index cf188e1d5d1dd..cb05a8104bf0d 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , django
-, memcached
+, python-memcached
 , txamqp
 , django_tagging
 , gunicorn
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     django
-    memcached
+    python-memcached
     txamqp
     django_tagging
     gunicorn
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
index 46a541fe50409..2fa10120c18c2 100644
--- a/pkgs/development/python-modules/graphviz/default.nix
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -16,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "graphviz";
-  version = "0.19.1";
+  version = "0.20";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   # patch does not apply to PyPI tarball due to different line endings
   src = fetchFromGitHub {
     owner = "xflr6";
     repo = "graphviz";
     rev = version;
-    sha256 = "sha256-pE1lsx/r/BjvW5W2niDx/UeRXxx4kvCyHzAUAG3bdGc=";
+    hash = "sha256-QyZwXxRbcMushxh/Ypy+v4FOTM4H1u5b7IZMSVgLyEs=";
   };
 
   patches = [
@@ -65,6 +65,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Simple Python interface for Graphviz";
     homepage = "https://github.com/xflr6/graphviz";
+    changelog = "https://github.com/xflr6/graphviz/blob/${src.rev}/CHANGES.rst";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/grpcio-status/default.nix b/pkgs/development/python-modules/grpcio-status/default.nix
index 173353fc9f2f3..4e72e19392ff9 100644
--- a/pkgs/development/python-modules/grpcio-status/default.nix
+++ b/pkgs/development/python-modules/grpcio-status/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "grpcio-status";
-  version = "1.45.0";
+  version = "1.46.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-S6rY6Ow8RHiOA4wk49fccCWeBroJ9ApbgXhThWO6Plo=";
+    sha256 = "700ad7bdc2da6b1d873ae9abffd957b3df6b74c8ca4b34c50bf1b062ae10a620";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index b3794e8b9d434..b8bc4c9b5403c 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.45.0";
+  version = "1.46.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oBbPwh4NkbOwNtPU+WjR/eqGXfoDUkyx++yoRxn9RaI=";
+    sha256 = "d54d80a4cfd7da002893711af613c9c9358dddfdd27feea44eb902c495b09105";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index c02e3b593b82c..e14223c1fd6db 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -5,7 +5,7 @@
 , ninja
 
 , pkg-config
-, python3
+, python
 , pygobject3
 , gobject-introspection
 , gst-plugins-base
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     meson
     ninja
     pkg-config
-    python3
+    python
     gobject-introspection
     gst-plugins-base
   ];
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   ];
 
   mesonFlags = [
-    "-Dpygi-overrides-dir=${placeholder "out"}/${python3.sitePackages}/gi/overrides"
+    "-Dpygi-overrides-dir=${placeholder "out"}/${python.sitePackages}/gi/overrides"
   ];
 
   doCheck = true;
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index aef938e8266d9..27c1a673eee96 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "1.2.2";
+  version = "1.3.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-eXJXKWlvNJIqEJY5WE5Wbk9BdGu9N9xhintJbdSkJrQ=";
+    sha256 = "sha256-RgjsaGtji5vSQcv+npOYcXJNYUhx9Snz56BXnfoc2QY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatasmota/default.nix b/pkgs/development/python-modules/hatasmota/default.nix
index db524438d63a9..5f09cb3b73558 100644
--- a/pkgs/development/python-modules/hatasmota/default.nix
+++ b/pkgs/development/python-modules/hatasmota/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "hatasmota";
-  version = "0.4.1";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "emontnemery";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-So3wnz6HBGlgBgBJiU4m+fFx7f8Y+6c15OCD8GFGQaE=";
+    sha256 = "sha256-pIMao1zZXJJVEG9J9ypWlo/JF0nmci49ANcqHJSY2AY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatch-vcs/default.nix b/pkgs/development/python-modules/hatch-vcs/default.nix
new file mode 100644
index 0000000000000..6e785d0c9a284
--- /dev/null
+++ b/pkgs/development/python-modules/hatch-vcs/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+, git
+, hatchling
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "hatch-vcs";
+  version = "0.2.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "hatch_vcs";
+    inherit version;
+    sha256 = "sha256-mRPXM7NO7JuwNF0GJsoyFlpK0t4V0c5kPDbQnKkIq/8=";
+  };
+
+  nativeBuildInputs = [
+    hatchling
+  ];
+
+  propagatedBuildInputs = [
+    hatchling
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    git
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "hatch_vcs"
+  ];
+
+  meta = with lib; {
+    description = "A plugin for Hatch that uses your preferred version control system (like Git) to determine project versions";
+    homepage = "https://github.com/ofek/hatch-vcs";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/development/python-modules/hg-commitsigs/default.nix b/pkgs/development/python-modules/hg-commitsigs/default.nix
index 5c195bfe19f1b..a97c2be2b98cb 100644
--- a/pkgs/development/python-modules/hg-commitsigs/default.nix
+++ b/pkgs/development/python-modules/hg-commitsigs/default.nix
@@ -1,7 +1,7 @@
 { lib
 , fetchhg
 , stdenv
-, python3
+, python
 }:
 
 stdenv.mkDerivation rec {
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
-    mkdir -p $out/lib/${python3.libPrefix}/site-packages/hgext3rd/
+    mkdir -p $out/lib/${python.libPrefix}/site-packages/hgext3rd/
     install -D $src/commitsigs.py \
-               $out/lib/${python3.libPrefix}/site-packages/hgext3rd/
+               $out/lib/${python.libPrefix}/site-packages/hgext3rd/
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 18a5f0cd82aac..57797ff8acd15 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -1,26 +1,30 @@
-{ buildPythonPackage
+{ lib
+, bokeh
+, buildPythonPackage
+, colorcet
 , fetchPypi
-, lib
-, param
-, numpy
-, pyviz-comms
 , ipython
+, matplotlib
 , notebook
+, numpy
 , pandas
-, matplotlib
-, bokeh
-, scipy
 , panel
-, colorcet
+, param
+, pythonOlder
+, pyviz-comms
+, scipy
 }:
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.14.8";
+  version = "1.14.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bDZVmaLLFnk7tifJtcVDCYK7WRyd6IhQAv+RtTm2ETM=";
+    hash = "sha256-mRI5CqJ58/vb5N81UYsS6Hy+zNeRXnIZEd7lVW22MGo=";
   };
 
   propagatedBuildInputs = [
@@ -35,12 +39,14 @@ buildPythonPackage rec {
   # tests not fully included with pypi release
   doCheck = false;
 
-  pythonImportsCheck = [ "holoviews" ];
+  pythonImportsCheck = [
+    "holoviews"
+  ];
 
   meta = with lib; {
     description = "Python data analysis and visualization seamless and simple";
     homepage = "http://www.holoviews.org/";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/howdoi/default.nix b/pkgs/development/python-modules/howdoi/default.nix
index 213c382be0bd8..49535fd333988 100644
--- a/pkgs/development/python-modules/howdoi/default.nix
+++ b/pkgs/development/python-modules/howdoi/default.nix
@@ -10,17 +10,21 @@
 , pyquery
 , requests
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "howdoi";
   version = "2.0.19";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "gleitz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hl7cpxm4llsgw6390bpjgkzrprrpb0vxx2flgly7wiy9zl1rc5q";
+    hash = "sha256-uLAc6E8+8uPpo070vsG6Od/855N3gTQMf5pSUvtlh0I=";
   };
 
   propagatedBuildInputs = [
@@ -46,6 +50,16 @@ buildPythonPackage rec {
     # AssertionError: "The...
     "test_get_text_with_one_link"
     "test_get_text_without_links"
+    # Those tests are failing in the sandbox
+    # OSError: [Errno 24] Too many open files
+    "test_answers"
+    "test_answers_bing"
+    "test_colorize"
+    "test_json_output"
+    "test_missing_pre_or_code_query"
+    "test_multiple_answers"
+    "test_position"
+    "test_unicode_answer"
   ];
 
   pythonImportsCheck = [
@@ -54,7 +68,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Instant coding answers via the command line";
-    homepage = "https://pypi.python.org/pypi/howdoi";
+    homepage = "https://github.com/gleitz/howdoi";
     license = licenses.mit;
     maintainers = with maintainers; [ costrouc ];
   };
diff --git a/pkgs/development/python-modules/http-sfv/default.nix b/pkgs/development/python-modules/http-sfv/default.nix
index 264065b6efa18..0e5407420cac4 100644
--- a/pkgs/development/python-modules/http-sfv/default.nix
+++ b/pkgs/development/python-modules/http-sfv/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "http-sfv";
-  version = "0.9.5";
+  version = "0.9.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "mnot";
     repo = "http_sfv";
     rev = "http_sfv-${version}";
-    hash = "sha256-hzg5vRX0vNKS/hYLF6n8mLK5qiwP7do4M8YMlBAA66I=";
+    hash = "sha256-S+cbcDx+cXwN2TpfiUpr6xK1GFRxSYgfHdUavfzeyAE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 7f028c478fc5c..5b8d84ec30893 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -39,11 +39,14 @@ buildPythonPackage rec {
     anyio
     certifi
     h11
-    h2
     sniffio
-    socksio
   ];
 
+  passthru.extras-require = {
+    http2 = [ h2 ];
+    socks = [ socksio ];
+  };
+
   checkInputs = [
     pproxy
     pytest-asyncio
@@ -53,7 +56,8 @@ buildPythonPackage rec {
     trio
     trustme
     uvicorn
-  ];
+  ] ++ passthru.extras-require.http2
+    ++ passthru.extras-require.socks;
 
   pythonImportsCheck = [ "httpcore" ];
 
diff --git a/pkgs/development/python-modules/httpie-ntlm/default.nix b/pkgs/development/python-modules/httpie-ntlm/default.nix
new file mode 100644
index 0000000000000..22a995ebd24b9
--- /dev/null
+++ b/pkgs/development/python-modules/httpie-ntlm/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httpie
+, requests_ntlm
+}:
+
+buildPythonPackage rec {
+  pname = "httpie-ntlm";
+  version = "1.0.2";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b1f757180c0bd60741ea16cf91fc53d47df402a5c287c4a61a14b335ea0552b3";
+  };
+
+  propagatedBuildInputs = [ httpie requests_ntlm ];
+
+  # Package have no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "httpie_ntlm" ];
+
+  meta = with lib; {
+    description = "NTLM auth plugin for HTTPie";
+    homepage = "https://github.com/httpie/httpie-ntlm";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ kfollesdal ];
+  };
+}
diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/development/python-modules/httpie/default.nix
index a6c6ddfe5bba9..4f852bb3c25e8 100644
--- a/pkgs/tools/networking/httpie/default.nix
+++ b/pkgs/development/python-modules/httpie/default.nix
@@ -1,20 +1,38 @@
 { lib
+, buildPythonPackage
 , fetchFromGitHub
 , installShellFiles
-, python3
 , pandoc
+, pythonOlder
+# BuildInputs
+, charset-normalizer
+, defusedxml
+, multidict
+, pygments
+, requests
+, requests-toolbelt
+, setuptools
+, rich
+, pysocks
+# CheckInputs
+, pytest-httpbin
+, pytest-lazy-fixture
+, pytest-mock
+, pytestCheckHook
+, responses
+, werkzeug
 }:
 
-python3.pkgs.buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "httpie";
-  version = "3.1.0";
+  version = "3.2.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "httpie";
     repo = "httpie";
     rev = version;
-    hash = "sha256-x7Zucb2i8D4Xbn77eBzSxOAcc2fGg5MFKFiyJhytQ0s=";
+    hash = "sha256-WEe8zSlNckl7bPBi6u8mHQ1/xPw3kE81F8Xr15TchgM=";
   };
 
   nativeBuildInputs = [
@@ -22,7 +40,7 @@ python3.pkgs.buildPythonApplication rec {
     pandoc
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     charset-normalizer
     defusedxml
     multidict
@@ -30,15 +48,17 @@ python3.pkgs.buildPythonApplication rec {
     requests
     requests-toolbelt
     setuptools
+    rich
+    pysocks
   ];
 
-  checkInputs = with python3.pkgs; [
-    mock
-    pytest
+  checkInputs = [
     pytest-httpbin
     pytest-lazy-fixture
+    pytest-mock
     pytestCheckHook
     responses
+    werkzeug
   ];
 
   postInstall = ''
@@ -58,15 +78,6 @@ python3.pkgs.buildPythonApplication rec {
     "tests"
   ];
 
-  disabledTests = [
-    "test_chunked"
-    "test_verbose_chunked"
-    "test_multipart_chunked"
-    "test_request_body_from_file_by_path_chunked"
-    # Part of doctest
-    "httpie.encoding.detect_encoding"
-  ];
-
   pythonImportsCheck = [
     "httpie"
   ];
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index e45e6a85487a5..3bfbf2327f217 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -33,15 +33,16 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    async-timeout
-    curio
-    httpcore
     httpx
+    httpcore
     python-socks
-    sniffio
-    trio
   ];
 
+  passthru.extras-require = {
+    asyncio = [ async-timeout ];
+    trio = [ trio ];
+  };
+
   checkInputs = [
     flask
     hypercorn
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index dbf8d1745c0e5..d75dbaa1c9bdb 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -3,12 +3,19 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, brotlicffi
 , certifi
 , charset-normalizer
 , httpcore
 , rfc3986
 , sniffio
+, h2
+, socksio
+, isPyPy
+, brotli
+, brotlicffi
+, click
+, rich
+, pygments
 , python
 , pytestCheckHook
 , pytest-asyncio
@@ -33,7 +40,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    brotlicffi
     certifi
     charset-normalizer
     httpcore
@@ -43,6 +49,13 @@ buildPythonPackage rec {
     async_generator
   ];
 
+  passthru.extras-require = {
+    http2 = [ h2 ];
+    socks = [ socksio ];
+    brotli = if isPyPy then [ brotlicffi ] else [ brotli ];
+    cli = [ click rich pygments ];
+  };
+
   checkInputs = [
     pytestCheckHook
     pytest-asyncio
@@ -50,7 +63,9 @@ buildPythonPackage rec {
     trustme
     typing-extensions
     uvicorn
-  ];
+  ] ++ passthru.extras-require.http2
+    ++ passthru.extras-require.brotli
+    ++ passthru.extras-require.socks;
 
   postPatch = ''
     substituteInPlace setup.py \
diff --git a/pkgs/development/python-modules/huggingface-hub/default.nix b/pkgs/development/python-modules/huggingface-hub/default.nix
index 3bbc8ad2669e9..d0eba93fb85d7 100644
--- a/pkgs/development/python-modules/huggingface-hub/default.nix
+++ b/pkgs/development/python-modules/huggingface-hub/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "huggingface-hub";
-  version = "0.4.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = "huggingface_hub";
-    rev = "v${version}";
-    sha256 = "sha256-rrkubNy60e/1VcGacYQang4yWxUzIBGySxZyq6G1arw=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-jR4aqMAAQJ5a7pOe3RpCtLgdm5JVVSPsBQtube6FeqM=";
   };
 
   nativeBuildInputs = [ packaging ];
@@ -41,7 +41,7 @@ buildPythonPackage rec {
    meta = with lib; {
     homepage = "https://github.com/huggingface/huggingface_hub";
     description = "Download and publish models and other files on the huggingface.co hub";
-    changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/${version}";
+    changelog = "https://github.com/huggingface/huggingface_hub/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
diff --git a/pkgs/development/python-modules/humblewx/default.nix b/pkgs/development/python-modules/humblewx/default.nix
index 7fd0b0e8dd90d..58672a3663e5a 100644
--- a/pkgs/development/python-modules/humblewx/default.nix
+++ b/pkgs/development/python-modules/humblewx/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , buildPythonPackage
 , wxPython_4_0
-, python3
+, python
 }:
 
 buildPythonPackage rec {
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
     for i in examples/*; do
-      ${python3.interpreter} $i
+      ${python.interpreter} $i
     done
     runHook postCheck
   '';
diff --git a/pkgs/development/python-modules/hvplot/default.nix b/pkgs/development/python-modules/hvplot/default.nix
index 22be0ff75c9f1..c39fc338a1764 100644
--- a/pkgs/development/python-modules/hvplot/default.nix
+++ b/pkgs/development/python-modules/hvplot/default.nix
@@ -5,22 +5,21 @@
 , fetchPypi
 , holoviews
 , pandas
-, pythonImportsCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "hvplot";
-  version = "0.7.3";
+  version = "0.8.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74b269c6e118dd6f7d2a4039e91f16a193638f4119b4358dc6dbd58a2e71e432";
+    sha256 = "sha256-hjDbo0lpsQXiZ8vhQjfi1W2ZacgBmArl5RkLwYsnktY=";
   };
 
-  nativeBuildInputs = [
-    pythonImportsCheckHook
-  ];
-
   propagatedBuildInputs = [
     bokeh
     colorcet
diff --git a/pkgs/development/python-modules/hy/default.nix b/pkgs/development/python-modules/hy/default.nix
index 63625bd7ee60b..a962f86854f2a 100644
--- a/pkgs/development/python-modules/hy/default.nix
+++ b/pkgs/development/python-modules/hy/default.nix
@@ -4,31 +4,44 @@
 , colorama
 , fetchFromGitHub
 , funcparserlib
+, hy
 , pytestCheckHook
+, python
 , pythonOlder
 , rply
+, testers
+, toPythonApplication
+, hyDefinedPythonPackages ? python-packages: [ ] /* Packages like with python.withPackages */
 }:
 
 buildPythonPackage rec {
   pname = "hy";
-  version = "1.0a3";
+  version = "1.0a4";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "hylang";
     repo = pname;
     rev = version;
-    sha256 = "1dqw24rvsps2nab1pbjjm1c81vrs34r4kkk691h3xdyxnv9hb84b";
+    sha256 = "sha256-MBzp3jqBg/kH233wcgYYHc+Yg9GuOaBsXIfjFDihD1E=";
   };
 
+  # https://github.com/hylang/hy/blob/1.0a4/get_version.py#L9-L10
+  HY_VERSION = version;
+
   propagatedBuildInputs = [
     colorama
     funcparserlib
-    rply
-  ] ++ lib.optionals (pythonOlder "3.9") [
+    rply # TODO: remove on the next release
+  ]
+  ++ lib.optionals (pythonOlder "3.9") [
     astor
-  ];
+  ]
+  # for backwards compatibility with removed pkgs/development/interpreters/hy
+  # See: https://github.com/NixOS/nixpkgs/issues/171428
+  ++ (hyDefinedPythonPackages python.pkgs);
 
   checkInputs = [
     pytestCheckHook
@@ -43,10 +56,22 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "hy" ];
 
+  passthru = {
+    tests.version = testers.testVersion {
+      package = hy;
+      command = "hy -v";
+    };
+    # also for backwards compatibility with removed pkgs/development/interpreters/hy
+    withPackages = python-packages: (toPythonApplication hy).override {
+      hyDefinedPythonPackages = python-packages;
+    };
+  };
+
   meta = with lib; {
-    description = "Python to/from Lisp layer";
-    homepage = "https://github.com/hylang/hy";
+    description = "A LISP dialect embedded in Python";
+    homepage = "https://hylang.org/";
+    changelog = "https://github.com/hylang/hy/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ fab ];
+    maintainers = with maintainers; [ fab mazurel nixy thiagokokada ];
   };
 }
diff --git a/pkgs/development/python-modules/hyrule/default.nix b/pkgs/development/python-modules/hyrule/default.nix
new file mode 100644
index 0000000000000..46ed096486b0f
--- /dev/null
+++ b/pkgs/development/python-modules/hyrule/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, hy
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "hyrule";
+  version = "0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "hylang";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-sqS5vOcbln+Vfv/Ji/8rJ4GTQpXIuhgf+MukjV0Kkuw=";
+  };
+
+  propagatedBuildInputs = [
+    hy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  # Some tests depends on hy on PATH
+  preCheck = "PATH=${hy}/bin:$PATH";
+
+  pythonImportsCheck = [ "hyrule" ];
+
+  meta = with lib; {
+    description = "Hyrule is a utility library for the Hy programming language";
+    homepage = "https://github.com/hylang/hyrule";
+    changelog = "https://github.com/hylang/hylure/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ thiagokokada ];
+  };
+}
diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix
index dee63fb0856d4..c5dfcc13e5c47 100644
--- a/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/pkgs/development/python-modules/ibis-framework/default.nix
@@ -5,37 +5,45 @@
 , pytestCheckHook
 , atpublic
 , cached-property
-, clickhouse-driver
 , click
+, clickhouse-cityhash
+, clickhouse-driver
 , dask
 , datafusion
 , duckdb
 , duckdb-engine
-, graphviz
+, geoalchemy2
+, geopandas
+, graphviz-nox
 , importlib-metadata
+, lz4
 , multipledispatch
 , numpy
+, packaging
 , pandas
 , parsy
 , poetry-core
 , poetry-dynamic-versioning
+, psycopg2
 , pyarrow
 , pydantic
+, pymysql
+, pyspark
 , pytest-benchmark
+, pytest-randomly
 , pytest-mock
 , pytest-xdist
 , python
 , pytz
 , regex
-, requests
+, shapely
 , sqlalchemy
 , sqlite
 , tabulate
 , toolz
 }:
 let
-  # ignore tests for which dependencies are not available
-  backends = [
+  testBackends = [
     "dask"
     "datafusion"
     "duckdb"
@@ -70,24 +78,16 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     atpublic
     cached-property
-    clickhouse-driver
-    dask
-    datafusion
-    duckdb
-    duckdb-engine
-    graphviz
     importlib-metadata
     multipledispatch
     numpy
+    packaging
     pandas
     parsy
     poetry-dynamic-versioning
-    pyarrow
     pydantic
     pytz
     regex
-    requests
-    sqlalchemy
     tabulate
     toolz
   ];
@@ -97,9 +97,9 @@ buildPythonPackage rec {
     click
     pytest-benchmark
     pytest-mock
+    pytest-randomly
     pytest-xdist
-    sqlite
-  ];
+  ] ++ lib.concatMap (name: passthru.extras-require.${name}) testBackends;
 
   preBuild = ''
     # setup.py exists only for developer convenience and is automatically generated
@@ -109,7 +109,7 @@ buildPythonPackage rec {
   pytestFlagsArray = [
     "--dist=loadgroup"
     "-m"
-    "'${lib.concatStringsSep " or " backends} or core'"
+    "'${lib.concatStringsSep " or " testBackends} or core'"
   ];
 
   preCheck = ''
@@ -125,7 +125,7 @@ buildPythonPackage rec {
     find "$IBIS_TEST_DATA_DIRECTORY" -type f -exec chmod u+rw {} +
 
     # load data
-    for backend in ${lib.concatStringsSep " " backends}; do
+    for backend in ${lib.concatStringsSep " " testBackends}; do
       ${python.interpreter} ci/datamgr.py load "$backend"
     done
   '';
@@ -136,7 +136,23 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "ibis"
-  ] ++ (map (backend: "ibis.backends.${backend}") backends);
+  ] ++ map (backend: "ibis.backends.${backend}") testBackends;
+
+  passthru = {
+    extras-require = {
+      clickhouse = [ clickhouse-cityhash clickhouse-driver lz4 ];
+      dask = [ dask pyarrow ];
+      datafusion = [ datafusion ];
+      duckdb = [ duckdb duckdb-engine sqlalchemy ];
+      geospatial = [ geoalchemy2 geopandas shapely ];
+      mysql = [ pymysql sqlalchemy ];
+      pandas = [ ];
+      postgres = [ psycopg2 sqlalchemy ];
+      pyspark = [ pyarrow pyspark ];
+      sqlite = [ sqlalchemy sqlite ];
+      visualization = [ graphviz-nox ];
+    };
+  };
 
   meta = with lib; {
     description = "Productivity-centric Python Big Data Framework";
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index a63754f0c09e3..404731e22a9a5 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.54.0";
+  version = "0.55.0";
 
   disabled = isPy27;
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    hash = "sha256-RiKGxyCPYlAJ5YbxvEKxCYgUg1D9s29YSCT4tY3FIEE=";
+    hash = "sha256-Jtuw0pYkgR1wrqPlEBOpia1rFU/+MLadOFEm2xLIFMw=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index 6b6f7e452b279..cc957ac156aa1 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "impacket";
-  version = "0.9.24";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GNVX04f0kU+vpzmBO5FyvD+L2cA26Tv1iajg67cwS7o=";
+    hash = "sha256-uOsCCiy7RxRmac/jHGS7Ln1kmdBJxJPWQYuXFvXHRYM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/influxgraph/default.nix b/pkgs/development/python-modules/influxgraph/default.nix
index c8403cf644630..7f24e1fd87e5b 100644
--- a/pkgs/development/python-modules/influxgraph/default.nix
+++ b/pkgs/development/python-modules/influxgraph/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi, isPy3k
-, influxdb, graphite_api, memcached
+, influxdb, graphite_api, python-memcached
 }:
 
 buildPythonPackage rec {
@@ -11,13 +11,7 @@ buildPythonPackage rec {
     sha256 = "0l33sfwdh4bfprmzp2kx0d9098g6yxbnhyyx9qr3kzczpm0jg9vy";
   };
 
-  patchPhase = lib.optionalString isPy3k ''
-    sed 's/python-memcached/python3-memcached/' \
-      -i ./influxgraph.egg-info/requires.txt    \
-      -i ./setup.py
-  '';
-
-  propagatedBuildInputs = [ influxdb graphite_api memcached ];
+  propagatedBuildInputs = [ influxdb graphite_api python-memcached ];
 
   passthru.moduleName = "influxgraph.InfluxDBFinder";
 
diff --git a/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
new file mode 100644
index 0000000000000..646ffec6552ea
--- /dev/null
+++ b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "insteon-frontend-home-assistant";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "70ee413cae8717416f5add1be7647158d8ff4303942dafccac0792ef44336cdf";
+  };
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "insteon_frontend" ];
+
+  meta = {
+    description = "The Insteon frontend for Home Assistant";
+    homepage = "https://github.com/teharris1/insteon-panel";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/intbitset/default.nix b/pkgs/development/python-modules/intbitset/default.nix
index 9cedf7c4d284c..f6459c13e706a 100644
--- a/pkgs/development/python-modules/intbitset/default.nix
+++ b/pkgs/development/python-modules/intbitset/default.nix
@@ -2,6 +2,7 @@
 , fetchPypi
 , buildPythonPackage
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -9,9 +10,11 @@ buildPythonPackage rec {
   version = "3.0.1";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8ebQPGcpkioiPFGEnfZbnpFuYlrvuRF4Tn+azUwgfVM=";
+    hash = "sha256-8ebQPGcpkioiPFGEnfZbnpFuYlrvuRF4Tn+azUwgfVM=";
   };
 
   checkInputs = [
@@ -25,7 +28,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "C-based extension implementing fast integer bit sets";
     homepage = "https://github.com/inveniosoftware/intbitset";
-    license = licenses.lgpl3Only;
+    license = licenses.lgpl3Plus;
     maintainers = teams.determinatesystems.members;
   };
 }
diff --git a/pkgs/development/python-modules/invoke/default.nix b/pkgs/development/python-modules/invoke/default.nix
index 45711a3dc20e9..a2180f5b964a6 100644
--- a/pkgs/development/python-modules/invoke/default.nix
+++ b/pkgs/development/python-modules/invoke/default.nix
@@ -7,17 +7,15 @@
 
 buildPythonPackage rec {
   pname = "invoke";
-  version = "1.7.0";
+  version = "1.7.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
-
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-4zLkneQEY/IBYxX1HfQjE4VXcr6GQ1aGFWvBj0W1zGw=";
+    hash = "sha256-e23q9YXu4KhIIF0LjAAUub9vKHqOt5iBimQt/x3xSxk=";
   };
 
-  patchPhase = ''
+  postPatch = ''
     sed -e 's|/bin/bash|${bash}/bin/bash|g' -i invoke/config.py
   '';
 
diff --git a/pkgs/development/python-modules/ipwhl/default.nix b/pkgs/development/python-modules/ipwhl/default.nix
index 1b8b7f002ae3f..8bbf257ebdcf4 100644
--- a/pkgs/development/python-modules/ipwhl/default.nix
+++ b/pkgs/development/python-modules/ipwhl/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "ipwhl";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "flit";
   disabled = pythonOlder "3.6";
 
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "~cnx";
     repo = "ipwhl-utils";
     rev = version;
-    sha256 = "sha256-KstwdmHpn4ypBNpX56NeStqdzy5RElMTW1oR2hCtJ7c=";
+    sha256 = "sha256-YaIYcoUnbiv9wUOFIzGj2sWGbh7NsqRQcqOR2X6+QZA=";
   };
 
   buildInputs = [ ipfs ];
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index b33ec2759b561..8894fbaf21ff3 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -1,43 +1,35 @@
-{ lib
-, buildPythonPackage
+{ buildPythonPackage
 , fetchPypi
-, python
-, nose
-, pytest
-, mock
-, ipython
 , ipykernel
+, ipython
 , jupyterlab-widgets
+, lib
+, nbformat
+, pytestCheckHook
 , traitlets
-, notebook
 , widgetsnbextension
 }:
 
 buildPythonPackage rec {
   pname = "ipywidgets";
   version = "7.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-q0pVloVaiLg3YZIcdocH1l5YRwaBObwXKd3+g0cDVCo=";
+    hash = "sha256-q0pVloVaiLg3YZIcdocH1l5YRwaBObwXKd3+g0cDVCo=";
   };
 
-  # Tests are not distributed
-  # doCheck = false;
-
-  buildInputs = [ nose pytest mock ];
   propagatedBuildInputs = [
     ipython
     ipykernel
     jupyterlab-widgets
     traitlets
-    notebook
+    nbformat
     widgetsnbextension
   ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest discover
-  '';
+  checkInputs = [ pytestCheckHook ];
 
   meta = {
     description = "IPython HTML widgets for Jupyter";
diff --git a/pkgs/development/python-modules/itemadapter/default.nix b/pkgs/development/python-modules/itemadapter/default.nix
index b082387e23cfb..74b8eabd866f9 100644
--- a/pkgs/development/python-modules/itemadapter/default.nix
+++ b/pkgs/development/python-modules/itemadapter/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "itemadapter";
-  version = "0.5.0";
+  version = "0.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-BbanndMaepk9+y6Dhqkcl+O4xs8otyVT6AjmJeC4fCA=";
+    hash = "sha256-Px9g69bJGwAiKCDzi/USaqSaj7bkZ9NR8DZEIflToV0=";
   };
 
   # Infinite recursion with Scrapy
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index d7f8e6c5a1bad..cff3ad1c737d0 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.18.8";
+  version = "1.19.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tZrvWMt0qdOFTNeL99mZGFl8bVDGCqj25zVl7QvXQLw=";
+    sha256 = "sha256-0UOU4arSCh+5l258mwZQLNf/JUbPcTgcHtusiTyYPwg=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/jenkinsapi/default.nix b/pkgs/development/python-modules/jenkinsapi/default.nix
index 912c21cc8fb42..39ad443f1891e 100644
--- a/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , buildPythonPackage
+, pythonAtLeast
 , fetchPypi
 , mock
 , pytest
@@ -13,6 +14,9 @@
 buildPythonPackage rec {
   pname = "jenkinsapi";
   version = "0.3.11";
+  format = "setuptools";
+
+  disabled = pythonAtLeast "3.6";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/jupyter-sphinx/default.nix b/pkgs/development/python-modules/jupyter-sphinx/default.nix
index 2da21db1eb145..56cd051ecf4cb 100644
--- a/pkgs/development/python-modules/jupyter-sphinx/default.nix
+++ b/pkgs/development/python-modules/jupyter-sphinx/default.nix
@@ -5,6 +5,7 @@
 , sphinx
 , ipywidgets
 , pythonOlder
+, nbconvert
 }:
 
 buildPythonPackage rec {
@@ -17,7 +18,7 @@ buildPythonPackage rec {
     sha256 = "37fc9408385c45326ac79ca0452fbd7ae2bf0e97842d626d2844d4830e30aaf2";
   };
 
-  propagatedBuildInputs = [ nbformat sphinx ipywidgets ];
+  propagatedBuildInputs = [ nbconvert nbformat sphinx ipywidgets ];
 
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/jupyter_server/default.nix b/pkgs/development/python-modules/jupyter_server/default.nix
index 2cb7d06b646a7..0001dd5e9373a 100644
--- a/pkgs/development/python-modules/jupyter_server/default.nix
+++ b/pkgs/development/python-modules/jupyter_server/default.nix
@@ -6,10 +6,11 @@
 , pythonOlder
 , pytestCheckHook
 , pytest-tornasync
-, argon2_cffi
+, argon2-cffi
 , jinja2
 , tornado
 , pyzmq
+, ipykernel
 , ipython_genutils
 , traitlets
 , jupyter_core
@@ -43,7 +44,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    argon2_cffi
+    argon2-cffi
     jinja2
     tornado
     pyzmq
@@ -62,6 +63,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    ipykernel
     pytestCheckHook
     pytest-tornasync
     requests
diff --git a/pkgs/development/python-modules/jwcrypto/default.nix b/pkgs/development/python-modules/jwcrypto/default.nix
index 4a6bd63c76542..2904380775f17 100644
--- a/pkgs/development/python-modules/jwcrypto/default.nix
+++ b/pkgs/development/python-modules/jwcrypto/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , cryptography
 , deprecated
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "jwcrypto";
-  version = "1.2";
+  version = "1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7fQwkyFyHlFhzvzN1ksEUJ4Dkk/q894IW0d4B2WYmuM=";
+    hash = "sha256-DWRhuhP3wnHYusUBjuYN28rl/zlAP6+kI3X1fQjjmLs=";
   };
 
   propagatedBuildInputs = [
@@ -19,10 +23,14 @@ buildPythonPackage rec {
     deprecated
   ];
 
+  pythonImportsCheck = [
+    "jwcrypto"
+  ];
+
   meta = with lib; {
     description = "Implementation of JOSE Web standards";
     homepage = "https://github.com/latchset/jwcrypto";
     license = licenses.lgpl3Plus;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/karton-autoit-ripper/default.nix b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
index 2e7d561cf6e00..ea79a5f453f23 100644
--- a/pkgs/development/python-modules/karton-autoit-ripper/default.nix
+++ b/pkgs/development/python-modules/karton-autoit-ripper/default.nix
@@ -4,12 +4,16 @@
 , fetchFromGitHub
 , karton-core
 , malduck
+, pythonOlder
 , regex
 }:
 
 buildPythonPackage rec {
   pname = "karton-autoit-ripper";
   version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
@@ -27,14 +31,17 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "autoit-ripper==1.0.0" "autoit-ripper" \
-      --replace "malduck==3.1.0" "malduck>=3.1.0" \
-      --replace "regex==2020.2.20" "regex>=2020.2.20"
+      --replace "autoit-ripper==" "autoit-ripper>=" \
+      --replace "malduck==" "malduck>=" \
+      --replace "regex==" "regex>="
   '';
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "karton.autoit_ripper" ];
+
+  pythonImportsCheck = [
+    "karton.autoit_ripper"
+  ];
 
   meta = with lib; {
     description = "AutoIt script ripper for Karton framework";
diff --git a/pkgs/development/python-modules/karton-classifier/default.nix b/pkgs/development/python-modules/karton-classifier/default.nix
index ca2703389b306..8195632bdfd4e 100644
--- a/pkgs/development/python-modules/karton-classifier/default.nix
+++ b/pkgs/development/python-modules/karton-classifier/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , karton-core
 , pytestCheckHook
-, python_magic
+, python-magic
 , pythonOlder
 }:
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     chardet
     karton-core
-    python_magic
+    python-magic
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/karton-core/default.nix b/pkgs/development/python-modules/karton-core/default.nix
index 562d8880692fc..b839230b5f280 100644
--- a/pkgs/development/python-modules/karton-core/default.nix
+++ b/pkgs/development/python-modules/karton-core/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "karton-core";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = "karton";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-TwTq44l/Nx+FQ6tFZHat4SPGOmHSwYfg7ShbGnxpkVw=";
+    sha256 = "sha256-smgKrFexuL0bgt/1Ikm1tpSGPJNJm7Ko68iZn3AQw5E=";
   };
 
   propagatedBuildInputs = [ minio redis ];
diff --git a/pkgs/development/python-modules/keyrings-cryptfile/default.nix b/pkgs/development/python-modules/keyrings-cryptfile/default.nix
index 7f2cacea62944..23b8b66ea9fa7 100644
--- a/pkgs/development/python-modules/keyrings-cryptfile/default.nix
+++ b/pkgs/development/python-modules/keyrings-cryptfile/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , fetchpatch
-, argon2_cffi
+, argon2-cffi
 , keyring
 , pycryptodome
 , pytestCheckHook
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    argon2_cffi
+    argon2-cffi
     keyring
     pycryptodome
   ];
diff --git a/pkgs/development/python-modules/ldaptor/default.nix b/pkgs/development/python-modules/ldaptor/default.nix
index 0d0c1159332ad..55725fb49c9f8 100644
--- a/pkgs/development/python-modules/ldaptor/default.nix
+++ b/pkgs/development/python-modules/ldaptor/default.nix
@@ -3,17 +3,18 @@
 , fetchPypi
 , twisted
 , passlib
-, pyopenssl
 , pyparsing
 , service-identity
+, six
 , zope_interface
-, isPy3k
+, pythonOlder
 , python
 }:
 
 buildPythonPackage rec {
   pname = "ldaptor";
   version = "21.2.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -21,18 +22,30 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    twisted passlib pyopenssl pyparsing service-identity zope_interface
+    passlib
+    pyparsing
+    six
+    twisted
+    zope_interface
+  ] ++ twisted.extras-require.tls;
+
+  checkInputs = [
+    twisted
   ];
 
-  disabled = !isPy3k;
+  # Test creates an excessive amount of temporary files (order of millions).
+  # Cleaning up those files already took over 15 hours already on my zfs
+  # filesystem and is not finished yet.
+  doCheck = false;
 
   checkPhase = ''
-    ${python.interpreter} -m twisted.trial ldaptor
+    trial -j$NIX_BUILD_CORES ldaptor
   '';
 
-  meta = {
+  meta = with lib; {
     description = "A Pure-Python Twisted library for LDAP";
     homepage = "https://github.com/twisted/ldaptor";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 020506d519100..600304f48a127 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "3.3.3";
+  version = "3.3.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "lektor";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-3jPN4VQdIUVjSSGJxPek2RrnXzCwkDxoEBqk4vuL+nc=";
+    hash = "sha256-9Zd+N6FkvRuW7rptWAr3JLIARXwJDcocxAp/ZCTQ3Hw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index 5ed61931a7d8b..e1f77e45dcc70 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "21.6.14";
+  version = "30.0.0";
 
   disabled = pythonOlder "3.6";
 
@@ -17,9 +17,11 @@ buildPythonPackage rec {
     owner = "nexB";
     repo = "license-expression";
     rev = "v${version}";
-    sha256 = "sha256-hwfYKKalo8WYFwPCsRRXNz+/F8/42PXA8jxbIQjJH/g=";
+    hash = "sha256-tGXNZm9xH8sXa7dtBFsTzGgT+hfbmkwps7breR7KUWU=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   dontConfigure = true;
 
   nativeBuildInputs = [
@@ -34,10 +36,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "license_expression" ];
+  pythonImportsCheck = [
+    "license_expression"
+  ];
 
   meta = with lib; {
-    description = "Utility library to parse, normalize and compare License expressions for Python";
+    description = "Utility library to parse, normalize and compare License expressions";
     homepage = "https://github.com/nexB/license-expression";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
index 7cb622df047ec..afc777e1d858f 100644
--- a/pkgs/development/python-modules/limits/default.nix
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -1,21 +1,84 @@
-{ lib, fetchPypi, buildPythonPackage, six }:
+{ lib
+, buildPythonPackage
+, deprecated
+, fetchFromGitHub
+, hiro
+, packaging
+, pymemcache
+, pymongo
+, pytest-asyncio
+, pytest-lazy-fixture
+, pytestCheckHook
+, pythonOlder
+, redis
+, setuptools
+, typing-extensions
+}:
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "2.4.0";
+  version = "2.6.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-jiK2PfJjECB6d7db1HRZnwpGE6fZFjZQ7TpCjpzHrjU=";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "alisaifee";
+    repo = pname;
+    rev = version;
+    # Upstream uses versioneer, which relies on git attributes substitution.
+    # This leads to non-reproducible archives on github. Remove the substituted
+    # file here, and recreate it later based on our version info.
+    extraPostFetch = ''
+      rm "$out/limits/_version.py"
+    '';
+    hash = "sha256-ja+YbRHCcZ5tFnoofdR44jbkkdDroVUdKeDOt6yE0LI=";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [
+    deprecated
+    packaging
+    setuptools
+    typing-extensions
+  ];
+
+  checkInputs = [
+    hiro
+    pymemcache
+    pymongo
+    pytest-asyncio
+    pytest-lazy-fixture
+    pytestCheckHook
+    redis
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace "--cov=limits" "" \
+      --replace "-K" ""
+    # redis-py-cluster doesn't support redis > 4
+    substituteInPlace tests/conftest.py \
+      --replace "import rediscluster" ""
+
+    # Recreate _version.py, deleted at fetch time due to non-reproducibility.
+    echo 'def get_versions(): return {"version": "${version}"}' > limits/_version.py
+  '';
 
-  doCheck = false; # ifilter
+  pythonImportsCheck = [
+    "limits"
+  ];
+
+  pytestFlagsArray = [
+    # All other tests require a running Docker instance
+    "tests/test_limits.py"
+    "tests/test_ratelimit_parser.py"
+    "tests/test_limit_granularities.py"
+  ];
 
   meta = with lib; {
     description = "Rate limiting utilities";
-    license = licenses.mit;
     homepage = "https://limits.readthedocs.org/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/linkify-it-py/default.nix b/pkgs/development/python-modules/linkify-it-py/default.nix
index ef97439cdc86a..54f71fe2ec2be 100644
--- a/pkgs/development/python-modules/linkify-it-py/default.nix
+++ b/pkgs/development/python-modules/linkify-it-py/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "linkify-it-py";
-  version = "1.0.3";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "tsutsu3";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-1QqfqFdTEdZr02jQnmHmvw3fgnC/ktsfALyhtkGSXoY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-3bgkhIC6tHl5zieiyllvqFCKwLms55m8MGt1xGhQ4Dk=";
   };
 
   propagatedBuildInputs = [ uc-micro-py ];
diff --git a/pkgs/development/python-modules/loo-py/default.nix b/pkgs/development/python-modules/loopy/default.nix
index d16b06a284abe..75d250ad03daa 100644
--- a/pkgs/development/python-modules/loo-py/default.nix
+++ b/pkgs/development/python-modules/loopy/default.nix
@@ -1,51 +1,55 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pytools
-, pymbolic
-, genpy
+, codepy
 , cgen
-, islpy
-, six
 , colorama
+, fetchFromGitHub
+, genpy
+, islpy
 , mako
+, numpy
+, pymbolic
 , pyopencl
-, pytest
+, pyrsistent
+, pythonOlder
+, pytools
 }:
 
 buildPythonPackage rec {
-  pname = "loo-py";
-  version = "2020.2";
+  pname = "loopy";
+  version = "2020.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    pname = "loo.py";
-    inherit version;
-    sha256 = "c0aba31f8b61f6487e84120a154fab862d19c3b374ad4285b987c4f2d746d51f";
+  src = fetchFromGitHub {
+    owner = "inducer";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-GL2GY3fbP9yMEQYyuh4CRHpeN9DGnZxbMt6jC+O/C0g=";
   };
 
-  checkInputs = [ pytest ];
   propagatedBuildInputs = [
-    pytools
-    pymbolic
-    genpy
+    codepy
     cgen
-    islpy
-    six
     colorama
+    genpy
+    islpy
     mako
+    numpy
+    pymbolic
     pyopencl
+    pyrsistent
+    pytools
   ];
 
   # pyopencl._cl.LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR
   doCheck = false;
-  checkPhase = ''
-    HOME=$(mktemp -d) pytest test
-  '';
 
   meta = with lib; {
     description = "A code generator for array-based code on CPUs and GPUs";
-    homepage = "https://mathema.tician.de/software/loopy";
+    homepage = "https://github.com/inducer/loopy";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/losant-rest/default.nix b/pkgs/development/python-modules/losant-rest/default.nix
index 8056e93c51a78..a160095513eb5 100644
--- a/pkgs/development/python-modules/losant-rest/default.nix
+++ b/pkgs/development/python-modules/losant-rest/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "losant-rest";
-  version = "1.16.1";
+  version = "1.16.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Losant";
     repo = "losant-rest-python";
     rev = "v${version}";
-    sha256 = "sha256-mdSqGeVfZTSW65eQiYerjlq6afq2dyYjUi38DVsI6wQ=";
+    sha256 = "sha256-OR5SegUfui5g11QZZJzAq8nhp7bFjS4Ip2gMjfx7tpA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/luxtronik/default.nix b/pkgs/development/python-modules/luxtronik/default.nix
index 7f7225bdb92a1..e8c72a5cf4cbe 100644
--- a/pkgs/development/python-modules/luxtronik/default.nix
+++ b/pkgs/development/python-modules/luxtronik/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "luxtronik";
-  version = "0.3.12";
+  version = "0.3.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Bouni";
     repo = "python-luxtronik";
     rev = version;
-    sha256 = "sha256-qQwMahZ3EzXzI7FyTL71WzDpLqmIgVYxiJ0IGvlw8dY=";
+    sha256 = "sha256-ULpi3oNJJe8H9z1C1nCNsR5eMmXQnXtbonrV9Ec2NyY=";
   };
 
   # Project has no tests
diff --git a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
index dfd16c04a6f8b..77870ed683656 100644
--- a/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-mailbox-server/default.nix
@@ -1,4 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, six, attrs, twisted, pyopenssl, service-identity, autobahn, treq, mock, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, six
+, attrs
+, twisted
+, pyopenssl
+, service-identity
+, autobahn
+, treq
+, mock
+}:
 
 buildPythonPackage rec {
   version = "0.4.1";
@@ -9,18 +20,27 @@ buildPythonPackage rec {
     sha256 = "1af10592909caaf519c00e706eac842c5e77f8d4356215fe9c61c7b2258a88fb";
   };
 
-  propagatedBuildInputs = [ six attrs twisted pyopenssl service-identity autobahn ];
+  propagatedBuildInputs = [
+    attrs
+    six
+    twisted
+    autobahn
+  ] ++ autobahn.extras-require.twisted
+  ++ twisted.extras-require.tls;
 
-  # zope.interface import issue
-  doCheck = !isPy27;
-  checkInputs = [ treq mock pytest ];
+  checkInputs = [
+    treq
+    mock
+    twisted
+  ];
   checkPhase = ''
-    pytest
+    trial -j$NIX_BUILD_CORES wormhole_mailbox_server
   '';
 
   meta = with lib; {
     description = "Securely transfer data between computers";
     homepage = "https://github.com/warner/magic-wormhole-mailbox-server";
     license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
index 2d6a8d969d8b4..a618be999c0bc 100644
--- a/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole-transit-relay/default.nix
@@ -1,4 +1,10 @@
-{ lib, buildPythonPackage, fetchPypi, twisted, mock }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, autobahn
+, mock
+, twisted
+}:
 
 buildPythonPackage rec {
   pname = "magic-wormhole-transit-relay";
@@ -9,17 +15,18 @@ buildPythonPackage rec {
     sha256 = "0ppsx2s1ysikns1h053x67z2zmficbn3y3kf52bzzslhd2s02j6b";
   };
 
-  propagatedBuildInputs = [ twisted ];
+  propagatedBuildInputs = [ autobahn twisted ];
 
-  checkInputs = [ mock ];
+  checkInputs = [ mock twisted ];
 
   checkPhase = ''
-    ${twisted}/bin/trial wormhole_transit_relay
+    trial -j$NIX_BUILD_CORES wormhole_transit_relay
   '';
 
   meta = with lib; {
     description = "Transit Relay server for Magic-Wormhole";
-    homepage = "https://github.com/warner/magic-wormhole-transit-relay";
+    homepage = "https://github.com/magic-wormhole/magic-wormhole-transit-relay";
     license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/magic-wormhole/default.nix b/pkgs/development/python-modules/magic-wormhole/default.nix
index abb9a04eaa488..c6450c3cecb9d 100644
--- a/pkgs/development/python-modules/magic-wormhole/default.nix
+++ b/pkgs/development/python-modules/magic-wormhole/default.nix
@@ -1,7 +1,7 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
-, isPy27
 , spake2
 , pynacl
 , six
@@ -15,7 +15,6 @@
 , humanize
 , txtorcon
 , nettools
-, glibcLocales
 , mock
 , magic-wormhole-transit-relay
 , magic-wormhole-mailbox-server
@@ -30,9 +29,28 @@ buildPythonPackage rec {
     sha256 = "0q41j99718y7m95zg1vaybnsp31lp6lhyqkbv4yqz5ys6jixh3qv";
   };
 
-  buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = [ spake2 pynacl six attrs twisted autobahn automat hkdf tqdm click humanize txtorcon ];
-  checkInputs = [ mock magic-wormhole-transit-relay magic-wormhole-mailbox-server ];
+  propagatedBuildInputs = [
+    spake2
+    pynacl
+    six
+    attrs
+    twisted
+    autobahn
+    automat
+    hkdf
+    tqdm
+    click
+    humanize
+    txtorcon
+  ] ++ autobahn.extras-require.twisted
+  ++ twisted.extras-require.tls;
+
+  checkInputs = [
+    mock
+    magic-wormhole-transit-relay
+    magic-wormhole-mailbox-server
+    twisted
+  ];
 
   postPatch = lib.optionalString stdenv.isLinux ''
     sed -i -e "s|'ifconfig'|'${nettools}/bin/ifconfig'|" src/wormhole/ipaddrs.py
@@ -42,9 +60,7 @@ buildPythonPackage rec {
     install -Dm644 docs/wormhole.1 $out/share/man/man1/wormhole.1
   '';
 
-  # zope.interface issue
-  doCheck = !isPy27;
-  preCheck = ''
+  checkPhase = ''
     export PATH=$out/bin:$PATH
     export LANG="en_US.UTF-8"
     export LC_ALL="en_US.UTF-8"
@@ -52,16 +68,15 @@ buildPythonPackage rec {
       --replace 'getProcessOutputAndValue("locale", ["-a"])' 'getProcessOutputAndValue("locale", ["-a"], env=os.environ)' \
       --replace 'if (os.path.dirname(os.path.abspath(wormhole))' 'if not os.path.abspath(wormhole).startswith("/nix/store") and (os.path.dirname(os.path.abspath(wormhole))' \
       --replace 'locale_env = dict(LC_ALL=locale, LANG=locale)' 'locale_env = dict(LC_ALL=locale, LANG=locale, LOCALE_ARCHIVE=os.getenv("LOCALE_ARCHIVE"))'
+
+    trial -j$NIX_BUILD_CORES wormhole
   '';
 
   meta = with lib; {
     description = "Securely transfer data between computers";
-    homepage = "https://github.com/warner/magic-wormhole";
+    homepage = "https://github.com/magic-wormhole/magic-wormhole";
     license = licenses.mit;
-    # Currently broken on Python 2.7. See
-    # https://github.com/NixOS/nixpkgs/issues/71826
-    broken = isPy27;
-    maintainers = with maintainers; [ asymmetric ];
+    maintainers = with maintainers; [ asymmetric SuperSandro2000 ];
     mainProgram = "wormhole";
   };
 }
diff --git a/pkgs/development/python-modules/malduck/default.nix b/pkgs/development/python-modules/malduck/default.nix
index 1b757a144ccf5..7d5998da2e96b 100644
--- a/pkgs/development/python-modules/malduck/default.nix
+++ b/pkgs/development/python-modules/malduck/default.nix
@@ -14,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "malduck";
-  version = "4.1.0";
+  version = "4.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "04d8bhzax9ynbl83hif9i8gcs29zrvcay2r6n7mcxiixlxcqciak";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-UgpblcZ/Jxl3U4256YIHzly7igNXwhTdFN4HOqZBVbM=";
   };
 
   propagatedBuildInputs = [
@@ -43,7 +45,9 @@ buildPythonPackage rec {
   # Project has no tests. They will come with the next release
   doCheck = false;
 
-  pythonImportsCheck = [ "malduck" ];
+  pythonImportsCheck = [
+    "malduck"
+  ];
 
   meta = with lib; {
     description = "Helper for malware analysis";
diff --git a/pkgs/development/python-modules/mapbox/default.nix b/pkgs/development/python-modules/mapbox/default.nix
index f721228ddca4c..84ca6199e2f40 100644
--- a/pkgs/development/python-modules/mapbox/default.nix
+++ b/pkgs/development/python-modules/mapbox/default.nix
@@ -32,5 +32,8 @@ buildPythonPackage rec {
     description = "Mapbox SDK for Python";
     longDescription = "Low-level client API for Mapbox web services.";
     maintainers = with maintainers; [ ersin ];
+    # ImportError: cannot import name 'Mapping' from 'collections'
+    # and archived upstreamed
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/mastodon-py/default.nix b/pkgs/development/python-modules/mastodon-py/default.nix
index c1a7c8985b78d..178ed4b8fc06b 100644
--- a/pkgs/development/python-modules/mastodon-py/default.nix
+++ b/pkgs/development/python-modules/mastodon-py/default.nix
@@ -6,7 +6,7 @@
 , decorator
 , http-ece
 , python-dateutil
-, python_magic
+, python-magic
 , pytz
 , requests
 , six
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     decorator
     http-ece
     python-dateutil
-    python_magic
+    python-magic
     pytz
     requests
     six
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index cc118d9f0ab08..933fd3865d6bb 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -17,7 +17,7 @@ let
 in
 
 buildPythonPackage rec {
-  version = "3.5.1";
+  version = "3.5.2";
   pname = "matplotlib";
   format = "setuptools";
 
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c";
+    sha256 = "18h78s5ld1i6mz00w258hy29909nfr3ddq6ry9kq18agw468bks8";
   };
 
   XDG_RUNTIME_DIR = "/tmp";
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index f2745bf3f6f83..9adbbf5e5d3c9 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "9.0.4";
+  version = "9.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-h5pPtzs04TDqOkDFBpcn6faFN4sz/nEMsjjiH7mTEH0=";
+    hash = "sha256-qKQs0uGPMUtueOryVzFk37Th+N9vmApr/IzJ6jZI2Ic=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/meater-python/default.nix b/pkgs/development/python-modules/meater-python/default.nix
new file mode 100644
index 0000000000000..219af570dfe87
--- /dev/null
+++ b/pkgs/development/python-modules/meater-python/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "meater-python";
+  version = "0.0.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-86XJmKOc2MCyU9v0UAZsPCUL/kAXywOlQOIHaykNF1o=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "meater"
+  ];
+
+  meta = with lib; {
+    description = "Library for the Apption Labs Meater cooking probe";
+    homepage = "https://github.com/Sotolotl/meater-python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/meilisearch/default.nix b/pkgs/development/python-modules/meilisearch/default.nix
index 73f1c75a5192b..b7f0f049db70f 100644
--- a/pkgs/development/python-modules/meilisearch/default.nix
+++ b/pkgs/development/python-modules/meilisearch/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "meilisearch";
-  version = "0.18.2";
+  version = "0.18.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "meilisearch";
     repo = "meilisearch-python";
     rev = "v${version}";
-    hash = "sha256-U9fdMcxPdtLiUStgTez99SPRh93WLZNVn8uIj4lNWh4=";
+    hash = "sha256-Ym3AbIEf8eMSrtP8W1dPXqL0mTVN2bd8hlxdFhW/dkQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/memcached/default.nix b/pkgs/development/python-modules/memcached/default.nix
deleted file mode 100644
index e7a41d7b238d0..0000000000000
--- a/pkgs/development/python-modules/memcached/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchurl
-, fetchPypi
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "memcached";
-  version = "1.51";
-
-  src = if isPy3k then fetchPypi {
-    inherit version;
-    pname = "python3-${pname}";
-    sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw";
-  } else fetchurl {
-    url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${pname}-${version}.tar.gz";
-    sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192";
-  };
-
-  meta = with lib; {
-    description = "Python API for communicating with the memcached distributed memory object cache daemon";
-    homepage = "https://github.com/linsomniac/python-memcached";
-    license = licenses.psfl;
-  };
-
-}
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index d5fe44b37e746..bba7b1884176f 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -5,7 +5,7 @@
 , isPy3k
 , decorator
 , http-parser
-, python_magic
+, python-magic
 , urllib3
 , pytestCheckHook
 , pytest-mock
@@ -30,7 +30,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     decorator
     http-parser
-    python_magic
+    python-magic
     urllib3
   ];
 
diff --git a/pkgs/development/python-modules/moku/default.nix b/pkgs/development/python-modules/moku/default.nix
new file mode 100644
index 0000000000000..3ed68ce8b47a1
--- /dev/null
+++ b/pkgs/development/python-modules/moku/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, zeroconf
+, requests
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "moku";
+  version = "2.3";
+
+  /*
+
+  Pypi's webpage <https://pypi.org/project/moku/> lists
+  https://github.com/liquidinstruments/moku/archive/${version}.tar.gz as the
+  download link, but that repository doesn't exist from some reason :/. When
+  packaging this, I didn't find any mention of a git repo of the sources. Note
+  that the pymoku <https://github.com/liquidinstruments/pymoku> repo holds the
+  sources of the legacy API package.
+
+  */
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-EzVcECjJyrr2NLQkG0Yp/jYBMnsEP1/FnS5O3UplszI=";
+  };
+  /*
+
+  Note: If you run `moku download` and encounter the error:
+
+  [Errno 13] Permission denied: '/nix/store/.../lib/python 3.9/site-packages/moku/data'
+
+  Then use the $MOKU_DATA_PATH environment variable to control where the
+  downloaded files will go to. It is undocumented upstream and there's no
+  repository to contribute such documentation unfortunately. Also there is no
+  suitable default value for this on Nix systems, so there's no patch we can
+  apply locally to make the situation better.
+
+  */
+
+  propagatedBuildInputs = [
+    zeroconf
+    requests
+    setuptools
+  ];
+
+  pythonImportsCheck = [
+    "moku"
+  ];
+
+  meta = with lib; {
+    description = "Python scripting interface to the Liquid Instruments Moku";
+    homepage = "https://apis.liquidinstruments.com/starting-python.html";
+    license = licenses.mit;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+}
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index f3cf778fcbad4..e2a27b56cac17 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.6.5";
+  version = "0.6.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-RAGsVHi/f+0gIzVomhC8h3JvoD4EEe6dK9PBi5daTgU=";
+    sha256 = "sha256-c6+kctEB4gwLGTgTA+sUA3v9ST4dn4RFPbyaXSgGvoQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index c77dc38466369..987aa20d2dbb3 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.22.0.post1";
+  version = "1.23.0.post1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lOpsygYi1iCZ9DgqOjfJ4HL9PvRmLqMpEWqgeOyFCI4=";
+    hash = "sha256-eF0ChMOqisXsMWLlKCAWGMrTUe4sGfZxWo5uc/ZKAQk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mysql-connector/default.nix b/pkgs/development/python-modules/mysql-connector/default.nix
index 211bdec41fe0e..38417ddb9c62a 100644
--- a/pkgs/development/python-modules/mysql-connector/default.nix
+++ b/pkgs/development/python-modules/mysql-connector/default.nix
@@ -1,16 +1,24 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python }:
+{ lib
+, buildPythonPackage
+, django
+, dnspython
+, fetchFromGitHub
+, protobuf
+, pythonOlder
+}:
 
-let
-  py = python;
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "mysql-connector";
-  version = "8.0.24";
+  version = "8.0.29";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "mysql";
     repo = "mysql-connector-python";
     rev = version;
-    sha256 = "1zb5wf65rnpbk0lw31i4piy0bq09hqa62gx7bh241zc5310zccc7";
+    hash = "sha256-X0qiXNYkNoR00ESUdByPj4dPnEnjLyopm25lm1JvkAk=";
   };
 
   patches = [
@@ -22,16 +30,19 @@ in buildPythonPackage rec {
     ./0001-Revert-Fix-MacOS-wheels-platform-tag.patch
   ];
 
-  propagatedBuildInputs = with py.pkgs; [ protobuf dnspython ];
+  propagatedBuildInputs = [
+    dnspython
+    protobuf
+  ];
 
-  # Tests are failing (TODO: unknown reason)
-  # TypeError: __init__() missing 1 required positional argument: 'string'
-  # But the library should be working as expected.
-  doCheck = false;
+  pythonImportsCheck = [
+    "mysql"
+  ];
 
-  pythonImportsCheck = [ "mysql" ];
+  # Tests require a running MySQL instance
+  doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "A MySQL driver";
     longDescription = ''
       A MySQL driver that does not depend on MySQL C client libraries and
@@ -39,7 +50,7 @@ in buildPythonPackage rec {
     '';
     homepage = "https://github.com/mysql/mysql-connector-python";
     changelog = "https://raw.githubusercontent.com/mysql/mysql-connector-python/${version}/CHANGES.txt";
-    license = [ lib.licenses.gpl2Only ];
-    maintainers = with lib.maintainers; [ neosimsim turion ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ neosimsim turion ];
   };
 }
diff --git a/pkgs/development/python-modules/name-that-hash/default.nix b/pkgs/development/python-modules/name-that-hash/default.nix
new file mode 100644
index 0000000000000..de073e502dc8f
--- /dev/null
+++ b/pkgs/development/python-modules/name-that-hash/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, click
+, rich
+}:
+
+buildPythonPackage rec {
+  pname = "name-that-hash";
+  version = "1.10";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "HashPals";
+    repo = pname;
+    rev = version;
+    hash = "sha256-3sddUPoC3NfKQzmNgqPf/uHaYN9VZBqsmV712uz1Phg=";
+  };
+
+  # TODO remove on next update which bumps rich
+  postPatch = ''
+    substituteInPlace pyproject.toml --replace 'rich = ">=9.9,<11.0"' 'rich = ">=9.9"'
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    click
+    rich
+  ];
+
+  pythonImportsCheck = [ "name_that_hash" ];
+
+  meta = with lib; {
+    longDescription = "Don't know what type of hash it is? Name That Hash will name that hash type! Identify MD5, SHA256 and 300+ other hashes.";
+    description = "Module and CLI for the identification of hashes";
+    homepage = "https://github.com/HashPals/Name-That-Hash";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ eyjhb ];
+  };
+}
diff --git a/pkgs/development/python-modules/napalm/default.nix b/pkgs/development/python-modules/napalm/default.nix
index 2266283cc53bd..ef59a33a956a3 100644
--- a/pkgs/development/python-modules/napalm/default.nix
+++ b/pkgs/development/python-modules/napalm/default.nix
@@ -1,10 +1,14 @@
 { lib, buildPythonPackage, fetchFromGitHub, callPackage, setuptools, cffi
 , paramiko, requests, future, textfsm, jinja2, netaddr, pyyaml, pyeapi, netmiko
-, junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock }:
+, junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock
+, pythonOlder, pythonAtLeast }:
 
 buildPythonPackage rec {
   pname = "napalm";
   version = "3.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6" || pythonAtLeast "3.9";
 
   src = fetchFromGitHub {
     owner = "napalm-automation";
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index 1b2071e7f0c58..7311384229aa7 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -1,27 +1,50 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder,
-  async_generator, traitlets, nbformat, nest-asyncio, jupyter-client,
-  pytest, xmltodict, nbconvert, ipywidgets
-, doCheck ? true
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, async_generator
+, traitlets
+, nbformat
+, nest-asyncio
+, jupyter-client
+, pytestCheckHook
+, xmltodict
+, nbconvert
+, ipywidgets
 }:
 
-buildPythonPackage rec {
+let nbclient = buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.5.13";
+  version = "0.6.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QMUsm148MfrsruafICs/U+ONfBxWPeD63enX7aD9r+g=";
+    hash = "sha256-uAcm/B+4mg6Pi+HnfijQAmsejtkLwUPIoMdiLk+M3Z4=";
   };
 
-  inherit doCheck;
-  checkInputs = [ pytest xmltodict nbconvert ipywidgets ];
   propagatedBuildInputs = [ async_generator traitlets nbformat nest-asyncio jupyter-client ];
 
+  # circular dependencies if enabled by default
+  doCheck = false;
+
+  checkInputs = [ pytestCheckHook xmltodict nbconvert ipywidgets ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  passthru.tests = {
+    check = nbclient.overridePythonAttrs (_: { doCheck = true; });
+  };
+
   meta = with lib; {
     homepage = "https://github.com/jupyter/nbclient";
     description = "A client library for executing notebooks";
     license = licenses.bsd3;
     maintainers = [ maintainers.erictapen ];
   };
-}
+};
+in nbclient
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 5a89210170fe2..9b85586f7d9be 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -1,34 +1,29 @@
-{ lib
+{ beautifulsoup4
+, bleach
 , buildPythonPackage
+, defusedxml
 , fetchPypi
-, pytestCheckHook
-, glibcLocales
-, entrypoints
-, bleach
-, beautifulsoup4
-, mistune
-, nbclient
+, ipywidgets
 , jinja2
-, pygments
-, traitlets
-, testpath
-, jupyter_core
 , jupyterlab-pygments
-, nbformat
-, ipykernel
+, lib
+, markupsafe
+, mistune
+, nbclient
 , pandocfilters
-, tornado
-, jupyter-client
-, defusedxml
+, pyppeteer
+, pytestCheckHook
+, tinycss2
 }:
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "6.4.5";
+  version = "6.5.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-IRY6jiBzwHEJyo85iDbkXv26KqzqaNb3WopUX+8HDU4=";
+    hash = "sha256-Ij5G4nq+hZa4rtVDAfrbukM7f/6oGWpo/Xsf9Qnu6Z0=";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
@@ -41,37 +36,38 @@ buildPythonPackage rec {
     substituteAllInPlace ./nbconvert/exporters/templateexporter.py
   '';
 
-  checkInputs = [ pytestCheckHook glibcLocales ];
-
   propagatedBuildInputs = [
-    entrypoints bleach mistune jinja2 pygments traitlets testpath
-    jupyter_core nbformat ipykernel pandocfilters tornado jupyter-client
-    defusedxml beautifulsoup4
-    (nbclient.override { doCheck = false; }) # avoid infinite recursion
+    beautifulsoup4
+    bleach
+    defusedxml
+    jinja2
     jupyterlab-pygments
+    markupsafe
+    mistune
+    nbclient
+    pandocfilters
+    tinycss2
   ];
 
-  # disable preprocessor tests for ipython 7
-  # see issue https://github.com/jupyter/nbconvert/issues/898
   preCheck = ''
-    export LC_ALL=en_US.UTF-8
-    HOME=$(mktemp -d)
+    export HOME=$(mktemp -d)
   '';
 
-  pytestFlagsArray = [
-    "--ignore=nbconvert/preprocessors/tests/test_execute.py"
-    # can't resolve template paths within sandbox
-    "--ignore=nbconvert/tests/base.py"
-    "--ignore=nbconvert/tests/test_nbconvertapp.py"
+  checkInputs = [
+    ipywidgets
+    pyppeteer
+    pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # DeprecationWarning: Support for bleach <5 will be removed in a future version of nbconvert
+    "-W ignore::DeprecationWarning"
+  ];
 
   disabledTests = [
+    # Attempts network access (Failed to establish a new connection: [Errno -3] Temporary failure in name resolution)
     "test_export"
-    "test_webpdf_without_chromium"
-    #"test_cell_tag_output"
-    #"test_convert_from_stdin"
-    #"test_convert_full_qualified_name"
+    "test_webpdf_with_chromium"
   ];
 
   # Some of the tests use localhost networking.
diff --git a/pkgs/development/python-modules/nettigo-air-monitor/default.nix b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
index 6f85a797c3743..b9bfb95e2e8cc 100644
--- a/pkgs/development/python-modules/nettigo-air-monitor/default.nix
+++ b/pkgs/development/python-modules/nettigo-air-monitor/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nettigo-air-monitor";
-  version = "1.2.2";
+  version = "1.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "bieniu";
     repo = pname;
     rev = version;
-    sha256 = "sha256-gHgFEDUji43vTBZp5FLK90H+D44sfH2AuCc7Gu2T1pg=";
+    sha256 = "sha256-zmmJ3F2Fl4u7vOx1h5Z0LtWL0/5xmZiFRY2NU8Tc0MY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nose-randomly/default.nix b/pkgs/development/python-modules/nose-randomly/default.nix
index eb75a375d7701..94f64028d669a 100644
--- a/pkgs/development/python-modules/nose-randomly/default.nix
+++ b/pkgs/development/python-modules/nose-randomly/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , nose
@@ -16,7 +17,10 @@ buildPythonPackage rec {
 
   checkInputs = [ numpy nose ];
 
-  checkPhase = ''
+  checkPhase = if stdenv.isDarwin then ''
+    # Work around "OSError: AF_UNIX path too long"
+    TMPDIR="/tmp" nosetests
+  '' else ''
     nosetests
   '';
 
diff --git a/pkgs/development/python-modules/nose/default.nix b/pkgs/development/python-modules/nose/default.nix
index 586af7a904233..31fd824ee3da4 100644
--- a/pkgs/development/python-modules/nose/default.nix
+++ b/pkgs/development/python-modules/nose/default.nix
@@ -41,8 +41,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A unittest-based testing framework for python that makes writing and running tests easier";
-    homepage = "http://readthedocs.org/docs/nose/";
+    homepage = "https://nose.readthedocs.io/";
     license = licenses.lgpl3;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 3ead3cf4fe200..d76909efdcfe9 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -2,7 +2,7 @@
 , lib
 , buildPythonPackage
 , fetchPypi
-, argon2_cffi
+, argon2-cffi
 , nose
 , nose_warnings_filters
 , glibcLocales
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     jinja2 tornado ipython_genutils traitlets jupyter_core send2trash
     jupyter-client nbformat nbconvert ipykernel terminado requests pexpect
-    prometheus-client argon2_cffi
+    prometheus-client argon2-cffi
   ];
 
   # disable warning_filters
diff --git a/pkgs/development/python-modules/notify-events/default.nix b/pkgs/development/python-modules/notify-events/default.nix
new file mode 100644
index 0000000000000..97d888ae23ce5
--- /dev/null
+++ b/pkgs/development/python-modules/notify-events/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "notify-events";
+  version = "1.1.3";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "notify_events";
+    inherit version;
+    sha256 = "e63ba935c3300ff7f48cba115f7cb4474906e83c2e9b60b95a0881eb949701e7";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "notify_events" ];
+
+  meta = {
+    description = "Python client for Notify.Events";
+    homepage = "https://github.com/notify-events/python";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/notify-py/default.nix b/pkgs/development/python-modules/notify-py/default.nix
index 497b20d3df8ff..6d255424812e5 100644
--- a/pkgs/development/python-modules/notify-py/default.nix
+++ b/pkgs/development/python-modules/notify-py/default.nix
@@ -9,7 +9,8 @@
 , which
 , jeepney
 , loguru
-, pytestCheckHook
+, pytest
+, dbus
 , coreutils
 }:
 
@@ -41,16 +42,29 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [ loguru ]
-    ++ lib.optionals stdenv.isLinux [ jeepney ];
+  propagatedBuildInputs = [
+    loguru
+  ] ++ lib.optionals stdenv.isLinux [
+    jeepney
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytest
+  ] ++ lib.optionals stdenv.isLinux [
+    dbus
+  ];
 
-  # Tests search for "afplay" binary which is built in to MacOS and not available in nixpkgs
-  preCheck = lib.optionalString stdenv.isDarwin ''
+  checkPhase = if stdenv.isDarwin then ''
+    # Tests search for "afplay" binary which is built in to macOS and not available in nixpkgs
     mkdir $TMP/bin
     ln -s ${coreutils}/bin/true $TMP/bin/afplay
-    export PATH="$TMP/bin:$PATH"
+    PATH="$TMP/bin:$PATH" pytest
+  '' else if stdenv.isLinux then ''
+    dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      pytest
+  '' else ''
+    pytest
   '';
 
   pythonImportsCheck = [ "notifypy" ];
diff --git a/pkgs/development/python-modules/nutils/default.nix b/pkgs/development/python-modules/nutils/default.nix
index 8848691079636..3089093d9cd18 100644
--- a/pkgs/development/python-modules/nutils/default.nix
+++ b/pkgs/development/python-modules/nutils/default.nix
@@ -1,15 +1,27 @@
-{ lib, python, buildPythonPackage, fetchPypi, numpy, treelog, stringly, coverage }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, treelog
+, stringly
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "nutils";
   version = "7.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1sw310l2yb8wbcv2qhik8s928zjh2syzz2qxisglbzski9qdw2x6";
-  };
+  disabled = pythonOlder "3.7";
 
-  pythonImportChecks = [ "nutils" ];
+  src = fetchFromGitHub {
+    owner = "evalf";
+    repo = "nutils";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-V7lSMhwzc9+36uXMCy5uF241XwJ62Pdf59RUulOt4i8=";
+  };
 
   propagatedBuildInputs = [
     numpy
@@ -17,16 +29,24 @@ buildPythonPackage rec {
     stringly
   ];
 
-  checkInputs = [ coverage ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "nutils"
+  ];
 
-  checkPhase = ''
-    ${python.interpreter} -m unittest
-  '';
+  disabledTestPaths = [
+    # AttributeError: type object 'setup' has no attribute '__code__'
+    "tests/test_cli.py"
+  ];
 
   meta = with lib; {
     description = "Numerical Utilities for Finite Element Analysis";
     homepage = "https://www.nutils.org/";
     license = licenses.mit;
-    maintainers = [ maintainers.Scriptkiddi ];
+    broken = stdenv.hostPlatform.isAarch64;
+    maintainers = with maintainers; [ Scriptkiddi ];
   };
 }
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index d4d9cf1811e04..bc650b7eafe1f 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "2.7";
+  version = "2.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "lilydjwg";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-OPUqkHLG8PUlD5NP7q/BpKUvmAA8Jk1NvsPPVbImv0A=";
+    hash = "sha256-ikpjR1fEZBsSOE20jxTyarb9Pqn3Fz+TYOzXp0g4G9c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index 72565e55419c8..6700b88479db8 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -83,7 +83,7 @@ buildPythonPackage rec {
   postPatch = ''
     # https://github.com/ocrmypdf/OCRmyPDF/issues/933
     substituteInPlace setup.cfg \
-      --replace "pdfminer.six!=20200720,>=20191110,<=20211012" "pdfminer.six!=20200720,>=20191110,<=20220319"
+      --replace "pdfminer.six!=20200720,>=20191110,<=20220319" "pdfminer.six!=20200720,>=20191110"
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/oletools/default.nix b/pkgs/development/python-modules/oletools/default.nix
index 76019730eb70a..3ba66ac38edc3 100644
--- a/pkgs/development/python-modules/oletools/default.nix
+++ b/pkgs/development/python-modules/oletools/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "oletools";
-  version = "0.60";
+  version = "0.60.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "decalage2";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gatUVkf8iT1OGnahX1BzQLDypCqhS1EvkAgUHJ6myA4=";
+    hash = "sha256-H3oL8sk2r267wV0hoHOq9r9DY2Atxs+hZUVb6tmHy0w=";
   };
 
   propagatedBuildInputs = [
@@ -47,6 +47,7 @@ buildPythonPackage rec {
   disabledTests = [
     # Test fails with AssertionError: Tuples differ: ('MS Word 2007+...
     "test_all"
+    "test_xlm"
   ];
 
   pythonImportsCheck = [
@@ -54,7 +55,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Python tool to analyze MS OLE2 files and MS Office documents";
+    description = "Module to analyze MS OLE2 files and MS Office documents";
     homepage = "https://github.com/decalage2/oletools";
     license = with licenses; [ bsd2 /* and */ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/openshift/default.nix b/pkgs/development/python-modules/openshift/default.nix
index c233f88c73f9c..497af2e735d18 100644
--- a/pkgs/development/python-modules/openshift/default.nix
+++ b/pkgs/development/python-modules/openshift/default.nix
@@ -44,8 +44,8 @@ buildPythonPackage rec {
   ];
 
   disabledTestPaths = [
-    # requires docker
-    "test/functional"
+    # requires kubeconfig
+    "test/integration"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/openstep-plist/default.nix b/pkgs/development/python-modules/openstep-plist/default.nix
new file mode 100644
index 0000000000000..274294f593882
--- /dev/null
+++ b/pkgs/development/python-modules/openstep-plist/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools-scm
+, pytestCheckHook
+, cython
+, pythonImportsCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "openstep-plist";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    pname = "openstep_plist";
+    inherit version;
+    sha256 = "sha256-KO4sGKjod5BwUFQ1MU2S1dG0DyiJ06mdroMbRDsugBk=";
+    extension = "zip";
+  };
+
+  nativeBuildInputs = [ setuptools-scm cython ];
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "openstep_plist" ];
+
+  meta = {
+    description = "Parser for the 'old style' OpenStep property list format also known as ASCII plist";
+    homepage = "https://github.com/fonttools/openstep-plist";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/oscrypto/default.nix b/pkgs/development/python-modules/oscrypto/default.nix
index b4d1c8fb88af5..96d4416ec9650 100644
--- a/pkgs/development/python-modules/oscrypto/default.nix
+++ b/pkgs/development/python-modules/oscrypto/default.nix
@@ -1,24 +1,25 @@
 { lib
 , stdenv
-, buildPythonPackage
 , asn1crypto
-, fetchPypi
+, buildPythonPackage
+, fetchFromGitHub
 , openssl
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "oscrypto";
-  version = "1.2.1";
+  version = "1.3.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1546si2bdgkqnbvv4mw1hr4mhh6bq39d9z4wxgv1m7fq6miclb3x";
-  };
+  disabled = pythonOlder "3.7";
 
-  testSources = fetchPypi {
-    inherit version;
-    pname = "oscrypto_tests";
-    sha256 = "1ha68dsrbx6mlra44x0n81vscn17pajbl4yg7cqkk7mq1zfmjwks";
+  src = fetchFromGitHub {
+    owner = "wbond";
+    repo = pname;
+    rev = version;
+    hash = "sha256-CmDypmlc/kb6ONCUggjT1Iqd29xNSLRaGh5Hz36dvOw=";
   };
 
   propagatedBuildInputs = [
@@ -26,21 +27,26 @@ buildPythonPackage rec {
     openssl
   ];
 
-  preCheck = ''
-    tar -xf ${testSources}
-    mv oscrypto_tests-${version} tests
-
-    # remove tests that require network
-    sed -e '/TLSTests/d' -e '/TrustListTests/d' -i tests/__init__.py
-  '';
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "oscrypto" ];
+  pythonImportsCheck = [
+    "oscrypto"
+  ];
 
   doCheck = !stdenv.isDarwin;
 
+  disabledTests = [
+    # Tests require network access
+    "TLSTests"
+    "TrustListTests"
+  ];
+
   meta = with lib; {
     description = "Encryption library for Python";
     homepage = "https://github.com/wbond/oscrypto";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/osmpythontools/default.nix b/pkgs/development/python-modules/osmpythontools/default.nix
index 23755583470aa..53c4dc1457e68 100644
--- a/pkgs/development/python-modules/osmpythontools/default.nix
+++ b/pkgs/development/python-modules/osmpythontools/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "osmpythontools";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchFromGitHub {
     owner = "mocnik-science";
     repo = "osm-python-tools";
-    rev = "v.${version}";
-    sha256 = "sha256-335zo/kOX4OpUwHas2aaPibY6zNmDaaHJpolbTQWqKk=";
+    rev = "v${version}";
+    sha256 = "sha256-7r42b/B9h7cMgM+wFS0Fink/3WjUNvz+PwLn3C5hawc=";
   };
 
   propagatedBuildInputs = [
@@ -54,6 +54,7 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/mocnik-science/osm-python-tools";
     license = licenses.gpl3Only;
+    changelog = "https://raw.githubusercontent.com/mocnik-science/osm-python-tools/v${version}/version-history.md";
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/python-modules/pandoc-xnos/default.nix b/pkgs/development/python-modules/pandoc-xnos/default.nix
new file mode 100644
index 0000000000000..ce365708b35de
--- /dev/null
+++ b/pkgs/development/python-modules/pandoc-xnos/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, pandocfilters
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "pandoc-xnos";
+  version = "2.5.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tomduck";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-beiGvN0DS6s8wFjcDKozDuwAM2OApX3lTRaUDRUqLeU=";
+  };
+
+  propagatedBuildInputs = [ pandocfilters psutil ];
+
+  pythonImportsCheck = [ "pandocxnos" ];
+
+  meta = with lib; {
+    description = "Pandoc filter suite providing facilities for cross-referencing in markdown documents";
+    homepage = "https://github.com/tomduck/pandoc-xnos";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/development/python-modules/parameter-expansion-patched/default.nix b/pkgs/development/python-modules/parameter-expansion-patched/default.nix
index 18511e1c70fde..4f2c5eaf60946 100644
--- a/pkgs/development/python-modules/parameter-expansion-patched/default.nix
+++ b/pkgs/development/python-modules/parameter-expansion-patched/default.nix
@@ -3,19 +3,27 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "parameter-expansion-patched";
-  version = "0.2.1b4";
+  version = "0.3.1";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vhshscjifi78qapzwn29gln6p8jhyc7cccszl8ai2jamhcph5zs";
+    hash = "sha256-/128ifveWC8zNlYtGWtxB3HpK6p7bVk1ahSwhaC2dAs=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   checkInputs = [
     pytestCheckHook
   ];
@@ -26,7 +34,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "POSIX parameter expansion in Python";
-    homepage = "https://github.com/nexB/commoncode";
+    homepage = "https://github.com/nexB/parameter_expansion_patched";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index c5680c5c8a363..421d53b5a8812 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -14,14 +14,23 @@
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.10.3";
+  version = "2.10.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3bGXeFOu+CgEs11yoOWXskT6MmxATDUL0AxbAdv+5xo=";
+    sha256 = "sha256-PS5lC2gSzm0WCr/3AdbvRDTsl5NLE+lc8a09pw/7XFg=";
   };
 
+  patches = [
+    # Fix usage of dsa keys
+    # https://github.com/paramiko/paramiko/pull/1606/
+    (fetchpatch {
+      url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
+      sha256 = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
+    })
+  ];
+
   propagatedBuildInputs = [
     bcrypt
     cryptography
@@ -51,15 +60,6 @@ buildPythonPackage rec {
     "paramiko"
   ];
 
-  patches = [
-    # Fix usage of dsa keys
-    # https://github.com/paramiko/paramiko/pull/1606/
-    (fetchpatch {
-      url = "https://github.com/paramiko/paramiko/commit/18e38b99f515056071fb27b9c1a4f472005c324a.patch";
-      sha256 = "sha256-bPDghPeLo3NiOg+JwD5CJRRLv2VEqmSx1rOF2Tf8ZDA=";
-    })
-  ];
-
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
@@ -72,6 +72,6 @@ buildPythonPackage rec {
       between python scripts. All major ciphers and hash methods are
       supported. SFTP client and server mode are both supported too.
     '';
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/passlib/default.nix b/pkgs/development/python-modules/passlib/default.nix
index ab29ab74d6849..8fd7b177a27c8 100644
--- a/pkgs/development/python-modules/passlib/default.nix
+++ b/pkgs/development/python-modules/passlib/default.nix
@@ -1,9 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, nose
+, argon2-cffi
 , bcrypt
-, argon2_cffi
+, cryptography
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -15,9 +16,17 @@ buildPythonPackage rec {
     sha256 = "defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04";
   };
 
-  checkInputs = [ nose ];
-  propagatedBuildInputs = [ bcrypt argon2_cffi ];
-  propagatedNativeBuildInputs = [ argon2_cffi ];
+  passthru.extras-require = {
+    argon2 = [ argon2-cffi ];
+    bcrypt = [ bcrypt ];
+    totp = [ cryptography ];
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ] ++ passthru.extras-require.argon2
+    ++ passthru.extras-require.bcrypt
+    ++ passthru.extras-require.totp;
 
   meta = with lib; {
     description = "A password hashing library for Python";
diff --git a/pkgs/development/python-modules/pcapy-ng/default.nix b/pkgs/development/python-modules/pcapy-ng/default.nix
new file mode 100644
index 0000000000000..7fec65bfb52f2
--- /dev/null
+++ b/pkgs/development/python-modules/pcapy-ng/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, buildPythonPackage
+, cython
+, fetchFromGitHub
+, libpcap
+, pkgconfig
+, pytestCheckHook
+, python
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pcapy-ng";
+  version = "1.0.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "stamparm";
+    repo = pname;
+    rev = version;
+    hash = "sha256-6LA2n7Kv0MiZcqUJpi0lDN4Q+GcOttYw7hJwVqK/DU0=";
+  };
+
+  nativeBuildInputs = [
+    cython
+    pkgconfig
+  ];
+
+  buildInputs = [
+    libpcap
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    cd tests
+  '';
+
+  pythonImportsCheck = [
+    "pcapy"
+  ];
+
+  doCheck = pythonOlder "3.10";
+
+  pytestFlagsArray = [
+    "pcapytests.py"
+  ];
+
+  meta = with lib; {
+    description = "Module to interface with the libpcap packet capture library";
+    homepage = "https://github.com/stamparm/pcapy-ng/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pdfminer_six/default.nix b/pkgs/development/python-modules/pdfminer_six/default.nix
index 449ea4f7fd778..b52106af285ba 100644
--- a/pkgs/development/python-modules/pdfminer_six/default.nix
+++ b/pkgs/development/python-modules/pdfminer_six/default.nix
@@ -1,8 +1,16 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, cryptography, chardet, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, cryptography
+, charset-normalizer
+, pytestCheckHook
+, ocrmypdf
+}:
 
 buildPythonPackage rec {
   pname = "pdfminer_six";
-  version = "20220319";
+  version = "20220506";
 
   disabled = !isPy3k;
 
@@ -10,10 +18,10 @@ buildPythonPackage rec {
     owner = "pdfminer";
     repo = "pdfminer.six";
     rev = version;
-    sha256 = "sha256-sjO7jmHSe4EDmJ1rfiXx+lsHxc+DfKeMet37Nbg03WQ=";
+    sha256 = "sha256-Lq+ou7+Lmr1H69L8X/vuky+/tXDD3bBBaCysymeRuXA=";
   };
 
-  propagatedBuildInputs = [ chardet cryptography ];
+  propagatedBuildInputs = [ charset-normalizer cryptography ];
 
   postInstall = ''
     for file in $out/bin/*.py; do
@@ -27,8 +35,16 @@ buildPythonPackage rec {
     substituteInPlace pdfminer/__init__.py --replace "__VERSION__" ${version}
   '';
 
+  pythonImportsCheck = [ "pdfminer" ];
+
   checkInputs = [ pytestCheckHook ];
 
+  passthru = {
+    tests = {
+      inherit ocrmypdf;
+    };
+  };
+
   meta = with lib; {
     description = "PDF parser and analyzer";
     homepage = "https://github.com/pdfminer/pdfminer.six";
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index e98122d2f399b..4b11263017dd4 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "0.0.21";
+  version = "0.0.23";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NTwLo/RtwSf3a43dAv8EK1NWuCsVjL+8+KozjvaPUm4=";
+    hash = "sha256-z59TJ+P7WNMcTyevi4etWUFUnBJXAVhDOnO4GXjjuR0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index e582ad1a44623..a6d665651655d 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.84";
+  version = "2.1.87";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tjPjLzNOO/PUU6EItLYyQw+KPekIwboTBn98T8wHpHw=";
+    hash = "sha256-LPOHpylnWxwEdPT3oJjbn8NkTY9tE/pMyGE8Dy7nwrU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index a3836570f04bd..5c1a4b74a87d2 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -1,31 +1,35 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, isPy3k
+, pythonOlder
 , setuptools
 , pytest
 }:
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "3.9";
+  version = "3.10";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fwXOfQW+ybhROdgayOAsgaFjf8HHh5jr5xczkBnA40w=";
+    hash = "sha256-rkoCtcBe5LBTTpmd+cj6s80UWXyTpMk74FipyK0t5go=";
   };
 
-  disabled = !isPy3k;
-
-  # ModuleNotFoundError: No module named 'pkg_resources'
-  propagatedBuildInputs = [ setuptools ];
+  propagatedBuildInputs = [
+    setuptools
+  ];
 
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov=pglast --cov-report term-missing" ""
   '';
 
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytest
+  ];
 
   # pytestCheckHook doesn't work
   # ImportError: cannot import name 'parse_sql' from 'pglast'
@@ -38,6 +42,6 @@ buildPythonPackage rec {
     description = "PostgreSQL Languages AST and statements prettifier";
     changelog = "https://github.com/lelit/pglast/raw/v${version}/CHANGES.rst";
     license = licenses.gpl3Plus;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }
diff --git a/pkgs/development/python-modules/phonemizer/backend-paths.patch b/pkgs/development/python-modules/phonemizer/backend-paths.patch
index 5f828aaaae13f..4b9f1fb4a70b6 100644
--- a/pkgs/development/python-modules/phonemizer/backend-paths.patch
+++ b/pkgs/development/python-modules/phonemizer/backend-paths.patch
@@ -1,42 +1,18 @@
-diff --git a/phonemizer/backend/espeak.py b/phonemizer/backend/espeak.py
-index b4712bf..5628fd5 100644
---- a/phonemizer/backend/espeak.py
-+++ b/phonemizer/backend/espeak.py
-@@ -82,10 +82,7 @@ class BaseEspeakBackend(BaseBackend):
-         if _ESPEAK_DEFAULT_PATH:
-             return _ESPEAK_DEFAULT_PATH
+diff --git a/phonemizer/backend/espeak/wrapper.py b/phonemizer/backend/espeak/wrapper.py
+index 84a79f5..8abcae1 100644
+--- a/phonemizer/backend/espeak/wrapper.py
++++ b/phonemizer/backend/espeak/wrapper.py
+@@ -143,12 +143,7 @@ class EspeakWrapper:
+                     f'is not a readable file')
+             return library.resolve()
  
--        espeak = distutils.spawn.find_executable('espeak-ng')
--        if not espeak:  # pragma: nocover
--            espeak = distutils.spawn.find_executable('espeak')
--        return espeak
-+        return "@espeak@"
+-        library = (
+-                ctypes.util.find_library('espeak-ng') or
+-                ctypes.util.find_library('espeak'))
+-        if not library:  # pragma: nocover
+-            raise RuntimeError(
+-                'failed to find espeak library')
++        library = '@libespeak@'
+         return library
  
-     @classmethod
-     def is_available(cls):
-diff --git a/phonemizer/backend/festival.py b/phonemizer/backend/festival.py
-index 3037be5..684ffff 100644
---- a/phonemizer/backend/festival.py
-+++ b/phonemizer/backend/festival.py
-@@ -80,7 +80,7 @@ class FestivalBackend(BaseBackend):
-         if _FESTIVAL_DEFAULT_PATH:
-             return _FESTIVAL_DEFAULT_PATH
- 
--        return distutils.spawn.find_executable('festival')
-+        return "@festival@"
- 
-     @classmethod
-     def is_available(cls):
-diff --git a/test/test_punctuation.py b/test/test_punctuation.py
-index 6ed642a..08060df 100644
---- a/test/test_punctuation.py
-+++ b/test/test_punctuation.py
-@@ -28,7 +28,7 @@ ESPEAK_143 = (EspeakBackend.version(as_tuple=True) >= (1, 49, 3))
- ESPEAK_150 = (EspeakBackend.version(as_tuple=True) >= (1, 50))
- 
- # True if we are using festival>=2.5
--FESTIVAL_25 = (FestivalBackend.version(as_tuple=True) >= (2, 5))
-+FESTIVAL_25 = False
- 
- 
- @pytest.mark.parametrize(
+     def _fetch_version_and_path(self):
diff --git a/pkgs/development/python-modules/phonemizer/default.nix b/pkgs/development/python-modules/phonemizer/default.nix
index 88bb69e9952ff..3d7d21bbb97c7 100644
--- a/pkgs/development/python-modules/phonemizer/default.nix
+++ b/pkgs/development/python-modules/phonemizer/default.nix
@@ -1,10 +1,13 @@
 { lib
+, stdenv
 , substituteAll
 , buildPythonApplication
 , fetchPypi
 , joblib
 , segments
 , attrs
+, dlinfo
+, typing-extensions
 , espeak-ng
 , pytestCheckHook
 , pytest-cov
@@ -26,9 +29,8 @@ buildPythonApplication rec {
   patches = [
     (substituteAll {
       src = ./backend-paths.patch;
-      espeak = "${lib.getBin espeak-ng}/bin/espeak";
-      # override festival path should you try to integrate it
-      festival = "";
+      libespeak = "${lib.getLib espeak-ng}/lib/libespeak-ng${stdenv.hostPlatform.extensions.sharedLibrary}";
+      # FIXME package festival
     })
     ./remove-intertwined-festival-test.patch
   ];
@@ -37,6 +39,8 @@ buildPythonApplication rec {
     joblib
     segments
     attrs
+    dlinfo
+    typing-extensions
   ];
 
   preCheck = ''
@@ -45,26 +49,26 @@ buildPythonApplication rec {
 
   checkInputs = [
     pytestCheckHook
-    pytest-cov
   ];
 
   # We tried to package festvial, but were unable to get the backend running,
   # so let's disable related tests.
-  pytestFlagsArray = [
-    "--ignore=test/test_festival.py"
+  disabledTestPaths = [
+    "test/test_festival.py"
   ];
 
   disabledTests = [
     "test_festival"
-    "test_relative"
-    "test_absolute"
+    "test_festival_path"
     "test_readme_festival_syll"
+    "test_unicode"
   ];
 
   meta = with lib; {
     homepage = "https://github.com/bootphon/phonemizer";
+    changelog = "https://github.com/bootphon/phonemizer/blob/v${version}/CHANGELOG.md";
     description = "Simple text to phones converter for multiple languages";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/phonemizer/drop-readme-festival-test.patch b/pkgs/development/python-modules/phonemizer/drop-readme-festival-test.patch
deleted file mode 100644
index a60cdf2645a5f..0000000000000
--- a/pkgs/development/python-modules/phonemizer/drop-readme-festival-test.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test/test_main.py b/test/test_main.py
-index 71d605a..d137cd7 100644
---- a/test/test_main.py
-+++ b/test/test_main.py
-@@ -63,7 +63,6 @@ def test_readme():
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '--verbose')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '--quiet')
--    _test(u'hello world', u'hhaxlow werld', '-b festival --strip')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '-l en-us')
-     _test(u'bonjour le monde', u'bɔ̃ʒuÊ lÉ™ mɔ̃d ', '-l fr-fr')
-     _test(u'bonjour le monde', u'b ɔ̃ Ê’ u Ê ;eword l É™ ;eword m ɔ̃ d ;eword ',
diff --git a/pkgs/development/python-modules/phonemizer/remove-intertwined-festival-test.patch b/pkgs/development/python-modules/phonemizer/remove-intertwined-festival-test.patch
index d7d605df7f986..a0e0817bb72a0 100644
--- a/pkgs/development/python-modules/phonemizer/remove-intertwined-festival-test.patch
+++ b/pkgs/development/python-modules/phonemizer/remove-intertwined-festival-test.patch
@@ -1,15 +1,14 @@
 diff --git a/test/test_main.py b/test/test_main.py
-index 71d605a..0ea3c74 100644
+index b8c53e9..8f8c6d2 100644
 --- a/test/test_main.py
 +++ b/test/test_main.py
-@@ -63,17 +63,12 @@ def test_readme():
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '--verbose')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '--quiet')
--    _test(u'hello world', u'hhaxlow werld', '-b festival --strip')
-     _test(u'hello world', u'hÉ™loÊŠ wÉœËld ', '-l en-us')
-     _test(u'bonjour le monde', u'bɔ̃ʒuÊ lÉ™ mɔ̃d ', '-l fr-fr')
-     _test(u'bonjour le monde', u'b ɔ̃ Ê’ u Ê ;eword l É™ ;eword m ɔ̃ d ;eword ',
+@@ -68,16 +68,11 @@ def test_readme():
+     _test('hello world', 'hÉ™loÊŠ wÉœËld ', '--verbose')
+     _test('hello world', 'hÉ™loÊŠ wÉœËld ', '--quiet')
+     _test('hello world', 'hello world | hÉ™loÊŠ wÉœËld ', '--prepend-text')
+-    _test('hello world', 'hhaxlow werld', '-b festival --strip')
+     _test('bonjour le monde', 'bɔ̃ʒuÊ lÉ™ mɔ̃d ', '-l fr-fr')
+     _test('bonjour le monde', 'b ɔ̃ Ê’ u Ê ;eword l É™ ;eword m ɔ̃ d ;eword ',
            '-l fr-fr -p " " -w ";eword "')
  
  
@@ -18,5 +17,87 @@ index 71d605a..0ea3c74 100644
 -    reason='festival-2.1 gives different results than further versions '
 -    'for syllable boundaries')
  def test_readme_festival_syll():
-     _test(u'hello world',
-           u'hh ax ;esyll l ow ;esyll ;eword w er l d ;esyll ;eword ',
+     _test('hello world',
+           'hh ax ;esyll l ow ;esyll ;eword w er l d ;esyll ;eword ',
+diff --git a/test/test_phonemize.py b/test/test_phonemize.py
+index d156c9e..2bbe371 100644
+--- a/test/test_phonemize.py
++++ b/test/test_phonemize.py
+@@ -213,18 +213,6 @@ def test_segments(njobs):
+         ('segments', True, True, False,
+             ['achi acho?', '', 'achi acho'],
+             [u'ʌtʃɪ ʌtʃʊ?', '', u'ʌtʃɪ ʌtʃʊ ']),
+-        ('festival', False, False, False,
+-            ['hello world!', '', 'goodbye'],
+-            ['hhaxlow werld ', 'guhdbay ']),
+-        ('festival', False, True, False,
+-            ['hello world!', '', 'goodbye'],
+-            ['hhaxlow werld!', 'guhdbay ']),
+-        ('festival', True, False, False,
+-            ['hello world!', '', 'goodbye'],
+-            ['hhaxlow werld ', '', 'guhdbay ']),
+-        ('festival', True, True, False,
+-            ['hello world!', '', 'goodbye'],
+-            ['hhaxlow werld!', '', 'guhdbay ']),
+         ('espeak', False, False, True,
+             ['hello world!', '', 'goodbye'],
+             [('hello world!', 'hÉ™loÊŠ wÉœËld '), ('goodbye', 'É¡ÊŠdbaɪ ')]),
+@@ -248,19 +236,7 @@ def test_segments(njobs):
+             [('achi acho?', u'ʌtʃɪ ʌtʃʊ '), ('', ''), ('achi acho', u'ʌtʃɪ ʌtʃʊ ')]),
+         ('segments', True, True, True,
+             ['achi acho?', '', 'achi acho'],
+-            [('achi acho?', u'ʌtʃɪ ʌtʃʊ?'), ('', ''), ('achi acho', u'ʌtʃɪ ʌtʃʊ ')]),
+-        ('festival', False, False, True,
+-            ['hello world!', '', 'goodbye'],
+-            [('hello world!', 'hhaxlow werld '), ('goodbye', 'guhdbay ')]),
+-        ('festival', False, True, True,
+-            ['hello world!', '', 'goodbye'],
+-            [('hello world!', 'hhaxlow werld!'), ('goodbye', 'guhdbay ')]),
+-        ('festival', True, False, True,
+-            ['hello world!', '', 'goodbye'],
+-            [('hello world!', 'hhaxlow werld '), ('', ''), ('goodbye', 'guhdbay ')]),
+-        ('festival', True, True, True,
+-            ['hello world!', '', 'goodbye'],
+-            [('hello world!', 'hhaxlow werld!'), ('', ''), ('goodbye', 'guhdbay ')])])
++            [('achi acho?', u'ʌtʃɪ ʌtʃʊ?'), ('', ''), ('achi acho', u'ʌtʃɪ ʌtʃʊ ')])])
+ def test_preserve_empty_lines(backend, empty_lines, punctuation, prepend_text, text, expected):
+     language = 'cree' if backend == 'segments' else 'en-us'
+ 
+@@ -278,11 +254,7 @@ def test_preserve_empty_lines(backend, empty_lines, punctuation, prepend_text, t
+         ('segments', False, False, [''], []),
+         ('segments', False, True, [''], []),
+         ('segments', True, False, [''], ['']),
+-        ('segments', True, True, [''], ['']),
+-        ('festival', False, False, [''], []),
+-        ('festival', False, True, [''], []),
+-        ('festival', True, False, [''], ['']),
+-        ('festival', True, True, [''], [''])])
++        ('segments', True, True, [''], [''])])
+ def test_empty_input(backend, empty_lines, punctuation, text, expected):
+     language = 'cree' if backend == 'segments' else 'en-us'
+ 
+diff --git a/test/test_punctuation.py b/test/test_punctuation.py
+index b2206ac..62e31c1 100644
+--- a/test/test_punctuation.py
++++ b/test/test_punctuation.py
+@@ -28,9 +28,6 @@ ESPEAK_150 = (EspeakBackend.version() >= (1, 50))
+ # True if we are using espeak>=1.49.3
+ ESPEAK_143 = (EspeakBackend.version() >= (1, 49, 3))
+ 
+-# True if we are using festival>=2.5
+-FESTIVAL_25 = (FestivalBackend.version() >= (2, 5))
+-
+ 
+ @pytest.mark.parametrize(
+     'inp, out', [
+@@ -179,9 +176,7 @@ def test_issue_54(text):
+         ('espeak', 'default', ['! ?', 'hey!'], ['! ?', 'heɪ!']),
+         ('espeak', '!', ['! ?', 'hey!'], ['! ', 'heɪ!']),
+         ('segments', 'default', ['! ?', 'hey!'], ['! ?', 'heËj!']),
+-        ('segments', '!', ['! ?', 'hey!'], ValueError),
+-        ('festival', 'default', ['! ?', 'hey!'], ['! ?', 'hhey!']),
+-        ('festival', '!', ['! ?', 'hey!'], ['! ', 'hhey!'])])
++        ('segments', '!', ['! ?', 'hey!'], ValueError)])
+ def test_issue55(backend, marks, text, expected):
+     if marks == 'default':
+         marks = Punctuation.default_marks()
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 4f8dc93c671ec..2366d94ed8c91 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.47";
+  version = "8.12.48";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Vv1gXS9UYOHfIRcIW2U7s4MiKV7GWOasqvycl2hn1SI=";
+    sha256 = "sha256-rwaB+/6foHITdq2bcp53Ll0gvyz1DZ3Yyi8L3Xjp8M4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pip-requirements-parser/default.nix b/pkgs/development/python-modules/pip-requirements-parser/default.nix
new file mode 100644
index 0000000000000..0693fbf4fde87
--- /dev/null
+++ b/pkgs/development/python-modules/pip-requirements-parser/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, packaging
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "pip-requirements-parser";
+  version = "31.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-i4hw3tS4i2ek2JzcDiGo5aFFJ9J2JJ9MB5vxDhOilb0=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  dontConfigure = true;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pip_requirements_parser"
+  ];
+
+  meta = with lib; {
+    description = "Module to parse pip requirements";
+    homepage = "https://github.com/nexB/pip-requirements-parser";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index e2f2f565862ff..2b079c8f00e3b 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -8,17 +8,18 @@
 , click
 , setuptools-scm
 , pep517
+, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "6.6.0";
+  version = "6.6.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-mKokAERAocBInXGlZ6Tor98jx3gr/0g9EhmIHnMC3oM=";
+    sha256 = "sha256-Y04+jUcHJXwAQxPRap1sFMHOlNPA+h+Tw40mRAHy5PI=";
   };
 
   checkInputs = [
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     pytest-xdist
   ];
 
+  preCheck = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) ''
+    # https://github.com/python/cpython/issues/74570#issuecomment-1093748531
+    export no_proxy='*';
+  '';
+
   nativeBuildInputs = [
     setuptools-scm
   ];
diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix
index fc593e6a48fb1..105beaccb9b0a 100644
--- a/pkgs/development/python-modules/pkgconfig/default.nix
+++ b/pkgs/development/python-modules/pkgconfig/default.nix
@@ -1,8 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, pkg-config }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pkg-config
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "pkgconfig";
   version = "1.5.5";
+  format = "pyproject";
 
   inherit (pkg-config)
     setupHooks
@@ -10,28 +17,39 @@ buildPythonPackage rec {
     suffixSalt
     targetPrefix
     baseBinName
-  ;
+    ;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899";
+  src = fetchFromGitHub {
+    owner = "matze";
+    repo = "pkgconfig";
+    rev = "v${version}";
+    sha256 = "sha256-uuLUGRNLCR3NS9g6OPCI+qG7tPWsLhI3OE5WmSI3vm8=";
   };
 
-
-  propagatedNativeBuildInputs = [ pkg-config ];
-
-  doCheck = false;
-
   patches = [ ./executable.patch ];
+
   postPatch = ''
-    substituteInPlace pkgconfig/pkgconfig.py --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"'
+    rm pkgconfig/pkgconfig.py.orig
+    substituteInPlace pkgconfig/pkgconfig.py \
+      --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"'
+
+    # those pc files are missing and pkg-config validates that they exist
+    substituteInPlace data/fake-openssl.pc \
+      --replace "Requires: libssl libcrypto" ""
   '';
 
+  nativeBuildInputs = [ poetry-core ];
+
+  propagatedNativeBuildInputs = [ pkg-config ];
+
+  checkInputs = [ pytestCheckHook ];
+
   pythonImportsCheck = [ "pkgconfig" ];
 
   meta = with lib; {
     description = "Interface Python with pkg-config";
     homepage = "https://github.com/matze/pkgconfig";
     license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pkginfo2/default.nix b/pkgs/development/python-modules/pkginfo2/default.nix
new file mode 100644
index 0000000000000..25b9b053748a1
--- /dev/null
+++ b/pkgs/development/python-modules/pkginfo2/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pkginfo2";
+  version = "30.0.0";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nexB";
+    repo = "pkginfo2";
+    rev = "v${version}";
+    hash = "sha256-E9EyaN3ncf/34vvvhRe0rwV28VrjqJo79YFgXq2lKWU=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pkginfo2"
+  ];
+
+  meta = with lib; {
+    description = "Query metadatdata from sdists, bdists or installed packages";
+    homepage = "https://github.com/nexB/pkginfo2";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pkutils/default.nix b/pkgs/development/python-modules/pkutils/default.nix
index 48afe57ef34a7..c4baa649cf94a 100644
--- a/pkgs/development/python-modules/pkutils/default.nix
+++ b/pkgs/development/python-modules/pkutils/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pkutils";
-  version = "2.0.0";
+  version = "3.0.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "reubano";
     repo = "pkutils";
     rev = "v${version}";
-    sha256 = "sha256-jvRUjuxlcfmJOX50bnZR/pP2Axe1KDy9/KGXTL4yPxA=";
+    hash = "sha256-AK+xX+LPz6IVLZedsqMUm7G28ue0s3pXgIzxS4EHHLE=";
   };
 
   propagatedBuildInputs = [
@@ -28,12 +28,6 @@ buildPythonPackage rec {
     nose
   ];
 
-  postPatch = ''
-    # Remove when https://github.com/reubano/pkutils/pull/4 merged
-    substituteInPlace requirements.txt \
-      --replace "semver>=2.2.1,<2.7.3" "semver"
-  '';
-
   checkPhase = ''
     runHook preCheck
     nosetests
diff --git a/pkgs/development/python-modules/plugincode/default.nix b/pkgs/development/python-modules/plugincode/default.nix
index 7270685f41b12..2e54d5604e194 100644
--- a/pkgs/development/python-modules/plugincode/default.nix
+++ b/pkgs/development/python-modules/plugincode/default.nix
@@ -7,14 +7,19 @@
 , pluggy
 , pytestCheckHook
 , pytest-xdist
+, pythonOlder
 }:
+
 buildPythonPackage rec {
   pname = "plugincode";
-  version = "21.1.21";
+  version = "30.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97b5a2c96f0365c80240be103ecd86411c68b11a16f137913cbea9129c54907a";
+    hash = "sha256-QjcQCvhlaBzcbBB8MIhbsx4cRy7XkdvUcmG7rM48Sos=";
   };
 
   dontConfigure = true;
@@ -38,8 +43,13 @@ buildPythonPackage rec {
     "plugincode"
   ];
 
+  disabledTests = [
+    # We don't want black as an input
+    "test_skeleton_codestyle"
+  ];
+
   meta = with lib; {
-    description = "A library that provides plugin functionality for ScanCode toolkit";
+    description = "Library that provides plugin functionality for ScanCode toolkit";
     homepage = "https://github.com/nexB/plugincode";
     license = licenses.asl20;
     maintainers = teams.determinatesystems.members;
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 18d4fec6c1685..7bbfbdb27d3b2 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -13,27 +13,25 @@
 , pytest-asyncio
 , pytestCheckHook
 , python-dateutil
+, pythonOlder
 , pytz
 , semver
 }:
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.17.8";
+  version = "0.18.3";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ZNlkdubB6E5ak+EaXsEBGa1xpm5ms4Rp3DG/M4/+WOg=";
+    sha256 = "sha256-aNlPOgUChLFkPPZtb3o4A49uoSBjxKaq3WtuupHlmi8=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "aiohttp==3.8.0" "aiohttp>=3.8.0"
-  '';
-
   propagatedBuildInputs = [
     aiohttp
     async-timeout
@@ -54,16 +52,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "plugwise" ];
+  pythonImportsCheck = [
+    "plugwise"
+  ];
 
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
     description = "Python module for Plugwise Smiles, Stretch and USB stick";
-    longDescription = ''
-      XKNX is an asynchronous Python library for reading and writing KNX/IP
-      packets. It provides support for KNX/IP routing and tunneling devices.
-    '';
     homepage = "https://github.com/plugwise/python-plugwise";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
index b662452d8a0b4..bdc484fd1bb3c 100644
--- a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
+++ b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "poetry-dynamic-versioning";
-  version = "0.15.0";
+  version = "0.16.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mtkennerly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-RHCP5SakizURg5MwD96Bxs/NvoTdPSCKWVYt5m4meLA=";
+    hash = "sha256-dLtZSm10OYWLRK4eRo83RczW0zBVAUF0HQXLQbeDJCk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index 0ea1be9c21f0f..19f2a352d1ed8 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "22.4.0";
+  version = "22.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-W+l5QIpum1uTsx/mxZGkRoJAZaC1viURVYg4Kvjv32Y=";
+    hash = "sha256-WTIuK5kPPqft4u44dN5NDJJKxIPrZGCJjZ5pR6HgOxw=";
   };
 
   nativeBuildInputs = [
@@ -53,6 +53,7 @@ buildPythonPackage rec {
     "test_find_unreleased_information"
     # CLI test fails
     "test_missing_cmd"
+    "test_update_file_changed"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/praw/default.nix b/pkgs/development/python-modules/praw/default.nix
index ddef2dcc1c1ee..967ff88be92cb 100644
--- a/pkgs/development/python-modules/praw/default.nix
+++ b/pkgs/development/python-modules/praw/default.nix
@@ -15,16 +15,16 @@
 
 buildPythonPackage rec {
   pname = "praw";
-  version = "7.5.0";
+  version = "7.6.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "praw-dev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xcITJ349ek9Y0HvJwzKJ7xDUV74w2v3yTBaj5n8YJ58=";
+    sha256 = "sha256-y2eynMsjF4wZd31YoLdtk8F+ga7Z3R+IQkQK0x0RAGA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/proglog/default.nix b/pkgs/development/python-modules/proglog/default.nix
index 9839ea9dd2338..3b630f719054d 100644
--- a/pkgs/development/python-modules/proglog/default.nix
+++ b/pkgs/development/python-modules/proglog/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "proglog";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13diln950wk6nnn4rpmzx37rvrnpa7f803gwygiwbq1q46zwri6q";
+    sha256 = "sha256-ZYwoycguTK6y8l9Ij/+c6s4i+NabFdDByG1kJ15N2rQ=";
   };
 
   propagatedBuildInputs = [ tqdm ];
diff --git a/pkgs/development/python-modules/proton-client/default.nix b/pkgs/development/python-modules/proton-client/default.nix
index ca68c8cb54cf4..914f12a1546c0 100644
--- a/pkgs/development/python-modules/proton-client/default.nix
+++ b/pkgs/development/python-modules/proton-client/default.nix
@@ -56,5 +56,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/ProtonMail/proton-python-client";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch b/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch
new file mode 100644
index 0000000000000..bb34dff0b5a68
--- /dev/null
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/0001-Patching-GIRepository.patch
@@ -0,0 +1,22 @@
+From 2867f022aad754fe54d95222b3ae52f6e7f14c2f Mon Sep 17 00:00:00 2001
+From: "P. R. d. O" <d.ol.rod@tutanota.com>
+Date: Wed, 27 Apr 2022 21:49:12 -0600
+Subject: [PATCH] Patching GIRepository
+
+---
+ protonvpn_nm_lib/__init__.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/protonvpn_nm_lib/__init__.py b/protonvpn_nm_lib/__init__.py
+index e69de29..00b95f4 100644
+--- a/protonvpn_nm_lib/__init__.py
++++ b/protonvpn_nm_lib/__init__.py
+@@ -0,0 +1,5 @@
++import gi
++gi.require_version('GIRepository', '2.0')
++from gi.repository import GIRepository
++repo = GIRepository.Repository.get_default()
++repo.prepend_search_path('@networkmanager_path@')
+-- 
+2.35.1
+
diff --git a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
index 9f12f220cfe9c..31247cbc1996a 100644
--- a/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
+++ b/pkgs/development/python-modules/protonvpn-nm-lib/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, substituteAll
 , distro
 , jinja2
 , keyring
@@ -9,18 +10,19 @@
 , pygobject3
 , pyxdg
 , systemd
+, networkmanager
 }:
 
 buildPythonPackage rec {
   pname = "protonvpn-nm-lib";
-  version = "3.8.0";
+  version = "3.9.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ProtonVPN";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fAaP9c66LcbZgezadGPUt400YRnrnFoBvpzlc1zxuc4=";
+    sha256 = "sha256-yV3xeIyPc2DJj5DOa5PA1MHt00bjJ/Y9zZK77s/XRAA=";
   };
 
   propagatedBuildInputs = [
@@ -33,7 +35,15 @@ buildPythonPackage rec {
     systemd
   ];
 
-  # Project has a dummy test.
+  patches = [
+    (substituteAll {
+      src = ./0001-Patching-GIRepository.patch;
+      networkmanager_path = "${networkmanager}/lib/girepository-1.0";
+    })
+  ];
+
+  # Checks cannot be run in the sandbox
+  # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
   doCheck = false;
 
   pythonImportsCheck = [ "protonvpn_nm_lib" ];
@@ -43,5 +53,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/ProtonVPN/protonvpn-nm-lib";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ wolfangaukang ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/prox-tv/default.nix b/pkgs/development/python-modules/prox-tv/default.nix
index 1af942b926752..1202d45efa4a6 100644
--- a/pkgs/development/python-modules/prox-tv/default.nix
+++ b/pkgs/development/python-modules/prox-tv/default.nix
@@ -6,6 +6,7 @@
 , fetchFromGitHub
 , nose
 , numpy
+, stdenv
 }:
 
 buildPythonPackage {
@@ -28,6 +29,11 @@ buildPythonPackage {
     cffi
   ];
 
+  # this test is known to fail on darwin
+  checkPhase = ''
+    nosetests --exclude=test_tvp_1d ${lib.optionalString stdenv.isDarwin " --exclude=test_tv2_1d"}
+  '';
+
   propagatedNativeBuildInputs = [ cffi ];
 
   buildInputs = [ blas lapack ];
diff --git a/pkgs/development/python-modules/proxmoxer/default.nix b/pkgs/development/python-modules/proxmoxer/default.nix
index 33b233bd60969..9684fe84ba0fc 100644
--- a/pkgs/development/python-modules/proxmoxer/default.nix
+++ b/pkgs/development/python-modules/proxmoxer/default.nix
@@ -11,14 +11,16 @@
 
 buildPythonPackage rec {
   pname = "proxmoxer";
-  version = "1.3.0";
-  disabled = pythonOlder "3.6";
+  version = "1.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "sha256-3EpId20WVVjXA/wxwy1peyHPcXdiT3fprABkcNBpZtE=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-FY0JLDBoKmh85VoKh3UuPPRbMAIjs3l/fZM4owniH1c=";
   };
 
   propagatedBuildInputs = [
@@ -32,9 +34,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Tests require openssh_wrapper which is outdated and not available
-  pytestFlagsArray = [ "tests/paramiko_tests.py" ];
-  pythonImportsCheck = [ "proxmoxer" ];
+  pytestFlagsArray = [
+    # Tests require openssh_wrapper which is outdated and not available
+    "tests/paramiko_tests.py"
+  ];
+
+  pythonImportsCheck = [
+    "proxmoxer"
+  ];
 
   meta = with lib; {
     description = "Python wrapper for Proxmox API v2";
diff --git a/pkgs/development/python-modules/pure-pcapy3/default.nix b/pkgs/development/python-modules/pure-pcapy3/default.nix
index 636cbaff71cce..56b8da5db2328 100644
--- a/pkgs/development/python-modules/pure-pcapy3/default.nix
+++ b/pkgs/development/python-modules/pure-pcapy3/default.nix
@@ -1,17 +1,28 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pure-pcapy3";
   version = "1.0.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14panfklap6wwi9avw46gvd7wg9mkv9xbixvbvmi1m2adpqlb7mr";
+    hash = "sha256-uZ5F8W1K1BDrXrvH1dOeNT1+2n6G8K1S5NxcRaez6pI=";
   };
 
+  pythonImportsCheck = [
+    "pure_pcapy"
+  ];
+
   meta = with lib; {
-    description = "Pure Python reimplementation of pcapy. This package is API compatible and a drop-in replacement.";
-    homepage = "https://bitbucket.org/viraptor/pure-pcapy";
+    description = "Reimplementation of pcapy";
+    homepage = "https://github.com/rcloran/pure-pcapy-3";
     license = licenses.bsd2;
     maintainers = with maintainers; [ etu ];
   };
diff --git a/pkgs/development/python-modules/puremagic/default.nix b/pkgs/development/python-modules/puremagic/default.nix
index e5d91f38fa2f0..aac505dd8f39a 100644
--- a/pkgs/development/python-modules/puremagic/default.nix
+++ b/pkgs/development/python-modules/puremagic/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "puremagic";
-  version = "1.12";
+  version = "1.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-jAuuwImSExc2KjD6yi6WeMkdXpfOAE3Gp8HGaeBUeDg=";
+    sha256 = "sha256-PV3ybMfsmuu/hCoJEVovqF3FnqZBT6VoVyxEd115bLw=";
   };
 
   # test data not included on pypi
diff --git a/pkgs/development/python-modules/pushbullet/default.nix b/pkgs/development/python-modules/pushbullet/default.nix
index 92338d92531b9..e697683b9b847 100644
--- a/pkgs/development/python-modules/pushbullet/default.nix
+++ b/pkgs/development/python-modules/pushbullet/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 , requests
 , websocket-client
-, python_magic
+, python-magic
 , cryptography
 , pytestCheckHook
 }:
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "917883e1af4a0c979ce46076b391e0243eb8fe0a81c086544bcfa10f53e5ae64";
   };
 
-  propagatedBuildInputs = [ cryptography requests websocket-client python_magic ];
+  propagatedBuildInputs = [ cryptography requests websocket-client python-magic ];
 
   preCheck = ''
     export PUSHBULLET_API_KEY=""
diff --git a/pkgs/development/python-modules/pweave/default.nix b/pkgs/development/python-modules/pweave/default.nix
index b97d51496521c..c9e2ff020f827 100644
--- a/pkgs/development/python-modules/pweave/default.nix
+++ b/pkgs/development/python-modules/pweave/default.nix
@@ -7,6 +7,7 @@
 , nbconvert
 , markdown
 , isPy3k
+, ipykernel
 }:
 
 buildPythonPackage rec {
@@ -21,7 +22,7 @@ buildPythonPackage rec {
   disabled = !isPy3k;
 
   buildInputs = [ mock pkgs.glibcLocales ];
-  propagatedBuildInputs = [ matplotlib nbconvert markdown ];
+  propagatedBuildInputs = [ ipykernel matplotlib nbconvert markdown ];
 
   # fails due to trying to run CSS as test
   doCheck = false;
diff --git a/pkgs/development/python-modules/py-canary/default.nix b/pkgs/development/python-modules/py-canary/default.nix
index 531624781b40f..6685d245833f3 100644
--- a/pkgs/development/python-modules/py-canary/default.nix
+++ b/pkgs/development/python-modules/py-canary/default.nix
@@ -10,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "py-canary";
-  version = "0.5.1";
+  version = "0.5.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "snjoetw";
     repo = pname;
-    rev = version;
-    sha256 = "0j743cc0wv7im3anx1vvdm79zyvw67swhc3zwwc1r8626dgnmxjr";
+    rev = "refs/tags/${version}";
+    hash = "sha256-PE31J82Uc6mErnh7nQ1pkIjnMbuCnlYEX2R0azknMHQ=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +32,9 @@ buildPythonPackage rec {
     requests-mock
   ];
 
-  pythonImportsCheck = [ "canary" ];
+  pythonImportsCheck = [
+    "canary"
+  ];
 
   meta = with lib; {
     description = "Python package for Canary Security Camera";
diff --git a/pkgs/development/python-modules/py-deprecate/default.nix b/pkgs/development/python-modules/py-deprecate/default.nix
new file mode 100644
index 0000000000000..ff921789bbfd5
--- /dev/null
+++ b/pkgs/development/python-modules/py-deprecate/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, scikit-learn
+, pytorch
+}:
+
+let
+  pname = "py-deprecate";
+  version = "0.3.2";
+in
+buildPythonPackage {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "Borda";
+    repo = "pyDeprecate";
+    rev = "v${version}";
+    hash = "sha256-84RmQvLxwtLPQk3hX7Q6eeJeejhrO3t+mc95W1E85Fg=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+    scikit-learn
+  ];
+
+  pythonImportsCheck = [ "deprecate" ];
+
+  meta = with lib; {
+    description = "A module for marking deprecated functions or classes and re-routing to the new successors' instance. Used by torchmetrics";
+    homepage = "https://borda.github.io/pyDeprecate/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [
+      SomeoneSerge
+    ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/py-desmume/default.nix b/pkgs/development/python-modules/py-desmume/default.nix
index e9cff7eb8243a..0c700151f694e 100644
--- a/pkgs/development/python-modules/py-desmume/default.nix
+++ b/pkgs/development/python-modules/py-desmume/default.nix
@@ -3,29 +3,18 @@
 , alsa-lib, soundtouch, openal
 }:
 
-let
-  desmume = fetchFromGitHub {
-    owner = "SkyTemple";
-    repo = "desmume";
-    rev = "8e7af8ada883b7e91344985236f7c7c04ee795d7";
-    sha256 = "0svmv2rch9q347gbpbws4agymas8n014gh1ssaf91wx7jwn53842";
-  };
-in
 buildPythonPackage rec {
   pname = "py-desmume";
-  version = "0.0.3.post2";
+  version = "0.0.4.post2";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "1chsg70k8kqnlasn88b04ww3yl0lay1bjxvz6lhp6s2cvsxv03x1";
+    sha256 = "sha256-a819+K/Ovnz53ViDKpUGGjeblWvrAO5ozt/tizdLKCY=";
+    fetchSubmodules = true;
   };
 
-  postPatch = ''
-    cp -R --no-preserve=mode ${desmume} __build_desmume
-  '';
-
   buildInputs = [ GitPython libpcap SDL2 alsa-lib soundtouch openal ];
   nativeBuildInputs = [ meson ninja pkg-config ];
   propagatedBuildInputs = [ pillow pygobject3 ];
diff --git a/pkgs/development/python-modules/py-nextbusnext/default.nix b/pkgs/development/python-modules/py-nextbusnext/default.nix
new file mode 100644
index 0000000000000..3b6d24d6168d5
--- /dev/null
+++ b/pkgs/development/python-modules/py-nextbusnext/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "py-nextbusnext";
+  version = "0.1.5";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "ViViDboarder";
+    repo = "py_nextbus";
+    rev = "v${version}";
+    hash = "sha256-uUHA8v5iTISmPaTgk0RvcLLRM34f3JXUjZClKGXdMoI=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "py_nextbus" ];
+
+  meta = {
+    description = "Minimalistic Python client for the NextBus public API";
+    homepage = "https://github.com/ViViDboarder/py_nextbus";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
index ef056d296b2e0..60a8ee7f17f94 100644
--- a/pkgs/development/python-modules/py3exiv2/default.nix
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -1,24 +1,46 @@
-{ lib, buildPythonPackage, isPy3k, fetchPypi, stdenv, exiv2, boost, libcxx }:
+{ lib
+, stdenv
+, boost
+, buildPythonPackage
+, exiv2
+, fetchPypi
+, libcxx
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "py3exiv2";
-  version = "0.9.3";
-  disabled = !(isPy3k);
+  version = "0.11.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "838836e58ca22557d83d1f0ef918bcce899b4c2666340b924b940dcdebf1d18c";
+    hash = "sha256-ZgDaa4lxmdTaZhkblgRfPMxfVwENp2s6xdKSuD/MqEQ=";
   };
 
-  buildInputs = [ exiv2 boost ];
+  buildInputs = [
+    boost
+    exiv2
+  ];
+
+  # Work around Python distutils compiling C++ with $CC (see issue #26709)
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin [
+    "-I${lib.getDev libcxx}/include/c++/v1"
+  ];
+
+  pythonImportsCheck = [
+    "pyexiv2"
+  ];
 
-  # work around python distutils compiling C++ with $CC (see issue #26709)
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
+  # Tests are not shipped
+  doCheck = false;
 
   meta = with lib; {
+    description = "Python binding to the library exiv2";
     homepage = "https://launchpad.net/py3exiv2";
-    description = "A Python3 binding to the library exiv2";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ vinymeuh ];
     platforms = with platforms; linux ++ darwin;
   };
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index 36f25fce9d14a..13678edc8656a 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "4.5.0";
+  version = "4.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Jonbb26MbK/LKztFkB7IlaHQm98DPYn4lYK4ikDPpaE=";
+    hash = "sha256-ClzdkvH1uz1qh/q3prfn8n0eosY3y3mUscbb4EKbmJQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyahocorasick/default.nix b/pkgs/development/python-modules/pyahocorasick/default.nix
index 56e5636622b81..fd2c6de2c25c7 100644
--- a/pkgs/development/python-modules/pyahocorasick/default.nix
+++ b/pkgs/development/python-modules/pyahocorasick/default.nix
@@ -3,31 +3,30 @@
 , fetchFromGitHub
 , fetchpatch
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyahocorasick";
-  version = "1.4.1";
+  version = "2.0.0b1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "WojciechMula";
     repo = pname;
     rev = version;
-    sha256 = "13x3718if28l50474xrz1b9709kvnvdg3nzm6y8bh7mc9a4zyss5";
+    hash = "sha256-APpL99kOwzIQjePvRDeJ0FDm1kjBi6083JMKuBqtaRk=";
   };
 
-  patches = [
-    # Use proper temporary directory on Hydra
-    (fetchpatch {
-      url = "https://github.com/WojciechMula/pyahocorasick/commit/b6549e06f3cced7ffdf4d1b587cd7de12041f495.patch";
-      sha256 = "sha256-v3J/0aIPOnBhLlJ18r/l7O0MckqLOCtcmqIS9ZegaSI=";
-    })
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  checkInputs = [ pytestCheckHook ];
-
-  pytestFlagsArray = [ "unittests.py" ];
-  pythonImportsCheck = [ "ahocorasick" ];
+  pythonImportsCheck = [
+    "ahocorasick"
+  ];
 
   meta = with lib; {
     description = "Python module implementing Aho-Corasick algorithm";
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index cfe63a34d85aa..141d90a5a971f 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -47,8 +47,10 @@ buildPythonPackage rec {
 
   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_WITH_PARQUET = zero_or_one true;
+  PYARROW_WITH_PLASMA = zero_or_one (!stdenv.isDarwin);
+  PYARROW_WITH_S3 = zero_or_one _arrow-cpp.enableS3;
 
   PYARROW_CMAKE_OPTIONS = [
     "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
@@ -73,6 +75,11 @@ buildPythonPackage rec {
     # enabled in nixpkgs.
     # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
     "--deselect=pyarrow/tests/test_memory.py::test_env_var"
+    # these tests require access to s3 via the internet
+    "--deselect=pyarrow/tests/test_fs.py::test_resolve_s3_region"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_real_aws_region_selection"
+    "--deselect=pyarrow/tests/test_fs.py::test_s3_options"
   ] ++ lib.optionals stdenv.isDarwin [
     # Requires loopback networking
     "--deselect=pyarrow/tests/test_ipc.py::test_socket_"
@@ -84,16 +91,17 @@ buildPythonPackage rec {
     rm -r pyarrow/!(tests)
   '';
 
-  pythonImportsCheck = map (module: "pyarrow.${module}") [
+  pythonImportsCheck = [ "pyarrow" ] ++ map (module: "pyarrow.${module}") ([
     "compute"
     "csv"
     "dataset"
+    "feather"
     "flight"
     "fs"
     "hdfs"
     "json"
     "parquet"
-  ];
+  ] ++ lib.optionals (!stdenv.isDarwin) [ "plasma" ]);
 
   meta = with lib; {
     description = "A cross-language development platform for in-memory data";
diff --git a/pkgs/development/python-modules/pyautogui/default.nix b/pkgs/development/python-modules/pyautogui/default.nix
index 08ab81ba93d35..a7b35bc5710eb 100644
--- a/pkgs/development/python-modules/pyautogui/default.nix
+++ b/pkgs/development/python-modules/pyautogui/default.nix
@@ -1,14 +1,10 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, python3Packages
-, pkgs
-, fetchzip
 , mouseinfo
 , pygetwindow
 , pymsgbox
 , pyperclip
-, pyrect
 , pyscreeze
 , pytweening
 , tkinter
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index 32462707cb6ed..f547b2d160fd7 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "11.0.0";
+  version = "12.1.2";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "sha256-FRcjsXgRAFK2c7h2WhIMhdFurowi11V13O6+K+HrHvY=";
+    sha256 = "sha256-a+Ym5bovb/rvvBPdzthOi2Cp7xsBL3EDn8D3oLy0vaY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
index 6e7f71cee3061..f6a2b715ad916 100644
--- a/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
+++ b/pkgs/development/python-modules/pycryptodome-test-vectors/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "pycryptodome-test-vectors";
-  version = "1.0.7";
+  version = "1.0.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GfzFM3S4yk0V2zTaQ+rkljyHdvC0ETUNSccZImqoLIU=";
+    hash = "sha256-3BTh7as4CikvVfUx2xBZlUOaq/dAQNNFHpuRxWg/5N0=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/pycurl/default.nix b/pkgs/development/python-modules/pycurl/default.nix
index e7f3b87ad0c3c..4b0e215f22c1a 100644
--- a/pkgs/development/python-modules/pycurl/default.nix
+++ b/pkgs/development/python-modules/pycurl/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , isPyPy
 , fetchPypi
+, fetchpatch
 , pythonOlder
 , curl
 , openssl
@@ -20,6 +21,16 @@ buildPythonPackage rec {
     sha256 = "sha256-qGOtGP9Hj1VFkkBXiHza5CLhsnRuQWdGFfaHSY6luIo=";
   };
 
+  patches = [
+    # Pull upstream patch for curl-3.83:
+    #  https://github.com/pycurl/pycurl/pull/753
+    (fetchpatch {
+      name = "curl-3.83.patch";
+      url = "https://github.com/pycurl/pycurl/commit/d47c68b1364f8a1a45ab8c584c291d44b762f7b1.patch";
+      sha256 = "sha256-/lGq7O7ZyytzBAxWJPigcWdvypM7OHLBcp9ItmX7z1g=";
+    })
+  ];
+
   preConfigure = ''
     substituteInPlace setup.py --replace '--static-libs' '--libs'
     export PYCURL_SSL_LIBRARY=openssl
diff --git a/pkgs/development/python-modules/pydeck/default.nix b/pkgs/development/python-modules/pydeck/default.nix
index 6626ee19d9200..9ca7638538a59 100644
--- a/pkgs/development/python-modules/pydeck/default.nix
+++ b/pkgs/development/python-modules/pydeck/default.nix
@@ -1,11 +1,33 @@
-{ lib, buildPythonPackage, fetchPypi, ipykernel, ipywidgets, pythonOlder, pytestCheckHook, pandas }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, ipykernel
+, ipywidgets
+, pythonOlder
+, pytestCheckHook
+, pandas
+, jinja2
+, numpy
+, traitlets
+}:
 
 buildPythonPackage rec {
   pname = "pydeck";
   version = "0.7.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
+  patches = [
+    # fixes build with latest setuptools
+    (fetchpatch {
+      url = "https://github.com/visgl/deck.gl/commit/9e68f73b28aa3bf0f2a887a4d8ccd2dc35677039.patch";
+      sha256 = "sha256-YVVoVbVdY5nV+17OwYIs9AwKGyzgKZHi655f4BLcdMU=";
+      stripLen = 2;
+    })
+  ];
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "907601c99f7510e16d27d7cb62bfa145216d166a2b5c9c50cfe2b65b032ebd2e";
@@ -14,12 +36,16 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "pydeck" ];
 
   checkInputs = [ pytestCheckHook pandas ];
+
   # tries to start a jupyter server
   disabledTests = [ "test_nbconvert" ];
 
   propagatedBuildInputs = [
     ipykernel
     ipywidgets
+    jinja2
+    numpy
+    traitlets
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index 8d37521f3266c..965b4ecf62026 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , aioresponses
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-aiohttp
@@ -10,20 +11,21 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "87";
+  version = "92";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Kane610";
     repo = "deconz";
-    rev = "v${version}";
-    sha256 = "sha256-scNTHbUL8TOhkUJyib4cgL8A4gZ73asmFLi8aGw3sX8=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-qA7AgiiRBq1ekBcQDC8LlLnZLthA0QFZpxNUZdrMMIA=";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    async-timeout
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pydeps/default.nix b/pkgs/development/python-modules/pydeps/default.nix
index 9cfd0fe3c9cf7..cc2b726a64a93 100644
--- a/pkgs/development/python-modules/pydeps/default.nix
+++ b/pkgs/development/python-modules/pydeps/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pydeps";
-  version = "1.10.17";
+  version = "1.10.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "thebjorn";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-V0LgHFvGvJqDHmyXJNb0sJjRuqGGDZpV467XDmdFg5k=";
+    hash = "sha256-AKpaGXUaKCVk1C8GqtWayZEU2xbz3eqbUenjZCtsAUY=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pydicom/default.nix b/pkgs/development/python-modules/pydicom/default.nix
index 5c7d5ab92ab47..9310d0cf5553c 100644
--- a/pkgs/development/python-modules/pydicom/default.nix
+++ b/pkgs/development/python-modules/pydicom/default.nix
@@ -11,22 +11,22 @@
 
 let
   pname = "pydicom";
-  version = "2.2.2";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
-    owner = "${pname}";
-    repo = "${pname}";
+    owner = "pydicom";
+    repo = "pydicom";
     rev = "v${version}";
-    sha256 = "sha256-p5hJAUsactv6UEvbVaF+zk4iapx98eYkC9Zo+lzFATA=";
+    hash = "sha256-CAQWaBkzecJ1VXQ5BnAUjmBMjh0I8y+gT7I4P4o2gqI=";
   };
 
   # Pydicom needs pydicom-data to run some tests. If these files aren't downloaded
   # before the package creation, it'll try to download during the checkPhase.
   test_data = fetchFromGitHub {
-    owner = "${pname}";
-    repo = "${pname}-data";
+    owner = "pydicom";
+    repo = "pydicom-data";
     rev = "bbb723879690bb77e077a6d57657930998e92bd5";
-    sha256 = "sha256-dCI1temvpNWiWJYVfQZKy/YJ4ad5B0e9hEKHJnEeqzk=";
+    hash = "sha256-dCI1temvpNWiWJYVfQZKy/YJ4ad5B0e9hEKHJnEeqzk=";
   };
 
 in
@@ -34,6 +34,8 @@ buildPythonPackage {
   inherit pname version src;
   disabled = pythonOlder "3.6";
 
+  format = "setuptools";
+
   propagatedBuildInputs = [
     numpy
     pillow
@@ -53,8 +55,8 @@ buildPythonPackage {
     ln -s ${test_data}/data_store/data $HOME/.pydicom/data
   '';
 
-  # This test try to remove a dicom inside $HOME/.pydicom/data/ and download it again.
   disabledTests = [
+    # tries to remove a dicom inside $HOME/.pydicom/data/ and download it again
     "test_fetch_data_files"
   ] ++ lib.optionals stdenv.isAarch64 [
     # https://github.com/pydicom/pydicom/issues/1386
diff --git a/pkgs/development/python-modules/pydyf/default.nix b/pkgs/development/python-modules/pydyf/default.nix
index 346a6f6e39b59..4cf44e3c67eb6 100644
--- a/pkgs/development/python-modules/pydyf/default.nix
+++ b/pkgs/development/python-modules/pydyf/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , isPy3k
 , pytestCheckHook
@@ -19,6 +20,15 @@ buildPythonPackage rec {
     sha256 = "sha256-Hi9d5IF09QXeAlp9HnzwG73ZQiyoq5RReCvwDuF4YCw=";
   };
 
+  patches = [
+    # Fix tests for Ghostscript 9.56
+    # Remove after v0.1.3 has been released
+    (fetchpatch {
+      url = "https://github.com/CourtBouillon/pydyf/commit/d4c34823f1d15368753c9c26f7acc7a24fc2d979.patch";
+      sha256 = "sha256-2hHZW/q5CbStbpSJYbm3b23qKXANEb5jbPGQ83uHC+Q=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "--isort --flake8 --cov --no-cov-on-fail" ""
diff --git a/pkgs/development/python-modules/pyeapi/default.nix b/pkgs/development/python-modules/pyeapi/default.nix
index a31123492d423..aa9e0983b7e36 100644
--- a/pkgs/development/python-modules/pyeapi/default.nix
+++ b/pkgs/development/python-modules/pyeapi/default.nix
@@ -1,10 +1,11 @@
 { lib
 , buildPythonPackage
-, pythonAtLeast
 , fetchFromGitHub
+, fetchpatch
+, mock
 , netaddr
 , pytestCheckHook
-, mock
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -12,8 +13,7 @@ buildPythonPackage rec {
   version = "0.8.4";
   format = "pyproject";
 
-  # https://github.com/arista-eosplus/pyeapi/issues/189
-  disabled = pythonAtLeast "3.10";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "arista-eosplus";
@@ -22,21 +22,49 @@ buildPythonPackage rec {
     sha256 = "13chya6wix5jb82k67gr44bjx35gcdwz80nsvpv0gvzs6shn4d7b";
   };
 
-  propagatedBuildInputs = [ netaddr ];
+  propagatedBuildInputs = [
+    netaddr
+  ];
 
   checkInputs = [
     mock
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "test/unit" ];
+  patches = [
+    # Fix usage of collection, https://github.com/arista-eosplus/pyeapi/pull/223
+    (fetchpatch {
+      name = "fix-collection-usage.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/81754f57eb095703cc474f527a0915360af76f68.patch";
+      sha256 = "sha256-ZNBTPRNmXCFVJeRAJxzIHmCOXZiGwU6t4ekSupU3BX8=";
+    })
+    (fetchpatch {
+      name = "fix-collection-usage-2.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/cc9c584e4a3167e3c1624cccb6bc0d9c9bcdbc1c.patch";
+      sha256 = "sha256-EY0i1Skm1llEQAAzvrb2yelhhLBkqKAFJB5ObAIxAYo=";
+      excludes = [
+        ".github/workflows/ci.yml"
+      ];
+    })
+    (fetchpatch {
+      name = "fix-collection-usage-3.patch";
+      url = "https://github.com/arista-eosplus/pyeapi/commit/dc35ab076687ea71665ae9524480b05a4e893909.patch";
+      sha256 = "sha256-xPaYULCPTxiQGB9Im/qLet+XebW9wq+TAfrxcgQxcoE=";
+    })
+  ];
 
-  pythonImportsCheck = [ "pyeapi" ];
+  pytestFlagsArray = [
+    "test/unit"
+  ];
+
+  pythonImportsCheck = [
+    "pyeapi"
+  ];
 
   meta = with lib; {
     description = "Client for Arista eAPI";
     homepage = "https://github.com/arista-eosplus/pyeapi";
     license = licenses.bsd3;
-    maintainers = [ maintainers.astro ];
+    maintainers = with maintainers; [ astro ];
   };
 }
diff --git a/pkgs/development/python-modules/pyevilgenius/default.nix b/pkgs/development/python-modules/pyevilgenius/default.nix
index 28bb1a2c4c0a2..b59f2ad4fe9eb 100644
--- a/pkgs/development/python-modules/pyevilgenius/default.nix
+++ b/pkgs/development/python-modules/pyevilgenius/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyevilgenius";
-  version = "1.0.0";
+  version = "2.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "06xnl93sqklg7gx0z50vm79xwww0yyw05c1yynajc9aijfi8cmi3";
+    sha256 = "sha256-wjC32oq/lW3Z4XB+4SILRKIOuCgBKk1gruOo4uc/4/o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index db436983f3afc..029061b801082 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -18,13 +18,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.23";
+  version = "1.5.24";
   pname = "pyglet";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3ukgIDzzBhWcUDurti84eHJocIl39clF0oM3WUt5fEY=";
+    sha256 = "sha256-W0pNXlrVSUbjFJLqxn9ykuUaZXckRkGidxgPkKAZKo4=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/pygtfs/default.nix b/pkgs/development/python-modules/pygtfs/default.nix
index 735990c094489..6bd6fedb64a43 100644
--- a/pkgs/development/python-modules/pygtfs/default.nix
+++ b/pkgs/development/python-modules/pygtfs/default.nix
@@ -4,6 +4,7 @@
 , fetchPypi
 , nose
 , pytz
+, pythonOlder
 , setuptools-scm
 , six
 , sqlalchemy
@@ -11,11 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pygtfs";
-  version = "0.1.6";
+  version = "0.1.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nx2idgza07kmvj7pcgpj3pqhw53v5rq63paw2ly51cjas2fv5pr";
+    hash = "sha256-sGJwtf8DVIrE4hcU3IksnyAAt8yf67UBJIiVILDSsv8=";
   };
 
   nativeBuildInputs = [
@@ -33,7 +37,9 @@ buildPythonPackage rec {
     nose
   ];
 
-  pythonImportsCheck = [ "pygtfs" ];
+  pythonImportsCheck = [
+    "pygtfs"
+  ];
 
   meta = with lib; {
     description = "Python module for GTFS";
diff --git a/pkgs/development/python-modules/pyicu/default.nix b/pkgs/development/python-modules/pyicu/default.nix
index 02226feff2ced..255231f8a4969 100644
--- a/pkgs/development/python-modules/pyicu/default.nix
+++ b/pkgs/development/python-modules/pyicu/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "PyICU";
-  version = "2.8.1";
+  version = "2.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8LlUmof4e6fEE/E2edE3Jx4LN/HzmwEJrOOCV9TRSNY=";
+    sha256 = "sha256-PCnWzmVUYVcReho0ejA+zfzxp1ke1nn8iM3vQQiEWHg=";
   };
 
   nativeBuildInputs = [ icu ]; # for icu-config, but should be replaced with pkg-config
diff --git a/pkgs/development/python-modules/pyinfra/default.nix b/pkgs/development/python-modules/pyinfra/default.nix
index 130486a55f171..41e3c95a0410f 100644
--- a/pkgs/development/python-modules/pyinfra/default.nix
+++ b/pkgs/development/python-modules/pyinfra/default.nix
@@ -1,30 +1,33 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, pythonOlder
-, gevent
 , click
 , colorama
 , configparser
 , distro
+, fetchFromGitHub
+, gevent
 , jinja2
 , paramiko
+, pytestCheckHook
 , python-dateutil
+, pythonOlder
 , pywinrm
+, pyyaml
 , setuptools
-, six
 }:
 
 buildPythonPackage rec {
   pname = "pyinfra";
-  version = "2.0.1";
+  version = "2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-157NtpA85FS27Ln1Xsvq5/qumSsr0WSDOhG0UwMUnRE=";
+  src = fetchFromGitHub {
+    owner = "Fizzadar";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-frjPxSATvXgeACT4kThoiPu04Ez8bs8FIPdf5PVuiSg=";
   };
 
   propagatedBuildInputs = [
@@ -37,16 +40,23 @@ buildPythonPackage rec {
     paramiko
     python-dateutil
     pywinrm
+    pyyaml
     setuptools
-    six
   ];
 
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "pyinfra"
   ];
 
+  disabledTests = [
+    # Test requires SSH binary
+    "test_load_ssh_config"
+  ];
+
   meta = with lib; {
     description = "Python-based infrastructure automation";
     longDescription = ''
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index 0dc1c5be49c25..ed28f1c75226b 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.0.16";
+  version = "1.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,8 +24,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    hash = "sha256-V0niLQAplN/uZ0YeN6g8uax3U/d0LUT4aXxe3ENXIHc=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-YoDCvYpbw06MXx371SNarrtQ0t4xlhwm1CBbl524P7c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pykeepass/default.nix b/pkgs/development/python-modules/pykeepass/default.nix
index cb893c98ac928..27470b66a6244 100644
--- a/pkgs/development/python-modules/pykeepass/default.nix
+++ b/pkgs/development/python-modules/pykeepass/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchFromGitHub, buildPythonPackage
 , lxml, pycryptodomex, construct
-, argon2_cffi, python-dateutil, future
+, argon2-cffi, python-dateutil, future
 , python
 }:
 
@@ -21,10 +21,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     lxml pycryptodomex construct
-    argon2_cffi python-dateutil future
+    argon2-cffi python-dateutil future
   ];
 
-  propagatedNativeBuildInputs = [ argon2_cffi ];
+  propagatedNativeBuildInputs = [ argon2-cffi ];
 
   checkPhase = ''
     ${python.interpreter} -m unittest tests.tests
diff --git a/pkgs/development/python-modules/pykulersky/default.nix b/pkgs/development/python-modules/pykulersky/default.nix
index 520f1fea2698b..83a5b58c7f1cb 100644
--- a/pkgs/development/python-modules/pykulersky/default.nix
+++ b/pkgs/development/python-modules/pykulersky/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pykulersky";
-  version = "0.5.3";
+  version = "0.5.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "sha256-l3obfs5zo5DqArsDml8EZ+/uzab35Jjsuzw6U1XFJ3k=";
+    sha256 = "sha256-voD4tR+k5TKGjLXFK94GJy4+wUoP2cSFc5BWkCiinOg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index 61d49bd3ba0db..ca26f11ccb3b5 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -1,24 +1,25 @@
 { lib
 , buildPythonPackage
-, coverage
 , django
 , factory_boy
 , fetchFromGitHub
-, isPy3k
 , pylint-plugin-utils
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pylint-django";
-  version = "2.5.2";
-  disabled = !isPy3k;
+  version = "2.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VgGdV1T154LauclGo6jpLPUrYn5vTOWwvO4IXQ9se7c=";
+    hash = "sha256-5xEXjNMkOetRM9NDz0S4DsC6v39YQi34s2s+Fs56hYU=";
   };
 
   propagatedBuildInputs = [
@@ -27,7 +28,6 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    coverage
     factory_boy
     pytestCheckHook
   ];
@@ -38,6 +38,7 @@ buildPythonPackage rec {
     "external_factory_boy_noerror"
     "func_noerror_foreign_key_attributes"
     "func_noerror_foreign_key_key_cls_unbound"
+    "test_everything"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pylint-plugin-utils/default.nix b/pkgs/development/python-modules/pylint-plugin-utils/default.nix
index f2bbef2cc8c14..46c12f0d0d07c 100644
--- a/pkgs/development/python-modules/pylint-plugin-utils/default.nix
+++ b/pkgs/development/python-modules/pylint-plugin-utils/default.nix
@@ -1,39 +1,46 @@
-{ buildPythonPackage
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
-, isPy3k
-, lib
-
-# pythonPackages
 , pylint
+, pytestCheckHook
+, pythonOlder
 , toml
 }:
 
 buildPythonPackage rec {
   pname = "pylint-plugin-utils";
-  version = "0.6";
-  disabled = !isPy3k;
+  version = "0.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "1zapmbczxs1phrwbd0yvpfxhljd2pyv4pi9rwggaq38lcnc325s7";
+    hash = "sha256-uDsSSUWdlzuQz6umoYLbIotOYNEnLQu041ZZVMRd2ww=";
   };
 
   propagatedBuildInputs = [
-    pylint toml
+    pylint
+    toml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pylint_plugin_utils"
   ];
 
-  checkPhase = ''
-    python tests.py
-  '';
+  # https://github.com/PyCQA/pylint-plugin-utils/issues/26
+  doCheck = false;
 
   meta = with lib; {
     description = "Utilities and helpers for writing Pylint plugins";
     homepage = "https://github.com/PyCQA/pylint-plugin-utils";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index dda915bb7ef33..263632e86546c 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -87,7 +87,16 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://pylint.pycqa.org/";
     description = "A bug and style checker for Python";
+    longDescription = ''
+      Pylint is a Python static code analysis tool which looks for programming errors,
+      helps enforcing a coding standard, sniffs for code smells and offers simple
+      refactoring suggestions.
+      Pylint is shipped with following additional commands:
+      - pyreverse: an UML diagram generator
+      - symilar: an independent similarities checker
+      - epylint: Emacs and Flymake compatible Pylint
+    '';
     license = licenses.gpl1Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ totoroot ];
   };
 }
diff --git a/pkgs/development/python-modules/pylsp-mypy/default.nix b/pkgs/development/python-modules/pylsp-mypy/default.nix
index a4725c4781c6b..c855127079773 100644
--- a/pkgs/development/python-modules/pylsp-mypy/default.nix
+++ b/pkgs/development/python-modules/pylsp-mypy/default.nix
@@ -22,6 +22,7 @@ buildPythonPackage rec {
 
   disabledTests = [
     "test_multiple_workspaces"
+    "test_option_overrides_dmypy"
   ];
 
   checkInputs = [ pytestCheckHook mock ];
diff --git a/pkgs/development/python-modules/pymbolic/default.nix b/pkgs/development/python-modules/pymbolic/default.nix
index 4faf04d289ee8..9d6d799fc32e4 100644
--- a/pkgs/development/python-modules/pymbolic/default.nix
+++ b/pkgs/development/python-modules/pymbolic/default.nix
@@ -1,43 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, matchpy
 , pytools
-, pytest
-, six
-, sympy
-, pexpect
-, symengine
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pymbolic";
-  version = "2021.1";
+  version = "2022.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67d08ef95568408901e59f79591ba41fd3f2caaecb42b7497c38fc82fd60358c";
+    sha256 = "sha256-tS9FHdC5gD4D3jMgrzt85XIwcAYcbSMcACFvbaQlkBI=";
   };
 
-  postConfigure = ''
-    substituteInPlace setup.py \
-      --replace "\"pytest>=2.3\"," ""
-  '';
-
-  checkInputs = [ sympy pexpect symengine pytest ];
   propagatedBuildInputs = [
     pytools
-    six
   ];
 
-  # too many tests fail
-  doCheck = false;
-  checkPhase = ''
-    pytest test
-  '';
+  checkInputs = [
+    matchpy
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "A package for symbolic computation";
-    homepage = "https://mathema.tician.de/software/pymbolic";
+    homepage = "https://documen.tician.de/pymbolic/";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/pymyq/default.nix b/pkgs/development/python-modules/pymyq/default.nix
index 5f151aa46e23e..94ff699507e1b 100644
--- a/pkgs/development/python-modules/pymyq/default.nix
+++ b/pkgs/development/python-modules/pymyq/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pymyq";
-  version = "3.1.4";
+  version = "3.1.5";
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "arraylabs";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-B8CnyM0nQr8HWnD5toMd8A57j/UtnQ2aWys0netOAtA=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-/2eWB4rtHPptfc8Tm0CGk0UB+Hq1EmNhWmdrpPiUJcw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynest2d/default.nix b/pkgs/development/python-modules/pynest2d/default.nix
index 9be7072a89fb3..dd290ad5782a3 100644
--- a/pkgs/development/python-modules/pynest2d/default.nix
+++ b/pkgs/development/python-modules/pynest2d/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python3, cmake
+{ lib, buildPythonPackage, fetchFromGitHub, python, cmake
 , libnest2d, sip_4, clipper }:
 
 buildPythonPackage rec {
@@ -19,7 +19,7 @@ buildPythonPackage rec {
   CLIPPER_PATH = "${clipper.out}";
 
   postPatch = ''
-     sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python3.sitePackages}#' cmake/SIPMacros.cmake
+     sed -i 's#''${Python3_SITEARCH}#${placeholder "out"}/${python.sitePackages}#' cmake/SIPMacros.cmake
    '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix
index 1eabc9daaee79..454c684076b5e 100644
--- a/pkgs/development/python-modules/pynetgear/default.nix
+++ b/pkgs/development/python-modules/pynetgear/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynetgear";
-  version = "0.9.4";
+  version = "0.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MatMaul";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-/oxwUukYq/a0WeO/XhkMW3Jj7I1icZZUDwh1mdbGi08=";
+    sha256 = "sha256-l+hfE1YdSoMWLonSWKX0809M0OCYxpcvPd4gV9mS4DI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynws/default.nix b/pkgs/development/python-modules/pynws/default.nix
index df258cad930b8..eb19d273459bb 100644
--- a/pkgs/development/python-modules/pynws/default.nix
+++ b/pkgs/development/python-modules/pynws/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "pynws";
-  version = "1.3.2";
+  version = "1.4.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "MatthewFlamm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d2x3vlm444aar4wbdg48xzpgwng5m7i2d7h1z0pb6c514747sd1";
+    sha256 = "sha256-hAUD92wlQZ0BZ++e/KdIOgTzavmUkrH3esDhI3mbl5Y=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyomo/default.nix b/pkgs/development/python-modules/pyomo/default.nix
index 105f78b5824ff..3a9a80d57812d 100644
--- a/pkgs/development/python-modules/pyomo/default.nix
+++ b/pkgs/development/python-modules/pyomo/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyomo";
-  version = "6.4.0";
+  version = "6.4.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     repo = "pyomo";
     owner = "pyomo";
-    rev = version;
-    hash = "sha256-FdUhne5Dn5hTIXMce1G6Zu6nx+AuP/JdK0a5fCE3hg8=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-LwlUib/CeVCCmgpTHtYHcFyxk9Esx1zhZ3yGHeGpugY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index d629d97637fa7..1b847100a955a 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -74,5 +74,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/pyca/pyopenssl";
     license = licenses.asl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
+    # https://github.com/pyca/pyopenssl/issues/873
+    broken = stdenv.isDarwin && stdenv.isAarch64;
   };
 }
diff --git a/pkgs/development/python-modules/pypiserver/default.nix b/pkgs/development/python-modules/pypiserver/default.nix
index d1c6fee942cea..ae7a98cfbe8a0 100644
--- a/pkgs/development/python-modules/pypiserver/default.nix
+++ b/pkgs/development/python-modules/pypiserver/default.nix
@@ -1,15 +1,23 @@
-{ buildPythonPackage, fetchFromGitHub, lib, passlib, pytestCheckHook, setuptools
-, setuptools-git, twine, webtest }:
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, passlib
+, pytestCheckHook
+, setuptools
+, setuptools-git
+, twine
+, webtest
+}:
 
 buildPythonPackage rec {
   pname = "pypiserver";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1z5rsmqgin98m6ihy1ww42fxxr6jb4hzldn8vlc9ssv7sawdz8vz";
+    sha256 = "sha256-BK5vQsaWIMOnUqyeofAWJC1nQJPsTvmzl9i2893JCDI=";
   };
 
   nativeBuildInputs = [ setuptools-git ];
@@ -20,13 +28,23 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  checkInputs = [ passlib pytestCheckHook twine webtest ];
+  checkInputs = [
+    passlib
+    pytestCheckHook
+    twine
+    webtest
+  ];
 
-  # These tests try to use the network
   disabledTests = [
-    "test_pipInstall_openOk"
-    "test_pipInstall_authedOk"
+    # fails to install the package
     "test_hash_algos"
+    "test_pip_install_authed_succeeds"
+    "test_pip_install_open_succeeds"
+  ];
+
+  disabledTestPaths = [
+    # requires docker service running
+    "docker/test_docker.py"
   ];
 
   pythonImportsCheck = [ "pypiserver" ];
@@ -35,6 +53,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/pypiserver/pypiserver";
     description = "Minimal PyPI server for use with pip/easy_install";
     license = with licenses; [ mit zlib ];
-    maintainers = [ maintainers.austinbutler ];
+    maintainers = with maintainers; [ austinbutler SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/pyrainbird/default.nix b/pkgs/development/python-modules/pyrainbird/default.nix
new file mode 100644
index 0000000000000..74f0ed630a26e
--- /dev/null
+++ b/pkgs/development/python-modules/pyrainbird/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, parameterized
+, pycryptodome
+, pytestCheckHook
+, pythonOlder
+, pyyaml
+, requests
+, responses
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyrainbird";
+  version = "0.4.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "jbarrancos";
+    repo = pname;
+    rev = version;
+    hash = "sha256-uRHknWvoPKPu3B5MbSEUlWqBKwAbNMwsgXuf6PZxhkU=";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodome
+    pyyaml
+    requests
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    parameterized
+    responses
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "datetime" ""
+    substituteInPlace pytest.ini \
+      --replace "--cov=pyrainbird --cov-report=term-missing --pep8 --flakes --mccabe" ""
+  '';
+
+  pythonImportsCheck = [
+    "pyrainbird"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Rainbird controllers";
+    homepage = "https://github.com/jbarrancos/pyrainbird/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index 4ef9493eeaa06..37e6467c4a793 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "2.0.14";
+  version = "2.0.23";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "pyrogram";
     rev = "v${version}";
-    hash = "sha256-uPScRNbN0XjdfokTNgzCdiVNRucDzNPR/60/IHEDUrg=";
+    hash = "sha256-+qJfqC6jLfrPwXl6zR7b21jY/s9leWeBxVgMa1IDRg4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysabnzbd/default.nix b/pkgs/development/python-modules/pysabnzbd/default.nix
new file mode 100644
index 0000000000000..e77b8cd681889
--- /dev/null
+++ b/pkgs/development/python-modules/pysabnzbd/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "pysabnzbd";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "jeradM";
+    repo = "pysabnzbd";
+    rev = "8e6cd1869c8cc99a4560ea1b178f0a1efd89e460"; # tag is missing
+    hash = "sha256-Ubl+kdcjMm1A7pa3Q5G+fFBwPIxA375Ci04/vVyUl+A=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pysabnzbd" ];
+
+  meta = {
+    description = "Python wrapper for SABnzbd API";
+    homepage = "https://github.com/jeradM/pysabnzbd";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyscf/default.nix b/pkgs/development/python-modules/pyscf/default.nix
index d08289d7573d5..5b2f3941b2b40 100644
--- a/pkgs/development/python-modules/pyscf/default.nix
+++ b/pkgs/development/python-modules/pyscf/default.nix
@@ -1,5 +1,4 @@
 { buildPythonPackage
-, python3
 , lib
 , fetchFromGitHub
 , cmake
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index e7e52991f6e84..2a3c7166f0cd3 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.3.6";
+  version = "0.3.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-CCbLRb8eoMuYH3it2onfiUzHLW6sirePR/lqATpp4K0=";
+    sha256 = "sha256-VdoAtY+uZ4M6UNjYplqxx8S11eyKzqypW7IYCXOO2kQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysnow/default.nix b/pkgs/development/python-modules/pysnow/default.nix
index 5baa9e9032159..36e45d9d8695f 100644
--- a/pkgs/development/python-modules/pysnow/default.nix
+++ b/pkgs/development/python-modules/pysnow/default.nix
@@ -6,7 +6,7 @@
 , httpretty
 , ijson
 , poetry-core
-, python_magic
+, python-magic
 , pytz
 , pytestCheckHook
 , requests-oauthlib
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     brotli
     ijson
-    python_magic
+    python-magic
     pytz
     requests-oauthlib
   ];
diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix
index 80e31e8effaec..96a434ecc5c60 100644
--- a/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.11";
+  version = "3.6.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9rcXPoGxR3sxX3tFbv1O/T7kfrKnIB2XV1mJvSH5WQ4=";
+    sha256 = "sha256-pZ7GGqc+Nd71V+3I2LYVMYbaLBPG5+Ze+d7Mb5CONCI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index da92963875769..9ddbc92125f27 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "4.3.1";
+  version = "4.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "sha256-8595zivZmff0agFiQd5Qyd/T3BDxYcsb4RjA5AWXVNM=";
+    sha256 = "sha256-RXIFfd4eeRLaDPe6+8jhIN2TI1yz/uDfnvWT95euaIo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-black/default.nix b/pkgs/development/python-modules/python-lsp-black/default.nix
index dbd51166a22c5..ee66ea262c63b 100644
--- a/pkgs/development/python-modules/python-lsp-black/default.nix
+++ b/pkgs/development/python-modules/python-lsp-black/default.nix
@@ -1,27 +1,28 @@
 { lib
-, black
+, pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, black
 , python-lsp-server
-, pythonOlder
+, toml
 }:
 
 buildPythonPackage rec {
   pname = "python-lsp-black";
-  version = "1.1.0";
+  version = "1.2.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = "python-lsp-black";
     rev = "v${version}";
-    sha256 = "sha256-WIQf1oz3b1PLIcXfQsu4hQ58nfp7l3J7zkcWNT6RbUY=";
+    sha256 = "sha256-qNA6Bj1VI0YEtRuvcMQZGWakQNNrJ2PqhozrLmQHPAg=";
   };
 
   checkInputs = [ pytestCheckHook ];
 
-  propagatedBuildInputs = [ black python-lsp-server ];
+  propagatedBuildInputs = [ black python-lsp-server toml ];
 
   meta = with lib; {
     homepage = "https://github.com/python-lsp/python-lsp-black";
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 313524351658a..aeb2d7567790d 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -20,6 +20,7 @@
 , pythonOlder
 , rope
 , setuptools
+, setuptools-scm
 , stdenv
 , ujson
 , yapf
@@ -36,7 +37,8 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.3.3";
+  version = "1.4.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -44,13 +46,18 @@ buildPythonPackage rec {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F8f9NAjPWkm01D/KwFH0oA6nQ3EF4ZVCCckZTL4A35Y=";
+    sha256 = "sha256-rEfjxHw2NIVIa8RepxLPiXkRFhcGWLzm6w43n60zkFE=";
   };
 
   postPatch = ''
     substituteInPlace setup.cfg \
       --replace "--cov-report html --cov-report term --junitxml=pytest.xml" "" \
-      --replace "--cov pylsp --cov test" ""
+      --replace "--cov pylsp --cov test" "" \
+      --replace "mccabe>=0.6.0,<0.7.0" "mccabe"
+  '';
+
+  preBuild = ''
+    export SETUPTOOLS_SCM_PRETEND_VERSION=${version}
   '';
 
   propagatedBuildInputs = [
@@ -58,6 +65,7 @@ buildPythonPackage rec {
     pluggy
     python-lsp-jsonrpc
     setuptools
+    setuptools-scm
     ujson
   ] ++ lib.optional withAutopep8 autopep8
   ++ lib.optional withFlake8 flake8
@@ -79,10 +87,7 @@ buildPythonPackage rec {
   # 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"
+  disabledTests = lib.optional (!withPycodestyle) "test_workspace_loads_pycodestyle_config"
   # pyqt5 is broken on aarch64-darwin
   ++ lib.optional (stdenv.isDarwin && stdenv.isAarch64) "test_pyqt_completion";
 
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
index 381ea67138487..a9fa50a11c699 100644
--- a/pkgs/development/python-modules/python-magic/default.nix
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -36,6 +36,6 @@ buildPythonPackage rec {
     description = "A python interface to the libmagic file type identification library";
     homepage = "https://github.com/ahupp/python-magic";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/python-memcached/default.nix b/pkgs/development/python-modules/python-memcached/default.nix
new file mode 100644
index 0000000000000..1f69062a64e91
--- /dev/null
+++ b/pkgs/development/python-modules/python-memcached/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, mock
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "python-memcached";
+  version = "1.59";
+
+  src = fetchFromGitHub {
+    owner = "linsomniac";
+    repo = "python-memcached";
+    rev = version;
+    hash = "sha256-tHqkwNloPTXOrEGtuDLu1cTw4SKJ4auv8UUbqdNp698=";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  # all tests fail
+  doCheck = false;
+
+  pythonImportsCheck = [ "memcache" ];
+
+  meta = with lib; {
+    description = "Pure python memcached client";
+    homepage = "https://github.com/linsomniac/python-memcached";
+    license = licenses.psfl;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-rabbitair/default.nix b/pkgs/development/python-modules/python-rabbitair/default.nix
new file mode 100644
index 0000000000000..7ebc98426d99d
--- /dev/null
+++ b/pkgs/development/python-modules/python-rabbitair/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, typing-extensions
+, zeroconf
+}:
+
+buildPythonPackage rec {
+  pname = "python-rabbitair";
+  version = "0.0.8";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "rabbit-air";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-CGr7NvnGRNTiKq5BpB/zmfgyd/2ggTbO0nj+Q+MavTs=";
+  };
+
+  propagatedBuildInputs = [
+    cryptography
+    zeroconf
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "rabbitair"
+  ];
+
+  disabledTests = [
+    # Tests require network access
+    "test_info"
+    "test_no_response"
+    "test_protocol_error"
+    "test_sequential_requests"
+    "test_set_state"
+    "test_state_a2"
+    "test_state_a3"
+    "test_zeroconf"
+  ];
+
+  meta = with lib; {
+    description = "Module for the control of Rabbit Air air purifiers";
+    homepage = "https://github.com/rabbit-air/python-rabbitair";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index e41942317f993..2e35def271025 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.5.2";
+  version = "5.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "v${version}";
-    sha256 = "sha256-ZTjh9gtnJwFG2qWH6FBrvLHKsEuTjkcKL6j6Mdos6zo=";
+    sha256 = "sha256-zsTSz2RHtr4LqqPCkvHcaAw7RvfkHTNDm83OS+SgMUU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-sql/default.nix b/pkgs/development/python-modules/python-sql/default.nix
index a32dcfa5f0037..91012839d0538 100644
--- a/pkgs/development/python-modules/python-sql/default.nix
+++ b/pkgs/development/python-modules/python-sql/default.nix
@@ -1,18 +1,34 @@
-{ lib, fetchPypi, buildPythonPackage }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "python-sql";
-  version = "1.3.0";
+  version = "1.4.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d603a6273f2f5966bab7ce77e1f50e88818d5237ac85e566e2dc84ebfabd176";
+    hash = "sha256-b+dkCC9IiR2Ffqfm+kJfpU8TUx3fa4nyTAmOZGrRtLY=";
   };
 
-  meta = {
-    homepage = "https://python-sql.tryton.org/";
-    description = "A library to write SQL queries in a pythonic way";
-    maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.bsd3;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "sql"
+  ];
+
+  meta = with lib; {
+    description = "Library to write SQL queries in a pythonic way";
+    homepage = "https://pypi.org/project/python-sql/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ johbo ];
   };
 }
diff --git a/pkgs/development/python-modules/python-trovo/default.nix b/pkgs/development/python-modules/python-trovo/default.nix
index d7fa18cfba3ef..b2f58f99f6447 100644
--- a/pkgs/development/python-modules/python-trovo/default.nix
+++ b/pkgs/development/python-modules/python-trovo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "python-trovo";
-  version = "0.1.5";
+  version = "0.1.6";
 
   disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-JUJax9nk4NqpMMrbDmQhcy22GIqPha+K4tudQ98PvlE=";
+    sha256 = "sha256-g1RDHSNGbGT1G2ej7A8WzyR17FaNPySfsAuKbHddmtQ=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pytomorrowio/default.nix b/pkgs/development/python-modules/pytomorrowio/default.nix
index 2c695fc7e05a6..abc90f2a6c7f4 100644
--- a/pkgs/development/python-modules/pytomorrowio/default.nix
+++ b/pkgs/development/python-modules/pytomorrowio/default.nix
@@ -3,19 +3,20 @@
 , pythonOlder
 , fetchPypi
 , aiohttp
+, pytest-aiohttp
 , pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytomorrowio";
-  version = "0.2.1";
+  version = "0.3.3";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aabb41436fb5834b687d73b334d95be07a18d5943d27a1fd06271b749558ba0e";
+    sha256 = "0d4f81dc90aefa26da18b927473cb7b08b093f7732301983ef5f0b1ca1181c62";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +24,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
index d3c9a96551591..0b562f4b5a26d 100644
--- a/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -3,15 +3,18 @@
 , fetchFromGitHub
 , isPy27
 , future
+, fsspec
+, packaging
 , pytestCheckHook
 , pytorch
 , pyyaml
 , tensorboard
+, torchmetrics
 , tqdm }:
 
 buildPythonPackage rec {
   pname = "pytorch-lightning";
-  version = "1.5.10";
+  version = "1.6.3";
 
   disabled = isPy27;
 
@@ -19,14 +22,17 @@ buildPythonPackage rec {
     owner = "PyTorchLightning";
     repo = pname;
     rev = version;
-    sha256 = "sha256-GP6/VZuRv8dS5wKQW7RbtOSa2vV9Af2Jp+ioEW3bIgc=";
+    hash = "sha256-MEUFrj84y5lQfwbC9s9fJNOKo+Djeh+E/eDc8KeX7V4=";
   };
 
   propagatedBuildInputs = [
+    packaging
     future
+    fsspec
     pytorch
     pyyaml
     tensorboard
+    torchmetrics
     tqdm
   ];
 
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index d00d26f1bae29..c9ee34c05c69c 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "12.0.0";
+  version = "12.1.0";
 
   disabled = pythonOlder "3.6";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    hash = "sha256-1zoLd4J7aCR5omMpCZhlttWDu7mYyKCypH3JEB4VGXg=";
+    hash = "sha256-o4kfZLkEs+XYor2sS2lfuDZkPfHrB+rDoxroc4f55gc=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index e2c48948b9784..ffd7a89dbb0ce 100644
--- a/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/pkgs/development/python-modules/pyupgrade/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyupgrade";
-  version = "2.32.0";
+  version = "2.32.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "asottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-VSGi93R8O0LGKFBkWMclje64suOqq/Gf2vE2OHXLP5Q=";
+    sha256 = "sha256-fjahaMetgZaH+IzdyaZSkVbasgc0bqQL+1ae0OJriT0=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix
index 45404c107fb1b..f1421e8c98069 100644
--- a/pkgs/development/python-modules/pyvesync/default.nix
+++ b/pkgs/development/python-modules/pyvesync/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyvesync";
-  version = "2.0.2";
+  version = "2.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SsSzwuJvDbQ1AzF+q5bjOnFaR6M2UFixtlmk6sgjKOg=";
+    sha256 = "sha256-/hPDCqTeqEzxfqv8B5wdDzmzzNuXYqOVHX32N/J6nmU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 799271371c7b1..682bc0d80ac71 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.1";
+  version = "9.2.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-b6LZJmAyxklvZxvane19dK/kQfbLPjkk29RydiWMZCY=";
+    hash = "sha256-uGZlWDTDczBiNCd4D4y6Umz44G8Zn3Zr8/R7Kn+4aS8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvips/default.nix b/pkgs/development/python-modules/pyvips/default.nix
index 3974767856677..4742143edad1f 100644
--- a/pkgs/development/python-modules/pyvips/default.nix
+++ b/pkgs/development/python-modules/pyvips/default.nix
@@ -1,18 +1,26 @@
-{ buildPythonPackage, fetchFromGitHub, pytestCheckHook, glib, vips, cffi
-, pkgconfig, lib }:
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, glib
+, vips
+, cffi
+, pkgconfig  # from pythonPackages
+, pkg-config  # from pkgs
+, lib }:
 
 buildPythonPackage rec {
   pname = "pyvips";
-  version = "2.1.16";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "libvips";
     repo = "pyvips";
     rev = "v${version}";
-    sha256 = "sha256-8CeQbx3f2i0lEU0wxPeUwHlUGtzOztzTOdFNjIDy8s0=";
+    sha256 = "sha256-qMVoVzqXALhPWVKLzu+VqihHPN7J+pMhKnXdb+ow0zw=";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig pkg-config ];
 
   buildInputs = [ glib vips ];
 
@@ -20,6 +28,14 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
+  postPatch = ''
+    substituteInPlace pyvips/__init__.py \
+      --replace 'libvips.so.42' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \
+      --replace 'libvips.42.dylib' '${lib.getLib vips}/lib/libvips${stdenv.hostPlatform.extensions.sharedLibrary}' \
+      --replace 'libgobject-2.0.so.0' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \
+      --replace 'libgobject-2.0.dylib' '${glib.out}/lib/libgobject-2.0${stdenv.hostPlatform.extensions.sharedLibrary}' \
+  '';
+
   pythonImportsCheck = [ "pyvips" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pyzerproc/default.nix b/pkgs/development/python-modules/pyzerproc/default.nix
index 7f726d8ae7f8d..bc90068e66ea6 100644
--- a/pkgs/development/python-modules/pyzerproc/default.nix
+++ b/pkgs/development/python-modules/pyzerproc/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyzerproc";
-  version = "0.4.10";
+  version = "0.4.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "emlove";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sfxyHpJzYYwxLsvfJpqI6cC/CKS7Jx0vXSLL3QD9qV4=";
+    sha256 = "sha256-FNiq/dbh5PMTxnKCKDSHEvllehAEUYvWZS+OyP3lSW8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix
index 41412e16f8fcf..92aaabb4e1ab0 100644
--- a/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "qcs-api-client";
-  version = "0.20.10";
+  version = "0.20.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = "qcs-api-client-python";
     rev = "v${version}";
-    hash = "sha256-pBC8pFrk6iNYPS3/LKaVo+ds2okN56bxzvffEfs6SrU=";
+    hash = "sha256-4462T2WIBdWjtd51YfslYZOcJg9f0nrSOKTi2ed6WvI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/qnapstats/default.nix b/pkgs/development/python-modules/qnapstats/default.nix
new file mode 100644
index 0000000000000..2eeb4e81d28eb
--- /dev/null
+++ b/pkgs/development/python-modules/qnapstats/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, xmltodict
+, responses
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "qnapstats";
+  version = "0.4.0";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "colinodell";
+    repo = "python-qnapstats";
+    rev = version;
+    hash = "sha256-Tzi2QG1Xw12fLVfV49SPJKdz5VdJ4hQMuCHH8gxcOBE=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    xmltodict
+  ];
+
+  checkInputs = [
+    responses
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    ${python.interpreter} tests/test-models.py
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [ "qnapstats" ];
+
+  meta = {
+    description = "Python API for obtaining QNAP NAS system stats";
+    homepage = "https://github.com/colinodell/python-qnapstats";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/qstylizer/default.nix b/pkgs/development/python-modules/qstylizer/default.nix
new file mode 100644
index 0000000000000..768e5f7d007e9
--- /dev/null
+++ b/pkgs/development/python-modules/qstylizer/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, inflection
+, pbr
+, tinycss2
+, pytestCheckHook
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "qstylizer";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "blambright";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-iEMxBpS9gOPubd9O8zpVmR5B7+UZJFkPuOtikO1a9v0=";
+  };
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  propagatedBuildInputs = [
+    inflection
+    tinycss2
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+  ];
+
+  preBuild = ''
+    export PBR_VERSION=${version}
+  '';
+
+  meta = with lib; {
+    description = "Qt stylesheet generation utility for PyQt/PySide ";
+    homepage = "https://github.com/blambright/qstylizer";
+    license = licenses.mit;
+    maintainers = with maintainers; [ drewrisinger ];
+  };
+}
diff --git a/pkgs/development/python-modules/raincloudy/default.nix b/pkgs/development/python-modules/raincloudy/default.nix
new file mode 100644
index 0000000000000..860f9461e4438
--- /dev/null
+++ b/pkgs/development/python-modules/raincloudy/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, beautifulsoup4
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "raincloudy";
+  version = "1.1.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "vanstinator";
+    repo = pname;
+    rev = version;
+    hash = "sha256-c6tux0DZY56a4BpuiMXtaqm8+JKNDiyMxrFUju3cp2Y=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    beautifulsoup4
+    urllib3
+    html5lib
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    requests-mock
+  ];
+
+  postPatch = ''
+    # https://github.com/vanstinator/raincloudy/pull/60
+    substituteInPlace setup.py \
+      --replace "bs4" "beautifulsoup4" \
+      --replace "html5lib==1.0.1" "html5lib"
+  '';
+
+  pythonImportsCheck = [
+    "raincloudy"
+  ];
+
+  disabledTests = [
+    # Test requires network access
+    "test_attributes"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Melnor RainCloud Smart Garden Watering Irrigation Timer";
+    homepage = "https://github.com/vanstinator/raincloudy";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index 597eb37c7560c..86e53cde95d50 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -1,24 +1,48 @@
-{ lib, fetchPypi, buildPythonPackage, genshi, lxml, python_magic }:
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, genshi
+, lxml
+, pyyaml
+, python-magic
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "relatorio";
-  version = "0.10.0";
+  version = "0.10.1";
+
+  disabled = pythonOlder "3.5";
+
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b9390eab696bdf569639ff58794fb9ef8ff19f94feea5b505a6ba06d0cfd026";
+    sha256 = "a0c72302d50d5dfa433ddab191672eec1dde1c6ed26330a378b720e5a3012e23";
   };
 
   propagatedBuildInputs = [
     genshi
     lxml
-    python_magic
   ];
 
+  passthru.extras-require = {
+    chart = [ /* pycha */ pyyaml ];
+    fodt = [ python-magic ];
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ] ++ passthru.extras-require.fodt;
+
+  pythonImportsCheck = [ "relatorio" ];
+
   meta = {
     homepage = "https://relatorio.tryton.org/";
+    changelog = "https://hg.tryton.org/relatorio/file/${version}/CHANGELOG";
     description = "A templating library able to output odt and pdf files";
     maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.gpl3;
+    license = lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/python-modules/reportengine/default.nix b/pkgs/development/python-modules/reportengine/default.nix
new file mode 100644
index 0000000000000..6168f62d463d4
--- /dev/null
+++ b/pkgs/development/python-modules/reportengine/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit
+, jinja2
+, ruamel-yaml
+, matplotlib
+, pandas
+, pandoc
+, pygments
+, blessings
+, curio
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "reportengine";
+  version = "0.30.dev0";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eb612994b7f364e872301b4569b544648e95e587d803284ddb5610efc8f2170f";
+  };
+
+  nativeBuildInputs = [ flit ];
+
+  propagatedBuildInputs = [
+    jinja2
+    ruamel-yaml
+    matplotlib
+    pandas
+    pygments
+    blessings
+    curio
+  ];
+
+  checkInputs = [
+    hypothesis
+    pandoc
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "reportengine" ];
+
+  meta = with lib; {
+    description = "A framework for declarative data analysis";
+    homepage = "https://github.com/NNPDF/reportengine/";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/requests-aws4auth/default.nix b/pkgs/development/python-modules/requests-aws4auth/default.nix
index d2de7dff212f3..c38309f6d8d93 100644
--- a/pkgs/development/python-modules/requests-aws4auth/default.nix
+++ b/pkgs/development/python-modules/requests-aws4auth/default.nix
@@ -24,14 +24,17 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    httpx
     requests
     six
   ];
 
+  passthru.extras-require = {
+    httpx = [ httpx ];
+  };
+
   checkInputs = [
     pytestCheckHook
-  ];
+  ] ++ passthru.extras-require.httpx;
 
   pythonImportsCheck = [
     "requests_aws4auth"
diff --git a/pkgs/development/python-modules/rethinkdb/default.nix b/pkgs/development/python-modules/rethinkdb/default.nix
index 2c6123df5f266..c9c61e34d8e68 100644
--- a/pkgs/development/python-modules/rethinkdb/default.nix
+++ b/pkgs/development/python-modules/rethinkdb/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "rethinkdb";
-  version = "2.4.8";
+  version = "2.4.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f75a72bcd899ab0f6b0677873b89fba99c512bc7895eb5fbc1dc9a228b8aaee";
+    sha256 = "sha256-dV8I9xdTWlXAUSj2vmwoJI+pr/JningWqrh+H59YFcE=";
   };
 
   propagatedBuildInputs = [ six setuptools ];
diff --git a/pkgs/development/python-modules/rflink/default.nix b/pkgs/development/python-modules/rflink/default.nix
index c33d44f628fbc..fa6f44ef616e0 100644
--- a/pkgs/development/python-modules/rflink/default.nix
+++ b/pkgs/development/python-modules/rflink/default.nix
@@ -8,6 +8,7 @@
 , pyserial-asyncio
 , setuptools
 , pytestCheckHook
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
@@ -34,6 +35,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTestPaths = lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/aequitas/python-rflink/issues/65
+    "tests/test_proxy.py"
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "version=version_from_git()" "version='${version}'"
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index addc12b3637a4..4def2f46317f6 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "12.2.0";
+  version = "12.3.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02zypmnc9sijlipki0riywh82piamd3hlrl5xbg2bxlldnlnwx1d";
+    sha256 = "sha256-/BPJcFjUldbTa/M3i9jGGU7apbrTcWbF+yrrFuLXcHY=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 91d8c564315c1..228bf2a562418 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   format = "setuptools";
 
   disabled = pythonOlder "3.7" ||
-    pythonAtLeast "3.10";  # see GHSA-7p79-6x2v-5h88
+    pythonAtLeast "3.10"; # see GHSA-7p79-6x2v-5h88
 
   src = fetchFromGitHub {
     owner = "sanic-org";
@@ -125,6 +125,13 @@ buildPythonPackage rec {
     "test_raw_headers"
     # noisy_exceptions sometimes missing from sanic stdout
     "test_noisy_exceptions"
+  ] ++ lib.optionals (stdenv.hostPlatform.system == "aarch64-linux") [
+    # test fail on aarch64
+    "test_tls_wrong_options"
+    "test_cookie_expires"
+    "test_gunicorn_worker"
+    "test_gunicorn_worker_no_logs"
+    "test_gunicorn_worker_with_logs"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/scancode-toolkit/default.nix b/pkgs/development/python-modules/scancode-toolkit/default.nix
index a5fdf3d547edc..40c52962e51d4 100644
--- a/pkgs/development/python-modules/scancode-toolkit/default.nix
+++ b/pkgs/development/python-modules/scancode-toolkit/default.nix
@@ -8,8 +8,9 @@
 , click
 , colorama
 , commoncode
+, container-inspector
 , debian-inspector
-, dparse
+, dparse2
 , extractcode
 , extractcode-7z
 , extractcode-libarchive
@@ -32,7 +33,8 @@
 , packaging
 , parameter-expansion-patched
 , pefile
-, pkginfo
+, pip-requirements-parser
+, pkginfo2
 , pluggy
 , plugincode
 , publicsuffix2
@@ -58,13 +60,13 @@
 
 buildPythonPackage rec {
   pname = "scancode-toolkit";
-  version = "30.1.0";
+  version = "31.0.0b4";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-UYQf+cBi2FmyZxIbQJo7vLjPuoePIMC8FugvoG1Ebj0=";
+    hash = "sha256-sPFHaIbbWw/wk3Q1PBDj5O4il9ntigoyanecg938a9A=";
   };
 
   dontConfigure = true;
@@ -78,8 +80,9 @@ buildPythonPackage rec {
     click
     colorama
     commoncode
+    container-inspector
     debian-inspector
-    dparse
+    dparse2
     extractcode
     extractcode-7z
     extractcode-libarchive
@@ -88,6 +91,7 @@ buildPythonPackage rec {
     ftfy
     gemfileparser
     html5lib
+    importlib-metadata
     intbitset
     jaraco_functools
     javaproperties
@@ -100,7 +104,8 @@ buildPythonPackage rec {
     packaging
     parameter-expansion-patched
     pefile
-    pkginfo
+    pip-requirements-parser
+    pkginfo2
     pluggy
     plugincode
     publicsuffix2
@@ -118,9 +123,8 @@ buildPythonPackage rec {
     typecode-libmagic
     urlpy
     xmltodict
-    zipp
   ] ++ lib.optionals (pythonOlder "3.9") [
-    importlib-metadata
+    zipp
   ] ++ lib.optionals (pythonOlder "3.7") [
     typing
   ];
@@ -134,7 +138,8 @@ buildPythonPackage rec {
       --replace "pdfminer.six >= 20200101" "pdfminer.six" \
       --replace "pluggy >= 0.12.0, < 1.0" "pluggy" \
       --replace "pygmars >= 0.7.0" "pygmars" \
-      --replace "license_expression >= 21.6.14" "license_expression"
+      --replace "license_expression >= 21.6.14" "license_expression" \
+      --replace "intbitset >= 2.3.0,  < 3.0" "intbitset"
   '';
 
   # Importing scancode needs a writeable home, and preCheck happens in between
diff --git a/pkgs/development/python-modules/scikit-bio/default.nix b/pkgs/development/python-modules/scikit-bio/default.nix
index d2c32fc138afe..e86b384f9c4a5 100644
--- a/pkgs/development/python-modules/scikit-bio/default.nix
+++ b/pkgs/development/python-modules/scikit-bio/default.nix
@@ -5,6 +5,7 @@
 , lockfile
 , cachecontrol
 , decorator
+, h5py
 , ipython
 , matplotlib
 , natsort
@@ -19,18 +20,18 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.5.6";
+  version = "0.5.7";
   pname = "scikit-bio";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "48b73ec53ce0ff2c2e3e05f3cfcf93527c1525a8d3e9dd4ae317b4219c37f0ea";
+    sha256 = "sha256-Y0PKDGIeL8xdHAQsi+MgBmTFMllWqDvqdRzxvMddHak=";
   };
 
-  buildInputs = [ cython ];
+  nativeBuildInputs = [ cython ];
   checkInputs = [ coverage ];
-  propagatedBuildInputs = [ lockfile cachecontrol decorator ipython matplotlib natsort numpy pandas scipy hdmedians scikit-learn ];
+  propagatedBuildInputs = [ lockfile cachecontrol decorator ipython matplotlib natsort numpy pandas scipy h5py hdmedians scikit-learn ];
 
   # cython package not included for tests
   doCheck = false;
diff --git a/pkgs/development/python-modules/scipy/default.nix b/pkgs/development/python-modules/scipy/default.nix
index 85708822cc2bb..d92dcc60f89df 100644
--- a/pkgs/development/python-modules/scipy/default.nix
+++ b/pkgs/development/python-modules/scipy/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     rm scipy/linalg/tests/test_lapack.py
   '';
 
-  doCheck = true;
+  doCheck = !(stdenv.isx86_64 && stdenv.isDarwin);
 
   preConfigure = ''
     sed -i '0,/from numpy.distutils.core/s//import setuptools;from numpy.distutils.core/' setup.py
diff --git a/pkgs/development/python-modules/scmrepo/default.nix b/pkgs/development/python-modules/scmrepo/default.nix
index 5b80bb00dd63a..cfb84743ff3ab 100644
--- a/pkgs/development/python-modules/scmrepo/default.nix
+++ b/pkgs/development/python-modules/scmrepo/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "scmrepo";
-  version = "0.0.20";
+  version = "0.0.22";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "iterative";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-3gNHWncP9laevuX3EcnmNJ825eQehoLp75WJ5V5/R9w=";
+    hash = "sha256-hV0BusvuJUEGfmue7OHR3YYmpBcFTgbQE7UuHmTUBo0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scrapy/default.nix b/pkgs/development/python-modules/scrapy/default.nix
index 073059aec6261..70feaa7108e2d 100644
--- a/pkgs/development/python-modules/scrapy/default.nix
+++ b/pkgs/development/python-modules/scrapy/default.nix
@@ -31,6 +31,8 @@
 buildPythonPackage rec {
   pname = "scrapy";
   version = "2.6.1";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
@@ -92,6 +94,7 @@ buildPythonPackage rec {
     "test_nested_xpath"
     "test_flavor_detection"
     # Requires network access
+    "AnonymousFTPTestCase"
     "FTPFeedStorageTest"
     "FeedExportTest"
     "test_custom_asyncio_loop_enabled_true"
@@ -99,6 +102,7 @@ buildPythonPackage rec {
     "test_custom_loop_asyncio_deferred_signal"
     "FileFeedStoragePreFeedOptionsTest"  # https://github.com/scrapy/scrapy/issues/5157
     "test_timeout_download_from_spider_nodata_rcvd"
+    "test_timeout_download_from_spider_server_hangs"
     # Fails with AssertionError
     "test_peek_fifo"
     "test_peek_one_element"
diff --git a/pkgs/development/python-modules/sdds/default.nix b/pkgs/development/python-modules/sdds/default.nix
new file mode 100644
index 0000000000000..3003dddce6de1
--- /dev/null
+++ b/pkgs/development/python-modules/sdds/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "sdds";
+  version = "0.2.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "pylhc";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-JcxcF0tDigZz3upzE7rPDynCH45dnLk/zpS0a2dOwRU=";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+
+  pythonImportsCheck = [ "sdds" ];
+  checkInputs = [ pytestCheckHook ];
+
+  meta = with lib; {
+    description = "Python 3 package to handle SDDS files";
+    homepage = "https://pylhc.github.io/sdds/";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index 4cd80fbed8096..1a6c5c1418d0b 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -37,11 +37,12 @@
 , trytond
 , urllib3
 , werkzeug
+, multidict
 }:
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.5.10";
+  version = "1.5.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -50,7 +51,7 @@ buildPythonPackage rec {
     owner = "getsentry";
     repo = "sentry-python";
     rev = version;
-    hash = "sha256-f5V2fMvPpyz+pU08Owzxq9xI48ZeZpH5SmUXtshqMm0=";
+    hash = "sha256-8M0FWfvaGp74Fb+qJlhyiJPUVHN2ZdEleZf27d+bftE=";
   };
 
   propagatedBuildInputs = [
@@ -88,6 +89,7 @@ buildPythonPackage rec {
     tornado
     trytond
     werkzeug
+    multidict
   ];
 
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/development/python-modules/setupmeta/default.nix b/pkgs/development/python-modules/setupmeta/default.nix
index d24c8263e9a14..298a2a8915d6b 100644
--- a/pkgs/development/python-modules/setupmeta/default.nix
+++ b/pkgs/development/python-modules/setupmeta/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "setupmeta";
-  version = "3.3.0";
+  version = "3.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "codrsquad";
     repo = pname;
     rev = "v${version}";
-    sha256 = "21hABRiY8CTKkpFjePgBAtjs4/G5eFS3aPNMCBC41CY=";
+    sha256 = "sha256-3QUI3AjouuGa9sWXH97GSvpimVsws3q5Xgq6lls/wBU=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/setuptools-rust/default.nix b/pkgs/development/python-modules/setuptools-rust/default.nix
index 24c60839fe0bd..10f46fecf6f48 100644
--- a/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "setuptools-rust";
-  version = "1.2.0";
+  version = "1.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-CkraR56Mfj2L18tW4aKazCsruYwjJQUbDNy1fX8Fbeg=";
+    sha256 = "sha256-lYxb9Ktkg9Wdq4iFOBIYccxQBjVKQvsPvVCs8Dyq0d4=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index 8d5d0d2aa4f5b..49f5dcc822b60 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "Shapely";
-  version = "1.8.1.post1";
+  version = "1.8.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-k/8G/wX74r6EO5PHsa2CkuVuZlugG0cI91rop1eXLp8=";
+    sha256 = "sha256-Vyr51QBv1eMhPjfuVIkSsDQfsmck1tyKTjlQwQGX67Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/shapely/library-paths.patch b/pkgs/development/python-modules/shapely/library-paths.patch
index 484af67ef68cc..d095eada9d6e1 100644
--- a/pkgs/development/python-modules/shapely/library-paths.patch
+++ b/pkgs/development/python-modules/shapely/library-paths.patch
@@ -1,201 +1,31 @@
 diff --git a/shapely/geos.py b/shapely/geos.py
-index 13ab835..1abdb5e 100644
+index 88c5f53..1ccd6e4 100644
 --- a/shapely/geos.py
 +++ b/shapely/geos.py
-@@ -55,174 +55,21 @@ def load_dll(libname, fallbacks=None, mode=DEFAULT_MODE):
-             "Could not find lib {} or load any of its variants {}.".format(
-                 libname, fallbacks or []))
+@@ -96,6 +96,7 @@ if sys.platform.startswith('linux'):
+         alt_paths = [
+             'libgeos_c.so.1',
+             'libgeos_c.so',
++            '@libgeos_c@',
+         ]
+         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
  
--_lgeos = None
- def exists_conda_env():
-     """Does this module exist in a conda environment?"""
-     return os.path.exists(os.path.join(sys.prefix, 'conda-meta'))
+@@ -160,6 +161,7 @@ elif sys.platform == 'darwin':
+             "/usr/local/lib/libgeos_c.dylib",
+             # homebrew Apple Silicon
+             "/opt/homebrew/lib/libgeos_c.dylib",
++            "@libgeos_c@",
+         ]
+         _lgeos = load_dll('geos_c', fallbacks=alt_paths)
  
--
--if sys.platform.startswith('linux'):
--    # Test to see if we have a wheel repaired by auditwheel which contains its
--    # own libgeos_c. Note: auditwheel 3.1 changed the location of libs.
--    geos_whl_so = glob.glob(
--        os.path.abspath(os.path.join(os.path.dirname(__file__), ".libs/libgeos*.so*"))
--    ) or glob.glob(
--        os.path.abspath(
--            os.path.join(
--                os.path.dirname(__file__), "..", "Shapely.libs", "libgeos*.so*"
--            )
--        )
--    )
--
--    if len(geos_whl_so) > 0:
--        # We have observed problems with CDLL of libgeos_c not automatically
--        # loading the sibling c++ library since the change made by auditwheel
--        # 3.1, so we explicitly load them both.
--        geos_whl_so = sorted(geos_whl_so)
--        CDLL(geos_whl_so[0])
--        _lgeos = CDLL(geos_whl_so[-1])
--        LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
--
--    elif hasattr(sys, 'frozen'):
--        geos_pyinstaller_so = glob.glob(os.path.join(sys.prefix, 'libgeos_c-*.so.*'))
--        if len(geos_pyinstaller_so) >= 1:
--            _lgeos = CDLL(geos_pyinstaller_so[0])
--            LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
--    elif exists_conda_env():
--        # conda package.
--        _lgeos = CDLL(os.path.join(sys.prefix, 'lib', 'libgeos_c.so'))
--    else:
--        alt_paths = [
--            'libgeos_c.so.1',
--            'libgeos_c.so',
--        ]
--        _lgeos = load_dll('geos_c', fallbacks=alt_paths)
--
-+_lgeos = CDLL('@libgeos_c@')
-+if sys.platform == 'darwin':
-     # ctypes.CDLL(None) internally calls dlopen(NULL), and as the dlopen
-     # manpage says, "If filename is NULL, then the returned handle is for the
-     # main program". This way we can let the linker do the work to figure out
-     # which libc Python is actually using.
-     free = CDLL(None).free
--    free.argtypes = [c_void_p]
--    free.restype = None
--
--elif sys.platform == 'darwin':
--    # Test to see if we have a delocated wheel with a GEOS dylib.
--    dylib_path = os.path.abspath(
--        os.path.join(os.path.dirname(__file__), ".dylibs/*.dylib")
--    )
--    LOG.debug("Formed path for globbing: dylib_path=%r", dylib_path)
--
--    geos_whl_dylib = glob.glob(dylib_path)
--    LOG.debug("Globbed: geos_whl_dylib=%r", geos_whl_dylib)
--
--    if len(geos_whl_dylib) > 0:
--        handle = CDLL(None)
--        if hasattr(handle, "initGEOS_r"):
--            LOG.debug("GEOS already loaded")
--            _lgeos = handle
--        else:
--            geos_whl_dylib = sorted(geos_whl_dylib)
--            CDLL(geos_whl_dylib[0])
--            _lgeos = CDLL(geos_whl_dylib[-1])
--            LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
--
--    elif exists_conda_env():
--        # conda package.
--        _lgeos = CDLL(os.path.join(sys.prefix, 'lib', 'libgeos_c.dylib'))
--    else:
--        if hasattr(sys, 'frozen'):
--            try:
--                # .app file from py2app
--                alt_paths = [os.path.join(
--                    os.environ['RESOURCEPATH'], '..', 'Frameworks',
--                    'libgeos_c.dylib')]
--            except KeyError:
--                alt_paths = [
--                    # binary from pyinstaller
--                    os.path.join(sys.executable, 'libgeos_c.dylib'),
--                    # .app from cx_Freeze
--                    os.path.join(os.path.dirname(sys.executable), 'libgeos_c.1.dylib')]
--                if hasattr(sys, '_MEIPASS'):
--                    alt_paths.append(
--                        os.path.join(sys._MEIPASS, 'libgeos_c.1.dylib'))
--        else:
--            alt_paths = [
--                # The Framework build from Kyng Chaos
--                "/Library/Frameworks/GEOS.framework/Versions/Current/GEOS",
--                # macports
--                '/opt/local/lib/libgeos_c.dylib',
--                # homebrew Intel
--                '/usr/local/lib/libgeos_c.dylib',
--                # homebrew Apple Silicon
--                '/opt/homebrew/lib/libgeos_c.dylib',
--            ]
--        _lgeos = load_dll('geos_c', fallbacks=alt_paths)
--
--    free = CDLL(None).free
--    free.argtypes = [c_void_p]
--    free.restype = None
--
--elif sys.platform == 'win32':
--    _conda_dll_path = os.path.join(sys.prefix, 'Library', 'bin', 'geos_c.dll')
--    if exists_conda_env() and os.path.exists(_conda_dll_path):
--        _lgeos = CDLL(_conda_dll_path)
--    else:
--        geos_whl_dll = glob.glob(
--            os.path.abspath(
--                os.path.join(
--                    os.path.dirname(__file__), "..", "Shapely.libs", "geos*.dll"
--                )
--            )
--        )
--
--        if len(geos_whl_dll) > 0:
--            geos_whl_dll = sorted(geos_whl_dll)
--            # CDLL(geos_whl_so[0])
--            _lgeos = CDLL(geos_whl_dll[-1])
--            LOG.debug("Found GEOS DLL: %r, using it.", _lgeos)
--        else:
--            try:
--                egg_dlls = os.path.abspath(
--                    os.path.join(os.path.dirname(__file__), "DLLs")
--                )
--                if hasattr(sys, "_MEIPASS"):
--                    wininst_dlls = sys._MEIPASS
--                elif hasattr(sys, "frozen"):
--                    wininst_dlls = os.path.normpath(
--                        os.path.abspath(sys.executable + "../../DLLS")
--                    )
--                else:
--                    wininst_dlls = os.path.abspath(os.__file__ + "../../../DLLs")
--                original_path = os.environ["PATH"]
--                os.environ["PATH"] = "%s;%s;%s" % (
--                    egg_dlls,
--                    wininst_dlls,
--                    original_path,
--                )
--                _lgeos = load_dll("geos_c.dll")
--
--            except (ImportError, WindowsError, OSError):
--                raise
--
--        def free(m):
--            try:
--                cdll.msvcrt.free(m)
--            except WindowsError:
--                # XXX: See http://trac.gispython.org/projects/PCL/ticket/149
--                pass
--
--elif sys.platform == 'sunos5':
--    _lgeos = load_dll('geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
--    free.restype = None
--    free.argtypes = [c_void_p]
--    free.restype = None
--
--else:  # other *nix systems
--    _lgeos = load_dll('geos_c', fallbacks=['libgeos_c.so.1', 'libgeos_c.so'])
--    free = CDLL(None).free
--    free.argtypes = [c_void_p]
--    free.restype = None
-+else:
-+    free = CDLL('@libc@').free
-+free.argtypes = [c_void_p]
-+free.restype = None
- 
- 
- def _geos_version():
 diff --git a/tests/test_dlls.py b/tests/test_dlls.py
-index c71da8e..fae9da6 100644
+index c71da8e..c36262c 100644
 --- a/tests/test_dlls.py
 +++ b/tests/test_dlls.py
-@@ -12,10 +12,4 @@ class LoadingTestCase(unittest.TestCase):
-     @unittest.skipIf(sys.platform == "win32", "FIXME: adapt test for win32")
-     def test_fallbacks(self):
-         load_dll('geos_c', fallbacks=[
--            os.path.join(sys.prefix, "lib", "libgeos_c.dylib"), # anaconda (Mac OS X)
--            '/opt/local/lib/libgeos_c.dylib',     # MacPorts
--            '/usr/local/lib/libgeos_c.dylib',     # homebrew (Mac OS X)
--            '/opt/homebrew/lib/libgeos_c.dylib',  # homebrew (macOS)
--            os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
--            'libgeos_c.so.1',
+@@ -18,4 +18,5 @@ class LoadingTestCase(unittest.TestCase):
+             '/opt/homebrew/lib/libgeos_c.dylib',  # homebrew (macOS)
+             os.path.join(sys.prefix, "lib", "libgeos_c.so"), # anaconda (Linux)
+             'libgeos_c.so.1',
 -            'libgeos_c.so'])
++            'libgeos_c.so',
 +            '@libgeos_c@'])
diff --git a/pkgs/development/python-modules/shiv/default.nix b/pkgs/development/python-modules/shiv/default.nix
index 14cb688be4643..ab873da47a7be 100644
--- a/pkgs/development/python-modules/shiv/default.nix
+++ b/pkgs/development/python-modules/shiv/default.nix
@@ -25,6 +25,19 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
+  disabledTests = [
+    # AssertionError
+    "test_hello_world"
+    "test_extend_pythonpath"
+    "test_multiple_site_packages"
+    "test_no_entrypoint"
+    "test_results_are_binary_identical_with_env_and_build_id"
+    "test_preamble"
+    "test_preamble_no_pip"
+    "test_alternate_root"
+    "test_alternate_root_environment_variable"
+  ];
+
   meta = with lib; {
     description = "Command line utility for building fully self contained Python zipapps";
     homepage = "https://github.com/linkedin/shiv";
diff --git a/pkgs/development/python-modules/signedjson/default.nix b/pkgs/development/python-modules/signedjson/default.nix
index 8409d9702e7f8..c7604126c7a39 100644
--- a/pkgs/development/python-modules/signedjson/default.nix
+++ b/pkgs/development/python-modules/signedjson/default.nix
@@ -1,40 +1,53 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, fetchpatch
 , canonicaljson
-, unpaddedbase64
-, pynacl
-, typing-extensions
-, setuptools-scm
+, fetchPypi
 , importlib-metadata
+, pynacl
+, pytestCheckHook
 , pythonOlder
+, setuptools-scm
+, typing-extensions
+, unpaddedbase64
 }:
 
 buildPythonPackage rec {
   pname = "signedjson";
-  version = "1.1.1";
+  version = "1.1.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0280f8zyycsmd7iy65bs438flm7m8ffs1kcxfbvhi8hbazkqc19m";
+    hash = "sha256-zZHFavU/Fp7wMsYunEoyktwViGaTMxjQWS40Yts9ZJI=";
   };
 
-  patches = [
-    # Do not require importlib_metadata on python 3.8
-    (fetchpatch {
-      url = "https://github.com/matrix-org/python-signedjson/commit/c40c83f844fee3c1c7b0c5d1508f87052334b4e5.patch";
-      sha256 = "109f135zn9azg5h1ljw3v94kpvnzmlqz1aiknpl5hsqfa3imjca1";
-    })
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    canonicaljson
+    unpaddedbase64
+    pynacl
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ canonicaljson unpaddedbase64 pynacl typing-extensions ]
-    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  pythonImportsCheck = [
+    "signedjson"
+  ];
 
   meta = with lib; {
-    homepage = "https://pypi.org/project/signedjson/";
     description = "Sign JSON with Ed25519 signatures";
+    homepage = "https://github.com/matrix-org/python-signedjson";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix
index ec3cf592786de..720129a13faa4 100644
--- a/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -3,6 +3,7 @@
 , aresponses
 , asynctest
 , backoff
+, beautifulsoup4
 , buildPythonPackage
 , docutils
 , fetchFromGitHub
@@ -19,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2022.03.3";
+  version = "2022.05.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -27,8 +28,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "bachya";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-19+p39uZO9pSDzH6YkS9ZDVA4zyl9oJ325yTQ5+SQcw=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-tYExqOIJPJN8Lss6y0oelkrDuQCpNtFrsFRCxnbUNvU=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     aiohttp
     backoff
+    beautifulsoup4
     docutils
     pytz
     voluptuous
@@ -62,6 +64,8 @@ buildPythonPackage rec {
     # simplipy/api.py:253: InvalidCredentialsError
     "test_request_error_failed_retry"
     "test_update_error"
+    # ClientConnectorError: Cannot connect to host auth.simplisafe.com:443 ssl:default [Temporary failure in name resolution]
+    "test_client_async_from_refresh_token_unknown_error"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/sjcl/default.nix b/pkgs/development/python-modules/sjcl/default.nix
new file mode 100644
index 0000000000000..41da6669b54f7
--- /dev/null
+++ b/pkgs/development/python-modules/sjcl/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, pycryptodome
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "sjcl";
+  version = "0.2.1";
+
+  format = "setuptools";
+
+  # PyPi release is missing tests
+  src = fetchFromGitHub {
+    owner = "berlincode";
+    repo = pname;
+    # commit from: 2018-08-16, because there aren't any tags on git
+    rev = "e8bdad312fa99c89c74f8651a1240afba8a9f3bd";
+    sha256 = "1v8rc55v28v8cl7nxcavj34am005wi63zcvwnbc6pyfbv4ss30ab";
+  };
+
+  propagatedBuildInputs = [ pycryptodome ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} -m unittest discover
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "sjcl"
+  ];
+
+  meta = with lib; {
+    description = "Decrypt and encrypt messages compatible to the \"Stanford Javascript Crypto Library (SJCL)\" message format. This is a wrapper around pycrypto.";
+    homepage = "https://github.com/berlincode/sjcl";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ binsky ];
+  };
+}
diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix
new file mode 100644
index 0000000000000..53d1fb1227d7f
--- /dev/null
+++ b/pkgs/development/python-modules/skia-pathops/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, cython
+, ninja
+, setuptools-scm
+, setuptools
+, fetchPypi
+, gn
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "skia-pathops";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    pname = "skia-pathops";
+    inherit version;
+    extension = "zip";
+    sha256 = "sha256-Gdhcmv77oVr5KxPIiJlk935jgvWPQsYEC0AZ6yjLppA=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "build_cmd = [sys.executable, build_skia_py, build_dir]" \
+        'build_cmd = [sys.executable, build_skia_py, "--no-fetch-gn", "--no-virtualenv", "--gn-path", "${gn}/bin/gn", build_dir]'
+  '';
+
+  nativeBuildInputs = [ cython ninja setuptools-scm ];
+
+  propagatedBuildInputs = [ setuptools ];
+
+  checkInputs = [ pytestCheckHook ];
+
+  pythonImportsCheck = [ "pathops" ];
+
+  meta = {
+    description = "Python access to operations on paths using the Skia library";
+    homepage = "https://skia.org/dev/present/pathops";
+    license = lib.licenses.bsd3;
+    maintainers = [ lib.maintainers.BarinovMaxim ];
+  };
+}
diff --git a/pkgs/development/python-modules/skytemple-files/default.nix b/pkgs/development/python-modules/skytemple-files/default.nix
index 7893cfb2e8180..2f43d04ba1681 100644
--- a/pkgs/development/python-modules/skytemple-files/default.nix
+++ b/pkgs/development/python-modules/skytemple-files/default.nix
@@ -1,16 +1,16 @@
-{ lib, buildPythonPackage, fetchFromGitHub, appdirs, dungeon-eos, explorerscript
+{ stdenv, lib, buildPythonPackage, fetchFromGitHub, appdirs, dungeon-eos, explorerscript
 , ndspy, pillow, setuptools, skytemple-rust, tilequant, armips
 }:
 
 buildPythonPackage rec {
   pname = "skytemple-files";
-  version = "1.3.3";
+  version = "1.3.9";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "01j6khn60mdmz32xkpqrzwdqibmpdpi2wvwzxgdnaim9sq0fdqws";
+    sha256 = "sha256-Z/jbr9o0WKPjkAsfZzxuwAKKdwYV3rLGkUMlMgyC5s0=";
     fetchSubmodules = true;
   };
 
@@ -31,5 +31,6 @@ buildPythonPackage rec {
     description = "Python library to edit the ROM of Pokémon Mystery Dungeon Explorers of Sky";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ xfix marius851000 ];
+    broken = stdenv.isDarwin; # pyobjc is missing
   };
 }
diff --git a/pkgs/development/python-modules/skytemple-rust/default.nix b/pkgs/development/python-modules/skytemple-rust/default.nix
index 793e22690e4a9..6066407dafd48 100644
--- a/pkgs/development/python-modules/skytemple-rust/default.nix
+++ b/pkgs/development/python-modules/skytemple-rust/default.nix
@@ -1,25 +1,34 @@
-{ lib, stdenv, buildPythonPackage, fetchFromGitHub, libiconv, rustPlatform, setuptools-rust }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, libiconv
+, Foundation
+, rustPlatform
+, setuptools-rust }:
 
 buildPythonPackage rec {
   pname = "skytemple-rust";
-  version = "unstable-2021-08-11";
+  version = "1.3.7";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
-    rev = "e306e5edc096cb3fef25585d9ca5a2817543f1cd";
-    sha256 = "0ja231gsy9i1z6jsaywawz93rnyjhldngi5i787nhnf88zrwx9ml";
+    rev = version;
+    sha256 = "sha256-rC7KA79va8gZpMKJQ7s3xYdbopNqmWdRYDCbaWaxsR0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "0gjvfblyv72m0nqv90m7qvbdnazsh5ind1pxwqz83vm4zjh9a873";
+    sha256 = "sha256-lXPCxRbaqUC5EfyeBPtJDuGADYOA+DWMaOZRwXppP8E=";
   };
 
-  buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
   nativeBuildInputs = [ setuptools-rust ] ++ (with rustPlatform; [ cargoSetupHook rust.cargo rust.rustc ]);
 
+  GETTEXT_SYSTEM = true;
+
   doCheck = false; # there are no tests
   pythonImportsCheck = [ "skytemple_rust" ];
 
diff --git a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
index bb91bad3ff1d8..8ca4a45b37108 100644
--- a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
+++ b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "skytemple-ssb-debugger";
-  version = "1.3.0";
+  version = "1.3.8.post2";
 
   src = fetchFromGitHub {
     owner = "SkyTemple";
     repo = pname;
     rev = version;
-    sha256 = "12v0071125m8xjcp2hxm9qvs0qw4hdhkx8r3gbl0plm22vl3fk0d";
+    sha256 = "sha256-dd0qsSNBwxuSopjz2PLqEFddZpvMgeJIjBXY5P6OAow=";
   };
 
   buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 09682a2a3d0ed..7e80ad35c5c5b 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.15.2";
+  version = "3.16.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,8 +28,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "slackapi";
     repo = "python-slack-sdk";
-    rev = "v${version}";
-    sha256 = "sha256-lhdh4Eo7yIsukXoKI6Ss793fYmAu91O1UElmxV9xAc4=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-XTt2R0JypbDGJtiWqFzmui7UVLK4/U46co7LcHkSbWo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slicer/default.nix b/pkgs/development/python-modules/slicer/default.nix
index 89fb4e5dc728a..2033c94fefc1a 100644
--- a/pkgs/development/python-modules/slicer/default.nix
+++ b/pkgs/development/python-modules/slicer/default.nix
@@ -20,6 +20,12 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook pandas pytorch scipy ];
 
+  disabledTests = [
+    # IndexError: too many indices for array
+    "test_slicer_sparse"
+    "test_operations_2d"
+  ];
+
   meta = with lib; {
     description = "Wraps tensor-like objects and provides a uniform slicing interface via __getitem__";
     homepage = "https://github.com/interpretml/slicer";
diff --git a/pkgs/development/python-modules/snapcast/default.nix b/pkgs/development/python-modules/snapcast/default.nix
index 95d162b7f3200..7e7491fe8b6d5 100644
--- a/pkgs/development/python-modules/snapcast/default.nix
+++ b/pkgs/development/python-modules/snapcast/default.nix
@@ -2,20 +2,22 @@
 , buildPythonPackage
 , construct
 , fetchFromGitHub
-, isPy3k
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "snapcast";
-  version = "2.1.3";
-  disabled = !isPy3k;
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "happyleavesaoc";
     repo = "python-snapcast";
-    rev = version;
-    sha256 = "1jigdccdd7bffszim942mxcwxyznfjx7y3r5yklz3psl7zgbzd6c";
+    rev = "refs/tags/${version}";
+    hash = "sha256-H41X5bfRRu+uE7eUsmUkONm6hugNs43+O7MvVPH0e+8=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "snapcast" ];
+  pythonImportsCheck = [
+    "snapcast"
+  ];
 
   meta = with lib; {
     description = "Control Snapcast, a multi-room synchronous audio solution";
diff --git a/pkgs/development/python-modules/snowflake-connector-python/default.nix b/pkgs/development/python-modules/snowflake-connector-python/default.nix
index e4b5d9ee67752..743a7e77afda0 100644
--- a/pkgs/development/python-modules/snowflake-connector-python/default.nix
+++ b/pkgs/development/python-modules/snowflake-connector-python/default.nix
@@ -24,12 +24,12 @@
 
 buildPythonPackage rec {
   pname = "snowflake-connector-python";
-  version = "2.7.6";
+  version = "2.7.7";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-MxYo4MoCdkSSuDteR3A72FcRWuKTRrct4y1/t8nsVIs=";
+    sha256 = "sha256-OZL/ClHY8yatR0AJVyomBq7AjBwQwm5f9UnmdlL8IFw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix
index a54fa65d08b74..d317f11dea425 100644
--- a/pkgs/development/python-modules/spglib/default.nix
+++ b/pkgs/development/python-modules/spglib/default.nix
@@ -1,23 +1,31 @@
-{ lib, buildPythonPackage, fetchPypi, numpy, nose, pyyaml }:
+{ lib, buildPythonPackage, fetchPypi, numpy, pytest, pyyaml }:
 
 buildPythonPackage rec {
   pname = "spglib";
-  version = "1.16.3";
+  version = "1.16.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff1420967d64c2d4f0d747886116a6836d9b473454cdd73d560dbfe973a8a038";
+    sha256 = "sha256-Lqzv1TzGRLqakMRoH9bJNLa92BjBE9fzGZBOB41dq5M=";
   };
 
   propagatedBuildInputs = [ numpy ];
 
-  checkInputs = [ nose pyyaml ];
+  checkInputs = [ pytest pyyaml ];
+
+  # pytestCheckHook doesn't work
+  # ImportError: cannot import name '_spglib' from partially initialized module 'spglib'
+  checkPhase = ''
+    pytest
+  '';
+
+  pythonImportsCheck = [ "spglib" ];
 
   meta = with lib; {
     description = "Python bindings for C library for finding and handling crystal symmetries";
-    homepage = "https://atztogo.github.io/spglib";
+    homepage = "https://spglib.github.io/spglib/";
+    changelog = "https://github.com/spglib/spglib/raw/v${version}/ChangeLog";
     license = licenses.bsd3;
     maintainers = with maintainers; [ psyanticy ];
   };
 }
-
diff --git a/pkgs/development/python-modules/sphinx-better-theme/default.nix b/pkgs/development/python-modules/sphinx-better-theme/default.nix
new file mode 100644
index 0000000000000..8227eca47d844
--- /dev/null
+++ b/pkgs/development/python-modules/sphinx-better-theme/default.nix
@@ -0,0 +1,45 @@
+{ lib, buildPythonPackage, fetchFromGitHub, sphinxHook }:
+
+buildPythonPackage rec {
+  pname = "sphinx-better-theme";
+  version = "0.1.5";
+  outputs = [ "out" "doc" ];
+
+  src = fetchFromGitHub {
+    owner = "irskep";
+    repo = "sphinx-better-theme";
+    rev = "v${version}";
+    sha256 = "07lhfmsjcfzcchsjzh6kxdq5s47j2a6lb5wv3m1kmv2hcm3gvddh";
+  };
+
+  nativeBuildInputs = [ sphinxHook ];
+
+  pythonImportsCheck = [ "better" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/irskep/sphinx-better-theme";
+    description = "Better Sphinx Theme";
+    longDescription = ''
+      This is a modified version of the default Sphinx theme with the following
+      goals:
+
+      1. Remove frivolous colors, especially hard-coded ones
+      2. Improve readability by limiting width and using more whitespace
+      3. Encourage visual customization through CSS, not themeconf
+      4. Use semantic markup
+
+      v0.1 meets goals one and two. Goal three is partially complete; it's simple to
+      add your own CSS file without creating a whole new theme.
+      you'd like something changed.
+
+      To use the theme, set ``html_theme_path`` to contain
+      ``better.better_theme_path``, and set ``html_theme`` to ``'better'``::
+
+          from better import better_theme_path
+          html_theme_path = [better_theme_path]
+          html_theme = 'better'
+    '';
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ kaction ];
+  };
+}
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index 95d54e404471a..2d4328ba3e16e 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -18,6 +18,10 @@ buildPythonPackage rec {
     pyzmq
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py --replace "ipython>=7.31.1,<8" "ipython"
+  '';
+
   # No tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index c117cb4990f8b..eaca9e6c7f408 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -1,16 +1,54 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27, makeDesktopItem, intervaltree,
-  jedi, pycodestyle, psutil, rope, numpy, scipy, matplotlib, pylint,
-  keyring, numpydoc, qtconsole, qtawesome, nbconvert, mccabe, pyopengl,
-  cloudpickle, pygments, spyder-kernels, qtpy, pyzmq, chardet, qdarkstyle,
-  watchdog, python-language-server, pyqtwebengine, atomicwrites, pyxdg,
-  diff-match-patch, three-merge, pyls-black, pyls-spyder, flake8, textdistance
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, makeDesktopItem
+, atomicwrites
+, chardet
+, cloudpickle
+, cookiecutter
+, diff-match-patch
+, flake8
+, intervaltree
+, jedi
+, jellyfish
+, keyring
+, matplotlib
+, mccabe
+, nbconvert
+, numpy
+, numpydoc
+, psutil
+, pygments
+, pylint
+, pyls-spyder
+, pyopengl
+, pyqtwebengine
+, python-lsp-black
+, python-lsp-server
+, pyxdg
+, pyzmq
+, pycodestyle
+, qdarkstyle
+, qstylizer
+, qtawesome
+, qtconsole
+, qtpy
+, rope
+, Rtree
+, scipy
+, spyder-kernels
+, textdistance
+, three-merge
+, watchdog
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "spyder";
   version = "5.3.0";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -20,11 +58,44 @@ buildPythonPackage rec {
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
 
   propagatedBuildInputs = [
-    intervaltree jedi pycodestyle psutil rope numpy scipy matplotlib pylint keyring
-    numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle spyder-kernels
-    pygments qtpy pyzmq chardet pyqtwebengine qdarkstyle watchdog python-language-server
-    atomicwrites pyxdg diff-match-patch three-merge pyls-black pyls-spyder
-    flake8 textdistance
+    atomicwrites
+    chardet
+    cloudpickle
+    cookiecutter
+    diff-match-patch
+    flake8
+    intervaltree
+    jedi
+    jellyfish
+    keyring
+    matplotlib
+    mccabe
+    nbconvert
+    numpy
+    numpydoc
+    psutil
+    pygments
+    pylint
+    pyls-spyder
+    pyopengl
+    pyqtwebengine
+    python-lsp-black
+    python-lsp-server
+    pyxdg
+    pyzmq
+    pycodestyle
+    qdarkstyle
+    qstylizer
+    qtawesome
+    qtconsole
+    qtpy
+    rope
+    Rtree
+    scipy
+    spyder-kernels
+    textdistance
+    three-merge
+    watchdog
   ];
 
   # There is no test for spyder
@@ -44,13 +115,8 @@ buildPythonPackage rec {
     # remove dependency on pyqtwebengine
     # this is still part of the pyqt 5.11 version we have in nixpkgs
     sed -i /pyqtwebengine/d setup.py
-    # The major version bump in watchdog is due to changes in supported
-    # platforms, not API break.
-    # https://github.com/gorakhargosh/watchdog/issues/761#issuecomment-777001518
     substituteInPlace setup.py \
-      --replace "pyqt5<5.13" "pyqt5" \
-      --replace "parso==0.7.0" "parso" \
-      --replace "watchdog>=0.10.3,<2.0.0" "watchdog>=0.10.3,<3.0.0"
+      --replace "ipython>=7.31.1,<8.0.0" "ipython"
   '';
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
index 85a03482a323d..c979fc58b1961 100644
--- a/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-mixins/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-mixins";
-  version = "1.5.1";
+  version = "1.5.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "absent1706";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-HZiv7F0/UatgY3KlILgzywrK5NJE/tDe6B8/smeYwlM=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-GmMxya6aJ7MMqQ3KSqO3f/cbwgWvQYhEVXtGi6fhP1M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index b3621802a0978..d7f07eea073ce 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -14,16 +14,21 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.26";
+  version = "3.26.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-G2Fy9PEYtq0dIWhsgV4HZa5y+wLxcI3CYSgDL6ijkdo=";
+    hash = "sha256-GK/036zijOSi9IWZSFifXrexY8dyo6cfwWyaF06x82c=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "click-default-group-wheel" "click-default-group"
+  '';
+
   propagatedBuildInputs = [
     click
     click-default-group
@@ -45,6 +50,6 @@ buildPythonPackage rec {
     description = "Python CLI utility and library for manipulating SQLite databases";
     homepage = "https://github.com/simonw/sqlite-utils";
     license = licenses.asl20;
-    maintainers = with maintainers; [ meatcar ];
+    maintainers = with maintainers; [ meatcar techknowlogick ];
   };
 }
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 6313f413c6ab7..257c7c276153e 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.6.4";
+  version = "1.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6RKJ5a8Yl+SnWgdfrTIwY0m1JyY6W9fhZk6pTZiBVx8=";
+    sha256 = "sha256-EdiLTzjRigJLsslWSymLNajvUDimBt4d4EBugxVYueg=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/ssh-mitm/default.nix b/pkgs/development/python-modules/ssh-mitm/default.nix
new file mode 100644
index 0000000000000..6973db343f618
--- /dev/null
+++ b/pkgs/development/python-modules/ssh-mitm/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, colored
+, enhancements
+, packaging
+, paramiko
+, pytz
+, pyyaml
+, requests
+, rich
+, sshpubkeys
+, typeguard
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ssh-mitm";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = version;
+    hash = "sha256-1Vx68ISsT2Vrzy3YBqDqcGEHXHzdKR8jTtBH9SNXT2s=";
+  };
+
+  propagatedBuildInputs = [
+    colored
+    enhancements
+    packaging
+    paramiko
+    pytz
+    pyyaml
+    requests
+    rich
+    sshpubkeys
+    typeguard
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "sshmitm"
+  ];
+
+  meta = with lib; {
+    description = "Tool for SSH security audits";
+    homepage = "https://github.com/ssh-mitm/ssh-mitm";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index 27c3f84331ad2..3e21c225ed853 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.74.0";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-+o7StcJBv9peiYTWBnIfnDUqodiG3sVQJBbKBOALktA=";
+    hash = "sha256-/rQA1woPv6VN9+Y3bI+bh2Ud7Zd81qAu4yxmGmB+JZo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/superqt/default.nix b/pkgs/development/python-modules/superqt/default.nix
index af600f623423c..1386706a33179 100644
--- a/pkgs/development/python-modules/superqt/default.nix
+++ b/pkgs/development/python-modules/superqt/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "superqt";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "napari";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-DPjJxOgybNvZ3YvYHr48fmx59Puck61Dzm2G4M9qKo4=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-P1uKQaYgXVTE7DK5w4Ct4aJyfdQ6jUPfaTOcYkpo9pc=";
   };
   format = "pyproject";
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/tempest/default.nix b/pkgs/development/python-modules/tempest/default.nix
index 39f7a82cd9ec8..5a88c7e1222be 100644
--- a/pkgs/development/python-modules/tempest/default.nix
+++ b/pkgs/development/python-modules/tempest/default.nix
@@ -24,7 +24,7 @@
 , hacking
 , oslotest
 , bash
-, python3
+, python
 }:
 
 buildPythonApplication rec {
@@ -76,8 +76,8 @@ buildPythonApplication rec {
     # Tests expect these applications available as such.
     mkdir -p bin
     export PATH="$PWD/bin:$PATH"
-    printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
-    printf '#!${bash}/bin/bash\nexec ${python3.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
+    printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.main "$@"\n' > bin/tempest
+    printf '#!${bash}/bin/bash\nexec ${python.interpreter} -m tempest.cmd.subunit_describe_calls "$@"\n' > bin/subunit-describe-calls
     chmod +x bin/*
 
     stestr --test-path tempest/tests run -e <(echo "
diff --git a/pkgs/development/python-modules/tensorflow-metadata/default.nix b/pkgs/development/python-modules/tensorflow-metadata/default.nix
index b39f1211d0cac..bdf6cc08aa64f 100644
--- a/pkgs/development/python-modules/tensorflow-metadata/default.nix
+++ b/pkgs/development/python-modules/tensorflow-metadata/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-metadata";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "tensorflow";
     repo = "metadata";
-    rev = "v${version}";
-    sha256 = "sha256-CQlLEVNcD9u2pojz8r1eLzYzc9i2hjdZfzfYSQ/8Q4k=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-IaLr6XYEy1EcyWi5GWzDFa7TeVZ59v8Wj5qkNdVbOqw=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/tesla-powerwall/default.nix b/pkgs/development/python-modules/tesla-powerwall/default.nix
new file mode 100644
index 0000000000000..a2a7b48937455
--- /dev/null
+++ b/pkgs/development/python-modules/tesla-powerwall/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, pytestCheckHook
+, responses
+}:
+
+buildPythonPackage rec {
+  pname = "tesla-powerwall";
+  version = "0.3.17";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    pname = "tesla_powerwall";
+    inherit version;
+    sha256 = "09351e408e8e3cc03414944c1a487ef2178300829559e80835026acb84330cfd";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    responses
+  ];
+
+  pytestFlagsArray = [
+    "tests/unit"
+  ];
+
+  pythonImportsCheck = [ "tesla_powerwall" ];
+
+  meta = {
+    description = "API for Tesla Powerwall";
+    homepage = "https://github.com/jrester/tesla_powerwall";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index 84900ad5477e9..430d0374ef20d 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonRelaxDepsHook
 , pbr
 , python-mimeparse
 , extras
@@ -20,15 +21,13 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ pbr python-mimeparse extras ];
   buildInputs = [ traceback2 ];
+  nativeBuildInputs = [ pythonRelaxDepsHook ];
 
   # testscenarios has a circular dependency on testtools
   doCheck = false;
   checkInputs = [ testscenarios ];
 
-  # testtools 2.0.0 and up has a circular run-time dependency on futures
-  postPatch = ''
-    substituteInPlace requirements.txt --replace "fixtures>=1.3.0" ""
-  '';
+  pythonRemoveDeps = [ "fixtures" ];
 
   meta = {
     description = "A set of extensions to the Python standard library's unit testing framework";
diff --git a/pkgs/development/python-modules/textual/default.nix b/pkgs/development/python-modules/textual/default.nix
index e14c64730a23a..5806b28e34903 100644
--- a/pkgs/development/python-modules/textual/default.nix
+++ b/pkgs/development/python-modules/textual/default.nix
@@ -1,38 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , rich
 , typing-extensions
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "textual";
-  version = "0.1.15";
+  version = "0.1.18";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jmjais0yq8dwi9yikgrxdw4rwp8aq1981nhfxn0v97jb07i4cj6";
+    sha256 = "sha256-XVmbt8r5HL8r64ISdJozmM+9HuyvqbpdejWICzFnfiw=";
   };
 
-  patches = [
-    (fetchpatch {
-      # v0.1.15 git tag has 0.1.14 in pyproject.toml
-      name = "version.patch";
-      url = "https://github.com/Textualize/textual/commit/1b8d7d184e10889002425641222702afba508aea.patch";
-      sha256 = "1nfqp5f8ba3fg0ar3lghrlqypbjbsaywxaz3iiff8fy8j2wgsppp";
-    })
+  nativeBuildInputs = [
+    poetry-core
   ];
 
-  nativeBuildInputs = [ poetry-core ];
-
   propagatedBuildInputs = [
     rich
+  ] ++ lib.optionals (pythonOlder "3.9") [
     typing-extensions
   ];
 
@@ -40,7 +36,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "textual" ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'rich = "^12.3.0"' 'rich = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "textual"
+  ];
 
   meta = with lib; {
     description = "TUI framework for Python inspired by modern web development";
diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix
index 806687361585f..2158cac9fa3b2 100644
--- a/pkgs/development/python-modules/timetagger/default.nix
+++ b/pkgs/development/python-modules/timetagger/default.nix
@@ -1,13 +1,18 @@
 { lib
-, python3Packages
+, buildPythonPackage
 , fetchFromGitHub
+, asgineer
+, itemdb
+, jinja2
+, markdown
+, pscript
+, pyjwt
+, uvicorn
 , pytestCheckHook
 , requests
-, pytest
-, pythonOlder
 }:
 
-python3Packages.buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "timetagger";
   version = "22.4.2";
 
@@ -18,7 +23,7 @@ python3Packages.buildPythonPackage rec {
     sha256 = "sha256-CWY+5O4Y1dvKQNy1Cclqj4+U6q5vVVj9hZq41MYqXKs=";
   };
 
-  propagatedBuildInputs = with python3Packages; [
+  propagatedBuildInputs = [
     asgineer
     itemdb
     jinja2
@@ -35,12 +40,8 @@ python3Packages.buildPythonPackage rec {
   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;
diff --git a/pkgs/development/python-modules/tldextract/default.nix b/pkgs/development/python-modules/tldextract/default.nix
index 139f58660c4cd..fe32af2671336 100644
--- a/pkgs/development/python-modules/tldextract/default.nix
+++ b/pkgs/development/python-modules/tldextract/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname   = "tldextract";
-  version = "3.2.1";
+  version = "3.3.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-rJMEzfgLCcN+6pZXmeDZrAqhzLZTH65Uiqvgm68aJUk=";
+    hash = "sha256-rc0kq/Ic40UEF81aAPI7fldVTOiugnM03RK/y7YnTPE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix
new file mode 100644
index 0000000000000..ddccb4d78657a
--- /dev/null
+++ b/pkgs/development/python-modules/torchmetrics/default.nix
@@ -0,0 +1,78 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cloudpickle
+, scikit-learn
+, scikitimage
+, packaging
+, psutil
+, py-deprecate
+, pytorch
+, pytestCheckHook
+, torchmetrics
+, pytorch-lightning
+}:
+
+let
+  pname = "torchmetrics";
+  version = "0.8.1";
+in
+buildPythonPackage {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "PyTorchLightning";
+    repo = "metrics";
+    rev = "v${version}";
+    hash = "sha256-AryEhYAeC97dO2pgHoz0Y9F//DVdX6RfCa80gI56iz4=";
+  };
+
+  propagatedBuildInputs = [
+    packaging
+    py-deprecate
+  ];
+
+  # Let the user bring their own instance
+  buildInputs = [
+    pytorch
+  ];
+
+  checkInputs = [
+    pytorch-lightning
+    scikit-learn
+    scikitimage
+    cloudpickle
+    psutil
+    pytestCheckHook
+  ];
+
+  # A cyclic dependency in: integrations/test_lightning.py
+  doCheck = false;
+  passthru.tests.check = torchmetrics.overridePythonAttrs (_: {
+    doCheck = true;
+  });
+
+  disabledTestPaths = [
+    # These require too many "leftpad-level" dependencies
+    "tests/text"
+    "tests/audio"
+    "tests/image"
+
+    # A few non-deterministic things like test_check_compute_groups_is_faster
+    "tests/bases/test_collections.py"
+  ];
+
+  pythonImportsCheck = [
+    "torchmetrics"
+  ];
+
+  meta = with lib; {
+    description = "Machine learning metrics for distributed, scalable PyTorch applications (used in pytorch-lightning)";
+    homepage = "https://torchmetrics.readthedocs.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [
+      SomeoneSerge
+    ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix
index 7846525f65fd7..2f093200bf35a 100644
--- a/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/pkgs/development/python-modules/total-connect-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2022.2.1";
+  version = "2022.5";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = version;
-    hash = "sha256-1/uqOxaJqrT+E+0ikNZX9AfIRRbpBSjh2nINrqGWxbY=";
+    hash = "sha256-S+xki1Bj+wvKhbl2vRRa8gULyxTsH4fyypkrHj3JwH0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index f566fda6f8ab1..1902a578ec2bb 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -1,5 +1,10 @@
-{ lib, fetchPypi, buildPythonPackage, service-identity, requests, six
-, mock, twisted, incremental, pep8, httpbin
+{ lib
+, fetchPypi
+, buildPythonPackage
+, requests
+, twisted
+, incremental
+, httpbin
 }:
 
 buildPythonPackage rec {
@@ -13,44 +18,23 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     requests
-    six
     incremental
-    service-identity
     twisted
-  ]
-    # twisted [tls] requirements (we should find a way to list "extras")
-    ++ twisted.extras.tls;
+  ] ++ twisted.extras-require.tls;
 
   checkInputs = [
-    pep8
-    mock
     httpbin
+    twisted
   ];
 
-  postPatch = ''
-    rm -fv src/treq/test/test_treq_integration.py
-  '';
-
-  # XXX tox tries to install coverage despite it is installed
-  #postBuild = ''
-  #  # build documentation and install in $out
-  #  tox -e docs
-  #  mkdir -pv $out/docs
-  #  cp -rv docs/* $out/docs/
-  #'';
-
   checkPhase = ''
-    pep8 --ignore=E902 treq
     trial treq
   '';
 
-  # Failing tests https://github.com/twisted/treq/issues/208
-  doCheck = false;
-
   meta = with lib; {
     homepage = "https://github.com/twisted/treq";
-    description = "A requests-like API built on top of twisted.web's Agent";
+    description = "Requests-like API built on top of twisted.web's Agent";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index c3a6a4af9e58d..315678b874efa 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.11.2";
+  version = "3.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7booFScN2qNqldPdBmxH1pTUz2+u7JMmPmX0tJojaeI=";
+    sha256 = "sha256-RcRFF5vIMOQsPXbd2g8DSnOrWnpLLNe3Sa8PqAdwFvU=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/trytond/default.nix b/pkgs/development/python-modules/trytond/default.nix
index c2509c662d3d8..431342cf02d54 100644
--- a/pkgs/development/python-modules/trytond/default.nix
+++ b/pkgs/development/python-modules/trytond/default.nix
@@ -1,9 +1,8 @@
 { lib
-, buildPythonApplication
-, fetchpatch
+, buildPythonPackage
 , fetchPypi
 , pythonOlder
-, mock
+, defusedxml
 , lxml
 , relatorio
 , genshi
@@ -13,44 +12,30 @@
 , werkzeug
 , wrapt
 , passlib
-, pillow
-, bcrypt
 , pydot
 , python-Levenshtein
-, simplejson
 , html2text
-, psycopg2
-, withPostgresql ? true
+, weasyprint
+, gevent
+, pillow
+, withPostgresql ? true, psycopg2
+, python
 }:
 
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "trytond";
-  version = "6.2.6";
+  version = "6.4.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Sof6A9lxU70YnCbboJr56CAdTL0cRbaRNxdvG5Tnqnw=";
+    sha256 = "3c04d75c2a779b88b8c7ab6dd252cf4fc51f9546bf42760d10dbd1a17f61b288";
   };
 
-  patches = [
-    (fetchpatch {
-      # werkzeug 2.1 compatibility for the tests
-      url = "https://github.com/tryton/trytond/commit/86a50ca06cf0d79404dbd731141ed29f8e9fcb9d.patch";
-      hash = "sha256-xY5Sdhkd0lEgscV7NHwX2YWxobWqQFElY5BJvDT+we8=";
-    })
-  ];
-
-  # Tells the tests which database to use
-  DB_NAME = ":memory:";
-
-  buildInputs = [
-    mock
-  ];
-
   propagatedBuildInputs = [
+    defusedxml
     lxml
     relatorio
     genshi
@@ -59,20 +44,29 @@ buildPythonApplication rec {
     python-sql
     werkzeug
     wrapt
-    pillow
     passlib
 
     # extra dependencies
-    bcrypt
     pydot
     python-Levenshtein
-    simplejson
     html2text
-  ] ++ lib.optional withPostgresql psycopg2;
+    weasyprint
+    gevent
+    pillow
+  ] ++ relatorio.extras-require.fodt
+    ++ passlib.extras-require.bcrypt
+    ++ passlib.extras-require.argon2
+    ++ lib.optional withPostgresql psycopg2;
+
+  checkPhase = ''
+    runHook preCheck
 
-  # If unset, trytond will try to mkdir /homeless-shelter
-  preCheck = ''
     export HOME=$(mktemp -d)
+    export TRYTOND_DATABASE_URI="sqlite://"
+    export DB_NAME=":memory:";
+    ${python.interpreter} -m unittest discover -s trytond.tests
+
+    runHook postCheck
   '';
 
   meta = with lib; {
@@ -86,6 +80,7 @@ buildPythonApplication rec {
       modularity, scalability and security.
     '';
     homepage = "http://www.tryton.org/";
+    changelog = "https://hg.tryton.org/trytond/file/${version}/CHANGELOG";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ udono johbo ];
   };
diff --git a/pkgs/development/python-modules/ttp-templates/default.nix b/pkgs/development/python-modules/ttp-templates/default.nix
new file mode 100644
index 0000000000000..46db94782be5c
--- /dev/null
+++ b/pkgs/development/python-modules/ttp-templates/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, netmiko
+, pytestCheckHook
+, python
+, pythonOlder
+, ttp
+}:
+
+buildPythonPackage rec {
+  pname = "ttp-templates";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "dmulyalin";
+    repo = "ttp_templates";
+    rev = version;
+    hash = "sha256-Qx+z/srYgD67FjXzYrc8xtA99n8shWK7yWj/r/ETN2U=";
+  };
+
+  propagatedBuildInputs = [
+    ttp
+  ];
+
+  checkInputs = [
+    netmiko
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ttp_templates"
+  ];
+
+  pytestFlagsArray = [
+    # The other tests requires data which is no part of the source
+    "test/test_ttp_templates_methods.py"
+    "test/test_yang_openconfig_lldp.py"
+  ];
+
+  meta = with lib; {
+    description = "Template Text Parser Templates collections";
+    homepage = "https://github.com/dmulyalin/ttp_templates";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tubeup/default.nix b/pkgs/development/python-modules/tubeup/default.nix
index e11aaa7d55596..46a8df82dff8e 100644
--- a/pkgs/development/python-modules/tubeup/default.nix
+++ b/pkgs/development/python-modules/tubeup/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "tubeup";
-  version = "0.0.28";
+  version = "0.0.30";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+RvDwOHL+zwpM/nOWWS7pZIFEOx+jMrgt3FLYSshANo=";
+    sha256 = "sha256-xN3H3l4ANT7/tXg+oGScvE0Atf6h9CVbODaWybe8a9o=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix
index a2c815b45e258..bcb6fbd3b06e0 100644
--- a/pkgs/development/python-modules/tweepy/default.nix
+++ b/pkgs/development/python-modules/tweepy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tweepy";
-  version = "4.8.0";
+  version = "4.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,8 +20,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-RaM2JN2WOHyZY+AxzgQLvhXg6UnevDbSFSR4jFLsYrc=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-BMRRunPRDW5J/7KU+pr2Uv9Qa6oHBwkA7tsGa5YdzLw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twisted/default.nix b/pkgs/development/python-modules/twisted/default.nix
index 02a993fdf1398..8bc03b1e5cf97 100644
--- a/pkgs/development/python-modules/twisted/default.nix
+++ b/pkgs/development/python-modules/twisted/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , buildPythonPackage
+, pythonOlder
 , fetchPypi
 , python
 , zope_interface
@@ -14,11 +15,24 @@
 , setuptools
 , idna
 , typing-extensions
+, pyasn1
+, cryptography
+, appdirs
+, bcrypt
+, pynacl
+, pyserial
+, h2
+, priority
+, contextvars
 }:
 buildPythonPackage rec {
   pname = "Twisted";
   version = "22.4.0";
 
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
+
   src = fetchPypi {
     inherit pname version;
     extension = "tar.gz";
@@ -27,7 +41,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ zope_interface incremental automat constantly hyperlink pyhamcrest attrs setuptools typing-extensions ];
 
-  passthru.extras.tls = [ pyopenssl service-identity idna ];
+  passthru.extras-require = rec {
+    tls = [ pyopenssl service-identity idna ];
+    conch = [ pyasn1 cryptography appdirs bcrypt ];
+    conch_nacl = conch ++ [ pynacl ];
+    serial = [ pyserial ];
+    http2 = [ h2 priority ];
+    contextvars = lib.optionals (pythonOlder "3.7") [ contextvars ];
+  };
 
   # Patch t.p._inotify to point to libc. Without this,
   # twisted.python.runtime.platform.supportsINotify() == False
diff --git a/pkgs/development/python-modules/txaio/default.nix b/pkgs/development/python-modules/txaio/default.nix
index 23c24f3e514a7..02cf7c0fda6af 100644
--- a/pkgs/development/python-modules/txaio/default.nix
+++ b/pkgs/development/python-modules/txaio/default.nix
@@ -5,7 +5,6 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
-, six
 , twisted
 , zope_interface
 }:
@@ -21,7 +20,6 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    six
     twisted
     zope_interface
   ];
diff --git a/pkgs/development/python-modules/txtorcon/default.nix b/pkgs/development/python-modules/txtorcon/default.nix
index 167e090fca064..7196e88e8dd93 100644
--- a/pkgs/development/python-modules/txtorcon/default.nix
+++ b/pkgs/development/python-modules/txtorcon/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     incremental twisted automat zope_interface
-  ] ++ twisted.extras.tls
+  ] ++ twisted.extras-require.tls
   ++ lib.optionals (!isPy3k) [ ipaddress ];
 
   checkInputs = [ pytestCheckHook mock lsof GeoIP ];
diff --git a/pkgs/development/python-modules/typecode/default.nix b/pkgs/development/python-modules/typecode/default.nix
index 16ee927e849b0..7b3a01a53a8ac 100644
--- a/pkgs/development/python-modules/typecode/default.nix
+++ b/pkgs/development/python-modules/typecode/default.nix
@@ -10,16 +10,19 @@
 , typecode-libmagic
 , pytestCheckHook
 , pytest-xdist
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "typecode";
-  version = "21.6.1";
+  version = "30.0.0";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3a82859df5607c900972e08e1bca31e3fe2daed37afd1b8231cad2ef613d8d6";
+    hash = "sha256-pRGLU/xzQQqDZMIsrq1Fy7VgGIpFjnHtpmO+yL7t4g8=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
index 8e52c5b6e0144..e8cf1edbde5ff 100644
--- a/pkgs/development/python-modules/types-dateutil/default.nix
+++ b/pkgs/development/python-modules/types-dateutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-python-dateutil";
-  version = "2.8.14";
+  version = "2.8.15";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Nnwf+hpSpLKlNMmzC0CwHyt/LqR6l/2CH2x20ceuMSk=";
+    sha256 = "sha256-fbHk7UkWvRKMvuPuze4OBsxWhNoqHN/Vf5hUHN++CGE=";
   };
 
   pythonImportsCheck = [ "dateutil-stubs" ];
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index d3ac7e4932bb1..bbbd791301815 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.3.7";
+  version = "2021.3.8";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-EdW6BiaBZ5U8zEo+7hksJLQtANKu9FbBYKh5iJPLIIE=";
+    sha256 = "sha256-QSU6OivwKLaj8XtYdJppLZVa8PdOl13pT29NLTzQHb0=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-tabulate/default.nix b/pkgs/development/python-modules/types-tabulate/default.nix
index 5da6ea016801d..c8f49386543a4 100644
--- a/pkgs/development/python-modules/types-tabulate/default.nix
+++ b/pkgs/development/python-modules/types-tabulate/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-tabulate";
-  version = "0.8.8";
+  version = "0.8.9";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-CzGcfhDdVh98FfVt7DR8MZP9hl9Ovl/x7LAg6vp5O8M=";
+    hash = "sha256-L8P6T+GFOsmHz1Do1FmeP+RG3VMGT+hqRqQHqY6fwE8=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-toml/default.nix b/pkgs/development/python-modules/types-toml/default.nix
index ed965cbb8c489..5b1482440ea95 100644
--- a/pkgs/development/python-modules/types-toml/default.nix
+++ b/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.6";
+  version = "0.10.7";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aus+17+oaTgVUcd07WqRQuPu2YqD76UQipYy6v1W3NM=";
+    sha256 = "sha256-pWf+JhSxd9U3rZmmYa3Jv8jFWkb5XmY3Ck7S3RcTNfk=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/uasiren/default.nix b/pkgs/development/python-modules/uasiren/default.nix
new file mode 100644
index 0000000000000..49ab9906c51bd
--- /dev/null
+++ b/pkgs/development/python-modules/uasiren/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build time
+, setuptools-scm
+
+# propagates
+, aiohttp
+
+# tests
+, pytestCheckHook
+}:
+
+let
+  pname = "uasiren";
+  version = "0.0.1";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "PaulAnnekov";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-NHrnG5Vhz+JZgcTJyfIgGz0Ye+3dFVv2zLCCqw2++oM=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "uasiren"
+    "uasiren.client"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/PaulAnnekov/uasiren/releases/tag/v${version}";
+    description = "Implements siren.pp.ua API - public wrapper for api.ukrainealarm.com API that returns info about Ukraine air-raid alarms";
+    homepage = "https://github.com/PaulAnnekov/uasiren";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/ufo2ft/default.nix b/pkgs/development/python-modules/ufo2ft/default.nix
index 8f700107bceb6..b1e5ea7905a01 100644
--- a/pkgs/development/python-modules/ufo2ft/default.nix
+++ b/pkgs/development/python-modules/ufo2ft/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "ufo2ft";
-  version = "2.26.0";
+  version = "2.27.0";
 
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1WQAs1ypWtLObgBzPtqtvHjkKnDWohu3PbI3bF7B0Sg=";
+    sha256 = "r5bE4M/blt5TKzP43MpijwYY6ll3aasszmGksY5WTTE=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/ufoLib2/default.nix b/pkgs/development/python-modules/ufoLib2/default.nix
index 21894203d1ad9..fab42e5169b82 100644
--- a/pkgs/development/python-modules/ufoLib2/default.nix
+++ b/pkgs/development/python-modules/ufoLib2/default.nix
@@ -5,6 +5,7 @@
 , fonttools
 , pytestCheckHook
 , fs
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -25,6 +26,8 @@ buildPythonPackage rec {
     fs
   ];
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   checkInputs = [
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/uharfbuzz/default.nix b/pkgs/development/python-modules/uharfbuzz/default.nix
index f39aa12152a14..f545acb976132 100644
--- a/pkgs/development/python-modules/uharfbuzz/default.nix
+++ b/pkgs/development/python-modules/uharfbuzz/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
@@ -41,5 +42,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/harfbuzz/uharfbuzz";
     license = licenses.asl20;
     maintainers = with maintainers; [ wolfangaukang ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix
index 0d7faf93f9344..987347c869510 100644
--- a/pkgs/development/python-modules/ujson/default.nix
+++ b/pkgs/development/python-modules/ujson/default.nix
@@ -10,7 +10,7 @@
 buildPythonPackage rec {
   pname = "ujson";
   version = "5.1.0";
-  disabled = isPyPy || pythonOlder "3.5";
+  disabled = isPyPy || pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
@@ -28,9 +28,9 @@ buildPythonPackage rec {
   pythonImportsCheck = [ "ujson" ];
 
   meta = with lib; {
-    description = "Ultra fast JSON encoder and decoder for Python";
-    homepage = "https://pypi.python.org/pypi/ujson";
+    description = "Ultra fast JSON encoder and decoder";
+    homepage = "https://github.com/ultrajson/ultrajson";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/ukrainealarm/default.nix b/pkgs/development/python-modules/ukrainealarm/default.nix
new file mode 100644
index 0000000000000..00854ded31673
--- /dev/null
+++ b/pkgs/development/python-modules/ukrainealarm/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build time
+, setuptools-scm
+
+# propagates
+, aiohttp
+
+# tests
+, pytestCheckHook
+}:
+
+let
+  pname = "ukrainealarm";
+  version = "0.0.1";
+in
+
+buildPythonPackage {
+  inherit pname version;
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "PaulAnnekov";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-0gsxXQiSkJIM/I0VYsjdCCB3NjPr6QJbD/rBkGrwtW8=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "ukrainealarm"
+    "ukrainealarm.client"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/PaulAnnekov/ukrainealarm/releases/tag/v${version}";
+    description = "Implements api.ukrainealarm.com API that returns info about Ukraine air raid alarms";
+    homepage = "https://github.com/PaulAnnekov/ukrainealarm";
+    license = licenses.mit;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 3df7f6703a79b..57e64ba97a894 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPy3k
-, isPy27
 , glibcLocales
 }:
 
@@ -11,8 +10,6 @@ buildPythonPackage rec {
   version = "2.1.2";
   format = "setuptools";
 
-  disabled = isPy27;
-
   src = fetchPypi {
     inherit pname version;
     sha256 = "588bee9c1cb208d0906a9f73c613d2bd32c3ed3702012f51efe318a3f2127eae";
@@ -33,6 +30,6 @@ buildPythonPackage rec {
     description = "A full-featured console (xterm et al.) user interface library";
     homepage = "https://urwid.org/";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/validobj/default.nix b/pkgs/development/python-modules/validobj/default.nix
new file mode 100644
index 0000000000000..2cf21522d4b35
--- /dev/null
+++ b/pkgs/development/python-modules/validobj/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flit
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "validobj";
+  version = "0.5.1";
+  format = "pyproject";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "430b0b56931a2cebdb857a9fe9da2467c06a3b4db37b728e7f1a8706e8887705";
+  };
+
+  nativeBuildInputs = [ flit ];
+
+  checkInputs = [ hypothesis pytestCheckHook ];
+
+  pythonImportsCheck = [ "validobj" ];
+
+  meta = with lib; {
+    description = "Validobj is library that takes semistructured data (for example JSON and YAML configuration files) and converts it to more structured Python objects";
+    homepage = "https://github.com/Zaharid/validobj";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/python-modules/vallox-websocket-api/default.nix b/pkgs/development/python-modules/vallox-websocket-api/default.nix
new file mode 100644
index 0000000000000..53af2f0dd9fcd
--- /dev/null
+++ b/pkgs/development/python-modules/vallox-websocket-api/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, construct
+, websockets
+, asynctest
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "vallox-websocket-api";
+  version = "2.11.0";
+
+  disabled = pythonOlder "3.6";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "yozik04";
+    repo = "vallox_websocket_api";
+    rev = version;
+    hash = "sha256-wZiPrPl9ESp43PFdRPvqB2nOg+ogfaArunZOR3Q9cvs=";
+  };
+
+  propagatedBuildInputs = [
+    construct
+    websockets
+  ];
+
+  checkInputs = [
+    asynctest
+    pytestCheckHook
+  ];
+
+  meta = {
+    description = "Async API for Vallox ventilation units";
+    homepage = "https://github.com/yozik04/vallox_websocket_api";
+    license = lib.licenses.lgpl3Only;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/voluptuous/default.nix b/pkgs/development/python-modules/voluptuous/default.nix
index d2e221d6e3903..4212de031be84 100644
--- a/pkgs/development/python-modules/voluptuous/default.nix
+++ b/pkgs/development/python-modules/voluptuous/default.nix
@@ -1,27 +1,31 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, nose
+, fetchFromGitHub
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "voluptuous";
-  version = "0.13.0";
+  version = "0.13.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-yuakUmtDS2QoFrNKAOEYbVpfXgyUirlNKpGOAeWHQGY=";
+  src = fetchFromGitHub {
+    owner = "alecthomas";
+    repo = pname;
+    rev = version;
+    hash = "sha256-cz3Bd+/yPh+VOHxzi/W+gbDh/H5Nl/n4jvxDOirmAVk=";
   };
 
   checkInputs = [
-    nose
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  pythonImportsCheck = [
+    "voluptuous"
+  ];
 
-  pythonImportsCheck = [ "voluptuous" ];
+  pytestFlagsArray = [
+    "voluptuous/tests/"
+  ];
 
   meta = with lib; {
     description = "Python data validation library";
diff --git a/pkgs/development/python-modules/wandb/default.nix b/pkgs/development/python-modules/wandb/default.nix
index f31708baef8b6..615b4e64aa4cd 100644
--- a/pkgs/development/python-modules/wandb/default.nix
+++ b/pkgs/development/python-modules/wandb/default.nix
@@ -12,6 +12,7 @@
 , jsonref
 , jsonschema
 , matplotlib
+, nbclient
 , nbformat
 , pandas
 , pathtools
@@ -36,7 +37,7 @@
 
 buildPythonPackage rec {
   pname = "wandb";
-  version = "0.12.15";
+  version = "0.12.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -45,7 +46,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "client";
     rev = "v${version}";
-    hash = "sha256-Fq+JwUEZP1QDFKYVyiR8DUU0GQV6fK50FW78qaWh+Mo=";
+    hash = "sha256-ZY7nTj93piTEeHhW+H+nQ+ws2dDmmY6u3p7uz296PbA=";
   };
 
   # setuptools is necessary since pkg_resources is required at runtime.
@@ -66,6 +67,20 @@ buildPythonPackage rec {
     shortuuid
   ];
 
+  # wandb expects 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/d5f655b7ca7e3eac2f3a67a84bc5c2a664a31baf/wandb/sdk/internal/meta.py#L128.
+  # See https://github.com/NixOS/nixpkgs/pull/164176#discussion_r828801621 as to
+  # why we don't put it in propagatedBuildInputs. Note that this is difficult to
+  # test offline due to https://github.com/wandb/client/issues/3519.
+  postInstall = ''
+    mkdir -p $out/bin
+    ln -s ${git}/bin/git $out/bin/git
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
   checkInputs = [
     azure-core
     bokeh
@@ -73,6 +88,7 @@ buildPythonPackage rec {
     jsonref
     jsonschema
     matplotlib
+    nbclient
     nbformat
     pandas
     pydantic
@@ -83,16 +99,6 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  # wandb expects 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/d5f655b7ca7e3eac2f3a67a84bc5c2a664a31baf/wandb/sdk/internal/meta.py#L128.
-  # See https://github.com/NixOS/nixpkgs/pull/164176#discussion_r828801621 as to
-  # why we don't put it in propagatedBuildInputs. Note that this is difficult to
-  # test offline due to https://github.com/wandb/client/issues/3519.
-  postInstall = ''
-    mkdir -p $out/bin
-    ln -s ${git}/bin/git $out/bin/git
-  '';
-
   disabledTestPaths = [
     # Tests that try to get chatty over sockets or spin up servers, not possible in the nix build environment.
     "tests/test_cli.py"
diff --git a/pkgs/development/python-modules/weasyprint/default.nix b/pkgs/development/python-modules/weasyprint/default.nix
index a1a7470b8b5d6..ce9432ee296aa 100644
--- a/pkgs/development/python-modules/weasyprint/default.nix
+++ b/pkgs/development/python-modules/weasyprint/default.nix
@@ -48,6 +48,12 @@ buildPythonPackage rec {
       pangocairo = "${pango.out}/lib/libpangocairo-1.0${stdenv.hostPlatform.extensions.sharedLibrary}";
       harfbuzz = "${harfbuzz.out}/lib/libharfbuzz${stdenv.hostPlatform.extensions.sharedLibrary}";
     })
+    # Disable tests for new Ghostscript
+    # Remove when next version is released
+    (fetchpatch {
+      url = "https://github.com/Kozea/WeasyPrint/commit/e544398b00d76bc0317ea7e2abe40dc46b380910.patch";
+      sha256 = "sha256-oQO3j9Mo1x98WaLPROxsOn0qkeYRJrCx5QWWKoHvabE=";
+    })
   ];
 
   nativeBuildInputs = [
@@ -80,6 +86,8 @@ buildPythonPackage rec {
     # sensitive to sandbox environments
     "test_tab_size"
     "test_tabulation_character"
+    "test_linear_gradients_5"
+    "test_linear_gradients_12"
   ];
 
   FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
diff --git a/pkgs/development/python-modules/webssh/default.nix b/pkgs/development/python-modules/webssh/default.nix
index ff26a9f1711e5..db21f16f424b7 100644
--- a/pkgs/development/python-modules/webssh/default.nix
+++ b/pkgs/development/python-modules/webssh/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "webssh";
-  version = "1.5.3";
+  version = "1.6.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Au6PE8jYm8LkEp0B1ymW//ZkrkcV0BauwufQmrHLEU4=";
+    hash = "sha256-yqjwahh2METXD83geTGt5sUL+vmxbrYxj4KtwTxbD94=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 646702befbb37..29736366f6742 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.33.0";
+  version = "0.34.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "v${version}";
-    sha256 = "sha256-m8T1ngTcqwrel4EW8jvXg7RH+TtYyZRvIR33kzgda7E=";
+    sha256 = "sha256-Gj+hXgGkOqKnZ4W2iZ9P6JN3lYMoREMSF/wfGwLL/tc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index 1dab5c8c92808..906d240c9e754 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.39.0";
+  version = "0.40.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "v${version}";
-    sha256 = "sha256-O5Dh0RWvSXCIF0savyNG5XDhGqCTJZHQpJM4VEX+S9w=";
+    sha256 = "sha256-NXINATb8/yDPnpwQEbPhuazdTlsZqv7BUPzedIg0IV4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/werkzeug/1.nix b/pkgs/development/python-modules/werkzeug/1.nix
deleted file mode 100644
index ae7ce1f2b90a7..0000000000000
--- a/pkgs/development/python-modules/werkzeug/1.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi
-, itsdangerous, hypothesis
-, pytestCheckHook, requests
-, pytest-timeout
-, isPy3k
- }:
-
-buildPythonPackage rec {
-  pname = "Werkzeug";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
-  };
-
-  propagatedBuildInputs = [ itsdangerous ];
-  checkInputs = [ pytestCheckHook requests hypothesis pytest-timeout ];
-
-  postPatch = ''
-    # ResourceWarning causes tests to fail
-    rm tests/test_routing.py
-  '';
-
-  disabledTests = [
-    "test_save_to_pathlib_dst"
-    "test_cookie_maxsize"
-    "test_cookie_samesite_attribute"
-    "test_cookie_samesite_invalid"
-    "test_range_parsing"
-    "test_content_range_parsing"
-    "test_http_date_lt_1000"
-    "test_best_match_works"
-    "test_date_to_unix"
-    "test_easteregg"
-
-    # Seems to be a problematic test-case:
-    #
-    # > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-    # E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
-    # E
-    # E Traceback (most recent call last):
-    # E   File "/nix/store/cwv8aj4vsqvimzljw5dxsxy663vjgibj-python3.9-Werkzeug-1.0.1/lib/python3.9/site-packages/werkzeug/formparser.py", line 318, in parse_multipart_headers
-    # E     return Headers(result)
-    # E ResourceWarning: unclosed file <_io.FileIO name=11 mode='rb+' closefd=True>
-    "test_basic_routing"
-    "test_merge_slashes_match"
-    "test_merge_slashes_build"
-    "TestMultiPart"
-    "TestHTTPUtility"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "test_get_machine_id"
-  ];
-
-  meta = with lib; {
-    homepage = "https://palletsprojects.com/p/werkzeug/";
-    description = "A WSGI utility library for Python";
-    license = licenses.bsd3;
-    maintainers = [ ];
-  };
-}
-
diff --git a/pkgs/tools/security/whispers/default.nix b/pkgs/development/python-modules/whispers/default.nix
index 07c1f1e707e40..02a1b050f914d 100644
--- a/pkgs/tools/security/whispers/default.nix
+++ b/pkgs/development/python-modules/whispers/default.nix
@@ -1,20 +1,33 @@
 { lib
+, astroid
+, beautifulsoup4
+, buildPythonPackage
 , fetchFromGitHub
-, python3
+, jproperties
+, luhn
+, lxml
+, pytest-mock
+, pytestCheckHook
+, python-Levenshtein
+, pythonOlder
+, pyyaml
 }:
 
-python3.pkgs.buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "whispers";
   version = "1.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jruUGyoZCyMu015QKtlvfx5WRMfxo/eYUue9wUIWb6o=";
+    hash = "sha256-jruUGyoZCyMu015QKtlvfx5WRMfxo/eYUue9wUIWb6o=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = [
     astroid
     beautifulsoup4
     jproperties
@@ -24,7 +37,7 @@ python3.pkgs.buildPythonApplication rec {
     pyyaml
   ];
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = [
     pytest-mock
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index 5b4f535563c22..563e792850d50 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -8,13 +8,20 @@
 buildPythonPackage rec {
   pname = "widgetsnbextension";
   version = "3.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-6Ep6n8ubrz1XEG4YSnOJqPjrk1v3QaXrnWCqGMwCmoA=";
+    hash = "sha256-6Ep6n8ubrz1XEG4YSnOJqPjrk1v3QaXrnWCqGMwCmoA=";
   };
 
-  propagatedBuildInputs = [ notebook ];
+  # setup.py claims to require notebook, but the source doesn't have any imports
+  # in it.
+  postPatch = ''
+    substituteInPlace setup.py --replace "'notebook>=4.4.1'," ""
+  '';
+
+  propagatedBuildInputs = [ ];
 
   # No tests in archive
   doCheck = false;
diff --git a/pkgs/development/python-modules/xdot/default.nix b/pkgs/development/python-modules/xdot/default.nix
index fa24256b6a007..a07235006c9a0 100644
--- a/pkgs/development/python-modules/xdot/default.nix
+++ b/pkgs/development/python-modules/xdot/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, python3, xvfb-run
+{ lib, buildPythonPackage, fetchPypi, isPy3k, python, xvfb-run
 , wrapGAppsHook, gobject-introspection, pygobject3, graphviz, gtk3, numpy }:
 
 buildPythonPackage rec {
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   '';
 
   checkPhase = ''
-    xvfb-run -s '-screen 0 800x600x24' ${python3.interpreter} nix_run_setup test
+    xvfb-run -s '-screen 0 800x600x24' ${python.interpreter} nix_run_setup test
   '';
 
   # https://github.com/NixOS/nixpkgs/pull/107872#issuecomment-752175866
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index efb944c4a71d6..315ba9416d540 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.21.1";
+  version = "0.21.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-QNy/jUh/kIj6sabWnmC5L00ikBTrVmOEp6mFBya29WM=";
+    sha256 = "sha256-GEjrqqmlGA6wG5x89AZXd8FLvrKEzCLmVhhZ7FxDB+w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmltodict/default.nix b/pkgs/development/python-modules/xmltodict/default.nix
index 5e0733b6256e7..e0a9f4c5d73e8 100644
--- a/pkgs/development/python-modules/xmltodict/default.nix
+++ b/pkgs/development/python-modules/xmltodict/default.nix
@@ -22,6 +22,6 @@ buildPythonPackage rec {
     description = "Makes working with XML feel like you are working with JSON";
     homepage = "https://github.com/martinblech/xmltodict";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index 2eb38dd0784ec..3e93a01b57ba9 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.23";
+  version = "1.1.25";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CnAVkwCOADBNY0cUvq9Dt6JR+fIr4LiZVMzJIIFqzG0=";
+    sha256 = "sha256-O7M9Shh8jp2fTaVQPM8mgh1pkv75wn22PFpxJVenbAo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yte/default.nix b/pkgs/development/python-modules/yte/default.nix
index 7a7132a83266a..8783e890e7641 100644
--- a/pkgs/development/python-modules/yte/default.nix
+++ b/pkgs/development/python-modules/yte/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, dpath
 , fetchFromGitHub
 , plac
 , poetry-core
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yte";
-  version = "1.2.2";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "koesterlab";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-x0CmPiV/6zTnawPW9lgrZ9NsUhmK8fhafwqOP9o3Mdc=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-G3TjIs/EeCqpNuFdb/WZ7PaPtnUdTvbH41OtRypfptg=";
   };
 
   nativeBuildInputs = [
@@ -27,6 +28,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
+    dpath
     plac
     pyyaml
   ];
diff --git a/pkgs/development/python-modules/ytmusicapi/default.nix b/pkgs/development/python-modules/ytmusicapi/default.nix
index fdee7ace495a8..6331438a95886 100644
--- a/pkgs/development/python-modules/ytmusicapi/default.nix
+++ b/pkgs/development/python-modules/ytmusicapi/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ytmusicapi";
-  version = "0.21.0";
+  version = "0.22.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JstIHc61TFQEgRHr54N4Doq6ML0EcIcDGTEJ/tbrC2A=";
+    hash = "sha256-CZ4uoW4UHn5C+MckQXysTdydaApn99b0UCnF5RPb7DI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index e9eba02ac90f2..5fa96494cc16b 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.38.5";
+  version = "0.38.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    hash = "sha256-QmmVxrvBPEwsmD/XJZClNQj4PUX+7X+75ZWSOO4/C24=";
+    hash = "sha256-P5yAXh/5J5/giOZTOuk9ay3PF8MNxPOJgtoWeX7xxFk=";
   };
 
   propagatedBuildInputs = [
@@ -39,6 +39,8 @@ buildPythonPackage rec {
     "test_launch_and_close_v4_v6"
     "test_launch_and_close_v6_only"
     "test_integration_with_listener_ipv6"
+    # Starting with 0.38.6: AssertionError: assert [('add', '_ht..._tcp.local.')]
+    "test_service_browser_expire_callbacks"
   ] ++ lib.optionals stdenv.isDarwin [
     "test_lots_of_names"
   ];
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index a10e9ae65c791..da0ae7872dae7 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -4,6 +4,7 @@
 , asynctest
 , buildPythonPackage
 , crccheck
+, cryptography
 , fetchFromGitHub
 , pycryptodome
 , pytest-aiohttp
@@ -15,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.44.2";
+  version = "0.45.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -24,13 +25,14 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = version;
-    sha256 = "sha256-E6SeuVu5UdWL5Tx39UQymNhABltR+qVHANYWuCh+h6I=";
+    sha256 = "sha256-85Bi8qjbUKLXFW7VGOxzelMa1gY9giGeQRmOeoZ1idE=";
   };
 
   propagatedBuildInputs = [
     aiohttp
     aiosqlite
     crccheck
+    cryptography
     pycryptodome
     voluptuous
   ];
diff --git a/pkgs/development/python-modules/zimports/default.nix b/pkgs/development/python-modules/zimports/default.nix
index dc9a618924058..20e23afcfc016 100644
--- a/pkgs/development/python-modules/zimports/default.nix
+++ b/pkgs/development/python-modules/zimports/default.nix
@@ -6,22 +6,24 @@
 , pyflakes
 , tomli
 , setuptools
-, mock
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "zimports";
-  version = "0.5.0";
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "sqlalchemyorg";
     repo = "zimports";
-    rev = "v${version}";
-    sha256 = "sha256-O8MHUt9yswL9fK9pEddkvnNS2E4vWA/S1BTs1OD1VbU=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-qm5mA8pCSLbkupGBo+ppHSW6uy1j/FfV3idvGQGhjqU=";
   };
 
-  disabled = !isPy3k;
-
   propagatedBuildInputs = [
     flake8-import-order
     pyflakes
@@ -30,14 +32,12 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    mock
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    runHook preInstallCheck
-    PYTHONPATH= $out/bin/zimports --help >/dev/null
-    runHook postInstallCheck
-  '';
+  pythonImportsCheck = [
+    "zimports"
+  ];
 
   meta = with lib; {
     description = "Python import rewriter";
diff --git a/pkgs/development/python-modules/zope_event/default.nix b/pkgs/development/python-modules/zope_event/default.nix
index 2ebf6e017b5f4..118a3a2c44a3d 100644
--- a/pkgs/development/python-modules/zope_event/default.nix
+++ b/pkgs/development/python-modules/zope_event/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "An event publishing system";
-    homepage = "https://pypi.python.org/pypi/zope.event";
+    homepage = "https://pypi.org/project/zope.event/";
     license = licenses.zpl20;
     maintainers = with maintainers; [ goibhniu ];
   };
diff --git a/pkgs/development/python-modules/zope_lifecycleevent/default.nix b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
index 1b3e288ba255b..7b3852239e8f9 100644
--- a/pkgs/development/python-modules/zope_lifecycleevent/default.nix
+++ b/pkgs/development/python-modules/zope_lifecycleevent/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "zope.lifecycleevent";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7ec39087cc1524e55557e7d9dc6295eb1b95b09b125e293c0e2dd068574f0aee";
+    sha256 = "sha256-9ahU6J/5fe6ke/vqN4u77yeJ0uDMkKHB2lfZChzmfLU=";
   };
 
   propagatedBuildInputs = [ zope_event zope_component ];
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 028e30f4cb740..d0f938c6a8bf2 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.35.3";
+  version = "0.36.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vM5GEqq32VdC5UjGVlnrN8/LRcCHHkJFzEbaA2Snte8=";
+    sha256 = "sha256-XVFOx0f5lBh5i7q8XEb4qd0Lu09jEEYKyJUJBqXwirc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
index d017c213415c6..5699bc7c61b8e 100644
--- a/pkgs/development/tools/amazon-qldb-shell/default.nix
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -1,10 +1,12 @@
-{ lib
+{ stdenv
+, lib
 , clang
 , cmake
 , fetchFromGitHub
 , llvmPackages
 , rustPlatform
 , testers
+, Security
 }:
 
 let
@@ -21,7 +23,8 @@ let
     };
 
     nativeBuildInputs = [ clang cmake ];
-    buildInputs = [ llvmPackages.libclang ];
+    buildInputs = [ llvmPackages.libclang ]
+      ++ lib.optional stdenv.isDarwin Security;
 
     cargoSha256 = "sha256-y3dNEa2U9mwsENPda44zweszlk4UJXGtfeH+er8mi0U=";
 
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index efeaf9df50750..7d9dbe6f393db 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -76,8 +76,9 @@ let
         '';
         homepage = "https://github.com/com-lihaoyi/Ammonite";
         license = licenses.mit;
-        platforms = platforms.all;
         maintainers = [ maintainers.nequissimus ];
+        mainProgram = "amm";
+        platforms = platforms.all;
       };
     };
 in {
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 92bcfec2790e3..eadeec8accebb 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.1102";
+  version = "2.0.1140";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-OPYlgj8jdgCQJddy9UUXMjHJtQcoMrZbghgPUdyUV5Y=";
+    hash = "sha256-aGO5mjBsUwpLIv73pZH1la6tyGByznTrjkW9dojkXwg=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -89,6 +89,7 @@ buildPythonApplication rec {
     pytest-mock
     pytest-xdist
     pytestCheckHook
+    responses
   ];
 
   postPatch = ''
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index e791d02963fe1..22bfbcae91811 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.8.2";
+  version = "2.8.5";
 
   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-F0tr4oQPgusLVCP5jSCYxl/xHbZLrVXd2FFYSJY3PPs=";
+    sha256 = "sha256-HZJBqm196RgWR/14mfrLYQlU+4W3t0b4TXme04XkfKw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/hopper/default.nix b/pkgs/development/tools/analysis/hopper/default.nix
index b169877f5c1f7..d7b519b04c347 100644
--- a/pkgs/development/tools/analysis/hopper/default.nix
+++ b/pkgs/development/tools/analysis/hopper/default.nix
@@ -3,36 +3,35 @@
 , lib
 , autoPatchelfHook
 , wrapQtAppsHook
-, libbsd
-, python27
 , gmpxx
-, ncurses5
 , gnustep
-, libffi
+, libbsd
+, libffi_3_3
+, ncurses6
 }:
+
 stdenv.mkDerivation rec {
   pname = "hopper";
-  version = "4.5.29";
-  rev = "v${lib.versions.major version}";
+  version = "5.5.3";
+  rev = "v4";
 
   src = fetchurl {
-    url = "https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-${rev}-${version}-Linux.pkg.tar.xz";
-    sha256 = "1v1pff5fiv41khvrnlpdks2vddjnvziyn14qqj6v26snyhwi86zh";
+    url = "https://d2ap6ypl1xbe4k.cloudfront.net/Hopper-${rev}-${version}-Linux-demo.pkg.tar.xz";
+    hash = "sha256-xq9ZVg1leHm/tq6LYyQLa8p5dDwBd64Jt92uMoE0z58=";
   };
 
   sourceRoot = ".";
 
   nativeBuildInputs = [
-    wrapQtAppsHook
     autoPatchelfHook
+    wrapQtAppsHook
   ];
 
   buildInputs = [
-    libbsd
-    python27
-    gmpxx
-    ncurses5
     gnustep.libobjc
+    libbsd
+    libffi_3_3
+    ncurses6
   ];
 
   installPhase = ''
@@ -54,9 +53,6 @@ stdenv.mkDerivation rec {
       $sourceRoot/opt/hopper-${rev}/lib/libpthread_workqueue.so* \
       $out/lib
 
-    # we already ship libffi.so.7
-    ln -s ${lib.getLib libffi}/lib/libffi.so $out/lib/libffi.so.6
-
     cp -r $sourceRoot/usr/share $out
 
     runHook postInstall
diff --git a/pkgs/development/tools/analysis/qcachegrind/default.nix b/pkgs/development/tools/analysis/qcachegrind/default.nix
index 5ce79a0924883..ff27c68bee3cd 100644
--- a/pkgs/development/tools/analysis/qcachegrind/default.nix
+++ b/pkgs/development/tools/analysis/qcachegrind/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, qmake, qtbase, perl, python2, php, kcachegrind, wrapQtAppsHook }:
+{ lib, stdenv, qmake, qtbase, perl, php, kcachegrind, wrapQtAppsHook }:
 
 stdenv.mkDerivation {
   pname = "qcachegrind";
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   src = kcachegrind.src;
 
-  buildInputs = [ qtbase perl python2 php ];
+  buildInputs = [ qtbase perl php ];
 
   nativeBuildInputs = [ qmake wrapQtAppsHook ];
 
@@ -15,7 +15,6 @@ stdenv.mkDerivation {
   postInstall = ''
      mkdir -p $out/bin
      cp -p converters/dprof2calltree $out/bin/dprof2calltree
-     cp -p converters/hotshot2calltree.in $out/bin/hotshot2calltree
      cp -p converters/memprof2calltree $out/bin/memprof2calltree
      cp -p converters/op2calltree $out/bin/op2calltree
      cp -p converters/pprof2calltree $out/bin/pprof2calltree
diff --git a/pkgs/development/tools/analysis/rr/unstable.nix b/pkgs/development/tools/analysis/rr/unstable.nix
index 35098c1bcfc8e..8ffdbc88e4dd7 100644
--- a/pkgs/development/tools/analysis/rr/unstable.nix
+++ b/pkgs/development/tools/analysis/rr/unstable.nix
@@ -11,12 +11,12 @@ let
 in
 
   rr.overrideAttrs (old: {
-    version = "unstable-2021-07-06";
+    version = "unstable-2022-05-12";
 
     src = fetchFromGitHub {
       owner = "mozilla";
       repo = "rr";
-      rev = "0fc21a8d654dabc7fb1991d76343824cb7951ea0";
-      sha256 = "0s851rflxmvxcfw97zmplcwzhv86xmd3my78pi4c7gkj18d621i5";
+      rev = "c96cb688106634ad09af6214aa91252c3a4f74b1";
+      sha256 = "sha256-K4cEQnvBXr/j9qXCgIHLqMrRzm96ushTO5STivRj+Mk=";
     };
   })
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 33e5de472c2d1..9ecc01c0a483f 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,21 +2,23 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.35.0";
+  version = "0.36.2";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rLPKc9QeT9r0JUYcTMSHPa/4FxYiMLMdnv2iOMdBAy0=";
+    sha256 = "sha256-DPgYc0nUrRkidWqhv0X9v+2VSNPy1+0ZQ2gCe7T2gu0=";
   };
 
-  vendorSha256 = "sha256-J1PgrWFAu1LrAYdoJP3HUunz/MkJ4Co0+hc7e6nFTBo=";
+  vendorSha256 = "sha256-Is4dpBu/Nm34NZ3NftSGTZnSR8831kM56dvBjtfUTGU=";
 
   doCheck = false;
 
   subPackages = [ "." ];
 
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Terraform linter focused on possible errors, best practices, and so on";
     homepage = "https://github.com/terraform-linters/tflint";
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index a4fdf0085c30a..be622e99e9164 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.19.1";
+  version = "1.21.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xeAMwYpi9WvKALzOPLjVItHYzFJW+O++5jgqRSC7awk=";
+    sha256 = "sha256-z2RVMPZykz2FUsmn5sQs3fAK/h+cWv+A/56rhOlHkGA=";
   };
 
   ldflags = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorSha256 = "sha256-xDK40Vc2tHZ7apfKznt7EEz1vR6UhqtXHgYXR2mISiI=";
+  vendorSha256 = "sha256-R5sks8mbY3JpKcVl7XBKst/QI8ZWIqXAR3D6/eflV1Q=";
 
   subPackages = [
     "cmd/tfsec"
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 0bbe2056be541..c4fdb203c34f9 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -44,6 +44,7 @@ python3.pkgs.buildPythonApplication rec {
       --replace "dateparser~=1.0" "dateparser>=0.7" \
       --replace "docker~=4.2.0" "docker>=4.2.0" \
       --replace "Flask~=1.1.2" "Flask~=2.0" \
+      --replace "jmespath~=0.10.0" "jmespath" \
       --replace "PyYAML~=5.3" "PyYAML #" \
       --replace "regex==" "regex #" \
       --replace "requests==" "requests #" \
diff --git a/pkgs/development/tools/boost-build/default.nix b/pkgs/development/tools/boost-build/default.nix
index 044589a9664b4..cc15d9a67ccc4 100644
--- a/pkgs/development/tools/boost-build/default.nix
+++ b/pkgs/development/tools/boost-build/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation {
     sourceRoot="$sourceRoot/tools/build"
   '';
 
+  patches = useBoost.boostBuildPatches or [];
+
   # Upstream defaults to gcc on darwin, but we use clang.
   postPatch = ''
     substituteInPlace src/build-system.jam \
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
deleted file mode 100644
index 6168c4a477f6c..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/default.nix
+++ /dev/null
@@ -1,390 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper
-, zip, unzip, bash, writeCBin, coreutils
-, which, python3, perl, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, runtimeShell
-# Always assume all markers valid (don't redownload dependencies).
-# Also, don't clean up environment variables.
-, enableNixHacks ? false
-}:
-
-let
-  srcDeps = [
-    # From: $REPO_ROOT/WORKSPACE
-    (fetchurl {
-      url = "https://github.com/google/desugar_jdk_libs/archive/915f566d1dc23bc5a8975320cd2ff71be108eb9c.zip";
-      sha256 = "0b926df7yxyyyiwm9cmdijy6kplf0sghm23sf163zh8wrk87wfi7";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/2d9566b21fbe405acf5f7bf77eda30df72a4744c.tar.gz";
-        sha256 = "4a1318fed4831697b83ce879b3ab70ae09592b167e5bda8edaff45132d1c3b3f";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz";
-        sha256 = "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52";
-    })
-    (fetchurl {
-      url = "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz";
-      sha256 = "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898";
-    })
-     (fetchurl {
-         url = "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_linux-v3.1.zip";
-         sha256 = "a0cd51f9db1bf05a722ff7f5c60a07fa1c7d27428fff0815c342d32aa6c53576";
-     })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_java_tools/releases/javac10/v3.1/java_tools_javac10_darwin-v3.1.zip";
-        sha256 = "c646aad8808b8ec5844d6a80a1287fc8e13203375fe40d6af4819eff48b9bbaf";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip";
-        sha256 = "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889";
-    })
-    (fetchurl {
-        url = "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip";
-        sha256 = "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0";
-    })
-    (fetchurl {
-        url = "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.2.tar.gz";
-        sha256 = "04f85f2dd049e87805511e3babc5cea3f5e72332b1627e34f3a5461cc38e815f";
-    })
-  ];
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # 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",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-in
-stdenv'.mkDerivation rec {
-
-  version = "0.26.0";
-
-  meta = with lib; {
-    homepage = "https://github.com/bazelbuild/bazel/";
-    description = "Build tool that builds code quickly and reliably";
-    license = licenses.asl20;
-    platforms = platforms.linux ++ platforms.darwin;
-  };
-
-  # Additional tests that check bazel’s functionality. Execute
-  #
-  #     nix-build . -A bazel.tests
-  #
-  # in the nixpkgs checkout root to exercise them locally.
-  passthru.tests = {
-    pythonBinPath = callPackage ./python-bin-path-test.nix {};
-    bashTools = callPackage ./bash-tools-test.nix {};
-  };
-
-  pname = "bazel";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "d26dadf62959255d58e523da3448a6222af768fe1224e321b120c1d5bbe4b4f2";
-  };
-
-  # 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;
-
-  sourceRoot = ".";
-
-  patches = [
-    ./glibc.patch
-    ./python-stub-path-fix.patch
-  ] ++ lib.optional enableNixHacks ../nix-hacks.patch;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  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 ${llvmPackages_8.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 \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # 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 python's stub shebang to plain python path. (see TODO add pr URL)
-      # See also `postFixup` where python is added to $out/nix-support
-      substituteInPlace src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt\
-          --replace "/usr/bin/env python" "${python3.interpreter}" \
-          --replace "NIX_STORE_PYTHON_PATH" "${python3.interpreter}" \
-
-      # md5sum is part of coreutils
-      sed -i 's|/sbin/md5|md5sum|' \
-        src/BUILD
-
-      # 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.
-        substituteInPlace "$path" \
-          --replace /bin/bash ${customBash}/bin/bash \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      build --experimental_distdir=${distDir}
-      fetch --experimental_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 --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      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 --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -i scripts/bootstrap/compile.sh
-
-      # --experimental_strict_action_env (which will soon become the
-      # default, see bazelbuild/bazel#2574) hardcodes the default
-      # action environment to a value that on NixOS at least is bogus.
-      # So we hardcode it to something useful.
-      substituteInPlace \
-        src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java \
-        --replace /bin:/usr/bin ${defaultShellPath}
-
-      # 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
-  ];
-
-  strictDeps = true;
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools 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 = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./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
-  '';
-
-  installPhase = ''
-    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-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    wrapProgram "$out/bin/bazel" --add-flags --server_javabase="${runJdk}"
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  # Temporarily disabling for now. A new approach is needed for this derivation as Bazel
-  # accesses the internet during the tests which fails in a sandbox.
-  doInstallCheck = false;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        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-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    echo "${python3}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch
deleted file mode 100644
index c4de48068f111..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch
deleted file mode 100644
index cbc4192d2d9bb..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_26/python-stub-path-fix.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-index dac21c9a83..69b11c283f 100644
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-@@ -67,7 +67,7 @@ def FindPythonBinary(module_space):
-     return os.path.join(module_space, PYTHON_BINARY)
-   else:
-     # Case 4: Path has to be looked up in the search path.
--    return SearchPath(PYTHON_BINARY)
-+    return "NIX_STORE_PYTHON_PATH"
- 
- def CreatePythonPathEntries(python_imports, module_space):
-   parts = python_imports.split(':');
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
deleted file mode 100644
index 91131bc02c63c..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/default.nix
+++ /dev/null
@@ -1,560 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub
-, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
-# this package (through the fixpoint glass)
-, bazel_self
-, lr, xe, zip, unzip, bash, writeCBin, coreutils
-, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# updater
-, python27, python3, writeScript
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, 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 = "0.29.1";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1rcd6xy61n07n7m6dgcw23275r8z3gkwmqdkd48nwrq8yb7m4al7";
-  };
-
-  # 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.io_bazel_rules_sass
-      srcs.platforms
-      (if stdenv.hostPlatform.isDarwin
-       then srcs."java_tools_javac11_darwin-v4.0.zip"
-       else srcs."java_tools_javac11_linux-v4.0.zip")
-      srcs."coverage_output_generator-v1.0.zip"
-      srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.8.tar.gz"
-      srcs."0.27.1.tar.gz"
-      srcs.rules_pkg
-      srcs.rules_cc
-      srcs.rules_java
-      srcs.rules_proto
-      ]);
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # 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",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-
-  platforms = lib.platforms.linux ++ lib.platforms.darwin;
-
-  # This repository is fetched by bazel at runtime
-  # however it contains prebuilt java binaries, with wrong interpreter
-  # and libraries path.
-  # We prefetch it, patch it, and override it in a global bazelrc.
-  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
-
-  remote_java_tools = stdenv.mkDerivation {
-    name = "remote_java_tools_${system}";
-
-    src = srcDepsSet."java_tools_javac11_${system}-v4.0.zip";
-
-    nativeBuildInputs = [ unzip ]
-      ++ lib.optional stdenv.isLinux autoPatchelfHook;
-    buildInputs = [ gcc-unwrapped ];
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      mkdir $out;
-    '';
-
-    installPhase = ''
-      cp -Ra * $out/
-      touch $out/WORKSPACE
-    '';
-  };
-
-  bazelRC = writeTextFile {
-    name = "bazel-rc";
-    text = ''
-      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
-      build --distdir=${distDir}
-      startup --server_javabase=${runJdk}
-
-      # load default location for the system wide configuration
-      try-import /etc/bazel.bazelrc
-    '';
-  };
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-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;
-  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
-    ./glibc.patch
-
-    # --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;
-    })
-
-    # 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 ] ++ (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 = "5d8c8961a2516ebf875787df35e98cadd08d43dc";
-        sha256 = "03c1bwlq5bs3hg96v4g4pg2vqwhqq6w538h66rcpw02f83yy7fs8";
-      };
-
-    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;
-      });
-    };
-
-  # update the list of workspace dependencies
-  passthru.updater = writeScript "update-bazel-deps.sh" ''
-    #!${runtimeShell}
-    cat ${runCommand "bazel-deps.json" {} ''
-        ${unzip}/bin/unzip ${src} WORKSPACE
-        ${python3}/bin/python3 ${../update-srcDeps.py} ./WORKSPACE > $out
-    ''} > ${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;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  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 ${llvmPackages_8.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 \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # 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|' \
-        src/BUILD
-
-      # 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 ${customBash}/bin/bash \
-          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
-          --replace "/usr/bin/env python" ${python3}/bin/python \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # bazel test runner include references to /bin/bash
-      substituteInPlace tools/build_rules/test_rules.bzl \
-        --replace /bin/bash ${customBash}/bin/bash
-
-      for i in $(find tools/cpp/ -type f)
-      do
-        substituteInPlace $i \
-          --replace /bin/bash ${customBash}/bin/bash
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      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 --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      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 --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -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
-    python3
-  ];
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools 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 = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./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
-  '';
-
-  installPhase = ''
-    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-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test --distdir=${distDir} \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        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-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
-    # default to using python3. Therefore, both python27 and python3 are
-    # runtime dependencies.
-    echo "${python27}" >> $out/nix-support/depends
-    echo "${python3}" >> $out/nix-support/depends
-  '' + lib.optionalString stdenv.isDarwin ''
-    echo "${cctools}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch
deleted file mode 100644
index c4de48068f111..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json
deleted file mode 100644
index f93794249ec71..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_0_29/src-deps.json
+++ /dev/null
@@ -1,506 +0,0 @@
-{
-    "0.16.2.zip": {
-        "name": "0.16.2.zip",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "0.27.1.tar.gz": {
-        "name": "0.27.1.tar.gz",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
-        ]
-    },
-    "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip": {
-        "name": "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz": {
-        "name": "41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
-        ]
-    },
-    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
-        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.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"
-        ]
-    },
-    "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
-        "name": "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "android_tools_pkg-0.8.tar.gz": {
-        "name": "android_tools_pkg-0.8.tar.gz",
-        "sha256": "a9eac6e1b27d5549edaaa724b20eb1cdae6253b84f44d5744c30372bd523cfcd",
-        "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.8.tar.gz"
-        ]
-    },
-    "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz": {
-        "name": "b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
-        ]
-    },
-    "bazel_j2objc": {
-        "name": "bazel_j2objc",
-        "sha256": "8d3403b5b7db57e347c943d214577f6879e5b175c2b59b7e075c0b6453330e9b",
-        "strip_prefix": "j2objc-2.5",
-        "urls": [
-            "https://miirror.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": {
-        "name": "bazel_skylib",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "strip_prefix": "bazel-skylib-f83cb8dd6f5658bc574ccd873e25197055265d1c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "bazel_toolchains": {
-        "name": "bazel_toolchains",
-        "sha256": "28cb3666da80fbc62d4c46814f5468dd5d0b59f9064c0b933eee3140d706d330",
-        "strip_prefix": "bazel-toolchains-0.27.1",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.27.1.tar.gz"
-        ]
-    },
-    "build_bazel_rules_nodejs": {
-        "name": "build_bazel_rules_nodejs",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "strip_prefix": "rules_nodejs-0.16.2",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "com_google_googletest": {
-        "name": "com_google_googletest",
-        "sha256": "0fb00ff413f6b9b80ccee44a374ca7a18af7315aea72a43c62f2acd1ca74e9b5",
-        "strip_prefix": "googletest-f13bbe2992d188e834339abe6f715b2b2f840a77",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz",
-            "https://github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz"
-        ]
-    },
-    "coverage_output_generator-v1.0.zip": {
-        "name": "coverage_output_generator-v1.0.zip",
-        "sha256": "cc470e529fafb6165b5be3929ff2d99b38429b386ac100878687416603a67889",
-        "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v1.0.zip"
-        ]
-    },
-    "desugar_jdk_libs": {
-        "name": "desugar_jdk_libs",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": {
-        "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": {
-        "name": "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "io_bazel_rules_sass": {
-        "name": "io_bazel_rules_sass",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "strip_prefix": "rules_sass-8ccf4f1c351928b55d5dddf3672e3667f6978d60",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "io_bazel_skydoc": {
-        "name": "io_bazel_skydoc",
-        "sha256": "fdc34621839104b57363a258eab9d821b02ff7837923cfe7fb6fd67182780829",
-        "strip_prefix": "skydoc-41c28e43dffbae39c52dd4b91932d1209e5a8893",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/41c28e43dffbae39c52dd4b91932d1209e5a8893.tar.gz"
-        ]
-    },
-    "java_tools_javac11_darwin-v4.0.zip": {
-        "name": "java_tools_javac11_darwin-v4.0.zip",
-        "sha256": "fbf5bf22e9aab9c622e4c8c59314a1eef5ea09eafc5672b4f3250dc0b971bbcc",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_darwin-v4.0.zip"
-        ]
-    },
-    "java_tools_javac11_linux-v4.0.zip": {
-        "name": "java_tools_javac11_linux-v4.0.zip",
-        "sha256": "96e223094a12c842a66db0bb7bb6866e88e26e678f045842911f9bd6b47161f5",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_linux-v4.0.zip"
-        ]
-    },
-    "java_tools_javac11_windows-v4.0.zip": {
-        "name": "java_tools_javac11_windows-v4.0.zip",
-        "sha256": "a1de51447b2ba2eab923d589ba6c72c289c16e6091e6a3bb3e67a05ef4ad200c",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v4.0/java_tools_javac11_windows-v4.0.zip"
-        ]
-    },
-    "java_tools_langtools_javac10": {
-        "name": "java_tools_langtools_javac10",
-        "sha256": "0e9c9ac5ef17869de3cb8c3497c4c0d31836ef7b63efe1690506f53783adb212",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk10_v2.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_langtools_javac12": {
-        "name": "java_tools_langtools_javac12",
-        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
-        ]
-    },
-    "java_tools_langtools_javac9": {
-        "name": "java_tools_langtools_javac9",
-        "sha256": "d94befcfb325a9a62aebc2052e631fde2322b4df5c82a19ed260b38ba12a0ad1",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk9_v2.zip"
-        ]
-    },
-    "jdk10-server-release-1804.tar.xz": {
-        "name": "jdk10-server-release-1804.tar.xz",
-        "sha256": "b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz"
-        ]
-    },
-    "jdk9-server-release-1708.tar.xz": {
-        "name": "jdk9-server-release-1708.tar.xz",
-        "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz"
-        ]
-    },
-    "openjdk10_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk10_linux_archive",
-        "sha256": "b3c2d762091a615b0c1424ebbd05d75cc114da3bf4f25a0dec5c51ea7e84146f",
-        "strip_prefix": "zulu10.2+3-jdk10.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk11_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk11_linux_archive",
-        "sha256": "ddb0fd4526089cf1ce2db36282c282263f587a9e8be373fa02f511a12923cc48",
-        "strip_prefix": "zulu11.31.11-ca-jdk11.0.3-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.11-ca-jdk11.0.3/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk12_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk12_linux_archive",
-        "sha256": "529c99841d69e11a85aea967ccfb9d0fd40b98c5b68dbe1d059002655e0a9c13",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk9_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk9_linux_archive",
-        "sha256": "45f2dfbee93b91b1468cf81d843fc6d9a47fef1f831c0b7ceff4f1eb6e6851c8",
-        "strip_prefix": "zulu9.0.7.1-jdk9.0.7-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_linux": {
-        "downloaded_file_path": "zulu-linux.tar.gz",
-        "name": "openjdk_linux",
-        "sha256": "460d8a4f0c0204160b48086e341b22943c9cca471b195340e75b38ae9eb33c1c",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209950.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64": {
-        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
-        "name": "openjdk_linux_aarch64",
-        "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_minimal": {
-        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
-        "name": "openjdk_linux_aarch64_minimal",
-        "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_vanilla": {
-        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
-        "name": "openjdk_linux_aarch64_vanilla",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "openjdk_linux_minimal": {
-        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
-        "name": "openjdk_linux_minimal",
-        "sha256": "5123bc8dd21886761d1fd9ca0fb1898b3372d7243064a070ec81ca9c9d1a6791",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556011926.tar.gz"
-        ]
-    },
-    "openjdk_linux_vanilla": {
-        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
-        "name": "openjdk_linux_vanilla",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_macos": {
-        "downloaded_file_path": "zulu-macos.tar.gz",
-        "name": "openjdk_macos",
-        "sha256": "8fa61d85ca6f657d646fdb50cfc8634987f8f7d8a3250ed39fb7364647633252",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209951.tar.gz"
-        ]
-    },
-    "openjdk_macos_minimal": {
-        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
-        "name": "openjdk_macos_minimal",
-        "sha256": "ac56e44db46fd56ac78b39b6823daed4faa74a2677ac340c7d217f863884ec0f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003114.tar.gz"
-        ]
-    },
-    "openjdk_macos_vanilla": {
-        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
-        "name": "openjdk_macos_vanilla",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "openjdk_win": {
-        "downloaded_file_path": "zulu-win.zip",
-        "name": "openjdk_win",
-        "sha256": "e6ddb361309f8e84eb5fb5ad8b0f5cc031ba3679910139262c31efd8f7579d05",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209972.zip"
-        ]
-    },
-    "openjdk_win_minimal": {
-        "downloaded_file_path": "zulu-win-minimal.zip",
-        "name": "openjdk_win_minimal",
-        "sha256": "8e5dada6e9ebcc9ce29b4d051449bb95d3ee1e620e166da862224bbf15211f8b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003136.zip"
-        ]
-    },
-    "openjdk_win_vanilla": {
-        "downloaded_file_path": "zulu-win-vanilla.zip",
-        "name": "openjdk_win_vanilla",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "platforms": {
-        "name": "platforms",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "rules_cc": {
-        "name": "rules_cc",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "strip_prefix": "rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "rules_java": {
-        "name": "rules_java",
-        "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_pkg": {
-        "name": "rules_pkg",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_pkg-0.2.0.tar.gz": {
-        "name": "rules_pkg-0.2.0.tar.gz",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_proto": {
-        "name": "rules_proto",
-        "sha256": "88b0a90433866b44bb4450d4c30bc5738b8c4f9c9ba14e9661deb123f56a833d",
-        "strip_prefix": "rules_proto-b0cc14be5da05168b01db282fe93bdf17aa2b9f4",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/b0cc14be5da05168b01db282fe93bdf17aa2b9f4.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz",
-        "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz",
-        "sha256": "e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": {
-        "name": "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip",
-        "sha256": "c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
-        "sha256": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
-        "sha256": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-win_x64.zip": {
-        "name": "zulu11.2.3-jdk11.0.1-win_x64.zip",
-        "sha256": "8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-win_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-win_x64.zip",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": {
-        "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
-        "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz",
-        "sha256": "404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip": {
-        "name": "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip",
-        "sha256": "e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip"
-        ]
-    }
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
deleted file mode 100644
index f9bcab19fe025..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/default.nix
+++ /dev/null
@@ -1,561 +0,0 @@
-{ stdenv, callPackage, lib, fetchurl, fetchFromGitHub
-, runCommand, runCommandCC, makeWrapper, recurseIntoAttrs
-# this package (through the fixpoint glass)
-, bazel_self
-, lr, xe, zip, unzip, bash, writeCBin, coreutils
-, which, gawk, gnused, gnutar, gnugrep, gzip, findutils
-# updater
-, python27, python3, writeScript
-# Apple dependencies
-, cctools, llvmPackages_8, CoreFoundation, CoreServices, Foundation
-# Allow to independently override the jdks used to build and run respectively
-, buildJdk, runJdk
-, buildJdkName
-, 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 = "1.2.1";
-
-  src = fetchurl {
-    url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1qfk14mgx1m454b4w4ldggljzqkqwpdwrlynq7rc8aq11yfs8p95";
-  };
-
-  # 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.io_bazel_rules_sass
-      srcs.platforms
-      (if stdenv.hostPlatform.isDarwin
-       then srcs."java_tools_javac11_darwin-v6.1.zip"
-       else srcs."java_tools_javac11_linux-v6.1.zip")
-      srcs."coverage_output_generator-v2.0.zip"
-      srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.12.tar.gz"
-      srcs."0.28.3.tar.gz"
-      srcs.rules_pkg
-      srcs.rules_cc
-      srcs.rules_java
-      srcs.rules_proto
-      ]);
-
-  distDir = runCommand "bazel-deps" {} ''
-    mkdir -p $out
-    for i in ${builtins.toString srcDeps}; do cp $i $out/$(stripHash $i); done
-  '';
-
-  defaultShellPath = lib.makeBinPath
-    # 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",
-    #        ],
-    #     )
-    #
-    [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip file zip ];
-
-  # Java toolchain used for the build and tests
-  javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}";
-
-  platforms = lib.platforms.linux ++ lib.platforms.darwin;
-
-  # This repository is fetched by bazel at runtime
-  # however it contains prebuilt java binaries, with wrong interpreter
-  # and libraries path.
-  # We prefetch it, patch it, and override it in a global bazelrc.
-  system = if stdenv.hostPlatform.isDarwin then "darwin" else "linux";
-
-  remote_java_tools = stdenv.mkDerivation {
-    name = "remote_java_tools_${system}";
-
-    src = srcDepsSet."java_tools_javac11_${system}-v6.1.zip";
-
-    nativeBuildInputs = [ unzip ]
-      ++ lib.optional stdenv.isLinux autoPatchelfHook;
-    buildInputs = [ gcc-unwrapped ];
-
-    sourceRoot = ".";
-
-    buildPhase = ''
-      mkdir $out;
-    '';
-
-    installPhase = ''
-      cp -Ra * $out/
-      touch $out/WORKSPACE
-    '';
-  };
-
-  bazelRC = writeTextFile {
-    name = "bazel-rc";
-    text = ''
-      build --override_repository=${remote_java_tools.name}=${remote_java_tools}
-      build --distdir=${distDir}
-      startup --server_javabase=${runJdk}
-
-      # load default location for the system wide configuration
-      try-import /etc/bazel.bazelrc
-    '';
-  };
-
-  stdenv' = if stdenv.isDarwin then llvmPackages_8.libcxxStdenv else stdenv;
-
-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;
-  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
-    ./glibc.patch
-
-    # --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;
-    })
-
-    # 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 ] ++ (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 = "5d8c8961a2516ebf875787df35e98cadd08d43dc";
-        sha256 = "03c1bwlq5bs3hg96v4g4pg2vqwhqq6w538h66rcpw02f83yy7fs8";
-      };
-
-    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;
-      });
-    };
-
-  # update the list of workspace dependencies
-  passthru.updater = writeScript "update-bazel-deps.sh" ''
-    #!${runtimeShell}
-    cat ${runCommand "bazel-deps.json" {} ''
-        ${unzip}/bin/unzip ${src} WORKSPACE
-        ${python3}/bin/python3 ${../update-srcDeps.py} ./WORKSPACE > $out
-    ''} > ${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;
-
-  # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
-  customBash = writeCBin "bash" ''
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-    #include <unistd.h>
-
-    extern char **environ;
-
-    int main(int argc, char *argv[]) {
-      char *path = getenv("PATH");
-      char *pathToAppend = "${defaultShellPath}";
-      char *newPath;
-      if (path != NULL) {
-        int length = strlen(path) + 1 + strlen(pathToAppend) + 1;
-        newPath = malloc(length * sizeof(char));
-        snprintf(newPath, length, "%s:%s", path, pathToAppend);
-      } else {
-        newPath = pathToAppend;
-      }
-      setenv("PATH", newPath, 1);
-      execve("${bash}/bin/bash", argv, environ);
-      return 0;
-    }
-  '';
-
-  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 ${llvmPackages_8.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 -mmacosx-version-min=10.9;${stdenv'.cc}/bin/clang $NIX_CFLAGS_COMPILE $(bazelLinkFlags) -framework CoreFoundation;g" \
-        scripts/bootstrap/compile.sh \
-        src/tools/xcode/realpath/BUILD \
-        src/tools/xcode/stdredirect/BUILD \
-        tools/osx/BUILD
-
-      # 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
-
-      # 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 ${customBash}/bin/bash \
-          --replace "/usr/bin/env bash" ${customBash}/bin/bash \
-          --replace "/usr/bin/env python" ${python3}/bin/python \
-          --replace /usr/bin/env ${coreutils}/bin/env \
-          --replace /bin/true ${coreutils}/bin/true
-      done
-
-      # bazel test runner include references to /bin/bash
-      substituteInPlace tools/build_rules/test_rules.bzl \
-        --replace /bin/bash ${customBash}/bin/bash
-
-      for i in $(find tools/cpp/ -type f)
-      do
-        substituteInPlace $i \
-          --replace /bin/bash ${customBash}/bin/bash
-      done
-
-      # Fixup scripts that generate scripts. Not fixed up by patchShebangs below.
-      substituteInPlace scripts/bootstrap/compile.sh \
-          --replace /bin/bash ${customBash}/bin/bash
-
-      # add nix environment vars to .bazelrc
-      cat >> .bazelrc <<EOF
-      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 --host_javabase='@local_jdk//:jdk'
-      build --host_java_toolchain='${javaToolchain}'
-      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 --host_javabase='@local_jdk//:jdk' \\\\" \
-          -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \
-          -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
-    python3
-  ];
-
-  # when a command can’t be found in a bazel build, you might also
-  # need to add it to `defaultShellPath`.
-  nativeBuildInputs = [
-    zip
-    python3
-    unzip
-    makeWrapper
-    which
-    customBash
-  ] ++ lib.optionals (stdenv.isDarwin) [ cctools 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 = ''
-    # Increasing memory during compilation might be necessary.
-    # export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms200m"
-    ./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
-  '';
-
-  installPhase = ''
-    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-real
-    cp ./bazel_src/scripts/packages/bazel.sh $out/bin/bazel
-    mv ./bazel_src/output/bazel $out/bin/bazel-real
-
-    # shell completion files
-    mkdir -p $out/share/bash-completion/completions $out/share/zsh/site-functions
-    mv ./bazel_src/output/bazel-complete.bash $out/share/bash-completion/completions/bazel
-    cp ./bazel_src/scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
-  '';
-
-  doInstallCheck = true;
-  installCheckPhase = ''
-    export TEST_TMPDIR=$(pwd)
-
-    hello_test () {
-      $out/bin/bazel test --distdir=${distDir} \
-        --test_output=errors \
-        --java_toolchain='${javaToolchain}' \
-        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-real
-    hello_test
-  '';
-
-  # Save paths to hardcoded dependencies so Nix can detect them.
-  postFixup = ''
-    mkdir -p $out/nix-support
-    echo "${customBash} ${defaultShellPath}" >> $out/nix-support/depends
-    # The templates get tar’d up into a .jar,
-    # so nix can’t detect python is needed in the runtime closure
-    # Some of the scripts explicitly depend on Python 2.7. Otherwise, we
-    # default to using python3. Therefore, both python27 and python3 are
-    # runtime dependencies.
-    echo "${python27}" >> $out/nix-support/depends
-    echo "${python3}" >> $out/nix-support/depends
-  '' + lib.optionalString stdenv.isDarwin ''
-    echo "${cctools}" >> $out/nix-support/depends
-  '';
-
-  dontStrip = true;
-  dontPatchELF = true;
-}
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch b/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch
deleted file mode 100644
index c4de48068f111..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/glibc.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853
-From: Benjamin Peterson <benjamin@dropbox.com>
-Date: Fri, 3 May 2019 08:11:00 -0700
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts.
----
- src/core/lib/gpr/log_linux.cc          | 6 ++----
- src/core/lib/gpr/log_posix.cc          | 4 ++--
- src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
- 3 files changed, 6 insertions(+), 8 deletions(-)
-
-diff --git a/third_party/grpc/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-index 81026e5689b..8b597b4cf2f 100644
---- a/third_party/grpc/src/core/lib/gpr/log_linux.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_linux.cc
-@@ -40,7 +40,7 @@
- #include <time.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-   struct tm tm;
-   static __thread long tid = 0;
--  if (tid == 0) tid = gettid();
-+  if (tid == 0) tid = sys_gettid();
-
-   timer = static_cast<time_t>(now.tv_sec);
-   final_slash = strrchr(args->file, '/');
-diff --git a/third_party/grpc/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-index b6edc14ab6b..2f7c6ce3760 100644
---- a/third_party/grpc/src/core/lib/gpr/log_posix.cc
-+++ b/third_party/grpc/src/core/lib/gpr/log_posix.cc
-@@ -31,7 +31,7 @@
- #include <string.h>
- #include <time.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char* file, int line, gpr_log_severity severity,
-              const char* format, ...) {
-@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-   char* prefix;
-   gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]",
-                gpr_log_severity_string(args->severity), time_buffer,
--               (int)(now.tv_nsec), gettid(), display_file, args->line);
-+               (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
-   fprintf(stderr, "%-70s %s\n", prefix, args->message);
-   gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-index c2d80c08ddb..4a83cb6c215 100644
---- a/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-+++ b/third_party/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
-@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
- }
-
- #ifndef NDEBUG
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
- #endif
-
- /* pollset->mu lock must be held by the caller before calling this.
-@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
- #define WORKER_PTR (&worker)
- #endif
- #ifndef NDEBUG
--  WORKER_PTR->originator = gettid();
-+  WORKER_PTR->originator = sys_gettid();
- #endif
-   if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
-     gpr_log(GPR_INFO,
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json b/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json
deleted file mode 100644
index 7cf939daa72b9..0000000000000
--- a/pkgs/development/tools/build-managers/bazel/bazel_1/src-deps.json
+++ /dev/null
@@ -1,506 +0,0 @@
-{
-    "0.16.2.zip": {
-        "name": "0.16.2.zip",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "0.28.3.tar.gz": {
-        "name": "0.28.3.tar.gz",
-        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
-        ]
-    },
-    "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip": {
-        "name": "0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip": {
-        "name": "441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.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"
-        ]
-    },
-    "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz": {
-        "name": "8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz": {
-        "name": "97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
-        ]
-    },
-    "android_tools_pkg-0.12.tar.gz": {
-        "name": "android_tools_pkg-0.12.tar.gz",
-        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
-        "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.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": {
-        "name": "bazel_skylib",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "strip_prefix": "bazel-skylib-f83cb8dd6f5658bc574ccd873e25197055265d1c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "bazel_toolchains": {
-        "name": "bazel_toolchains",
-        "sha256": "d8c2f20deb2f6143bac792d210db1a4872102d81529fe0ea3476c1696addd7ff",
-        "strip_prefix": "bazel-toolchains-0.28.3",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz",
-            "https://github.com/bazelbuild/bazel-toolchains/archive/0.28.3.tar.gz"
-        ]
-    },
-    "build_bazel_rules_nodejs": {
-        "name": "build_bazel_rules_nodejs",
-        "sha256": "9b72bb0aea72d7cbcfc82a01b1e25bf3d85f791e790ddec16c65e2d906382ee0",
-        "strip_prefix": "rules_nodejs-0.16.2",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip",
-            "https://github.com/bazelbuild/rules_nodejs/archive/0.16.2.zip"
-        ]
-    },
-    "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz": {
-        "name": "c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.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"
-        ]
-    },
-    "coverage_output_generator-v2.0.zip": {
-        "name": "coverage_output_generator-v2.0.zip",
-        "sha256": "3a6951051272d51613ac4c77af6ce238a3db321bf06506fde1b8866eb18a89dd",
-        "urls": [
-            "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.0.zip"
-        ]
-    },
-    "desugar_jdk_libs": {
-        "name": "desugar_jdk_libs",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "strip_prefix": "desugar_jdk_libs-e0b0291b2c51fbe5a7cfa14473a1ae850f94f021",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": {
-        "name": "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-        "sha256": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-        "urls": [
-            "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-            "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip"
-        ]
-    },
-    "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz": {
-        "name": "f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-        "sha256": "ba5d15ca230efca96320085d8e4d58da826d1f81b444ef8afccd8b23e0799b52",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz",
-            "https://github.com/bazelbuild/bazel-skylib/archive/f83cb8dd6f5658bc574ccd873e25197055265d1c.tar.gz"
-        ]
-    },
-    "io_bazel_rules_sass": {
-        "name": "io_bazel_rules_sass",
-        "sha256": "d868ce50d592ef4aad7dec4dd32ae68d2151261913450fac8390b3fd474bb898",
-        "strip_prefix": "rules_sass-8ccf4f1c351928b55d5dddf3672e3667f6978d60",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz",
-            "https://github.com/bazelbuild/rules_sass/archive/8ccf4f1c351928b55d5dddf3672e3667f6978d60.tar.gz"
-        ]
-    },
-    "io_bazel_skydoc": {
-        "name": "io_bazel_skydoc",
-        "sha256": "e6a76586b264f30679688f65f7e71ac112d1446681010a13bf22d9ca071f34b7",
-        "strip_prefix": "skydoc-c7bbde2950769aac9a99364b0926230060a3ce04",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz",
-            "https://github.com/bazelbuild/skydoc/archive/c7bbde2950769aac9a99364b0926230060a3ce04.tar.gz"
-        ]
-    },
-    "java_tools_javac11_darwin-v6.1.zip": {
-        "name": "java_tools_javac11_darwin-v6.1.zip",
-        "sha256": "f0c488dac18f18ab1a0d18bbd65288c7a128e90a24d9c16f65bd8243f79483a0",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_darwin-v6.1.zip"
-        ]
-    },
-    "java_tools_javac11_linux-v6.1.zip": {
-        "name": "java_tools_javac11_linux-v6.1.zip",
-        "sha256": "12f7940ed0bc4c2e82238951cdf19b4179c7dcc361d16fe40fe4266538fb4ac6",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_linux-v6.1.zip"
-        ]
-    },
-    "java_tools_javac11_windows-v6.1.zip": {
-        "name": "java_tools_javac11_windows-v6.1.zip",
-        "sha256": "e2deb2efff684de78787e0bdc7620f9672d13f04a12856d8e7f677369a8e286b",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v6.1/java_tools_javac11_windows-v6.1.zip"
-        ]
-    },
-    "java_tools_langtools_javac10": {
-        "name": "java_tools_langtools_javac10",
-        "sha256": "0e9c9ac5ef17869de3cb8c3497c4c0d31836ef7b63efe1690506f53783adb212",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk10_v2.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_langtools_javac12": {
-        "name": "java_tools_langtools_javac12",
-        "sha256": "99b107105165a91df82cd7cf82a8efb930d803fb7de1663cf7f780142104cd14",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk12.zip"
-        ]
-    },
-    "java_tools_langtools_javac9": {
-        "name": "java_tools_langtools_javac9",
-        "sha256": "d94befcfb325a9a62aebc2052e631fde2322b4df5c82a19ed260b38ba12a0ad1",
-        "urls": [
-            "https://mirror.bazel.build/bazel_java_tools/jdk_langtools/langtools_jdk9_v2.zip"
-        ]
-    },
-    "jdk10-server-release-1804.tar.xz": {
-        "name": "jdk10-server-release-1804.tar.xz",
-        "sha256": "b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz"
-        ]
-    },
-    "jdk9-server-release-1708.tar.xz": {
-        "name": "jdk9-server-release-1708.tar.xz",
-        "sha256": "72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022",
-        "urls": [
-            "https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz"
-        ]
-    },
-    "openjdk10_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk10_linux_archive",
-        "sha256": "b3c2d762091a615b0c1424ebbd05d75cc114da3bf4f25a0dec5c51ea7e84146f",
-        "strip_prefix": "zulu10.2+3-jdk10.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk11_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk11_linux_archive",
-        "sha256": "ddb0fd4526089cf1ce2db36282c282263f587a9e8be373fa02f511a12923cc48",
-        "strip_prefix": "zulu11.31.11-ca-jdk11.0.3-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.11-ca-jdk11.0.3/zulu11.31.11-ca-jdk11.0.3-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk12_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk12_linux_archive",
-        "sha256": "529c99841d69e11a85aea967ccfb9d0fd40b98c5b68dbe1d059002655e0a9c13",
-        "strip_prefix": "zulu12.2.3-ca-jdk12.0.1-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu12.2.3-ca-jdk12.0.1/zulu12.2.3-ca-jdk12.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk9_linux_archive": {
-        "build_file_content": "java_runtime(name = 'runtime', srcs =  glob(['**']), visibility = ['//visibility:public'])",
-        "name": "openjdk9_linux_archive",
-        "sha256": "45f2dfbee93b91b1468cf81d843fc6d9a47fef1f831c0b7ceff4f1eb6e6851c8",
-        "strip_prefix": "zulu9.0.7.1-jdk9.0.7-linux_x64",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_linux": {
-        "downloaded_file_path": "zulu-linux.tar.gz",
-        "name": "openjdk_linux",
-        "sha256": "460d8a4f0c0204160b48086e341b22943c9cca471b195340e75b38ae9eb33c1c",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209950.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64": {
-        "downloaded_file_path": "zulu-linux-aarch64.tar.gz",
-        "name": "openjdk_linux_aarch64",
-        "sha256": "23c37c0c3a8fdcbc68e96e70ff5c5c020c14db76deaae9b547849afda4586e5e",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-allmodules-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_minimal": {
-        "downloaded_file_path": "zulu-linux-aarch64-minimal.tar.gz",
-        "name": "openjdk_linux_aarch64_minimal",
-        "sha256": "7af2583fe5ef0a781d4a9dca0c0160d42e7db1305ec1b66f98aa44c91cc875df",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64-minimal-c82eb4878c7dc829455caeb915affe36c89df06f-1561630858.tar.gz"
-        ]
-    },
-    "openjdk_linux_aarch64_vanilla": {
-        "downloaded_file_path": "zulu-linux-aarch64-vanilla.tar.gz",
-        "name": "openjdk_linux_aarch64_vanilla",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "openjdk_linux_minimal": {
-        "downloaded_file_path": "zulu-linux-minimal.tar.gz",
-        "name": "openjdk_linux_minimal",
-        "sha256": "5123bc8dd21886761d1fd9ca0fb1898b3372d7243064a070ec81ca9c9d1a6791",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556011926.tar.gz"
-        ]
-    },
-    "openjdk_linux_vanilla": {
-        "downloaded_file_path": "zulu-linux-vanilla.tar.gz",
-        "name": "openjdk_linux_vanilla",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "openjdk_macos": {
-        "downloaded_file_path": "zulu-macos.tar.gz",
-        "name": "openjdk_macos",
-        "sha256": "8fa61d85ca6f657d646fdb50cfc8634987f8f7d8a3250ed39fb7364647633252",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209951.tar.gz"
-        ]
-    },
-    "openjdk_macos_minimal": {
-        "downloaded_file_path": "zulu-macos-minimal.tar.gz",
-        "name": "openjdk_macos_minimal",
-        "sha256": "ac56e44db46fd56ac78b39b6823daed4faa74a2677ac340c7d217f863884ec0f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003114.tar.gz"
-        ]
-    },
-    "openjdk_macos_vanilla": {
-        "downloaded_file_path": "zulu-macos-vanilla.tar.gz",
-        "name": "openjdk_macos_vanilla",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "openjdk_win": {
-        "downloaded_file_path": "zulu-win.zip",
-        "name": "openjdk_win",
-        "sha256": "e6ddb361309f8e84eb5fb5ad8b0f5cc031ba3679910139262c31efd8f7579d05",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-allmodules-90755145cb6e6418584d8603cd5fa9afbb30aecc-1549209972.zip"
-        ]
-    },
-    "openjdk_win_minimal": {
-        "downloaded_file_path": "zulu-win-minimal.zip",
-        "name": "openjdk_win_minimal",
-        "sha256": "8e5dada6e9ebcc9ce29b4d051449bb95d3ee1e620e166da862224bbf15211f8b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64-minimal-524ae2ca2a782c9f15e00f08bd35b3f8ceacbd7f-1556003136.zip"
-        ]
-    },
-    "openjdk_win_vanilla": {
-        "downloaded_file_path": "zulu-win-vanilla.zip",
-        "name": "openjdk_win_vanilla",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "platforms": {
-        "name": "platforms",
-        "sha256": "a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5",
-        "strip_prefix": "platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip",
-            "https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip"
-        ]
-    },
-    "rules_cc": {
-        "name": "rules_cc",
-        "sha256": "36fa66d4d49debd71d05fba55c1353b522e8caef4a20f8080a3d17cdda001d89",
-        "strip_prefix": "rules_cc-0d5f3f2768c6ca2faca0079a997a97ce22997a0c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip",
-            "https://github.com/bazelbuild/rules_cc/archive/0d5f3f2768c6ca2faca0079a997a97ce22997a0c.zip"
-        ]
-    },
-    "rules_java": {
-        "name": "rules_java",
-        "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_pkg": {
-        "name": "rules_pkg",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_pkg-0.2.0.tar.gz": {
-        "name": "rules_pkg-0.2.0.tar.gz",
-        "sha256": "5bdc04987af79bd27bc5b00fe30f59a858f77ffa0bd2d8143d5b31ad8b1bd71c",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/rules_pkg-0.2.0.tar.gz",
-            "https://github.com/bazelbuild/rules_pkg/releases/download/0.2.0/rules_pkg-0.2.0.tar.gz"
-        ]
-    },
-    "rules_proto": {
-        "name": "rules_proto",
-        "sha256": "602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208",
-        "strip_prefix": "rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313",
-        "urls": [
-            "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz",
-            "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz",
-        "sha256": "57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz",
-        "sha256": "e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip": {
-        "name": "zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip",
-        "sha256": "c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-linux_x64.tar.gz",
-        "sha256": "232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz": {
-        "name": "zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz",
-        "sha256": "1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz"
-        ]
-    },
-    "zulu11.2.3-jdk11.0.1-win_x64.zip": {
-        "name": "zulu11.2.3-jdk11.0.1-win_x64.zip",
-        "sha256": "8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz",
-        "sha256": "f3f44b6235508e87b760bf37a49e186cc1fa4e9cd28384c4dbf5a33991921e08",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-linux_x64.tar.gz"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip",
-        "sha256": "059f8e3484bf07b63a8f2820d5f528f473eff1befdb1896ee4f8ff06be3b8d8f",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-macosx_x64.zip"
-        ]
-    },
-    "zulu11.29.3-ca-jdk11.0.2-win_x64.zip": {
-        "name": "zulu11.29.3-ca-jdk11.0.2-win_x64.zip",
-        "sha256": "e1f5b4ce1b9148140fae2fcfb8a96d1c9b7eac5b8df0e13fbcad9b8561284880",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.29.3-ca-jdk11.0.2/zulu11.29.3-ca-jdk11.0.2-win_x64.zip"
-        ]
-    },
-    "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz": {
-        "name": "zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz",
-        "sha256": "3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz",
-        "sha256": "f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz": {
-        "name": "zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz",
-        "sha256": "404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz"
-        ]
-    },
-    "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip": {
-        "name": "zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip",
-        "sha256": "e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed",
-        "urls": [
-            "https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip"
-        ]
-    }
-}
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 0649b0c86c6db..aa0e9adc2fc8b 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -1,6 +1,5 @@
 { stdenv
 , fetchurl
-, coursier
 , autoPatchelfHook
 , installShellFiles
 , makeWrapper
@@ -11,58 +10,34 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.4.13";
+  version = "1.5.0";
 
-  bloop-coursier-channel = fetchurl {
-    url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json";
-    sha256 = "VbvBAz7mXhgQtbrlB6uCSmZXLcdYaROJRSREbazAReo=";
-  };
+  platform =
+    if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
+    else if stdenv.isDarwin && stdenv.isx86_64 then "x86_64-apple-darwin"
+    else throw "unsupported platform";
 
   bloop-bash = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bash-completions";
-    sha256 = "2mt+zUEJvQ/5ixxFLZ3Z0m7uDSj/YE9sg/uNMjamvdE=";
+    sha256 = "sha256-2mt+zUEJvQ/5ixxFLZ3Z0m7uDSj/YE9sg/uNMjamvdE=";
   };
 
   bloop-fish = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/fish-completions";
-    sha256 = "eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4=";
+    sha256 = "sha256-eFESR6iPHRDViGv+Fk3sCvPgVAhk2L1gCG4LnfXO/v4=";
   };
 
   bloop-zsh = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/zsh-completions";
-    sha256 = "WNMsPwBfd5EjeRbRtc06lCEVI2FVoLfrqL82OR0G7/c=";
+    sha256 = "sha256-WNMsPwBfd5EjeRbRtc06lCEVI2FVoLfrqL82OR0G7/c=";
   };
 
-  bloop-coursier = stdenv.mkDerivation rec {
-    name = "${pname}-coursier-${version}";
-
-    platform = if stdenv.isLinux && stdenv.isx86_64 then "x86_64-pc-linux"
-    else if stdenv.isDarwin && stdenv.isx86_64 then "x86_64-apple-darwin"
-    else throw "unsupported platform";
-
-    dontUnpack = true;
-    installPhase = ''
-      runHook preInstall
-
-      export COURSIER_CACHE=$(pwd)
-      export COURSIER_JVM_CACHE=$(pwd)
-
-      mkdir channel
-      ln -s ${bloop-coursier-channel} channel/bloop.json
-      ${coursier}/bin/cs install --install-dir . --install-platform ${platform} --default-channels=false --channel channel --only-prebuilt=true bloop
-
-      # Only keeping the binary, we'll wrap it ourselves
-      # This guarantees the output of this fixed-output derivation doesn't have references to itself
-      install -D -m 0755 .bloop.aux $out
-
-      runHook postInstall
-    '';
-
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "sha256-AiF/ih15Jd0WuDP/0vU0vdaSo3FGjWXos+hNVBayFz4="
-    else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-LD23YpcNhWfioGDMqb1plqLy87ZHzT0zvIyc4O4WP5g="
-    else throw "unsupported platform";
+  bloop-binary = fetchurl rec {
+    url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
+    sha256 =
+      if stdenv.isLinux && stdenv.isx86_64 then "sha256-jif9z05W17vjFgb146qWC3o44HmbnX05gWPlbXttYsE="
+      else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-YOnXgKXsGrTu9P4I0NZW6ollZVQUXnbW8WtZTJmy+w0="
+      else throw "unsupported platform";
   };
 
   dontUnpack = true;
@@ -74,14 +49,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    export COURSIER_CACHE=$(pwd)
-    export COURSIER_JVM_CACHE=$(pwd)
-
-    install -D -m 0755 ${bloop-coursier} $out/.bloop-wrapped
+    install -D -m 0755 ${bloop-binary} $out/.bloop-wrapped
 
-    makeWrapper $out/.bloop-wrapped $out/bin/bloop \
-      --set CS_NATIVE_LAUNCHER true \
-      --set IS_CS_INSTALLED_LAUNCHER true
+    makeWrapper $out/.bloop-wrapped $out/bin/bloop
 
     #Install completions
     installShellCompletion --name bloop --bash ${bloop-bash}
diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
index 7d56e55ebdb38..21e9abd04f203 100644
--- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix
@@ -40,10 +40,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "man" "info" ];
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/make/";
     description = "A tool to control the generation of non-source files from sources";
-    license = licenses.gpl3Plus;
-
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
@@ -54,8 +51,11 @@ stdenv.mkDerivation rec {
       should write a makefile for it, so that it is possible to use Make
       to build and install the program.
     '';
+    homepage = "https://www.gnu.org/software/make/";
 
-    platforms = platforms.all;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "make";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/gnumake/default.nix b/pkgs/development/tools/build-managers/gnumake/default.nix
index 183548f5e31bd..7c4b0ad4650e8 100644
--- a/pkgs/development/tools/build-managers/gnumake/default.nix
+++ b/pkgs/development/tools/build-managers/gnumake/default.nix
@@ -37,10 +37,7 @@ stdenv.mkDerivation rec {
   separateDebugInfo = true;
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/make/";
     description = "A tool to control the generation of non-source files from sources";
-    license = licenses.gpl3Plus;
-
     longDescription = ''
       Make is a tool which controls the generation of executables and
       other non-source files of a program from the program's source files.
@@ -51,8 +48,11 @@ stdenv.mkDerivation rec {
       should write a makefile for it, so that it is possible to use Make
       to build and install the program.
     '';
+    homepage = "https://www.gnu.org/software/make/";
 
-    platforms = platforms.all;
+    license = licenses.gpl3Plus;
     maintainers = [ maintainers.vrthra ];
+    mainProgram = "make";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/jam/ftjam.nix b/pkgs/development/tools/build-managers/jam/ftjam.nix
index 6007b67f148b9..1f106401c0d12 100644
--- a/pkgs/development/tools/build-managers/jam/ftjam.nix
+++ b/pkgs/development/tools/build-managers/jam/ftjam.nix
@@ -42,10 +42,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with lib; {
-    homepage = "https://freetype.org/jam/";
     description = "Freetype's enhanced, backwards-compatible Jam clone";
+    homepage = "https://freetype.org/jam/";
     license = licenses.free;
     maintainers = with maintainers; [ AndersonTorres ];
+    mainProgram = "jam";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/samurai/default.nix b/pkgs/development/tools/build-managers/samurai/default.nix
index b13762d63b169..675160751d1e0 100644
--- a/pkgs/development/tools/build-managers/samurai/default.nix
+++ b/pkgs/development/tools/build-managers/samurai/default.nix
@@ -35,7 +35,6 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/michaelforney/samurai";
     description = "ninja-compatible build tool written in C";
     longDescription = ''
       samurai is a ninja-compatible build tool with a focus on simplicity,
@@ -50,8 +49,10 @@ stdenv.mkDerivation rec {
       .ninja_deps as the original ninja tool, currently version 5 and 4
       respectively.
     '';
+    homepage = "https://github.com/michaelforney/samurai";
     license = with licenses; [ mit asl20 ]; # see LICENSE
     maintainers = with maintainers; [ dtzWill AndersonTorres ];
+    mainProgram = "samu";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 2677027637229..fa59649dd2392 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -67,11 +67,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    description =
-      "A more featureful runner for sbt, the simple/scala/standard build tool";
+    description = "A more featureful runner for sbt, the simple/scala/standard build tool";
     homepage = "https://github.com/paulp/sbt-extras";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ nequissimus puffnfresh ];
+    mainProgram = "sbt";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix
index abeaf0d4cf18c..40b230a72c314 100644
--- a/pkgs/development/tools/build-managers/scala-cli/default.nix
+++ b/pkgs/development/tools/build-managers/scala-cli/default.nix
@@ -1,15 +1,15 @@
 { stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }:
 
 let
-  version = "0.1.4";
+  version = "0.1.5";
   assets = {
     x86_64-darwin = {
       asset = "scala-cli-x86_64-apple-darwin.gz";
-      sha256 = "19bsfkp398rx3f9lnjzhp8pcs77n075v17rpm4hsmrpsz1hih5xy";
+      sha256 = "1sczbvvhh1ff8mdb6zj4q3fnrz1qsqmr58jlb1s3fy1wv2p5ywxl";
     };
     x86_64-linux = {
       asset = "scala-cli-x86_64-pc-linux.gz";
-      sha256 = "0rggf6v32rw3s82a1apz2b8nyiv8rd0lvw1bajl2s7jhlq8l7lc9";
+      sha256 = "1ahvjgcghh1pmgfsajg0b8bf5aaqxdx0f6b6qgljs0xfqm7zs05v";
     };
   };
 in
diff --git a/pkgs/development/tools/buildkit/default.nix b/pkgs/development/tools/buildkit/default.nix
index 9244a80672ed8..b8cef88f71a1b 100644
--- a/pkgs/development/tools/buildkit/default.nix
+++ b/pkgs/development/tools/buildkit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "buildkit";
-  version = "0.10.1";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "moby";
     repo = "buildkit";
     rev = "v${version}";
-    sha256 = "sha256-qMSXz4ZJ0po+Qi/K3Q/51MgHBO4tOa+DHw6Ok0yYc+k=";
+    sha256 = "sha256-hZINmKzLB0nFVVP8eXK2ghe4Emmuq55w0vDwLw8XuJk=";
   };
 
   vendorSha256 = null;
@@ -24,5 +24,6 @@ buildGoModule rec {
     homepage = "https://github.com/moby/buildkit";
     license = licenses.asl20;
     maintainers = with maintainers; [ vdemeester marsam ];
+    mainProgram = "buildctl";
   };
 }
diff --git a/pkgs/development/tools/cloudsmith-cli/default.nix b/pkgs/development/tools/cloudsmith-cli/default.nix
index c58455ac24bbe..46e2a7801f693 100644
--- a/pkgs/development/tools/cloudsmith-cli/default.nix
+++ b/pkgs/development/tools/cloudsmith-cli/default.nix
@@ -4,14 +4,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cloudsmith-cli";
-  version = "0.31.1";
+  version = "0.32.0";
 
   format = "wheel";
 
   src = python3.pkgs.fetchPypi {
     pname = "cloudsmith_cli";
     inherit format version;
-    sha256 = "sha256-r8h0fHePZoqy/oFOedkwAke0b+Huasuv+sWcL92EZ+k=";
+    sha256 = "ZETVtRlzd9KUOeDyAH0MnnIy1WtGLVBm+bActUM4zBw=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/cocogitto/default.nix b/pkgs/development/tools/cocogitto/default.nix
index 127aebccf5a58..793beb43b9909 100644
--- a/pkgs/development/tools/cocogitto/default.nix
+++ b/pkgs/development/tools/cocogitto/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cocogitto";
-  version = "4.1.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "oknozor";
     repo = pname;
     rev = version;
-    sha256 = "sha256-g7NBtqr7Mx7ALzij4hfoVXN3izbu4ShXYhHPYw9qnWk=";
+    sha256 = "sha256-q2WJKAXpIO+VsOFrjdyEx06yis8f2SkCuB0blUgqq0M=";
   };
 
-  cargoSha256 = "sha256-kXspbXySY5ridLUvAjv49Rm0RGt1fNsfNw9a3vd4hyI=";
+  cargoSha256 = "sha256-UArYBcUkXPYlNRLQBMwNhsd3bNgLeEwtJdzepMTt2no=";
 
   # 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.
@@ -29,8 +29,6 @@ rustPlatform.buildRustPackage rec {
 
     wrapProgram $out/bin/cog \
       --prefix PATH : "${lib.makeBinPath [ git ]}"
-    wrapProgram $out/bin/coco \
-      --prefix PATH : "${lib.makeBinPath [ git ]}"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/compile-daemon/default.nix b/pkgs/development/tools/compile-daemon/default.nix
index 79f5a4478882e..959beea1fbc03 100644
--- a/pkgs/development/tools/compile-daemon/default.nix
+++ b/pkgs/development/tools/compile-daemon/default.nix
@@ -1,26 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "compile-daemon-unstable";
-  version = "2017-03-08";
-  rev = "d447e567232bcb84cedd3b2be012c7127f31f469";
-
-  goPackagePath = "github.com/githubnemo/CompileDaemon";
+buildGoModule rec {
+  pname = "compile-daemon";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "githubnemo";
     repo = "CompileDaemon";
-    inherit rev;
-    sha256 = "0jfbipp3gd89n6d7gds1qvfkqvz80qdlqqhijxffh8z8ss0xinqc";
+    rev = "v${version}";
+    sha256 = "sha256-gpyXy7FO7ZVXJrkzcKHFez4S/dGiijXfZ9eSJtNlm58=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-UDPOeg8jQbDB+Fr4x6ehK7UyQa8ySZy6yNxS1xotkgA=";
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Very simple compile daemon for Go";
+    homepage = "https://github.com/githubnemo/CompileDaemon";
     license = licenses.bsd2;
     maintainers = with maintainers; [ ];
     mainProgram = "CompileDaemon";
-    inherit (src.meta) homepage;
   };
 }
diff --git a/pkgs/development/tools/compile-daemon/deps.nix b/pkgs/development/tools/compile-daemon/deps.nix
deleted file mode 100644
index 53771ddad9f00..0000000000000
--- a/pkgs/development/tools/compile-daemon/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0-devel
-[
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "9131ab34cf20d2f6d83fdc67168a5430d1c7dc23";
-      sha256 = "111x6rhpxfjhwkjrmrirqqh6nc68q5g7air9fl5kgr3bg85hybr5";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "a392f450ea64cee2b268dfaacdc2502b50a22b18";
-      sha256 = "1msiq5nb1sdhwfjv65hjnvr2s4pfsp8mv6f5z8aa8n9bjf0cksyc";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "57fdcb988a5c543893cc61bce354a6e24ab70022";
-      sha256 = "1fkhmi3nhz6vasfvjzjjwxkbpwsb9hzc0g5h1rygqrnzjykl2r39";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "99f16d856c9836c42d24e7ab64ea72916925fa97";
-      sha256 = "0g2x5krfhnraq03v0b48y3xv3ffg92pbgvps0npj9l7wq8q9hkmx";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/fsnotify.v1";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/fsnotify.v1";
-      rev = "629574ca2a5df945712d3079857300b5e4da0236";
-      sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3";
-    };
-  }
-]
diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix
index fa4f9ea438433..2bd5789c3e3c1 100644
--- a/pkgs/development/tools/conftest/default.nix
+++ b/pkgs/development/tools/conftest/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "conftest";
-  version = "0.31.0";
+  version = "0.32.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "conftest";
     rev = "v${version}";
-    sha256 = "sha256-p3EzJLq+LH8G8P7x6+47XWn8ckFeW2O7xhQGoRQDOOQ=";
+    sha256 = "sha256-fPg3376QtbjrUJWZxjRqEFL2cWy1xb7vUX1Lfp5WFmY=";
   };
-  vendorSha256 = "sha256-WFR0DtOz4dteRWWaqjTIiyTpBTnH6qKivH9t+gRWsvg=";
+  vendorSha256 = "sha256-/RfIjCI2RMktUSVEoyJqMwdmlW6lGvXanX7RBxiaTyE=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix b/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
deleted file mode 100644
index 3b9de427bde0d..0000000000000
--- a/pkgs/development/tools/continuous-integration/buildkite-agent/generic.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, buildGoPackage, makeWrapper, coreutils, git, openssh, bash, gnused, gnugrep
-, src, version, hasBootstrapScript, postPatch ? ""
-, ... }:
-let
-  goPackagePath = "github.com/buildkite/agent";
-in
-buildGoPackage {
-  pname = "buildkite-agent";
-  inherit version;
-
-  inherit goPackagePath src postPatch;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    ${lib.optionalString hasBootstrapScript ''
-    # Install bootstrap.sh
-    mkdir -p $out/libexec/buildkite-agent
-    cp $NIX_BUILD_TOP/go/src/${goPackagePath}/templates/bootstrap.sh $out/libexec/buildkite-agent
-    sed -e "s|#!/bin/bash|#!${bash}/bin/bash|g" -i $out/libexec/buildkite-agent/bootstrap.sh
-    ''}
-
-    # Fix binary name
-    mv $out/bin/{agent,buildkite-agent}
-
-    # These are runtime dependencies
-    wrapProgram $out/bin/buildkite-agent \
-      ${lib.optionalString hasBootstrapScript "--set BUILDKITE_BOOTSTRAP_SCRIPT_PATH $out/libexec/buildkite-agent/bootstrap.sh"} \
-      --prefix PATH : '${lib.makeBinPath [ openssh git coreutils gnused gnugrep ]}'
-  '';
-
-  meta = with lib; {
-    description = "Build runner for buildkite.com";
-    longDescription = ''
-      The buildkite-agent is a small, reliable, and cross-platform build runner
-      that makes it easy to run automated builds on your own infrastructure.
-      It’s main responsibilities are polling buildkite.com for work, running
-      build jobs, reporting back the status code and output log of the job,
-      and uploading the job's artifacts.
-    '';
-    homepage = "https://buildkite.com/docs/agent";
-    license = licenses.mit;
-    maintainers = with maintainers; [ pawelpacana zimbatm rvl ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/tools/continuous-integration/github-runner/default.nix b/pkgs/development/tools/continuous-integration/github-runner/default.nix
index aae87fb976d7b..abd77dd1f4ae8 100644
--- a/pkgs/development/tools/continuous-integration/github-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/github-runner/default.nix
@@ -46,13 +46,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "github-runner";
-  version = "2.290.1";
+  version = "2.291.1";
 
   src = fetchFromGitHub {
     owner = "actions";
     repo = "runner";
     rev = "v${version}";
-    hash = "sha256-YUV66yiUdS2/ORZS7a7coqyzoXM/tnK0egEeXWLPNl0=";
+    hash = "sha256-0Eijq2vXY+Y2g3bhEhIGnFxTCLXpw7k3iXpgj3x8nL4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 1fbb42442503b..946d660610e83 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoModule, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.10.0";
+  version = "14.10.1";
 in
 buildGoModule rec {
   inherit version;
@@ -20,7 +20,7 @@ buildGoModule rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "033b68hwqk5hn2by4hk1z7v6p08d505grl9hrx72p4wpyk18c80l";
+    sha256 = "1ph8byrh8kbg6s3gm5fakqk0ss6995pidgm664z3rwibr0h6m7sm";
   };
 
   patches = [
@@ -55,6 +55,6 @@ buildGoModule rec {
     license = licenses.mit;
     homepage = "https://about.gitlab.com/gitlab-ci/";
     platforms = platforms.unix ++ platforms.darwin;
-    maintainers = with maintainers; [ bachp zimbatm globin ];
+    maintainers = with maintainers; [ bachp zimbatm globin yayayayaka ];
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/hci/default.nix b/pkgs/development/tools/continuous-integration/hci/default.nix
index 5c0c59845ce68..0919a6ec58b16 100644
--- a/pkgs/development/tools/continuous-integration/hci/default.nix
+++ b/pkgs/development/tools/continuous-integration/hci/default.nix
@@ -12,7 +12,7 @@ let
           ${o.postInstall or ""}
           mkdir -p $out/libexec
           mv $out/bin/hci $out/libexec
-          makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${makeBinPath bundledBins}
+          makeWrapper $out/libexec/hci $out/bin/hci --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
         '';
       })
       (addBuildDepends [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-cli));
diff --git a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
index 00ae501e53488..ec1e6fb93b2ef 100644
--- a/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/hercules-ci-agent/default.nix
@@ -12,7 +12,7 @@ let
           ${o.postInstall or ""}
           mkdir -p $out/libexec
           mv $out/bin/hercules-ci-agent $out/libexec
-          makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${makeBinPath bundledBins}
+          makeWrapper $out/libexec/hercules-ci-agent $out/bin/hercules-ci-agent --prefix PATH : ${lib.escapeShellArg (makeBinPath bundledBins)}
         '';
       })
       (addBuildDepends [ makeWrapper ] (justStaticExecutables haskellPackages.hercules-ci-agent));
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 5c95c99814df4..9fa52f4a65885 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.332.2";
+  version = "2.332.3";
 
   src = fetchurl {
-    url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0z0igaq29nsxbkdzqfgrh10206a7ndsvz79bj8078hq8hqvl3an7";
+    url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
+    sha256 = "sha256-0ZPxearfOnzrYa3rw6tRIYrEp4UriJMv8ztE/XvmAQ8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -69,7 +69,8 @@ stdenv.mkDerivation rec {
     description = "An extendable open source continuous integration server";
     homepage = "https://jenkins-ci.org";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ coconnor fpletz earldouglas nequissimus ];
+    mainProgram = "jenkins-cli";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/continuous-integration/laminar/default.nix b/pkgs/development/tools/continuous-integration/laminar/default.nix
index 3c48506a6bf7a..5b6ec28f8125f 100644
--- a/pkgs/development/tools/continuous-integration/laminar/default.nix
+++ b/pkgs/development/tools/continuous-integration/laminar/default.nix
@@ -26,6 +26,7 @@ let
 in stdenv.mkDerivation rec {
   pname = "laminar";
   version = "1.2";
+  outputs = [ "out" "doc" ];
   src = fetchFromGitHub {
     owner = "ohwgiles";
     repo = "laminar";
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 21370ab9b5a39..d159a329e539d 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -1,35 +1,51 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles, testers, cue }:
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    sha256 = "sha256-6HD3wcBo21Dep4ckx+oDWAC4nuTvCzlp0bwQxZox2b4=";
+    sha256 = "sha256-v9MYrijnbtJpTgRZ4hmkaekisOyujldGewCRNbkVzWw=";
   };
 
-  vendorSha256 = "sha256-tY9iwQW6cB1FgLAmkDNMrvIxR+i4aGYhNs4tepI654o=";
+  postPatch = ''
+    # Disable script tests
+    rm -f cmd/cue/cmd/script_test.go
+  '';
+
+  vendorSha256 = "sha256-jTfV8DJlr5LxS3HjOEBkVzBvZKiySrmINumXSUIq2mI=";
+
+  excludedPackages = [ "internal/ci/updatetxtar" "internal/cmd/embedpkg" "internal/cmd/qgo" "pkg/gen" ];
 
-  checkPhase = "go test ./...";
+  nativeBuildInputs = [ installShellFiles ];
 
-  subPackages = [ "cmd/cue" ];
+  ldflags = [ "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}" ];
 
-  ldflags = [
-    "-s" "-w" "-X cuelang.org/go/cmd/cue/cmd.version=${version}"
-  ];
+  postInstall = ''
+    # Completions
+    installShellCompletion --cmd cue \
+      --bash <($out/bin/cue completion bash) \
+      --fish <($out/bin/cue completion fish) \
+      --zsh <($out/bin/cue completion zsh)
+  '';
 
   doInstallCheck = true;
   installCheckPhase = ''
     $out/bin/cue eval - <<<'a: "all good"' > /dev/null
   '';
 
-  meta = {
+  passthru.tests.version = testers.testVersion {
+    package = cue;
+    command = "cue version";
+  };
+
+  meta = with lib;  {
     description = "A data constraint language which aims to simplify tasks involving defining and using data";
     homepage = "https://cuelang.org/";
-    maintainers = [];
     license = lib.licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
   };
 }
diff --git a/pkgs/development/tools/dapr/cli/default.nix b/pkgs/development/tools/dapr/cli/default.nix
index 96b86719e6c8c..d0d32de0ce137 100644
--- a/pkgs/development/tools/dapr/cli/default.nix
+++ b/pkgs/development/tools/dapr/cli/default.nix
@@ -28,9 +28,10 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    homepage = "https://dapr.io";
     description = "A CLI for managing Dapr, the distributed application runtime";
+    homepage = "https://dapr.io";
     license = licenses.mit;
     maintainers = with maintainers; [ lucperkins ];
+    mainProgram = "dapr";
   };
 }
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 0d7130f7def3e..9b13ef220d3f1 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       ${lib.concatStringsSep "\n" (map (p: addJars "${p}/share/java") extraJars)}
 
       ${lib.getBin jre}/bin/java -cp "\$CP" \$JAVA_OPTS \
-        liquibase.integration.commandline.Main \''${1+"\$@"}
+        liquibase.integration.commandline.LiquibaseCommandLine \''${1+"\$@"}
       EOF
       chmod +x $out/bin/liquibase
     '';
diff --git a/pkgs/development/tools/database/prisma-engines/default.nix b/pkgs/development/tools/database/prisma-engines/default.nix
index b3c5c1b0dd097..26ec6597213e5 100644
--- a/pkgs/development/tools/database/prisma-engines/default.nix
+++ b/pkgs/development/tools/database/prisma-engines/default.nix
@@ -13,19 +13,19 @@
 # function correctly.
 rustPlatform.buildRustPackage rec {
   pname = "prisma-engines";
-  version = "3.13.0";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "prisma";
     repo = "prisma-engines";
     rev = version;
-    sha256 = "sha256-+Ug4tOaqUaqcEoMv20CKE8JrjIdW34VSn20gXZYX92k=";
+    sha256 = "sha256-UawQbVbafRpxkYFGW+y+HkkYME8qziG7tmsIjbqwHq0=";
   };
 
   # Use system openssl.
   OPENSSL_NO_VENDOR = 1;
 
-  cargoSha256 = "sha256-V2G++BYLRGVM4leB2jkM+HcFiCIdf2wA3dfYdtlq7XI=";
+  cargoSha256 = "sha256-1kR70t7vWzvV3DOrkVP6ktzKK5tB9KjJyAMpKO6gtYA=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/database/sqlc/default.nix b/pkgs/development/tools/database/sqlc/default.nix
new file mode 100644
index 0000000000000..d63a220dff15c
--- /dev/null
+++ b/pkgs/development/tools/database/sqlc/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+let
+  version = "1.13.0";
+in
+buildGoModule {
+  pname = "sqlc";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "kyleconroy";
+    repo = "sqlc";
+    rev    = "v${version}";
+    sha256 = "sha256-HPCt47tctVV8Oz9/7AoVMezIAv6wEsaB7B4rgo9/fNU=";
+  };
+
+  proxyVendor = true;
+  vendorSha256 = "sha256-zZ0IrtfQvczoB7th9ZCUlYOtyZr3Y3yF0pKzRCqmCjo=";
+
+  subPackages = [ "cmd/sqlc" ];
+
+  meta = let
+    inherit (lib) licenses platforms maintainers;
+  in {
+    description = " Generate type-safe code from SQL";
+    homepage = "https://sqlc.dev/";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.adisbladis ];
+  };
+}
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 79c31c1937fe7..fbb435128ddd6 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.13.0";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-UFvrtLVHGlWUlvA7KLDgaCydE/UoxtYV+8RqLblOdns=";
+    hash = "sha256-hFpz2p8lJ4HpuSMZ8IDtqp2PIJFqEcelbYVAQpldu4o=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/devpi-server/default.nix b/pkgs/development/tools/devpi-server/default.nix
index 8e78bebebe9b3..3f89bd4a1c509 100644
--- a/pkgs/development/tools/devpi-server/default.nix
+++ b/pkgs/development/tools/devpi-server/default.nix
@@ -46,7 +46,7 @@ buildPythonApplication rec {
     pyramid
     strictyaml
     waitress
-  ];
+  ] ++ passlib.extras-require.argon2;
 
   checkInputs = [
     beautifulsoup4
diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix
index 581b0db3b35af..d6217671b0c16 100644
--- a/pkgs/development/tools/dive/default.nix
+++ b/pkgs/development/tools/dive/default.nix
@@ -13,8 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-0gJ3dAPoilh3IWkuesy8geNsuI1T0DN64XvInc9LvlM=";
 
-  doCheck = false;
-
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ];
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index 20646fa696d58..a111cbb8744a3 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.26.0";
+  version = "0.28.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-s8M7xQTADPVRGM3Cu2jmNrdMWBRKNLWsRlXnnB+FHH4=";
+    sha256 = "sha256-MGAkjjP6efdME4SncV18aLOOC4XxWutaYTINSIRCSp0=";
   };
 
-  cargoSha256 = "sha256-UaD85fCWWYyDNF/HiWDRVpQD0snhiQtEWfIq7GSoZts=";
+  cargoSha256 = "sha256-k2BrkdLRFmppQcPm2dkbQIOlmIv/jsfwD8S/rsLxm+0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
new file mode 100644
index 0000000000000..a8c6821f27f4a
--- /dev/null
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, openssl
+}:
+
+let
+  pname = "dump_syms";
+  version = "unstable-2022-05-05";
+in
+rustPlatform.buildRustPackage {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = pname;
+    rev = "c2743d59b5aa321ade698f84b90f86b3d35a1b06";
+    hash = "sha256-hWK9KrYqbfrF8b7i33InlTa/XkoZs+h49kUsKeSaAok=";
+  };
+
+  cargoSha256 = "sha256:0vsr867nl156wpxpw01bv9fxsp6rhj9vvpz2i2yhx4kjgr1qk1kw";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+  ];
+
+  checkFlags = [
+    # Disable tests that require network access
+    # ConnectError("dns error", Custom { kind: Uncategorized, error: "failed to lookup address information: Temporary failure in name resolution" })) }', src/windows/pdb.rs:725:56
+    "--skip windows::pdb::tests::test_ntdll"
+    "--skip windows::pdb::tests::test_oleaut32"
+  ];
+
+  meta = with lib; {
+    changelog = "https://github.com/mozilla/dump_syms/releases/tag/v${version}";
+    description = "Command-line utility for parsing the debugging information the compiler provides in ELF or stand-alone PDB files";
+    license = licenses.asl20;
+    homepage = "https://github.com/mozilla/dump_syms/";
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 06b17c1ff1fd5..5838f5e94b433 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -36,7 +36,7 @@ buildGoModule rec {
     description = "Build automation for the container era";
     homepage = "https://earthly.dev/";
     changelog = "https://github.com/earthly/earthly/releases/tag/v${version}";
-    license = licenses.bsl11;
+    license = licenses.mpl20;
     maintainers = with maintainers; [ zoedsoupe ];
   };
 }
diff --git a/pkgs/development/tools/ent/default.nix b/pkgs/development/tools/ent/default.nix
index 79470814ada03..c9ed951d5960f 100644
--- a/pkgs/development/tools/ent/default.nix
+++ b/pkgs/development/tools/ent/default.nix
@@ -31,10 +31,11 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "An entity framework for Go";
+    homepage = "https://entgo.io/";
     downloadPage = "https://github.com/ent/ent";
     license = licenses.asl20;
-    homepage = "https://entgo.io/";
     maintainers = with maintainers; [ superherointj ];
+    mainProgram = "ent";
   };
 }
 
diff --git a/pkgs/development/tools/flip-link/default.nix b/pkgs/development/tools/flip-link/default.nix
index 6e752379a73a6..d42e282289afd 100644
--- a/pkgs/development/tools/flip-link/default.nix
+++ b/pkgs/development/tools/flip-link/default.nix
@@ -2,23 +2,31 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "flip-link";
-  version = "0.1.4";
+  version = "0.1.6";
 
   src = fetchFromGitHub {
     owner = "knurling-rs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LE0cWS6sOb9/VvGloezNnePHGldnpfNTdCFUv3F/nwE=";
+    sha256 = "sha256-Sf2HlAfPlg8Er2g17AnRmUkvRhTw5AVPuL2B92hFvpA=";
   };
 
-  cargoSha256 = "sha256-8WBMF5stMB4JXvYwa5yHVFV+3utDuMFJNTZ4fZFDftw=";
+  cargoSha256 = "sha256-2VgsO2hUIvSPNQhR13+bGTxXa6xZXcK0amfiWv2EIxk=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
+  checkFlags = [
+    # requires embedded toolchains
+    "--skip should_link_example_firmware::case_1_normal"
+    "--skip should_link_example_firmware::case_2_custom_linkerscript"
+    "--skip should_verify_memory_layout"
+  ];
+
   meta = with lib; {
     description = "Adds zero-cost stack overflow protection to your embedded programs";
     homepage = "https://github.com/knurling-rs/flip-link";
-    license = with licenses; [ asl20 mit ];
-    maintainers = [ maintainers.FlorianFranzen ];
+    changelog = "https://github.com/knurling-rs/flip-link/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ FlorianFranzen newam ];
   };
 }
diff --git a/pkgs/development/tools/gnulib/default.nix b/pkgs/development/tools/gnulib/default.nix
index 708cdb511a84c..afc91cb603092 100644
--- a/pkgs/development/tools/gnulib/default.nix
+++ b/pkgs/development/tools/gnulib/default.nix
@@ -27,9 +27,10 @@ stdenv.mkDerivation {
   dontFixup = true;
 
   meta = with lib; {
-    homepage = "https://www.gnu.org/software/gnulib/";
     description = "Central location for code to be shared among GNU packages";
+    homepage = "https://www.gnu.org/software/gnulib/";
     license = licenses.gpl3Plus;
+    mainProgram = "gnulib-tool";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/go-junit-report/default.nix b/pkgs/development/tools/go-junit-report/default.nix
index 110cdbfabc9f8..af6b72c65fda6 100644
--- a/pkgs/development/tools/go-junit-report/default.nix
+++ b/pkgs/development/tools/go-junit-report/default.nix
@@ -1,23 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
-  pname = "go-junit-report-unstable";
-  version = "2018-06-14";
-  rev = "385fac0ced9acaae6dc5b39144194008ded00697";
-
-  goPackagePath = "github.com/jstemmer/go-junit-report";
+buildGoModule rec {
+  pname = "go-junit-report";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "jstemmer";
     repo = "go-junit-report";
-    sha256 = "109zs8wpdmc2ijc2khyqija8imay88ka6v50xvrpnnwnd3ywckxi";
+    rev = "v${version}";
+    sha256 = "sha256-/ER99EmYrERBjcJeYeV3GBq6lDjACM0loICg41hUuPQ=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
-    description = "Converts go test output to an xml report, suitable for applications that expect junit xml reports (e.g. Jenkins)";
-    homepage    = "https://${goPackagePath}";
+    description = "Convert go test output to junit xml";
+    homepage = "https://github.com/jstemmer/go-junit-report";
+    license = licenses.mit;
     maintainers = with maintainers; [ cryptix ];
-    license     = licenses.mit;
   };
 }
diff --git a/pkgs/development/tools/go-swag/default.nix b/pkgs/development/tools/go-swag/default.nix
index 8c340b2ccf6c1..9f53c70201404 100644
--- a/pkgs/development/tools/go-swag/default.nix
+++ b/pkgs/development/tools/go-swag/default.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/swaggo/swag";
     license = licenses.mit;
     maintainers = with maintainers; [ stephenwithph ];
+    mainProgram = "swag";
   };
 }
diff --git a/pkgs/development/tools/goa/default.nix b/pkgs/development/tools/goa/default.nix
index 56b47bd8c6010..4290d1501ebf4 100644
--- a/pkgs/development/tools/goa/default.nix
+++ b/pkgs/development/tools/goa/default.nix
@@ -17,9 +17,10 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   meta = with lib; {
-    homepage = "https://goa.design";
     description = "A framework for building microservices in Go using a unique design-first approach";
+    homepage = "https://goa.design";
     license = licenses.mit;
     maintainers = [ maintainers.rushmorem ];
+    mainProgram = "goagen";
   };
 }
diff --git a/pkgs/development/tools/goconst/default.nix b/pkgs/development/tools/goconst/default.nix
index 987a3285f8be2..27e43fec99987 100644
--- a/pkgs/development/tools/goconst/default.nix
+++ b/pkgs/development/tools/goconst/default.nix
@@ -1,23 +1,22 @@
-{ buildGoPackage
-, lib
-, fetchFromGitHub
-}:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "goconst";
-  version = "1.4.0";
-
-  goPackagePath = "github.com/jgautheron/goconst";
+  version = "1.5.1";
 
   excludedPackages = [ "tests" ];
 
   src = fetchFromGitHub {
     owner = "jgautheron";
     repo = "goconst";
-    rev = version;
-    sha256 = "0jp9vg5l4wcvnf653h3d8ay2n7y717l9z34rls1vrsaf0qdf1r6v";
+    rev = "v${version}";
+    sha256 = "sha256-chBWxOy9V4pO3hMaeCoKwnQxIEYiSejUOD3QDBCpaoE=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Find in Go repeated strings that could be replaced by a constant";
     homepage = "https://github.com/jgautheron/goconst";
diff --git a/pkgs/development/tools/goconvey/default.nix b/pkgs/development/tools/goconvey/default.nix
index fb6ce653cc4bc..802be18e566f7 100644
--- a/pkgs/development/tools/goconvey/default.nix
+++ b/pkgs/development/tools/goconvey/default.nix
@@ -1,25 +1,28 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "goconvey";
-  version = "1.6.3";
+  version = "1.7.2";
 
-  goPackagePath = "github.com/smartystreets/goconvey";
   excludedPackages = "web/server/watch/integration_testing";
 
-  goDeps = ./deps.nix;
-
   src = fetchFromGitHub {
     owner = "smartystreets";
     repo = "goconvey";
-    rev = version;
-    sha256 = "1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh";
+    rev = "v${version}";
+    sha256 = "sha256-YT9M9VaLIGUo6pdkaLWLtomcjrDqdnOqwl+C9UwDmT8=";
   };
 
+  vendorSha256 = "sha256-sHyK/4YdNCLCDjxjMKygWAVRnHZ1peYjYRYyEcqoe+E=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
+
   meta = {
     description = "Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go";
     homepage = "https://github.com/smartystreets/goconvey";
-    maintainers = with lib.maintainers; [ vdemeester ];
     license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ vdemeester ];
   };
 }
diff --git a/pkgs/development/tools/goconvey/deps.nix b/pkgs/development/tools/goconvey/deps.nix
deleted file mode 100644
index d329359da7099..0000000000000
--- a/pkgs/development/tools/goconvey/deps.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/jtolds/gls";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jtolds/gls";
-      rev = "77f18212c9c7edc9bd6a33d383a7b545ce62f064";
-      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
-    };
-  }
-  {
-    goPackagePath = "github.com/smartystreets/assertions";
-    fetch = {
-      type = "git";
-      url = "https://github.com/smartystreets/assertions";
-      rev = "0b37b35ec7434b77e77a4bb29b79677cced992ea";
-      sha256 = "1j0adgbykl55rf2945g0n5bmqdsnjcqlx5dcmpfh4chki43hiwg9";
-    };
-  }
-]
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index ac653db1bf026..343ab9624ca62 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -20,8 +20,6 @@ buildGoModule rec {
     "cmd/gosec"
   ];
 
-  doCheck = false;
-
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/development/tools/jd-diff-patch/default.nix b/pkgs/development/tools/jd-diff-patch/default.nix
index 96fd79d62fc60..26c9eeedacd7e 100644
--- a/pkgs/development/tools/jd-diff-patch/default.nix
+++ b/pkgs/development/tools/jd-diff-patch/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://github.com/josephburnett/jd";
     license = licenses.mit;
     maintainers = with maintainers; [ bryanasdev000 blaggacao ];
+    mainProgram = "jd";
   };
 }
diff --git a/pkgs/development/tools/jmespath/default.nix b/pkgs/development/tools/jmespath/default.nix
index 5abbf71e7f412..6224a2def078a 100644
--- a/pkgs/development/tools/jmespath/default.nix
+++ b/pkgs/development/tools/jmespath/default.nix
@@ -1,22 +1,29 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "jmespath";
-  version = "0.2.2";
-  rev = version;
-
-  goPackagePath = "github.com/jmespath/go-jmespath";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "jmespath";
     repo = "go-jmespath";
-    sha256 = "0f4j0m44limnjd6q5fk152g6jq2a5cshcdms4p3a1br8pl9wp5fb";
+    rev = "v${version}";
+    sha256 = "sha256-djA/7TCmAqCsht28b1itoiWd8Mtdsn/5uLxyT23K/qM=";
   };
+
+  vendorSha256 = "sha256-Q12muprcKB7fCxemESb4sGPyYIdmgOt3YXVUln7oabw=";
+
+  excludedPackages = [
+    "./internal/testify"
+  ];
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "A JMESPath implementation in Go";
     homepage = "https://github.com/jmespath/go-jmespath";
-    maintainers = with maintainers; [ cransom ];
     license = licenses.asl20;
+    maintainers = with maintainers; [ cransom ];
+    mainProgram = "jpgo";
   };
 }
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index e5ad74d64c735..d9519130761da 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vUtJ9QVMmDGfkYTBoK8mVaJTEfNBQD5sTEp7kC0LNZw=";
+    sha256 = "sha256-2tKO0NyWFtRQgGrOKB3bROpDaIbQzTT4s2hGnBdZ6Fg=";
   };
 
-  cargoSha256 = "sha256-rJjLXktWnT6kRx1/18AFr6KciaFF8PaTpz27wz+vGug=";
+  cargoSha256 = "sha256-O5ntehb9ifWpBxBoOcFyyc8Ns6+SzHVOifUOD2QyhMY=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/development/tools/kdash/default.nix b/pkgs/development/tools/kdash/default.nix
new file mode 100644
index 0000000000000..daa07f1ceed62
--- /dev/null
+++ b/pkgs/development/tools/kdash/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, perl
+, python3
+, openssl
+, xorg
+, AppKit
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "kdash";
+  version = "0.3.1";
+
+  src = fetchFromGitHub {
+    owner = "kdash-rs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "08ca638kvs98xhbc9g1szw0730cjk9g01qqaja8j413n2h1pr8yq";
+  };
+
+  nativeBuildInputs = [ perl python3 pkg-config ];
+
+  buildInputs = [ openssl xorg.xcbutil ]
+    ++ lib.optional stdenv.isDarwin AppKit;
+
+  cargoSha256 = "0nb554y8r7gvw7ls6gnrg98xxbws0mc6zdsc6ss3p2x9z8xwx204";
+
+  meta = with lib; {
+    description = "A simple and fast dashboard for Kubernetes";
+    homepage = "https://github.com/kdash-rs/kdash";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ matthiasbeyer ];
+  };
+}
diff --git a/pkgs/development/tools/knightos/scas/default.nix b/pkgs/development/tools/knightos/scas/default.nix
index 255ecf798d86b..221c5a0d12d5f 100644
--- a/pkgs/development/tools/knightos/scas/default.nix
+++ b/pkgs/development/tools/knightos/scas/default.nix
@@ -1,4 +1,8 @@
-{ fetchFromGitHub, lib, stdenv, cmake }:
+{ fetchFromGitHub, lib, stdenv, cmake, buildPackages, asciidoc, libxslt }:
+
+let
+  isCrossCompiling = stdenv.hostPlatform != stdenv.buildPlatform;
+in
 
 stdenv.mkDerivation rec {
   pname = "scas";
@@ -12,10 +16,18 @@ stdenv.mkDerivation rec {
   };
 
   cmakeFlags = [ "-DSCAS_LIBRARY=1" ];
-
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "TARGETS scas scdump scwrap" "TARGETS scas scdump scwrap generate_tables"
+  '';
   strictDeps = true;
 
-  nativeBuildInputs = [ cmake ];
+  depsBuildBuild = lib.optionals isCrossCompiling [ buildPackages.knightos-scas ];
+  nativeBuildInputs = [ asciidoc libxslt.bin cmake ];
+  postInstall = ''
+    cd ..
+    make DESTDIR=$out install_man
+  '';
 
   meta = with lib; {
     homepage    = "https://knightos.org/";
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index 0c36636992a2e..9457859100344 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BoH/lT+kYiwOtW82mmhhLZY3Xk2pRZHmNrEKJzPiG54=";
+    sha256 = "sha256-MQ9Rb8U1CGbEgNtkOdK879dr8uOro6CAl4wGMbuT+wo=";
   };
-  vendorSha256 = "sha256-G6WigkkKZj/k+kYlKItSfnoXN8UZ60lFEkZcQaI9J5c=";
+  vendorSha256 = "sha256-gUuceNwOI+ss2YDiIF+zxyOj53iV6kGtVhNCd5KQomo=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/development/tools/kube-linter/default.nix b/pkgs/development/tools/kube-linter/default.nix
index e982cbfed173f..ab6d3759feeb9 100644
--- a/pkgs/development/tools/kube-linter/default.nix
+++ b/pkgs/development/tools/kube-linter/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-linter";
-  version = "0.2.6";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "stackrox";
     repo = pname;
-    rev = "${version}";
-    sha256 = "nBF/AX4hgZxIj9/RYowpHX1eAJMMhvU7wunvEXWnO80=";
+    rev = version;
+    sha256 = "ZqnD9zsh+r1RL34o1nAkvO1saKe721ZJ2+DgBjmsH58=";
   };
 
-  vendorSha256 = "HJW28BZ9qFLtdH1qdW8/K4TzHA2ptekXaMF0XnMKbOY=";
+  vendorSha256 = "sha256-tm1+2jsktNrw8S7peJz7w8k3+JwAYUgKfKWuQ8zIfvk=";
 
   ldflags = [
     "-s" "-w" "-X golang.stackrox.io/kube-linter/internal/version.version=${version}"
@@ -26,6 +26,6 @@ buildGoModule rec {
     description = "A static analysis tool that checks Kubernetes YAML files and Helm charts";
     homepage = "https://kubelinter.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ mtesseract ];
+    maintainers = with maintainers; [ mtesseract stehessel ];
   };
 }
diff --git a/pkgs/development/tools/kustomize/3.nix b/pkgs/development/tools/kustomize/3.nix
index aa99256faa84f..d9eb6ce298ec4 100644
--- a/pkgs/development/tools/kustomize/3.nix
+++ b/pkgs/development/tools/kustomize/3.nix
@@ -36,5 +36,6 @@ buildGoModule rec {
     homepage = "https://github.com/kubernetes-sigs/kustomize";
     license = licenses.asl20;
     maintainers = with maintainers; [ carlosdagos vdemeester zaninime Chili-Man saschagrunert ];
+    mainProgram = "kustomize";
   };
 }
diff --git a/pkgs/development/tools/literate-programming/Literate/default.nix b/pkgs/development/tools/literate-programming/Literate/default.nix
index 1582ca8740265..1a71b9bc857ff 100644
--- a/pkgs/development/tools/literate-programming/Literate/default.nix
+++ b/pkgs/development/tools/literate-programming/Literate/default.nix
@@ -18,8 +18,9 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "A literate programming tool for any language";
-    homepage    = "http://literate.zbyedidia.webfactional.com/";
+    homepage = "https://zyedidia.github.io/literate/";
     license = licenses.mit;
+    mainProgram = "lit";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index b7e8eca1b8317..4281a1d9e3916 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.11.4";
+  version = "0.11.5";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "sha256-ZHl+uqYTSMEMR1CSo0btxEn/NQz7MNwh4JISm2L5B3Y=";
+    outputHash     = "sha256-kw+8688E1b7XjEb7AqOExSVu88NqPprKaCuINWqL2wk=";
   };
 
   nativeBuildInputs = [ makeWrapper setJavaClassPath ];
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 0fa34c7eefe81..16c056bc3ff09 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -25,13 +25,13 @@ let makeArcWrapper = toolset: ''
 in
 stdenv.mkDerivation {
   pname = "arcanist";
-  version = "20200711";
+  version = "20220425";
 
   src = fetchFromGitHub {
     owner = "phacility";
     repo = "arcanist";
-    rev = "2565cc7b4d1dbce6bc7a5b3c4e72ae94be4712fe";
-    sha256 = "0jiv4aj4m5750dqw9r8hizjkwiyxk4cg4grkr63sllsa2dpiibxw";
+    rev = "da206314cf59f71334b187283e18823bddc16ddd";
+    sha256 = "sha256-6VVUjFMwPQvk22Ni1YUSgks4ZM0j1JP+71VnYKD8onM=";
   };
 
   patches = [ ./dont-require-python3-in-path.patch ];
diff --git a/pkgs/development/tools/misc/chruby/default.nix b/pkgs/development/tools/misc/chruby/default.nix
index 1aef6d52075fe..cbe223513272e 100644
--- a/pkgs/development/tools/misc/chruby/default.nix
+++ b/pkgs/development/tools/misc/chruby/default.nix
@@ -37,7 +37,8 @@ in stdenv.mkDerivation rec {
     description = "Changes the current Ruby";
     homepage = "https://github.com/postmodern/chruby";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ cstrahan ];
+    mainProgram = "chruby-exec";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 4dc63d54f145e..4b8278f94ac71 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,18 +2,18 @@
 
 buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
-  version = "2022.04.18-00.59.32";
+  version = "2022.05.03-12.35.40";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-14EsJIKYl8TWbDqM9PyVrbs/4EssqXp0EK70RrFz+RE=";
+    sha256 = "sha256-5jh4umT93P53ufgdKYHNtiDJ1QpoJ8QpfAti0+tmvmc=";
   };
 
   jar = fetchurl {
     url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
-    sha256 = "d78094b015bd9e671eea2eb89ca0bb3ec58d39802ad1bfdf875b50e1cdd4995e";
+    sha256 = "b4984b5d8411542ec7d4732c950340d16e379ad76c40e57c3d41a8e7adda2faf";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index adee94dafa91e..fa867c263162e 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -85,6 +85,8 @@ stdenv.mkDerivation rec {
     homepage = "https://sourceware.org/elfutils/";
     description = "A set of utilities to handle ELF objects";
     platforms = platforms.linux;
+    # https://lists.fedorahosted.org/pipermail/elfutils-devel/2014-November/004223.html
+    broken = stdenv.hostPlatform.isStatic;
     # licenses are GPL2 or LGPL3+ for libraries, GPL3+ for bins,
     # but since this package isn't split that way, all three are listed.
     license = with licenses; [ gpl2Only lgpl3Plus gpl3Plus ];
diff --git a/pkgs/development/tools/misc/gdbgui/default.nix b/pkgs/development/tools/misc/gdbgui/default.nix
index a82ff178c9eb7..e953fa0ba40dc 100644
--- a/pkgs/development/tools/misc/gdbgui/default.nix
+++ b/pkgs/development/tools/misc/gdbgui/default.nix
@@ -2,80 +2,35 @@
 , buildPythonApplication
 , fetchPypi
 , gdb
-, flask
-, six
-, bidict
-, python-engineio
-, python-socketio
 , flask-socketio
 , flask-compress
 , pygdbmi
 , pygments
-, gevent
-, gevent-websocket
-, eventlet
 , }:
 
-let
-  # gdbgui only works with the latest previous major version of flask-socketio,
-  # which depends itself on the latest previous major versions of dependencies.
-  python-engineio' = python-engineio.overridePythonAttrs (old: rec {
-    version = "3.14.2";
-    src = fetchPypi {
-      inherit (old) pname;
-      inherit version;
-      sha256 = "119halljynqsgswlhlh750qv56js1p7j52sc0nbwxh8450zmbd7a";
-    };
-    propagatedBuildInputs = [ six ];
-    doCheck = false;
-  });
-  python-socketio' = python-socketio.overridePythonAttrs (old: rec {
-    version = "4.6.1";
-    src = fetchPypi {
-      inherit (old) pname;
-      inherit version;
-      sha256 = "047syhrrxh327p0fnab0d1zy25zijnj3gs1qg3kjpsy1jaj5l7yd";
-    };
-    propagatedBuildInputs = [ bidict python-engineio' ];
-    doCheck = false;
-  });
-  flask-socketio' = flask-socketio.overridePythonAttrs (old: rec {
-    version = "4.3.2";
-    src = fetchPypi {
-      inherit (old) pname;
-      inherit version;
-      sha256 = "0s2xs9kv9cbwy8bcxszhdwlcb9ldv0fj33lwilf5vypj0wsin01p";
-    };
-    propagatedBuildInputs = [ flask python-socketio' ];
-    doCheck = false;
-  });
-in
 buildPythonApplication rec {
   pname = "gdbgui";
-  version = "0.14.0.2";
+
+  version = "0.15.0.1";
+
 
   buildInputs = [ gdb ];
   propagatedBuildInputs = [
-    flask
-    flask-socketio'
+    flask-socketio
     flask-compress
     pygdbmi
     pygments
-    gevent
-    gevent-websocket
-    eventlet
   ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1v6wwsncgnhlg5c7gsmzcp52hfblfnz5kf5pk4d0zybflsxak02d";
+    sha256 = "sha256-bwrleLn3GBx4Mie2kujtaUo+XCALM+hRLySIZERlBg0=";
   };
 
   postPatch = ''
     echo ${version} > gdbgui/VERSION.txt
     # remove upper version bound
-    sed -ie 's!, <.*"!"!' setup.py
-    sed -i 's/greenlet==/greenlet>=/' setup.py
+    sed -ie 's!,.*<.*!!' requirements.in
   '';
 
   postInstall = ''
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 806625934d95b..7d860528022ec 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -16,12 +16,11 @@ stdenv.mkDerivation rec {
 
   doCheck = false;
 
-  configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ];
+  configureFlags = [ "--with-syscmd-shell=${stdenv.shell}" ]
+    ++ lib.optional stdenv.hostPlatform.isMinGW "CFLAGS=-fno-stack-protector";
 
   meta = {
-    homepage = "https://www.gnu.org/software/m4/";
     description = "GNU M4, a macro processor";
-
     longDescription = ''
       GNU M4 is an implementation of the traditional Unix macro
       processor.  It is mostly SVR4 compatible although it has some
@@ -38,8 +37,10 @@ stdenv.mkDerivation rec {
       recursion etc...  m4 can be used either as a front-end to a
       compiler or as a macro processor in its own right.
     '';
+    homepage = "https://www.gnu.org/software/m4/";
 
     license = lib.licenses.gpl3Plus;
+    mainProgram = "m4";
     platforms = lib.platforms.unix ++ lib.platforms.windows;
   };
 
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index 9e6d846e80a4b..995a6bb9cdb92 100644
--- a/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -1,4 +1,4 @@
-{lib, stdenv, fetchurl, gtk2, pkg-config }:
+{lib, stdenv, fetchurl, fetchpatch, gtk2, pkg-config }:
 
 stdenv.mkDerivation rec {
   pname = "gtkdialog";
@@ -8,6 +8,14 @@ stdenv.mkDerivation rec {
     url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${pname}/${pname}-${version}.tar.gz";
     sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e";
   };
+  patches = [
+    # Pull Gentoo patch for -fno-common toolchain fix.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fno-common.patch?id=98692e4c4ad494b88c4902ca1ab3e6541190bbe8";
+      sha256 = "1mh01krzpfy7lbbqx3xm71xsiqqgg67w4snv794wspfqkk2hicvz";
+    })
+  ];
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ gtk2 ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index f7d1667dfa24e..05c6586971768 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, perlPackages, gettext }:
+{ lib, stdenv, fetchurl, perlPackages, gettext, libintl }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -17,7 +17,11 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   nativeBuildInputs = [ gettext perlPackages.perl perlPackages.LocaleGettext ];
-  buildInputs = [ perlPackages.LocaleGettext ];
+  buildInputs = [ perlPackages.LocaleGettext libintl ];
+
+  configureFlags = [
+    "--enable-nls"
+  ];
 
   doCheck = false;                                # target `check' is missing
 
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
deleted file mode 100644
index 27ff31dae9637..0000000000000
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ fetchFromGitHub, callPackage, nixVersions, nixosTests }:
-
-{
-  hydra-unstable = callPackage ./common.nix {
-    version = "2021-08-11";
-    src = fetchFromGitHub {
-      owner = "NixOS";
-      repo = "hydra";
-      rev = "9bce425c3304173548d8e822029644bb51d35263";
-      sha256 = "sha256-tGzwKNW/odtAYcazWA9bPVSmVXMGKfXsqCA1UYaaxmU=";
-    };
-    patches = [ ./eval.patch ];
-    nix = nixVersions.unstable;
-
-    tests = {
-      basic = nixosTests.hydra.hydra-unstable;
-    };
-  };
-}
diff --git a/pkgs/development/tools/misc/hydra/missing-std-string.patch b/pkgs/development/tools/misc/hydra/missing-std-string.patch
new file mode 100644
index 0000000000000..2010b4cf178ba
--- /dev/null
+++ b/pkgs/development/tools/misc/hydra/missing-std-string.patch
@@ -0,0 +1,61 @@
+diff --git a/src/hydra-eval-jobs/hydra-eval-jobs.cc b/src/hydra-eval-jobs/hydra-eval-jobs.cc
+index acffe1d..53f2630 100644
+--- a/src/hydra-eval-jobs/hydra-eval-jobs.cc
++++ b/src/hydra-eval-jobs/hydra-eval-jobs.cc
+@@ -63,7 +63,7 @@ struct MyArgs : MixEvalArgs, MixCommonArgs
+ 
+ static MyArgs myArgs;
+ 
+-static std::string queryMetaStrings(EvalState & state, DrvInfo & drv, const string & name, const string & subAttribute)
++static std::string queryMetaStrings(EvalState & state, DrvInfo & drv, const std::string & name, const std::string & subAttribute)
+ {
+     Strings res;
+     std::function<void(Value & v)> rec;
+@@ -186,7 +186,7 @@ static void worker(
+                     for (auto & i : context)
+                         if (i.at(0) == '!') {
+                             size_t index = i.find("!", 1);
+-                            job["constituents"].push_back(string(i, index + 1));
++                            job["constituents"].push_back(std::string(i, index + 1));
+                         }
+ 
+                     state.forceList(*a->value, *a->pos);
+diff --git a/src/hydra-queue-runner/hydra-queue-runner.cc b/src/hydra-queue-runner/hydra-queue-runner.cc
+index 62eb572..a957bef 100644
+--- a/src/hydra-queue-runner/hydra-queue-runner.cc
++++ b/src/hydra-queue-runner/hydra-queue-runner.cc
+@@ -87,7 +87,7 @@ void State::parseMachines(const std::string & contents)
+     }
+ 
+     for (auto line : tokenizeString<Strings>(contents, "\n")) {
+-        line = trim(string(line, 0, line.find('#')));
++        line = trim(std::string(line, 0, line.find('#')));
+         auto tokens = tokenizeString<std::vector<std::string>>(line);
+         if (tokens.size() < 3) continue;
+         tokens.resize(8);
+diff --git a/src/libhydra/db.hh b/src/libhydra/db.hh
+index 7d5bdc5..00e8f40 100644
+--- a/src/libhydra/db.hh
++++ b/src/libhydra/db.hh
+@@ -18,7 +18,7 @@ struct Connection : pqxx::connection
+         std::string upper_prefix = "DBI:Pg:";
+ 
+         if (hasPrefix(s, lower_prefix) || hasPrefix(s, upper_prefix)) {
+-            return concatStringsSep(" ", tokenizeString<Strings>(string(s, lower_prefix.size()), ";"));
++            return concatStringsSep(" ", tokenizeString<Strings>(std::string(s, lower_prefix.size()), ";"));
+         }
+ 
+         throw Error("$HYDRA_DBI does not denote a PostgreSQL database");
+diff --git a/src/libhydra/hydra-config.hh b/src/libhydra/hydra-config.hh
+index bc989f7..1688c27 100644
+--- a/src/libhydra/hydra-config.hh
++++ b/src/libhydra/hydra-config.hh
+@@ -17,7 +17,7 @@ struct HydraConfig
+         if (hydraConfigFile && pathExists(*hydraConfigFile)) {
+ 
+             for (auto line : tokenizeString<Strings>(readFile(*hydraConfigFile), "\n")) {
+-                line = trim(string(line, 0, line.find('#')));
++                line = trim(std::string(line, 0, line.find('#')));
+ 
+                 auto eq = line.find('=');
+                 if (eq == std::string::npos) continue;
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/unstable.nix
index f9d7a8156e14e..36de9f886c19c 100644
--- a/pkgs/development/tools/misc/hydra/common.nix
+++ b/pkgs/development/tools/misc/hydra/unstable.nix
@@ -1,35 +1,72 @@
-{ stdenv, nix, perlPackages, buildEnv
-, makeWrapper, autoconf, automake, libtool, unzip, pkg-config, sqlite, libpqxx_6
-, top-git, mercurial, darcs, subversion, breezy, openssl, bzip2, libxslt
-, perl, postgresql, nukeReferences, git, boehmgc, nlohmann_json
-, docbook_xsl, openssh, gnused, coreutils, findutils, gzip, xz, gnutar
-, rpm, dpkg, cdrkit, pixz, lib, boost, autoreconfHook, src ? null, version ? null
-, migration ? false, patches ? []
-, tests ? {}, mdbook
+{ stdenv
+, lib
+, nix
+, perlPackages
+, buildEnv
+, makeWrapper
+, autoconf
+, automake
+, libtool
+, unzip
+, pkg-config
+, sqlite
+, libpqxx_6
+, top-git
+, mercurial
+, darcs
+, subversion
+, breezy
+, openssl
+, bzip2
+, libxslt
+, perl
+, postgresql
+, nukeReferences
+, git
+, boehmgc
+, nlohmann_json
+, docbook_xsl
+, openssh
+, gnused
+, coreutils
+, findutils
+, gzip
+, xz
+, gnutar
+, rpm
+, dpkg
+, cdrkit
+, pixz
+, boost
+, autoreconfHook
+, mdbook
+, foreman
+, python3
+, libressl
+, cacert
+, glibcLocales
+, fetchFromGitHub
+, fetchpatch
+, nixosTests
 }:
 
-with stdenv;
-
-if lib.versions.major nix.version == "1"
-  then throw "This Hydra version doesn't support Nix 1.x"
-else
-
 let
   perlDeps = buildEnv {
     name = "hydra-perl-deps";
     paths = with perlPackages; lib.closePropagation
-      [ ModulePluggable
+      [
+        ModulePluggable
+        AuthenSASL
         CatalystActionREST
         CatalystAuthenticationStoreDBIxClass
+        CatalystAuthenticationStoreLDAP
         CatalystDevel
-        CatalystDispatchTypeRegex
         CatalystPluginAccessLog
         CatalystPluginAuthorizationRoles
         CatalystPluginCaptcha
         CatalystPluginPrometheusTiny
         CatalystPluginSessionStateCookie
         CatalystPluginSessionStoreFastMmap
-        CatalystPluginSmartURI
         CatalystPluginStackTrace
         CatalystRuntime
         CatalystTraitForRequestProxyBase
@@ -48,57 +85,123 @@ let
         DigestSHA1
         EmailMIME
         EmailSender
-        FileSlurp
+        FileSlurper
+        FileWhich
         IOCompress
         IPCRun
+        IPCRun3
         JSON
-        JSONAny
+        JSONMaybeXS
         JSONXS
+        ListSomeUtils
         LWP
         LWPProtocolHttps
+        ModulePluggable
         NetAmazonS3
         NetPrometheus
         NetStatsd
         PadWalker
+        ParallelForkManager
+        PerlCriticCommunity
         PrometheusTinyShared
-        Readonly
+        ReadonlyX
         SQLSplitStatement
         SetScalar
         Starman
         StringCompareConstantTime
         SysHostnameLong
         TermSizeAny
+        TermReadKey
+        Test2Harness
+        TestPostgreSQL
         TextDiff
         TextTable
+        UUID4Tiny
         XMLSimple
         YAML
         nix
         nix.perl-bindings
         git
-        boehmgc
       ];
   };
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "hydra";
+  version = "2022-02-07";
 
-  inherit stdenv src version patches;
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "hydra";
+    rev = "517dce285a851efd732affc084c7083aed2e98cd";
+    sha256 = "sha256-abWhd/VLNse3Gz7gcVbFANJLAhHV4nbOKjhVDmq/Zmg=";
+  };
 
   buildInputs =
-    [ makeWrapper libtool unzip nukeReferences sqlite libpqxx_6
-      top-git mercurial /*darcs*/ subversion breezy openssl bzip2 libxslt
-      perlDeps perl nix
+    [
+      makeWrapper
+      libtool
+      unzip
+      nukeReferences
+      sqlite
+      libpqxx_6
+      top-git
+      mercurial
+      darcs
+      subversion
+      breezy
+      openssl
+      bzip2
+      libxslt
+      perlDeps
+      perl
+      nix
       postgresql # for running the tests
       nlohmann_json
       boost
+      pixz
     ];
 
   hydraPath = lib.makeBinPath (
-    [ sqlite subversion openssh nix coreutils findutils pixz
-      gzip bzip2 xz gnutar unzip git top-git mercurial /*darcs*/ gnused breezy
-    ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ] );
+    [
+      sqlite
+      subversion
+      openssh
+      nix
+      coreutils
+      findutils
+      pixz
+      gzip
+      bzip2
+      xz
+      gnutar
+      unzip
+      git
+      top-git
+      mercurial /*darcs*/
+      gnused
+      breezy
+    ] ++ lib.optionals stdenv.isLinux [ rpm dpkg cdrkit ]
+  );
 
   nativeBuildInputs = [ autoreconfHook pkg-config mdbook autoconf automake ];
 
+  checkInputs = [
+    cacert
+    foreman
+    glibcLocales
+    python3
+    libressl.nc
+  ];
+
+  patches = [
+    ./eval.patch
+    ./missing-std-string.patch
+    (fetchpatch {
+      url = "https://github.com/NixOS/hydra/commit/5ae26aa7604f714dcc73edcb74fe71ddc8957f6c.patch";
+      sha256 = "sha256-wkbWo8SFbT3qwVxwkKQWpQT5Jgb1Bb51yiLTlFdDN/I=";
+    })
+  ];
+
   configureFlags = [ "--with-docbook-xsl=${docbook_xsl}/xml/xsl/docbook" ];
 
   NIX_CFLAGS_COMPILE = "-pthread";
@@ -113,6 +216,8 @@ in stdenv.mkDerivation rec {
   preCheck = ''
     patchShebangs .
     export LOGNAME=''${LOGNAME:-foo}
+    # set $HOME for bzr so it can create its trace file
+    export HOME=$(mktemp -d)
   '';
 
   postInstall = ''
@@ -123,20 +228,25 @@ in stdenv.mkDerivation rec {
         wrapProgram $i \
             --prefix PERL5LIB ':' $out/libexec/hydra/lib:$PERL5LIB \
             --prefix PATH ':' $out/bin:$hydraPath \
-            --set HYDRA_RELEASE ${version} \
+            --set-default HYDRA_RELEASE ${version} \
             --set HYDRA_HOME $out/libexec/hydra \
             --set NIX_RELEASE ${nix.name or "unknown"}
     done
-  ''; # */
+  '';
 
   dontStrip = true;
 
-  passthru = { inherit perlDeps migration tests; };
+  doCheck = true;
+
+  passthru = {
+    inherit perlDeps;
+    tests.basic = nixosTests.hydra.hydra_unstable;
+  };
 
   meta = with lib; {
     description = "Nix-based continuous build system";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ lheckemann mindavi das_j ];
   };
 }
diff --git a/pkgs/development/tools/misc/libtree/default.nix b/pkgs/development/tools/misc/libtree/default.nix
index f852b7ea7adfd..219ce239f488d 100644
--- a/pkgs/development/tools/misc/libtree/default.nix
+++ b/pkgs/development/tools/misc/libtree/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , binutils
 , chrpath
 , cmake
@@ -13,39 +12,25 @@
 
 stdenv.mkDerivation rec {
   pname = "libtree";
-  version = "2.0.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "haampie";
     repo = "libtree";
     rev = "v${version}";
-    sha256 = "sha256-j54fUwMkX4x4MwL8gMraguK9GqQRBjCC+W6ojFnQdHQ=";
+    sha256 = "sha256-C5QlQsBL9Als80Tv13ex2XS5Yj50Ht8eDfGYAtnh/HI=";
   };
 
-  patches = [
-    # add missing include
-    # https://github.com/haampie/libtree/pull/42
-    (fetchpatch {
-      url = "https://github.com/haampie/libtree/commit/219643ff6edcae42c9546b8ba38cfec9d19b034e.patch";
-      sha256 = "sha256-vdFmmBdBiOT3QBcwd3SuiolcaFTFAb88kU1KN8229K0=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace src/main.cpp \
-      --replace "std::string strip = \"strip\";" "std::string strip = \"${binutils}/bin/strip\";" \
-      --replace "std::string chrpath = \"chrpath\";" "std::string chrpath = \"${chrpath}/bin/chrpath\";"
-  '';
-
-  nativeBuildInputs = [ cmake ];
-
   buildInputs = [ cxxopts elfio termcolor ];
 
-  doCheck = true;
+  makeFlags = [ "PREFIX=$(out)" ];
 
+  # note: "make check" returns exit code 0 even when the tests fail.
+  # This has been reported upstream:
+  #  https://github.com/haampie/libtree/issues/77
   checkInputs = [ gtest ];
-
-  cmakeFlags = [ "-DLIBTREE_BUILD_TESTS=ON" ];
+  checkTarget = [ "check" ];
+  doCheck = true;
 
   meta = with lib; {
     description = "Tree ldd with an option to bundle dependencies into a single folder";
diff --git a/pkgs/development/tools/misc/netcoredbg/default.nix b/pkgs/development/tools/misc/netcoredbg/default.nix
index cb0c1cdc8ec7c..c57b421dbef3b 100644
--- a/pkgs/development/tools/misc/netcoredbg/default.nix
+++ b/pkgs/development/tools/misc/netcoredbg/default.nix
@@ -1,7 +1,7 @@
 { lib, clangStdenv, stdenvNoCC, cmake, fetchFromGitHub, dotnetCorePackages, buildDotnetModule }:
 let
   pname = "netcoredbg";
-  version = "1.2.0-825";
+  version = "2.0.0-895";
 
   # according to CMakeLists.txt, this should be 3.1 even when building for .NET 5
   coreclr-version = "3.1.19";
@@ -12,18 +12,19 @@ let
     sha256 = "o1KafmXqNjX9axr6sSxPKrfUX0e+b/4ANiVQt4T2ybw=";
   };
 
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
 
   src = fetchFromGitHub {
     owner = "Samsung";
     repo = pname;
     rev = version;
-    sha256 = "JQhDI1+bVbOIFNkXixZnFB/5+dzqCbInR0zJvykcFCg=";
+    sha256 = "sha256-zOfChuNjD6py6KD1AmN5DgCGxD2YNH9gTyageoiN8PU=";
   };
 
   unmanaged = clangStdenv.mkDerivation rec {
     inherit src pname version;
 
+    patches = [ ./limits.patch ];
     nativeBuildInputs = [ cmake dotnet-sdk ];
 
     hardeningDisable = [ "strictoverflow" ];
diff --git a/pkgs/development/tools/misc/netcoredbg/limits.patch b/pkgs/development/tools/misc/netcoredbg/limits.patch
new file mode 100644
index 0000000000000..8a2dcced32c5b
--- /dev/null
+++ b/pkgs/development/tools/misc/netcoredbg/limits.patch
@@ -0,0 +1,12 @@
+diff --git a/src/debugger/frames.cpp b/src/debugger/frames.cpp
+index 534936b..21366f9 100644
+--- a/src/debugger/frames.cpp
++++ b/src/debugger/frames.cpp
+@@ -9,6 +9,7 @@
+ #include "utils/platform.h"
+ #include "utils/logger.h"
+ #include "utils/torelease.h"
++#include <limits>
+ 
+ namespace netcoredbg
+ {
diff --git a/pkgs/development/tools/misc/premake/default.nix b/pkgs/development/tools/misc/premake/default.nix
index 35c651f4a18c1..e3c4aef87bd30 100644
--- a/pkgs/development/tools/misc/premake/default.nix
+++ b/pkgs/development/tools/misc/premake/default.nix
@@ -23,10 +23,11 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   meta = with lib; {
-    homepage = "https://premake.github.io/";
     description = "A simple build configuration and project generation tool using lua";
+    homepage = "https://premake.github.io/";
     license = lib.licenses.bsd3;
-    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
+    mainProgram = "premake4";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index c3349661c559d..7478c27ce9f5a 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
 let
   name = "saleae-logic-2";
-  version = "2.3.51";
+  version = "2.3.52";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "sha256-Z5GPA1cJbQJOjntWXe1uF26e7nJ99+ANoCP57Y/OO5A=";
+    sha256 = "sha256-Z1xDVb1qFPtTi40dZ1CBw6ZqtQbYjuUjeUinBV+wdw8=";
   };
   desktopItem = makeDesktopItem {
     inherit name;
diff --git a/pkgs/development/tools/misc/sqitch/default.nix b/pkgs/development/tools/misc/sqitch/default.nix
index 5e3c3bc37c642..f941ab05e2888 100644
--- a/pkgs/development/tools/misc/sqitch/default.nix
+++ b/pkgs/development/tools/misc/sqitch/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   '';
   dontStrip = true;
   postFixup = ''
-    wrapProgram $out/bin/sqitch --prefix PERL5LIB : ${perlPackages.makeFullPerlPath modules}
+    wrapProgram $out/bin/sqitch --prefix PERL5LIB : ${lib.escapeShellArg (perlPackages.makeFullPerlPath modules)}
   '';
 
   meta = {
diff --git a/pkgs/development/tools/misc/stlink/default.nix b/pkgs/development/tools/misc/stlink/default.nix
index 2fbb60a0ddcce..850d0ea21bf85 100644
--- a/pkgs/development/tools/misc/stlink/default.nix
+++ b/pkgs/development/tools/misc/stlink/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , libusb1
 , gtk3
@@ -27,6 +28,13 @@ in stdenv.mkDerivation rec {
     sha256 = "03xypffpbp4imrczbxmq69vgkr7mbp0ps9dk815br5wwlz6vgygl";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/stlink-org/stlink/commit/468b1d2daa853b975c33ab69876c486734f2c6a7.diff";
+      sha256 = "sha256-ueSi/zc7xbOATl0yBtCL4U64IQ/yqu6sMYDOiPl1JBI=";
+    })
+  ];
+
   buildInputs = [
     libusb1'
   ] ++ lib.optionals withGUI [
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index 3c191d7c6a91b..e8020787130ae 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "uncrustify";
-  version = "0.74.0";
+  version = "0.75.0";
 
   src = fetchFromGitHub {
     owner = "uncrustify";
     repo = "uncrustify";
     rev = "uncrustify-${version}";
-    sha256 = "0v48vhmzxjzysbf0vhxzayl2pkassvbabvwg84xd6b8n5i74ijxd";
+    sha256 = "sha256-UbcQvNnuN2VX60O9wXTksrijgrSGzYCseq0tGUtJ9Mg=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/tools/misc/watson-ruby/default.nix b/pkgs/development/tools/misc/watson-ruby/default.nix
index 4d17680471d27..eb6c8bd761999 100644
--- a/pkgs/development/tools/misc/watson-ruby/default.nix
+++ b/pkgs/development/tools/misc/watson-ruby/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://goosecode.com/watson/";
     license     = with licenses; mit;
     maintainers = with maintainers; [ robertodr nicknovitski ];
+    mainProgram = "watson";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix
index c54cda1ad27d7..915ed33c46696 100644
--- a/pkgs/development/tools/mysql-shell/default.nix
+++ b/pkgs/development/tools/mysql-shell/default.nix
@@ -31,14 +31,10 @@
 , CoreServices
 , developer_cmds
 , DarwinTools
-, mysql-shell
 }:
 
 let
-  pythonDeps = [
-    python3.pkgs.certifi
-    python3.pkgs.paramiko
-  ];
+  pythonDeps = [ python3.pkgs.certifi python3.pkgs.paramiko ];
   site = ''
 
     import sys; sys.path.extend([${lib.concatStringsSep ", " (map (x: ''"${x}/${python3.sitePackages}"'') pythonDeps)}])
@@ -46,24 +42,22 @@ let
 in
 stdenv.mkDerivation rec{
   pname = "mysql-shell";
-  version = "8.0.28";
+  version = "8.0.29";
 
   srcs = [
     (fetchurl {
       url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${version}-src.tar.gz";
-      sha256 = "sha256-xm2sepVgI0MPs25vu+BcRQeksaVhHcQlymreN1myu6c=";
+      sha256 = "sha256-ijwyamQgMoUEcMNpIJjJxH/dRuRFpdcXGmQqpD+WrmA=";
     })
     (fetchurl {
       url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor version}/mysql-${version}.tar.gz";
-      sha256 = "sha256-2Gk2nrbeTyuy2407Mbe3OWjjVuX/xDVPS5ZlirHkiyI=";
+      sha256 = "sha256-USFw+m94ppTW8Y0ZfpmdJxbuaNxUHXZE3ZIqNmNAcmY=";
     })
   ];
 
   sourceRoot = "mysql-shell-${version}-src";
 
   postPatch = ''
-    patch ../mysql-${version}/cmake/fido2.cmake ${./fido2.cmake.patch}
-
     substituteInPlace ../mysql-${version}/cmake/libutils.cmake --replace /usr/bin/libtool libtool
     substituteInPlace ../mysql-${version}/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
 
@@ -73,12 +67,7 @@ stdenv.mkDerivation rec{
     echo '${site}' >> python/packages/mysqlsh/__init__.py
   '';
 
-  nativeBuildInputs = [
-    pkg-config
-    cmake
-    git
-    bison
-  ] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
+  nativeBuildInputs = [ pkg-config cmake git bison ] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
 
   buildInputs = [
     boost
@@ -99,30 +88,21 @@ stdenv.mkDerivation rec{
     cyrus_sasl
     openldap
     v8
+    python3
   ] ++ pythonDeps ++ lib.optionals stdenv.isLinux [
     numactl
     libtirpc
-  ] ++ lib.optionals stdenv.isDarwin [
-    cctools
-    CoreServices
-    developer_cmds
-    DarwinTools
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ cctools CoreServices developer_cmds DarwinTools ];
 
   preConfigure = ''
     # Build MySQL
-    cmake -DWITH_BOOST=system \
-      -DWITH_SYSTEM_LIBS=ON \
-      -DWITH_ROUTER=OFF \
-      -DWITH_UNIT_TESTS=OFF \
-      -DFORCE_UNSUPPORTED_COMPILER=1 \
-      -S ../mysql-${version} -B ../mysql-${version}/build
+    cmake -DWITH_BOOST=system -DWITH_SYSTEM_LIBS=ON -DWITH_ROUTER=OFF -DWITH_UNIT_TESTS=OFF \
+      -DFORCE_UNSUPPORTED_COMPILER=1 -S ../mysql-${version} -B ../mysql-${version}/build
 
     cmake --build ../mysql-${version}/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient
 
     # Get libv8_monolith
-    mkdir -p ../v8/lib
-    ln -s ${v8}/lib/libv8.a ../v8/lib/libv8_monolith.a
+    mkdir -p ../v8/lib && ln -s ${v8}/lib/libv8.a ../v8/lib/libv8_monolith.a
   '';
 
   cmakeFlags = [
@@ -139,10 +119,7 @@ stdenv.mkDerivation rec{
     "-DHAVE_PYTHON=1"
   ];
 
-  CXXFLAGS = [
-    "-DV8_COMPRESS_POINTERS=1"
-    "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1"
-  ];
+  CXXFLAGS = [ "-DV8_COMPRESS_POINTERS=1" "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1" ];
 
   meta = with lib; {
     homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor version}/en/";
diff --git a/pkgs/development/tools/mysql-shell/fido2.cmake.patch b/pkgs/development/tools/mysql-shell/fido2.cmake.patch
deleted file mode 100644
index df6005cca1a7b..0000000000000
--- a/pkgs/development/tools/mysql-shell/fido2.cmake.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/cmake/fido2.cmake b/cmake/fido2.cmake
-index c20e6e75c0d..f2d5cbd8430 100644
---- a/cmake/fido2.cmake
-+++ b/cmake/fido2.cmake
-@@ -30,19 +30,8 @@ MACRO(FIND_FIDO_VERSION)
-   IF(WITH_FIDO STREQUAL "bundled")
-     SET(FIDO_VERSION "1.7.0")
-   ELSE()
--    # This does not set any version information:
--    # PKG_CHECK_MODULES(SYSTEM_FIDO fido2)
--
-     MYSQL_CHECK_PKGCONFIG()
--    EXECUTE_PROCESS(
--      COMMAND ${MY_PKG_CONFIG_EXECUTABLE} --modversion libfido2
--      OUTPUT_VARIABLE MY_FIDO_MODVERSION
--      OUTPUT_STRIP_TRAILING_WHITESPACE
--      RESULT_VARIABLE MY_MODVERSION_RESULT
--      )
--    IF(MY_MODVERSION_RESULT EQUAL 0)
--      SET(FIDO_VERSION ${MY_FIDO_MODVERSION})
--    ENDIF()
-+    PKG_CHECK_MODULES(FIDO libfido2)
-   ENDIF()
-   MESSAGE(STATUS "FIDO_VERSION (${WITH_FIDO}) is ${FIDO_VERSION}")
- ENDMACRO(FIND_FIDO_VERSION)
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index 44d9782f3ce51..5a9b08e20d0ba 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -54,14 +54,12 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = "http://projects.camlcity.org/projects/findlib.html";
     description = "O'Caml library manager";
+    homepage = "http://projects.camlcity.org/projects/findlib.html";
     license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ maggesi vbmithr ];
+    mainProgram = "ocamlfind";
     platforms = ocaml.meta.platforms or [];
-    maintainers = [
-      lib.maintainers.maggesi
-      lib.maintainers.vbmithr
-    ];
   };
 }
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 82d84c819dd2c..7805ca264035f 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -5,12 +5,12 @@
 
 buildDunePackage rec {
   pname = "js_of_ocaml-compiler";
-  version = "3.11.0";
+  version = "4.0.0";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
-    sha256 = "sha256:0flws9mw0yjfw4d8d3y3k408mivy2xgky70xk1br3iqs4zksz38m";
+    sha256 = "sha256:0pj9jjrmi0xxrzmygv4b5whsibw1jxy3wgibmws85x5jwlczh0nz";
   };
 
   nativeBuildInputs = [ menhir ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
index c67d05c15038f..fa9ff95b0fd2d 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ocamlbuild.nix
@@ -1,13 +1,26 @@
-{ buildDunePackage, js_of_ocaml-compiler
+{ lib, buildDunePackage, fetchFromGitHub
 , ocamlbuild
 }:
 
-buildDunePackage {
+buildDunePackage rec {
   pname = "js_of_ocaml-ocamlbuild";
-
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  version = "4.0.0";
 
   minimalOCamlVersion = "4.02";
 
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = pname;
+    rev = "852302c8f35b946e2ec275c529a79e46d8749be6";
+    sha256 = "sha256:03ayvakvbh4wi4dwcgd7r9y8ka8cv3d59hb81yk2dxyd94bln145";
+  };
+
   propagatedBuildInputs = [ ocamlbuild ];
+
+  meta = {
+    description = "An ocamlbuild plugin to compile to JavaScript";
+    license = lib.licenses.lgpl2Only;
+    maintainers = [ lib.maintainers.vbgl ];
+    inherit (src.meta) homepage;
+  };
 }
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index d35ddbe210bf4..c550bef7dda0a 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -39,12 +39,11 @@ stdenv.mkDerivation {
   '';
 
   meta = with lib; {
-    homepage = "http://oasis.forge.ocamlcore.org/";
     description = "Configure, build and install system for OCaml projects";
+    homepage = "http://oasis.forge.ocamlcore.org/";
     license = licenses.lgpl21;
+    maintainers = with maintainers; [ vbgl maggesi ];
+    mainProgram = "oasis";
     platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [
-      vbgl maggesi
-    ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
index 619d0ded7b328..19ce91574bff6 100644
--- a/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-recovery-parser/default.nix
@@ -27,9 +27,10 @@ buildDunePackage rec {
   ];
 
   meta = with lib; {
-    homepage = "https://github.com/serokell/ocaml-recovery-parser";
     description = "A simple fork of OCaml parser with support for error recovery";
+    homepage = "https://github.com/serokell/ocaml-recovery-parser";
     license = with licenses; [ lgpl2Only mit mpl20 ];
     maintainers = with maintainers; [ romildo ];
+    mainProgram = "menhir-recover";
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocamlscript/default.nix b/pkgs/development/tools/ocaml/ocamlscript/default.nix
index 0b4b748f0586f..48b7d840a4f2b 100644
--- a/pkgs/development/tools/ocaml/ocamlscript/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlscript/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     inherit (ocaml.meta) platforms;
     description = "Natively-compiled OCaml scripts";
     maintainers = [ maintainers.vbgl ];
+    mainProgram = "ocamlscript";
   };
 }
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 66648faed1d82..bd13a697c0c7a 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildGoModule
 , fetchFromGitHub
 , installShellFiles
@@ -6,15 +7,17 @@
 , enableWasmEval ? false
 }:
 
+assert enableWasmEval && stdenv.isDarwin -> builtins.throw "building with wasm on darwin is failing in nixpkgs";
+
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.38.1";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    sha256 = "sha256-x8mSlZ2X0DdkhaW5QXs5axERJkwARu8tHueQHXfamXM=";
+    sha256 = "sha256-rLfo2SUlxL6QFc2v+nxFnbyYcfy7i3OFhGt6ZAUteHY=";
   };
   vendorSha256 = null;
 
@@ -35,12 +38,13 @@ buildGoModule rec {
     # Feed in all but the e2e tests for testing
     # This is because subPackages above limits what is built to just what we
     # want but also limits the tests
+    # Also avoid wasm tests on darwin due to wasmtime-go build issues
     getGoDirs() {
-      go list ./... | grep -v e2e
+      go list ./... | grep -v -e e2e ${lib.optionalString stdenv.isDarwin "-e wasm"}
     }
-
-    # Remove test case that fails on < go1.17
-    rm test/cases/testdata/cryptox509parsecertificates/test-cryptox509parsecertificates-0123.yaml
+    '' + lib.optionalString stdenv.isDarwin ''
+    # remove tests that have "too many open files"/"no space left on device" issues on darwin in hydra
+    rm server/server_test.go
   '';
 
   postInstall = ''
@@ -66,6 +70,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
+    mainProgram = "opa";
     homepage = "https://www.openpolicyagent.org";
     changelog = "https://github.com/open-policy-agent/opa/blob/v${version}/CHANGELOG.md";
     description = "General-purpose policy engine";
diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix
index 32be125116122..d8fcbdf424b3e 100644
--- a/pkgs/development/tools/oq/default.nix
+++ b/pkgs/development/tools/oq/default.nix
@@ -18,7 +18,8 @@ crystal.buildCrystalPackage rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ jq libxml2 ];
+  buildInputs = [ libxml2 ];
+  checkInputs = [ jq ];
 
   format = "shards";
 
diff --git a/pkgs/development/tools/pandoc/default.nix b/pkgs/development/tools/pandoc/default.nix
index e587a2ef4e756..515c7dc4c37de 100644
--- a/pkgs/development/tools/pandoc/default.nix
+++ b/pkgs/development/tools/pandoc/default.nix
@@ -13,9 +13,6 @@ in
       remove-references-to \
         -t ${haskellPackages.pandoc-types} \
         $out/bin/pandoc
-      remove-references-to \
-        -t ${haskellPackages.HTTP} \
-        $out/bin/pandoc
     '';
   }) static).overrideAttrs (drv: {
     # These libraries are still referenced, because they generate
@@ -25,5 +22,5 @@ in
     # lead to a transitive runtime dependency on the whole GHC distribution.
     # 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 ];
+    disallowedReferences = [ haskellPackages.pandoc-types ];
   })
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index 41ec653a409b4..02be14908e432 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -4,6 +4,11 @@
 , autoreconfHook
 , nix-update-script
 , python3
+
+# for passthru.tests
+, ninja
+, php
+, spamassassin
 }:
 
 stdenv.mkDerivation rec {
@@ -33,6 +38,9 @@ stdenv.mkDerivation rec {
     updateScript = nix-update-script {
       attrPath = pname;
     };
+    tests = {
+      inherit ninja php spamassassin;
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix
index e3d74600c9550..441dc4988f520 100644
--- a/pkgs/development/tools/parsing/tree-sitter/default.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/default.nix
@@ -166,6 +166,6 @@ rustPlatform.buildRustPackage {
       * Dependency-free so that the runtime library (which is written in pure C) can be embedded in any application
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ Profpatsch ];
+    maintainers = with maintainers; [ Profpatsch oxalica ];
   };
 }
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
index e2cfb0944dd34..45224eb7a734b 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-c-sharp.json
+++ b/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": "5b6ae1f88e741b9ed738891ad1362fb9f2041671",
-  "date": "2022-03-23T15:50:46-04:00",
-  "path": "/nix/store/n5kjbimssqrwz7h99gq83935432dpm5s-tree-sitter-c-sharp",
-  "sha256": "1yp1lyzay7hxlgca2r5yigpdy80vli4f48k2bm3h2rpa99fczmrb",
+  "rev": "fcb2b6f7cb8ab8584d390aa266b0d2df7cbd1fd5",
+  "date": "2022-05-01T16:44:38+01:00",
+  "path": "/nix/store/5kwbva55mi975kqkjrw3jya98cb8i07d-tree-sitter-c-sharp",
+  "sha256": "0xdbh1n1mnglfxn16can69c3sr4ibc37v85vh7ckljcjgqhikfi9",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json
index 6d79d851fd4d7..c222e1faf7d07 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-dart.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/usernobody14/tree-sitter-dart",
-  "rev": "6a25376685d1d47968c2cef06d4db8d84a70025e",
-  "date": "2021-06-04T09:39:40-06:00",
-  "path": "/nix/store/vdygn1702kn92k222kygk9i50h10z9km-tree-sitter-dart",
-  "sha256": "0z06sphmgjggx5j2rjfy3f85fh1m9s79sql8a7d4kvsamz9rwakl",
+  "rev": "f95876f0ed3ef207bbd3c5c41987bc2e9cecfc97",
+  "date": "2022-05-07T10:16:06-07:00",
+  "path": "/nix/store/aad6q85ni1rp22jkc0n8mhlhjq7pm794-tree-sitter-dart",
+  "sha256": "0iaa37g5z927dvlxla0nidl9n2hvpsw97b5ffi7w1hq9d4m6rc7i",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
index 2f673c7172cea..abf03571fdbdb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elixir.json
+++ b/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": "ec1c4cac1b2f0290c53511a72fbab17c47815d2b",
-  "date": "2022-04-18T23:16:26+02:00",
-  "path": "/nix/store/2jmkl3lxq6cy0cg4wjf3hgjciw0xsm0y-tree-sitter-elixir",
-  "sha256": "0xiprldyfqpx5fil1b1kbnpj57n7j15j3m8dhibhif7azbd1z1y3",
+  "rev": "5d0c1bfcdf8aaad225525acad930a972b319a675",
+  "date": "2022-04-28T11:17:48-05:00",
+  "path": "/nix/store/a3vks004yjn7pb80nppdyq0k18wm3myc-tree-sitter-elixir",
+  "sha256": "1iff2gk6r6qa13imizxawc4hjwwwsnvhvhafcwab2q2476gk82mz",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json
index a060a455955c0..78a928de03494 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-fish.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/ram02z/tree-sitter-fish",
-  "rev": "d482d70ea8e191c05b2c1b613ed6fdff30a14da0",
-  "date": "2022-03-14T15:15:13+00:00",
-  "path": "/nix/store/5ajcf2hl1hph7iky6lwp5vh7a49k587s-tree-sitter-fish",
-  "sha256": "0idnm9lrvj1jhrvrgcddppkc09hr7inciz6k02d0nnxv8pqaw3w6",
+  "rev": "8a3571fc4a702b216ff918a08c9c5895df7ea06c",
+  "date": "2022-05-12T18:32:55+01:00",
+  "path": "/nix/store/vyfppzpljszmwwrk1gdg132c4nswy048-tree-sitter-fish",
+  "sha256": "1svca1agsr29ypn6pz44lwxg4b6a1k5qsm983czk3h16z5igka05",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
index ca9760bb7e268..53f67d645e7dd 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-go.json
+++ b/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": "c8fed1f0847a65a04a4b8cb7655f5f416e0742ca",
-  "date": "2022-03-29T10:06:48+02:00",
-  "path": "/nix/store/f9vy5q9p3rf2dcp7zdw9708j138ibi36-tree-sitter-go",
-  "sha256": "0yi8h1q39hsdxp9053by9xkl53wn229fhwjrrzml7k8y95qgnsyd",
+  "rev": "372d3241b099e189406475a9445cbb29dac2e054",
+  "date": "2022-04-28T20:49:46+02:00",
+  "path": "/nix/store/ylm4blh7lw1ac3ym9i69gbbs1cc5vmcs-tree-sitter-go",
+  "sha256": "0cmw37lgpfrw82kg9mcx7kgxnnvdydagbwckqv418zbh2xv881jf",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
index e1d4462e225d9..27e64896387ed 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-haskell.json
+++ b/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": "ed976b81b00ce7b72b99bca75e7a616cc526220c",
-  "date": "2022-03-20T00:05:14+01:00",
-  "path": "/nix/store/wzkfkix4q3vcrlsj2v4q32ihw0vdp1li-tree-sitter-haskell",
-  "sha256": "19g5f59gh6s4xpphrppmrqlh0nfld0q8zffy85pkby4gd6xh73zm",
+  "rev": "ff5c879d9b75f4e6930d7f687d458f707945ad78",
+  "date": "2022-05-07T17:45:16+02:00",
+  "path": "/nix/store/2pnp7kazxg1sp0anf4by99f27d7z0p64-tree-sitter-haskell",
+  "sha256": "0aa960150wli4hnv64jrl4gqvlgchc3y44bx4d7i53ygn9cdkl12",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
index 211e170adcedc..80034c7cd4195 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-html.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-html",
-  "rev": "161a92474a7bb2e9e830e48e76426f38299d99d1",
-  "date": "2021-08-17T11:20:56-07:00",
-  "path": "/nix/store/pv8x73j4sbngsqplwfm73jlpwc31mc17-tree-sitter-html",
-  "sha256": "1gwvgwk0py09pp65vnga522l5r16dvgwxsc76fg66y07k2i63cfk",
+  "rev": "29f53d8f4f2335e61bf6418ab8958dac3282077a",
+  "date": "2022-05-06T09:01:49-07:00",
+  "path": "/nix/store/w5dy2r99rbzpmg0icwil5j9cp37l9hkk-tree-sitter-html",
+  "sha256": "0wadphmgndj4vq9mg258624pj0klspbpcx8qlc6f8by5xbshvkmz",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
index 42bd6f10771ad..17a9695eed4bb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-java.json
+++ b/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": "e7cb801ef57f74db5c4ebe14df74de852bb451b5",
-  "date": "2022-04-16T15:36:51+02:00",
-  "path": "/nix/store/55br93464adchwwjwdqjai8ppykwh098-tree-sitter-java",
-  "sha256": "0w27xk9j7mm9gr5aiwcv6cgfvzfnps0l9b09mwfqxhndh7j96vfn",
+  "rev": "39a11c8330d0b2ad75310456c378396785f79a4e",
+  "date": "2022-04-28T20:50:54+02:00",
+  "path": "/nix/store/w2hi6yvm3z4cy3bignphb9c2gf6fpnnq-tree-sitter-java",
+  "sha256": "0im81m2wb35n7rgmraf7p5ql6lvr7m9y4krgmkvgqkxnbkw7zcr0",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
index 397ee48ff77c3..585b2a1244743 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-json.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-json",
-  "rev": "137e1ce6a02698fc246cdb9c6b886ed1de9a1ed8",
-  "date": "2022-04-21T11:20:07-07:00",
-  "path": "/nix/store/5f0z08shhb8d03ab4zlaq9ss4dim6k9f-tree-sitter-json",
-  "sha256": "1amiaiizd4mvmnbwqbr8lmisi9831di8r8xck9wyi5sfj3nd8hai",
+  "rev": "67d33d619e4fb729432a6d9aff1f7b08bb563728",
+  "date": "2022-05-12T23:07:45-07:00",
+  "path": "/nix/store/k42yw134pyyxwf5zca5ycagsnin7k967-tree-sitter-json",
+  "sha256": "1rbrb87gsy2l27vn0zmncrqpjnsp6k6yd2b0gwhl0l4flqas7qb4",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index 5b7e511efb19a..c06fe54ca044f 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/latex-lsp/tree-sitter-latex",
-  "rev": "8c5d90e78fa58ee6acab465ffa9a53e8b7b2c69c",
-  "date": "2022-04-23T15:10:18+02:00",
-  "path": "/nix/store/qpc37mjsl75qnmyzbkw6azphwzfdr9n9-tree-sitter-latex",
-  "sha256": "1xq5g34g9sqshhpprakc4k5lrlgg1n8vb7d7nfrx4ilrz5s0kks1",
+  "rev": "3b370b5ca3948312738b4f27b2a12e4bb58907a2",
+  "date": "2022-05-11T20:22:05+02:00",
+  "path": "/nix/store/l1nja32pv92awd5jnksi3wfd29mqxvkd-tree-sitter-latex",
+  "sha256": "0a4ks4ng02qivxr7h1izhc55791czba2r82ngi7a9l0smdxa9yv7",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
index a60bf1dffc6b6..f33e3022acefb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-markdown.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/MDeiml/tree-sitter-markdown",
-  "rev": "d24196f9b3e5af6fcb2ec2a0b6cbc5c06f58b85e",
-  "date": "2022-03-30T11:47:57+02:00",
-  "path": "/nix/store/rdac46kl274bdd18bdrdh33s71sin7xd-tree-sitter-markdown",
-  "sha256": "07i3zwjla74s61w39fqfmb5a61dw6xlgfagh70p1rpvyrpxsywds",
+  "rev": "6d112e7a9c1694504bb78ee0b92dcd509625e0df",
+  "date": "2022-04-26T12:23:01+02:00",
+  "path": "/nix/store/598nrwznzg37r9pskrmzwnhrw3f4knnw-tree-sitter-markdown",
+  "sha256": "03d601dp65p30c88p0r6rx13wlkbg1q3ch11wfn4sa2rhba8zpyk",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index 801634201c867..4a4eecf5ddb32 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cstrahan/tree-sitter-nix",
-  "rev": "6d6aaa50793b8265b6a8b6628577a0083d3b923d",
-  "date": "2021-11-29T00:27:21-06:00",
-  "path": "/nix/store/6cjadxvqbrh205lsqnk2rnzq3badxdxv-tree-sitter-nix",
-  "sha256": "0cbk6dqppasrvnm87pwfgm718z6b0xmy9m7zj8ysil0h8bklz1w9",
+  "rev": "470b15a60520ff7b86f51732b8d8f1118c86041e",
+  "date": "2022-03-18T01:42:08-05:00",
+  "path": "/nix/store/c5y76kz7wmfq05hfw4xpqz2ahcdy924f-tree-sitter-nix",
+  "sha256": "1hl0mpy0i6r160v6v3nflrdi5fnmd8i5zbx963h5nj9fg4srkb5r",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
index c9b0ce8fcbb31..d29613cc207ef 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/milisims/tree-sitter-org",
-  "rev": "fab7af32a2719091df5b222f98099c566859de78",
-  "date": "2022-04-07T16:00:06-04:00",
-  "path": "/nix/store/b17cvbkdvv7d3dzbi58lgrqsnhvh79d8-tree-sitter-org",
-  "sha256": "0jz69wm1ay84zkslbcp4l906ay7l4jd3bi1k1ivclpx493pg8ia7",
+  "rev": "aeacac619457a187bb202b9dfc58541232ed4a25",
+  "date": "2022-05-02T16:54:48-04:00",
+  "path": "/nix/store/y06b3jf6mfgbx4ar9l8crd7r5vljln92-tree-sitter-org",
+  "sha256": "03g52pbnv859wy3sdbr0i440il98idj6zg0q12g7ccxxmwblwxig",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index c1bc94c210a1a..49b6c3c805653 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "3c17a28da38afac41332d3ce79bbd8951867f346",
-  "date": "2022-03-29T09:09:35-07:00",
-  "path": "/nix/store/7dmygp3gi9ch00mf59d7g2l8k6f2pl81-tree-sitter-php",
-  "sha256": "06xc4y67pl96h1gfh9zg4yxdgqj5mv7md28m78gix8sk1h011irq",
+  "rev": "6be89d517d550a47b067b23d0f89a364091b41ca",
+  "date": "2022-05-04T13:05:38-04:00",
+  "path": "/nix/store/pd19zya0sng7dahwgkamk51s1mprg9hf-tree-sitter-php",
+  "sha256": "18yrmvxajcg7m8xqpdkdllm9grs4m9pp4y058ky6q3drq7cx0v1m",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pug.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pug.json
index cf72f03519cd1..6e27d64bec74c 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pug.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-pug.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/zealot128/tree-sitter-pug",
-  "rev": "5875f9a7d94836708119b0a1102bb5792e8bf673",
-  "date": "2021-07-13T22:48:45+02:00",
-  "path": "/nix/store/3bwj01nmxkd4cmvjyrfv2a6wq07hbqig-tree-sitter-pug",
-  "sha256": "1sjw632yidi8dq34g1nqmld9861j40qnrlg4c8w478kl8hmhnvmb",
+  "rev": "63e214905970e75f065688b1e8aa90823c3aacdc",
+  "date": "2022-05-05T14:29:30+02:00",
+  "path": "/nix/store/8nwqja3ff6cmy06sgxx6wzlbg7qx6x1r-tree-sitter-pug",
+  "sha256": "1r3zhz4adfpg2ihlbdfx4nb9svv6apnlahgfqqzmacj3bm8r3wmp",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
index d1a73a02c0b43..66359662e7c63 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-ql.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-ql",
-  "rev": "8e7fd7e638d4a0ec7a792ee16b19dbc6407aa810",
-  "date": "2021-06-02T18:46:47+02:00",
-  "path": "/nix/store/yhyi9y09shv1fm87gka43vnv9clvyd92-tree-sitter-ql",
-  "sha256": "0x5f9989ymqvw3g8acckyk4j7zpmnc667qishbgly9icl9rkmv7w",
+  "rev": "b2c2364e833cc9f1afa243ac367f1475330fef63",
+  "date": "2022-05-04T13:16:04-04:00",
+  "path": "/nix/store/8c01j930llm5wacj2727k8igwwyhbcz4-tree-sitter-ql",
+  "sha256": "1a4k4rmyqqcj94y57sf2h27bbkn921p1ifl2xwcqpmk6dr6n5bbr",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
index 670103d5c78d2..36508dc4769c9 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-rust",
-  "rev": "0509e440ae042db6483984b3a56b3c5f24b5d9b9",
-  "date": "2022-03-09T12:11:47+01:00",
-  "path": "/nix/store/9jrsqsrql5wlbzmqna111w4a02hf75z2-tree-sitter-rust",
-  "sha256": "1r8n8441b8bppizlzh4xw7yy3amz4apfxpqxm8hw0n3j3iwnw4pz",
+  "rev": "9a6d980afbb9864405426f1b3905fbcd459871ca",
+  "date": "2022-05-09T16:14:09-07:00",
+  "path": "/nix/store/h5zks31j4xj7vw5ygqhbml0ydsly7l6z-tree-sitter-rust",
+  "sha256": "0hmamkb2hqrp67b756ckifbwdbr0yw7qr2m8farh0bg7rbi5c6z1",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
index bf15e656e914f..4cdaa55dd2866 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scala.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-scala",
-  "rev": "ec6047f531e7d4c13787d4ff208b94a84de34165",
-  "date": "2022-03-27T09:48:17+02:00",
-  "path": "/nix/store/70sghy226gl3s1b2p0zjhplb6zjy777g-tree-sitter-scala",
-  "sha256": "0yjl8hwdm1pkihfgfbg19z5j0v3cp64a2pa59maws1i231fm5bsw",
+  "rev": "8599058ef292e82203a1b23d10734dcbaf4d1b5c",
+  "date": "2022-05-09T16:17:13-07:00",
+  "path": "/nix/store/q802q124fq79wwr6m4xfcdmgw6fzjigw-tree-sitter-scala",
+  "sha256": "0i6qkgyv722jwma2rs0nf02jzl5dvml5m1whb7580qnza95x7py1",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
index 88e5e784c05cd..510b9bac2015e 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scheme.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/6cdh/tree-sitter-scheme",
-  "rev": "aee42e302f36045cdc671223ce10a069203fd604",
-  "date": "2022-04-21T11:07:14+08:00",
-  "path": "/nix/store/jviqv18g5yszjcqmv48rpml6z4q4ccv8-tree-sitter-scheme",
-  "sha256": "1piw1g5w29jxhwrvivpmdkyr2vbi8fpj2idzk8bwvplzbb6hfr7x",
+  "rev": "27fb77db05f890c2823b4bd751c6420378df146b",
+  "date": "2022-05-12T23:43:19+08:00",
+  "path": "/nix/store/8h41l86z17msbbdsqrdr45lcys6r9a83-tree-sitter-scheme",
+  "sha256": "15ziav4gas038442yl8f4yz3a2r7grccwyfcyydxw0xpsjnsn5c2",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
index b9a3184e942e3..10908da4ae7cf 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/vigoux/tree-sitter-viml",
-  "rev": "5268e0ec901e33ad7142ee31b580269a94fba042",
-  "date": "2022-04-16T20:12:40+02:00",
-  "path": "/nix/store/rw6cjm4vj4yihlfmrxa2vc81lr3x59rn-tree-sitter-viml",
-  "sha256": "0vga1bivzkr00brzvv309hx7sqvg7y2kf6vx0s8hv9r56x6nm54s",
+  "rev": "4b9d2dda6de64fe5abc9bf96b5727ba73ed08515",
+  "date": "2022-05-07T11:41:23+02:00",
+  "path": "/nix/store/zm2pfjv3fn2qg6iy1s03mn5kjawsy3qg-tree-sitter-viml",
+  "sha256": "0p7fj5vvxxz4d43j91zwv3h8df4m4c26w9gq2qx561vjh5w1q7fn",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/perseus-cli/default.nix b/pkgs/development/tools/perseus-cli/default.nix
index 9ec8aa21e2d31..4b39fccdd3669 100644
--- a/pkgs/development/tools/perseus-cli/default.nix
+++ b/pkgs/development/tools/perseus-cli/default.nix
@@ -1,17 +1,25 @@
-{ lib, rustPlatform, fetchCrate, makeWrapper, wasm-pack }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchCrate
+, makeWrapper
+, wasm-pack
+, CoreServices
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "perseus-cli";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-YyQQjuxNUxuo2PFluGyT/CpG22tgjRCfmFKA5MFRgHo=";
+    sha256 = "sha256-IYjLx9/4oWSXa4jhOtGw1GOHmrR7LQ6bWyN5zbOuEFs=";
   };
 
-  cargoSha256 = "sha256-SKxPsltXFH+ENexn/KDD43hGLSTgvtU9hv9Vdi2oeFA=";
+  cargoSha256 = "sha256-i7MPmO9MoANZLzmR5gsD+v0gyDtFbzhsmE9xOsb88L0=";
 
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
   postInstall = ''
     wrapProgram $out/bin/perseus \
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
deleted file mode 100644
index 5093553824d82..0000000000000
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ /dev/null
@@ -1,117 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch
-, bison, flex, fontconfig, freetype, gperf, icu, openssl, libjpeg
-, libpng, perl, python2, ruby, sqlite, qtwebkit, qmake, qtbase
-, darwin, writeScriptBin, cups, makeWrapper
-}:
-
-let
-  fakeClang = writeScriptBin "clang" ''
-    #!${stdenv.shell}
-    if [[ "$@" == *.c ]]; then
-      exec "${stdenv.cc}/bin/clang" "$@"
-    else
-      exec "${stdenv.cc}/bin/clang++" "$@"
-    fi
-  '';
-
-in stdenv.mkDerivation rec {
-  pname = "phantomjs";
-  version = "2.1.1";
-
-  src = fetchFromGitHub {
-    owner = "ariya";
-    repo = "phantomjs";
-    rev = version;
-    sha256 = "1zsbpk1sgh9a16f1a5nx3qvk77ibjn812wqkxqck8n6fia85m5iq";
-  };
-
-  nativeBuildInputs = [ qmake makeWrapper ];
-  buildInputs = [
-    bison flex fontconfig freetype gperf icu openssl
-    libjpeg libpng perl python2 ruby sqlite qtwebkit qtbase
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    AGL ApplicationServices AppKit Cocoa OpenGL
-    darwin.libobjc fakeClang cups
-  ]);
-
-  patches = [
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-hardening.patch";
-      sha256 = "1qs1r76w90qgpw742i7lf0y3b7m9zh5wxcbrhrak6mq1kqaphqb5";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt-components.patch";
-      sha256 = "1fw2q59aqcks3abvwkqg9903yif6aivdsznc0h6frhhjvpp19vsb";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-evaluateJavaScript.patch";
-      sha256 = "1avig9cfny8kv3s4mf3mdzvf3xlzgyh351yzwc4bkpnjvzv4fmq6";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-no-websecurity.patch";
-      sha256 = "1nykqpxa7lcf9iarz5lywgg3v3b1h19iwvjdg4kgq0ai6idhcab8";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/build-qt55-print.patch";
-      sha256 = "1fydmdjxnplglpbd3ypaih5l237jkxjirpdhzz92mcpy29yla6jw";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/debian/phantomjs/raw/0b20f0dd/debian/patches/unlock-qt.patch";
-      sha256 = "13bwz4iw17d6hq5pwkbpcckqyw7fhc6648lvs26m39pp31zwyp03";
-    })
-    ./system-qtbase.patch
-  ];
-
-  postPatch = ''
-    patchShebangs .
-    substituteInPlace src/phantomjs.pro \
-      --replace "QT_MINOR_VERSION, 5" "QT_MINOR_VERSION, 9"
-  '';
-
-  # Avoids error in webpage.cpp:80:89:
-  # invalid suffix on literal; C++11 requires a space between litend identifier
-  NIX_CFLAGS_COMPILE = "-Wno-reserved-user-defined-literal";
-
-  __impureHostDeps = lib.optional stdenv.isDarwin "/usr/lib/libicucore.dylib";
-
-  dontWrapQtApps = 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
-  '' + lib.optionalString stdenv.isDarwin ''
-    install_name_tool -change \
-        ${darwin.CF}/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
-        /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
-      -change \
-        ${darwin.configd}/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration \
-        /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration \
-    $out/bin/phantomjs
-  '' + ''
-    wrapProgram $out/bin/phantomjs \
-    --set QT_QPA_PLATFORM offscreen \
-    --prefix PATH : ${lib.makeBinPath [ qtbase ]}
-  '';
-
-  meta = with lib; {
-    description = "Headless WebKit with JavaScript API";
-    longDescription = ''
-      PhantomJS2 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 = licenses.bsd3;
-
-    maintainers = [ maintainers.aflatter ];
-    platforms = platforms.darwin ++ platforms.linux;
-  };
-}
diff --git a/pkgs/development/tools/phantomjs2/system-qtbase.patch b/pkgs/development/tools/phantomjs2/system-qtbase.patch
deleted file mode 100644
index 743372b0f0bc2..0000000000000
--- a/pkgs/development/tools/phantomjs2/system-qtbase.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/build.py
-+++ b/build.py
-@@ -80,9 +80,9 @@
- def qmakePath():
-     exe = "qmake"
-     if platform.system() == "Windows":
-         exe += ".exe"
--    return os.path.abspath("src/qt/qtbase/bin/" + exe)
-+    return os.path.abspath("@qtbase@" + exe)
- 
- # returns paths for 3rd party libraries (Windows only)
- def findThirdPartyDeps():
-     include_dirs = []
diff --git a/pkgs/development/tools/picotool/default.nix b/pkgs/development/tools/picotool/default.nix
index 507284081f5a7..f76e0287b564a 100644
--- a/pkgs/development/tools/picotool/default.nix
+++ b/pkgs/development/tools/picotool/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/raspberrypi/picotool";
     description = "Tool for interacting with a RP2040 device in BOOTSEL mode, or with a RP2040 binary";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ musfay ];
+    maintainers = with maintainers; [ muscaln ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
index 6489a23c37d8b..c99e0047f0d12 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/default.nix
@@ -5,7 +5,7 @@
 }:
 let
   # Poetry2nix version
-  version = "1.27.1";
+  version = "1.29.1";
 
   inherit (poetryLib) isCompatible readTOML moduleName;
 
@@ -287,12 +287,20 @@ lib.makeScope pkgs.newScope (self: {
         (name: value: projectDir + "/${value.path}")
         (lib.filterAttrs (name: dep: dep.develop or false && hasAttr "path" dep) set);
 
-      editablePackageSources' = (
+      excludedEditablePackageNames = builtins.filter
+        (pkg: editablePackageSources."${pkg}" == null)
+        (builtins.attrNames editablePackageSources);
+
+      allEditablePackageSources = (
         (getEditableDeps (pyProject.tool.poetry."dependencies" or { }))
         // (getEditableDeps (pyProject.tool.poetry."dev-dependencies" or { }))
         // editablePackageSources
       );
 
+      editablePackageSources' = builtins.removeAttrs
+        allEditablePackageSources
+        excludedEditablePackageNames;
+
       poetryPython = self.mkPoetryPackages {
         inherit pyproject poetrylock overrides python pwd preferWheels pyProject;
         editablePackageSources = editablePackageSources';
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
index 5d562017b8fbb..f6d1ea5418fad 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/default.nix
@@ -3,48 +3,46 @@
 , makeSetupHook
 , wheel
 , pip
+, pkgs
 }:
 let
   callPackage = python.pythonForBuild.pkgs.callPackage;
   pythonInterpreter = python.pythonForBuild.interpreter;
   pythonSitePackages = python.sitePackages;
+
+  nonOverlayedPython = pkgs.python3.pythonForBuild.withPackages (ps: [ ps.tomlkit ]);
+  makeRemoveSpecialDependenciesHook = { fields, kind }:
+    nonOverlayedPython.pkgs.callPackage
+      (
+        {}:
+        makeSetupHook
+          {
+            name = "remove-path-dependencies.sh";
+            deps = [ ];
+            substitutions = {
+              # NOTE: We have to use a non-overlayed Python here because otherwise we run into an infinite recursion
+              # because building of tomlkit and its dependencies also use these hooks.
+              pythonPath = nonOverlayedPython.pkgs.makePythonPath [ nonOverlayedPython ];
+              pythonInterpreter = nonOverlayedPython.interpreter;
+              pyprojectPatchScript = "${./pyproject-without-special-deps.py}";
+              fields = fields;
+              kind = kind;
+            };
+          } ./remove-special-dependencies.sh
+      )
+      { };
 in
 {
+  removePathDependenciesHook = makeRemoveSpecialDependenciesHook {
+    fields = [ "path" ];
+    kind = "path";
+  };
 
-  removePathDependenciesHook = callPackage
-    (
-      {}:
-      makeSetupHook
-        {
-          name = "remove-path-dependencies.sh";
-          deps = [ ];
-          substitutions = {
-            inherit pythonInterpreter;
-            yj = "${buildPackages.yj}/bin/yj";
-            pyprojectPatchScript = "${./pyproject-without-special-deps.py}";
-            fields = [ "path" ];
-            kind = "path";
-          };
-        } ./remove-special-dependencies.sh
-    )
-    { };
+  removeGitDependenciesHook = makeRemoveSpecialDependenciesHook {
+    fields = [ "git" "branch" "rev" "tag" ];
+    kind = "git";
+  };
 
-  removeGitDependenciesHook = callPackage
-    ({}:
-      makeSetupHook
-        {
-          name = "remove-git-dependencies.sh";
-          deps = [ ];
-          substitutions = {
-            inherit pythonInterpreter;
-            yj = "${buildPackages.yj}/bin/yj";
-            pyprojectPatchScript = "${./pyproject-without-special-deps.py}";
-            fields = [ "git" "branch" "rev" "tag" ];
-            kind = "git";
-          };
-        } ./remove-special-dependencies.sh
-    )
-    { };
 
   pipBuildHook = callPackage
     (
@@ -89,6 +87,4 @@ in
         } ./wheel-unpack-hook.sh
     )
     { };
-
-
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
index 9f79f9afab56e..b74bfebf64009 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/pyproject-without-special-deps.py
@@ -1,13 +1,14 @@
 #!/usr/bin/env python
-# Patch out special dependencies (git and path) from a pyproject.json file
+# Patch out special dependencies (git and path) from a pyproject.toml file
 
 import argparse
-import json
 import sys
 
+import tomlkit
+
 
 def main(input, output, fields_to_remove):
-    data = json.load(input)
+    data = tomlkit.loads(input.read())
 
     try:
         deps = data["tool"]["poetry"]["dependencies"]
@@ -22,12 +23,7 @@ def main(input, output, fields_to_remove):
                 if any_removed:
                     dep["version"] = "*"
 
-    # 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
-    )
+    output.write(tomlkit.dumps(data))
 
 
 if __name__ == "__main__":
@@ -37,20 +33,20 @@ if __name__ == "__main__":
         "--input",
         type=argparse.FileType("r"),
         default=sys.stdin,
-        help="Location from which to read input JSON",
+        help="Location from which to read input TOML",
     )
     p.add_argument(
         "-o",
         "--output",
         type=argparse.FileType("w"),
         default=sys.stdout,
-        help="Location to write output JSON",
+        help="Location to write output TOML",
     )
     p.add_argument(
         "-f",
         "--fields-to-remove",
         nargs="+",
-        help="The fields to remove from the dependency's JSON",
+        help="The fields to remove from the dependency's TOML",
     )
 
     args = p.parse_args()
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh
index 2d37667d6fdfc..904efa615b1dc 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/hooks/remove-special-dependencies.sh
@@ -1,18 +1,21 @@
 remove-@kind@-dependencies-hook() {
+    # Tell poetry not to resolve special dependencies. Any version is fine!
+
     if ! test -f pyproject.toml; then
         return
     fi
 
     echo "Removing @kind@ dependencies"
 
-    # Tell poetry not to resolve special dependencies. Any version is fine!
-    @yj@ -tj < pyproject.toml | \
-        @pythonInterpreter@ \
-        @pyprojectPatchScript@ \
-        --fields-to-remove @fields@ > pyproject.json
-    @yj@ -jt < pyproject.json > pyproject.toml
+    # NOTE: We have to reset PYTHONPATH to avoid having propagatedBuildInputs
+    # from the currently building derivation leaking into our unrelated Python
+    # environment.
+    PYTHONPATH=@pythonPath@ \
+    @pythonInterpreter@ \
+    @pyprojectPatchScript@ \
+      --fields-to-remove @fields@ < pyproject.toml > pyproject.formatted.toml
 
-    rm pyproject.json
+    mv pyproject.formatted.toml pyproject.toml
 
     echo "Finished removing @kind@ dependencies"
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
index a905d302d2a9b..b5bf0c975e05d 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/lib.nix
@@ -180,7 +180,7 @@ let
       hasGitIgnore = builtins.pathExists gitIgnore;
       gitIgnores = if hasGitIgnore then [ gitIgnore ] else [ ];
     in
-    lib.optionals (builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
+    lib.optionals (builtins.pathExists path && builtins.toString path != "/" && ! isGitRoot) (findGitIgnores parent) ++ gitIgnores;
 
   /*
     Provides a source filtering mechanism that:
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
index e3c74473b8cce..dca0936ca73f7 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/build-systems.json
@@ -29,6 +29,9 @@
   "aioflo": [
     "poetry-core"
   ],
+  "aiogithubapi": [
+    "poetry-core"
+  ],
   "aioguardian": [
     "poetry-core"
   ],
@@ -47,6 +50,9 @@
   "aiokafka": [
     "cython"
   ],
+  "aiolimiter": [
+    "poetry-core"
+  ],
   "aiomultiprocess": [
     "flit-core"
   ],
@@ -89,9 +95,21 @@
   "amqtt": [
     "poetry-core"
   ],
+  "ansible-doctor": [
+    "poetry-core"
+  ],
+  "ansible-later": [
+    "poetry-core"
+  ],
+  "ansible-runner": [
+    "pbr"
+  ],
   "apache-beam": [
     "cython"
   ],
+  "aplpy": [
+    "cython"
+  ],
   "argon2_cffi": [
     "flitBuildHook"
   ],
@@ -114,15 +132,24 @@
   "atomman": [
     "cython"
   ],
+  "atpublic": [
+    "pdm-pep517"
+  ],
   "autarco": [
     "poetry-core"
   ],
   "authcaptureproxy": [
     "poetry-core"
   ],
+  "av": [
+    "cython"
+  ],
   "awesomeversion": [
     "poetry-core"
   ],
+  "aws-adfs": [
+    "poetry-core"
+  ],
   "aws-error-utils": [
     "poetry"
   ],
@@ -147,6 +174,9 @@
   "boltztrap2": [
     "cython"
   ],
+  "bsblan": [
+    "poetry-core"
+  ],
   "build": [
     "flit-core"
   ],
@@ -183,6 +213,9 @@
   "clikit": [
     "poetry-core"
   ],
+  "cloudflare-dyndns": [
+    "poetry"
+  ],
   "collections-extended": [
     "poetry-core"
   ],
@@ -199,6 +232,9 @@
     "flit-core",
     "flitBuildHook"
   ],
+  "copier": [
+    "poetry-core"
+  ],
   "cpyparsing": [
     "cython"
   ],
@@ -209,8 +245,12 @@
     "cython",
     "poetry-core"
   ],
+  "cruft": [
+    "poetry-core"
+  ],
   "cssselect2": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "cwcwidth": [
     "cython"
@@ -224,9 +264,15 @@
   "cypari2": [
     "cython"
   ],
+  "cypherpunkpay": [
+    "poetry-core"
+  ],
   "cysignals": [
     "cython"
   ],
+  "datadog": [
+    "hatchling"
+  ],
   "datrie": [
     "cython"
   ],
@@ -260,6 +306,9 @@
   "doc8": [
     "pbr"
   ],
+  "docstring-parser": [
+    "poetry-core"
+  ],
   "dtlssocket": [
     "cython"
   ],
@@ -301,7 +350,8 @@
     "poetry-core"
   ],
   "entrypoints": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "enturclient": [
     "poetry-core"
@@ -309,6 +359,16 @@
   "enumatch": [
     "poetry"
   ],
+  "envs": [
+    "poetry-core"
+  ],
+  "exceptiongroup": [
+    "flit-core",
+    "flitBuildHook"
+  ],
+  "falcon": [
+    "cython"
+  ],
   "fastapi": [
     "flitBuildHook"
   ],
@@ -318,6 +378,9 @@
   "fastavro": [
     "cython"
   ],
+  "fastbencode": [
+    "cython"
+  ],
   "fastdtw": [
     "cython"
   ],
@@ -378,6 +441,12 @@
   "generic": [
     "poetry-core"
   ],
+  "gensim": [
+    "cython"
+  ],
+  "gidgethub": [
+    "flitBuildHook"
+  ],
   "glances-api": [
     "poetry-core"
   ],
@@ -429,6 +498,9 @@
   "hashids": [
     "flit-core"
   ],
+  "hatch-vcs": [
+    "hatchling"
+  ],
   "hdate": [
     "poetry-core"
   ],
@@ -492,9 +564,15 @@
   "ipwhl": [
     "flitBuildHook"
   ],
+  "iso8601": [
+    "poetry-core"
+  ],
   "isort": [
     "poetry-core"
   ],
+  "jarowinkler": [
+    "cython"
+  ],
   "jedi-language-server": [
     "poetry"
   ],
@@ -519,6 +597,12 @@
   "jupyterlab": [
     "jupyter-packaging"
   ],
+  "jupyterlab-code-formatter": [
+    "jupyter-packaging"
+  ],
+  "jupyterlab-pygments": [
+    "jupyter-packaging"
+  ],
   "keystoneauth1": [
     "pbr"
   ],
@@ -537,6 +621,9 @@
   "ldappool": [
     "pbr"
   ],
+  "levenshtein": [
+    "cython"
+  ],
   "libgpuarray": [
     "cython"
   ],
@@ -564,6 +651,9 @@
   "lockfile": [
     "pbr"
   ],
+  "lsassy": [
+    "poetry-core"
+  ],
   "luftdaten": [
     "poetry-core"
   ],
@@ -585,6 +675,9 @@
   "marisa-trie": [
     "cython"
   ],
+  "markdown-it-py": [
+    "flit-core"
+  ],
   "mask-rcnn": [
     "cython"
   ],
@@ -607,6 +700,9 @@
   "memory-allocator": [
     "cython"
   ],
+  "meteofrance-api": [
+    "poetry"
+  ],
   "metprint": [
     "poetry-core"
   ],
@@ -618,6 +714,7 @@
     "poetry"
   ],
   "mkdocs-jupyter": [
+    "ipython_genutils",
     "poetry-core"
   ],
   "mkdocs-literate-nav": [
@@ -635,6 +732,9 @@
   "monosat": [
     "cython"
   ],
+  "more-itertools": [
+    "flit-core"
+  ],
   "motioneye-client": [
     "poetry-core"
   ],
@@ -644,6 +744,9 @@
   "msgpack-numpy": [
     "cython"
   ],
+  "msgpack-types": [
+    "poetry"
+  ],
   "msoffcrypto-tool": [
     "poetry-core"
   ],
@@ -659,6 +762,9 @@
   "mypy-boto3-builder": [
     "poetry-core"
   ],
+  "myst-parser": [
+    "flit-core"
+  ],
   "nats-python": [
     "poetry-core"
   ],
@@ -674,6 +780,9 @@
   "netdata": [
     "poetry-core"
   ],
+  "netutils": [
+    "poetry-core"
+  ],
   "newversion": [
     "poetry-core"
   ],
@@ -689,6 +798,12 @@
   "nkdfu": [
     "flitBuildHook"
   ],
+  "notebook-shim": [
+    "jupyter-packaging"
+  ],
+  "notify-py": [
+    "poetry-core"
+  ],
   "notus-scanner": [
     "poetry-core"
   ],
@@ -725,9 +840,15 @@
   "openstacksdk": [
     "pbr"
   ],
+  "openstep-plist": [
+    "cython"
+  ],
   "openvino": [
     "cython"
   ],
+  "ordered-set": [
+    "flit-core"
+  ],
   "ormar": [
     "poetry-core"
   ],
@@ -804,9 +925,15 @@
   "pixelmatch": [
     "poetry-core"
   ],
+  "pkgconfig": [
+    "poetry-core"
+  ],
   "poetry": [
     "poetry-core"
   ],
+  "poetry-dynamic-versioning": [
+    "poetry-core"
+  ],
   "poetry2conda": [
     "poetry"
   ],
@@ -837,6 +964,12 @@
   "prometheus-fastapi-instrumentator": [
     "poetry"
   ],
+  "prospector": [
+    "poetry-core"
+  ],
+  "protoletariat": [
+    "poetry-core"
+  ],
   "ptyprocess": [
     "flit-core"
   ],
@@ -930,6 +1063,9 @@
   "pymaven-patch": [
     "pbr"
   ],
+  "pymdown-extensions": [
+    "hatchling"
+  ],
   "pymfy": [
     "poetry-core"
   ],
@@ -954,6 +1090,9 @@
   "pyoverkiz": [
     "poetry-core"
   ],
+  "pyparsing": [
+    "flit-core"
+  ],
   "pypass": [
     "pbr"
   ],
@@ -978,12 +1117,21 @@
   "pyproject-flake8": [
     "flit-core"
   ],
+  "pypsrp": [
+    "poetry-core"
+  ],
   "pyquil": [
     "poetry-core"
   ],
+  "pyrad": [
+    "poetry-core"
+  ],
   "pyregion": [
     "cython"
   ],
+  "pyrevolve": [
+    "cython"
+  ],
   "pyrmvtransport": [
     "flit"
   ],
@@ -999,6 +1147,9 @@
   "pysigma": [
     "poetry-core"
   ],
+  "pysigma-backend-insightidr": [
+    "poetry-core"
+  ],
   "pysigma-backend-splunk": [
     "poetry-core"
   ],
@@ -1008,14 +1159,30 @@
   "pysigma-pipeline-sysmon": [
     "poetry-core"
   ],
+  "pysigma-pipeline-windows": [
+    "poetry-core"
+  ],
+  "pyslurm": [
+    "cython"
+  ],
   "pysmf": [
     "cython"
   ],
   "pysml": [
     "poetry-core"
   ],
+  "pysnmp-pyasn1": [
+    "poetry-core"
+  ],
+  "pysnmp-pysmi": [
+    "poetry-core"
+  ],
+  "pysnmplib": [
+    "poetry-core"
+  ],
   "pysnow": [
-    "poetry"
+    "poetry",
+    "poetry-core"
   ],
   "pysptk": [
     "cython"
@@ -1035,6 +1202,9 @@
   "pytest-httpserver": [
     "poetry-core"
   ],
+  "pytest-isort": [
+    "poetry-core"
+  ],
   "pytest-mockservers": [
     "poetry-core"
   ],
@@ -1097,6 +1267,9 @@
   "python-openstackclient": [
     "pbr"
   ],
+  "python-pae": [
+    "poetry-core"
+  ],
   "python-pkcs11": [
     "cython"
   ],
@@ -1106,6 +1279,9 @@
   "python-swiftclient": [
     "pbr"
   ],
+  "python-trovo": [
+    "poetry"
+  ],
   "python_openzwave": [
     "cython"
   ],
@@ -1148,6 +1324,9 @@
   "qiskit-terra": [
     "cython"
   ],
+  "qstylizer": [
+    "pbr"
+  ],
   "questionary": [
     "poetry-core"
   ],
@@ -1202,6 +1381,9 @@
   "rich": [
     "poetry-core"
   ],
+  "rio-tiler": [
+    "flit-core"
+  ],
   "ripser": [
     "cython"
   ],
@@ -1215,7 +1397,8 @@
     "poetry-core"
   ],
   "rokuecp": [
-    "poetry"
+    "poetry",
+    "poetry-core"
   ],
   "roombapy": [
     "poetry-core"
@@ -1238,6 +1421,9 @@
   "sarif-om": [
     "pbr"
   ],
+  "sat-search": [
+    "pytest-runner"
+  ],
   "scikit-bio": [
     "cython"
   ],
@@ -1280,6 +1466,9 @@
   "sentinel": [
     "poetry-core"
   ],
+  "seventeentrack": [
+    "poetry-core"
+  ],
   "sfepy": [
     "cython"
   ],
@@ -1298,12 +1487,21 @@
   "single-version": [
     "poetry-core"
   ],
+  "skia-pathops": [
+    "cython"
+  ],
   "slowapi": [
     "poetry-core"
   ],
+  "socksio": [
+    "flit-core"
+  ],
   "solo-python": [
     "flitBuildHook"
   ],
+  "soupsieve": [
+    "hatchling"
+  ],
   "spacy-pkuseg": [
     "cython"
   ],
@@ -1425,7 +1623,8 @@
     "cython"
   ],
   "testpath": [
-    "flit"
+    "flit",
+    "flit-core"
   ],
   "testrepository": [
     "pbr"
@@ -1463,6 +1662,9 @@
   "toggl-cli": [
     "pbr"
   ],
+  "toml-cli": [
+    "poetry"
+  ],
   "toml-sort": [
     "poetry"
   ],
@@ -1481,6 +1683,9 @@
   "traceback2": [
     "pbr"
   ],
+  "traitlets": [
+    "flit-core"
+  ],
   "transmission-rpc": [
     "poetry-core"
   ],
@@ -1505,6 +1710,9 @@
   "typing-extensions": [
     "flit-core"
   ],
+  "uharfbuzz": [
+    "cython"
+  ],
   "unpaddedbase64": [
     "poetry-core"
   ],
@@ -1550,8 +1758,14 @@
   "yoda": [
     "cython"
   ],
+  "yte": [
+    "poetry-core"
+  ],
   "zeversolarlocal": [
     "flit-core",
     "flitBuildHook"
+  ],
+  "zwave-me-ws": [
+    "poetry-core"
   ]
 }
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index 5439f1814dc54..57250f0d1011e 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -8,13 +8,14 @@ let
     { self
     , drv
     , attr
+    , extraAttrs ? [ ]
     }:
     let
       buildSystem = if attr == "cython" then self.python.pythonForBuild.pkgs.cython else self.${attr};
     in
     (
       # Flit only works on Python3
-      if (attr == "flit-core" || attr == "flit") && !self.isPy3k then drv
+      if (attr == "flit-core" || attr == "flit" || attr == "hatchling") && !self.isPy3k then drv
       else
         drv.overridePythonAttrs (
           old:
@@ -23,7 +24,7 @@ let
             { }
           else
             {
-              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ];
+              nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ self.${attr} ] ++ map (a: self.${a}) extraAttrs;
             }
         )
     );
@@ -55,6 +56,16 @@ lib.composeManyExtensions [
         systems)
       buildSystems)
 
+  # Build systems with conditionals
+  (self: super: {
+
+    platformdirs =
+      if lib.versionAtLeast super.platformdirs.version "2.5.2"
+      then addBuildSystem { inherit self; drv = super.platformdirs; attr = "hatchling"; extraAttrs = [ "hatch-vcs" ]; }
+      else super.platformdirs;
+
+  })
+
   # Build fixes
   (self: super:
     let
@@ -63,6 +74,12 @@ lib.composeManyExtensions [
       inherit (pkgs) buildPackages;
       pyBuildPackages = self.python.pythonForBuild.pkgs;
 
+      selectQt5 = version:
+        let
+          selector = builtins.concatStringsSep "" (lib.take 2 (builtins.splitVersion version));
+        in
+          pkgs."qt${selector}" or pkgs.qt5;
+
     in
 
     {
@@ -276,6 +293,7 @@ lib.composeManyExtensions [
             "36.0.0" = "sha256-Y6TuW7AryVgSvZ6G8WNoDIvi+0tvx8ZlEYF5qB0jfNk=";
             "36.0.1" = "sha256-kozYXkqt1Wpqyo9GYCwN08J+zV92ZWFJY/f+rulxmeQ=";
             "36.0.2" = "1a0ni1a3dbv2dvh6gx2i54z8v5j9m6asqg97kkv7gqb1ivihsbp8";
+            "37.0.2" = "sha256-qvrxvneoBXjP96AnUPyrtfmCnZo+IriHR5HbtWQ5Gk8=";
           }.${version} or null;
           sha256 = getCargoHash super.cryptography.version;
           scrypto =
@@ -437,6 +455,17 @@ lib.composeManyExtensions [
         }
       );
 
+      # Setuptools >= 60 broke build_py_2to3
+      docutils =
+        if lib.versionOlder super.docutils.version "0.16" && lib.versionAtLeast super.setuptools.version "60" then
+          (
+            super.docutils.overridePythonAttrs (
+              old: {
+                SETUPTOOLS_USE_DISTUTILS = "stdlib";
+              }
+            )
+          ) else super.docutils;
+
       # Environment markers are not always included (depending on how a dep was defined)
       enum34 = if self.pythonAtLeast "3.4" then null else super.enum34;
 
@@ -495,6 +524,14 @@ lib.composeManyExtensions [
         }
       );
 
+      file-magic = super.file-magic.overridePythonAttrs (
+        old: {
+          postPatch = ''
+            substituteInPlace magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic${pkgs.stdenv.hostPlatform.extensions.sharedLibrary}'"
+          '';
+        }
+      );
+
       fiona = super.fiona.overridePythonAttrs (
         old: {
           buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.gdal_2 ];
@@ -713,6 +750,14 @@ lib.composeManyExtensions [
         }
       );
 
+      jinja2-ansible-filters = super.jinja2-ansible-filters.overridePythonAttrs (
+        old: {
+          preBuild = (old.preBuild or "") + ''
+            echo "${old.version}" > VERSION
+          '';
+        }
+      );
+
       jira = super.jira.overridePythonAttrs (
         old: {
           inherit (pkgs.python3Packages.jira) patches;
@@ -844,6 +889,17 @@ lib.composeManyExtensions [
         }
       );
 
+      lsassy =
+        if super.lsassy.version == "3.1.1" then
+          super.lsassy.overridePythonAttrs
+            (old: {
+              # pyproject.toml contains a constraint `rich = "^10.6.0"` which is not replicated in setup.py
+              # hence pypi misses it and poetry pins rich to 11.0.0
+              preConfigure = (old.preConfigure or "") + ''
+                rm pyproject.toml
+              '';
+            }) else super.lsassy;
+
       lxml = super.lxml.overridePythonAttrs (
         old: {
           nativeBuildInputs = with pkgs.buildPackages; (old.nativeBuildInputs or [ ]) ++ [ pkg-config libxml2.dev libxslt.dev ] ++ lib.optionals stdenv.isDarwin [ xcodebuild ];
@@ -1023,6 +1079,18 @@ lib.composeManyExtensions [
 
       mypy = super.mypy.overridePythonAttrs (
         old: {
+          buildInputs = (old.buildInputs or [ ]) ++ [
+            self.types-typed-ast
+          ];
+          # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
+          # version is also the default in the wheels on Pypi that include binaries.
+          # is64bit: unfortunately the build would exhaust all possible memory on i686-linux.
+          MYPY_USE_MYPYC = stdenv.buildPlatform.is64bit;
+
+          # when testing reduce optimisation level to drastically reduce build time
+          # (default is 3)
+          # MYPYC_OPT_LEVEL = 1;
+        } // lib.optionalAttrs (old.format != "wheel") {
           # FIXME: Remove patch after upstream has decided the proper solution.
           #        https://github.com/python/mypy/pull/11143
           patches = (old.patches or [ ]) ++ lib.optionals ((lib.strings.versionAtLeast old.version "0.900") && lib.strings.versionOlder old.version "0.940") [
@@ -1036,17 +1104,6 @@ lib.composeManyExtensions [
               sha256 = "sha256-waIZ+m3tfvYE4HJ8kL6rN/C4fMjvLEe9UoPbt9mHWIM=";
             })
           ];
-          buildInputs = (old.buildInputs or [ ]) ++ [
-            self.types-typed-ast
-          ];
-          # Compile mypy with mypyc, which makes mypy about 4 times faster. The compiled
-          # version is also the default in the wheels on Pypi that include binaries.
-          # is64bit: unfortunately the build would exhaust all possible memory on i686-linux.
-          MYPY_USE_MYPYC = stdenv.buildPlatform.is64bit;
-
-          # when testing reduce optimisation level to drastically reduce build time
-          # (default is 3)
-          # MYPYC_OPT_LEVEL = 1;
         }
       );
 
@@ -1143,6 +1200,26 @@ lib.composeManyExtensions [
         }
       );
 
+      orjson =
+        let
+          getCargoHash = version: {
+            "3.6.7" = "sha256-sz2k9podPB6QSptkyOu7+BoVTrKhefizRtYU+MICPt4=";
+            "3.6.8" = "sha256-vpfceVtYkU09xszNIihY1xbqGWieqDquxwsAmDH8jd4=";
+          }.${version} or null;
+        in
+        super.orjson.overridePythonAttrs (old: {
+          cargoDeps = pkgs.rustPlatform.fetchCargoTarball {
+            inherit (old) src;
+            name = "${old.pname}-${old.version}";
+            hash = getCargoHash old.version;
+          };
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
+            pkgs.rustPlatform.cargoSetupHook
+            pkgs.rustPlatform.maturinBuildHook
+          ];
+          buildInputs = (old.buildInputs or [ ]) ++ lib.optional pkgs.stdenv.isDarwin pkgs.libiconv;
+        });
+
       osqp = super.osqp.overridePythonAttrs (
         old: {
           nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.cmake ];
@@ -1150,6 +1227,29 @@ lib.composeManyExtensions [
         }
       );
 
+
+      pandas = super.pandas.overridePythonAttrs (old: {
+
+        buildInputs = old.buildInputs or [ ] ++ lib.optional stdenv.isDarwin pkgs.libcxx;
+
+        # Doesn't work with -Werror,-Wunused-command-line-argument
+        # https://github.com/NixOS/nixpkgs/issues/39687
+        hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
+
+        # For OSX, we need to add a dependency on libcxx, which provides
+        # `complex.h` and other libraries that pandas depends on to build.
+        postPatch = lib.optionalString stdenv.isDarwin ''
+          cpp_sdk="${lib.getDev pkgs.libcxx}/include/c++/v1";
+          echo "Adding $cpp_sdk to the setup.py common_include variable"
+          substituteInPlace setup.py \
+            --replace "['pandas/src/klib', 'pandas/src']" \
+                      "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
+        '';
+
+
+        enableParallelBuilding = true;
+      });
+
       pantalaimon = super.pantalaimon.overridePythonAttrs (old: {
         nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [ pkgs.installShellFiles ];
         postInstall = old.postInstall or "" + ''
@@ -1196,8 +1296,12 @@ lib.composeManyExtensions [
 
       pillow = super.pillow.overridePythonAttrs (
         old: {
-          nativeBuildInputs = [ pkg-config self.pytest-runner ] ++ (old.nativeBuildInputs or [ ]);
-          buildInputs = with pkgs; [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ] ++ (old.buildInputs or [ ]);
+          nativeBuildInputs = (old.nativeBuildInputs or [ ])
+            ++ [ pkg-config self.pytest-runner ];
+          buildInputs = with pkgs; (old.buildInputs or [ ])
+            ++ [ freetype libjpeg zlib libtiff libwebp tcl lcms2 ]
+            ++ lib.optionals (lib.versionAtLeast old.version "7.1.0") [ xorg.libxcb ]
+            ++ lib.optionals (self.isPyPy) [ tk xorg.libX11 ];
         }
       );
 
@@ -1246,6 +1350,14 @@ lib.composeManyExtensions [
         }
       );
 
+      psycopg2cffi = super.psycopg2cffi.overridePythonAttrs (
+        old: {
+          buildInputs = (old.buildInputs or [ ])
+            ++ lib.optional stdenv.isDarwin pkgs.openssl;
+          nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.postgresql ];
+        }
+      );
+
       py-solc-x = super.py-solc-x.overridePythonAttrs (
         old: {
           preConfigure = ''
@@ -1478,106 +1590,35 @@ lib.composeManyExtensions [
 
       pyqt5 =
         let
-          drv = super.pyqt5;
-          withConnectivity = drv.passthru.args.withConnectivity or false;
-          withMultimedia = drv.passthru.args.withMultimedia or false;
-          withWebKit = drv.passthru.args.withWebKit or false;
-          withWebSockets = drv.passthru.args.withWebSockets or false;
+          qt5 = selectQt5 super.pyqt5.version;
         in
         super.pyqt5.overridePythonAttrs (
           old: {
-            format = "other";
-
+            dontConfigure = true;
             dontWrapQtApps = true;
-
-            nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [
-              pkg-config
-              pkgs.qt5.qmake
-              pkgs.xorg.lndir
-              pkgs.qt5.qtbase
-              pkgs.qt5.qtsvg
-              pkgs.qt5.qtdeclarative
-              pkgs.qt5.qtwebchannel
-              pkgs.qt5.qt3d
-              # self.pyqt5-sip
+            nativeBuildInputs = old.nativeBuildInputs or [ ] ++ [
+              self.pyqt-builder
               self.sip
-            ]
-              ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
-              ++ lib.optional withMultimedia pkgs.qt5.qtmultimedia
-              ++ lib.optional withWebKit pkgs.qt5.qtwebkit
-              ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
-            ;
-
-            buildInputs = (old.buildInputs or [ ]) ++ [
-              pkgs.dbus
-              pkgs.qt5.qtbase
-              pkgs.qt5.qtsvg
-              pkgs.qt5.qtdeclarative
-              self.sip
-            ]
-              ++ lib.optional withConnectivity pkgs.qt5.qtconnectivity
-              ++ lib.optional withWebKit pkgs.qt5.qtwebkit
-              ++ lib.optional withWebSockets pkgs.qt5.qtwebsockets
-            ;
-
-            # Fix dbus mainloop
-            patches = pkgs.python3.pkgs.pyqt5.patches or [ ];
-
-            configurePhase = ''
-              runHook preConfigure
-
-              export PYTHONPATH=$PYTHONPATH:$out/${self.python.sitePackages}
-
-              mkdir -p $out/${self.python.sitePackages}/dbus/mainloop
-              ${self.python.executable} configure.py  -w \
-                --confirm-license \
-                --no-qml-plugin \
-                --bindir=$out/bin \
-                --destdir=$out/${self.python.sitePackages} \
-                --stubsdir=$out/${self.python.sitePackages}/PyQt5 \
-                --sipdir=$out/share/sip/PyQt5 \
-                --designer-plugindir=$out/plugins/designer
-
-              runHook postConfigure
-            '';
-
-            postInstall = ''
-              ln -s ${self.pyqt5-sip}/${self.python.sitePackages}/PyQt5/sip.* $out/${self.python.sitePackages}/PyQt5/
-              for i in $out/bin/*; do
-                wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
-              done
-
-              # Let's make it a namespace package
-              cat << EOF > $out/${self.python.sitePackages}/PyQt5/__init__.py
-              from pkgutil import extend_path
-              __path__ = extend_path(__path__, __name__)
-              EOF
-            '';
-
-            installCheckPhase =
-              let
-                modules = [
-                  "PyQt5"
-                  "PyQt5.QtCore"
-                  "PyQt5.QtQml"
-                  "PyQt5.QtWidgets"
-                  "PyQt5.QtGui"
-                ]
-                ++ lib.optional withWebSockets "PyQt5.QtWebSockets"
-                ++ lib.optional withWebKit "PyQt5.QtWebKit"
-                ++ lib.optional withMultimedia "PyQt5.QtMultimedia"
-                ++ lib.optional withConnectivity "PyQt5.QtConnectivity"
-                ;
-                imports = lib.concatMapStrings (module: "import ${module};") modules;
-              in
-              ''
-                echo "Checking whether modules can be imported..."
-                ${self.python.interpreter} -c "${imports}"
-              '';
-
-            doCheck = true;
+              qt5.full
+            ];
+          }
+        );
 
-            enableParallelBuilding = true;
+      pyqt5-qt5 =
+        let
+          qt5 = selectQt5 super.pyqt5-qt5.version;
+        in
+        super.pyqt5-qt5.overridePythonAttrs (
+          old: {
+            dontWrapQtApps = true;
+            propagatedBuildInputs = old.propagatedBuildInputs or [ ] ++ [
+              qt5.full
+              qt5.qtgamepad # As of 2022-05-13 not a port of qt5.full
+              pkgs.gtk3
+              pkgs.speechd
+              pkgs.postgresql
+              pkgs.unixODBC
+            ];
           }
         );
 
@@ -1593,7 +1634,10 @@ lib.composeManyExtensions [
         old: {
           # Fixes https://github.com/pytest-dev/pytest/issues/7891
           postPatch = old.postPatch or "" + ''
-            sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
+            # sometimes setup.cfg doesn't exist
+            if [ -f setup.cfg ]; then
+              sed -i '/\[metadata\]/aversion = ${old.version}' setup.cfg
+            fi
           '';
         }
       );
@@ -1670,6 +1714,10 @@ lib.composeManyExtensions [
         }
       );
 
+      python-twitter = super.python-twitter.overridePythonAttrs (old: {
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
+      });
+
       pythran = super.pythran.overridePythonAttrs (old: {
         buildInputs = (old.buildInputs or [ ]) ++ [ self.pytest-runner ];
       });
@@ -1837,7 +1885,14 @@ lib.composeManyExtensions [
       shapely = super.shapely.overridePythonAttrs (
         old: {
           buildInputs = (old.buildInputs or [ ]) ++ [ pkgs.geos ];
-          inherit (pkgs.python3.pkgs.shapely) patches GEOS_LIBRARY_PATH;
+          inherit (pkgs.python3.pkgs.shapely) GEOS_LIBRARY_PATH;
+
+          GEOS_LIBC = lib.optionalString (!stdenv.isDarwin) "${stdenv.cc.libc}/lib/libc${stdenv.hostPlatform.extensions.sharedLibrary}.6";
+
+          # Fix library paths
+          postPatch = old.postPatch or "" + ''
+            ${pkgs.python3.interpreter} ${./shapely-rewrite.py} shapely/geos.py
+          '';
         }
       );
 
@@ -1860,6 +1915,12 @@ lib.composeManyExtensions [
 
       });
 
+      soundfile = super.soundfile.overridePythonAttrs (old: {
+        postPatch = ''
+          substituteInPlace soundfile.py --replace "_find_library('sndfile')" "'${pkgs.libsndfile.out}/lib/libsndfile${stdenv.hostPlatform.extensions.sharedLibrary}'"
+        '';
+      });
+
       systemd-python = super.systemd-python.overridePythonAttrs (old: {
         buildInputs = old.buildInputs ++ [ pkgs.systemd ];
         nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.pkg-config ];
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py
new file mode 100644
index 0000000000000..d3b365459bd3d
--- /dev/null
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/shapely-rewrite.py
@@ -0,0 +1,46 @@
+"""
+Rewrite libc/library path references to Nix store paths
+Nixpkgs uses a normal patch for this but we need to be less
+sensitive to changes between versions.
+"""
+from textwrap import dedent
+import sys
+import ast
+import os
+
+
+with open(sys.argv[1]) as f:
+    mod = ast.parse(f.read(), "geos.py")
+
+
+class LibTransformer(ast.NodeTransformer):
+    _lgeos_replaced = False
+
+    def visit_If(self, node):
+        if ast.unparse(node).startswith("if sys.platform.startswith('linux')"):
+            return ast.parse(
+                dedent(
+                    """
+            free = CDLL(%s).free
+            free.argtypes = [c_void_p]
+            free.restype = None
+            """
+                )
+                % (lambda x: "'" + x + "'" if x else None)(os.environ.get("GEOS_LIBC"))
+            )
+        return node
+
+    def visit_Assign(self, node):
+        _target = node.targets[0]
+        if (
+            not self._lgeos_replaced
+            and isinstance(_target, ast.Name)
+            and _target.id == "_lgeos"
+        ):
+            self._lgeos_replaced = True
+            return ast.parse("_lgeos = CDLL('%s')" % os.environ["GEOS_LIBRARY_PATH"])
+        return node
+
+
+with open(sys.argv[1], "w") as f:
+    f.write(ast.unparse(LibTransformer().visit(mod)))
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
index b16bd5f3cebc9..00c33956edd19 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/pep425.nix
@@ -23,7 +23,9 @@ let
     let
       entries' = splitString "-" str;
       # Hack: Remove version "suffixes" like 2.11.4-1
-      entries = builtins.filter (x: builtins.match "[0-9]" x == null) entries';
+      # Some wheels have build tag with more than one digit
+      # like openvino-2022.1.0-7019-cp36-cp36m-manylinux_2_27_x86_64.whl
+      entries = builtins.filter (x: builtins.match "[0-9]*" x == null) entries';
       p = removeSuffix ".whl" (builtins.elemAt entries 4);
     in
     {
diff --git a/pkgs/development/tools/profiling/pprof/default.nix b/pkgs/development/tools/profiling/pprof/default.nix
index 03460f7f04c00..7ff94299afcf3 100644
--- a/pkgs/development/tools/profiling/pprof/default.nix
+++ b/pkgs/development/tools/profiling/pprof/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "pprof";
-  version = "unstable-2021-09-30";
+  version = "unstable-2022-05-09";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "pprof";
-    rev = "7fe48b4c820be13151ae35ce5a5e3f54f1b53eef";
-    sha256 = "05nr3igdigs1586qplwfm17hfw0v81jy745g6vayq7cbplljfjb1";
+    rev = "59ca7ad80af3faf4f87f4d82ff02f5d390c08ed6";
+    sha256 = "0jni73ila3glg7rl11v0al947d94dd0syhkjqnliaryh8dkxbx80";
   };
 
-  vendorSha256 = "0yl8y3m2ia3cwxhmg1km8358a0225khimv6hcvras8r2glm69h3f";
+  vendorSha256 = "0vr8jp3kxgadb73g67plfrl5dkxfwrxaxjs664918jssy25vyk2y";
 
   meta = with lib; {
     description = "A tool for visualization and analysis of profiling data";
diff --git a/pkgs/development/tools/prospector/default.nix b/pkgs/development/tools/prospector/default.nix
index 2f58737637f66..0d6e5de4cfe5b 100644
--- a/pkgs/development/tools/prospector/default.nix
+++ b/pkgs/development/tools/prospector/default.nix
@@ -11,20 +11,22 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "prospector";
-  version = "1.5.1";
+  version = "1.7.7";
   format = "pyproject";
+
   disabled = pythonOlder "3.6.1";
 
   src = pkgs.fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "17f822cxrvcvnrzdx1a9fyi9afljq80b6g6z1k2bqa1vs21gwv7l";
+    hash = "sha256-sbPZmVeJtNphtjuZEfKcUgty9bJ3E/2Ya9RuX3u/XEs=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"'
+      --replace 'pep8-naming = ">=0.3.3,<=0.10.0"' 'pep8-naming = "*"' \
+      --replace 'mccabe = "^0.6.0"' 'mccabe = "*"'
   '';
 
   nativeBuildInputs = [
@@ -61,9 +63,7 @@ buildPythonApplication rec {
   meta = with lib; {
     description = "Tool to analyse Python code and output information about errors, potential problems, convention violations and complexity";
     homepage = "https://github.com/PyCQA/prospector";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [
-      kamadorueda
-    ];
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ kamadorueda ];
   };
 }
diff --git a/pkgs/development/tools/protoc-gen-entgrpc/default.nix b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
new file mode 100644
index 0000000000000..d92b805082a22
--- /dev/null
+++ b/pkgs/development/tools/protoc-gen-entgrpc/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "protoc-gen-entgrpc";
+  version = "0.2.0";
+
+  src = fetchFromGitHub {
+    owner = "ent";
+    repo = "contrib";
+    rev = "v${version}";
+    sha256 = "sha256-cpk8yRDBsupI277NWYFaLCvi3ltQDLgCrcpJ/FUVi9o=";
+  };
+
+  vendorSha256 = "sha256-RwwGFBiasxMmtKMLSyAqvkozqoyzzYuslMq+HnzZUhw=";
+
+  subPackages = [ "entproto/cmd/protoc-gen-entgrpc" ];
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Generator of an implementation of the service interface for ent protobuff";
+    downloadPage = "https://github.com/ent/contrib/";
+    license = licenses.asl20;
+    homepage = "https://entgo.io/";
+    maintainers = with maintainers; [ superherointj ];
+  };
+}
+
diff --git a/pkgs/development/tools/protoc-gen-twirp_php/default.nix b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
index df5afac2dbb21..a54c860f29572 100644
--- a/pkgs/development/tools/protoc-gen-twirp_php/default.nix
+++ b/pkgs/development/tools/protoc-gen-twirp_php/default.nix
@@ -2,19 +2,23 @@
 
 buildGoModule rec {
   pname = "protoc-gen-twirp_php";
-  version = "0.8.0";
+  version = "0.8.1";
 
   # fetchFromGitHub currently not possible, because go.mod and go.sum are export-ignored
   src = fetchgit {
     url = "https://github.com/twirphp/twirp.git";
     rev = "v${version}";
-    sha256 = "sha256-TaHfyYoWsA/g5xZFxIMNwE1w6Dd9Cq5bp1gpQudYLs0=";
+    sha256 = "sha256-5PACgKqc8rWqaA6Syj5NyxHm3827yd67tm0mwVSMnWQ=";
   };
 
   vendorSha256 = "sha256-qQFlBviRISEnPBt0q5391RqUrPTI/QDxg3MNfwWE8MI=";
 
   subPackages = [ "protoc-gen-twirp_php" ];
 
+  ldflags = [
+    "-X main.version=${version}"
+  ];
+
   meta = with lib; {
     description = "PHP port of Twitch's Twirp RPC framework";
     homepage = "https://github.com/twirphp/twirp";
diff --git a/pkgs/development/tools/pur/default.nix b/pkgs/development/tools/pur/default.nix
index fc6a46cbc0a87..d065b7b1351f9 100644
--- a/pkgs/development/tools/pur/default.nix
+++ b/pkgs/development/tools/pur/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "pur";
-  version = "6.1.0";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "alanhamlett";
     repo = "pip-update-requirements";
-    rev = version;
-    hash = "sha256-EcyDEXDgjicCRThXC+co/PwTjAxkRXVG1++JZtsSjZo=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-JAjz9A9r1H6MJX7MSq7UvQKfULhB9UuPP3tI6Cggx9I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index b5cc43a672470..e3636e16f58cf 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -14,11 +14,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.8";
+  version = "0.20.9";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "0lakss2pg5kwbxqsmvzgkcc70l6j40cj9rarhkpcf0kxw98bb5x0";
-    rev = "744bdbbefc538750d4c36888ee53dc5d336314c4";
+    sha256 = "00vdqg7vaw3d9zwh47886lw9fhhlwjagzhaj3aqz4xm92pjavhih";
+    rev = "d16d4914200783fbd820ba89dbdf67270454faf5";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/purescript/spago/update.sh b/pkgs/development/tools/purescript/spago/update.sh
index 12595885df3c9..b97b0fe94a9cc 100755
--- a/pkgs/development/tools/purescript/spago/update.sh
+++ b/pkgs/development/tools/purescript/spago/update.sh
@@ -33,4 +33,7 @@ cabal2nix --revision "$new_version" "https://github.com/purescript/spago.git" >>
 # TODO: This should ideally also automatically update the docsSearchVersion
 # from pkgs/development/haskell/configuration-nix.nix.
 
-echo "Finished."
+echo
+echo "Finished.  Make sure you run the following commands to confirm Spago builds correctly:"
+echo ' - `nix build -L -f ./. spago`'
+echo ' - `sudo nix build -L -f ./. spago.passthru.tests --option sandbox relaxed`'
diff --git a/pkgs/development/tools/rgp/default.nix b/pkgs/development/tools/rgp/default.nix
index 2ac48148c7882..30c6dee23bfbc 100644
--- a/pkgs/development/tools/rgp/default.nix
+++ b/pkgs/development/tools/rgp/default.nix
@@ -19,15 +19,15 @@
 }:
 
 let
-  buildNum = "2022-01-18-884";
+  buildNum = "2022-04-20-920";
 in
 stdenv.mkDerivation rec {
   pname = "rgp";
-  version = "1.12";
+  version = "1.13";
 
   src = fetchurl {
     url = "https://gpuopen.com/download/radeon-developer-tool-suite/RadeonDeveloperToolSuite-${buildNum}.tgz";
-    sha256 = "88ot16N8XtRlDCP+zIaOqG5BuR0OyG/0u1NEXsun/nY=";
+    hash = "sha256-/Z7mSZVAvaTAY9RU7suK/gA0RJIeeLdN6LWiseVq9Js=";
   };
 
   nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
diff --git a/pkgs/development/tools/rust/bindgen/unwrapped.nix b/pkgs/development/tools/rust/bindgen/unwrapped.nix
index f77e2feb4ff37..458b4a10c8d08 100644
--- a/pkgs/development/tools/rust/bindgen/unwrapped.nix
+++ b/pkgs/development/tools/rust/bindgen/unwrapped.nix
@@ -46,7 +46,8 @@ in rustPlatform.buildRustPackage rec {
     '';
     homepage = "https://github.com/rust-lang/rust-bindgen";
     license = with licenses; [ bsd3 ];
-    platforms = platforms.unix;
     maintainers = with maintainers; [ johntitor ralith ];
+    mainProgram = "bindgen";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/rust/cargo-bolero/Cargo.lock b/pkgs/development/tools/rust/cargo-bolero/Cargo.lock
new file mode 100644
index 0000000000000..a16bfbe9c23da
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-bolero/Cargo.lock
@@ -0,0 +1,751 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "addr2line"
+version = "0.17.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
+dependencies = [
+ "gimli",
+]
+
+[[package]]
+name = "adler"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.57"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "backtrace"
+version = "0.3.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61"
+dependencies = [
+ "addr2line",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+ "miniz_oxide",
+ "object",
+ "rustc-demangle",
+]
+
+[[package]]
+name = "bit-set"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6e11e16035ea35e4e5997b393eacbf6f63983188f7a2ad25bfb13465f5ad59de"
+dependencies = [
+ "bit-vec",
+]
+
+[[package]]
+name = "bit-vec"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bolero"
+version = "0.6.2"
+dependencies = [
+ "bolero-afl",
+ "bolero-engine",
+ "bolero-generator",
+ "bolero-honggfuzz",
+ "bolero-libfuzzer",
+ "cfg-if 1.0.0",
+ "libtest-mimic",
+ "rand",
+]
+
+[[package]]
+name = "bolero-afl"
+version = "0.6.2"
+dependencies = [
+ "bolero-engine",
+ "cc",
+]
+
+[[package]]
+name = "bolero-engine"
+version = "0.6.2"
+dependencies = [
+ "anyhow",
+ "backtrace",
+ "bolero-generator",
+ "lazy_static",
+ "pretty-hex",
+ "rand",
+]
+
+[[package]]
+name = "bolero-generator"
+version = "0.6.2"
+dependencies = [
+ "bolero-generator-derive",
+ "byteorder",
+ "either",
+ "rand",
+ "rand_core",
+]
+
+[[package]]
+name = "bolero-generator-derive"
+version = "0.6.2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "bolero-honggfuzz"
+version = "0.6.2"
+dependencies = [
+ "bolero-engine",
+]
+
+[[package]]
+name = "bolero-libfuzzer"
+version = "0.6.2"
+dependencies = [
+ "bolero-engine",
+ "cc",
+]
+
+[[package]]
+name = "byteorder"
+version = "1.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+[[package]]
+name = "cargo-bolero"
+version = "0.6.2"
+dependencies = [
+ "anyhow",
+ "bit-set",
+ "bolero",
+ "bolero-afl",
+ "bolero-honggfuzz",
+ "humantime",
+ "rustc_version",
+ "serde",
+ "serde_json",
+ "structopt",
+ "tempfile",
+]
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[package]]
+name = "cfg-if"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+
+[[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 = [
+ "ansi_term",
+ "atty",
+ "bitflags",
+ "strsim",
+ "textwrap",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.4.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
+dependencies = [
+ "crossbeam-utils 0.7.2",
+ "maybe-uninit",
+]
+
+[[package]]
+name = "crossbeam-channel"
+version = "0.5.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53"
+dependencies = [
+ "cfg-if 1.0.0",
+ "crossbeam-utils 0.8.8",
+]
+
+[[package]]
+name = "crossbeam-deque"
+version = "0.8.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
+dependencies = [
+ "cfg-if 1.0.0",
+ "crossbeam-epoch",
+ "crossbeam-utils 0.8.8",
+]
+
+[[package]]
+name = "crossbeam-epoch"
+version = "0.9.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c"
+dependencies = [
+ "autocfg",
+ "cfg-if 1.0.0",
+ "crossbeam-utils 0.8.8",
+ "lazy_static",
+ "memoffset",
+ "scopeguard",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.7.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+dependencies = [
+ "autocfg",
+ "cfg-if 0.1.10",
+ "lazy_static",
+]
+
+[[package]]
+name = "crossbeam-utils"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
+dependencies = [
+ "cfg-if 1.0.0",
+ "lazy_static",
+]
+
+[[package]]
+name = "either"
+version = "1.6.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
+
+[[package]]
+name = "fastrand"
+version = "1.7.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
+dependencies = [
+ "instant",
+]
+
+[[package]]
+name = "getrandom"
+version = "0.2.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
+dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "gimli"
+version = "0.26.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "humantime"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+
+[[package]]
+name = "instant"
+version = "0.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "libc"
+version = "0.2.125"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
+
+[[package]]
+name = "libtest-mimic"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08a7b8ac1f53f7be8d895ce6f7f534e49581c85c499b47429634b2cb2995e2ae"
+dependencies = [
+ "crossbeam-channel 0.4.4",
+ "rayon",
+ "structopt",
+ "termcolor",
+]
+
+[[package]]
+name = "maybe-uninit"
+version = "2.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "memoffset"
+version = "0.6.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "miniz_oxide"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
+dependencies = [
+ "adler",
+]
+
+[[package]]
+name = "num_cpus"
+version = "1.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+dependencies = [
+ "hermit-abi",
+ "libc",
+]
+
+[[package]]
+name = "object"
+version = "0.28.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
+
+[[package]]
+name = "pretty-hex"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131"
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.38"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "rand"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rayon"
+version = "1.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221"
+dependencies = [
+ "autocfg",
+ "crossbeam-deque",
+ "either",
+ "rayon-core",
+]
+
+[[package]]
+name = "rayon-core"
+version = "1.9.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4"
+dependencies = [
+ "crossbeam-channel 0.5.4",
+ "crossbeam-deque",
+ "crossbeam-utils 0.8.8",
+ "num_cpus",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.13"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "rustc-demangle"
+version = "0.1.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
+
+[[package]]
+name = "rustc_version"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
+dependencies = [
+ "semver",
+]
+
+[[package]]
+name = "ryu"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "semver"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd"
+
+[[package]]
+name = "serde"
+version = "1.0.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.81"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "structopt"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
+dependencies = [
+ "clap",
+ "lazy_static",
+ "structopt-derive",
+]
+
+[[package]]
+name = "structopt-derive"
+version = "0.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.93"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04066589568b72ec65f42d65a1a52436e954b168773148893c020269563decf2"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
+dependencies = [
+ "cfg-if 1.0.0",
+ "fastrand",
+ "libc",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+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 = "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.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+
+[[package]]
+name = "vec_map"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "wasi"
+version = "0.10.2+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+
+[[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"
diff --git a/pkgs/development/tools/rust/cargo-bolero/default.nix b/pkgs/development/tools/rust/cargo-bolero/default.nix
new file mode 100644
index 0000000000000..5940459a5ebf2
--- /dev/null
+++ b/pkgs/development/tools/rust/cargo-bolero/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, stdenv, libbfd, libopcodes, libunwind }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "cargo-bolero";
+  version = "0.6.2";
+
+  src = fetchFromGitHub {
+    owner = "camshaft";
+    repo = "bolero";
+    rev = "${pname}-v${version}";
+    sha256 = "1p8g8av0l1qsmq09m0nwyyryk1v5bbah5izl4hf80ivi41mywkyi";
+  };
+
+  cargoLock.lockFile = ./Cargo.lock;
+  postPatch = "cp ${./Cargo.lock} Cargo.lock";
+
+  buildInputs = [ libbfd libopcodes libunwind ];
+
+  meta = with lib; {
+    description = "Fuzzing and property testing front-end framework for Rust";
+    homepage = "https://github.com/camshaft/cargo-bolero";
+    license = with licenses; [ mit ];
+    maintainers = [ maintainers.ekleog ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 860d537170982..d448b9a88f863 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "1.0.16";
+  version = "1.0.21";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-NhBUN+pf+j/4IozFDEb+XZ1ijSk6dNvCANyez823a0c=";
+    sha256 = "sha256-hxG7e5JBDv79eA7IQEdU8kpvE0B69Gqc+aPdCoc6Uf4=";
   };
 
-  cargoSha256 = "sha256-7rqtxyoo1SQ7Rae04+b+B0JgCKeW0p1j7bZzPpJ8+ks=";
+  cargoSha256 = "sha256-7CMNJb/HGHPP4CIBEYK+2HC/JAce25qGI86NkSvyxos=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/rust/cargo-feature/default.nix b/pkgs/development/tools/rust/cargo-feature/default.nix
index 938dfab2982e1..88c48cd859447 100644
--- a/pkgs/development/tools/rust/cargo-feature/default.nix
+++ b/pkgs/development/tools/rust/cargo-feature/default.nix
@@ -2,21 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-feature";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "Riey";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9TP67YtvRtgLtsKACL5xjXq5kZtYpTWsTqQsbOKPwtY=";
+    sha256 = "sha256-UPpqkz/PwoMaJan9itfldjyTmZmiMb6PzCyu9Vtjj1s=";
   };
 
-  cargoSha256 = "sha256-MkLsQebQdqfUuARIdQZg47kMPudstJUgRQgUuovoLes=";
+  cargoSha256 = "sha256-8qrpW/gU7BvxN3nSbFWhbgu5bwsdzYZTS3w3kcwsGbU=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
   meta = with lib; {
-    description = "Allows conveniently modify features of crate";
+    description = "Cargo plugin to manage dependency features";
     homepage = "https://github.com/Riey/cargo-feature";
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/development/tools/rust/cargo-geiger/default.nix b/pkgs/development/tools/rust/cargo-geiger/default.nix
index 28511223be04b..808fa580db3b7 100644
--- a/pkgs/development/tools/rust/cargo-geiger/default.nix
+++ b/pkgs/development/tools/rust/cargo-geiger/default.nix
@@ -1,7 +1,14 @@
-{ stdenv, lib, fetchFromGitHub
-, rustPlatform, pkg-config, openssl
-# darwin dependencies
-, Security, CoreFoundation, libiconv
+{ stdenv
+, lib
+, fetchFromGitHub
+, rustPlatform
+, pkg-config
+, openssl
+  # darwin dependencies
+, Security
+, CoreFoundation
+, libiconv
+, curl
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -16,15 +23,11 @@ rustPlatform.buildRustPackage rec {
   };
   cargoSha256 = "sha256-i7xDEzZAN2ubW1Q6MhY+xsb9XiUajNDHLdtDuO5r6jA=";
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security libiconv ];
-  nativeBuildInputs = [ pkg-config ];
-
-  # FIXME: Use impure version of CoreFoundation because of missing symbols.
-  # CFURLSetResourcePropertyForKey is defined in the headers but there's no
-  # corresponding implementation in the sources from opensource.apple.com.
-  preConfigure = lib.optionalString stdenv.isDarwin ''
-    export NIX_CFLAGS_COMPILE="-F${CoreFoundation}/Library/Frameworks $NIX_CFLAGS_COMPILE"
-  '';
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security libiconv curl ];
+  nativeBuildInputs = [ pkg-config ]
+    # curl-sys wants to run curl-config on darwin
+    ++ lib.optionals stdenv.isDarwin [ curl.dev ];
 
   # skip tests with networking or other failures
   checkFlags = [
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 46738f7cf45ea..92439d2a572b9 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.11";
+  version = "0.35.12";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-NzhEXt0z+0/6F3pgGmQwjnexBA2icWV3dCifZ8BxnOQ=";
+    sha256 = "sha256-BBSZTbzT+8obY677Yfmf1VTwg0GtvMNY/FTlS6isJTE=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-+FGl0JhaRu+KLQJGAcMXv9vP6pmRzdTDtNA3h6A1jcY=";
+  cargoSha256 = "sha256-Nsm6KnL72HjqGevXwg2qYagzMG5nEFuH9DblbcUv6Qg=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-sync-readme/default.nix b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
index 07c51c3163cbd..904404c65c30f 100644
--- a/pkgs/development/tools/rust/cargo-sync-readme/default.nix
+++ b/pkgs/development/tools/rust/cargo-sync-readme/default.nix
@@ -2,20 +2,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-sync-readme";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "phaazon";
     repo = pname;
     rev = version;
-    sha256 = "1c38q87fyfmj6nlwdpavb1xxpi26ncywkgqcwbvblad15c6ydcyc";
+    sha256 = "sha256-n9oIWblTTuXFFQFN6mpQiCH5N7yg5fAp8v9vpB5/DAo=";
   };
 
-  cargoSha256 = "0vrbgs49ghhl4z4ljhghcs9fnbf7qx1an9kwbrgv9wng8m1dccah";
+  cargoSha256 = "sha256-DsB2C2ELuvuVSvxG/xztmnY2qfX8+Y7udbXlpRQoL/c=";
 
   meta = with lib; {
     description = "A cargo plugin that generates a Markdown section in your README based on your Rust documentation";
     homepage = "https://github.com/phaazon/cargo-sync-readme";
+    changelog = "https://github.com/phaazon/cargo-sync-readme/blob/${version}/CHANGELOG.md";
     license = licenses.bsd3;
     maintainers = with maintainers; [ b4dm4n ];
   };
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 92d731c79b558..acacdcefb4150 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-04-11";
-  cargoSha256 = "sha256-pc8S+5g67vN9170ABiHGe1t4Go0F63UiOeLd71USYCI=";
+  version = "2022-05-02";
+  cargoSha256 = "sha256-uZCUruIBTNTKYWYb8xQgJ6FsKlRi+Sh5n7m7aVk+hHQ=";
 
   src = fetchFromGitHub {
-    owner = "rust-analyzer";
+    owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-miMIrDawSS1zXh6EuX03x5ACM2NTabksssSyutSNpjY=";
+    sha256 = "sha256-5kAbd/tTc9vkr27ar44hnpXdS0vQg0OLJUMlp0FBjqA=";
   };
 
   patches = [
@@ -61,5 +61,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://rust-analyzer.github.io";
     license = with licenses; [ mit asl20 ];
     maintainers = with maintainers; [ oxalica ];
+    mainProgram = "rust-analyzer";
   };
 }
diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh
index 000a728a2b25c..36c3fd3941b95 100755
--- a/pkgs/development/tools/rust/rust-analyzer/update.sh
+++ b/pkgs/development/tools/rust/rust-analyzer/update.sh
@@ -3,7 +3,7 @@
 # shellcheck shell=bash
 set -euo pipefail
 cd "$(dirname "$0")"
-owner=rust-analyzer
+owner=rust-lang
 repo=rust-analyzer
 nixpkgs=../../../../..
 
diff --git a/pkgs/development/tools/scry/default.nix b/pkgs/development/tools/scry/default.nix
index 04307d02c4a12..28a6c09177b42 100644
--- a/pkgs/development/tools/scry/default.nix
+++ b/pkgs/development/tools/scry/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, crystal, coreutils, makeWrapper }:
+{ lib, fetchFromGitHub, crystal, coreutils, makeWrapper, bash }:
 
 crystal.buildCrystalPackage rec {
   pname = "scry";
@@ -19,6 +19,7 @@ crystal.buildCrystalPackage rec {
   format = "shards";
 
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bash ];
 
   shardsFile = ./shards.nix;
 
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index 61959b98b4cc8..943d6b60b60d8 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -33,8 +33,9 @@ in stdenv.mkDerivation rec {
   meta = {
     homepage = "http://www.seleniumhq.org/";
     description = "Selenium Server for remote WebDriver";
+    license = licenses.asl20;
     maintainers = with maintainers; [ coconnor offline ];
+    mainProgram = "selenium-server";
     platforms = platforms.all;
-    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index c25a27e6d957b..4f02b5ca0f464 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-sbe16IcHkhsiBznsMKtG/xYJYJfJS6aZ34++QhkGTTc=";
+    sha256 = "sha256-LZN8v3pk5OvRdnhAHOa76QASRL8IPbMIFoH6ERu5r6E=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/snazy/default.nix b/pkgs/development/tools/snazy/default.nix
index c284c18d015d2..08328b1f9000a 100644
--- a/pkgs/development/tools/snazy/default.nix
+++ b/pkgs/development/tools/snazy/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "snazy";
-  version = "0.4.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "chmouel";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Pv+vLdbMTbDbdUVQhA07WY+o1PwtCiqdAXCj+UlP/ZQ=";
+    sha256 = "sha256-SoyGvy1F39kvMLuT9QFXiGEpN0DWS3X9ZDZhFocymCw=";
   };
-  cargoSha256 = "sha256-96xgpkkWHsyb3kxEXM5f5jFSjbO+VEmX2uHltGJUPGk=";
+  cargoSha256 = "sha256-vz2bXmuRWFCx7dH0u2zVJLurtUAQ51ZqWVAcuUrm6d8=";
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/development/tools/taplo-cli/default.nix b/pkgs/development/tools/taplo-cli/default.nix
index e19de1c3cdf1f..0c584a36a526c 100644
--- a/pkgs/development/tools/taplo-cli/default.nix
+++ b/pkgs/development/tools/taplo-cli/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "taplo-cli";
-  version = "0.5.0";
+  version = "0.6.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-+0smR1FDeJMSa/LaRM2M53updt5p8717DEaFItNXCdM=";
+    sha256 = "sha256-vz3ClC2PI0ti+cItuVdJgP8KLmR2C+uGUzl3DfVuTrY=";
   };
 
-  cargoSha256 = "sha256-d7mysGYR72shXwvmDXr0oftSa+RtRoSbP++HBR40Mus=";
+  cargoSha256 = "sha256-m6wsca/muGPs58myQH7ZLPPM+eGP+GL2sC5suu+vWU0=";
 
-  nativeBuildInputs = lib.optional stdenv.isLinux pkg-config;
+  OPENSSL_LIB_DIR = "${lib.getLib openssl}/lib";
+  OPENSSL_INCLUDE_DIR = "${openssl.dev}/include";
 
-  buildInputs = lib.optional stdenv.isLinux openssl
-    ++ lib.optional stdenv.isDarwin Security;
+  buildInputs = lib.optional stdenv.isDarwin Security;
 
   meta = with lib; {
     description = "A TOML toolkit written in Rust";
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
index bd297154cc36c..f9cef54564f8c 100644
--- a/pkgs/development/tools/treefmt/default.nix
+++ b/pkgs/development/tools/treefmt/default.nix
@@ -16,6 +16,6 @@ rustPlatform.buildRustPackage rec {
     description = "one CLI to format the code tree";
     homepage = "https://github.com/numtide/treefmt";
     license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ zimbatm ];
+    maintainers = lib.teams.numtide.members;
   };
 }
diff --git a/pkgs/development/tools/trunk/default.nix b/pkgs/development/tools/trunk/default.nix
index 00cdae21e1ff2..3c40a0c0ce8e8 100644
--- a/pkgs/development/tools/trunk/default.nix
+++ b/pkgs/development/tools/trunk/default.nix
@@ -3,13 +3,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "trunk";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "thedodd";
     repo = "trunk";
     rev = "v${version}";
-    sha256 = "sha256-69MQDIF79pSuaOgZEIqb/ESPQzL7MUiQaJaxPccGxo8=";
+    sha256 = "sha256-VHUs/trR1M5WacEA0gwKLkGtsws9GFmn1vK0kRxpNII=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -20,7 +20,7 @@ rustPlatform.buildRustPackage rec {
   # requires network
   checkFlags = [ "--skip=tools::tests::download_and_install_binaries" ];
 
-  cargoSha256 = "sha256-3WTxCMNpBmiNbZMHp5BrqTXa1vmE/ZZ/8XbdcfxBfYg=";
+  cargoSha256 = "sha256-czXe9W+oR1UV7zGZiiHcbydzH6sowa/8upm+5lkPG1U=";
 
   meta = with lib; {
     homepage = "https://github.com/thedodd/trunk";
diff --git a/pkgs/development/tools/vagrant/gemset_libvirt.nix b/pkgs/development/tools/vagrant/gemset_libvirt.nix
index 0cec878d30476..438d436869f6f 100644
--- a/pkgs/development/tools/vagrant/gemset_libvirt.nix
+++ b/pkgs/development/tools/vagrant/gemset_libvirt.nix
@@ -14,10 +14,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yff4s5b8wcrk9ldils2k84l46m9nxr0my0wxchzdmgjbjdfsvww";
+      sha256 = "1rv2hq29lx2337214a1p2qy70fi77ch6p0p77nw9h6x84q028qr0";
       type = "gem";
     };
-    version = "0.92.0";
+    version = "0.92.3";
   };
   fog-core = {
     dependencies = ["builder" "excon" "formatador" "mime-types"];
@@ -130,10 +130,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.6";
   };
   racc = {
     groups = ["default"];
@@ -171,9 +171,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07fhsgqx9iyni41z1lhfmm4wq6cbiyydkmvmib28jbgyznlxjmzv";
+      sha256 = "1j31y6sjhslj5yr0ssvb36ngm7prfsbdfj6131757jl0l0ri8pyv";
       type = "gem";
     };
-    version = "0.7.0";
+    version = "0.8.2";
   };
 }
diff --git a/pkgs/development/tools/vogl/default.nix b/pkgs/development/tools/vogl/default.nix
deleted file mode 100644
index 2e9e8936ddb15..0000000000000
--- a/pkgs/development/tools/vogl/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ mkDerivation, lib, fetchFromGitHub
-, cmake, git, pkg-config, wget, zip
-, qtbase, qtx11extras
-, libdwarf, libjpeg_turbo, libunwind, xz, tinyxml, libX11
-, SDL2, SDL2_gfx, SDL2_image, SDL2_ttf
-, freeglut, libGLU
-, fetchpatch
-}:
-
-mkDerivation {
-  pname = "vogl";
-  version = "2016-05-13";
-
-  src = fetchFromGitHub {
-    owner  = "deepfire";
-    repo   = "vogl";
-    rev    = "cbc5f1853e294b363f16c4e00b3e0c49dbf74559";
-    sha256 = "17gwd73x3lnqv6ccqs48pzqwbzjhbn41c0x0l5zzirhiirb3yh0n";
-  };
-
-  patches = [
-    (fetchpatch {
-      name = "fix-qt59.patch";
-      url = "https://github.com/ValveSoftware/vogl/commit/be3d85f.patch";
-      sha256 = "1yh4jd35mds337waqxdw3w22w7ghn05b5jm7fb4iihl39mhq6qyv";
-    })
-  ];
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  buildInputs = [
-    git wget zip
-    qtbase qtx11extras
-    libdwarf libjpeg_turbo libunwind xz tinyxml libX11
-    SDL2 SDL2_gfx SDL2_image SDL2_ttf
-    freeglut libGLU
-  ];
-
-  dontUseCmakeBuildDir = true;
-  preConfigure = ''
-    cmakeDir=$PWD
-    mkdir -p vogl/vogl_build/release64 && cd $_
-  '';
-  cmakeFlags = [
-    "-DCMAKE_VERBOSE=On"
-    "-DBUILD_X64=On"
-  ];
-
-  meta = with lib; {
-    description = "OpenGL capture / playback debugger";
-    homepage = "https://github.com/ValveSoftware/vogl";
-    license = licenses.mit;
-    maintainers = [ maintainers.deepfire ];
-    platforms = [ "x86_64-linux" "i686-linux" ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index 586aa1797bc4a..17ef58be4bcbf 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -3,7 +3,7 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, pkgconfig
+, pkg-config
 , glslang
 , libffi
 , libX11
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    pkgconfig
+    pkg-config
   ];
 
   buildInputs = [
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     "-DSPIRV_HEADERS_INSTALL_DIR=${spirv-headers}"
     "-DROBIN_HOOD_HASHING_INSTALL_DIR=${robin-hood-hashing}"
     "-DBUILD_LAYER_SUPPORT_FILES=ON"
-    "-DPKG_CONFIG_EXECUTABLE=${pkgconfig}/bin/pkg-config"
+    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
   ];
diff --git a/pkgs/development/tools/wails/default.nix b/pkgs/development/tools/wails/default.nix
index 875ed794647df..73198af687cc8 100644
--- a/pkgs/development/tools/wails/default.nix
+++ b/pkgs/development/tools/wails/default.nix
@@ -15,16 +15,16 @@
 
 buildGoModule rec {
   pname = "wails";
-  version = "2.0.0-beta.34";
+  version = "2.0.0-beta.36";
 
   src = fetchFromGitHub {
     owner = "wailsapp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dsDruZSmr8qSNpX8L27tLpNxvdSkc2mfNQLRxN9AnCg=";
+    sha256 = "sha256-uAbVc1UDgSNJwk8R6zXXqZImo6J9TRs3zPNlWelXS/I=";
   } + "/v2";
 
-  vendorSha256 = "sha256-OaSPpCb2VxMGlkUIg3fyEJhjz256amEfXBX+5WMY3a0=";
+  vendorSha256 = "sha256-rrwlFZQT7sHhUqtU4UzwEqZbjWd/1fudfj/xdTGFUmQ=";
 
   proxyVendor = true;
 
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 4a2fc5aafc5bc..4291af81f405c 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -16,15 +16,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.21.1";
+  version = "1.21.3";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-97KWvaxjIxdWjpuJHYzKbYmQZvAcDW/rzj0VkvnQas4=";
+    sha256 = "sha256-0LjY5XBtR9uoxLOOFRebbSuH9chSdH1/9rtsY15NdCM=";
   };
-  cargoSha256 = "sha256-cqKxKHX/xQLvDN5FwyjB/2aHgm3KZsjxHVRiugYIvQE=";
+  cargoSha256 = "sha256-8YldzUO9Jysu0w2NvGWDIr2eIWcrX9ALUodYwIykt64=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index 87b6ddfa923eb..714cab494f70a 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -1,4 +1,4 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, testers, flyctl }:
 
 buildGoModule rec {
   pname = "flyctl";
@@ -17,10 +17,10 @@ buildGoModule rec {
 
   ldflags = [
     "-s" "-w"
-    "-X github.com/superfly/flyctl/flyctl.Commit=${src.rev}"
-    "-X github.com/superfly/flyctl/flyctl.BuildDate=1970-01-01T00:00:00+0000"
-    "-X github.com/superfly/flyctl/flyctl.Environment=production"
-    "-X github.com/superfly/flyctl/flyctl.Version=${version}"
+    "-X github.com/superfly/flyctl/internal/buildinfo.commit=${src.rev}"
+    "-X github.com/superfly/flyctl/internal/buildinfo.buildDate=1970-01-01T00:00:00Z"
+    "-X github.com/superfly/flyctl/internal/buildinfo.environment=production"
+    "-X github.com/superfly/flyctl/internal/buildinfo.version=${version}"
   ];
 
   preBuild = ''
@@ -32,14 +32,20 @@ buildGoModule rec {
   '';
 
   postCheck = ''
-    go test ./... -ldflags="-X 'github.com/superfly/flyctl/internal/buildinfo.buildDate=1970-01-01T00:00:00+0000'"
+    go test ./... -ldflags="-X 'github.com/superfly/flyctl/internal/buildinfo.buildDate=1970-01-01T00:00:00Z'"
   '';
 
+  passthru.tests.version = testers.testVersion {
+    package = flyctl;
+    command = "HOME=$(mktemp -d) flyctl version";
+    version = "v${flyctl.version}";
+  };
+
   meta = with lib; {
     description = "Command line tools for fly.io services";
     downloadPage = "https://github.com/superfly/flyctl";
     homepage = "https://fly.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ aaronjanse jsierles ];
+    maintainers = with maintainers; [ aaronjanse jsierles techknowlogick ];
   };
 }
diff --git a/pkgs/development/web/lucky-cli/default.nix b/pkgs/development/web/lucky-cli/default.nix
index a87892c5f1471..3d2901bc9acee 100644
--- a/pkgs/development/web/lucky-cli/default.nix
+++ b/pkgs/development/web/lucky-cli/default.nix
@@ -33,11 +33,11 @@ crystal.buildCrystalPackage rec {
   '';
 
   meta = with lib; {
-    description =
-      "A Crystal library for creating and running tasks. Also generates Lucky projects";
+    description = "A Crystal library for creating and running tasks. Also generates Lucky projects";
     homepage = "https://luckyframework.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
+    mainProgram = "lucky";
     platforms = platforms.unix;
     broken = lib.versionOlder crystal.version "0.35.1";
   };
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 7f8178838677c..ab9a8b95d1a04 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -136,7 +136,7 @@ let
 
       ${optionalString (enableNpm && stdenv.hostPlatform == stdenv.buildPlatform) ''
         mkdir -p $out/share/bash-completion/completions/
-        $out/bin/npm completion > $out/share/bash-completion/completions/npm || :
+        HOME=$TMPDIR $out/bin/npm completion > $out/share/bash-completion/completions/npm
         for dir in "$out/lib/node_modules/npm/man/"*; do
           mkdir -p $out/share/man/$(basename "$dir")
           for page in "$dir"/*; do
@@ -194,7 +194,7 @@ let
       maintainers = with maintainers; [ goibhniu gilligan cko marsam ];
       platforms = platforms.linux ++ platforms.darwin;
       mainProgram = "node";
-      knownVulnerabilities = optional (versionOlder version "12") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
+      knownVulnerabilities = optional (versionOlder version "14") "This NodeJS release has reached its end of life. See https://nodejs.org/en/about/releases/.";
     };
 
     passthru.python = python; # to ensure nodeEnv uses the same version
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index e2a65ace38115..d2f6349894708 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.19.1";
-    sha256 = "sha256-4a4J3YYas5rwRIO7XA+lTd2CtrFVQ76aJ+pnBKi6ndk=";
+    version = "14.19.2";
+    sha256 = "sha256-70N1qRUv9p8oI9eyCjtTdnoEYWS7rHgkQpyyFtFojPA=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix
index 562989d2fd313..6a55c20b195bc 100644
--- a/pkgs/development/web/nodejs/v18.nix
+++ b/pkgs/development/web/nodejs/v18.nix
@@ -7,8 +7,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "18.0.0";
-  sha256 = "sha256-NE0OZUC1JMaal5/1w+eM2nJU/XLANpmSa+sLhVi4znU=";
+  version = "18.1.0";
+  sha256 = "0zhb61ihzslmpl1g3dd6vcxjccc8gwj1v4hfphk7f3cy10hcrc78";
   patches = [
     ./disable-darwin-v8-system-instrumentation.patch
   ];
diff --git a/pkgs/development/web/remarkjs/default.nix b/pkgs/development/web/remarkjs/default.nix
index 2959342af5ad9..8275004c703c2 100644
--- a/pkgs/development/web/remarkjs/default.nix
+++ b/pkgs/development/web/remarkjs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, nodejs, phantomjs2, pkgs }:
+{ stdenv, lib, fetchFromGitHub, nodejs, pkgs }:
 
 with lib;
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-zhHuW4pBqXQEBlSxuyvHKh+ftyIdcqpYgIZZHArUtns=";
   };
 
-  buildInputs = [ nodejs phantomjs2 ] ++ (with nodePackages; [
+  buildInputs = [ nodejs ] ++ (with nodePackages; [
     marked
     browserify
     uglify-js
diff --git a/pkgs/development/web/shopify-cli/default.nix b/pkgs/development/web/shopify-cli/default.nix
index a3ec7ff3f3189..e6f164f2bca2d 100644
--- a/pkgs/development/web/shopify-cli/default.nix
+++ b/pkgs/development/web/shopify-cli/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
     description = "CLI which helps you build against the Shopify platform faster";
     homepage    = "https://github.com/Shopify/shopify-cli";
     license     = licenses.mit;
-    platforms = ruby.meta.platforms;
     maintainers = with maintainers; [ onny ];
+    mainProgram = "shopify";
+    platforms = ruby.meta.platforms;
   };
 }
 
diff --git a/pkgs/games/0verkill/default.nix b/pkgs/games/0verkill/default.nix
index fa654832e2e2c..8f6a5b1230587 100644
--- a/pkgs/games/0verkill/default.nix
+++ b/pkgs/games/0verkill/default.nix
@@ -27,6 +27,9 @@ gccStdenv.mkDerivation rec {
     autoupdate
   '';
 
+  # The code needs an update for gcc-10:
+  #   https://github.com/hackndev/0verkill/issues/7
+  NIX_CFLAGS_COMPILE = "-fcommon";
   hardeningDisable = [ "all" ]; # Someday the upstream will update the code...
 
   meta = with lib; {
diff --git a/pkgs/games/7kaa/default.nix b/pkgs/games/7kaa/default.nix
index 2b74306cd2533..ad128d4e1270e 100644
--- a/pkgs/games/7kaa/default.nix
+++ b/pkgs/games/7kaa/default.nix
@@ -15,17 +15,15 @@
 }:
 
 let
+  pname = "7kaa";
+  version = "2.15.4p1";
 
-  name = "7kaa";
-  versionMajor = "2.15";
-  versionMinor = "4p1";
-
-  music = stdenv.mkDerivation rec {
-    pname = "${name}-music";
-    version = "${versionMajor}";
+  music = stdenv.mkDerivation {
+    pname = "7kaa-music";
+    version = lib.versions.majorMinor version;
 
     src = fetchurl {
-      url = "https://www.7kfans.com/downloads/${name}-music-${versionMajor}.tar.bz2";
+      url = "https://www.7kfans.com/downloads/7kaa-music-${lib.versions.majorMinor version}.tar.bz2";
       sha256 = "sha256-sNdntuJXGaFPXzSpN0SoAi17wkr2YnW+5U38eIaVwcM=";
     };
 
@@ -41,8 +39,7 @@ let
 in
 
 gccStdenv.mkDerivation rec {
-  pname = "${name}";
-  version = "v${versionMajor}.${versionMinor}";
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "the3dfxdude";
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index 7e62f006102f1..aade2aaae9ece 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -1,24 +1,31 @@
-{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg }:
+{ fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd }:
 
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.49";
+  version = "2.1.51";
 
   sources = {
     linux = fetchurl {
-      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux.tar.bz2";
-      sha256 = "sha256-uG39g9CXnquArFsxtFHWWoDaNwu8y2KKh+SqGt8aqi0=";
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
+      sha256 = "sha256-ZKVc+TvkNu5mGgibhRIuoLuIfvyoVDy+c4h+Apz9P+0=";
     };
-    darwin = fetchurl {
-      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac.dmg";
-      sha256 = "sha256-sEVWZQpICL7RYrOuPm1Y5XhzPxCwNk1WGP1rctTtE4Y=";
+
+    # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
+    darwin-x86_64 = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
+      sha256 = "sha256-wZMJEbcpezVAuBSKlwNTHlqjp0FfmyDB7XD6BBuJhyA=";
+    };
+    darwin-aarch64 = fetchurl {
+      url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
+      sha256 = "sha256-6RDTYKoisX5DJ9VPWrP9VH9DCABabb9MB3nG4S8jtR0=";
     };
   };
 
   unpacked = stdenv.mkDerivation {
     inherit pname version;
 
+    nativeBuildInputs = [ zstd ];
     src = sources.linux;
 
     installPhase = ''
@@ -47,6 +54,9 @@ in
 if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
   name = "anki";
 
+  # Dependencies of anki
+  targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile krb5 ]);
+
   runScript = writeShellScript "anki-wrapper.sh" ''
     exec ${unpacked}/bin/anki
   '';
@@ -63,7 +73,7 @@ if stdenv.isLinux then buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // {
 }) else stdenv.mkDerivation {
   inherit pname version passthru;
 
-  src = sources.darwin;
+  src = if stdenv.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
 
   nativeBuildInputs = [ undmg ];
   sourceRoot = ".";
diff --git a/pkgs/games/asc/default.nix b/pkgs/games/asc/default.nix
index 4dc671f5c3c38..a6a1129acad73 100644
--- a/pkgs/games/asc/default.nix
+++ b/pkgs/games/asc/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-paragui" "--disable-paraguitest" ];
 
-  NIX_CFLAGS_COMPILE = "-fpermissive -Wno-error=narrowing"; # I'm too lazy to catch all gcc47-related problems
+  NIX_CFLAGS_COMPILE = "-fpermissive -Wno-error=narrowing -std=c++11"; # I'm too lazy to catch all gcc47-related problems
   hardeningDisable = [ "format" ];
 
   buildInputs = [
diff --git a/pkgs/games/azimuth/default.nix b/pkgs/games/azimuth/default.nix
index dcc67533fac16..301fa231122d3 100644
--- a/pkgs/games/azimuth/default.nix
+++ b/pkgs/games/azimuth/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ which ];
   buildInputs = [ SDL ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=maybe-uninitialized" ];
+
   preConfigure = ''
-    cat Makefile
     substituteInPlace data/azimuth.desktop \
       --replace Exec=azimuth "Exec=$out/bin/azimuth" \
       --replace "Version=%AZ_VERSION_NUMBER" "Version=${version}"
diff --git a/pkgs/games/blightmud/default.nix b/pkgs/games/blightmud/default.nix
index 2e177f169fabc..43feb8b7c2a85 100644
--- a/pkgs/games/blightmud/default.nix
+++ b/pkgs/games/blightmud/default.nix
@@ -75,5 +75,7 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ cpu ];
     platforms = platforms.linux;
+    # See https://github.com/NixOS/nixpkgs/pull/160120
+    broken = withTTS;
   };
 }
diff --git a/pkgs/games/bugdom/default.nix b/pkgs/games/bugdom/default.nix
index c5170c9845cca..fd8935594696f 100644
--- a/pkgs/games/bugdom/default.nix
+++ b/pkgs/games/bugdom/default.nix
@@ -57,10 +57,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A port of Bugdom, a 1999 Macintosh game by Pangea Software, for modern operating systems";
     homepage = "https://github.com/jorio/Bugdom";
-    license = with licenses; [
-      cc-by-sa-40
-    ];
+    license = with licenses; [ cc-by-sa-40 ];
     maintainers = with maintainers; [ lux ];
+    mainProgram = "Bugdom";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/cdogs-sdl/default.nix b/pkgs/games/cdogs-sdl/default.nix
index 2b072a4475239..474fd735f73d0 100644
--- a/pkgs/games/cdogs-sdl/default.nix
+++ b/pkgs/games/cdogs-sdl/default.nix
@@ -26,7 +26,10 @@ stdenv.mkDerivation rec {
     patchShebangs src/proto/nanopb/generator/*
   '';
 
-  cmakeFlags = [ "-DCDOGS_DATA_DIR=${placeholder "out"}/" ];
+  cmakeFlags = [
+    "-DCDOGS_DATA_DIR=${placeholder "out"}/"
+    "-DCMAKE_C_FLAGS=-Wno-error=array-bounds"
+  ];
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/games/crossfire/crossfire-arch.nix b/pkgs/games/crossfire/crossfire-arch.nix
index ff9e0f9dea6d1..c09f474e70c79 100644
--- a/pkgs/games/crossfire/crossfire-arch.nix
+++ b/pkgs/games/crossfire/crossfire-arch.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-arch";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/arch/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   installPhase = ''
diff --git a/pkgs/games/crossfire/crossfire-client.nix b/pkgs/games/crossfire/crossfire-client.nix
index 799ae4ab6ee76..0d335b4f529a6 100644
--- a/pkgs/games/crossfire/crossfire-client.nix
+++ b/pkgs/games/crossfire/crossfire-client.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-client";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/client/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   nativeBuildInputs = [ cmake pkg-config perl vala ];
diff --git a/pkgs/games/crossfire/crossfire-maps.nix b/pkgs/games/crossfire/crossfire-maps.nix
index 0521b038d361d..cb514a90d1699 100644
--- a/pkgs/games/crossfire/crossfire-maps.nix
+++ b/pkgs/games/crossfire/crossfire-maps.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-maps";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/maps/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   installPhase = ''
diff --git a/pkgs/games/crossfire/crossfire-server.nix b/pkgs/games/crossfire/crossfire-server.nix
index 9259e8e52faa0..f99e08a5a46fa 100644
--- a/pkgs/games/crossfire/crossfire-server.nix
+++ b/pkgs/games/crossfire/crossfire-server.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   pname = "crossfire-server";
-  version = "r${toString rev}";
+  version = rev;
 
   src = fetchsvn {
     url = "http://svn.code.sf.net/p/crossfire/code/server/trunk/";
-    sha256 = sha256;
-    rev = rev;
+    inherit sha256;
+    rev = "r${rev}";
   };
 
   nativeBuildInputs = [ autoconf automake libtool flex perl check pkg-config python3 ];
diff --git a/pkgs/games/crossfire/default.nix b/pkgs/games/crossfire/default.nix
index bc74c00bcce4d..7d0716df3d9b9 100644
--- a/pkgs/games/crossfire/default.nix
+++ b/pkgs/games/crossfire/default.nix
@@ -3,26 +3,26 @@
 rec {
   crossfire-client = callPackage ./crossfire-client.nix {
     version = "1.75.0";
-    rev = 21760;
+    rev = "21760";
     sha256 = "0b42sak8hj60nywfswkps777asy9p8r9wsn7pmj2nqbd29ng1p9d";
   };
 
   crossfire-server = callPackage ./crossfire-server.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "04fjif6zv642n2zlw27cgzkak2kknwrxqzg42bvzl7q901bsr9l7";
     maps = crossfire-maps; arch = crossfire-arch;
   };
 
   crossfire-arch = callPackage ./crossfire-arch.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "0l4rp3idvbhknpxxs0w4i4nqfg01wblzm4v4j375xwxxbf00j0ms";
   };
 
   crossfire-maps = callPackage ./crossfire-maps.nix {
     version = "latest";
-    rev = 22111;
+    rev = "22111";
     sha256 = "1dwfc84acjvbjgjakkb8z8pdlksbsn90j0z8z8rq37lqx0kx1sap";
   };
 }
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 8dc902ea0991d..e3673edd4aca9 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.57.tar.xz",
+        "name": "factorio_alpha_x64-1.1.59.tar.xz",
         "needsAuth": true,
-        "sha256": "0sazpljdkknv74dqhrv5gxi7s50bfccynqk7xhsr4awl2gdkys0v",
+        "sha256": "0qwq3mjsmhb119pvbfznpncw898z4zs2if4fd7p6rqfz0wip93qk",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/alpha/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/alpha/linux64",
+        "version": "1.1.59"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.57.tar.xz",
+        "name": "factorio_alpha_x64-1.1.59.tar.xz",
         "needsAuth": true,
-        "sha256": "0sazpljdkknv74dqhrv5gxi7s50bfccynqk7xhsr4awl2gdkys0v",
+        "sha256": "0qwq3mjsmhb119pvbfznpncw898z4zs2if4fd7p6rqfz0wip93qk",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/alpha/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/alpha/linux64",
+        "version": "1.1.59"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.57.tar.xz",
+        "name": "factorio_demo_x64-1.1.59.tar.xz",
         "needsAuth": false,
-        "sha256": "1lwrz0ix7iycampjh87ki8vg3pkk753873vmrfiyrmh3hchvbj34",
+        "sha256": "1nddk8184kgq4ni0y9j2l8sa3szvcbsq9l90b35l9jb6sqflgki0",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/demo/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/demo/linux64",
+        "version": "1.1.59"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.57.tar.xz",
+        "name": "factorio_demo_x64-1.1.59.tar.xz",
         "needsAuth": false,
-        "sha256": "1lwrz0ix7iycampjh87ki8vg3pkk753873vmrfiyrmh3hchvbj34",
+        "sha256": "1nddk8184kgq4ni0y9j2l8sa3szvcbsq9l90b35l9jb6sqflgki0",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/demo/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/demo/linux64",
+        "version": "1.1.59"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.57.tar.xz",
+        "name": "factorio_headless_x64-1.1.59.tar.xz",
         "needsAuth": false,
-        "sha256": "1y65wppfzfpad6g6kvdd8srd9sq71dh1dpqia5b3x6pnwk5xsqdm",
+        "sha256": "1p5wyki6wxnvnp7zqjjw9yggiy0p78rx49wmq3q7kq0mxfz054dg",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/headless/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/headless/linux64",
+        "version": "1.1.59"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.57.tar.xz",
+        "name": "factorio_headless_x64-1.1.59.tar.xz",
         "needsAuth": false,
-        "sha256": "1y65wppfzfpad6g6kvdd8srd9sq71dh1dpqia5b3x6pnwk5xsqdm",
+        "sha256": "1p5wyki6wxnvnp7zqjjw9yggiy0p78rx49wmq3q7kq0mxfz054dg",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.57/headless/linux64",
-        "version": "1.1.57"
+        "url": "https://factorio.com/get-download/1.1.59/headless/linux64",
+        "version": "1.1.59"
       }
     }
   }
diff --git a/pkgs/games/gimx/default.nix b/pkgs/games/gimx/default.nix
index 132169b711d7a..2728afe2c4920 100644
--- a/pkgs/games/gimx/default.nix
+++ b/pkgs/games/gimx/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, makeWrapper, curl, libusb1, xorg, libxml2
-, ncurses5, bluez, libmhash, gimxPDP ? false }:
+, ncurses5, bluez, libmhash, gimxPdpGamepad ? false }:
 
 let
   gimx-config = fetchFromGitHub {
@@ -11,14 +11,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gimx";
-  version = "8.0";
+  version = "unstable-2021-08-31";
 
   src = fetchFromGitHub {
     owner = "matlo";
     repo = "GIMX";
-    rev = "v${version}";
+    rev = "58d2098dce75ed4c90ae649460d3a7a150f4ef0a";
     fetchSubmodules = true;
-    sha256 = "0265gg6q7ymg76fb4pjrfdwjd280b3zzry96qy92w0h411slph85";
+    sha256 = "05kdv2qqr311c2p76hdlgvrq7b04vcpps5c80zn8b8l7p831ilgz";
   };
 
   patches = [ ./conf.patch ];
@@ -28,7 +28,7 @@ in stdenv.mkDerivation rec {
     xorg.libX11 xorg.libXi xorg.libXext
   ];
 
-  postPatch = lib.optionals gimxPDP ''
+  postPatch = lib.optionals gimxPdpGamepad ''
     substituteInPlace ./shared/gimxcontroller/include/x360.h \
       --replace "0x045e" "0x0e6f" --replace "0x028e" "0x0213"
     substituteInPlace ./loader/firmware/EMU360.hex \
@@ -61,10 +61,6 @@ in stdenv.mkDerivation rec {
 
     makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4 \
       --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \
-      --add-flags "-c $out/share/config/Dualshock4.xml"
-
-    makeWrapper $out/bin/gimx $out/bin/gimx-dualshock4-noff \
-      --set GIMXCONF 1 --add-flags "--nograb" --add-flags "-p /dev/ttyUSB0" \
       --add-flags "-c $out/share/custom/Dualshock4.xml"
 
     makeWrapper $out/bin/gimx $out/bin/gimx-xboxonepad \
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index e607fbc71134a..2a1039901f38d 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,9 +1,8 @@
-{ lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
+{ lib, stdenv, fetchFromGitHub, cmake, irrlichtmt, 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, zlib, libXrandr, libX11, ninja, prometheus-cpp
-, OpenGL, OpenAL ? openal, Carbon, Cocoa
-, Kernel
+, OpenGL, OpenAL ? openal, Carbon, Cocoa, withTouchSupport ? false
 }:
 
 with lib;
@@ -11,21 +10,7 @@ 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 ]
-    ++ lib.optionals stdenv.isDarwin [ Cocoa Kernel ];
-    outputs = [ "out" "dev" ];
-    meta = irrlicht.meta;
-  };
+  irrlichtmtInput = irrlichtmt.override { inherit withTouchSupport; };
 
   generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let
     sources = {
@@ -54,7 +39,7 @@ let
       "-DENABLE_GETTEXT=1"
       "-DENABLE_SPATIAL=1"
       "-DENABLE_SYSTEM_JSONCPP=1"
-      "-DIRRLICHT_INCLUDE_DIR=${irrlichtMt.dev}/include/irrlicht"
+      "-DIRRLICHT_INCLUDE_DIR=${irrlichtmtInput.dev}/include/irrlichtmt"
 
       # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
       "-DCMAKE_INSTALL_BINDIR=bin"
@@ -68,6 +53,8 @@ let
       "-DOpenGL_GL_PREFERENCE=GLVND"
     ] ++ optionals buildServer [
       "-DENABLE_PROMETHEUS=1"
+    ] ++ optionals withTouchSupport [
+      "-DENABLE_TOUCH=TRUE"
     ];
 
     NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
@@ -75,7 +62,7 @@ let
     nativeBuildInputs = [ cmake doxygen graphviz ninja ];
 
     buildInputs = [
-      irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
+      irrlichtmtInput luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
       gmp libspatialindex
     ] ++ optionals stdenv.isDarwin [
       libiconv OpenGL OpenAL Carbon Cocoa
diff --git a/pkgs/games/opendungeons/default.nix b/pkgs/games/opendungeons/default.nix
index 734be8e999ae7..9afcbd898785e 100644
--- a/pkgs/games/opendungeons/default.nix
+++ b/pkgs/games/opendungeons/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "0xf7gkpy8ll1h59wyaljf0hr8prg7p4ixz80mxqwcnm9cglpgn63";
   };
 
-  patches = [ ./cmakepaths.patch ];
+  patches = [
+    ./cmakepaths.patch
+    ./fix_link_date_time.patch
+  ];
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ ogre cegui boost sfml openal ois ];
diff --git a/pkgs/games/opendungeons/fix_link_date_time.patch b/pkgs/games/opendungeons/fix_link_date_time.patch
new file mode 100644
index 0000000000000..884aa9901ba7d
--- /dev/null
+++ b/pkgs/games/opendungeons/fix_link_date_time.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f8ff3c2..689c463 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -538,7 +538,7 @@ endif()
+ #This has to cover the versions not already known by CMake
+ set(Boost_ADDITIONAL_VERSIONS 1.47 1.47.0 1.47.1 1.55.0)
+ 
+-set(OD_BOOST_COMPONENTS system filesystem locale program_options thread)
++set(OD_BOOST_COMPONENTS system date_time filesystem locale program_options thread)
+ 
+ if(BUILD_TESTING AND OD_BUILD_TESTING)
+     set(OD_BOOST_COMPONENTS ${OD_BOOST_COMPONENTS} unit_test_framework)
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 8746d3172ac83..389f59f91a6ad 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,6 +1,7 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkg-config
 , wrapQtAppsHook
@@ -55,6 +56,13 @@ mkDerivation rec {
     sha256 = "sha256-Xq9hDUTCQr79Zzjk0CsiXclVTHK6nrSowukIQqVdrKY=";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://gitlab.com/OpenMW/openmw/-/merge_requests/1239.diff";
+      sha256 = "sha256-RhbIGeE6GyqnipisiMTwWjcFnIiR055hUPL8IkjPgZw=";
+    })
+  ];
+
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
 
   buildInputs = [
@@ -83,10 +91,5 @@ mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ abbradar marius851000 ];
     platforms = platforms.linux;
-
-    # 2021-10-13, doesn't compile with glibc-2.34, maintainers prefer a fix on glibc's end.
-    # Can be marked as un-broken as soon as https://gitlab.com/OpenMW/openmw/-/merge_requests/1239
-    # is resolved and a patch is appliable here.
-    broken = true;
   };
 }
diff --git a/pkgs/games/openmw/tes3mp.nix b/pkgs/games/openmw/tes3mp.nix
index b92c31663fc60..0f91a3c0028be 100644
--- a/pkgs/games/openmw/tes3mp.nix
+++ b/pkgs/games/openmw/tes3mp.nix
@@ -87,7 +87,7 @@ let
     '';
 
     # https://github.com/TES3MP/openmw-tes3mp/issues/552
-    patches = [ ./tes3mp.patch ];
+    patches = oldAttrs.patches ++ [ ./tes3mp.patch ];
 
     NIX_CFLAGS_COMPILE = "-fpermissive";
 
@@ -108,6 +108,7 @@ let
       license = licenses.gpl3Only;
       maintainers = with maintainers; [ peterhoeg ];
       platforms = [ "x86_64-linux" "i686-linux" ];
+      broken = true;
     };
   });
 
diff --git a/pkgs/games/opentyrian/default.nix b/pkgs/games/opentyrian/default.nix
index 43c8e08c79f55..5d386bce6db9c 100644
--- a/pkgs/games/opentyrian/default.nix
+++ b/pkgs/games/opentyrian/default.nix
@@ -1,35 +1,43 @@
-{ lib, stdenv, fetchurl, fetchzip, SDL, SDL_net }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchzip
+, SDL2
+, SDL2_net
+, pkg-config
+}:
 
 stdenv.mkDerivation rec {
   pname = "opentyrian";
-  version = "2.1.20130907";
+  version = "2.1.20220318";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/opentyrian/opentyrian/get/${version}.tar.gz";
-    sha256 = "1jnrkq616pc4dhlbd4n30d65vmn25q84w6jfv9383l9q20cqf2ph";
+  src = fetchFromGitHub {
+    owner = "opentyrian";
+    repo = "opentyrian";
+    rev = "v${version}";
+    sha256 = "01z1zxpps4ils0bnwazl9lmqdbfhfd8fkacahnh6kqyczavg40xg";
   };
 
   data = fetchzip {
-    url = "http://sites.google.com/a/camanis.net/opentyrian/tyrian/tyrian21.zip";
+    url = "https://camanis.net/tyrian/tyrian21.zip";
     sha256 = "1biz6hf6s7qrwn8ky0g6p8w7yg715w7yklpn6258bkks1s15hpdb";
   };
 
-  buildInputs = [SDL SDL_net];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ SDL2 SDL2_net ];
 
-  patchPhase = "
-    substituteInPlace src/file.c --replace /usr/share $out/share
-  ";
-  buildPhase = "make release";
-  installPhase = "
-    mkdir -p $out/bin
-    cp ./opentyrian $out/bin
-    mkdir -p $out/share/opentyrian/data
-    cp -r $data/* $out/share/opentyrian/data
-  ";
+  enableParallelBuilding = true;
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  postInstall = ''
+    mkdir -p $out/share/games/tyrian
+    cp -r $data/* $out/share/games/tyrian/
+  '';
 
   meta = {
     description = ''Open source port of the game "Tyrian"'';
-    homepage = "https://bitbucket.org/opentyrian/opentyrian";
+    homepage = "https://github.com/opentyrian/opentyrian";
     # This does not account of Tyrian data.
     # license = lib.licenses.gpl2;
   };
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index bb006abad574c..268090a4e5d67 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -31,11 +31,9 @@ buildDotnetModule rec {
 
   nativeBuildInputs = [ copyDesktopItems ];
 
-  preConfigure = ''
-    dotnetFlags+=(
-      --runtime linux-x64
-    )
-  '';
+  dotnetFlags = [
+    "--runtime linux-x64"
+  ];
 
   runtimeDeps = [
     ffmpeg
diff --git a/pkgs/games/papermc/default.nix b/pkgs/games/papermc/default.nix
index 52bd5c00d4392..7b7d66f6188c1 100644
--- a/pkgs/games/papermc/default.nix
+++ b/pkgs/games/papermc/default.nix
@@ -1,10 +1,10 @@
 { lib, stdenv, fetchurl, bash, jre }:
 let
-  mcVersion = "1.18.1";
-  buildNum = "132";
+  mcVersion = "1.18.2";
+  buildNum = "313";
   jar = fetchurl {
     url = "https://papermc.io/api/v2/projects/paper/versions/${mcVersion}/builds/${buildNum}/downloads/paper-${mcVersion}-${buildNum}.jar";
-    sha256 = "af26babef1e9134804bdf61e14eed7677d603516638f5a2ffe97e176ebd9839b";
+    sha256 = "sha256-wotk0Pu1wKomj83nMCyzzPZ+Y9RkQUbfeWjRGaSt7lE=";
   };
 in stdenv.mkDerivation {
   pname = "papermc";
diff --git a/pkgs/games/polymc/default.nix b/pkgs/games/polymc/default.nix
index 4c5c8f6b7808b..4bb749db59f02 100644
--- a/pkgs/games/polymc/default.nix
+++ b/pkgs/games/polymc/default.nix
@@ -18,13 +18,13 @@
 
 mkDerivation rec {
   pname = "polymc";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "PolyMC";
     repo = "PolyMC";
     rev = version;
-    sha256 = "sha256-pnMmmeIKAaX+z1YzzowotjaG/HKdiqcz2tJ5eGRR77I=";
+    sha256 = "sha256-lxiMz7vuq+BkNVjWWJbPUk68DSe8zVZPcvZ1iXDsfCY=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/games/r2mod_cli/default.nix b/pkgs/games/r2mod_cli/default.nix
index 607a53579c7eb..eb1dd25811aaf 100644
--- a/pkgs/games/r2mod_cli/default.nix
+++ b/pkgs/games/r2mod_cli/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/foldex/r2mod_cli";
     license = licenses.gpl3Only;
     maintainers = [ maintainers.reedrw ];
+    mainProgram = "r2mod";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/games/tcl2048/default.nix b/pkgs/games/tcl2048/default.nix
index b2796225a6c78..b74d3630e0e69 100644
--- a/pkgs/games/tcl2048/default.nix
+++ b/pkgs/games/tcl2048/default.nix
@@ -21,7 +21,8 @@ tcl.mkTclDerivation rec {
     homepage = "https://github.com/dbohdan/2048.tcl";
     description = "The game of 2048 implemented in Tcl";
     license = lib.licenses.mit;
-    platforms = lib.platforms.all;
     maintainers = with lib.maintainers; [ dbohdan ];
+    mainProgram = "2048";
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/games/ue4/default.nix b/pkgs/games/ue4/default.nix
index 95f0d64f19759..0260e4f2e20d4 100644
--- a/pkgs/games/ue4/default.nix
+++ b/pkgs/games/ue4/default.nix
@@ -76,7 +76,8 @@ stdenv.mkDerivation rec {
     homepage = "https://www.unrealengine.com/what-is-unreal-engine-4";
     license = lib.licenses.unfree;
     platforms = lib.platforms.linux;
-    maintainers = [ lib.maintainers.puffnfresh ];
+    maintainers = [ ];
+    # See issue https://github.com/NixOS/nixpkgs/issues/17162
     broken = true;
   };
 }
diff --git a/pkgs/games/xivlauncher/default.nix b/pkgs/games/xivlauncher/default.nix
new file mode 100644
index 0000000000000..3c7d7d3eea984
--- /dev/null
+++ b/pkgs/games/xivlauncher/default.nix
@@ -0,0 +1,73 @@
+{ lib, buildDotnetModule, fetchFromGitHub, dotnetCorePackages, SDL2, libsecret, glib, gnutls, aria2, steam-run
+, copyDesktopItems, makeDesktopItem
+, useSteamRun ? true }:
+
+let
+  rev = "e6412d9b837bfd71bb413b4c6e5fa52c9ce60a57";
+in
+  buildDotnetModule rec {
+    pname = "XIVLauncher";
+    version = "1.0.0.4";
+
+    src = fetchFromGitHub {
+      owner = "goatcorp";
+      repo = "FFXIVQuickLauncher";
+      inherit rev;
+      sha256 = "sha256-seHO/NNJdWhxWRnyjBN7+m1X0JP/qWAMfF86XMhYN/4=";
+    };
+
+    nativeBuildInputs = [ copyDesktopItems ];
+
+    projectFile = "src/XIVLauncher.Core/XIVLauncher.Core.csproj";
+    nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix`
+
+    dotnet-sdk = dotnetCorePackages.sdk_6_0;
+    dotnet-runtime = dotnetCorePackages.runtime_6_0;
+
+    dotnetFlags = [
+      "--runtime linux-x64"
+      "-p:BuildHash=${rev}"
+    ];
+
+    dotnetBuildFlags = [
+      "--no-self-contained"
+    ];
+
+    postPatch = ''
+      substituteInPlace src/XIVLauncher.Common/Game/Patch/Acquisition/Aria/AriaHttpPatchAcquisition.cs \
+        --replace 'ariaPath = "aria2c"' 'ariaPath = "${aria2}/bin/aria2c"'
+    '';
+
+    postInstall = ''
+      mkdir -p $out/share/pixmaps
+      cp src/XIVLauncher.Core/Resources/logo.png $out/share/pixmaps/xivlauncher.png
+    '';
+
+    postFixup = lib.optionalString useSteamRun ''
+      substituteInPlace $out/bin/XIVLauncher.Core \
+        --replace 'exec' 'exec ${steam-run}/bin/steam-run'
+    '';
+
+    executables = [ "XIVLauncher.Core" ];
+
+    runtimeDeps = [ SDL2 libsecret glib gnutls ];
+
+    desktopItems = [
+      (makeDesktopItem {
+        name = "xivlauncher";
+        exec = "XIVLauncher.Core";
+        icon = "xivlauncher";
+        desktopName = "XIVLauncher";
+        comment = meta.description;
+        categories = [ "Game" ];
+      })
+    ];
+
+    meta = with lib; {
+      description = "Custom launcher for FFXIV";
+      homepage = "https://github.com/goatcorp/FFXIVQuickLauncher";
+      license = licenses.gpl3;
+      maintainers = with maintainers; [ ashkitten ];
+      platforms = [ "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/games/xivlauncher/deps.nix b/pkgs/games/xivlauncher/deps.nix
new file mode 100644
index 0000000000000..41f2efdf958f0
--- /dev/null
+++ b/pkgs/games/xivlauncher/deps.nix
@@ -0,0 +1,197 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Castle.Core"; version = "4.4.1"; sha256 = "13dja1jxl5zwhi0ghkgvgmqdrixn57f9hk52jy5vpaaakzr550r7"; })
+  (fetchNuGet { pname = "CheapLoc"; version = "1.1.6"; sha256 = "1m6cgx9yh7h3vrq2d4f99xyvsxc9jvz8zjq1q14qgylfmyq4hx4l"; })
+  (fetchNuGet { pname = "Config.Net"; version = "4.19.0"; sha256 = "17iv0vy0693s6d8626lbz3w1ppn5abn77aaki7h4qi4izysizgim"; })
+  (fetchNuGet { pname = "Downloader"; version = "2.2.8"; sha256 = "0farwh3pc6m8hsgqywigdpcb4gr2m9myyxm2idzjmhhkzfqghj28"; })
+  (fetchNuGet { pname = "Facepunch.Steamworks"; version = "2.3.3"; sha256 = "1r3m7cyzfy8ms9xxfa13xcwha02yk22givkaamw166im89m8wqyc"; })
+  (fetchNuGet { pname = "goaaats.NativeLibraryLoader"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1bjjgsw4ry9cz8dzsgwx428hn06wms194pqz8nclwrqcwfx7gmxk"; })
+  (fetchNuGet { pname = "goaaats.Veldrid"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "0b35bn4190hxbvrwsygpbpg00gnrj6crxyk8b0d7ian611v4jj0m"; })
+  (fetchNuGet { pname = "goaaats.Veldrid.ImageSharp"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1zihi2n9qz18kfkz4qnj3412bfsqvx49809hqkknixdrgn8323i2"; })
+  (fetchNuGet { pname = "goaaats.Veldrid.MetalBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "13cs5jr8bpkrkzziz8b71l3npr14shxryrpsiw0zm7jcx69vg2qf"; })
+  (fetchNuGet { pname = "goaaats.Veldrid.OpenGLBindings"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "1p7gv2234r3f1pskcr1ah7p3ak6zn1rrmvxy5xqc9d5y4zdrnzlb"; })
+  (fetchNuGet { pname = "goaaats.Veldrid.SDL2"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "14xj3z0yc25vq17bvv2193cbqxj7k9iimxbaqk2rpvlpmrbg20xi"; })
+  (fetchNuGet { pname = "goaaats.Veldrid.StartupUtilities"; version = "4.9.0-beta1-g70f642e82e"; sha256 = "03r3x9h0fyb07d6d28ny6r5s688m50xc0lgc6zf2cy684kfnvmp5"; })
+  (fetchNuGet { pname = "ImGui.NET"; version = "1.87.2"; sha256 = "0rv0n18fvz1gbh45crhzn1f8xw8zkc8qyiyj91vajjcry8mq1x7q"; })
+  (fetchNuGet { pname = "KeySharp"; version = "1.0.4"; sha256 = "1xkgrsm0h4ycbc7qnj0dzknx0rqlx3168vrdrdgsi30xki02z323"; })
+  (fetchNuGet { pname = "Microsoft.AspNetCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1fvv5ri32pbl43628zqnim6fbv6hjxf66p0v793xdh57dzkdyh0j"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Analyzers"; version = "3.3.3"; sha256 = "09m4cpry8ivm9ga1abrxmvw16sslxhy2k5sl14zckhqb1j164im6"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.BannedApiAnalyzers"; version = "3.3.3"; sha256 = "1z6x0d8lpcfjr3sxy25493i17vvcg5bsay6c03qan6mnj5aqzw2k"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.Common"; version = "4.0.1"; sha256 = "0axjv1nhk1z9d4c51d9yxdp09l8yqqnqaifhqcwnxnv0r4y5cka9"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.CSharp"; version = "4.0.1"; sha256 = "1h6jfifg7pw2vacpdds4v4jqnaydg9b108irf315wzx6rh8yv9cb"; })
+  (fetchNuGet { pname = "Microsoft.CodeAnalysis.NetAnalyzers"; version = "6.0.0"; sha256 = "06zy947m5lrbwb684g42ijb07r5jsqycvfnphc6cqfdrfnzqv6k9"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.App.Runtime.linux-x64"; version = "6.0.4"; sha256 = "1gibwhplbanv6bz3l71w8vhzlgqsh21bms30dbf1n60v7p02fl3h"; })
+  (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.Targets"; version = "1.0.1"; sha256 = "0ppdkwy6s9p7x9jix3v4402wb171cdiibq7js7i13nxpdky7074p"; })
+  (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.Win32.Registry"; version = "6.0.0-preview.5.21301.5"; sha256 = "02712s86n2i8s5j6vxdayqwcc7r538yw3frhf1gfrc6ah6hvqnzc"; })
+  (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "6.0.0"; sha256 = "0c6pcj088g1yd1vs529q3ybgsd2vjlk5y1ic6dkmbhvrp5jibl9p"; })
+  (fetchNuGet { pname = "Mono.Cecil"; version = "0.9.6.1"; sha256 = "1fr7969h5q611l5227xw6nvv5rzap76vbpk0wg9hxbcxk3hn7szf"; })
+  (fetchNuGet { pname = "Mono.Nat"; version = "3.0.1"; sha256 = "1xy3c9wsiz8k3rx8v60y6gnps337rsb5jpyj0r6g384prg6z4vh0"; })
+  (fetchNuGet { pname = "MonoTorrent"; version = "2.0.0"; sha256 = "016cbjsy1gp60g6w0mdya11ky3lfr3scg20k1p7lglbnzv7ixycq"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "2.0.3"; sha256 = "1fn9fxppfcg4jgypp2pmrpr6awl3qz1xmnri0cygpkwvyx27df1y"; })
+  (fetchNuGet { pname = "Newtonsoft.Json"; version = "12.0.2"; sha256 = "0w2fbji1smd2y7x25qqibf1qrznmv4s6s0jvrbvr6alb7mfyqvh5"; })
+  (fetchNuGet { pname = "ReusableTasks"; version = "2.0.0"; sha256 = "0qag69n8kx164minz3h50g6f7cdq15r89vikcd1llbkdwq4qldaa"; })
+  (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 = "Serilog"; version = "2.10.0"; sha256 = "08bih205i632ywryn3zxkhb15dwgyaxbhmm1z3b5nmby9fb25k7v"; })
+  (fetchNuGet { pname = "Serilog"; version = "2.9.0"; sha256 = "0z0ib82w9b229a728bbyhzc2hnlbl0ki7nnvmgnv3l741f2vr4i6"; })
+  (fetchNuGet { pname = "Serilog.Enrichers.Thread"; version = "3.1.0"; sha256 = "1y75aiv2k1sxnh012ixkx92fq1yl8srqggy8l439igg4p223hcqi"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Async"; version = "1.4.0"; sha256 = "00kqrn3xmfzg469y155vihsiby8dbbs382fi6qg8p2zg3i5dih1d"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "3.1.1"; sha256 = "0j99as641y1k6havwwkhyr0n08vibiblmfjj6nz051mz8g3864fn"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Console"; version = "4.0.1"; sha256 = "080vh9kcyn9lx4j7p34146kp9byvhqlaz5jn9wzx70ql9cwd0hlz"; })
+  (fetchNuGet { pname = "Serilog.Sinks.Debug"; version = "1.0.1"; sha256 = "0969mb254kr59bgkq01ybyzca89z3f4n9ng5mdj8m53d5653zf22"; })
+  (fetchNuGet { pname = "Serilog.Sinks.File"; version = "4.1.0"; sha256 = "1ry7p9hf1zlnai1j5zjhjp4dqm2agsbpq6cvxgpf5l8m26x6mgca"; })
+  (fetchNuGet { pname = "Serilog.Sinks.File"; version = "5.0.0"; sha256 = "097rngmgcrdfy7jy8j7dq3xaq2qky8ijwg0ws6bfv5lx0f3vvb0q"; })
+  (fetchNuGet { pname = "SharedMemory"; version = "2.3.2"; sha256 = "078qaab0j8p2fjcc9n7r4sr5pr7567a9bspfiikkc85bsx7vfm8w"; })
+  (fetchNuGet { pname = "SharpGen.Runtime"; version = "2.0.0-beta.10"; sha256 = "0yxq0b4m96z71afc7sywfrlwz2pgr5nilacmssjk803v70f0ydr1"; })
+  (fetchNuGet { pname = "SharpGen.Runtime.COM"; version = "2.0.0-beta.10"; sha256 = "1qvpphja72x9r3yi96bnmwwy30b1n155v2yy2gzlxjil6qg3xjmb"; })
+  (fetchNuGet { pname = "SixLabors.ImageSharp"; version = "1.0.4"; sha256 = "0fmgn414my76gjgp89qlc210a0lqvnvkvk2fcwnpwxdhqpfvyilr"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (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.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections.Immutable"; version = "5.0.0"; sha256 = "1kvcllagxz2q92g81zkz81djkn2lid25ayjfgjalncyc68i15p0r"; })
+  (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.Configuration.ConfigurationManager"; version = "6.0.0"; sha256 = "0sqapr697jbb4ljkq46msg0xx1qpmc31ivva6llyz2wzq3mpmxbw"; })
+  (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.TraceSource"; version = "4.3.0"; sha256 = "1kyw4d7dpjczhw6634nrmg7yyyzq72k75x38y0l0nwhigdlp1766"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Drawing.Common"; version = "6.0.0"; sha256 = "02n8rzm58dac2np8b3xw8ychbvylja4nh6938l5k2fhyn40imlgz"; })
+  (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; })
+  (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.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Memory"; version = "4.5.4"; sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; })
+  (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.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.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Private.Uri"; version = "4.3.0"; sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.7.0"; sha256 = "0l8jpxhpgjlf1nkz5lvp61r4kfdbhr29qi8aapcxn3izd9wd0j8r"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.7.0"; sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Metadata"; version = "5.0.0"; sha256 = "17qsl5nanlqk9iz0l5wijdn6ka632fs1m1fvx18dfgswm258r3ss"; })
+  (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.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.4.0"; sha256 = "0a6ahgi5b148sl5qyfpyw383p3cb4yrkm802k29fsi4mxkiwir29"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.0"; sha256 = "17labczwqk3jng3kkky73m0jhi8wc21vbl7cz5c0hj2p1dswin43"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0"; sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc"; })
+  (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.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.Security.AccessControl"; version = "6.0.0"; sha256 = "0a678bzj8yxxiffyzy60z2w1nczzpi8v97igr4ip3byd2q89dv58"; })
+  (fetchNuGet { pname = "System.Security.AccessControl"; version = "6.0.0-preview.5.21301.5"; sha256 = "131f3z3ikv3n8442chr11nj4x46amq00mb53pb2ds42dabldkdgy"; })
+  (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.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; })
+  (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 = "6.0.0-preview.5.21301.5"; sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; })
+  (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.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.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (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.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.5.4"; sha256 = "0y6ncasgfcgnjrhynaf0lwpkpkmv4a07sswwkwbwb5h7riisj153"; })
+  (fetchNuGet { pname = "System.Threading.ThreadPool"; version = "4.3.0"; sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.0.1"; sha256 = "15n54f1f8nn3mjcjrlzdg6q3520571y012mx7v991x2fvp73lmg6"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.Windows.Extensions"; version = "6.0.0"; sha256 = "1wy9pq9vn1bqg5qnv53iqrbx04yzdmjw4x5yyi09y3459vaa1sip"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+  (fetchNuGet { pname = "System.Xml.XmlDocument"; version = "4.3.0"; sha256 = "0bmz1l06dihx52jxjr22dyv5mxv6pj4852lx68grjm7bivhrbfwi"; })
+  (fetchNuGet { pname = "Vk"; version = "1.0.25"; sha256 = "18kx3g088215803yznnmf6621wgwvgakj8hlmrb726b7zwb3x53l"; })
+  (fetchNuGet { pname = "Vortice.D3DCompiler"; version = "2.1.0"; sha256 = "1ikw4k40m1vhl6q3v4lacbvmz09prqkk8zz0dms49hxjrpi0gfdh"; })
+  (fetchNuGet { pname = "Vortice.Direct3D11"; version = "2.1.0"; sha256 = "05hzmkk32agbk2617yhv3wm1zjkv25w57395an4vkp14rvsz82vf"; })
+  (fetchNuGet { pname = "Vortice.DirectX"; version = "2.1.0"; sha256 = "0mv3p7rs2p9rh4vylz24gmiqj0q63rmfa7mjvsqk1j1zlrkyyhlk"; })
+  (fetchNuGet { pname = "Vortice.DXGI"; version = "2.1.0"; sha256 = "1d7rmqf7q287w3l7clfvp66kd0giy4n6087n9r8jj0w5r65416ls"; })
+  (fetchNuGet { pname = "Vortice.Mathematics"; version = "1.3.24"; sha256 = "1fqni3lhaxddpdz060zbjjhkn5fgg7458ajxfrj3df3wjbld3bc3"; })
+]
diff --git a/pkgs/misc/apulse/pressureaudio.nix b/pkgs/misc/apulse/pressureaudio.nix
index def25474147b8..638334f44a5d1 100644
--- a/pkgs/misc/apulse/pressureaudio.nix
+++ b/pkgs/misc/apulse/pressureaudio.nix
@@ -1,4 +1,4 @@
-{ stdenv, apulse, libpulseaudio, pkg-config, intltool, autoreconfHook }:
+{ stdenv, apulse, libpulseaudio, pkg-config, intltool }:
 
 stdenv.mkDerivation {
   pname = "libpressureaudio";
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   src = libpulseaudio.src;
 
-  nativeBuildInputs = [ pkg-config intltool autoreconfHook ];
+  nativeBuildInputs = [ pkg-config intltool ];
 
   dontConfigure = true;
   dontBuild = true;
diff --git a/pkgs/misc/cliscord/default.nix b/pkgs/misc/cliscord/default.nix
index 485a6c0504179..8ce0da14ce4df 100644
--- a/pkgs/misc/cliscord/default.nix
+++ b/pkgs/misc/cliscord/default.nix
@@ -1,4 +1,4 @@
-{ lib, rustPlatform, openssl, pkg-config, fetchFromGitHub }:
+{ lib, stdenv, rustPlatform, openssl, pkg-config, fetchFromGitHub, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cliscord";
@@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256-hzZozgOkw8kFppuHiX9TQxHhxKRv8utWWbhEOIzKDLo=";
   };
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix b/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
deleted file mode 100644
index 92f5fdc409c46..0000000000000
--- a/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-# Tested on linux-x86_64.  Might work on linux-i386.  Probably won't work on anything else.
-
-# To use this driver in NixOS, add it to printing.drivers in configuration.nix.
-# configuration.nix might look like this when you're done:
-# { pkgs, ... }: {
-#   printing = {
-#     enable = true;
-#     drivers = [ pkgs.samsungUnifiedLinuxDriver ];
-#   };
-#   (more stuff)
-# }
-# (This advice was tested on 2010 August 2.)
-
-{ lib, stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf }:
-
-# Do not bump lightly! Visit <http://www.bchemnet.com/suldr/supported.html>
-# to see what will break when upgrading. Consider a new versioned attribute.
-let
-  cups' = lib.getLib cups;
-in stdenv.mkDerivation rec {
-  pname = "samsung-UnifiedLinuxDriver";
-  version = "4.00.39";
-
-  src = fetchurl {
-    url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
-    sha256 = "144b4xggbzjfq7ga5nza7nra2cf6qn63z5ls7ba1jybkx1vm369k";
-  };
-
-  nativeBuildInputs = [ patchelf ];
-  buildInputs = [ cups' gcc ghostscript glibc ];
-
-  inherit gcc ghostscript glibc;
-  cups = cups';
-
-  builder = ./builder.sh;
-
-  meta = with lib; {
-    description = "Samsung's Linux printing drivers; includes binaries without source code";
-    homepage = "http://www.samsung.com/";
-    license = licenses.unfree;
-    platforms = platforms.linux;
-    broken = true;   # libscmssc.so and libmfp.so can't find their library dependencies at run-time
-  };
-}
diff --git a/pkgs/misc/drivers/foomatic-filters/default.nix b/pkgs/misc/drivers/foomatic-filters/default.nix
index 5804eb60930da..b1095768691da 100644
--- a/pkgs/misc/drivers/foomatic-filters/default.nix
+++ b/pkgs/misc/drivers/foomatic-filters/default.nix
@@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
       substituteInPlace foomaticrip.c --replace /bin/bash ${stdenv.shell}
     '';
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: foomatic_rip-options.o:/build/foomatic-filters-4.0.17/options.c:49: multiple definition of
+  #     `cupsfilter'; foomatic_rip-foomaticrip.o:/build/foomatic-filters-4.0.17/foomaticrip.c:158: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   installTargets = [ "install-cups" ];
 
   installFlags = [
diff --git a/pkgs/misc/drivers/sc-controller/default.nix b/pkgs/misc/drivers/sc-controller/default.nix
index ab6817a99453c..fb10f4b56e266 100644
--- a/pkgs/misc/drivers/sc-controller/default.nix
+++ b/pkgs/misc/drivers/sc-controller/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonApplication rec {
   pname = "sc-controller";
-  version = "0.4.8.6";
+  version = "0.4.8.7";
 
   src = fetchFromGitHub {
     owner  = "Ryochan7";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "1fgizgzm79zl9r2kkwvh1gf9lnxaix15283xxk6bz843inr8b88k";
+    sha256 = "03514sb1spaxdr7x1gq7b54z74in4kd060adj6sq1xjj6d9b297i";
   };
 
   # see https://github.com/NixOS/nixpkgs/issues/56943
diff --git a/pkgs/misc/drivers/xow/default.nix b/pkgs/misc/drivers/xow/default.nix
index b095d61d9876a..c084b45d151c3 100644
--- a/pkgs/misc/drivers/xow/default.nix
+++ b/pkgs/misc/drivers/xow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xow";
-  version = "0.5";
+  version = "unstable-2022-04-24";
 
   src = fetchFromGitHub {
     owner = "medusalix";
     repo = "xow";
-    rev = "v${version}";
-    sha256 = "071r2kx44k1sc49cad3i607xg618mf34ki1ykr5lnfx9y6qyz075";
+    rev = "d335d6024f8380f52767a7de67727d9b2f867871";
+    sha256 = "0q5nr21p4dlx2a99hiivwz6qj9anrqqsdhiz6xi375yqkxis4251";
   };
 
   firmware = fetchurl {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "BUILD=RELEASE"
-    "VERSION=${version}"
+    "VERSION=${version}-${src.rev}"
     "BINDIR=${placeholder "out"}/bin"
     "UDEVDIR=${placeholder "out"}/lib/udev/rules.d"
     "MODLDIR=${placeholder "out"}/lib/modules-load.d"
diff --git a/pkgs/misc/flashfocus/default.nix b/pkgs/misc/flashfocus/default.nix
index fd93260a4bca6..b74464de4f680 100644
--- a/pkgs/misc/flashfocus/default.nix
+++ b/pkgs/misc/flashfocus/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3 }:
+{ lib, python3, netcat-openbsd }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "flashfocus";
@@ -12,6 +12,9 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "pyyaml>=5.1,<6.0" "pyyaml>=5.1"
+
+    substituteInPlace bin/nc_flash_window \
+      --replace "nc" "${lib.getExe netcat-openbsd}"
   '';
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/misc/ghostscript/default.nix b/pkgs/misc/ghostscript/default.nix
index 327cf2862346c..28344c3fc5a3e 100644
--- a/pkgs/misc/ghostscript/default.nix
+++ b/pkgs/misc/ghostscript/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, lib, fetchurl, pkg-config, zlib, expat, openssl, autoconf
 , libjpeg, libpng, libtiff, freetype, fontconfig, libpaper, jbig2dec
-, libiconv, ijs, lcms2, fetchpatch, callPackage, bash, buildPackages
+, libiconv, ijs, lcms2, callPackage, bash, buildPackages, openjpeg
 , cupsSupport ? config.ghostscript.cups or (!stdenv.isDarwin), cups
 , x11Support ? cupsSupport, xlibsWrapper # with CUPS, X11 only adds very little
 }:
@@ -30,19 +30,14 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ghostscript${lib.optionalString (x11Support) "-with-X"}";
-  version = "9.55.0";
+  version = "9.56.1";
 
   src = fetchurl {
     url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9${lib.versions.minor version}${lib.versions.patch version}/ghostscript-${version}.tar.xz";
-    sha512 = "27g72152mlwlalg232jxdhaf3ykgmqwi2pccbkwfygql1h9iz40plfbwbs1n0fkvm4zwzg5r9cr8g7w2dxih4jldiidv7rflxdy1is2";
+    sha512 = "22ysgdprh960rxmxyk2fy2my47cdrhfhbrwar1955hvad54iw79l916drp92wh3qzbxw6z40i70wk00vz8bn2ryig7qgpc1q01m2npy";
   };
 
   patches = [
-    (fetchpatch {
-      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
   ];
@@ -61,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     zlib expat openssl
     libjpeg libpng libtiff freetype fontconfig libpaper jbig2dec
-    libiconv ijs lcms2 bash
+    libiconv ijs lcms2 bash openjpeg
   ]
   ++ lib.optional x11Support xlibsWrapper
   ++ lib.optional cupsSupport cups
@@ -72,8 +67,7 @@ stdenv.mkDerivation rec {
     export CCAUX=$CC_FOR_BUILD
     ${lib.optionalString cupsSupport ''export CUPSCONFIG="${cups.dev}/bin/cups-config"''}
 
-    # requires in-tree (heavily patched) openjpeg
-    rm -rf jpeg libpng zlib jasper expat tiff lcms2mt jbig2dec freetype cups/libs ijs
+    rm -rf jpeg libpng zlib jasper expat tiff lcms2mt jbig2dec freetype cups/libs ijs openjpeg
 
     sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
     sed "s@^ZLIBDIR=.*@ZLIBDIR=${zlib.dev}/include@" -i configure.ac
diff --git a/pkgs/misc/openrussian-cli/default.nix b/pkgs/misc/openrussian-cli/default.nix
index e7b3d1c496d4c..e6e089e886129 100644
--- a/pkgs/misc/openrussian-cli/default.nix
+++ b/pkgs/misc/openrussian-cli/default.nix
@@ -49,10 +49,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage    = "https://github.com/rhaberkorn/openrussian-cli";
     description = "Offline Console Russian Dictionary (based on openrussian.org)";
+    homepage    = "https://github.com/rhaberkorn/openrussian-cli";
     license     = with licenses; [ gpl3Only mit cc-by-sa-40 ];
     maintainers = with maintainers; [ zane ];
+    mainProgram = "openrussian";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/misc/platformsh/default.nix b/pkgs/misc/platformsh/default.nix
index 176fdeb388e89..64b9168fee481 100644
--- a/pkgs/misc/platformsh/default.nix
+++ b/pkgs/misc/platformsh/default.nix
@@ -2,14 +2,14 @@
 
 let
   pname = "platformsh";
-  version = "3.79.0";
+  version = "3.79.2";
 in
 stdenv.mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/platformsh/platformsh-cli/releases/download/v${version}/platform.phar";
-    sha256 = "sha256-gTh1VS/b+D8E67w6Q4u9h0EhpFZiA2gBGe4mo49+9KY=";
+    sha256 = "sha256-STGMKWgI4C6ccg8DGUhdnEENOB2//gtpU0ljM4cQCXI=";
   };
 
   dontUnpack = true;
@@ -42,9 +42,10 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "The unified tool for managing your Platform.sh services from the command line.";
-    license = licenses.mit;
     homepage = "https://github.com/platformsh/platformsh-cli";
+    license = licenses.mit;
     maintainers = with maintainers; [ shyim ];
+    mainProgram = "platform";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/misc/rich-cli/default.nix b/pkgs/misc/rich-cli/default.nix
index e2970bd30bae4..17ea9ffee6e53 100644
--- a/pkgs/misc/rich-cli/default.nix
+++ b/pkgs/misc/rich-cli/default.nix
@@ -1,17 +1,20 @@
-{ lib, python3 }:
+{ lib
+, python3
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "rich-cli";
-  version = "1.5.1";
+  version = "1.7.0";
+  format = "pyproject";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "18qpdaw4drkwq71xikngwaarkjxhfc0nrb1zm36rw31b8dz0ij2k";
+    sha256 = "sha256-fporylec9H+9G2v8D0O32ek7OQs3YRSma1xOpakClqk=";
   };
 
-  format = "pyproject";
-
-  nativeBuildInputs = [ python3.pkgs.poetry-core ];
+  nativeBuildInputs = with python3.pkgs; [
+    poetry-core
+  ];
 
   propagatedBuildInputs = with python3.pkgs; [
     rich
@@ -21,11 +24,18 @@ python3.pkgs.buildPythonApplication rec {
     rich-rst
   ];
 
-  buildInputs = [ python3 ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'rich = "^12.3.0"' 'rich = "*"'
+  '';
+
+  pythonImportsCheck = [
+    "rich_cli"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/Textualize/rich-cli";
     description = "Command Line Interface to Rich";
+    homepage = "https://github.com/Textualize/rich-cli";
     license = licenses.mit;
     maintainers = with maintainers; [ jyooru ];
   };
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 9962601875067..bbabd02f4751d 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -22,10 +22,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/pipeseroni/pipes.sh";
     description = "Animated pipes terminal screensaver";
+    homepage = "https://github.com/pipeseroni/pipes.sh";
     license = licenses.mit;
     maintainers = [ maintainers.matthiasbeyer ];
+    mainProgram = "pipes.sh";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index d6e5e8a7bcb0a..fc874e3d3a8e7 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -362,6 +362,13 @@ in {
 
   ubootQemuRiscv64Smode = buildUBoot {
     defconfig = "qemu-riscv64_smode_defconfig";
+    extraPatches = [
+      # https://patchwork.ozlabs.org/project/uboot/patch/20220128134713.2322800-1-alexandre.ghiti@canonical.com/
+      (fetchpatch {
+        url = "https://patchwork.ozlabs.org/series/283391/mbox/";
+        sha256 = "sha256-V0jDpx6O4bFzuaOQejdrRnLiWb5LBTx47T0TZqNtMXk=";
+      })
+    ];
     extraMeta.platforms = ["riscv64-linux"];
     filesToInstall = ["u-boot.bin"];
   };
diff --git a/pkgs/os-specific/darwin/goku/default.nix b/pkgs/os-specific/darwin/goku/default.nix
index c729ee6010c51..af70aaccc4646 100644
--- a/pkgs/os-specific/darwin/goku/default.nix
+++ b/pkgs/os-specific/darwin/goku/default.nix
@@ -1,14 +1,22 @@
-{lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+, unzip
+}:
 
 stdenv.mkDerivation rec {
   pname = "goku";
-  version = "0.3.6";
+  version = "0.5.2";
 
   src = fetchurl {
-    url = "https://github.com/yqrashawn/GokuRakuJoudo/releases/download/v${version}/goku.tar.gz";
-    sha256 = "1pss1k2slbqzpfynik50pdk4jsaiag4abhmr6kadmaaj18mfz7ai";
+    url = "https://github.com/yqrashawn/GokuRakuJoudo/releases/download/v${version}/goku.zip";
+    sha256 = "506eccdabedc68c112778b13ded65099327267c2e3fd488916e3a340bc312954";
   };
 
+  nativeBuildInputs = [
+    unzip
+  ];
+
   sourceRoot = ".";
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix
deleted file mode 100644
index 553712d21a7fe..0000000000000
--- a/pkgs/os-specific/linux/anbox/kmod.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ lib, stdenv, kernel, fetchFromGitHub }:
-
-stdenv.mkDerivation {
-  pname = "anbox-modules";
-  version = "2020-06-14-${kernel.version}";
-
-  src = fetchFromGitHub {
-    owner = "anbox";
-    repo = "anbox-modules";
-    rev = "98f0f3b3b1eeb5a6954ca15ec43e150b76369086";
-    sha256 = "sha256-6xDJQ4YItdbYqle/9VNfOc7D80yFGd9cFyF+CuABaF0=";
-  };
-
-  nativeBuildInputs = kernel.moduleBuildDependencies;
-
-  KERNEL_SRC="${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
-
-  buildPhase = ''
-    for d in ashmem binder;do
-      cd $d
-      make
-      cd -
-    done
-  '';
-
-  installPhase = ''
-    modDir=$out/lib/modules/${kernel.modDirVersion}/kernel/updates/
-    mkdir -p $modDir
-    for d in ashmem binder;do
-      mv $d/$d*.ko $modDir/.
-    done
-  '';
-
-  meta = with lib; {
-    description = "Anbox ashmem and binder drivers.";
-    homepage = "https://github.com/anbox/anbox-modules";
-    license = licenses.gpl2Only;
-    platforms = platforms.linux;
-    broken = kernel.kernelAtLeast "5.5";
-    maintainers = with maintainers; [ edwtjo ];
-  };
-}
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 1f6fb31d93db7..1d93174ec65de 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , alsa-lib
 , dbus
 , ell
@@ -49,6 +50,17 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ] ++ lib.optional doCheck "test";
 
+  patches = [
+    # https://github.com/bluez/bluez/commit/0905a06410d4a5189f0be81e25eb3c3e8a2199c5
+    # which fixes https://github.com/bluez/bluez/issues/329
+    # and is already merged upstream and not yet in a release.
+    (fetchpatch {
+      name = "StateDirectory_and_ConfigurationDirectory.patch";
+      url = "https://github.com/bluez/bluez/commit/0905a06410d4a5189f0be81e25eb3c3e8a2199c5.patch";
+      sha256 = "sha256-MI6yPTiDLHsSTjLvNqtWnuy2xUMYpSat1WhMbeoedSM=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace tools/hid2hci.rules \
       --replace /sbin/udevadm ${systemd}/bin/udevadm \
diff --git a/pkgs/os-specific/linux/bolt/default.nix b/pkgs/os-specific/linux/bolt/default.nix
index dd9436d9b0ea5..d424f89fdfb39 100644
--- a/pkgs/os-specific/linux/bolt/default.nix
+++ b/pkgs/os-specific/linux/bolt/default.nix
@@ -13,7 +13,7 @@
 , libxml2
 , libxslt
 , docbook_xml_dtd_45
-, docbook_xsl
+, docbook-xsl-nons
 , glib
 , systemd
 , polkit
@@ -21,39 +21,33 @@
 
 stdenv.mkDerivation rec {
   pname = "bolt";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "bolt";
     repo = "bolt";
     rev = version;
-    sha256 = "1phgp8fs0dlj74kbkqlvfniwc32daz47b3pvsxlfxqzyrp77xrfm";
+    sha256 = "eXjj7oD5HOW/AG2uxDa0tSleKmbouFd2fwlL2HHFiMA=";
   };
 
   patches = [
     # meson install tries to create /var/lib/boltd
     ./0001-skip-mkdir.patch
 
-    # https://github.com/NixOS/nixpkgs/issues/104429
+    # Test does not work on ZFS with atime disabled.
     # Upstream issue: https://gitlab.freedesktop.org/bolt/bolt/-/issues/167
     (fetchpatch {
-      name = "disable-atime-tests.diff";
-      url = "https://gitlab.freedesktop.org/roberth/bolt/-/commit/1f672a7de2ebc4dd51590bb90f3b873a8ac0f4e6.diff";
-      sha256 = "134f5s6kjqs6612pwq5pm1miy58crn1kxbyyqhzjnzmf9m57fnc8";
-    })
-
-    # Fix tests with newer umockdev
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/130e09d1c7ff02c09e4ad1c9c36e9940b68e58d8.patch";
-      sha256 = "HycuM7z4VvtBuZZLU68tBxGT1YjaqJRS4sKyoTGHZEk=";
+      url = "https://gitlab.freedesktop.org/bolt/bolt/-/commit/c2f1d5c40ad71b20507e02faa11037b395fac2f8.diff";
+      revert = true;
+      sha256 = "6w7ll65W/CydrWAVi/qgzhrQeDv1PWWShulLxoglF+I=";
     })
   ];
 
   nativeBuildInputs = [
     asciidoc
     docbook_xml_dtd_45
-    docbook_xsl
+    docbook-xsl-nons
     libxml2
     libxslt
     meson
diff --git a/pkgs/os-specific/linux/directvnc/default.nix b/pkgs/os-specific/linux/directvnc/default.nix
index d20b69775bfd6..78ccb67725713 100644
--- a/pkgs/os-specific/linux/directvnc/default.nix
+++ b/pkgs/os-specific/linux/directvnc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, directfb, zlib, libjpeg, xorgproto }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, directfb, zlib, libjpeg, xorgproto }:
 
 stdenv.mkDerivation {
   pname = "directvnc";
@@ -11,6 +11,17 @@ stdenv.mkDerivation {
     sha256 = "16x7mr7x728qw7nbi6rqhrwsy73zsbpiz8pbgfzfl2aqhfdiz88b";
   };
 
+  patches = [
+    # Pull fix pending upstream inclusion for -fno-common toolchain
+    # support:
+    #   https://github.com/drinkmilk/directvnc/pull/7
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/drinkmilk/directvnc/commit/e9c23d049bcf31d0097348d44391fe5fd9aad12b.patch";
+      sha256 = "1dnzr0dnx20w80r73j4a9n6mhbazjzlr5ps9xjj898924cg140zx";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ directfb zlib libjpeg xorgproto ];
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 1e4f50e42df38..2f06401d49aff 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -9,14 +9,14 @@
 
 let
   mod = kernel != null;
-  dpdkVersion = "21.11";
+  dpdkVersion = "22.03";
 in stdenv.mkDerivation rec {
   pname = "dpdk";
   version = "${dpdkVersion}" + lib.optionalString mod "-${kernel.version}";
 
   src = fetchurl {
     url = "https://fast.dpdk.org/rel/dpdk-${dpdkVersion}.tar.xz";
-    sha256 = "sha256-Mkbj7WjuKzaaXYviwGzxCKZp4Vf01Bxby7sha/Wr06E=";
+    sha256 = "sha256-st5fCLzVcz+Q1NfmwDJRWQja2PyNJnrGolNELZuDp8U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/dropwatch/default.nix b/pkgs/os-specific/linux/dropwatch/default.nix
index c2701c057193e..470b590187044 100644
--- a/pkgs/os-specific/linux/dropwatch/default.nix
+++ b/pkgs/os-specific/linux/dropwatch/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dropwatch";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0axx0zzrs7apqnl0r70jyvmgk7cs5wk185id479mapgngibwkyxy";
+    sha256 = "sha256-TbhgcX5WzuigP5/Mj5JuK7O/UKcu70D7dcOcvo4fxeQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix
index 9f2f8682078d7..b8128c83c0c69 100644
--- a/pkgs/os-specific/linux/ena/default.nix
+++ b/pkgs/os-specific/linux/ena/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, kernel }:
 
 stdenv.mkDerivation rec {
-  version = "2.5.0";
+  version = "2.7.1";
   name = "ena-${version}-${kernel.version}";
 
   src = fetchFromGitHub {
     owner = "amzn";
     repo = "amzn-drivers";
     rev = "ena_linux_${version}";
-    sha256 = "sha256-uOf/1624UtjaZtrk7XyQpeUGdTNVDnzZJZMgU86i+SM=";
+    sha256 = "sha256-JkGzmmsAmLvL9e+bg58H79GNHgsqydK/79VoWEq5/Mc=";
   };
 
   hardeningDisable = [ "pic" ];
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Only;
     maintainers = [ maintainers.eelco ];
     platforms = platforms.linux;
-    broken = kernel.kernelAtLeast "5.15";
+    broken = kernel.kernelAtLeast "5.17";
   };
 }
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 721a49ed4a56b..3c6207890e236 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evdi";
-  version = "1.10.0";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "DisplayLink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vMcmUWdnO9JmImxz4vO3/UONlsrCGc8VH/o38YwCIzg=";
+    sha256 = "sha256-XABpC2g4/e6/2HsHzrBUs6OW1lzgGBYlFAatVcA/vD8=";
   };
 
   NIX_CFLAGS_COMPILE = "-Wno-error -Wno-error=sign-compare";
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index c3dc819b5bcff..bbb3a1daab698 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -37,9 +37,22 @@ stdenv.mkDerivation rec {
     # Adds the /nix directory when using an overlay.
     # Required to run any programs under this mode.
     ./mount-nix-dir-on-overlay.patch
+
     # 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
+
+    # NixOS specific whitelist to resolve binary paths in user environment
+    # Fixes https://github.com/NixOS/nixpkgs/issues/170784
+    # Upstream fix https://github.com/netblue30/firejail/pull/5131
+    # Upstream hopefully fixed in later versions > 0.9.68
+   ./whitelist-nix-profile.patch
+
+    # Fix OpenGL support for various applications including Firefox
+    # Issue: https://github.com/NixOS/nixpkgs/issues/55191
+    # Upstream fix: https://github.com/netblue30/firejail/pull/5132
+    # Hopefully fixed upstream in version > 0.9.68
+    ./fix-opengl-support.patch
   ];
 
   prePatch = ''
diff --git a/pkgs/os-specific/linux/firejail/fix-opengl-support.patch b/pkgs/os-specific/linux/firejail/fix-opengl-support.patch
new file mode 100644
index 0000000000000..9fd18aad3fd9c
--- /dev/null
+++ b/pkgs/os-specific/linux/firejail/fix-opengl-support.patch
@@ -0,0 +1,7 @@
+--- a/etc/inc/whitelist-run-common.inc.org	2022-05-07 11:27:32.264849186 +0200
++++ b/etc/inc/whitelist-run-common.inc	2022-05-07 11:27:55.577778211 +0200
+@@ -13,3 +13,4 @@
+ whitelist /run/systemd/resolve/resolv.conf
+ whitelist /run/systemd/resolve/stub-resolv.conf
+ whitelist /run/udev/data
++whitelist /run/opengl-driver	# NixOS
diff --git a/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch b/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch
new file mode 100644
index 0000000000000..227d28846ea5f
--- /dev/null
+++ b/pkgs/os-specific/linux/firejail/whitelist-nix-profile.patch
@@ -0,0 +1,9 @@
+--- a/etc/inc/whitelist-common.inc.org	2022-05-06 13:57:17.294206339 +0200
++++ b/etc/inc/whitelist-common.inc	2022-05-06 13:58:00.108655548 +0200
+@@ -83,3 +83,6 @@
+ whitelist ${HOME}/.kde4/share/config/oxygenrc
+ whitelist ${HOME}/.kde4/share/icons
+ whitelist ${HOME}/.local/share/qt5ct
++
++# NixOS specific to resolve binary paths
++whitelist ${HOME}/.nix-profile
diff --git a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
index 622b89b1baea5..92c179726d255 100644
--- a/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
+++ b/pkgs/os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   installPhase = ''
-    mkdir $out
-    b43-fwcutter -w $out *.wl_apsta.o
+    mkdir -p $out/lib/firmware
+    b43-fwcutter -w $out/lib/firmware *.wl_apsta.o
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
index 5152b3dfe714d..86a3924c0e28b 100644
--- a/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
+++ b/pkgs/os-specific/linux/firmware/facetimehd-calibration/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation {
     description = "facetimehd calibration";
     homepage = "https://support.apple.com/kb/DL1837";
     license = licenses.unfree;
-    maintainers = with maintainers; [ womfoo grahamc ];
+    maintainers = with maintainers; [ alexshpilkin womfoo grahamc ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
 
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
index 22dc930d293df..bf2156a557076 100644
--- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -1,13 +1,12 @@
-{ stdenvNoCC, fetchgit, lib }:
+{ stdenvNoCC, fetchzip, lib }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "linux-firmware";
-  version = "20220310";
+  version = "20220509";
 
-  src = fetchgit {
-    url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-U5XZHzriZaPlgiAcrZnAA7K8PKnIGy58Pi6JziVFTR8=";
+  src = fetchzip {
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-${version}.tar.gz";
+    sha256 = "sha256-pNuKA4XigrHU9qC5Ch6HLs3/tcv0zIkAzow9VOIVKdQ=";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +16,7 @@ stdenvNoCC.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "sha256-CAYJssH36aKhzvl0q60HyxgDXeAluspfnLLmawmWIQw=";
+  outputHash = "sha256-pXzWAu7ch4dHXvKzfrK826vtNqovCqL7pd+TIVbWnJQ=";
 
   meta = with lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/g15daemon/default.nix b/pkgs/os-specific/linux/g15daemon/default.nix
index 118a17c4c8f05..d20fb662ff55d 100644
--- a/pkgs/os-specific/linux/g15daemon/default.nix
+++ b/pkgs/os-specific/linux/g15daemon/default.nix
@@ -79,6 +79,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libg15 libg15render ];
 
+  # Workaround build failure on -fno-common toolchains like upstream gcc-10:
+  #  ld: g15_plugins.o:/build/g15daemon-1.9.5.3/g15daemon/./g15daemon.h:218:
+  #   multiple definition of `lcdlist_mutex'; utility_funcs.o:g15daemon.h:218: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index 1d1d5667fe989..5c3154bf39df3 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "21.42.21270";
+  version = "22.17.23034";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    sha256 = "N9MsDcsL8kBWxfZjhukcxZiSJnXxqMgWF0etOhf2/AE=";
+    sha256 = "sha256-ae6kPiVQe3+hcqXVu2ncCaVQAoMKoDHifrkKpt6uWX8=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index bc5811942a591..424a1d1a50e5b 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -12,12 +12,12 @@
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/network/wireless/iwd.git";
     rev = version;
-    sha256 = "sha256-+BciYfb9++u9Ux4AdvPFFIFVq8j+TVoTLKqxzmn5p3o=";
+    sha256 = "sha256-gN9+9Cc6zjZBXDhcHBH5wyucO5/vL7bKSLWM5laFqaA=";
   };
 
   outputs = [ "out" "man" "doc" ]
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index 4c89d8c821972..4d08a38dbe85e 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [ check pam ];
+  NIX_LDFLAGS = lib.optional stdenv.hostPlatform.isStatic "-laudit";
   nativeBuildInputs = [ autoreconfHook pkg-config flex ];
 
   passthru.tests = {
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index fdf54d302bf20..d25e20bac8b2a 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -883,6 +883,8 @@ let
       # Disable the firmware helper fallback, udev doesn't implement it any more
       FW_LOADER_USER_HELPER_FALLBACK = option no;
 
+      FW_LOADER_COMPRESS = option yes;
+
       HOTPLUG_PCI_ACPI = yes; # PCI hotplug using ACPI
       HOTPLUG_PCI_PCIE = yes; # PCI-Expresscard hotplug support
 
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index cb73bbed5575e..b7e783b73b725 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,51 +2,61 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.276-hardened1.patch",
-            "sha256": "1q0w8fqn9z32r35s3lil9dllkykydnpfp1dkhgvmy5rggbm801ay",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.276-hardened1/linux-hardened-4.14.276-hardened1.patch"
+            "name": "linux-hardened-4.14.278-hardened1.patch",
+            "sha256": "10sihdsfc7zcn2n70gym790ql5lkgiy1q7lv7vavyxbg3j6yzayb",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.278-hardened1/linux-hardened-4.14.278-hardened1.patch"
         },
-        "sha256": "1rxksrmkh5raz930y9khfg85dglgphrgcvkj21n86m333pajs4mf",
-        "version": "4.14.276"
+        "sha256": "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw",
+        "version": "4.14.278"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.239-hardened1.patch",
-            "sha256": "1w0h47av90aapz5g5ldny1vrq21n22kxag24byk4b43ndg6q0ksc",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.239-hardened1/linux-hardened-4.19.239-hardened1.patch"
+            "name": "linux-hardened-4.19.242-hardened1.patch",
+            "sha256": "05fmppfvimppvqi1ghvg43jz8sdd56dffvy9sazpl53vpz3bysy6",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.242-hardened1/linux-hardened-4.19.242-hardened1.patch"
         },
-        "sha256": "0fsr9jy8d1rpg6ixp7av01pqz3vq50rgfcjd7vj16ccsdk15sz5z",
-        "version": "4.19.239"
+        "sha256": "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r",
+        "version": "4.19.242"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.112-hardened1.patch",
-            "sha256": "1sryrhl7bblx4r0smvlzw7p4xhc4l8bsqgwzlj2x8qamj544w464",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.112-hardened1/linux-hardened-5.10.112-hardened1.patch"
+            "name": "linux-hardened-5.10.115-hardened1.patch",
+            "sha256": "09sgj4wrsi5j5hz8k3zs8zxq4g0a27dnhpjs1nxvqdz6b8f4xkap",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.115-hardened1/linux-hardened-5.10.115-hardened1.patch"
         },
-        "sha256": "19aa7fq8n75gh0vv01mpxg4cxkfpr5lj0sv6lxiyzcgbc71isv4c",
-        "version": "5.10.112"
+        "sha256": "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m",
+        "version": "5.10.115"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.35-hardened1.patch",
-            "sha256": "10x2q01bckmfmgdzfg01khj43pav1drzzp3fr20hk718ywikvgax",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.35-hardened1/linux-hardened-5.15.35-hardened1.patch"
+            "name": "linux-hardened-5.15.39-hardened1.patch",
+            "sha256": "137zp9z15adf464awh5cl371qvhv2c79yfnva3k31zp0ivjb7kgg",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.39-hardened1/linux-hardened-5.15.39-hardened1.patch"
         },
-        "sha256": "1n05c4c4ish25x483a2p5177zgda8pq7g4752n1b7chfygi5l6ha",
-        "version": "5.15.35"
+        "sha256": "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8",
+        "version": "5.15.39"
+    },
+    "5.17": {
+        "patch": {
+            "extra": "-hardened1",
+            "name": "linux-hardened-5.17.7-hardened1.patch",
+            "sha256": "0p2s6blyzi0ynfrqm5l8ayh41kjkrmznlly6znh3djc1k3l5fc8v",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.17.7-hardened1/linux-hardened-5.17.7-hardened1.patch"
+        },
+        "sha256": "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2",
+        "version": "5.17.7"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.190-hardened1.patch",
-            "sha256": "0z4w05fq20pmiyxf4bip61ywy5xg96klbnj62yxiaha68pfwlm29",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.190-hardened1/linux-hardened-5.4.190-hardened1.patch"
+            "name": "linux-hardened-5.4.193-hardened1.patch",
+            "sha256": "1c24chfjkv5yk3gzawxygfl6l58i7a6l2swdk35g5sv8s6p0a9jl",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.193-hardened1/linux-hardened-5.4.193-hardened1.patch"
         },
-        "sha256": "157ifcl59xxj721r302hg82vmbqzx5hjrlihrc5s4maxfw3ygm41",
-        "version": "5.4.190"
+        "sha256": "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd",
+        "version": "5.4.193"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index b451202871e76..942be8bf6d649 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.277";
+  version = "4.14.278";
 
   # 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 = "058vzn1gcsc194hgwrj78afawz2anm7ga8a1x5m5i4cw8p1arp73";
+    sha256 = "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index c03c5d5afd210..2db4ec01e72de 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.240";
+  version = "4.19.242";
 
   # 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 = "1hj6vngynx6kjaczjl77jjwqq0kh0lm6jdqjvakd1cgrppaizb3j";
+    sha256 = "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 704423c6e99b6..9de95b245a1c6 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.312";
+  version = "4.9.313";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "09y6wl4j3y46fza6kmssibmxspxx0i44fqrhc2cyvrm2bgxv2bzs";
+    sha256 = "1p3vr1h01ph6x0pxrr6y6k5c4nrhvq650dfngv5mkrgsc5w7ffz0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 1ac78adf7c7e1..4cba62d8e6213 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.113";
+  version = "5.10.115";
 
   # 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 = "1z3dd5hrdbn2axsi2n70n41q1dq2dvg7s8aph1p6yiajpc16llc2";
+    sha256 = "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 44438676ae3d4..1a4dcab875c32 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.36";
+  version = "5.15.39";
 
   # 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;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1466557034q1fzvpy8vwj8ps3cv2q8s7z76af9y1jz4kgaqmsd1n";
+    sha256 = "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.17.nix b/pkgs/os-specific/linux/kernel/linux-5.17.nix
index 4c67169b706dd..5bd54a59533a1 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.17.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.17.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.17.5";
+  version = "5.17.7";
 
   # 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 = "11z95wsgmj97pg77yck26l0383gncbla0zwpzv4gjdj4p62x3g4v";
+    sha256 = "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 073d0ef770545..4f23f695afe7d 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.191";
+  version = "5.4.193";
 
   # 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 = "0fharjqasvq76pciwci6qamdadpfjh2n8gdyri8fj65drmgsi318";
+    sha256 = "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 7bb6e5f797228..78646dddf960c 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18688";
-    sha256 = "15f83zcwxk28b3a4am8avi0xwd7zr79n00150k6xdf3g8haz7yaj";
+    rev = "18713";
+    sha256 = "10744jp1i7z3jwpc42vrmdfpq1yblf3vy17yb04xdfhimkflw77p";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index aec27a7620ae4..7c46c6131b206 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -2,7 +2,7 @@
 
 let
   # having the full version string here makes it easier to update
-  modDirVersion = "5.17.5-zen1";
+  modDirVersion = "5.17.7-zen1";
   parts = lib.splitString "-" modDirVersion;
   version = lib.elemAt parts 0;
   suffix = lib.elemAt parts 1;
@@ -20,7 +20,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     inherit rev;
-    sha256 = "sha256-DWkdnSG+4qMAFdGDmtEItaQZnIiorxLYMqdq5eBqQfs=";
+    sha256 = "sha256-sjXe+L9ZTtHDPLFY5d7Ui0NU0s7fw0qLfXIDnRxpKvE=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index f239cb307c74c..41091181ee88c 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20220207";
+  version = "20220419";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "sha256-yNHYAf8AX8C8iSaFWa6u7knUryaUgvI6nIH9jkD4jjw=";
+    sha256 = "sha256-i3OhOEqyK6gJfRIPewPGb4/6k6lO0atmedEqJ2e+66U=";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/nftables/default.nix b/pkgs/os-specific/linux/nftables/default.nix
index 8485a868d8a59..051ca1963051b 100644
--- a/pkgs/os-specific/linux/nftables/default.nix
+++ b/pkgs/os-specific/linux/nftables/default.nix
@@ -8,8 +8,6 @@
 , withXtables ? true , iptables
 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   version = "1.0.2";
   pname = "nftables";
@@ -28,8 +26,8 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libmnl libnftnl libpcap
     gmp jansson libedit
-  ] ++ optional withXtables iptables
-    ++ optional withPython python3;
+  ] ++ lib.optional withXtables iptables
+    ++ lib.optional withPython python3;
 
   preConfigure = ''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -46,12 +44,12 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-json"
     "--with-cli=editline"
-  ] ++ optional (!withDebugSymbols) "--disable-debug"
-    ++ optional (!withPython) "--disable-python"
-    ++ optional withPython "--enable-python"
-    ++ optional withXtables "--with-xtables";
+  ] ++ lib.optional (!withDebugSymbols) "--disable-debug"
+    ++ lib.optional (!withPython) "--disable-python"
+    ++ lib.optional withPython "--enable-python"
+    ++ lib.optional withXtables "--with-xtables";
 
-  meta = {
+  meta = with lib; {
     description = "The project that aims to replace the existing {ip,ip6,arp,eb}tables framework";
     homepage = "https://netfilter.org/projects/nftables/";
     license = licenses.gpl2Only;
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 66b39b2c89e63..a9dac153b15dd 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -2,10 +2,10 @@
 , dpdk, libbpf, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
 }: let
   dpdk_19_11 = dpdk.overrideAttrs (old: rec {
-    version = "19.11";
+    version = "19.11.12";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "sha256-RnEzlohDZ3uxwna7dKNFiqfAAswh4pXFHjvWVJexEqs=";
+      sha256 = "sha256-F9m2+MZi3n0psPIwjWwhiIbbNkoGlxqtru2OlV7TbzQ=";
     };
     mesonFlags = old.mesonFlags ++ [
       "-Denable_docs=false"
@@ -14,11 +14,11 @@
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.30.1.0_DPDK_19.11";
+  version = "1.35.0.0_DPDK_19.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "sha256-R3PsqQiHlHPzIYYWTVEC7Ikg3KR5I0jWGgftDA9Jj1o=";
+    sha256 = "sha256-R4cRfz0uUDbeQmJfFSIAmq3KfD6CE9hIW2yvFqL+b0M=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
     description = "Open Data Plane optimized for DPDK";
     homepage = "https://www.opendataplane.org";
     license = licenses.bsd3;
-    platforms =  platforms.linux;
+    platforms = platforms.linux;
     maintainers = [ maintainers.abuibrahim ];
   };
 }
diff --git a/pkgs/os-specific/linux/pax-utils/default.nix b/pkgs/os-specific/linux/pax-utils/default.nix
index b22af8d708388..7172aca65f693 100644
--- a/pkgs/os-specific/linux/pax-utils/default.nix
+++ b/pkgs/os-specific/linux/pax-utils/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, lib, fetchurl, bash }:
+{ stdenv, lib, fetchurl, bash, gitUpdater }:
 
 stdenv.mkDerivation rec {
   pname = "pax-utils";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchurl {
     url = "mirror://gentoo/distfiles/${pname}-${version}.tar.xz";
-    sha256 = "sha256-7sp/vZi8Zr6tSncADCAl2fF+qCAbhCRYgkBs4AubaxQ=";
+    sha256 = "sha256-i67S+cWujgzaG5x1mQhkEBr8ZPrQpGFuEPP/jviRBAs=";
   };
 
   strictDeps = true;
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    url = "https://anongit.gentoo.org/git/proj/pax-utils.git";
+    rev-prefix = "v";
+  };
+
   meta = with lib; {
     description = "ELF utils that can check files for security relevant properties";
     longDescription = ''
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/default.nix b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
index 9f96eb2576dc2..253c3caf6aad1 100644
--- a/pkgs/os-specific/linux/power-profiles-daemon/default.nix
+++ b/pkgs/os-specific/linux/power-profiles-daemon/default.nix
@@ -8,6 +8,7 @@
 , libgudev
 , glib
 , polkit
+, dbus
 , gobject-introspection
 , gettext
 , gtk-doc
@@ -29,34 +30,21 @@ let
     dbus-python
     python-dbusmock
   ];
-  testTypelibPath = lib.makeSearchPathOutput "lib" "lib/girepository-1.0" [ umockdev ];
 in
 stdenv.mkDerivation rec {
   pname = "power-profiles-daemon";
-  version = "0.10.1";
+  version = "0.11.1";
 
-  outputs = [ "out" "devdoc" "installedTests" ];
+  outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "hadess";
     repo = "power-profiles-daemon";
     rev = version;
-    sha256 = "sha256-sQWiCHc0kEELdmPq9Qdk7OKDUgbM5R44639feC7gjJc=";
+    sha256 = "sha256-qU9A9U2R3UioC7bo8Pc0IIsHIjghb6gsG4pTAg6tp9E=";
   };
 
-  patches = [
-    # Enable installed tests.
-    # https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/merge_requests/92
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/commit/3c64d9e1732eb6425e33013c452f1c4aa7a26f7e.patch";
-      sha256 = "din5VuZZwARNDInHtl44yJK8pLmlxr5eoD4iMT4a8HA=";
-    })
-
-    # Install installed tests to separate output.
-    ./installed-tests-path.patch
-  ];
-
   nativeBuildInputs = [
     pkg-config
     meson
@@ -70,9 +58,6 @@ stdenv.mkDerivation rec {
     gobject-introspection
     wrapGAppsNoGuiHook
     python3.pkgs.wrapPython
-
-    # For finding tests.
-    (python3.withPackages testPythonPkgs)
   ];
 
   buildInputs = [
@@ -91,31 +76,28 @@ stdenv.mkDerivation rec {
     python3.pkgs.pygobject3
   ];
 
+  checkInputs = [
+    umockdev
+    dbus
+    (python3.withPackages testPythonPkgs)
+  ];
+
   mesonFlags = [
-    "-Dinstalled_test_prefix=${placeholder "installedTests"}"
     "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
     "-Dgtk_doc=true"
   ];
 
+  doCheck = true;
+
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
   # Avoid double wrapping
   dontWrapGApps = true;
 
   postPatch = ''
-    patchShebangs tests/unittest_inspector.py
-  '';
-
-  preConfigure = ''
-    # For finding tests.
-    GI_TYPELIB_PATH_original=$GI_TYPELIB_PATH
-    addToSearchPath GI_TYPELIB_PATH "${testTypelibPath}"
-  '';
-
-  postConfigure = ''
-    # Restore the original value to prevent the program from depending on umockdev.
-    export GI_TYPELIB_PATH=$GI_TYPELIB_PATH_original
-    unset GI_TYPELIB_PATH_original
+    patchShebangs --build \
+      tests/integration-test.py \
+      tests/unittest_inspector.py
   '';
 
   preInstall = ''
@@ -128,33 +110,22 @@ stdenv.mkDerivation rec {
     export PKEXEC_UID=-1
   '';
 
+  postCheck = ''
+    # Do not contaminate the wrapper with test dependencies.
+    unset GI_TYPELIB_PATH
+    unset XDG_DATA_DIRS
+  '';
+
   postFixup = ''
     # Avoid double wrapping
     makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
     # Make Python libraries available
     wrapPythonProgramsIn "$out/bin" "$pythonPath"
-
-    # Make Python libraries available for installed tests
-    makeWrapperArgs+=(
-      --prefix GI_TYPELIB_PATH : "${testTypelibPath}"
-      --prefix PATH : "${lib.makeBinPath [ umockdev ]}"
-      # Vala does not use absolute paths in typelibs
-      # https://github.com/NixOS/nixpkgs/issues/47226
-      # Also umockdev binaries use relative paths for LD_PRELOAD.
-      --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ umockdev ]}"
-      # dbusmock calls its templates using exec so our regular patching of Python scripts
-      # to add package directories to site will not carry over.
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/mockobject.py#L51
-      # https://github.com/martinpitt/python-dbusmock/blob/2254e69279a02fb3027b500ed7288b77c7a80f2a/dbusmock/__main__.py#L60-L62
-      --prefix PYTHONPATH : "${lib.makeSearchPath python3.sitePackages (testPythonPkgs python3.pkgs)}"
-    )
-    wrapPythonProgramsIn "$installedTests/libexec/installed-tests" "$pythonPath ${lib.concatStringsSep " " (testPythonPkgs python3.pkgs)}"
   '';
 
   passthru = {
     tests = {
       nixos = nixosTests.power-profiles-daemon;
-      installed-tests = nixosTests.installed-tests.power-profiles-daemon;
     };
   };
 
diff --git a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch b/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
deleted file mode 100644
index 63059f3ac73c0..0000000000000
--- a/pkgs/os-specific/linux/power-profiles-daemon/installed-tests-path.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/meson_options.txt b/meson_options.txt
-index 7e89619..76497db 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -1,3 +1,4 @@
-+option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
- option('systemdsystemunitdir',
-        description: 'systemd unit directory',
-        type: 'string',
-diff --git a/tests/meson.build b/tests/meson.build
-index b306a7f..7670e1b 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -2,8 +2,8 @@ envs = environment()
- envs.set ('top_builddir', meson.build_root())
- envs.set ('top_srcdir', meson.source_root())
- 
--installed_test_bindir = libexecdir / 'installed-tests' / meson.project_name()
--installed_test_datadir = datadir / 'installed-tests' / meson.project_name()
-+installed_test_bindir = get_option('installed_test_prefix') / 'libexec' / 'installed-tests' / meson.project_name()
-+installed_test_datadir = get_option('installed_test_prefix') / 'share' / 'installed-tests' / meson.project_name()
- 
- python3 = find_program('python3')
- unittest_inspector = find_program('unittest_inspector.py')
-diff --git a/tests/integration-test.py b/tests/integration-test.py
-index 22dc42c..0f92b76 100755
---- a/tests/integration-test.py
-+++ b/tests/integration-test.py
-@@ -67,7 +67,7 @@ class Tests(dbusmock.DBusTestCase):
-             print('Testing binaries from JHBuild (%s)' % cls.daemon_path)
-         else:
-             cls.daemon_path = None
--            with open('/usr/lib/systemd/system/power-profiles-daemon.service') as f:
-+            with open('/run/current-system/sw/lib/systemd/system/power-profiles-daemon.service') as f:
-                 for line in f:
-                     if line.startswith('ExecStart='):
-                         cls.daemon_path = line.split('=', 1)[1].strip()
diff --git a/pkgs/os-specific/linux/read-edid/default.nix b/pkgs/os-specific/linux/read-edid/default.nix
index 7f6d224ff4d5b..6e040d3cbffb8 100644
--- a/pkgs/os-specific/linux/read-edid/default.nix
+++ b/pkgs/os-specific/linux/read-edid/default.nix
@@ -9,14 +9,17 @@ stdenv.mkDerivation rec {
     sha256 = "0vqqmwsgh2gchw7qmpqk6idgzcm5rqf2fab84y7gk42v1x2diin7";
   };
 
+  patches = [ ./fno-common.patch ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --replace 'COPYING' 'LICENSE'
+  '';
+
   nativeBuildInputs = [ cmake ];
   buildInputs = lib.optional stdenv.hostPlatform.isx86 libx86;
 
   cmakeFlags = [ "-DCLASSICBUILD=${if stdenv.hostPlatform.isx86 then "ON" else "OFF"}" ];
 
-  patchPhase = ''
-    substituteInPlace CMakeLists.txt --replace 'COPYING' 'LICENSE'
-  '';
 
   meta = with lib; {
     description = "Tool for reading and parsing EDID data from monitors";
diff --git a/pkgs/os-specific/linux/read-edid/fno-common.patch b/pkgs/os-specific/linux/read-edid/fno-common.patch
new file mode 100644
index 0000000000000..336b48b66ad81
--- /dev/null
+++ b/pkgs/os-specific/linux/read-edid/fno-common.patch
@@ -0,0 +1,22 @@
+--- a/get-edid/classic.c
++++ b/get-edid/classic.c
+@@ -26,7 +26,7 @@ typedef byte* real_ptr;
+ #define dosmemput(buffer,length,offset) memcpy(offset,buffer,length)
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+-int quiet;
++extern int quiet;
+ 
+ real_ptr far_ptr_to_real_ptr( uint32 farptr )
+ {
+--- a/get-edid/i2c.c
++++ b/get-edid/i2c.c
+@@ -15,7 +15,7 @@
+ 
+ //Ideas (but not too much actual code) taken from i2c-tools. Thanks guys.
+ 
+-int quiet;
++extern int quiet;
+ 
+ #define display(...) if (quiet == 0) { fprintf(stderr, __VA_ARGS__); }
+ 
diff --git a/pkgs/os-specific/linux/sgx/psw/default.nix b/pkgs/os-specific/linux/sgx/psw/default.nix
index f6564f1560c1e..2077d23bc9d75 100644
--- a/pkgs/os-specific/linux/sgx/psw/default.nix
+++ b/pkgs/os-specific/linux/sgx/psw/default.nix
@@ -28,11 +28,11 @@ stdenv.mkDerivation rec {
         hash = "sha256-JriA9UGYFkAPuCtRizk8RMM1YOYGR/eO9ILnx47A40s=";
       };
       dcap = rec {
-        version = "1.12.1";
+        version = "1.13";
         filename = "prebuilt_dcap_${version}.tar.gz";
         prebuilt = fetchurl {
           url = "https://download.01.org/intel-sgx/sgx-dcap/${version}/linux/${filename}";
-          hash = "sha256-V/XHva9Sq3P36xSW+Sd0G6Dnk4H0ANO1Ns/u+FI1eGI=";
+          hash = "sha256-0kD6hxN8qZ/7/H99aboQx7Qg7ewmYPEexoU6nqczAik=";
         };
       };
     in
@@ -64,19 +64,6 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    # https://github.com/intel/linux-sgx/pull/730
-    substituteInPlace buildenv.mk --replace '/bin/cp' 'cp'
-    substituteInPlace psw/ae/aesm_service/source/CMakeLists.txt \
-      --replace '/usr/bin/getconf' 'getconf'
-
-    # https://github.com/intel/SGXDataCenterAttestationPrimitives/pull/205
-    substituteInPlace ./external/dcap_source/QuoteGeneration/buildenv.mk \
-      --replace '/bin/cp' 'cp'
-    substituteInPlace external/dcap_source/tools/SGXPlatformRegistration/Makefile \
-      --replace '/bin/cp' 'cp'
-    substituteInPlace external/dcap_source/tools/SGXPlatformRegistration/buildenv.mk \
-      --replace '/bin/cp' 'cp'
-
     patchShebangs \
       linux/installer/bin/build-installpkg.sh \
       linux/installer/common/psw/createTarball.sh \
@@ -166,14 +153,6 @@ stdenv.mkDerivation rec {
     substituteInPlace $out/lib/systemd/system/remount-dev-exec.service \
       --replace '/bin/mount' \
                 "${util-linux}/bin/mount"
-
-    header "Fixing linksgx.sh"
-    # https://github.com/intel/linux-sgx/pull/736
-    substituteInPlace $out/aesm/linksgx.sh \
-      --replace '/usr/bin/getent' \
-                '${glibc.bin}/bin/getent' \
-      --replace '/usr/sbin/usermod' \
-                '${shadow}/bin/usermod'
   '';
 
   passthru.tests = {
diff --git a/pkgs/os-specific/linux/sgx/sdk/default.nix b/pkgs/os-specific/linux/sgx/sdk/default.nix
index baa4ad2a3375c..977139406fe95 100644
--- a/pkgs/os-specific/linux/sgx/sdk/default.nix
+++ b/pkgs/os-specific/linux/sgx/sdk/default.nix
@@ -29,15 +29,15 @@
 stdenv.mkDerivation rec {
   pname = "sgx-sdk";
   # Version as given in se_version.h
-  version = "2.15.101.1";
+  version = "2.16.100.4";
   # Version as used in the Git tag
-  versionTag = "2.15.1";
+  versionTag = "2.16";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "linux-sgx";
     rev = "sgx_${versionTag}";
-    hash = "sha256-e11COTR5eDPMB81aPRKatvIkAOeX+OZgnvn2utiv78M=";
+    hash = "sha256-qgXuJJWiqmcU11umCsE3DnlK4VryuTDAsNf53YPw6UY=";
     fetchSubmodules = true;
   };
 
@@ -53,18 +53,9 @@ stdenv.mkDerivation rec {
       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";
-      url = "https://github.com/intel/linux-sgx/commit/51d1087b707a47e18588da7bae23e5f686d44be6.patch";
-      sha256 = "sha256-RZC14H1oEuGp0zn8CySDPy1KNqP/POqb+KMYoQt2A7M=";
-    })
   ];
 
   postPatch = ''
-    # https://github.com/intel/linux-sgx/pull/730
-    substituteInPlace buildenv.mk --replace '/bin/cp' 'cp'
-
     patchShebangs linux/installer/bin/build-installpkg.sh \
       linux/installer/common/sdk/createTarball.sh \
       linux/installer/common/sdk/install.sh
diff --git a/pkgs/os-specific/linux/sysdig/default.nix b/pkgs/os-specific/linux/sysdig/default.nix
index 39c07f48a29ad..4f5f3b585dadc 100644
--- a/pkgs/os-specific/linux/sysdig/default.nix
+++ b/pkgs/os-specific/linux/sysdig/default.nix
@@ -1,27 +1,50 @@
 { lib, stdenv, fetchFromGitHub, fetchpatch, cmake, kernel, installShellFiles, pkg-config
 , luajit, ncurses, perl, jsoncpp, libb64, openssl, curl, jq, gcc, elfutils, tbb, protobuf, grpc
+, libyamlcpp, nlohmann_json
 }:
 
 with lib;
 let
   # Compare with https://github.com/draios/sysdig/blob/dev/cmake/modules/falcosecurity-libs.cmake
-  libsRev = "2160111cd088aea9ae2235d3385ecb0b1ab6623c";
-  libsSha256 = "sha256-TOuxXtrxujyAjzAtlX3/eCfM16mwxnmZ6Wg44SG0dTs=";
+  libsRev = "e5c53d648f3c4694385bbe488e7d47eaa36c229a";
+  libsSha256 = "sha256-pG10y5PpDqaF/cq8oAvax5B/ls2UTRQd7tCfBjWVf0U=";
+
+  # Compare with https://github.com/falcosecurity/libs/blob/master/cmake/modules/valijson.cmake#L17
+  valijson = fetchFromGitHub {
+    owner = "tristanpenman";
+    repo = "valijson";
+    rev = "v0.6";
+    sha256 = "sha256-ZD19Q2MxMQd3yEKbY90GFCrerie5/jzgO8do4JQDoKM=";
+  };
+
 in
 stdenv.mkDerivation rec {
   pname = "sysdig";
-  version = "0.28.0";
+  version = "0.29.3";
 
   src = fetchFromGitHub {
     owner = "draios";
     repo = "sysdig";
     rev = version;
-    sha256 = "sha256-oE3vCmOw+gcmvGqj7Xk5injpNC/YThckJMNg5XRFhME=";
+    sha256 = "sha256-dMLeroOd9CgvmgQdPfX8oBxQSyksZi/hP4vO03JhlF0=";
   };
 
   nativeBuildInputs = [ cmake perl installShellFiles pkg-config ];
   buildInputs = [
-    luajit ncurses jsoncpp libb64 openssl curl jq gcc elfutils tbb protobuf grpc
+    luajit
+    ncurses
+    libb64
+    openssl
+    curl
+    jq
+    gcc
+    elfutils
+    tbb
+    protobuf
+    grpc
+    libyamlcpp
+    jsoncpp
+    nlohmann_json
   ] ++ optionals (kernel != null) kernel.moduleBuildDependencies;
 
   hardeningDisable = [ "pic" ];
@@ -34,7 +57,7 @@ stdenv.mkDerivation rec {
       sha256 = libsSha256;
     }} libs
     chmod -R +w libs
-    cmakeFlagsArray+=("-DFALCOSECURITY_LIBS_SOURCE_DIR=$(pwd)/libs")
+    cmakeFlagsArray+=("-DFALCOSECURITY_LIBS_SOURCE_DIR=$(pwd)/libs" "-DVALIJSON_INCLUDE=${valijson}/include")
   '';
 
   cmakeFlags = [
@@ -47,6 +70,10 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg -DluaL_getn(L,i)=((int)lua_objlen(L,i))";
 
   preConfigure = ''
+    if ! grep -q "${libsRev}" cmake/modules/falcosecurity-libs.cmake; then
+      echo "falcosecurity-libs checksum needs to be updated!"
+      exit 1
+    fi
     cmakeFlagsArray+=(-DCMAKE_EXE_LINKER_FLAGS="-ltbb -lcurl -labsl_synchronization")
   '' + optionalString (kernel != null) ''
     export INSTALL_MOD_PATH="$out"
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index e130abbf27ff3..9e914132ef22c 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -666,6 +666,18 @@ stdenv.mkDerivation {
     rm -rf $out/share/doc
   '';
 
+  # Avoid *.EFI binary stripping. At least on aarch64-linux strip
+  # removes too much from PE32+ files:
+  #   https://github.com/NixOS/nixpkgs/issues/169693
+  # The hack is to move EFI file out of lib/ before doStrip
+  # run and return it after doStrip run.
+  preFixup = lib.optionalString withEfi ''
+    mv $out/lib/systemd/boot/efi $out/dont-strip-me
+  '';
+  postFixup = lib.optionalString withEfi ''
+    mv $out/dont-strip-me $out/lib/systemd/boot/efi
+  '';
+
   passthru = {
     # The interface version prevents NixOS from switching to an
     # incompatible systemd at runtime.  (Switching across reboots is
@@ -687,6 +699,8 @@ stdenv.mkDerivation {
     description = "A system and service manager for Linux";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
+    # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
+    broken = stdenv.hostPlatform.isStatic;
     priority = 10;
     maintainers = with maintainers; [ flokli kloenk mic92 ];
   };
diff --git a/pkgs/os-specific/linux/uhk-agent/default.nix b/pkgs/os-specific/linux/uhk-agent/default.nix
new file mode 100644
index 0000000000000..688a743fa9c11
--- /dev/null
+++ b/pkgs/os-specific/linux/uhk-agent/default.nix
@@ -0,0 +1,39 @@
+{ appimageTools, lib, fetchurl, polkit, udev }:
+let
+  pname = "uhk-agent";
+  version = "1.5.17";
+  src = fetchurl {
+    url = "https://github.com/UltimateHackingKeyboard/agent/releases/download/v${version}/UHK.Agent-${version}-linux-x86_64.AppImage";
+    name = "${pname}-${version}.AppImage";
+    sha256 = "sha256-auOoTTRmkXVDDvcmRFzQIStNlbai8bTBLb/KUjk6EAc=";
+  };
+
+  appimageContents = appimageTools.extract {
+    name = "${pname}-${version}";
+    inherit src;
+  };
+in appimageTools.wrapType2 {
+  inherit pname version src;
+
+  extraPkgs = pkgs: with pkgs; [ polkit udev ];
+
+  extraInstallCommands = ''
+    mv $out/bin/${pname}-${version} $out/bin/${pname}
+
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    install -m 644 -D ${appimageContents}/resources/rules/50-uhk60.rules $out/rules/50-uhk60.rules
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+  # wrapType2 does not passthru pname+version
+  passthru.version = version;
+
+  meta = with lib; {
+    description = "Agent is the configuration application of the Ultimate Hacking Keyboard";
+    homepage = "https://github.com/UltimateHackingKeyboard/agent";
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ ngiger ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/os-specific/linux/uhk-udev-rules/default.nix b/pkgs/os-specific/linux/uhk-udev-rules/default.nix
new file mode 100644
index 0000000000000..bcb7799731f60
--- /dev/null
+++ b/pkgs/os-specific/linux/uhk-udev-rules/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenv, uhk-agent }:
+
+stdenv.mkDerivation {
+  pname = "uhk-udev-rules";
+  inherit (uhk-agent) version;
+
+  dontUnpack = true;
+  dontBuild = true;
+  installPhase = ''
+    runHook preInstall
+    install -D -m 644 ${uhk-agent.out}/rules/50-uhk60.rules $out/lib/udev/rules.d/50-uhk60.rules
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "udev rules for UHK keyboards from https://ultimatehackingkeyboard.com";
+    inherit (uhk-agent.meta) license;
+    maintainers = [ lib.maintainers.ngiger ];
+  };
+}
diff --git a/pkgs/os-specific/linux/usbrelay/daemon.nix b/pkgs/os-specific/linux/usbrelay/daemon.nix
index 5f8d23e5201d2..e5e4baae9e991 100644
--- a/pkgs/os-specific/linux/usbrelay/daemon.nix
+++ b/pkgs/os-specific/linux/usbrelay/daemon.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
     install -m 644 -D usbrelayd $out/bin/usbrelayd
     install -m 644 -D usbrelayd.service $out/lib/systemd/system/usbrelayd.service
     install -m 644 -D 50-usbrelay.rules $out/lib/udev/rules.d/50-usbrelay.rules
+    install -m 644 -D usbrelayd.conf $out/etc/usbrelayd.conf # include this as an example
     runHook postInstall
   '';
-  # TODO for later releases: install -D usbrelayd.conf $out/etc/usbrelayd.conf # include this as an example
 
   meta = {
     description = "USB Relay MQTT service";
diff --git a/pkgs/os-specific/linux/usbrelay/default.nix b/pkgs/os-specific/linux/usbrelay/default.nix
index ebbb1dd79228e..25388d3b23088 100644
--- a/pkgs/os-specific/linux/usbrelay/default.nix
+++ b/pkgs/os-specific/linux/usbrelay/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, lib, fetchFromGitHub, hidapi }:
+{ stdenv, lib, fetchFromGitHub, hidapi, installShellFiles }:
 stdenv.mkDerivation rec {
   pname = "usbrelay";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "darrylb123";
     repo = "usbrelay";
     rev = version;
-    sha256 = "sha256-bxME4r5W5bZKxMZ/Svi1EenqHKVWIjU6iiKaM8U6lmA=";
+    sha256 = "sha256-5zgpN4a+r0tmw0ISTJM+d9mo+L/qwUvpWPSsykuG0cg=";
   };
 
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
   buildInputs = [
     hidapi
   ];
@@ -19,6 +23,10 @@ stdenv.mkDerivation rec {
     "PREFIX=${placeholder "out"}"
   ];
 
+  postInstall = ''
+    installManPage usbrelay.1
+  '';
+
   meta = with lib; {
     description = "Tool to control USB HID relays";
     homepage = "https://github.com/darrylb123/usbrelay";
diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix
index 3efb3914b85e5..efd75ce9b3f2d 100644
--- a/pkgs/os-specific/linux/util-linux/default.nix
+++ b/pkgs/os-specific/linux/util-linux/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, pkg-config, zlib, shadow, libcap_ng
 , ncursesSupport ? true
 , ncurses, pam
-, systemdSupport ? stdenv.isLinux
+, systemdSupport ? stdenv.isLinux && !stdenv.hostPlatform.isStatic
 , systemd
 , nlsSupport ? true
 }:
diff --git a/pkgs/os-specific/linux/vmm_clock/default.nix b/pkgs/os-specific/linux/vmm_clock/default.nix
index a9cc266f6c536..b630ed4749faa 100644
--- a/pkgs/os-specific/linux/vmm_clock/default.nix
+++ b/pkgs/os-specific/linux/vmm_clock/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
+    broken = kernel.kernelOlder "4.19";
     description =
       "Experimental implementation of a kvmclock-derived clocksource for Linux guests under OpenBSD's hypervisor";
     homepage = "https://github.com/voutilad/vmm_clock";
diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix
new file mode 100644
index 0000000000000..aa77a10015e6a
--- /dev/null
+++ b/pkgs/os-specific/linux/vmware/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchFromGitHub, kernel, kmod, gnugrep, vmware-workstation }:
+
+stdenv.mkDerivation rec {
+  pname = "vmware-modules";
+  version = "${vmware-workstation.version}-${kernel.version}";
+
+  src = fetchFromGitHub {
+    owner = "mkubecek";
+    repo = "vmware-host-modules";
+    rev = "w${vmware-workstation.version}-k5.17";
+    sha256 = "sha256-EM6YU2nOwNlAXpQ7cGrLS1N+gAS1KxleVjJTzo22De0=";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  enableParallelBuilding = true;
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace '/lib/modules/$(VM_UNAME)/misc' "$out/lib/modules/${kernel.modDirVersion}/misc" \
+      --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
+      --replace /sbin/modinfo "${kmod}/bin/modinfo" \
+      --replace 'test -z "$(DESTDIR)"' "0"
+
+    for module in "vmmon-only" "vmnet-only"; do
+      substituteInPlace "./$module/Makefile" \
+        --replace '/lib/modules/' "${kernel.dev}/lib/modules/" \
+        --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
+        --replace /bin/grep "${gnugrep}/bin/grep"
+    done
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/lib/modules/${kernel.modDirVersion}/misc"
+  '';
+
+  meta = with lib; {
+    description = "Kernel modules needed for VMware hypervisor";
+    homepage = "https://github.com/mkubecek/vmware-host-modules";
+    license = licenses.gpl2Only;
+    platforms = [ "x86_64-linux" ];
+    broken = kernel.kernelOlder "5.5" && kernel.isHardened;
+    maintainers = with maintainers; [ deinferno ];
+  };
+}
diff --git a/pkgs/pkgs-lib/formats.nix b/pkgs/pkgs-lib/formats.nix
index 6495b024b0086..cb46b63dd0c49 100644
--- a/pkgs/pkgs-lib/formats.nix
+++ b/pkgs/pkgs-lib/formats.nix
@@ -135,6 +135,17 @@ rec {
 
   };
 
+  gitIni = { listsAsDuplicateKeys ? false, ... }@args: {
+
+    type = with lib.types; let
+
+      iniAtom = (ini args).type/*attrsOf*/.functor.wrapped/*attrsOf*/.functor.wrapped;
+
+    in attrsOf (attrsOf (either iniAtom (attrsOf iniAtom)));
+
+    generate = name: value: pkgs.writeText name (lib.generators.toGitINI value);
+  };
+
   toml = {}: json {} // {
     type = with lib.types; let
       valueType = oneOf [
diff --git a/pkgs/servers/alps/default.nix b/pkgs/servers/alps/default.nix
index fb10a5369f1d3..8b2a605261b40 100644
--- a/pkgs/servers/alps/default.nix
+++ b/pkgs/servers/alps/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "alps";
-  version = "2021-09-29";
+  version = "2022-03-01";
 
   src = fetchFromSourcehut {
     owner = "~migadu";
     repo = "alps";
-    rev = "d4c35f3c3157bece8e50fd95f2ee1081be30d7ae";
-    sha256 = "sha256-xKfRLdfeD7lWdmC0iiq4dOIv2SmzbKH7HcAISCJgdug=";
+    rev = "f4523b51af0787795973b403b978ff74737a47ef";
+    hash = "sha256-un1RGIABFhHKeXPXtLnGayyoGzfo5PZc8VBSHA0PAaw=";
   };
 
   vendorSha256 = "sha256-Vg0k+YSMg6Ree/jkVV2VQ8RbSbQFUhmUN2MeTBxPeLo=";
diff --git a/pkgs/servers/amqp/qpid-cpp/default.nix b/pkgs/servers/amqp/qpid-cpp/default.nix
index c6d66427ab20f..d3647264becc2 100644
--- a/pkgs/servers/amqp/qpid-cpp/default.nix
+++ b/pkgs/servers/amqp/qpid-cpp/default.nix
@@ -1,15 +1,47 @@
-{ lib, stdenv, fetchurl, cmake, python2, boost, libuuid, ruby, buildEnv, buildPythonPackage, qpid-python }:
-
-let
+{ lib, stdenv
+, fetchpatch
+, fetchurl
+, boost
+, cmake
+, libuuid
+, python3
+, ruby
+}:
+
+stdenv.mkDerivation rec {
   pname = "qpid-cpp";
-  name = "${pname}-${version}";
   version = "1.39.0";
 
   src = fetchurl {
-    url = "mirror://apache/qpid/cpp/${version}/${name}.tar.gz";
-    sha256 = "088dx1l6myrksbhpr15bs09j6qm8vdliqwjp2ja5amym47md103r";
+    url = "mirror://apache/qpid/cpp/${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-eYDQ6iHVV1WUFFdyHGnbqGIjE9CrhHzh0jP7amjoDSE=";
   };
 
+  nativeBuildInputs = [ cmake python3 ];
+  buildInputs = [ boost libuuid ruby ];
+
+  patches = [
+    (fetchpatch {
+      name = "python3-managementgen";
+      url = "https://github.com/apache/qpid-cpp/commit/0e558866e90ef3d5becbd2f6d5630a6a6dc43a5d.patch";
+      hash = "sha256-pV6xx8Nrys/ZxIO0Z/fARH0ELqcSdTXLPsVXYUd3f70=";
+    })
+  ];
+
+  # the subdir managementgen wants to install python stuff in ${python} and
+  # the installation tries to create some folders in /var
+  postPatch = ''
+    sed -i '/managementgen/d' CMakeLists.txt
+    sed -i '/ENV/d' src/CMakeLists.txt
+    sed -i '/management/d' CMakeLists.txt
+  '';
+
+  NIX_CFLAGS_COMPILE = toString ([
+    "-Wno-error=maybe-uninitialized"
+  ] ++ lib.optionals stdenv.cc.isGNU [
+    "-Wno-error=deprecated-copy"
+  ]);
+
   meta = with lib; {
     homepage = "https://qpid.apache.org";
     description = "An AMQP message broker and a C++ messaging API";
@@ -17,41 +49,4 @@ let
     platforms = platforms.linux;
     maintainers = with maintainers; [ cpages ];
   };
-
-  qpid-cpp = stdenv.mkDerivation {
-    inherit src meta pname version;
-
-    nativeBuildInputs = [ cmake ];
-    buildInputs = [ boost libuuid ruby python2 ];
-
-    # the subdir managementgen wants to install python stuff in ${python} and
-    # the installation tries to create some folders in /var
-    postPatch = ''
-      sed -i '/managementgen/d' CMakeLists.txt
-      sed -i '/ENV/d' src/CMakeLists.txt
-      sed -i '/management/d' CMakeLists.txt
-    '';
-
-    NIX_CFLAGS_COMPILE = toString ([
-      "-Wno-error=deprecated-declarations"
-      "-Wno-error=int-in-bool-context"
-      "-Wno-error=maybe-uninitialized"
-      "-Wno-error=unused-function"
-      "-Wno-error=ignored-qualifiers"
-      "-Wno-error=catch-value"
-    ] ++ lib.optionals stdenv.cc.isGNU [
-      "-Wno-error=deprecated-copy"
-    ]);
-  };
-
-  python-frontend = buildPythonPackage {
-    inherit pname version meta src;
-
-    sourceRoot = "${name}/management/python";
-
-    propagatedBuildInputs = [ qpid-python ];
-  };
-in buildEnv {
-  name = "${name}-env";
-  paths = [ qpid-cpp python-frontend ];
 }
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index 711c65f66176c..0ba836eeb6bc8 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -1,6 +1,6 @@
 { lib, buildGoModule, fetchFromGitHub, nixosTests }:
 let
-  version = "2.5.0";
+  version = "2.5.1";
   dist = fetchFromGitHub {
     owner = "caddyserver";
     repo = "dist";
@@ -18,7 +18,7 @@ buildGoModule {
     owner = "caddyserver";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "sha256-V9iIz/93n6EBJZ9v3MDKD6FivtplRFN9a/e0o7YX0/w=";
+    sha256 = "sha256-Y4GAx/8XcW7+6eXCQ6k4e/3WZ/6MkTr5za1AXp6El9o=";
   };
 
   vendorSha256 = "sha256-xu3klc9yb4Ws8fvXRV286IDhi/zQVN1PKCiFKb8VJBo=";
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index de0ac56478a60..827269d578ae1 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,15 +1,18 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool, curl
-, python3, munge, perl, pam, zlib, shadow, coreutils
+, python3, munge, perl, pam, shadow, coreutils
 , ncurses, libmysqlclient, gtk2, lua, hwloc, numactl
 , readline, freeipmi, xorg, lz4, rdma-core, nixosTests
 , pmix
+, libjwt
+, libyaml
+, json_c
 # enable internal X11 support via libssh2
 , enableX11 ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "21.08.7.1";
+  version = "21.08.8.2";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -18,7 +21,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1rhhfiwpfrg3mpdpvmdl3qz20ydi5m88dfv9hhwqm95sldqb6qw1";
+    sha256 = "1n9gn879lff3iv2yi163fv2cwymgfqigh0jxs2kklc97g3nn23yx";
   };
 
   outputs = [ "out" "dev" ];
@@ -46,18 +49,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config libtool python3 ];
   buildInputs = [
-    curl python3 munge perl pam zlib
+    curl python3 munge perl pam
       libmysqlclient ncurses gtk2 lz4 rdma-core
       lua hwloc numactl readline freeipmi shadow.su
-      pmix
+      pmix json_c libjwt libyaml
   ] ++ lib.optionals enableX11 [ xorg.xauth ];
 
   configureFlags = with lib;
     [ "--with-freeipmi=${freeipmi}"
       "--with-hwloc=${hwloc.dev}"
+      "--with-json=${json_c.dev}"
+      "--with-jwt=${libjwt}"
       "--with-lz4=${lz4.dev}"
       "--with-munge=${munge}"
-      "--with-zlib=${zlib}"
+      "--with-yaml=${libyaml}"
       "--with-ofed=${rdma-core}"
       "--sysconfdir=/etc/slurm"
       "--with-pmix=${pmix}"
diff --git a/pkgs/servers/dante/default.nix b/pkgs/servers/dante/default.nix
index 12ba281d811c3..dd5967a2407b8 100644
--- a/pkgs/servers/dante/default.nix
+++ b/pkgs/servers/dante/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
       sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y=";
     }) ];
 
+  postPatch = ''
+    substituteInPlace include/redefgen.sh --replace 'PATH=/bin:/usr/bin:/sbin:/usr/sbin' ""
+  '';
+
   meta = with lib; {
     description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity";
     homepage    = "https://www.inet.no/dante/";
diff --git a/pkgs/servers/dendrite/default.nix b/pkgs/servers/dendrite/default.nix
index 82c6d4ba3e6e2..2b12a47edc8d3 100644
--- a/pkgs/servers/dendrite/default.nix
+++ b/pkgs/servers/dendrite/default.nix
@@ -1,17 +1,30 @@
-{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, fetchurl, nixosTests, postgresql, postgresqlTestHook }:
 
 buildGoModule rec {
   pname = "matrix-dendrite";
-  version = "0.8.1";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "dendrite";
     rev = "v${version}";
-    sha256 = "sha256-cEqedl6iVt/HZEh1zeEcqby8gfJEcqIDEQnPewyErMI=";
+    sha256 = "sha256-w4un+TdFTzfVZltvo6ZAPQ3B9HJvnGlJW+LmZHuYk1M=";
   };
 
-  vendorSha256 = "sha256-nQx+PyjRvECeIerZ9jq7YMTSS8LfohY7NgK8DklREQQ=";
+  vendorSha256 = "sha256-AJ7Hn23aji/cXioDaOSyF8XD3Mr135DZf7KbUW1SoJ4=";
+
+  checkInputs = [
+    postgresqlTestHook
+    postgresql
+  ];
+
+  postgresqlTestUserOptions = "LOGIN SUPERUSER";
+  preCheck = ''
+    export PGUSER=$(whoami)
+    # temporarily disable this failing test
+    # it passes in upstream CI and requires further investigation
+    rm roomserver/internal/input/input_test.go
+  '';
 
   passthru.tests = {
     inherit (nixosTests) dendrite;
diff --git a/pkgs/servers/dict/default.nix b/pkgs/servers/dict/default.nix
index b35201ce1dfd1..1b39629077810 100644
--- a/pkgs/servers/dict/default.nix
+++ b/pkgs/servers/dict/default.nix
@@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
   patchPhase = "patch -p0 < ${./buildfix.diff}";
 
   configureFlags = [
-    "--enable-dictorg"
     "--datadir=/run/current-system/sw/share/dictd"
     "--sysconfdir=/etc"
   ];
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index d47b5a3e6a3cb..1ec5a78ea1a2b 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -55,7 +55,7 @@ unwrapped = stdenv.mkDerivation rec {
 
   # http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
   buildInputs = [ knot-dns lua.lua libuv gnutls lmdb ]
-    ++ optionals stdenv.isLinux [ systemd libcap_ng ]
+    ++ optionals stdenv.isLinux [ /*lib*/systemd libcap_ng ]
     ++ [ nghttp2 ]
     ## optional dependencies; TODO: dnstap
     ;
@@ -79,8 +79,7 @@ unwrapped = stdenv.mkDerivation rec {
     rm -r "$out"/lib/sysusers.d/ # ATM more likely to harm than help
   '';
 
-  doInstallCheck = with stdenv; hostPlatform == buildPlatform
-    && !(isDarwin && isAarch64); # avoid luarocks, as it's broken ATM on the platform
+  doInstallCheck = with stdenv; hostPlatform == buildPlatform;
   installCheckInputs = [ cmocka which cacert lua.cqueues lua.basexx lua.http ];
   installCheckPhase = ''
     meson test --print-errorlogs
diff --git a/pkgs/servers/exhibitor/default.nix b/pkgs/servers/exhibitor/default.nix
index 5636f51a16998..875a2fa2c1fde 100644
--- a/pkgs/servers/exhibitor/default.nix
+++ b/pkgs/servers/exhibitor/default.nix
@@ -37,9 +37,10 @@ stdenv.mkDerivation rec {
       mvn package --offline -Dmaven.repo.local=$(cp -dpR ${fetchedMavenDeps}/.m2 ./ && chmod +w -R .m2 && pwd)/.m2
   '';
   meta = with lib; {
-    homepage = "https://github.com/soabase/exhibitor";
     description = "ZooKeeper co-process for instance monitoring, backup/recovery, cleanup and visualization";
+    homepage = "https://github.com/soabase/exhibitor";
     license = licenses.asl20;
+    mainProgram = "startExhibitor.sh";
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index 3999d422d21d2..faaa472e96496 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -20,16 +20,7 @@
 , withYubikey ? false, libyubikey
 }:
 
-assert withSqlite -> sqlite != null;
-assert withLdap -> openldap != null;
-assert withPcap -> libpcap != null;
-assert withCap -> libcap != null;
-assert withMemcached -> libmemcached != null;
-assert withRedis -> hiredis != null;
-assert withMysql -> libmysqlclient != null;
-assert withYubikey -> libyubikey != null;
-assert withCollectd -> collectd != null;
-assert withRest -> curl != null && withJson;
+assert withRest -> withJson;
 
 stdenv.mkDerivation rec {
   pname = "freeradius";
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 8f3739b4ebfb8..3df2d833e0baa 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -54,6 +54,7 @@ buildGoModule rec {
     homepage = "https://gotify.net";
     license = licenses.mit;
     maintainers = with maintainers; [ doronbehar ];
+    mainProgram = "server";
   };
 
 }
diff --git a/pkgs/servers/gotify/source-sha.nix b/pkgs/servers/gotify/source-sha.nix
index 97b74d2c6136e..ffd16c3b1fd1a 100644
--- a/pkgs/servers/gotify/source-sha.nix
+++ b/pkgs/servers/gotify/source-sha.nix
@@ -1 +1 @@
-"0qqp05258s2ybzbxfklhya8zw9ha9crkxzwls2kfdhndlrdpgznl"
+"1c8f7y580sq9495l2cxb2jkhgqs2wf0j3x073l1xnr9lv6crfvhn"
diff --git a/pkgs/servers/gotify/version.nix b/pkgs/servers/gotify/version.nix
index 8320adbf02586..4f0805462ac6b 100644
--- a/pkgs/servers/gotify/version.nix
+++ b/pkgs/servers/gotify/version.nix
@@ -1 +1 @@
-"2.1.0"
+"2.1.4"
diff --git a/pkgs/servers/gotify/yarndeps.nix b/pkgs/servers/gotify/yarndeps.nix
index eb73ce1c35b3b..9b27099f98ce3 100644
--- a/pkgs/servers/gotify/yarndeps.nix
+++ b/pkgs/servers/gotify/yarndeps.nix
@@ -18,19 +18,19 @@
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.12.13.tgz";
+      name = "_babel_code_frame___code_frame_7.16.0.tgz";
       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";
+        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_compat_data___compat_data_7.13.12.tgz";
+      name = "_babel_compat_data___compat_data_7.16.4.tgz";
       path = fetchurl {
-        name = "_babel_compat_data___compat_data_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.12.tgz";
-        sha1 = "a8a5ccac19c200f9dd49624cac6e19d7be1236a1";
+        name = "_babel_compat_data___compat_data_7.16.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz";
+        sha1 = "081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e";
       };
     }
     {
@@ -42,395 +42,259 @@
       };
     }
     {
-      name = "_babel_core___core_7.11.6.tgz";
+      name = "_babel_core___core_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.11.6.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.11.6.tgz";
-        sha1 = "3a9455dc7387ff1bac45770650bc13ba04a15651";
+        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.13.13.tgz";
+      name = "_babel_eslint_parser___eslint_parser_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_core___core_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/core/-/core-7.13.13.tgz";
-        sha1 = "bc44c4a2be2288ec4ddf56b66fc718019c76ac29";
+        name = "_babel_eslint_parser___eslint_parser_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz";
+        sha1 = "2a6b1702f3f5aea48e00cea5a5bcc241c437e459";
       };
     }
     {
-      name = "_babel_generator___generator_7.11.6.tgz";
+      name = "_babel_generator___generator_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.11.6.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.11.6.tgz";
-        sha1 = "b868900f81b163b4d464ea24545c61cbac4dc620";
+        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.13.9.tgz";
+      name = "_babel_helper_annotate_as_pure___helper_annotate_as_pure_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.13.9.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.9.tgz";
-        sha1 = "3a7aa96f9efb8e2be42d38d80e2ceb4c64d8de39";
+        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.10.4.tgz";
+      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.16.0.tgz";
       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";
+        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_annotate_as_pure___helper_annotate_as_pure_7.12.13.tgz";
+      name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.3.tgz";
       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";
+        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz";
+        sha1 = "5b480cd13f68363df6ec4dc8ac8e2da11363cbf0";
       };
     }
     {
-      name = "_babel_helper_builder_binary_assignment_operator_visitor___helper_builder_binary_assignment_operator_visitor_7.12.13.tgz";
+      name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.16.0.tgz";
       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";
+        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_compilation_targets___helper_compilation_targets_7.13.13.tgz";
+      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_compilation_targets___helper_compilation_targets_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.13.tgz";
-        sha1 = "2b2972a0926474853f41e4adbc69338f520600e5";
+        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_class_features_plugin___helper_create_class_features_plugin_7.13.11.tgz";
+      name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_class_features_plugin___helper_create_class_features_plugin_7.13.11.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.11.tgz";
-        sha1 = "30d30a005bca2c953f5653fc25091a492177f4f6";
+        name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz";
+        sha1 = "c5b10cf4b324ff840140bb07e05b8564af2ae971";
       };
     }
     {
-      name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.4.tgz";
+      name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz";
-        sha1 = "fdd60d88524659a0b6959c0579925e425714f3b8";
+        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_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.12.17.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_create_regexp_features_plugin___helper_create_regexp_features_plugin_7.12.17.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz";
-        sha1 = "a2ac87e9e319269ac655b8d4415e94d38d663cb7";
+        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_define_polyfill_provider___helper_define_polyfill_provider_0.1.5.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_define_polyfill_provider___helper_define_polyfill_provider_0.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz";
-        sha1 = "3c2f91b7971b9fc11fe779c945c014065dea340e";
+        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_explode_assignable_expression___helper_explode_assignable_expression_7.13.0.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_explode_assignable_expression___helper_explode_assignable_expression_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz";
-        sha1 = "17b5c59ff473d9f956f40ef570cf3a76ca12657f";
+        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_function_name___helper_function_name_7.10.4.tgz";
+      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz";
-        sha1 = "d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a";
+        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_function_name___helper_function_name_7.12.13.tgz";
+      name = "_babel_helper_module_imports___helper_module_imports_7.16.0.tgz";
       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";
+        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_get_function_arity___helper_get_function_arity_7.10.4.tgz";
+      name = "_babel_helper_module_transforms___helper_module_transforms_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz";
-        sha1 = "98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2";
+        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_get_function_arity___helper_get_function_arity_7.12.13.tgz";
+      name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.16.0.tgz";
       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";
+        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_hoist_variables___helper_hoist_variables_7.13.0.tgz";
+      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.14.5.tgz";
       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";
+        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_member_expression_to_functions___helper_member_expression_to_functions_7.11.0.tgz";
+      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.11.0.tgz";
-        sha1 = "ae69c83d84ee82f4b42f96e2a09410935a8f26df";
+        name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.16.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz";
+        sha1 = "5d7902f61349ff6b963e07f06a389ce139fbfe6e";
       };
     }
     {
-      name = "_babel_helper_member_expression_to_functions___helper_member_expression_to_functions_7.13.12.tgz";
+      name = "_babel_helper_replace_supers___helper_replace_supers_7.16.0.tgz";
       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";
+        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_module_imports___helper_module_imports_7.13.12.tgz";
+      name = "_babel_helper_simple_access___helper_simple_access_7.16.0.tgz";
       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";
+        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_module_imports___helper_module_imports_7.10.4.tgz";
+      name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_imports___helper_module_imports_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz";
-        sha1 = "4c5c54be04bd31670a7382797d75b9fa2e5b5620";
+        name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz";
+        sha1 = "0ee3388070147c3ae051e487eca3ebb0e2e8bb09";
       };
     }
     {
-      name = "_babel_helper_module_transforms___helper_module_transforms_7.11.0.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.11.0.tgz";
-        sha1 = "b16f250229e47211abdd84b34b64737c2ab2d359";
+        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_module_transforms___helper_module_transforms_7.13.12.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.15.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_module_transforms___helper_module_transforms_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.12.tgz";
-        sha1 = "600e58350490828d82282631a1422268e982ba96";
+        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_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
+      name = "_babel_helper_validator_option___helper_validator_option_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_helper_optimise_call_expression___helper_optimise_call_expression_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz";
-        sha1 = "50dc96413d594f995a77905905b05893cd779673";
+        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_optimise_call_expression___helper_optimise_call_expression_7.12.13.tgz";
+      name = "_babel_helper_wrap_function___helper_wrap_function_7.16.0.tgz";
       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";
+        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_plugin_utils___helper_plugin_utils_7.10.4.tgz";
+      name = "_babel_helpers___helpers_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_helper_plugin_utils___helper_plugin_utils_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz";
-        sha1 = "2f75a831269d4f677de49986dff59927533cf375";
+        name = "_babel_helpers___helpers_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz";
+        sha1 = "27fc64f40b996e7074dc73128c3e5c3e7f55c43c";
       };
     }
     {
-      name = "_babel_helper_plugin_utils___helper_plugin_utils_7.13.0.tgz";
+      name = "_babel_highlight___highlight_7.16.0.tgz";
       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";
+        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_regex___helper_regex_7.10.5.tgz";
+      name = "_babel_parser___parser_7.16.4.tgz";
       path = fetchurl {
-        name = "_babel_helper_regex___helper_regex_7.10.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.5.tgz";
-        sha1 = "32dfbb79899073c415557053a19bd055aae50ae0";
+        name = "_babel_parser___parser_7.16.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz";
+        sha1 = "d5f92f57cf2c74ffe9b37981c0e72fee7311372e";
       };
     }
     {
-      name = "_babel_helper_remap_async_to_generator___helper_remap_async_to_generator_7.13.0.tgz";
+      name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.2.tgz";
       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";
+        name = "_babel_plugin_bugfix_safari_id_destructuring_collision_in_function_expression___plugin_bugfix_safari_id_destructuring_collision_in_function_expression_7.16.2.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.2.tgz";
+        sha1 = "2977fca9b212db153c195674e57cfab807733183";
       };
     }
     {
-      name = "_babel_helper_replace_supers___helper_replace_supers_7.10.4.tgz";
+      name = "_babel_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_helper_replace_supers___helper_replace_supers_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz";
-        sha1 = "d585cd9388ea06e6031e4cd44b6713cbead9e6cf";
+        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_helper_replace_supers___helper_replace_supers_7.13.12.tgz";
+      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.4.tgz";
       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";
-      };
-    }
-    {
-      name = "_babel_helper_simple_access___helper_simple_access_7.10.4.tgz";
-      path = fetchurl {
-        name = "_babel_helper_simple_access___helper_simple_access_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz";
-        sha1 = "0f5ccda2945277a2a7a2d3a821e15395edcf3461";
-      };
-    }
-    {
-      name = "_babel_helper_simple_access___helper_simple_access_7.13.12.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helper_skip_transparent_expression_wrappers___helper_skip_transparent_expression_wrappers_7.12.1.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
-      path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz";
-        sha1 = "f8a491244acf6a676158ac42072911ba83ad099f";
-      };
-    }
-    {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.12.13.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
-      path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz";
-        sha1 = "a78c7a7251e01f616512d31b10adcf52ada5e0d2";
-      };
-    }
-    {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.12.11.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helper_validator_option___helper_validator_option_7.12.17.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helper_wrap_function___helper_wrap_function_7.13.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_helpers___helpers_7.10.4.tgz";
-      path = fetchurl {
-        name = "_babel_helpers___helpers_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz";
-        sha1 = "2abeb0d721aff7c0a97376b9e1f6f65d7a475044";
-      };
-    }
-    {
-      name = "_babel_helpers___helpers_7.13.10.tgz";
-      path = fetchurl {
-        name = "_babel_helpers___helpers_7.13.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.10.tgz";
-        sha1 = "fd8e2ba7488533cdeac45cc158e9ebca5e3c7df8";
-      };
-    }
-    {
-      name = "_babel_highlight___highlight_7.10.4.tgz";
-      path = fetchurl {
-        name = "_babel_highlight___highlight_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz";
-        sha1 = "7d1bdfd65753538fabe6c38596cdb76d9ac60143";
-      };
-    }
-    {
-      name = "_babel_highlight___highlight_7.13.10.tgz";
-      path = fetchurl {
-        name = "_babel_highlight___highlight_7.13.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz";
-        sha1 = "a8b2a66148f5b27d666b15d81774347a731d52d1";
-      };
-    }
-    {
-      name = "_babel_parser___parser_7.11.5.tgz";
-      path = fetchurl {
-        name = "_babel_parser___parser_7.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.5.tgz";
-        sha1 = "c7ff6303df71080ec7a4f5b8c003c58f1cf51037";
-      };
-    }
-    {
-      name = "_babel_parser___parser_7.13.13.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_plugin_bugfix_v8_spread_parameters_in_optional_chaining___plugin_bugfix_v8_spread_parameters_in_optional_chaining_7.13.12.tgz";
-      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";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.13.8.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.8.tgz";
-        sha1 = "87aacb574b3bc4b5603f6fe41458d72a5a2ec4b1";
+        name = "_babel_plugin_proposal_async_generator_functions___plugin_proposal_async_generator_functions_7.16.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz";
+        sha1 = "e606eb6015fec6fa5978c940f315eae4e300b081";
       };
     }
     {
@@ -442,11 +306,19 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.13.0.tgz";
+      name = "_babel_plugin_proposal_class_properties___plugin_proposal_class_properties_7.16.0.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_static_block___plugin_proposal_class_static_block_7.16.0.tgz";
       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";
+        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";
       };
     }
     {
@@ -458,35 +330,35 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.13.8.tgz";
+      name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.13.8.tgz";
-        sha1 = "876a1f6966e1dec332e8c9451afda3bebcdf2e1d";
+        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_export_namespace_from___plugin_proposal_export_namespace_from_7.12.13.tgz";
+      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz";
-        sha1 = "393be47a4acd03fa2af6e3cde9b06e33de1b446d";
+        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_json_strings___plugin_proposal_json_strings_7.13.8.tgz";
+      name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.13.8.tgz";
-        sha1 = "bf1fb362547075afda3634ed31571c5901afef7b";
+        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_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.13.8.tgz";
+      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.13.8.tgz";
-        sha1 = "93fa78d63857c40ce3c8c3315220fd00bfbb4e1a";
+        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";
       };
     }
     {
@@ -498,11 +370,11 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.13.8.tgz";
+      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.8.tgz";
-        sha1 = "3730a31dafd3c10d8ccd10648ed80a2ac5472ef3";
+        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";
       };
     }
     {
@@ -514,27 +386,27 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.12.13.tgz";
+      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz";
-        sha1 = "bd9da3188e787b5120b4f9d465a8261ce67ed1db";
+        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_object_rest_spread___plugin_proposal_object_rest_spread_7.13.8.tgz";
+      name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.8.tgz";
-        sha1 = "5d210a4d727d6ce3b18f9de82cc99a3964eed60a";
+        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_optional_catch_binding___plugin_proposal_optional_catch_binding_7.13.8.tgz";
+      name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_catch_binding___plugin_proposal_optional_catch_binding_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.13.8.tgz";
-        sha1 = "3ad6bd5901506ea996fc31bdcf3ccfa2bed71107";
+        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";
       };
     }
     {
@@ -546,35 +418,35 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.13.12.tgz";
+      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.12.tgz";
-        sha1 = "ba9feb601d422e0adea6760c2bd6bbb7bfec4866";
+        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_private_methods___plugin_proposal_private_methods_7.13.0.tgz";
+      name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.16.0.tgz";
       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";
+        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_unicode_property_regex___plugin_proposal_unicode_property_regex_7.12.13.tgz";
+      name = "_babel_plugin_proposal_private_property_in_object___plugin_proposal_private_property_in_object_7.16.0.tgz";
       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";
+        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_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.4.tgz";
+      name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz";
-        sha1 = "4483cda53041ce3413b7fe2f00022665ddfaa75d";
+        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";
       };
     }
     {
@@ -602,11 +474,19 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.12.13.tgz";
+      name = "_babel_plugin_syntax_class_static_block___plugin_syntax_class_static_block_7.14.5.tgz";
+      path = fetchurl {
+        name = "_babel_plugin_syntax_class_static_block___plugin_syntax_class_static_block_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz";
+        sha1 = "195df89b146b4b78b3bf897fd7a257c84659d406";
+      };
+    }
+    {
+      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.16.0.tgz";
       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";
+        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz";
+        sha1 = "eb8d811cdd1060f6ac3c00956bf3f6335505a32f";
       };
     }
     {
@@ -626,11 +506,11 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.12.13.tgz";
+      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz";
-        sha1 = "5df9962503c0a9c918381c929d51d4d6949e7e86";
+        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz";
+        sha1 = "07427021d093ed77019408221beaf0272bbcfaec";
       };
     }
     {
@@ -650,11 +530,11 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.12.13.tgz";
+      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.16.0.tgz";
       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";
+        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";
       };
     }
     {
@@ -706,115 +586,107 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.12.13.tgz";
+      name = "_babel_plugin_syntax_private_property_in_object___plugin_syntax_private_property_in_object_7.14.5.tgz";
       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";
+        name = "_babel_plugin_syntax_private_property_in_object___plugin_syntax_private_property_in_object_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz";
+        sha1 = "0dc6671ec0ea22b6e94a1114f857970cd39de1ad";
       };
     }
     {
-      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.4.tgz";
+      name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz";
-        sha1 = "4bbeb8917b54fcf768364e0a81f560e33a3ef57d";
+        name = "_babel_plugin_syntax_top_level_await___plugin_syntax_top_level_await_7.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz";
+        sha1 = "c1cfdadc35a646240001f06138247b741c34d94c";
       };
     }
     {
-      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.12.13.tgz";
+      name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz";
-        sha1 = "9dff111ca64154cef0f4dc52cf843d9f12ce4474";
+        name = "_babel_plugin_syntax_typescript___plugin_syntax_typescript_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz";
+        sha1 = "2feeb13d9334cc582ea9111d3506f773174179bb";
       };
     }
     {
-      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.13.0.tgz";
+      name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.16.0.tgz";
       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";
+        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_async_to_generator___plugin_transform_async_to_generator_7.13.0.tgz";
+      name = "_babel_plugin_transform_async_to_generator___plugin_transform_async_to_generator_7.16.0.tgz";
       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";
+        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_block_scoped_functions___plugin_transform_block_scoped_functions_7.12.13.tgz";
+      name = "_babel_plugin_transform_block_scoped_functions___plugin_transform_block_scoped_functions_7.16.0.tgz";
       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";
+        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_scoping___plugin_transform_block_scoping_7.12.13.tgz";
+      name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_block_scoping___plugin_transform_block_scoping_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz";
-        sha1 = "f36e55076d06f41dfd78557ea039c1b581642e61";
+        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_classes___plugin_transform_classes_7.13.0.tgz";
+      name = "_babel_plugin_transform_classes___plugin_transform_classes_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_classes___plugin_transform_classes_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz";
-        sha1 = "0265155075c42918bf4d3a4053134176ad9b533b";
+        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_computed_properties___plugin_transform_computed_properties_7.13.0.tgz";
+      name = "_babel_plugin_transform_computed_properties___plugin_transform_computed_properties_7.16.0.tgz";
       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";
+        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_destructuring___plugin_transform_destructuring_7.13.0.tgz";
+      name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_destructuring___plugin_transform_destructuring_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz";
-        sha1 = "c5dce270014d4e1ebb1d806116694c12b7028963";
+        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_dotall_regex___plugin_transform_dotall_regex_7.12.13.tgz";
+      name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.16.0.tgz";
       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";
+        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.10.4.tgz";
+      name = "_babel_plugin_transform_duplicate_keys___plugin_transform_duplicate_keys_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_dotall_regex___plugin_transform_dotall_regex_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz";
-        sha1 = "469c2062105c1eb6a040eaf4fac4b488078395ee";
+        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.12.13.tgz";
+      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.16.0.tgz";
       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";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_exponentiation_operator___plugin_transform_exponentiation_operator_7.12.13.tgz";
-      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";
+        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";
       };
     }
     {
@@ -826,115 +698,115 @@
       };
     }
     {
-      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.13.0.tgz";
+      name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.16.0.tgz";
       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";
+        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_function_name___plugin_transform_function_name_7.12.13.tgz";
+      name = "_babel_plugin_transform_function_name___plugin_transform_function_name_7.16.0.tgz";
       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";
+        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_literals___plugin_transform_literals_7.12.13.tgz";
+      name = "_babel_plugin_transform_literals___plugin_transform_literals_7.16.0.tgz";
       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";
+        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_member_expression_literals___plugin_transform_member_expression_literals_7.12.13.tgz";
+      name = "_babel_plugin_transform_member_expression_literals___plugin_transform_member_expression_literals_7.16.0.tgz";
       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";
+        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_modules_amd___plugin_transform_modules_amd_7.13.0.tgz";
+      name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_amd___plugin_transform_modules_amd_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz";
-        sha1 = "19f511d60e3d8753cc5a6d4e775d3a5184866cc3";
+        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_commonjs___plugin_transform_modules_commonjs_7.13.8.tgz";
+      name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_commonjs___plugin_transform_modules_commonjs_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.8.tgz";
-        sha1 = "7b01ad7c2dcf2275b06fa1781e00d13d420b3e1b";
+        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_systemjs___plugin_transform_modules_systemjs_7.13.8.tgz";
+      name = "_babel_plugin_transform_modules_systemjs___plugin_transform_modules_systemjs_7.16.0.tgz";
       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";
+        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_umd___plugin_transform_modules_umd_7.13.0.tgz";
+      name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_modules_umd___plugin_transform_modules_umd_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz";
-        sha1 = "8a3d96a97d199705b9fd021580082af81c06e70b";
+        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_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.12.13.tgz";
+      name = "_babel_plugin_transform_named_capturing_groups_regex___plugin_transform_named_capturing_groups_regex_7.16.0.tgz";
       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";
+        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_new_target___plugin_transform_new_target_7.12.13.tgz";
+      name = "_babel_plugin_transform_new_target___plugin_transform_new_target_7.16.0.tgz";
       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";
+        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_object_super___plugin_transform_object_super_7.12.13.tgz";
+      name = "_babel_plugin_transform_object_super___plugin_transform_object_super_7.16.0.tgz";
       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";
+        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_parameters___plugin_transform_parameters_7.13.0.tgz";
+      name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz";
-        sha1 = "8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007";
+        name = "_babel_plugin_transform_parameters___plugin_transform_parameters_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz";
+        sha1 = "fa9e4c874ee5223f891ee6fa8d737f4766d31d15";
       };
     }
     {
-      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.12.13.tgz";
+      name = "_babel_plugin_transform_property_literals___plugin_transform_property_literals_7.16.0.tgz";
       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";
+        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_react_constant_elements___plugin_transform_react_constant_elements_7.13.13.tgz";
+      name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz";
-        sha1 = "0208b1d942bf939cd4f7aa5b255d42602aa4a920";
+        name = "_babel_plugin_transform_react_constant_elements___plugin_transform_react_constant_elements_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.0.tgz";
+        sha1 = "1483b894b8e6ef0709d260532fbd4db9fc27a0e6";
       };
     }
     {
@@ -946,67 +818,67 @@
       };
     }
     {
-      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.12.13.tgz";
+      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.16.0.tgz";
       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";
+        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_jsx_development___plugin_transform_react_jsx_development_7.12.17.tgz";
+      name = "_babel_plugin_transform_react_jsx_development___plugin_transform_react_jsx_development_7.16.0.tgz";
       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";
+        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_self___plugin_transform_react_jsx_self_7.12.13.tgz";
+      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz";
-        sha1 = "422d99d122d592acab9c35ea22a6cfd9bf189f60";
+        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.0.tgz";
+        sha1 = "09202158abbc716a08330f392bfb98d6b9acfa0c";
       };
     }
     {
-      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.12.13.tgz";
+      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz";
-        sha1 = "051d76126bee5c9a6aa3ba37be2f6c1698856bcb";
+        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.0.tgz";
+        sha1 = "d40c959d7803aae38224594585748693e84c0a22";
       };
     }
     {
-      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.13.12.tgz";
+      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.16.0.tgz";
       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";
+        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_pure_annotations___plugin_transform_react_pure_annotations_7.12.1.tgz";
+      name = "_babel_plugin_transform_react_pure_annotations___plugin_transform_react_pure_annotations_7.16.0.tgz";
       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";
+        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_regenerator___plugin_transform_regenerator_7.12.13.tgz";
+      name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz";
-        sha1 = "b628bcc9c85260ac1aeb05b45bde25210194a2f5";
+        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_reserved_words___plugin_transform_reserved_words_7.12.13.tgz";
+      name = "_babel_plugin_transform_reserved_words___plugin_transform_reserved_words_7.16.0.tgz";
       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";
+        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";
       };
     }
     {
@@ -1018,67 +890,67 @@
       };
     }
     {
-      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.12.13.tgz";
+      name = "_babel_plugin_transform_shorthand_properties___plugin_transform_shorthand_properties_7.16.0.tgz";
       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";
+        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_spread___plugin_transform_spread_7.13.0.tgz";
+      name = "_babel_plugin_transform_spread___plugin_transform_spread_7.16.0.tgz";
       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";
+        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_sticky_regex___plugin_transform_sticky_regex_7.12.13.tgz";
+      name = "_babel_plugin_transform_sticky_regex___plugin_transform_sticky_regex_7.16.0.tgz";
       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";
+        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_template_literals___plugin_transform_template_literals_7.13.0.tgz";
+      name = "_babel_plugin_transform_template_literals___plugin_transform_template_literals_7.16.0.tgz";
       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";
+        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_typeof_symbol___plugin_transform_typeof_symbol_7.12.13.tgz";
+      name = "_babel_plugin_transform_typeof_symbol___plugin_transform_typeof_symbol_7.16.0.tgz";
       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";
+        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_typescript___plugin_transform_typescript_7.13.0.tgz";
+      name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.16.1.tgz";
       path = fetchurl {
-        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.13.0.tgz";
-        sha1 = "4a498e1f3600342d2a9e61f60131018f55774853";
+        name = "_babel_plugin_transform_typescript___plugin_transform_typescript_7.16.1.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz";
+        sha1 = "cc0670b2822b0338355bc1b3d2246a42b8166409";
       };
     }
     {
-      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.12.13.tgz";
+      name = "_babel_plugin_transform_unicode_escapes___plugin_transform_unicode_escapes_7.16.0.tgz";
       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";
+        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_regex___plugin_transform_unicode_regex_7.12.13.tgz";
+      name = "_babel_plugin_transform_unicode_regex___plugin_transform_unicode_regex_7.16.0.tgz";
       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";
+        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";
       };
     }
     {
@@ -1090,19 +962,19 @@
       };
     }
     {
-      name = "_babel_preset_env___preset_env_7.13.12.tgz";
+      name = "_babel_preset_env___preset_env_7.16.4.tgz";
       path = fetchurl {
-        name = "_babel_preset_env___preset_env_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.12.tgz";
-        sha1 = "6dff470478290582ac282fb77780eadf32480237";
+        name = "_babel_preset_env___preset_env_7.16.4.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz";
+        sha1 = "4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3";
       };
     }
     {
-      name = "_babel_preset_modules___preset_modules_0.1.4.tgz";
+      name = "_babel_preset_modules___preset_modules_0.1.5.tgz";
       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";
+        name = "_babel_preset_modules___preset_modules_0.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz";
+        sha1 = "ef939d6e7f268827e1841638dc6ff95515e115d9";
       };
     }
     {
@@ -1114,11 +986,11 @@
       };
     }
     {
-      name = "_babel_preset_react___preset_react_7.13.13.tgz";
+      name = "_babel_preset_react___preset_react_7.16.0.tgz";
       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";
+        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";
       };
     }
     {
@@ -1130,11 +1002,11 @@
       };
     }
     {
-      name = "_babel_runtime_corejs3___runtime_corejs3_7.13.10.tgz";
+      name = "_babel_runtime_corejs3___runtime_corejs3_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_runtime_corejs3___runtime_corejs3_7.13.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.10.tgz";
-        sha1 = "14c3f4c85de22ba88e8e86685d13e8861a82fe86";
+        name = "_babel_runtime_corejs3___runtime_corejs3_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz";
+        sha1 = "1e25de4fa994c57c18e5fdda6cc810dac70f5590";
       };
     }
     {
@@ -1146,67 +1018,35 @@
       };
     }
     {
-      name = "_babel_runtime___runtime_7.11.2.tgz";
-      path = fetchurl {
-        name = "_babel_runtime___runtime_7.11.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz";
-        sha1 = "f549c13c754cc40b87644b9fa9f09a6a95fe0736";
-      };
-    }
-    {
-      name = "_babel_runtime___runtime_7.13.10.tgz";
-      path = fetchurl {
-        name = "_babel_runtime___runtime_7.13.10.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz";
-        sha1 = "47d42a57b6095f4468da440388fdbad8bebf0d7d";
-      };
-    }
-    {
-      name = "_babel_template___template_7.10.4.tgz";
-      path = fetchurl {
-        name = "_babel_template___template_7.10.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz";
-        sha1 = "3251996c4200ebc71d1a8fc405fba940f36ba278";
-      };
-    }
-    {
-      name = "_babel_template___template_7.12.13.tgz";
+      name = "_babel_runtime___runtime_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.12.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz";
-        sha1 = "530265be8a2589dbb37523844c5bcb55947fb327";
+        name = "_babel_runtime___runtime_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz";
+        sha1 = "b86f0db02a04187a3c17caa77de69840165d42d5";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.11.5.tgz";
+      name = "_babel_template___template_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.11.5.tgz";
-        sha1 = "be777b93b518eb6d76ee2e1ea1d143daa11e61c3";
+        name = "_babel_template___template_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz";
+        sha1 = "d16a35ebf4cd74e202083356fab21dd89363ddd6";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.13.13.tgz";
+      name = "_babel_traverse___traverse_7.16.3.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.13.tgz";
-        sha1 = "39aa9c21aab69f74d948a486dd28a2dbdbf5114d";
+        name = "_babel_traverse___traverse_7.16.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz";
+        sha1 = "f63e8a938cc1b780f66d9ed3c54f532ca2d14787";
       };
     }
     {
-      name = "_babel_types___types_7.11.5.tgz";
+      name = "_babel_types___types_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.11.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.11.5.tgz";
-        sha1 = "d9de577d01252d77c6800cee039ee64faf75662d";
-      };
-    }
-    {
-      name = "_babel_types___types_7.13.13.tgz";
-      path = fetchurl {
-        name = "_babel_types___types_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.13.13.tgz";
-        sha1 = "dcd8b815b38f537a3697ce84c8e3cc62197df96f";
+        name = "_babel_types___types_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz";
+        sha1 = "db3b313804f96aadd0b776c4823e127ad67289ba";
       };
     }
     {
@@ -1250,11 +1090,19 @@
       };
     }
     {
-      name = "_eslint_eslintrc___eslintrc_0.4.0.tgz";
+      name = "_eslint_eslintrc___eslintrc_0.4.3.tgz";
+      path = fetchurl {
+        name = "_eslint_eslintrc___eslintrc_0.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz";
+        sha1 = "9e42981ef035beb3dd49add17acb96e8ff6f394c";
+      };
+    }
+    {
+      name = "_gar_promisify___promisify_1.1.2.tgz";
       path = fetchurl {
-        name = "_eslint_eslintrc___eslintrc_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz";
-        sha1 = "99cc0a0584d72f1df38b900fb062ba995f395547";
+        name = "_gar_promisify___promisify_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz";
+        sha1 = "30aa825f11d438671d585bd44e7fd564535fc210";
       };
     }
     {
@@ -1282,11 +1130,11 @@
       };
     }
     {
-      name = "_hapi_hoek___hoek_9.1.0.tgz";
+      name = "_hapi_hoek___hoek_9.2.1.tgz";
       path = fetchurl {
-        name = "_hapi_hoek___hoek_9.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.1.0.tgz";
-        sha1 = "6c9eafc78c1529248f8f4d92b0799a712b6052c6";
+        name = "_hapi_hoek___hoek_9.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz";
+        sha1 = "9551142a1980503752536b5050fd99f4a7f13b17";
       };
     }
     {
@@ -1306,11 +1154,27 @@
       };
     }
     {
-      name = "_hapi_topo___topo_5.0.0.tgz";
+      name = "_hapi_topo___topo_5.1.0.tgz";
       path = fetchurl {
-        name = "_hapi_topo___topo_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.0.0.tgz";
-        sha1 = "c19af8577fa393a06e9c77b60995af959be721e7";
+        name = "_hapi_topo___topo_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz";
+        sha1 = "dc448e332c6c6e37a4dc02fd84ba8d44b9afb012";
+      };
+    }
+    {
+      name = "_humanwhocodes_config_array___config_array_0.5.0.tgz";
+      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";
+      };
+    }
+    {
+      name = "_humanwhocodes_object_schema___object_schema_1.2.1.tgz";
+      path = fetchurl {
+        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";
       };
     }
     {
@@ -1418,11 +1282,11 @@
       };
     }
     {
-      name = "_material_ui_core___core_4.11.4.tgz";
+      name = "_material_ui_core___core_4.12.3.tgz";
       path = fetchurl {
-        name = "_material_ui_core___core_4.11.4.tgz";
-        url  = "https://registry.yarnpkg.com/@material-ui/core/-/core-4.11.4.tgz";
-        sha1 = "4fb9fe5dec5dcf780b687e3a40cff78b2b9640a4";
+        name = "_material_ui_core___core_4.12.3.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.3.tgz";
+        sha1 = "80d665caf0f1f034e52355c5450c0e38b099d3ca";
       };
     }
     {
@@ -1442,11 +1306,11 @@
       };
     }
     {
-      name = "_material_ui_system___system_4.11.3.tgz";
+      name = "_material_ui_system___system_4.12.1.tgz";
       path = fetchurl {
-        name = "_material_ui_system___system_4.11.3.tgz";
-        url  = "https://registry.yarnpkg.com/@material-ui/system/-/system-4.11.3.tgz";
-        sha1 = "466bc14c9986798fd325665927c963eb47cc4143";
+        name = "_material_ui_system___system_4.12.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/system/-/system-4.12.1.tgz";
+        sha1 = "2dd96c243f8c0a331b2bb6d46efd7771a399707c";
       };
     }
     {
@@ -1466,27 +1330,35 @@
       };
     }
     {
-      name = "_nodelib_fs.scandir___fs.scandir_2.1.3.tgz";
+      name = "_nodelib_fs.scandir___fs.scandir_2.1.5.tgz";
+      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";
+      };
+    }
+    {
+      name = "_nodelib_fs.stat___fs.stat_2.0.5.tgz";
       path = fetchurl {
-        name = "_nodelib_fs.scandir___fs.scandir_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz";
-        sha1 = "3a582bdb53804c6ba6d146579c46e52130cf4a3b";
+        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";
       };
     }
     {
-      name = "_nodelib_fs.stat___fs.stat_2.0.3.tgz";
+      name = "_nodelib_fs.walk___fs.walk_1.2.8.tgz";
       path = fetchurl {
-        name = "_nodelib_fs.stat___fs.stat_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz";
-        sha1 = "34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3";
+        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";
       };
     }
     {
-      name = "_nodelib_fs.walk___fs.walk_1.2.4.tgz";
+      name = "_npmcli_fs___fs_1.0.0.tgz";
       path = fetchurl {
-        name = "_nodelib_fs.walk___fs.walk_1.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz";
-        sha1 = "011b9202a70a6366e436ca5c065844528ab04976";
+        name = "_npmcli_fs___fs_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz";
+        sha1 = "589612cfad3a6ea0feafcb901d29c63fd52db09f";
       };
     }
     {
@@ -1530,11 +1402,11 @@
       };
     }
     {
-      name = "_sideway_address___address_4.1.2.tgz";
+      name = "_sideway_address___address_4.1.3.tgz";
       path = fetchurl {
-        name = "_sideway_address___address_4.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.2.tgz";
-        sha1 = "811b84333a335739d3969cfc434736268170cad1";
+        name = "_sideway_address___address_4.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.3.tgz";
+        sha1 = "d93cce5d45c5daec92ad76db492cc2ee3c64ab27";
       };
     }
     {
@@ -1554,11 +1426,11 @@
       };
     }
     {
-      name = "_sinonjs_commons___commons_1.8.2.tgz";
+      name = "_sinonjs_commons___commons_1.8.3.tgz";
       path = fetchurl {
-        name = "_sinonjs_commons___commons_1.8.2.tgz";
-        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz";
-        sha1 = "858f5c4b48d80778fde4b9d541f27edc0d56488b";
+        name = "_sinonjs_commons___commons_1.8.3.tgz";
+        url  = "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz";
+        sha1 = "3802ddd21a50a949b6721ddd72da36e67e7f1b2d";
       };
     }
     {
@@ -1690,51 +1562,43 @@
       };
     }
     {
-      name = "_types_anymatch___anymatch_1.3.1.tgz";
+      name = "_tootallnate_once___once_1.1.2.tgz";
       path = fetchurl {
-        name = "_types_anymatch___anymatch_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/anymatch/-/anymatch-1.3.1.tgz";
-        sha1 = "336badc1beecb9dacc38bea2cf32adf627a8421a";
+        name = "_tootallnate_once___once_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz";
+        sha1 = "ccb91445360179a04e7fe6aff78c00ffc1eeaf82";
       };
     }
     {
-      name = "_types_babel__core___babel__core_7.1.14.tgz";
+      name = "_types_babel__core___babel__core_7.1.16.tgz";
       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";
+        name = "_types_babel__core___babel__core_7.1.16.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz";
+        sha1 = "bc12c74b7d65e82d29876b5d0baf5c625ac58702";
       };
     }
     {
-      name = "_types_babel__generator___babel__generator_7.6.1.tgz";
+      name = "_types_babel__generator___babel__generator_7.6.3.tgz";
       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";
+        name = "_types_babel__generator___babel__generator_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz";
+        sha1 = "f456b4b2ce79137f768aa130d2423d2f0ccfaba5";
       };
     }
     {
-      name = "_types_babel__template___babel__template_7.0.2.tgz";
+      name = "_types_babel__template___babel__template_7.4.1.tgz";
       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";
+        name = "_types_babel__template___babel__template_7.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz";
+        sha1 = "3d1a48fd9d6c0edfd56f2ff578daed48f36c8969";
       };
     }
     {
-      name = "_types_babel__traverse___babel__traverse_7.0.14.tgz";
+      name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
       path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.0.14.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.14.tgz";
-        sha1 = "e99da8c075d4fb098c774ba65dabf7dc9954bd13";
-      };
-    }
-    {
-      name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
-      path = fetchurl {
-        name = "_types_babel__traverse___babel__traverse_7.11.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz";
-        sha1 = "654f6c4f67568e24c23b367e947098c6206fa639";
+        name = "_types_babel__traverse___babel__traverse_7.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
+        sha1 = "ffcd470bbb3f8bf30481678fb5502278ca833a43";
       };
     }
     {
@@ -1746,14 +1610,6 @@
       };
     }
     {
-      name = "_types_color_name___color_name_1.1.1.tgz";
-      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";
-      };
-    }
-    {
       name = "_types_detect_browser___detect_browser_4.0.0.tgz";
       path = fetchurl {
         name = "_types_detect_browser___detect_browser_4.0.0.tgz";
@@ -1762,19 +1618,19 @@
       };
     }
     {
-      name = "_types_eslint___eslint_7.2.7.tgz";
+      name = "_types_eslint___eslint_7.29.0.tgz";
       path = fetchurl {
-        name = "_types_eslint___eslint_7.2.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.7.tgz";
-        sha1 = "f7ef1cf0dceab0ae6f9a976a0a9af14ab1baca26";
+        name = "_types_eslint___eslint_7.29.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz";
+        sha1 = "e56ddc8e542815272720bb0b4ccc2aff9c3e1c78";
       };
     }
     {
-      name = "_types_estree___estree_0.0.45.tgz";
+      name = "_types_estree___estree_0.0.50.tgz";
       path = fetchurl {
-        name = "_types_estree___estree_0.0.45.tgz";
-        url  = "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.45.tgz";
-        sha1 = "e9387572998e5ecdac221950dab3e8c3b16af884";
+        name = "_types_estree___estree_0.0.50.tgz";
+        url  = "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz";
+        sha1 = "1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83";
       };
     }
     {
@@ -1794,11 +1650,11 @@
       };
     }
     {
-      name = "_types_glob___glob_7.1.3.tgz";
+      name = "_types_glob___glob_7.2.0.tgz";
       path = fetchurl {
-        name = "_types_glob___glob_7.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz";
-        sha1 = "e6ba80f36b7daad2c685acd9266382e68985c183";
+        name = "_types_glob___glob_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz";
+        sha1 = "bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb";
       };
     }
     {
@@ -1810,27 +1666,27 @@
       };
     }
     {
-      name = "_types_hast___hast_2.3.1.tgz";
+      name = "_types_hast___hast_2.3.4.tgz";
       path = fetchurl {
-        name = "_types_hast___hast_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.1.tgz";
-        sha1 = "b16872f2a6144c7025f296fb9636a667ebb79cd9";
+        name = "_types_hast___hast_2.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz";
+        sha1 = "8aa5ef92c117d20d974a82bdfb6a648b08c0bafc";
       };
     }
     {
-      name = "_types_history___history_4.7.7.tgz";
+      name = "_types_history___history_4.7.9.tgz";
       path = fetchurl {
-        name = "_types_history___history_4.7.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.7.tgz";
-        sha1 = "613957d900fab9ff84c8dfb24fa3eef0c2a40896";
+        name = "_types_history___history_4.7.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/history/-/history-4.7.9.tgz";
+        sha1 = "1cfb6d60ef3822c589f18e70f8b12f9a28ce8724";
       };
     }
     {
-      name = "_types_html_minifier_terser___html_minifier_terser_5.1.1.tgz";
+      name = "_types_html_minifier_terser___html_minifier_terser_5.1.2.tgz";
       path = fetchurl {
-        name = "_types_html_minifier_terser___html_minifier_terser_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha1 = "3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50";
+        name = "_types_html_minifier_terser___html_minifier_terser_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz";
+        sha1 = "693b316ad323ea97eed6b38ed1a3cc02b1672b57";
       };
     }
     {
@@ -1850,19 +1706,19 @@
       };
     }
     {
-      name = "_types_istanbul_reports___istanbul_reports_3.0.0.tgz";
+      name = "_types_istanbul_reports___istanbul_reports_3.0.1.tgz";
       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";
+        name = "_types_istanbul_reports___istanbul_reports_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz";
+        sha1 = "9153fe98bba2bd565a63add9436d6f0d7f8468ff";
       };
     }
     {
-      name = "_types_jest___jest_26.0.23.tgz";
+      name = "_types_jest___jest_26.0.24.tgz";
       path = fetchurl {
-        name = "_types_jest___jest_26.0.23.tgz";
-        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.23.tgz";
-        sha1 = "a1b7eab3c503b80451d019efb588ec63522ee4e7";
+        name = "_types_jest___jest_26.0.24.tgz";
+        url  = "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz";
+        sha1 = "943d11976b16739185913a1936e0de0c4a7d595a";
       };
     }
     {
@@ -1874,19 +1730,11 @@
       };
     }
     {
-      name = "_types_json_schema___json_schema_7.0.7.tgz";
+      name = "_types_json_schema___json_schema_7.0.9.tgz";
       path = fetchurl {
-        name = "_types_json_schema___json_schema_7.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz";
-        sha1 = "98a993516c859eb0d5c4c8f098317a9ea68db9ad";
-      };
-    }
-    {
-      name = "_types_json_schema___json_schema_7.0.6.tgz";
-      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";
+        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";
       };
     }
     {
@@ -1898,51 +1746,51 @@
       };
     }
     {
-      name = "_types_mdast___mdast_3.0.3.tgz";
+      name = "_types_mdast___mdast_3.0.10.tgz";
       path = fetchurl {
-        name = "_types_mdast___mdast_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz";
-        sha1 = "2d7d671b1cd1ea3deb306ea75036c2a0407d2deb";
+        name = "_types_mdast___mdast_3.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz";
+        sha1 = "4724244a82a4598884cbbe9bcfd73dff927ee8af";
       };
     }
     {
-      name = "_types_minimatch___minimatch_3.0.3.tgz";
+      name = "_types_minimatch___minimatch_3.0.5.tgz";
       path = fetchurl {
-        name = "_types_minimatch___minimatch_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz";
-        sha1 = "3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d";
+        name = "_types_minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz";
+        sha1 = "1001cc5e6a3704b83c236027e77f2f58ea010f40";
       };
     }
     {
-      name = "_types_node___node_14.10.1.tgz";
+      name = "_types_node___node_16.11.11.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.10.1.tgz";
-        sha1 = "cc323bad8e8a533d4822f45ce4e5326f36e42177";
+        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_15.12.2.tgz";
+      name = "_types_node___node_15.14.9.tgz";
       path = fetchurl {
-        name = "_types_node___node_15.12.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.12.2.tgz";
-        sha1 = "1f2b42c4be7156ff4a6f914b2fb03d05fa84e38d";
+        name = "_types_node___node_15.14.9.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz";
+        sha1 = "bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa";
       };
     }
     {
-      name = "_types_normalize_package_data___normalize_package_data_2.4.0.tgz";
+      name = "_types_normalize_package_data___normalize_package_data_2.4.1.tgz";
       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";
+        name = "_types_normalize_package_data___normalize_package_data_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz";
+        sha1 = "d3357479a0fdfdd5907fe67e17e0a85c906e1301";
       };
     }
     {
-      name = "_types_notifyjs___notifyjs_3.0.2.tgz";
+      name = "_types_notifyjs___notifyjs_3.0.3.tgz";
       path = fetchurl {
-        name = "_types_notifyjs___notifyjs_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/notifyjs/-/notifyjs-3.0.2.tgz";
-        sha1 = "97451aa8225e7bbf4f73bf0cb6f9fd2e12889719";
+        name = "_types_notifyjs___notifyjs_3.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/notifyjs/-/notifyjs-3.0.3.tgz";
+        sha1 = "b0de6a646f4dd71ae45d2c2bbac886a8a6ac86ba";
       };
     }
     {
@@ -1954,43 +1802,43 @@
       };
     }
     {
-      name = "_types_prettier___prettier_2.2.3.tgz";
+      name = "_types_prettier___prettier_2.4.2.tgz";
       path = fetchurl {
-        name = "_types_prettier___prettier_2.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz";
-        sha1 = "ef65165aea2924c9359205bf748865b8881753c0";
+        name = "_types_prettier___prettier_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz";
+        sha1 = "4c62fae93eb479660c3bd93f9d24d561597a8281";
       };
     }
     {
-      name = "_types_prop_types___prop_types_15.7.3.tgz";
+      name = "_types_prop_types___prop_types_15.7.4.tgz";
       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";
+        name = "_types_prop_types___prop_types_15.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz";
+        sha1 = "fcf7205c25dff795ee79af1e30da2c9790808f11";
       };
     }
     {
-      name = "_types_puppeteer___puppeteer_5.4.3.tgz";
+      name = "_types_puppeteer___puppeteer_5.4.4.tgz";
       path = fetchurl {
-        name = "_types_puppeteer___puppeteer_5.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-5.4.3.tgz";
-        sha1 = "cdca84aa7751d77448d8a477dbfa0af1f11485f2";
+        name = "_types_puppeteer___puppeteer_5.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/puppeteer/-/puppeteer-5.4.4.tgz";
+        sha1 = "e92abeccc4f46207c3e1b38934a1246be080ccd0";
       };
     }
     {
-      name = "_types_q___q_1.5.4.tgz";
+      name = "_types_q___q_1.5.5.tgz";
       path = fetchurl {
-        name = "_types_q___q_1.5.4.tgz";
-        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz";
-        sha1 = "15925414e0ad2cd765bfef58842f7e26a7accb24";
+        name = "_types_q___q_1.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz";
+        sha1 = "75a2a8e7d8ab4b230414505d92335d1dcb53a6df";
       };
     }
     {
-      name = "_types_react_dom___react_dom_16.9.13.tgz";
+      name = "_types_react_dom___react_dom_16.9.14.tgz";
       path = fetchurl {
-        name = "_types_react_dom___react_dom_16.9.13.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.13.tgz";
-        sha1 = "5898f0ee68fe200685e6b61d3d7d8828692814d0";
+        name = "_types_react_dom___react_dom_16.9.14.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.14.tgz";
+        sha1 = "674b8f116645fe5266b40b525777fc6bb8eb3bcd";
       };
     }
     {
@@ -2002,51 +1850,51 @@
       };
     }
     {
-      name = "_types_react_router_dom___react_router_dom_5.1.7.tgz";
+      name = "_types_react_router_dom___react_router_dom_5.3.2.tgz";
       path = fetchurl {
-        name = "_types_react_router_dom___react_router_dom_5.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.1.7.tgz";
-        sha1 = "a126d9ea76079ffbbdb0d9225073eb5797ab7271";
+        name = "_types_react_router_dom___react_router_dom_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.2.tgz";
+        sha1 = "ebd8e145cf056db5c66eb1dac63c72f52e8542ee";
       };
     }
     {
-      name = "_types_react_router___react_router_5.1.8.tgz";
+      name = "_types_react_router___react_router_5.1.17.tgz";
       path = fetchurl {
-        name = "_types_react_router___react_router_5.1.8.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.8.tgz";
-        sha1 = "4614e5ba7559657438e17766bb95ef6ed6acc3fa";
+        name = "_types_react_router___react_router_5.1.17.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.17.tgz";
+        sha1 = "087091006213b11042f39570e5cd414863693968";
       };
     }
     {
-      name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
+      name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
       path = fetchurl {
-        name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz";
-        sha1 = "e1a3cb278df7f47f17b5082b1b3da17170bd44b1";
+        name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz";
+        sha1 = "acd4cceaa2be6b757db61ed7b432e103242d163e";
       };
     }
     {
-      name = "_types_react___react_17.0.11.tgz";
+      name = "_types_react___react_17.0.37.tgz";
       path = fetchurl {
-        name = "_types_react___react_17.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react/-/react-17.0.11.tgz";
-        sha1 = "67fcd0ddbf5a0b083a0f94e926c7d63f3b836451";
+        name = "_types_react___react_17.0.37.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz";
+        sha1 = "6884d0aa402605935c397ae689deed115caad959";
       };
     }
     {
-      name = "_types_react___react_16.14.8.tgz";
+      name = "_types_react___react_16.14.21.tgz";
       path = fetchurl {
-        name = "_types_react___react_16.14.8.tgz";
-        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.14.8.tgz";
-        sha1 = "4aee3ab004cb98451917c9b7ada3c7d7e52db3fe";
+        name = "_types_react___react_16.14.21.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react/-/react-16.14.21.tgz";
+        sha1 = "35199b21a278355ec7a3c40003bd6a334bd4ae4a";
       };
     }
     {
-      name = "_types_remove_markdown___remove_markdown_0.3.0.tgz";
+      name = "_types_remove_markdown___remove_markdown_0.3.1.tgz";
       path = fetchurl {
-        name = "_types_remove_markdown___remove_markdown_0.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/remove-markdown/-/remove-markdown-0.3.0.tgz";
-        sha1 = "8014f12e4c45637c4cd190ae66afde189bec41d1";
+        name = "_types_remove_markdown___remove_markdown_0.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/remove-markdown/-/remove-markdown-0.3.1.tgz";
+        sha1 = "82bc3664c313f50f7c77f1bb59935f567689dc63";
       };
     }
     {
@@ -2058,19 +1906,19 @@
       };
     }
     {
-      name = "_types_rimraf___rimraf_3.0.0.tgz";
+      name = "_types_rimraf___rimraf_3.0.2.tgz";
       path = fetchurl {
-        name = "_types_rimraf___rimraf_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.0.tgz";
-        sha1 = "b9d03f090ece263671898d57bb7bb007023ac19f";
+        name = "_types_rimraf___rimraf_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz";
+        sha1 = "a63d175b331748e5220ad48c901d7bbf1f44eef8";
       };
     }
     {
-      name = "_types_scheduler___scheduler_0.16.1.tgz";
+      name = "_types_scheduler___scheduler_0.16.2.tgz";
       path = fetchurl {
-        name = "_types_scheduler___scheduler_0.16.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz";
-        sha1 = "18845205e86ff0038517aab7a18a62a6b9f71275";
+        name = "_types_scheduler___scheduler_0.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz";
+        sha1 = "1a62f89525723dde24ba1b01b092bf5df8ad4d39";
       };
     }
     {
@@ -2082,115 +1930,99 @@
       };
     }
     {
-      name = "_types_stack_utils___stack_utils_2.0.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "_types_tapable___tapable_1.0.7.tgz";
-      path = fetchurl {
-        name = "_types_tapable___tapable_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz";
-        sha1 = "545158342f949e8fd3bfd813224971ecddc3fac4";
-      };
-    }
-    {
-      name = "_types_tern___tern_0.23.3.tgz";
+      name = "_types_stack_utils___stack_utils_2.0.1.tgz";
       path = fetchurl {
-        name = "_types_tern___tern_0.23.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.3.tgz";
-        sha1 = "4b54538f04a88c9ff79de1f6f94f575a7f339460";
+        name = "_types_stack_utils___stack_utils_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz";
+        sha1 = "20f18294f797f2209b5f65c8e3b5c8e8261d127c";
       };
     }
     {
-      name = "_types_uglify_js___uglify_js_3.13.0.tgz";
+      name = "_types_tapable___tapable_1.0.8.tgz";
       path = fetchurl {
-        name = "_types_uglify_js___uglify_js_3.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz";
-        sha1 = "1cad8df1fb0b143c5aba08de5712ea9d1ff71124";
+        name = "_types_tapable___tapable_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz";
+        sha1 = "b94a4391c85666c7b73299fd3ad79d4faa435310";
       };
     }
     {
-      name = "_types_unist___unist_2.0.3.tgz";
+      name = "_types_tern___tern_0.23.4.tgz";
       path = fetchurl {
-        name = "_types_unist___unist_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz";
-        sha1 = "9c088679876f374eb5983f150d4787aa6fb32d7e";
+        name = "_types_tern___tern_0.23.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz";
+        sha1 = "03926eb13dbeaf3ae0d390caf706b2643a0127fb";
       };
     }
     {
-      name = "_types_webpack_sources___webpack_sources_2.1.0.tgz";
+      name = "_types_uglify_js___uglify_js_3.13.1.tgz";
       path = fetchurl {
-        name = "_types_webpack_sources___webpack_sources_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz";
-        sha1 = "8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10";
+        name = "_types_uglify_js___uglify_js_3.13.1.tgz";
+        url  = "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz";
+        sha1 = "5e889e9e81e94245c75b6450600e1c5ea2878aea";
       };
     }
     {
-      name = "_types_webpack___webpack_4.41.27.tgz";
+      name = "_types_unist___unist_2.0.6.tgz";
       path = fetchurl {
-        name = "_types_webpack___webpack_4.41.27.tgz";
-        url  = "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.27.tgz";
-        sha1 = "f47da488c8037e7f1b2dbf2714fbbacb61ec0ffc";
+        name = "_types_unist___unist_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz";
+        sha1 = "250a7b16c3b91f672a24552ec64678eeb1d3a08d";
       };
     }
     {
-      name = "_types_yargs_parser___yargs_parser_15.0.0.tgz";
+      name = "_types_webpack_sources___webpack_sources_3.2.0.tgz";
       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";
+        name = "_types_webpack_sources___webpack_sources_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz";
+        sha1 = "16d759ba096c289034b26553d2df1bf45248d38b";
       };
     }
     {
-      name = "_types_yargs___yargs_15.0.5.tgz";
+      name = "_types_webpack___webpack_4.41.32.tgz";
       path = fetchurl {
-        name = "_types_yargs___yargs_15.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz";
-        sha1 = "947e9a6561483bdee9adffc983e91a6902af8b79";
+        name = "_types_webpack___webpack_4.41.32.tgz";
+        url  = "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz";
+        sha1 = "a7bab03b72904070162b2f169415492209e94212";
       };
     }
     {
-      name = "_types_yauzl___yauzl_2.9.1.tgz";
+      name = "_types_yargs_parser___yargs_parser_20.2.1.tgz";
       path = fetchurl {
-        name = "_types_yauzl___yauzl_2.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz";
-        sha1 = "d10f69f9f522eef3cf98e30afb684a1e1ec923af";
+        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";
       };
     }
     {
-      name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.1.0.tgz";
+      name = "_types_yargs___yargs_15.0.14.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.1.0.tgz";
-        sha1 = "7d309f60815ff35e9627ad85e41928d7b7fd443f";
+        name = "_types_yargs___yargs_15.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz";
+        sha1 = "26d821ddb89e70492160b66d10a0eb6df8f6fb06";
       };
     }
     {
-      name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.19.0.tgz";
+      name = "_types_yauzl___yauzl_2.9.2.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz";
-        sha1 = "56f8da9ee118fe9763af34d6a526967234f6a7f0";
+        name = "_types_yauzl___yauzl_2.9.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz";
+        sha1 = "c48e5d56aff1444409e39fa164b0b4d4552a7b7a";
       };
     }
     {
-      name = "_typescript_eslint_experimental_utils___experimental_utils_4.1.0.tgz";
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_experimental_utils___experimental_utils_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.1.0.tgz";
-        sha1 = "263d7225645c09a411c8735eeffd417f50f49026";
+        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.19.0.tgz";
+      name = "_typescript_eslint_experimental_utils___experimental_utils_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_experimental_utils___experimental_utils_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz";
-        sha1 = "9ca379919906dc72cb0fcd817d6cb5aa2d2054c6";
+        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";
       };
     }
     {
@@ -2202,35 +2034,19 @@
       };
     }
     {
-      name = "_typescript_eslint_parser___parser_4.1.0.tgz";
+      name = "_typescript_eslint_parser___parser_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_parser___parser_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.1.0.tgz";
-        sha1 = "9b0409411725f14cd7faa81a664e5051225961db";
+        name = "_typescript_eslint_parser___parser_4.33.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz";
+        sha1 = "dfe797570d9694e560528d18eecad86c8c744899";
       };
     }
     {
-      name = "_typescript_eslint_parser___parser_4.19.0.tgz";
+      name = "_typescript_eslint_scope_manager___scope_manager_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_parser___parser_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.19.0.tgz";
-        sha1 = "4ae77513b39f164f1751f21f348d2e6cb2d11128";
-      };
-    }
-    {
-      name = "_typescript_eslint_scope_manager___scope_manager_4.1.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_scope_manager___scope_manager_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.1.0.tgz";
-        sha1 = "9e389745ee9cfe12252ed1e9958808abd6b3a683";
-      };
-    }
-    {
-      name = "_typescript_eslint_scope_manager___scope_manager_4.19.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_scope_manager___scope_manager_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz";
-        sha1 = "5e0b49eca4df7684205d957c9856f4e720717a4f";
+        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";
       };
     }
     {
@@ -2242,19 +2058,11 @@
       };
     }
     {
-      name = "_typescript_eslint_types___types_4.1.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_types___types_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.1.0.tgz";
-        sha1 = "edbd3fec346f34e13ce7aa176b03b497a32c496a";
-      };
-    }
-    {
-      name = "_typescript_eslint_types___types_4.19.0.tgz";
+      name = "_typescript_eslint_types___types_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_types___types_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.19.0.tgz";
-        sha1 = "5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568";
+        name = "_typescript_eslint_types___types_4.33.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz";
+        sha1 = "a1e59036a3b53ae8430ceebf2a919dc7f9af6d72";
       };
     }
     {
@@ -2266,19 +2074,11 @@
       };
     }
     {
-      name = "_typescript_eslint_typescript_estree___typescript_estree_4.1.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_typescript_estree___typescript_estree_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.1.0.tgz";
-        sha1 = "394046ead25164494218c0e3d6b960695ea967f6";
-      };
-    }
-    {
-      name = "_typescript_eslint_typescript_estree___typescript_estree_4.19.0.tgz";
+      name = "_typescript_eslint_typescript_estree___typescript_estree_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_typescript_estree___typescript_estree_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz";
-        sha1 = "8a709ffa400284ab72df33376df085e2e2f61147";
+        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";
       };
     }
     {
@@ -2290,19 +2090,11 @@
       };
     }
     {
-      name = "_typescript_eslint_visitor_keys___visitor_keys_4.1.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_visitor_keys___visitor_keys_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.1.0.tgz";
-        sha1 = "b2d528c9484e7eda1aa4f86ccf0432fb16e4d545";
-      };
-    }
-    {
-      name = "_typescript_eslint_visitor_keys___visitor_keys_4.19.0.tgz";
+      name = "_typescript_eslint_visitor_keys___visitor_keys_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_visitor_keys___visitor_keys_4.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz";
-        sha1 = "cbea35109cbd9b26e597644556be4546465d8f7f";
+        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";
       };
     }
     {
@@ -2490,11 +2282,11 @@
       };
     }
     {
-      name = "acorn_jsx___acorn_jsx_5.3.1.tgz";
+      name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
       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";
+        name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha1 = "7ed5bb55908b3b2f1bc55c6af1653bada7f07937";
       };
     }
     {
@@ -2522,19 +2314,11 @@
       };
     }
     {
-      name = "acorn___acorn_7.4.0.tgz";
+      name = "acorn___acorn_8.6.0.tgz";
       path = fetchurl {
-        name = "acorn___acorn_7.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz";
-        sha1 = "e1ad486e6c54501634c6c397c5c121daa383607c";
-      };
-    }
-    {
-      name = "acorn___acorn_8.1.0.tgz";
-      path = fetchurl {
-        name = "acorn___acorn_8.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.1.0.tgz";
-        sha1 = "52311fd7037ae119cbb134309e901aa46295b3fe";
+        name = "acorn___acorn_8.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz";
+        sha1 = "e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895";
       };
     }
     {
@@ -2594,14 +2378,6 @@
       };
     }
     {
-      name = "ajv___ajv_6.12.4.tgz";
-      path = fetchurl {
-        name = "ajv___ajv_6.12.4.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz";
-        sha1 = "0614facc4522127fa713445c6bfd3ebd376e2234";
-      };
-    }
-    {
       name = "ajv___ajv_6.12.6.tgz";
       path = fetchurl {
         name = "ajv___ajv_6.12.6.tgz";
@@ -2610,11 +2386,11 @@
       };
     }
     {
-      name = "ajv___ajv_7.2.4.tgz";
+      name = "ajv___ajv_8.8.2.tgz";
       path = fetchurl {
-        name = "ajv___ajv_7.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-7.2.4.tgz";
-        sha1 = "8e239d4d56cf884bccca8cca362f508446dc160f";
+        name = "ajv___ajv_8.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz";
+        sha1 = "01b4fef2007a28bf75f0b7fc009f62679de4abbb";
       };
     }
     {
@@ -2642,14 +2418,6 @@
       };
     }
     {
-      name = "ansi_escapes___ansi_escapes_4.3.1.tgz";
-      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";
-      };
-    }
-    {
       name = "ansi_escapes___ansi_escapes_4.3.2.tgz";
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_4.3.2.tgz";
@@ -2682,11 +2450,11 @@
       };
     }
     {
-      name = "ansi_regex___ansi_regex_5.0.0.tgz";
+      name = "ansi_regex___ansi_regex_5.0.1.tgz";
       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";
+        name = "ansi_regex___ansi_regex_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
+        sha1 = "082cb2c89c9fe8659a311a53bd6a4dc5301db304";
       };
     }
     {
@@ -2698,11 +2466,11 @@
       };
     }
     {
-      name = "ansi_styles___ansi_styles_4.2.1.tgz";
+      name = "ansi_styles___ansi_styles_4.3.0.tgz";
       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";
+        name = "ansi_styles___ansi_styles_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz";
+        sha1 = "edd803628ae71c04c85ae7a0906edad34b648937";
       };
     }
     {
@@ -2714,11 +2482,11 @@
       };
     }
     {
-      name = "anymatch___anymatch_3.1.1.tgz";
+      name = "anymatch___anymatch_3.1.2.tgz";
       path = fetchurl {
-        name = "anymatch___anymatch_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz";
-        sha1 = "c55ecf02185e2469259399310c173ce31233b142";
+        name = "anymatch___anymatch_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz";
+        sha1 = "c0557c096af32f106198f4f4e2a383537e378716";
       };
     }
     {
@@ -2794,19 +2562,11 @@
       };
     }
     {
-      name = "array_includes___array_includes_3.1.1.tgz";
-      path = fetchurl {
-        name = "array_includes___array_includes_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz";
-        sha1 = "cdd67e6852bdf9c1215460786732255ed2459348";
-      };
-    }
-    {
-      name = "array_includes___array_includes_3.1.3.tgz";
+      name = "array_includes___array_includes_3.1.4.tgz";
       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";
+        name = "array_includes___array_includes_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz";
+        sha1 = "f5b493162c760f3539631f005ba2bb46acb45ba9";
       };
     }
     {
@@ -2842,35 +2602,27 @@
       };
     }
     {
-      name = "array.prototype.find___array.prototype.find_2.1.1.tgz";
+      name = "array.prototype.find___array.prototype.find_2.1.2.tgz";
       path = fetchurl {
-        name = "array.prototype.find___array.prototype.find_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.1.tgz";
-        sha1 = "3baca26108ca7affb08db06bf0be6cb3115a969c";
+        name = "array.prototype.find___array.prototype.find_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.find/-/array.prototype.find-2.1.2.tgz";
+        sha1 = "6abbd0c2573925d8094f7d23112306af8c16d534";
       };
     }
     {
-      name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz";
+      name = "array.prototype.flat___array.prototype.flat_1.2.5.tgz";
       path = fetchurl {
-        name = "array.prototype.flat___array.prototype.flat_1.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz";
-        sha1 = "0de82b426b0318dbfdb940089e38b043d37f6c7b";
+        name = "array.prototype.flat___array.prototype.flat_1.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz";
+        sha1 = "07e0975d84bbc7c48cd1879d609e682598d33e13";
       };
     }
     {
-      name = "array.prototype.flatmap___array.prototype.flatmap_1.2.3.tgz";
+      name = "array.prototype.flatmap___array.prototype.flatmap_1.2.5.tgz";
       path = fetchurl {
-        name = "array.prototype.flatmap___array.prototype.flatmap_1.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz";
-        sha1 = "1c13f84a178566042dd63de4414440db9222e443";
-      };
-    }
-    {
-      name = "array.prototype.flatmap___array.prototype.flatmap_1.2.4.tgz";
-      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";
+        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";
       };
     }
     {
@@ -2898,22 +2650,6 @@
       };
     }
     {
-      name = "asn1___asn1_0.2.4.tgz";
-      path = fetchurl {
-        name = "asn1___asn1_0.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz";
-        sha1 = "8d2475dfab553bb33e77b54e59e880bb8ce23136";
-      };
-    }
-    {
-      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 = "assert___assert_1.5.0.tgz";
       path = fetchurl {
         name = "assert___assert_1.5.0.tgz";
@@ -2994,43 +2730,27 @@
       };
     }
     {
-      name = "autoprefixer___autoprefixer_9.8.6.tgz";
+      name = "autoprefixer___autoprefixer_9.8.8.tgz";
       path = fetchurl {
-        name = "autoprefixer___autoprefixer_9.8.6.tgz";
-        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz";
-        sha1 = "3b73594ca1bf9266320c5acf1588d74dea74210f";
+        name = "autoprefixer___autoprefixer_9.8.8.tgz";
+        url  = "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz";
+        sha1 = "fd4bd4595385fa6f06599de749a4d5f7a474957a";
       };
     }
     {
-      name = "aws_sign2___aws_sign2_0.7.0.tgz";
+      name = "axe_core___axe_core_4.3.5.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 = "axe_core___axe_core_4.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz";
+        sha1 = "78d6911ba317a8262bfee292aeafcc1e04b49cc5";
       };
     }
     {
-      name = "aws4___aws4_1.10.1.tgz";
+      name = "axios___axios_0.21.4.tgz";
       path = fetchurl {
-        name = "aws4___aws4_1.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz";
-        sha1 = "e1e82e4f3e999e2cfd61b161280d16a111f86428";
-      };
-    }
-    {
-      name = "axe_core___axe_core_4.1.3.tgz";
-      path = fetchurl {
-        name = "axe_core___axe_core_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/axe-core/-/axe-core-4.1.3.tgz";
-        sha1 = "64a4c85509e0991f5168340edc4bedd1ceea6966";
-      };
-    }
-    {
-      name = "axios___axios_0.21.1.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.21.1.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz";
-        sha1 = "22563481962f4d6bde9a76d516ef0e5d3c09b2b8";
+        name = "axios___axios_0.21.4.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
+        sha1 = "c67b90dc0568e5c1cf2b0b858c43ba28e2eda575";
       };
     }
     {
@@ -3082,11 +2802,11 @@
       };
     }
     {
-      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.0.0.tgz";
+      name = "babel_plugin_istanbul___babel_plugin_istanbul_6.1.1.tgz";
       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";
+        name = "babel_plugin_istanbul___babel_plugin_istanbul_6.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz";
+        sha1 = "fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73";
       };
     }
     {
@@ -3114,27 +2834,27 @@
       };
     }
     {
-      name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.1.10.tgz";
+      name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.0.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.1.10.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.10.tgz";
-        sha1 = "a2c5c245f56c0cac3dbddbf0726a46b24f0f81d1";
+        name = "babel_plugin_polyfill_corejs2___babel_plugin_polyfill_corejs2_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz";
+        sha1 = "407082d0d355ba565af24126fb6cb8e9115251fd";
       };
     }
     {
-      name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.1.7.tgz";
+      name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.4.0.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz";
-        sha1 = "80449d9d6f2274912e05d9e182b54816904befd0";
+        name = "babel_plugin_polyfill_corejs3___babel_plugin_polyfill_corejs3_0.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz";
+        sha1 = "0b571f4cf3d67f911512f5c04842a7b8e8263087";
       };
     }
     {
-      name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.1.6.tgz";
+      name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.0.tgz";
       path = fetchurl {
-        name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.6.tgz";
-        sha1 = "0fe06a026fe0faa628ccc8ba3302da0a6ce02f3f";
+        name = "babel_plugin_polyfill_regenerator___babel_plugin_polyfill_regenerator_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz";
+        sha1 = "9ebbcd7186e1a33e21c5e20cae4e7983949533be";
       };
     }
     {
@@ -3210,19 +2930,19 @@
       };
     }
     {
-      name = "balanced_match___balanced_match_1.0.0.tgz";
+      name = "balanced_match___balanced_match_1.0.2.tgz";
       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";
+        name = "balanced_match___balanced_match_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz";
+        sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee";
       };
     }
     {
-      name = "base64_js___base64_js_1.3.1.tgz";
+      name = "base64_js___base64_js_1.5.1.tgz";
       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";
+        name = "base64_js___base64_js_1.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz";
+        sha1 = "1b1b440160a5bf7ad40b650f095963481903930a";
       };
     }
     {
@@ -3242,14 +2962,6 @@
       };
     }
     {
-      name = "bcrypt_pbkdf___bcrypt_pbkdf_1.0.2.tgz";
-      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";
-      };
-    }
-    {
       name = "bfj___bfj_7.0.2.tgz";
       path = fetchurl {
         name = "bfj___bfj_7.0.2.tgz";
@@ -3274,11 +2986,11 @@
       };
     }
     {
-      name = "binary_extensions___binary_extensions_2.1.0.tgz";
+      name = "binary_extensions___binary_extensions_2.2.0.tgz";
       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";
+        name = "binary_extensions___binary_extensions_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz";
+        sha1 = "75f502eeaf9ffde42fc98829645be4ea76bd9e2d";
       };
     }
     {
@@ -3290,11 +3002,11 @@
       };
     }
     {
-      name = "bl___bl_4.0.3.tgz";
+      name = "bl___bl_4.1.0.tgz";
       path = fetchurl {
-        name = "bl___bl_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/bl/-/bl-4.0.3.tgz";
-        sha1 = "12d6287adc29080e22a705e5764b2a9522cdc489";
+        name = "bl___bl_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
+        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
       };
     }
     {
@@ -3306,19 +3018,19 @@
       };
     }
     {
-      name = "bn.js___bn.js_4.11.9.tgz";
+      name = "bn.js___bn.js_4.12.0.tgz";
       path = fetchurl {
-        name = "bn.js___bn.js_4.11.9.tgz";
-        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz";
-        sha1 = "26d556829458f9d1e81fc48952493d0ba3507828";
+        name = "bn.js___bn.js_4.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz";
+        sha1 = "775b3f278efbb9718eec7361f483fb36fbbfea88";
       };
     }
     {
-      name = "bn.js___bn.js_5.1.3.tgz";
+      name = "bn.js___bn.js_5.2.0.tgz";
       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";
+        name = "bn.js___bn.js_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz";
+        sha1 = "358860674396c6997771a9d051fcc1b57d4ae002";
       };
     }
     {
@@ -3410,11 +3122,11 @@
       };
     }
     {
-      name = "browserify_rsa___browserify_rsa_4.0.1.tgz";
+      name = "browserify_rsa___browserify_rsa_4.1.0.tgz";
       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";
+        name = "browserify_rsa___browserify_rsa_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz";
+        sha1 = "b2fd06b5b75ae297f7ce2dc651f918f5be158c8d";
       };
     }
     {
@@ -3442,11 +3154,11 @@
       };
     }
     {
-      name = "browserslist___browserslist_4.16.3.tgz";
+      name = "browserslist___browserslist_4.18.1.tgz";
       path = fetchurl {
-        name = "browserslist___browserslist_4.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz";
-        sha1 = "340aa46940d7db878748567c5dea24a48ddf3717";
+        name = "browserslist___browserslist_4.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz";
+        sha1 = "60d3920f25b6860eb917c6c7b185576f4d8b017f";
       };
     }
     {
@@ -3466,11 +3178,11 @@
       };
     }
     {
-      name = "buffer_from___buffer_from_1.1.1.tgz";
+      name = "buffer_from___buffer_from_1.1.2.tgz";
       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";
+        name = "buffer_from___buffer_from_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz";
+        sha1 = "2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5";
       };
     }
     {
@@ -3498,11 +3210,11 @@
       };
     }
     {
-      name = "buffer___buffer_5.6.0.tgz";
+      name = "buffer___buffer_5.7.1.tgz";
       path = fetchurl {
-        name = "buffer___buffer_5.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz";
-        sha1 = "a31749dc7d81d84db08abf937b6b8c4033f62786";
+        name = "buffer___buffer_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
+        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
       };
     }
     {
@@ -3546,11 +3258,11 @@
       };
     }
     {
-      name = "cacache___cacache_15.0.6.tgz";
+      name = "cacache___cacache_15.3.0.tgz";
       path = fetchurl {
-        name = "cacache___cacache_15.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz";
-        sha1 = "65a8c580fda15b59150fb76bf3f3a8e45d583099";
+        name = "cacache___cacache_15.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz";
+        sha1 = "dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb";
       };
     }
     {
@@ -3602,11 +3314,11 @@
       };
     }
     {
-      name = "camel_case___camel_case_4.1.1.tgz";
+      name = "camel_case___camel_case_4.1.2.tgz";
       path = fetchurl {
-        name = "camel_case___camel_case_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz";
-        sha1 = "1fc41c854f00e2f7d0139dfeba1542d6896fe547";
+        name = "camel_case___camel_case_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz";
+        sha1 = "9728072a954f805228225a6deea6b38461e1bd5a";
       };
     }
     {
@@ -3618,11 +3330,11 @@
       };
     }
     {
-      name = "camelcase___camelcase_6.2.0.tgz";
+      name = "camelcase___camelcase_6.2.1.tgz";
       path = fetchurl {
-        name = "camelcase___camelcase_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz";
-        sha1 = "924af881c9d525ac9d87f40d964e5cea982a1809";
+        name = "camelcase___camelcase_6.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz";
+        sha1 = "250fd350cfd555d0d2160b1d51510eaf8326e86e";
       };
     }
     {
@@ -3634,11 +3346,11 @@
       };
     }
     {
-      name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001237.tgz";
+      name = "caniuse_lite___caniuse_lite_1.0.30001284.tgz";
       path = fetchurl {
-        name = "https___registry.npmjs.org_caniuse_lite___caniuse_lite_1.0.30001237.tgz";
-        url  = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001237.tgz";
-        sha1 = "4b7783661515b8e7151fc6376cfd97f0e427b9e5";
+        name = "caniuse_lite___caniuse_lite_1.0.30001284.tgz";
+        url  = "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001284.tgz";
+        sha1 = "d3653929ded898cd0c1f09a56fd8ca6952df4fca";
       };
     }
     {
@@ -3658,14 +3370,6 @@
       };
     }
     {
-      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 = "ccount___ccount_1.1.0.tgz";
       path = fetchurl {
         name = "ccount___ccount_1.1.0.tgz";
@@ -3682,11 +3386,11 @@
       };
     }
     {
-      name = "chalk___chalk_4.1.0.tgz";
+      name = "chalk___chalk_4.1.2.tgz";
       path = fetchurl {
-        name = "chalk___chalk_4.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz";
-        sha1 = "4e14870a618d9e2edd97dd8345fd9d9dc315646a";
+        name = "chalk___chalk_4.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz";
+        sha1 = "aac4e2b7734a740867aeb16bf02aad556a1e7a01";
       };
     }
     {
@@ -3738,11 +3442,11 @@
       };
     }
     {
-      name = "chokidar___chokidar_3.4.2.tgz";
+      name = "chokidar___chokidar_3.5.2.tgz";
       path = fetchurl {
-        name = "chokidar___chokidar_3.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz";
-        sha1 = "38dc8e658dec3809741eb3ef7bb0a47fe424232d";
+        name = "chokidar___chokidar_3.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz";
+        sha1 = "dba3976fcadb016f66fd365021d91600d01c1e75";
       };
     }
     {
@@ -3762,11 +3466,11 @@
       };
     }
     {
-      name = "chrome_trace_event___chrome_trace_event_1.0.2.tgz";
+      name = "chrome_trace_event___chrome_trace_event_1.0.3.tgz";
       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";
+        name = "chrome_trace_event___chrome_trace_event_1.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz";
+        sha1 = "1015eced4741e15d06664a957dbbf50d041e26ac";
       };
     }
     {
@@ -3802,11 +3506,11 @@
       };
     }
     {
-      name = "clean_css___clean_css_4.2.3.tgz";
+      name = "clean_css___clean_css_4.2.4.tgz";
       path = fetchurl {
-        name = "clean_css___clean_css_4.2.3.tgz";
-        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz";
-        sha1 = "507b5de7d97b48ee53d84adb0160ff6216380f78";
+        name = "clean_css___clean_css_4.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz";
+        sha1 = "733bf46eba4e607c6891ea57c24a989356831178";
       };
     }
     {
@@ -3866,11 +3570,11 @@
       };
     }
     {
-      name = "codemirror___codemirror_5.61.1.tgz";
+      name = "codemirror___codemirror_5.64.0.tgz";
       path = fetchurl {
-        name = "codemirror___codemirror_5.61.1.tgz";
-        url  = "https://registry.yarnpkg.com/codemirror/-/codemirror-5.61.1.tgz";
-        sha1 = "ccfc8a43b8fcfb8b12e8e75b5ffde48d541406e0";
+        name = "codemirror___codemirror_5.64.0.tgz";
+        url  = "https://registry.yarnpkg.com/codemirror/-/codemirror-5.64.0.tgz";
+        sha1 = "182eec65b62178e3cd1de8f9d88ab819cfe5f625";
       };
     }
     {
@@ -3922,35 +3626,19 @@
       };
     }
     {
-      name = "color_string___color_string_1.5.3.tgz";
-      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";
-      };
-    }
-    {
-      name = "color___color_3.1.2.tgz";
+      name = "color_string___color_string_1.9.0.tgz";
       path = fetchurl {
-        name = "color___color_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz";
-        sha1 = "68148e7f85d41ad7649c5fa8c8106f098d229e10";
+        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 = "colorette___colorette_1.2.1.tgz";
+      name = "color___color_3.2.1.tgz";
       path = fetchurl {
-        name = "colorette___colorette_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz";
-        sha1 = "4d0b921325c14faf92633086a536db6e89564b1b";
-      };
-    }
-    {
-      name = "colorette___colorette_1.2.2.tgz";
-      path = fetchurl {
-        name = "colorette___colorette_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz";
-        sha1 = "cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94";
+        name = "color___color_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz";
+        sha1 = "3544dc198caf4490c3ecc9a790b54fe9ff45e164";
       };
     }
     {
@@ -3986,11 +3674,11 @@
       };
     }
     {
-      name = "common_tags___common_tags_1.8.0.tgz";
+      name = "common_tags___common_tags_1.8.2.tgz";
       path = fetchurl {
-        name = "common_tags___common_tags_1.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz";
-        sha1 = "8e3153e542d4a39e9b10554434afaaf98956a937";
+        name = "common_tags___common_tags_1.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz";
+        sha1 = "94ebb3c076d26032745fd54face7f688ef5ac9c6";
       };
     }
     {
@@ -4082,14 +3770,6 @@
       };
     }
     {
-      name = "contains_path___contains_path_0.1.0.tgz";
-      path = fetchurl {
-        name = "contains_path___contains_path_0.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz";
-        sha1 = "fe8cf184ff6670b6baef01a9d4861a5cbec4120a";
-      };
-    }
-    {
       name = "content_disposition___content_disposition_0.5.3.tgz";
       path = fetchurl {
         name = "content_disposition___content_disposition_0.5.3.tgz";
@@ -4122,6 +3802,14 @@
       };
     }
     {
+      name = "convert_source_map___convert_source_map_1.8.0.tgz";
+      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";
+      };
+    }
+    {
       name = "cookie_signature___cookie_signature_1.0.6.tgz";
       path = fetchurl {
         name = "cookie_signature___cookie_signature_1.0.6.tgz";
@@ -4154,27 +3842,19 @@
       };
     }
     {
-      name = "core_js_compat___core_js_compat_3.6.5.tgz";
-      path = fetchurl {
-        name = "core_js_compat___core_js_compat_3.6.5.tgz";
-        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz";
-        sha1 = "2a51d9a4e25dfd6e690251aa81f99e3c05481f1c";
-      };
-    }
-    {
-      name = "core_js_compat___core_js_compat_3.9.1.tgz";
+      name = "core_js_compat___core_js_compat_3.19.2.tgz";
       path = fetchurl {
-        name = "core_js_compat___core_js_compat_3.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.1.tgz";
-        sha1 = "4e572acfe90aff69d76d8c37759d21a5c59bb455";
+        name = "core_js_compat___core_js_compat_3.19.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.2.tgz";
+        sha1 = "18066a3404a302433cb0aa8be82dd3d75c76e5c4";
       };
     }
     {
-      name = "core_js_pure___core_js_pure_3.6.5.tgz";
+      name = "core_js_pure___core_js_pure_3.19.2.tgz";
       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";
+        name = "core_js_pure___core_js_pure_3.19.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.2.tgz";
+        sha1 = "26b5bfb503178cff6e3e115bc2ba6c6419383680";
       };
     }
     {
@@ -4186,27 +3866,27 @@
       };
     }
     {
-      name = "core_js___core_js_2.6.11.tgz";
+      name = "core_js___core_js_2.6.12.tgz";
       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";
+        name = "core_js___core_js_2.6.12.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz";
+        sha1 = "d9333dfa7b065e347cc5682219d6f690859cc2ec";
       };
     }
     {
-      name = "core_js___core_js_3.9.1.tgz";
+      name = "core_js___core_js_3.19.2.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.9.1.tgz";
-        sha1 = "cec8de593db8eb2a85ffb0dbdeb312cb6e5460ae";
+        name = "core_js___core_js_3.19.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.19.2.tgz";
+        sha1 = "ae216d7f4f7e924d9a2e3ff1e4b1940220f9157b";
       };
     }
     {
-      name = "core_util_is___core_util_is_1.0.2.tgz";
+      name = "core_util_is___core_util_is_1.0.3.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 = "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";
       };
     }
     {
@@ -4226,11 +3906,11 @@
       };
     }
     {
-      name = "cosmiconfig___cosmiconfig_7.0.0.tgz";
+      name = "cosmiconfig___cosmiconfig_7.0.1.tgz";
       path = fetchurl {
-        name = "cosmiconfig___cosmiconfig_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz";
-        sha1 = "ef9b44d773959cae63ddecd122de23853b60f8d3";
+        name = "cosmiconfig___cosmiconfig_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz";
+        sha1 = "714d756522cace867867ccb4474c5d01bbae5d6d";
       };
     }
     {
@@ -4346,14 +4026,6 @@
       };
     }
     {
-      name = "css_select___css_select_1.2.0.tgz";
-      path = fetchurl {
-        name = "css_select___css_select_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz";
-        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
-      };
-    }
-    {
       name = "css_select___css_select_2.1.0.tgz";
       path = fetchurl {
         name = "css_select___css_select_2.1.0.tgz";
@@ -4362,6 +4034,14 @@
       };
     }
     {
+      name = "css_select___css_select_4.1.3.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_tree___css_tree_1.0.0_alpha.37.tgz";
       path = fetchurl {
         name = "css_tree___css_tree_1.0.0_alpha.37.tgz";
@@ -4370,11 +4050,11 @@
       };
     }
     {
-      name = "css_tree___css_tree_1.0.0_alpha.39.tgz";
+      name = "css_tree___css_tree_1.1.3.tgz";
       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";
+        name = "css_tree___css_tree_1.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz";
+        sha1 = "eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d";
       };
     }
     {
@@ -4386,19 +4066,19 @@
       };
     }
     {
-      name = "css_what___css_what_2.1.3.tgz";
+      name = "css_what___css_what_3.4.2.tgz";
       path = fetchurl {
-        name = "css_what___css_what_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz";
-        sha1 = "a6d7604573365fe74686c3f311c56513d88285f2";
+        name = "css_what___css_what_3.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz";
+        sha1 = "ea7026fcb01777edbde52124e21f327e7ae950e4";
       };
     }
     {
-      name = "css_what___css_what_3.3.0.tgz";
+      name = "css_what___css_what_5.1.0.tgz";
       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";
+        name = "css_what___css_what_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz";
+        sha1 = "3f7b707aadf633baf62c2ceb8579b545bb40f7fe";
       };
     }
     {
@@ -4434,11 +4114,11 @@
       };
     }
     {
-      name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
+      name = "cssnano_preset_default___cssnano_preset_default_4.0.8.tgz";
       path = fetchurl {
-        name = "cssnano_preset_default___cssnano_preset_default_4.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz";
-        sha1 = "51ec662ccfca0f88b396dcd9679cdb931be17f76";
+        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";
       };
     }
     {
@@ -4474,19 +4154,19 @@
       };
     }
     {
-      name = "cssnano___cssnano_4.1.10.tgz";
+      name = "cssnano___cssnano_4.1.11.tgz";
       path = fetchurl {
-        name = "cssnano___cssnano_4.1.10.tgz";
-        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz";
-        sha1 = "0ac41f0b13d13d465487e111b778d42da631b8b2";
+        name = "cssnano___cssnano_4.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz";
+        sha1 = "c7b5f5b81da269cb1fd982cb960c1200910c9a99";
       };
     }
     {
-      name = "csso___csso_4.0.3.tgz";
+      name = "csso___csso_4.2.0.tgz";
       path = fetchurl {
-        name = "csso___csso_4.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz";
-        sha1 = "0d9985dc852c7cc2b2cacfbbe1079014d1a8e903";
+        name = "csso___csso_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz";
+        sha1 = "ea3a561346e8dc9f546d6febedd50187cf389529";
       };
     }
     {
@@ -4514,19 +4194,19 @@
       };
     }
     {
-      name = "csstype___csstype_2.6.16.tgz";
+      name = "csstype___csstype_2.6.19.tgz";
       path = fetchurl {
-        name = "csstype___csstype_2.6.16.tgz";
-        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz";
-        sha1 = "544d69f547013b85a40d15bff75db38f34fe9c39";
+        name = "csstype___csstype_2.6.19.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-2.6.19.tgz";
+        sha1 = "feeb5aae89020bb389e1f63669a5ed490e391caa";
       };
     }
     {
-      name = "csstype___csstype_3.0.8.tgz";
+      name = "csstype___csstype_3.0.10.tgz";
       path = fetchurl {
-        name = "csstype___csstype_3.0.8.tgz";
-        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz";
-        sha1 = "d2266a792729fb227cd216fb572f43728e1ad340";
+        name = "csstype___csstype_3.0.10.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz";
+        sha1 = "2ad3a7bed70f35b965707c092e5f30b327c290e5";
       };
     }
     {
@@ -4546,19 +4226,11 @@
       };
     }
     {
-      name = "damerau_levenshtein___damerau_levenshtein_1.0.6.tgz";
-      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";
-      };
-    }
-    {
-      name = "dashdash___dashdash_1.14.1.tgz";
+      name = "damerau_levenshtein___damerau_levenshtein_1.0.7.tgz";
       path = fetchurl {
-        name = "dashdash___dashdash_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz";
-        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+        name = "damerau_levenshtein___damerau_levenshtein_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz";
+        sha1 = "64368003512a1a6992593741a09a9d31a836f55d";
       };
     }
     {
@@ -4578,11 +4250,11 @@
       };
     }
     {
-      name = "debug___debug_4.1.1.tgz";
+      name = "debug___debug_4.3.3.tgz";
       path = fetchurl {
-        name = "debug___debug_4.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz";
-        sha1 = "3b72260255109c6b589cee050f1d516139664791";
+        name = "debug___debug_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
+        sha1 = "04266e0b70a98d4462e6e288e38259213332b664";
       };
     }
     {
@@ -4594,14 +4266,6 @@
       };
     }
     {
-      name = "debug___debug_3.2.6.tgz";
-      path = fetchurl {
-        name = "debug___debug_3.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz";
-        sha1 = "e83d17de16d8a7efb7717edbe5fb10135eee629b";
-      };
-    }
-    {
       name = "debug___debug_3.2.7.tgz";
       path = fetchurl {
         name = "debug___debug_3.2.7.tgz";
@@ -4618,11 +4282,11 @@
       };
     }
     {
-      name = "decimal.js___decimal.js_10.2.1.tgz";
+      name = "decimal.js___decimal.js_10.3.1.tgz";
       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";
+        name = "decimal.js___decimal.js_10.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz";
+        sha1 = "d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783";
       };
     }
     {
@@ -4650,11 +4314,11 @@
       };
     }
     {
-      name = "deep_is___deep_is_0.1.3.tgz";
+      name = "deep_is___deep_is_0.1.4.tgz";
       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";
+        name = "deep_is___deep_is_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz";
+        sha1 = "a6f2dce612fadd2ef1f519b73551f17e85199831";
       };
     }
     {
@@ -4746,19 +4410,11 @@
       };
     }
     {
-      name = "detect_browser___detect_browser_5.1.1.tgz";
-      path = fetchurl {
-        name = "detect_browser___detect_browser_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.1.1.tgz";
-        sha1 = "a800db91d3fd60d0861669f5984f1be9ffbe009c";
-      };
-    }
-    {
-      name = "detect_browser___detect_browser_5.2.0.tgz";
+      name = "detect_browser___detect_browser_5.2.1.tgz";
       path = fetchurl {
-        name = "detect_browser___detect_browser_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz";
-        sha1 = "c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97";
+        name = "detect_browser___detect_browser_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.1.tgz";
+        sha1 = "b884f8d84e8f33bb874ffed10b4beea26133fcd1";
       };
     }
     {
@@ -4770,11 +4426,11 @@
       };
     }
     {
-      name = "detect_node___detect_node_2.0.4.tgz";
+      name = "detect_node___detect_node_2.1.0.tgz";
       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";
+        name = "detect_node___detect_node_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz";
+        sha1 = "c9c70775a49c3d03bc2c06d9a73be550f978f8b1";
       };
     }
     {
@@ -4786,11 +4442,11 @@
       };
     }
     {
-      name = "devtools_protocol___devtools_protocol_0.0.883894.tgz";
+      name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
       path = fetchurl {
-        name = "devtools_protocol___devtools_protocol_0.0.883894.tgz";
-        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.883894.tgz";
-        sha1 = "d403f2c75cd6d71c916aee8dde9258da988a4da9";
+        name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
+        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz";
+        sha1 = "79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd";
       };
     }
     {
@@ -4826,11 +4482,11 @@
       };
     }
     {
-      name = "dns_packet___dns_packet_1.3.1.tgz";
+      name = "dns_packet___dns_packet_1.3.4.tgz";
       path = fetchurl {
-        name = "dns_packet___dns_packet_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz";
-        sha1 = "12aa426981075be500b910eedcd0b47dd7deda5a";
+        name = "dns_packet___dns_packet_1.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz";
+        sha1 = "e3455065824a2507ba886c55a89963bb107dec6f";
       };
     }
     {
@@ -4842,14 +4498,6 @@
       };
     }
     {
-      name = "doctrine___doctrine_1.5.0.tgz";
-      path = fetchurl {
-        name = "doctrine___doctrine_1.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz";
-        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
-      };
-    }
-    {
       name = "doctrine___doctrine_2.1.0.tgz";
       path = fetchurl {
         name = "doctrine___doctrine_2.1.0.tgz";
@@ -4874,11 +4522,11 @@
       };
     }
     {
-      name = "dom_helpers___dom_helpers_5.2.0.tgz";
+      name = "dom_helpers___dom_helpers_5.2.1.tgz";
       path = fetchurl {
-        name = "dom_helpers___dom_helpers_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.0.tgz";
-        sha1 = "57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b";
+        name = "dom_helpers___dom_helpers_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz";
+        sha1 = "d9400536b2bf8225ad98fe052e029451ac40e902";
       };
     }
     {
@@ -4890,6 +4538,14 @@
       };
     }
     {
+      name = "dom_serializer___dom_serializer_1.3.2.tgz";
+      path = fetchurl {
+        name = "dom_serializer___dom_serializer_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz";
+        sha1 = "6206437d32ceefaec7161803230c7a20bc1b4d91";
+      };
+    }
+    {
       name = "domain_browser___domain_browser_1.2.0.tgz";
       path = fetchurl {
         name = "domain_browser___domain_browser_1.2.0.tgz";
@@ -4906,11 +4562,11 @@
       };
     }
     {
-      name = "domelementtype___domelementtype_2.0.1.tgz";
+      name = "domelementtype___domelementtype_2.2.0.tgz";
       path = fetchurl {
-        name = "domelementtype___domelementtype_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz";
-        sha1 = "1f8bdfe91f5a78063274e803b4bdcedf6e94f94d";
+        name = "domelementtype___domelementtype_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha1 = "9a0b6c2782ed6a1c7323d42267183df9bd8b1d57";
       };
     }
     {
@@ -4922,19 +4578,11 @@
       };
     }
     {
-      name = "domhandler___domhandler_2.4.2.tgz";
-      path = fetchurl {
-        name = "domhandler___domhandler_2.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz";
-        sha1 = "8805097e933d65e85546f726d60f5eb88b44f803";
-      };
-    }
-    {
-      name = "domutils___domutils_1.5.1.tgz";
+      name = "domhandler___domhandler_4.3.0.tgz";
       path = fetchurl {
-        name = "domutils___domutils_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz";
-        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+        name = "domhandler___domhandler_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz";
+        sha1 = "16c658c626cf966967e306f966b431f77d4a5626";
       };
     }
     {
@@ -4946,11 +4594,19 @@
       };
     }
     {
-      name = "dot_case___dot_case_3.0.3.tgz";
+      name = "domutils___domutils_2.8.0.tgz";
       path = fetchurl {
-        name = "dot_case___dot_case_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz";
-        sha1 = "21d3b52efaaba2ea5fda875bb1aa8124521cf4aa";
+        name = "domutils___domutils_2.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz";
+        sha1 = "4437def5db6e2d1f5d6ee859bd95ca7d02048135";
+      };
+    }
+    {
+      name = "dot_case___dot_case_3.0.4.tgz";
+      path = fetchurl {
+        name = "dot_case___dot_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz";
+        sha1 = "9b2b670d00a431667a8a75ba29cd1b98809ce751";
       };
     }
     {
@@ -4994,14 +4650,6 @@
       };
     }
     {
-      name = "ecc_jsbn___ecc_jsbn_0.1.2.tgz";
-      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";
-      };
-    }
-    {
       name = "ee_first___ee_first_1.1.1.tgz";
       path = fetchurl {
         name = "ee_first___ee_first_1.1.1.tgz";
@@ -5018,27 +4666,19 @@
       };
     }
     {
-      name = "electron_to_chromium___electron_to_chromium_1.3.566.tgz";
-      path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.566.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.566.tgz";
-        sha1 = "e373876bb63e5c9bbcbe1b48cbb2db000f79bf88";
-      };
-    }
-    {
-      name = "electron_to_chromium___electron_to_chromium_1.3.701.tgz";
+      name = "electron_to_chromium___electron_to_chromium_1.4.11.tgz";
       path = fetchurl {
-        name = "electron_to_chromium___electron_to_chromium_1.3.701.tgz";
-        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.701.tgz";
-        sha1 = "5e796ed7ce88cd77bc7bf831cf311ef6b067c389";
+        name = "electron_to_chromium___electron_to_chromium_1.4.11.tgz";
+        url  = "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.11.tgz";
+        sha1 = "303c9deebbe90c68bf5c2c81a88a3bf4522c8810";
       };
     }
     {
-      name = "elliptic___elliptic_6.5.3.tgz";
+      name = "elliptic___elliptic_6.5.4.tgz";
       path = fetchurl {
-        name = "elliptic___elliptic_6.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz";
-        sha1 = "cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6";
+        name = "elliptic___elliptic_6.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz";
+        sha1 = "da37cebd31e79a1367e941b592ed1fbebd58abbb";
       };
     }
     {
@@ -5130,19 +4770,11 @@
       };
     }
     {
-      name = "entities___entities_1.1.2.tgz";
-      path = fetchurl {
-        name = "entities___entities_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz";
-        sha1 = "bdfa735299664dfafd34529ed4f8522a275fea56";
-      };
-    }
-    {
-      name = "entities___entities_2.0.3.tgz";
+      name = "entities___entities_2.2.0.tgz";
       path = fetchurl {
-        name = "entities___entities_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz";
-        sha1 = "5c487e5742ab93c15abb5da22759b8590ec03b7f";
+        name = "entities___entities_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz";
+        sha1 = "098dc90ebb83d8dffa089d55256b351d34c4da55";
       };
     }
     {
@@ -5154,19 +4786,19 @@
       };
     }
     {
-      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.13.1.tgz";
+      name = "enzyme_adapter_utils___enzyme_adapter_utils_1.14.0.tgz";
       path = fetchurl {
-        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.13.1.tgz";
-        sha1 = "59c1b734b0927543e3d8dc477299ec957feb312d";
+        name = "enzyme_adapter_utils___enzyme_adapter_utils_1.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.14.0.tgz";
+        sha1 = "afbb0485e8033aa50c744efb5f5711e64fbf1ad0";
       };
     }
     {
-      name = "errno___errno_0.1.7.tgz";
+      name = "errno___errno_0.1.8.tgz";
       path = fetchurl {
-        name = "errno___errno_0.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz";
-        sha1 = "4684d71779ad39af177e3f007996f7c67c852618";
+        name = "errno___errno_0.1.8.tgz";
+        url  = "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz";
+        sha1 = "8bb3e9c7d463be4976ff888f76b4809ebc2e811f";
       };
     }
     {
@@ -5186,27 +4818,11 @@
       };
     }
     {
-      name = "es_abstract___es_abstract_1.17.6.tgz";
+      name = "es_abstract___es_abstract_1.19.1.tgz";
       path = fetchurl {
-        name = "es_abstract___es_abstract_1.17.6.tgz";
-        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz";
-        sha1 = "9142071707857b2cacc7b89ecb670316c3e2d52a";
-      };
-    }
-    {
-      name = "es_abstract___es_abstract_1.18.0_next.0.tgz";
-      path = fetchurl {
-        name = "es_abstract___es_abstract_1.18.0_next.0.tgz";
-        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.0.tgz";
-        sha1 = "b302834927e624d8e5837ed48224291f2c66e6fc";
-      };
-    }
-    {
-      name = "es_abstract___es_abstract_1.18.0.tgz";
-      path = fetchurl {
-        name = "es_abstract___es_abstract_1.18.0.tgz";
-        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz";
-        sha1 = "ab80b359eecb7ede4c298000390bc5ac3ec7b5a4";
+        name = "es_abstract___es_abstract_1.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz";
+        sha1 = "d4885796876916959de78edaa0df456627115ec3";
       };
     }
     {
@@ -5242,14 +4858,6 @@
       };
     }
     {
-      name = "escalade___escalade_3.0.2.tgz";
-      path = fetchurl {
-        name = "escalade___escalade_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz";
-        sha1 = "6a580d70edb87880f22b4c91d0d56078df6962c4";
-      };
-    }
-    {
       name = "escalade___escalade_3.1.1.tgz";
       path = fetchurl {
         name = "escalade___escalade_3.1.1.tgz";
@@ -5306,11 +4914,11 @@
       };
     }
     {
-      name = "eslint_config_prettier___eslint_config_prettier_6.11.0.tgz";
+      name = "eslint_config_prettier___eslint_config_prettier_6.15.0.tgz";
       path = fetchurl {
-        name = "eslint_config_prettier___eslint_config_prettier_6.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz";
-        sha1 = "f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1";
+        name = "eslint_config_prettier___eslint_config_prettier_6.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz";
+        sha1 = "7f93f6cb7d45a92f1537a70ecc06366e1ac6fed9";
       };
     }
     {
@@ -5322,99 +4930,75 @@
       };
     }
     {
-      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.4.tgz";
-      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";
-      };
-    }
-    {
-      name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz";
-      path = fetchurl {
-        name = "eslint_module_utils___eslint_module_utils_2.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz";
-        sha1 = "579ebd094f56af7797d19c9866c9c9486629bfa6";
-      };
-    }
-    {
-      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_5.4.0.tgz";
+      name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.6.tgz";
       path = fetchurl {
-        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_5.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.4.0.tgz";
-        sha1 = "a559526e56403cb97b470b524957fc526e2485fe";
+        name = "eslint_import_resolver_node___eslint_import_resolver_node_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz";
+        sha1 = "4048b958395da89668252001dbd9eca6b83bacbd";
       };
     }
     {
-      name = "eslint_plugin_import___eslint_plugin_import_2.22.0.tgz";
+      name = "eslint_module_utils___eslint_module_utils_2.7.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_import___eslint_plugin_import_2.22.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz";
-        sha1 = "92f7736fe1fde3e2de77623c838dd992ff5ffb7e";
+        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_plugin_import___eslint_plugin_import_2.22.1.tgz";
+      name = "eslint_plugin_flowtype___eslint_plugin_flowtype_5.10.0.tgz";
       path = fetchurl {
-        name = "eslint_plugin_import___eslint_plugin_import_2.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz";
-        sha1 = "0896c7e6a0cf44109a2d97b95903c2bb689d7702";
+        name = "eslint_plugin_flowtype___eslint_plugin_flowtype_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz";
+        sha1 = "7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb";
       };
     }
     {
-      name = "eslint_plugin_jest___eslint_plugin_jest_24.0.0.tgz";
+      name = "eslint_plugin_import___eslint_plugin_import_2.25.3.tgz";
       path = fetchurl {
-        name = "eslint_plugin_jest___eslint_plugin_jest_24.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.0.0.tgz";
-        sha1 = "6b1c460c529104c7d16d889e76fe708b281c4d14";
+        name = "eslint_plugin_import___eslint_plugin_import_2.25.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz";
+        sha1 = "a554b5f66e08fb4f6dc99221866e57cfff824766";
       };
     }
     {
-      name = "eslint_plugin_jest___eslint_plugin_jest_24.3.2.tgz";
+      name = "eslint_plugin_jest___eslint_plugin_jest_24.7.0.tgz";
       path = fetchurl {
-        name = "eslint_plugin_jest___eslint_plugin_jest_24.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.2.tgz";
-        sha1 = "30a8b2dea6278d0da1d6fb9d6cd530aaf58050a1";
+        name = "eslint_plugin_jest___eslint_plugin_jest_24.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz";
+        sha1 = "206ac0833841e59e375170b15f8d0955219c4889";
       };
     }
     {
-      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";
       };
     }
     {
-      name = "eslint_plugin_prefer_arrow___eslint_plugin_prefer_arrow_1.2.2.tgz";
+      name = "eslint_plugin_prefer_arrow___eslint_plugin_prefer_arrow_1.2.3.tgz";
       path = fetchurl {
-        name = "eslint_plugin_prefer_arrow___eslint_plugin_prefer_arrow_1.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz";
-        sha1 = "0c6d25a6b94cb3e0110a23d129760af5860edb6e";
+        name = "eslint_plugin_prefer_arrow___eslint_plugin_prefer_arrow_1.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz";
+        sha1 = "e7fbb3fa4cd84ff1015b9c51ad86550e55041041";
       };
     }
     {
-      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.20.6.tgz";
+      name = "eslint_plugin_react___eslint_plugin_react_7.27.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_react___eslint_plugin_react_7.20.6.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz";
-        sha1 = "4d7845311a93c463493ccfa0a19c9c5d0fd69f60";
-      };
-    }
-    {
-      name = "eslint_plugin_react___eslint_plugin_react_7.23.1.tgz";
-      path = fetchurl {
-        name = "eslint_plugin_react___eslint_plugin_react_7.23.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.1.tgz";
-        sha1 = "f1a2e844c0d1967c822388204a8bc4dee8415b11";
+        name = "eslint_plugin_react___eslint_plugin_react_7.27.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz";
+        sha1 = "469202442506616f77a854d91babaae1ec174b45";
       };
     }
     {
@@ -5442,14 +5026,6 @@
       };
     }
     {
-      name = "eslint_scope___eslint_scope_5.1.0.tgz";
-      path = fetchurl {
-        name = "eslint_scope___eslint_scope_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz";
-        sha1 = "d0f971dfe59c69e0cada684b23d49dbf82600ce5";
-      };
-    }
-    {
       name = "eslint_scope___eslint_scope_5.1.1.tgz";
       path = fetchurl {
         name = "eslint_scope___eslint_scope_5.1.1.tgz";
@@ -5458,11 +5034,11 @@
       };
     }
     {
-      name = "eslint_template_visitor___eslint_template_visitor_2.2.1.tgz";
+      name = "eslint_template_visitor___eslint_template_visitor_2.3.2.tgz";
       path = fetchurl {
-        name = "eslint_template_visitor___eslint_template_visitor_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-2.2.1.tgz";
-        sha1 = "2dccb1ab28fa7429e56ba6dd0144def2d89bc2d6";
+        name = "eslint_template_visitor___eslint_template_visitor_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-template-visitor/-/eslint-template-visitor-2.3.2.tgz";
+        sha1 = "b52f96ff311e773a345d79053ccc78275bbc463d";
       };
     }
     {
@@ -5474,6 +5050,14 @@
       };
     }
     {
+      name = "eslint_utils___eslint_utils_3.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
       path = fetchurl {
         name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
@@ -5482,27 +5066,27 @@
       };
     }
     {
-      name = "eslint_visitor_keys___eslint_visitor_keys_2.0.0.tgz";
+      name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
       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";
+        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";
       };
     }
     {
-      name = "eslint_webpack_plugin___eslint_webpack_plugin_2.5.3.tgz";
+      name = "eslint_webpack_plugin___eslint_webpack_plugin_2.6.0.tgz";
       path = fetchurl {
-        name = "eslint_webpack_plugin___eslint_webpack_plugin_2.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.3.tgz";
-        sha1 = "a125585a1d8bb9c939f2a920a9bc9be4a21cdb58";
+        name = "eslint_webpack_plugin___eslint_webpack_plugin_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz";
+        sha1 = "3bd4ada4e539cb1f6687d2f619073dbb509361cd";
       };
     }
     {
-      name = "eslint___eslint_7.23.0.tgz";
+      name = "eslint___eslint_7.32.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.23.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.23.0.tgz";
-        sha1 = "8d029d252f6e8cf45894b4bee08f5493f8e94325";
+        name = "eslint___eslint_7.32.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz";
+        sha1 = "c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d";
       };
     }
     {
@@ -5522,14 +5106,6 @@
       };
     }
     {
-      name = "esquery___esquery_1.3.1.tgz";
-      path = fetchurl {
-        name = "esquery___esquery_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz";
-        sha1 = "b78b5828aa8e214e29fb74c4d5b752e1c033da57";
-      };
-    }
-    {
       name = "esquery___esquery_1.4.0.tgz";
       path = fetchurl {
         name = "esquery___esquery_1.4.0.tgz";
@@ -5554,11 +5130,11 @@
       };
     }
     {
-      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";
+        sha1 = "2eea5290702f26ab8fe5370370ff86c965d21123";
       };
     }
     {
@@ -5602,19 +5178,19 @@
       };
     }
     {
-      name = "events___events_3.2.0.tgz";
+      name = "events___events_3.3.0.tgz";
       path = fetchurl {
-        name = "events___events_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz";
-        sha1 = "93b87c18f8efcd4202a461aec4dfc0556b639379";
+        name = "events___events_3.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz";
+        sha1 = "31a95ad0a924e2d2c419a813aeb2c4e878ea7400";
       };
     }
     {
-      name = "eventsource___eventsource_1.0.7.tgz";
+      name = "eventsource___eventsource_1.1.0.tgz";
       path = fetchurl {
-        name = "eventsource___eventsource_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz";
-        sha1 = "8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0";
+        name = "eventsource___eventsource_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz";
+        sha1 = "00e8ca7c92109e94b0ddf32dac677d841028cfaf";
       };
     }
     {
@@ -5626,11 +5202,11 @@
       };
     }
     {
-      name = "exec_sh___exec_sh_0.3.4.tgz";
+      name = "exec_sh___exec_sh_0.3.6.tgz";
       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";
+        name = "exec_sh___exec_sh_0.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz";
+        sha1 = "ff264f9e325519a60cb5e273692943483cca63bc";
       };
     }
     {
@@ -5682,11 +5258,11 @@
       };
     }
     {
-      name = "ext___ext_1.4.0.tgz";
+      name = "ext___ext_1.6.0.tgz";
       path = fetchurl {
-        name = "ext___ext_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz";
-        sha1 = "89ae7a07158f79d35517882904324077e4379244";
+        name = "ext___ext_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz";
+        sha1 = "3871d50641e874cc172e2b53f919842d19db4c52";
       };
     }
     {
@@ -5730,22 +5306,6 @@
       };
     }
     {
-      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 = "extsprintf___extsprintf_1.4.0.tgz";
-      path = fetchurl {
-        name = "extsprintf___extsprintf_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz";
-        sha1 = "e2689f8f356fad62cca65a3a91c5df5f9551692f";
-      };
-    }
-    {
       name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
       path = fetchurl {
         name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
@@ -5754,11 +5314,11 @@
       };
     }
     {
-      name = "fast_glob___fast_glob_3.2.4.tgz";
+      name = "fast_glob___fast_glob_3.2.7.tgz";
       path = fetchurl {
-        name = "fast_glob___fast_glob_3.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz";
-        sha1 = "d20aefbf99579383e7f3cc66529158c9b98554d3";
+        name = "fast_glob___fast_glob_3.2.7.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz";
+        sha1 = "fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1";
       };
     }
     {
@@ -5778,19 +5338,19 @@
       };
     }
     {
-      name = "fastq___fastq_1.8.0.tgz";
+      name = "fastq___fastq_1.13.0.tgz";
       path = fetchurl {
-        name = "fastq___fastq_1.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/fastq/-/fastq-1.8.0.tgz";
-        sha1 = "550e1f9f59bbc65fe185cb6a9b4d95357107f481";
+        name = "fastq___fastq_1.13.0.tgz";
+        url  = "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz";
+        sha1 = "616760f88a7526bdfc596b7cab8c18938c36b98c";
       };
     }
     {
-      name = "faye_websocket___faye_websocket_0.11.3.tgz";
+      name = "faye_websocket___faye_websocket_0.11.4.tgz";
       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";
+        name = "faye_websocket___faye_websocket_0.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz";
+        sha1 = "7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da";
       };
     }
     {
@@ -5802,11 +5362,11 @@
       };
     }
     {
-      name = "fbjs___fbjs_0.8.17.tgz";
+      name = "fbjs___fbjs_0.8.18.tgz";
       path = fetchurl {
-        name = "fbjs___fbjs_0.8.17.tgz";
-        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz";
-        sha1 = "c4d598ead6949112653d6588b01a5cdcd9f90fdd";
+        name = "fbjs___fbjs_0.8.18.tgz";
+        url  = "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz";
+        sha1 = "9835e0addb9aca2eff53295cd79ca1cfc7c9662a";
       };
     }
     {
@@ -5890,11 +5450,11 @@
       };
     }
     {
-      name = "find_cache_dir___find_cache_dir_3.3.1.tgz";
+      name = "find_cache_dir___find_cache_dir_3.3.2.tgz";
       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";
+        name = "find_cache_dir___find_cache_dir_3.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz";
+        sha1 = "b30c5b6eff0730731aea9bbd9dbecbd80256d64b";
       };
     }
     {
@@ -5930,11 +5490,11 @@
       };
     }
     {
-      name = "flatted___flatted_3.1.1.tgz";
+      name = "flatted___flatted_3.2.4.tgz";
       path = fetchurl {
-        name = "flatted___flatted_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz";
-        sha1 = "c4b489e80096d9df1dfc97c79871aea7c617c469";
+        name = "flatted___flatted_3.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz";
+        sha1 = "28d9969ea90661b5134259f312ab6aa7929ac5e2";
       };
     }
     {
@@ -5954,11 +5514,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.13.0.tgz";
+      name = "follow_redirects___follow_redirects_1.14.5.tgz";
       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";
+        name = "follow_redirects___follow_redirects_1.14.5.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz";
+        sha1 = "f09a5848981d3c772b5392309778523f8d85c381";
       };
     }
     {
@@ -5970,14 +5530,6 @@
       };
     }
     {
-      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 = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_4.1.6.tgz";
       path = fetchurl {
         name = "fork_ts_checker_webpack_plugin___fork_ts_checker_webpack_plugin_4.1.6.tgz";
@@ -5986,19 +5538,19 @@
       };
     }
     {
-      name = "form_data___form_data_2.3.3.tgz";
+      name = "form_data___form_data_3.0.1.tgz";
       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";
+        name = "form_data___form_data_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz";
+        sha1 = "ebd53791b78356a99af9a300d4282c4d5eb9755f";
       };
     }
     {
-      name = "forwarded___forwarded_0.1.2.tgz";
+      name = "forwarded___forwarded_0.2.0.tgz";
       path = fetchurl {
-        name = "forwarded___forwarded_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz";
-        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+        name = "forwarded___forwarded_0.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz";
+        sha1 = "2269936428aad4c15c7ebe9779a84bf0b2a81811";
       };
     }
     {
@@ -6098,14 +5650,6 @@
       };
     }
     {
-      name = "fsevents___fsevents_2.1.3.tgz";
-      path = fetchurl {
-        name = "fsevents___fsevents_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz";
-        sha1 = "fb738703ae8d2f9fe900c33836ddebee8b97f23e";
-      };
-    }
-    {
       name = "function_bind___function_bind_1.1.1.tgz";
       path = fetchurl {
         name = "function_bind___function_bind_1.1.1.tgz";
@@ -6114,11 +5658,11 @@
       };
     }
     {
-      name = "function.prototype.name___function.prototype.name_1.1.2.tgz";
+      name = "function.prototype.name___function.prototype.name_1.1.5.tgz";
       path = fetchurl {
-        name = "function.prototype.name___function.prototype.name_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.2.tgz";
-        sha1 = "5cdf79d7c05db401591dfde83e3b70c5123e9a45";
+        name = "function.prototype.name___function.prototype.name_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz";
+        sha1 = "cce0505fe1ffb80503e6f9e46cc64e46a12a9621";
       };
     }
     {
@@ -6130,19 +5674,11 @@
       };
     }
     {
-      name = "functions_have_names___functions_have_names_1.2.1.tgz";
-      path = fetchurl {
-        name = "functions_have_names___functions_have_names_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.1.tgz";
-        sha1 = "a981ac397fa0c9964551402cdc5533d7a4d52f91";
-      };
-    }
-    {
-      name = "gensync___gensync_1.0.0_beta.1.tgz";
+      name = "functions_have_names___functions_have_names_1.2.2.tgz";
       path = fetchurl {
-        name = "gensync___gensync_1.0.0_beta.1.tgz";
-        url  = "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz";
-        sha1 = "58f4361ff987e5ff6e1e7a210827aa371eaac269";
+        name = "functions_have_names___functions_have_names_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz";
+        sha1 = "98d93991c39da9361f8e50b337c4f6e41f120e21";
       };
     }
     {
@@ -6186,6 +5722,14 @@
       };
     }
     {
+      name = "get_port___get_port_6.0.0.tgz";
+      path = fetchurl {
+        name = "get_port___get_port_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/get-port/-/get-port-6.0.0.tgz";
+        sha1 = "eeac06c17b9d22c2949d4ce5abcc80753afe9be1";
+      };
+    }
+    {
       name = "get_port___get_port_5.1.1.tgz";
       path = fetchurl {
         name = "get_port___get_port_5.1.1.tgz";
@@ -6218,19 +5762,19 @@
       };
     }
     {
-      name = "get_value___get_value_2.0.6.tgz";
+      name = "get_symbol_description___get_symbol_description_1.0.0.tgz";
       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";
+        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";
       };
     }
     {
-      name = "getpass___getpass_0.1.7.tgz";
+      name = "get_value___get_value_2.0.6.tgz";
       path = fetchurl {
-        name = "getpass___getpass_0.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz";
-        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+        name = "get_value___get_value_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
       };
     }
     {
@@ -6242,19 +5786,19 @@
       };
     }
     {
-      name = "glob_parent___glob_parent_5.1.1.tgz";
+      name = "glob_parent___glob_parent_5.1.2.tgz";
       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";
+        name = "glob_parent___glob_parent_5.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz";
+        sha1 = "869832c58034fe68a4093c17dc15e8340d8401c4";
       };
     }
     {
-      name = "glob___glob_7.1.6.tgz";
+      name = "glob___glob_7.2.0.tgz";
       path = fetchurl {
-        name = "glob___glob_7.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz";
-        sha1 = "141f33b81a7c2492e125594307480c46679278a6";
+        name = "glob___glob_7.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
+        sha1 = "d15535af7732e02e948f4c41628bd910293f6023";
       };
     }
     {
@@ -6282,19 +5826,11 @@
       };
     }
     {
-      name = "globals___globals_12.4.0.tgz";
+      name = "globals___globals_13.12.0.tgz";
       path = fetchurl {
-        name = "globals___globals_12.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz";
-        sha1 = "a18813576a41b00a24a97e7f815918c2e19925f8";
-      };
-    }
-    {
-      name = "globals___globals_13.7.0.tgz";
-      path = fetchurl {
-        name = "globals___globals_13.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-13.7.0.tgz";
-        sha1 = "aed3bcefd80ad3ec0f0be2cf0c895110c0591795";
+        name = "globals___globals_13.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz";
+        sha1 = "4d733760304230a0082ed96e21e5c565f898089e";
       };
     }
     {
@@ -6306,27 +5842,27 @@
       };
     }
     {
-      name = "globby___globby_6.1.0.tgz";
+      name = "globby___globby_11.0.4.tgz";
       path = fetchurl {
-        name = "globby___globby_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
-        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
+        name = "globby___globby_11.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz";
+        sha1 = "2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.4.tgz";
+      name = "globby___globby_6.1.0.tgz";
       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";
+        name = "globby___globby_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz";
+        sha1 = "f5a6d70e8395e21c858fb0489d64df02424d506c";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.6.tgz";
+      name = "graceful_fs___graceful_fs_4.2.8.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz";
-        sha1 = "ff040b2b0853b23c3d31027523706f1885d76bee";
+        name = "graceful_fs___graceful_fs_4.2.8.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a";
       };
     }
     {
@@ -6354,27 +5890,11 @@
       };
     }
     {
-      name = "har_schema___har_schema_2.0.0.tgz";
+      name = "harmony_reflect___harmony_reflect_1.6.2.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.1.5.tgz";
-      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";
-      };
-    }
-    {
-      name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
-      path = fetchurl {
-        name = "harmony_reflect___harmony_reflect_1.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz";
-        sha1 = "c108d4f2bb451efef7a37861fdbdae72c9bdefa9";
+        name = "harmony_reflect___harmony_reflect_1.6.2.tgz";
+        url  = "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz";
+        sha1 = "31ecbd32e648a34d030d86adb67d4d47547fe710";
       };
     }
     {
@@ -6402,14 +5922,6 @@
       };
     }
     {
-      name = "has_symbols___has_symbols_1.0.1.tgz";
-      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";
-      };
-    }
-    {
       name = "has_symbols___has_symbols_1.0.2.tgz";
       path = fetchurl {
         name = "has_symbols___has_symbols_1.0.2.tgz";
@@ -6418,6 +5930,14 @@
       };
     }
     {
+      name = "has_tostringtag___has_tostringtag_1.0.0.tgz";
+      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";
+      };
+    }
+    {
       name = "has_value___has_value_0.3.1.tgz";
       path = fetchurl {
         name = "has_value___has_value_0.3.1.tgz";
@@ -6522,11 +6042,11 @@
       };
     }
     {
-      name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
+      name = "hosted_git_info___hosted_git_info_2.8.9.tgz";
       path = fetchurl {
-        name = "hosted_git_info___hosted_git_info_2.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz";
-        sha1 = "7539bd4bc1e0e0a895815a2e0262420b12858488";
+        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";
       };
     }
     {
@@ -6554,14 +6074,6 @@
       };
     }
     {
-      name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
-      path = fetchurl {
-        name = "html_comment_regex___html_comment_regex_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz";
-        sha1 = "97d4688aeb5c81886a364faa0cad1dda14d433a7";
-      };
-    }
-    {
       name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
       path = fetchurl {
         name = "html_encoding_sniffer___html_encoding_sniffer_2.0.1.tgz";
@@ -6578,14 +6090,6 @@
       };
     }
     {
-      name = "html_entities___html_entities_1.3.1.tgz";
-      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";
-      };
-    }
-    {
       name = "html_escaper___html_escaper_2.0.2.tgz";
       path = fetchurl {
         name = "html_escaper___html_escaper_2.0.2.tgz";
@@ -6610,11 +6114,11 @@
       };
     }
     {
-      name = "htmlparser2___htmlparser2_3.10.1.tgz";
+      name = "htmlparser2___htmlparser2_6.1.0.tgz";
       path = fetchurl {
-        name = "htmlparser2___htmlparser2_3.10.1.tgz";
-        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz";
-        sha1 = "bd679dc3f59897b6a34bb10749c855bb53a9392f";
+        name = "htmlparser2___htmlparser2_6.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        sha1 = "c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7";
       };
     }
     {
@@ -6650,11 +6154,19 @@
       };
     }
     {
-      name = "http_parser_js___http_parser_js_0.5.2.tgz";
+      name = "http_parser_js___http_parser_js_0.5.5.tgz";
+      path = fetchurl {
+        name = "http_parser_js___http_parser_js_0.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz";
+        sha1 = "d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5";
+      };
+    }
+    {
+      name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
       path = fetchurl {
-        name = "http_parser_js___http_parser_js_0.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz";
-        sha1 = "da2e31d237b393aae72ace43882dd7e270a8ff77";
+        name = "http_proxy_agent___http_proxy_agent_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz";
+        sha1 = "8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a";
       };
     }
     {
@@ -6674,14 +6186,6 @@
       };
     }
     {
-      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 = "https_browserify___https_browserify_1.0.0.tgz";
       path = fetchurl {
         name = "https_browserify___https_browserify_1.0.0.tgz";
@@ -6722,11 +6226,11 @@
       };
     }
     {
-      name = "iconv_lite___iconv_lite_0.6.2.tgz";
+      name = "iconv_lite___iconv_lite_0.6.3.tgz";
       path = fetchurl {
-        name = "iconv_lite___iconv_lite_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz";
-        sha1 = "ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01";
+        name = "iconv_lite___iconv_lite_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz";
+        sha1 = "a52f80bf38da1952eb5c681790719871a1a72501";
       };
     }
     {
@@ -6746,11 +6250,11 @@
       };
     }
     {
-      name = "ieee754___ieee754_1.1.13.tgz";
+      name = "ieee754___ieee754_1.2.1.tgz";
       path = fetchurl {
-        name = "ieee754___ieee754_1.1.13.tgz";
-        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz";
-        sha1 = "ec168558e95aa181fd87d37f55c32bbcb6708b84";
+        name = "ieee754___ieee754_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
+        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
       };
     }
     {
@@ -6770,11 +6274,11 @@
       };
     }
     {
-      name = "ignore___ignore_5.1.8.tgz";
+      name = "ignore___ignore_5.1.9.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.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz";
+        sha1 = "9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb";
       };
     }
     {
@@ -6802,14 +6306,6 @@
       };
     }
     {
-      name = "import_fresh___import_fresh_3.2.1.tgz";
-      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";
-      };
-    }
-    {
       name = "import_fresh___import_fresh_3.3.0.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_3.3.0.tgz";
@@ -6834,19 +6330,19 @@
       };
     }
     {
-      name = "import_local___import_local_3.0.2.tgz";
+      name = "import_local___import_local_3.0.3.tgz";
       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";
+        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_modules___import_modules_2.0.0.tgz";
+      name = "import_modules___import_modules_2.1.0.tgz";
       path = fetchurl {
-        name = "import_modules___import_modules_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/import-modules/-/import-modules-2.0.0.tgz";
-        sha1 = "9c1e13b4e7a15682f70a6e3fa29534e4540cfc5d";
+        name = "import_modules___import_modules_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/import-modules/-/import-modules-2.1.0.tgz";
+        sha1 = "abe7df297cb6c1f19b57246eb8b8bd9664b6d8c2";
       };
     }
     {
@@ -6858,14 +6354,6 @@
       };
     }
     {
-      name = "indefinite_observable___indefinite_observable_2.0.1.tgz";
-      path = fetchurl {
-        name = "indefinite_observable___indefinite_observable_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz";
-        sha1 = "574af29bfbc17eb5947793797bddc94c9d859400";
-      };
-    }
-    {
       name = "indent_string___indent_string_4.0.0.tgz";
       path = fetchurl {
         name = "indent_string___indent_string_4.0.0.tgz";
@@ -6922,11 +6410,11 @@
       };
     }
     {
-      name = "ini___ini_1.3.5.tgz";
+      name = "ini___ini_1.3.8.tgz";
       path = fetchurl {
-        name = "ini___ini_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz";
-        sha1 = "eee25f56db1c9ec6085e0c22778083f596abf927";
+        name = "ini___ini_1.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz";
+        sha1 = "a29da425b48806f34767a4efce397269af28432c";
       };
     }
     {
@@ -6946,14 +6434,6 @@
       };
     }
     {
-      name = "internal_slot___internal_slot_1.0.2.tgz";
-      path = fetchurl {
-        name = "internal_slot___internal_slot_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz";
-        sha1 = "9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3";
-      };
-    }
-    {
       name = "internal_slot___internal_slot_1.0.3.tgz";
       path = fetchurl {
         name = "internal_slot___internal_slot_1.0.3.tgz";
@@ -7034,11 +6514,11 @@
       };
     }
     {
-      name = "is_arguments___is_arguments_1.0.4.tgz";
+      name = "is_arguments___is_arguments_1.1.1.tgz";
       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";
+        name = "is_arguments___is_arguments_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz";
+        sha1 = "15b3f88fda01f2a97fec84ca761a560f123efa9b";
       };
     }
     {
@@ -7058,11 +6538,11 @@
       };
     }
     {
-      name = "is_bigint___is_bigint_1.0.1.tgz";
+      name = "is_bigint___is_bigint_1.0.4.tgz";
       path = fetchurl {
-        name = "is_bigint___is_bigint_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz";
-        sha1 = "6923051dfcbc764278540b9ce0e6b3213aa5ebc2";
+        name = "is_bigint___is_bigint_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz";
+        sha1 = "08147a1875bc2b32005d41ccd8291dffc6691df3";
       };
     }
     {
@@ -7082,11 +6562,11 @@
       };
     }
     {
-      name = "is_boolean_object___is_boolean_object_1.1.0.tgz";
+      name = "is_boolean_object___is_boolean_object_1.1.2.tgz";
       path = fetchurl {
-        name = "is_boolean_object___is_boolean_object_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz";
-        sha1 = "e2aaad3a3a8fca34c28f6eee135b156ed2587ff0";
+        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";
       };
     }
     {
@@ -7106,19 +6586,11 @@
       };
     }
     {
-      name = "is_callable___is_callable_1.2.1.tgz";
-      path = fetchurl {
-        name = "is_callable___is_callable_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.1.tgz";
-        sha1 = "4d1e21a4f437509d25ce55f8184350771421c96d";
-      };
-    }
-    {
-      name = "is_callable___is_callable_1.2.3.tgz";
+      name = "is_callable___is_callable_1.2.4.tgz";
       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";
+        name = "is_callable___is_callable_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz";
+        sha1 = "47301d58dd0259407865547853df6d61fe471945";
       };
     }
     {
@@ -7138,11 +6610,11 @@
       };
     }
     {
-      name = "is_core_module___is_core_module_2.2.0.tgz";
+      name = "is_core_module___is_core_module_2.8.0.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz";
-        sha1 = "97037ef3d52224d85163f5597b2b63d9afed981a";
+        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";
       };
     }
     {
@@ -7162,11 +6634,11 @@
       };
     }
     {
-      name = "is_date_object___is_date_object_1.0.2.tgz";
+      name = "is_date_object___is_date_object_1.0.5.tgz";
       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";
+        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";
       };
     }
     {
@@ -7202,11 +6674,11 @@
       };
     }
     {
-      name = "is_docker___is_docker_2.1.1.tgz";
+      name = "is_docker___is_docker_2.2.1.tgz";
       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";
+        name = "is_docker___is_docker_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz";
+        sha1 = "33eeabe23cfe86f14bde4408a02c0cfb853acdaa";
       };
     }
     {
@@ -7266,11 +6738,11 @@
       };
     }
     {
-      name = "is_glob___is_glob_4.0.1.tgz";
+      name = "is_glob___is_glob_4.0.3.tgz";
       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";
+        name = "is_glob___is_glob_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz";
+        sha1 = "64f61e42cbbb2eec2071a9dac0b28ba1e65d5084";
       };
     }
     {
@@ -7298,14 +6770,6 @@
       };
     }
     {
-      name = "is_negative_zero___is_negative_zero_2.0.0.tgz";
-      path = fetchurl {
-        name = "is_negative_zero___is_negative_zero_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.0.tgz";
-        sha1 = "9553b121b0fac28869da9ed459e20c7543788461";
-      };
-    }
-    {
       name = "is_negative_zero___is_negative_zero_2.0.1.tgz";
       path = fetchurl {
         name = "is_negative_zero___is_negative_zero_2.0.1.tgz";
@@ -7314,11 +6778,11 @@
       };
     }
     {
-      name = "is_number_object___is_number_object_1.0.4.tgz";
+      name = "is_number_object___is_number_object_1.0.6.tgz";
       path = fetchurl {
-        name = "is_number_object___is_number_object_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz";
-        sha1 = "36ac95e741cf18b283fc1ddf5e83da798e3ec197";
+        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";
       };
     }
     {
@@ -7402,27 +6866,19 @@
       };
     }
     {
-      name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "is_regex___is_regex_1.1.1.tgz";
+      name = "is_potential_custom_element_name___is_potential_custom_element_name_1.0.1.tgz";
       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";
+        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";
       };
     }
     {
-      name = "is_regex___is_regex_1.1.2.tgz";
+      name = "is_regex___is_regex_1.1.4.tgz";
       path = fetchurl {
-        name = "is_regex___is_regex_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz";
-        sha1 = "81c8ebde4db142f2cf1c53fc86d6a45788266251";
+        name = "is_regex___is_regex_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz";
+        sha1 = "eef5663cd59fa4c0ae339505323df6854bb15958";
       };
     }
     {
@@ -7450,43 +6906,43 @@
       };
     }
     {
-      name = "is_stream___is_stream_1.1.0.tgz";
+      name = "is_shared_array_buffer___is_shared_array_buffer_1.0.1.tgz";
       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";
+        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";
       };
     }
     {
-      name = "is_stream___is_stream_2.0.0.tgz";
+      name = "is_stream___is_stream_1.1.0.tgz";
       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";
+        name = "is_stream___is_stream_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
       };
     }
     {
-      name = "is_string___is_string_1.0.5.tgz";
+      name = "is_stream___is_stream_2.0.1.tgz";
       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";
+        name = "is_stream___is_stream_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz";
+        sha1 = "fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077";
       };
     }
     {
-      name = "is_svg___is_svg_3.0.0.tgz";
+      name = "is_string___is_string_1.0.7.tgz";
       path = fetchurl {
-        name = "is_svg___is_svg_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz";
-        sha1 = "9321dbd29c212e5ca99c4fa9794c714bcafa2f75";
+        name = "is_string___is_string_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz";
+        sha1 = "0dd12bf2006f255bb58f695110eff7491eebc0fd";
       };
     }
     {
-      name = "is_symbol___is_symbol_1.0.3.tgz";
+      name = "is_symbol___is_symbol_1.0.4.tgz";
       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";
+        name = "is_symbol___is_symbol_1.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz";
+        sha1 = "a6dac93b635b063ca6872236de88910a57af139c";
       };
     }
     {
@@ -7498,6 +6954,14 @@
       };
     }
     {
+      name = "is_weakref___is_weakref_1.0.1.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_windows___is_windows_1.0.2.tgz";
       path = fetchurl {
         name = "is_windows___is_windows_1.0.2.tgz";
@@ -7570,19 +7034,11 @@
       };
     }
     {
-      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 = "istanbul_lib_coverage___istanbul_lib_coverage_3.0.0.tgz";
+      name = "istanbul_lib_coverage___istanbul_lib_coverage_3.2.0.tgz";
       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";
+        name = "istanbul_lib_coverage___istanbul_lib_coverage_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz";
+        sha1 = "189e7909d0a39fa5a3dfad5b03f71947770191d3";
       };
     }
     {
@@ -7594,6 +7050,14 @@
       };
     }
     {
+      name = "istanbul_lib_instrument___istanbul_lib_instrument_5.1.0.tgz";
+      path = fetchurl {
+        name = "istanbul_lib_instrument___istanbul_lib_instrument_5.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz";
+        sha1 = "7b49198b657b27a730b8e9cb601f1e1bff24c59a";
+      };
+    }
+    {
       name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
       path = fetchurl {
         name = "istanbul_lib_report___istanbul_lib_report_3.0.0.tgz";
@@ -7602,19 +7066,19 @@
       };
     }
     {
-      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.0.tgz";
+      name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.1.tgz";
       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";
+        name = "istanbul_lib_source_maps___istanbul_lib_source_maps_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz";
+        sha1 = "895f3a709fcfba34c6de5a42939022f3e4358551";
       };
     }
     {
-      name = "istanbul_reports___istanbul_reports_3.0.2.tgz";
+      name = "istanbul_reports___istanbul_reports_3.1.1.tgz";
       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";
+        name = "istanbul_reports___istanbul_reports_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.1.tgz";
+        sha1 = "7085857f17d2441053c6ce5c3b8fdf6882289397";
       };
     }
     {
@@ -7866,6 +7330,14 @@
       };
     }
     {
+      name = "jest_worker___jest_worker_27.4.2.tgz";
+      path = fetchurl {
+        name = "jest_worker___jest_worker_27.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.2.tgz";
+        sha1 = "0fb123d50955af1a450267787f340a1bf7e12bc4";
+      };
+    }
+    {
       name = "jest___jest_26.6.0.tgz";
       path = fetchurl {
         name = "jest___jest_26.6.0.tgz";
@@ -7874,19 +7346,19 @@
       };
     }
     {
-      name = "joi___joi_17.4.0.tgz";
+      name = "joi___joi_17.5.0.tgz";
       path = fetchurl {
-        name = "joi___joi_17.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/joi/-/joi-17.4.0.tgz";
-        sha1 = "b5c2277c8519e016316e49ababd41a1908d9ef20";
+        name = "joi___joi_17.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/joi/-/joi-17.5.0.tgz";
+        sha1 = "7e66d0004b5045d971cf416a55fb61d33ac6e011";
       };
     }
     {
-      name = "js_base64___js_base64_3.6.1.tgz";
+      name = "js_base64___js_base64_3.7.2.tgz";
       path = fetchurl {
-        name = "js_base64___js_base64_3.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-3.6.1.tgz";
-        sha1 = "555aae398b74694b4037af1f8a5a6209d170efbe";
+        name = "js_base64___js_base64_3.7.2.tgz";
+        url  = "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.2.tgz";
+        sha1 = "816d11d81a8aff241603d19ce5761e13e41d7745";
       };
     }
     {
@@ -7898,27 +7370,19 @@
       };
     }
     {
-      name = "js_yaml___js_yaml_3.14.0.tgz";
+      name = "js_yaml___js_yaml_3.14.1.tgz";
       path = fetchurl {
-        name = "js_yaml___js_yaml_3.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz";
-        sha1 = "a7a34170f26a21bb162424d8adacb4113a69e482";
+        name = "js_yaml___js_yaml_3.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz";
+        sha1 = "dae812fdb3825fa306609a8717383c50c36a0537";
       };
     }
     {
-      name = "jsbn___jsbn_0.1.1.tgz";
+      name = "jsdom___jsdom_16.7.0.tgz";
       path = fetchurl {
-        name = "jsbn___jsbn_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz";
-        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
-      };
-    }
-    {
-      name = "jsdom___jsdom_16.5.1.tgz";
-      path = fetchurl {
-        name = "jsdom___jsdom_16.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.5.1.tgz";
-        sha1 = "4ced6bbd7b77d67fb980e64d9e3e6fb900f97dd6";
+        name = "jsdom___jsdom_16.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz";
+        sha1 = "918ae71965424b197c819f8183a754e18977b710";
       };
     }
     {
@@ -7970,14 +7434,6 @@
       };
     }
     {
-      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_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
       path = fetchurl {
         name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
@@ -7986,14 +7442,6 @@
       };
     }
     {
-      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 = "json3___json3_3.3.3.tgz";
       path = fetchurl {
         name = "json3___json3_3.3.3.tgz";
@@ -8010,11 +7458,11 @@
       };
     }
     {
-      name = "json5___json5_2.1.3.tgz";
+      name = "json5___json5_2.2.0.tgz";
       path = fetchurl {
-        name = "json5___json5_2.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz";
-        sha1 = "c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43";
+        name = "json5___json5_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz";
+        sha1 = "2dfefe720c6ba525d9ebd909950f0515316c89a3";
       };
     }
     {
@@ -8034,91 +7482,75 @@
       };
     }
     {
-      name = "jsprim___jsprim_1.4.1.tgz";
+      name = "jss_plugin_camel_case___jss_plugin_camel_case_10.8.2.tgz";
       path = fetchurl {
-        name = "jsprim___jsprim_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+        name = "jss_plugin_camel_case___jss_plugin_camel_case_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz";
+        sha1 = "8d7f915c8115afaff8cbde08faf610ec9892fba6";
       };
     }
     {
-      name = "jss_plugin_camel_case___jss_plugin_camel_case_10.6.0.tgz";
+      name = "jss_plugin_default_unit___jss_plugin_default_unit_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_camel_case___jss_plugin_camel_case_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.6.0.tgz";
-        sha1 = "93d2cd704bf0c4af70cc40fb52d74b8a2554b170";
+        name = "jss_plugin_default_unit___jss_plugin_default_unit_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz";
+        sha1 = "c66f12e02e0815d911b85c02c2a979ee7b4ce69a";
       };
     }
     {
-      name = "jss_plugin_default_unit___jss_plugin_default_unit_10.6.0.tgz";
+      name = "jss_plugin_global___jss_plugin_global_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_default_unit___jss_plugin_default_unit_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.6.0.tgz";
-        sha1 = "af47972486819b375f0f3a9e0213403a84b5ef3b";
+        name = "jss_plugin_global___jss_plugin_global_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz";
+        sha1 = "1a35632a693cf50113bcc5ffe6b51969df79c4ec";
       };
     }
     {
-      name = "jss_plugin_global___jss_plugin_global_10.6.0.tgz";
+      name = "jss_plugin_nested___jss_plugin_nested_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_global___jss_plugin_global_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.6.0.tgz";
-        sha1 = "3e8011f760f399cbadcca7f10a485b729c50e3ed";
+        name = "jss_plugin_nested___jss_plugin_nested_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz";
+        sha1 = "79f3c7f75ea6a36ae72fe52e777035bb24d230c7";
       };
     }
     {
-      name = "jss_plugin_nested___jss_plugin_nested_10.6.0.tgz";
+      name = "jss_plugin_props_sort___jss_plugin_props_sort_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_nested___jss_plugin_nested_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.6.0.tgz";
-        sha1 = "5f83c5c337d3b38004834e8426957715a0251641";
+        name = "jss_plugin_props_sort___jss_plugin_props_sort_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz";
+        sha1 = "e25a7471868652c394562b6dc5433dcaea7dff6f";
       };
     }
     {
-      name = "jss_plugin_props_sort___jss_plugin_props_sort_10.6.0.tgz";
+      name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_props_sort___jss_plugin_props_sort_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.6.0.tgz";
-        sha1 = "297879f35f9fe21196448579fee37bcde28ce6bc";
+        name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz";
+        sha1 = "55354b55f1b2968a15976729968f767f02d64049";
       };
     }
     {
-      name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.6.0.tgz";
+      name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_rule_value_function___jss_plugin_rule_value_function_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.6.0.tgz";
-        sha1 = "3c1a557236a139d0151e70a82c810ccce1c1c5ea";
+        name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz";
+        sha1 = "ebb4a482642f34091e454901e21176441dd5f475";
       };
     }
     {
-      name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.6.0.tgz";
+      name = "jss___jss_10.8.2.tgz";
       path = fetchurl {
-        name = "jss_plugin_vendor_prefixer___jss_plugin_vendor_prefixer_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.6.0.tgz";
-        sha1 = "e1fcd499352846890c38085b11dbd7aa1c4f2c78";
+        name = "jss___jss_10.8.2.tgz";
+        url  = "https://registry.yarnpkg.com/jss/-/jss-10.8.2.tgz";
+        sha1 = "4b2a30b094b924629a64928236017a52c7c97505";
       };
     }
     {
-      name = "jss___jss_10.6.0.tgz";
+      name = "jsx_ast_utils___jsx_ast_utils_3.2.1.tgz";
       path = fetchurl {
-        name = "jss___jss_10.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/jss/-/jss-10.6.0.tgz";
-        sha1 = "d92ff9d0f214f65ca1718591b68e107be4774149";
-      };
-    }
-    {
-      name = "jsx_ast_utils___jsx_ast_utils_2.4.1.tgz";
-      path = fetchurl {
-        name = "jsx_ast_utils___jsx_ast_utils_2.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz";
-        sha1 = "1114a4c1209481db06c690c2b4f488cc665f657e";
-      };
-    }
-    {
-      name = "jsx_ast_utils___jsx_ast_utils_3.2.0.tgz";
-      path = fetchurl {
-        name = "jsx_ast_utils___jsx_ast_utils_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz";
-        sha1 = "41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82";
+        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";
       };
     }
     {
@@ -8170,11 +7602,11 @@
       };
     }
     {
-      name = "klona___klona_2.0.4.tgz";
+      name = "klona___klona_2.0.5.tgz";
       path = fetchurl {
-        name = "klona___klona_2.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz";
-        sha1 = "7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0";
+        name = "klona___klona_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz";
+        sha1 = "d166574d90076395d9963aa7a928fabb8d76afbc";
       };
     }
     {
@@ -8226,19 +7658,11 @@
       };
     }
     {
-      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 = "load_json_file___load_json_file_2.0.0.tgz";
-      path = fetchurl {
-        name = "load_json_file___load_json_file_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz";
-        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+        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";
       };
     }
     {
@@ -8274,6 +7698,14 @@
       };
     }
     {
+      name = "loader_utils___loader_utils_2.0.2.tgz";
+      path = fetchurl {
+        name = "loader_utils___loader_utils_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz";
+        sha1 = "d6e3b4fb81870721ae4e0868ab11dd638368c129";
+      };
+    }
+    {
       name = "locate_path___locate_path_2.0.0.tgz";
       path = fetchurl {
         name = "locate_path___locate_path_2.0.0.tgz";
@@ -8346,6 +7778,14 @@
       };
     }
     {
+      name = "lodash.merge___lodash.merge_4.6.2.tgz";
+      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";
+      };
+    }
+    {
       name = "lodash.template___lodash.template_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.template___lodash.template_4.5.0.tgz";
@@ -8362,6 +7802,14 @@
       };
     }
     {
+      name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
+      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";
+      };
+    }
+    {
       name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
       path = fetchurl {
         name = "lodash.uniq___lodash.uniq_4.5.0.tgz";
@@ -8378,14 +7826,6 @@
       };
     }
     {
-      name = "lodash___lodash_4.17.20.tgz";
-      path = fetchurl {
-        name = "lodash___lodash_4.17.20.tgz";
-        url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz";
-        sha1 = "b44a9b6297bcb698f1c51a3545a2b3b368d59c52";
-      };
-    }
-    {
       name = "lodash___lodash_4.17.21.tgz";
       path = fetchurl {
         name = "lodash___lodash_4.17.21.tgz";
@@ -8394,11 +7834,11 @@
       };
     }
     {
-      name = "loglevel___loglevel_1.7.0.tgz";
+      name = "loglevel___loglevel_1.8.0.tgz";
       path = fetchurl {
-        name = "loglevel___loglevel_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.0.tgz";
-        sha1 = "728166855a740d59d38db01cf46f042caa041bb0";
+        name = "loglevel___loglevel_1.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz";
+        sha1 = "e7ec73a57e1e7b419cb6c6ac06bf050b67356114";
       };
     }
     {
@@ -8418,11 +7858,11 @@
       };
     }
     {
-      name = "lower_case___lower_case_2.0.1.tgz";
+      name = "lower_case___lower_case_2.0.2.tgz";
       path = fetchurl {
-        name = "lower_case___lower_case_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz";
-        sha1 = "39eeb36e396115cc05e29422eaea9e692c9408c7";
+        name = "lower_case___lower_case_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz";
+        sha1 = "6fa237c63dbdc4a82ca0fd882e4722dc5e634e28";
       };
     }
     {
@@ -8466,11 +7906,11 @@
       };
     }
     {
-      name = "makeerror___makeerror_1.0.11.tgz";
+      name = "makeerror___makeerror_1.0.12.tgz";
       path = fetchurl {
-        name = "makeerror___makeerror_1.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz";
-        sha1 = "e01a5c9109f2af79660e4e8b9587790184f5a96c";
+        name = "makeerror___makeerror_1.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz";
+        sha1 = "3e5dd2079a82e812e983cc6610c4a2cb0eaa801a";
       };
     }
     {
@@ -8594,19 +8034,19 @@
       };
     }
     {
-      name = "mdn_data___mdn_data_2.0.4.tgz";
+      name = "mdn_data___mdn_data_2.0.14.tgz";
       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";
+        name = "mdn_data___mdn_data_2.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz";
+        sha1 = "7113fc4281917d63ce29b43446f701e68c25ba50";
       };
     }
     {
-      name = "mdn_data___mdn_data_2.0.6.tgz";
+      name = "mdn_data___mdn_data_2.0.4.tgz";
       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";
+        name = "mdn_data___mdn_data_2.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz";
+        sha1 = "699b3c38ac6f1d728091a64650b65d388502fd5b";
       };
     }
     {
@@ -8746,11 +8186,11 @@
       };
     }
     {
-      name = "micromatch___micromatch_4.0.2.tgz";
+      name = "micromatch___micromatch_4.0.4.tgz";
       path = fetchurl {
-        name = "micromatch___micromatch_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz";
-        sha1 = "4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259";
+        name = "micromatch___micromatch_4.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
+        sha1 = "896d519dfe9db25fce94ceb7a500919bf881ebf9";
       };
     }
     {
@@ -8762,35 +8202,19 @@
       };
     }
     {
-      name = "mime_db___mime_db_1.44.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "mime_db___mime_db_1.46.0.tgz";
+      name = "mime_db___mime_db_1.51.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.46.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.46.0.tgz";
-        sha1 = "6267748a7f799594de3cbc8cde91def349661cee";
+        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.27.tgz";
+      name = "mime_types___mime_types_2.1.34.tgz";
       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";
-      };
-    }
-    {
-      name = "mime_types___mime_types_2.1.29.tgz";
-      path = fetchurl {
-        name = "mime_types___mime_types_2.1.29.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.29.tgz";
-        sha1 = "1d4ab77da64b91f5f72489df29236563754bb1b2";
+        name = "mime_types___mime_types_2.1.34.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
+        sha1 = "5a712f9ec1503511a945803640fafe09d3793c24";
       };
     }
     {
@@ -8802,11 +8226,11 @@
       };
     }
     {
-      name = "mime___mime_2.4.6.tgz";
+      name = "mime___mime_2.6.0.tgz";
       path = fetchurl {
-        name = "mime___mime_2.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz";
-        sha1 = "e5b407c90db442f2beb5b162373d07b69affa4d1";
+        name = "mime___mime_2.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz";
+        sha1 = "a2a682a95cd4d0cb1d6257e28f83da7e35800367";
       };
     }
     {
@@ -8818,11 +8242,11 @@
       };
     }
     {
-      name = "mini_create_react_context___mini_create_react_context_0.4.0.tgz";
+      name = "mini_create_react_context___mini_create_react_context_0.4.1.tgz";
       path = fetchurl {
-        name = "mini_create_react_context___mini_create_react_context_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz";
-        sha1 = "df60501c83151db69e28eac0ef08b4002efab040";
+        name = "mini_create_react_context___mini_create_react_context_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz";
+        sha1 = "072171561bfdc922da08a60c2197a497cc2d1d5e";
       };
     }
     {
@@ -8890,11 +8314,11 @@
       };
     }
     {
-      name = "minipass___minipass_3.1.3.tgz";
+      name = "minipass___minipass_3.1.5.tgz";
       path = fetchurl {
-        name = "minipass___minipass_3.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz";
-        sha1 = "7d42ff1f39635482e15f9cdb53184deebd5815fd";
+        name = "minipass___minipass_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz";
+        sha1 = "71f6251b0a33a49c01b3cf97ff77eda030dff732";
       };
     }
     {
@@ -9002,6 +8426,14 @@
       };
     }
     {
+      name = "ms___ms_2.1.3.tgz";
+      path = fetchurl {
+        name = "ms___ms_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
+        sha1 = "574c8138ce1d2b5861f0b44579dbadd60c6615b2";
+      };
+    }
+    {
       name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
       path = fetchurl {
         name = "multicast_dns_service_types___multicast_dns_service_types_1.1.0.tgz";
@@ -9026,19 +8458,19 @@
       };
     }
     {
-      name = "nan___nan_2.14.1.tgz";
+      name = "nan___nan_2.15.0.tgz";
       path = fetchurl {
-        name = "nan___nan_2.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz";
-        sha1 = "d7be34dfa3105b91494c3147089315eff8874b01";
+        name = "nan___nan_2.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz";
+        sha1 = "3f34a473ff18e15c1b5626b62903b5ad6e665fee";
       };
     }
     {
-      name = "nanoid___nanoid_3.1.22.tgz";
+      name = "nanoid___nanoid_3.1.30.tgz";
       path = fetchurl {
-        name = "nanoid___nanoid_3.1.22.tgz";
-        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz";
-        sha1 = "b35f8fb7d151990a8aebd5aa5015c03cf726f844";
+        name = "nanoid___nanoid_3.1.30.tgz";
+        url  = "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz";
+        sha1 = "63f93cc548d2a113dc5dfbc63bfa09e2b9b64362";
       };
     }
     {
@@ -9098,11 +8530,11 @@
       };
     }
     {
-      name = "no_case___no_case_3.0.3.tgz";
+      name = "no_case___no_case_3.0.4.tgz";
       path = fetchurl {
-        name = "no_case___no_case_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz";
-        sha1 = "c21b434c1ffe48b39087e86cfb4d2582e9df18f8";
+        name = "no_case___no_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz";
+        sha1 = "d361fd5c9800f558551a8369fc0dcd4662b6124d";
       };
     }
     {
@@ -9162,19 +8594,19 @@
       };
     }
     {
-      name = "node_releases___node_releases_1.1.61.tgz";
+      name = "node_releases___node_releases_1.1.77.tgz";
       path = fetchurl {
-        name = "node_releases___node_releases_1.1.61.tgz";
-        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.61.tgz";
-        sha1 = "707b0fca9ce4e11783612ba4a2fcba09047af16e";
+        name = "node_releases___node_releases_1.1.77.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz";
+        sha1 = "50b0cfede855dd374e7585bf228ff34e57c1c32e";
       };
     }
     {
-      name = "node_releases___node_releases_1.1.71.tgz";
+      name = "node_releases___node_releases_2.0.1.tgz";
       path = fetchurl {
-        name = "node_releases___node_releases_1.1.71.tgz";
-        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz";
-        sha1 = "cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb";
+        name = "node_releases___node_releases_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz";
+        sha1 = "3d1d395f204f1f2f29a54358b9fb678765ad2fc5";
       };
     }
     {
@@ -9258,6 +8690,14 @@
       };
     }
     {
+      name = "nth_check___nth_check_2.0.1.tgz";
+      path = fetchurl {
+        name = "nth_check___nth_check_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz";
+        sha1 = "2efe162f5c3da06a28959fbd3db75dbeea9f0fc2";
+      };
+    }
+    {
       name = "num2fraction___num2fraction_1.2.2.tgz";
       path = fetchurl {
         name = "num2fraction___num2fraction_1.2.2.tgz";
@@ -9274,14 +8714,6 @@
       };
     }
     {
-      name = "oauth_sign___oauth_sign_0.9.0.tgz";
-      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";
-      };
-    }
-    {
       name = "object_assign___object_assign_4.0.1.tgz";
       path = fetchurl {
         name = "object_assign___object_assign_4.0.1.tgz";
@@ -9306,27 +8738,19 @@
       };
     }
     {
-      name = "object_inspect___object_inspect_1.8.0.tgz";
+      name = "object_inspect___object_inspect_1.11.0.tgz";
       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";
+        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.9.0.tgz";
+      name = "object_is___object_is_1.1.5.tgz";
       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";
-      };
-    }
-    {
-      name = "object_is___object_is_1.1.2.tgz";
-      path = fetchurl {
-        name = "object_is___object_is_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz";
-        sha1 = "c5d2e87ff9e119f78b7a088441519e2eec1573b6";
+        name = "object_is___object_is_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz";
+        sha1 = "b9deeaa5fc7f1846a0faecdceec138e5778f53ac";
       };
     }
     {
@@ -9346,14 +8770,6 @@
       };
     }
     {
-      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 = "303867a666cdd41936ecdedfb1f8f3e32a478cdd";
-      };
-    }
-    {
       name = "object.assign___object.assign_4.1.2.tgz";
       path = fetchurl {
         name = "object.assign___object.assign_4.1.2.tgz";
@@ -9362,43 +8778,35 @@
       };
     }
     {
-      name = "object.entries___object.entries_1.1.2.tgz";
-      path = fetchurl {
-        name = "object.entries___object.entries_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz";
-        sha1 = "bc73f00acb6b6bb16c203434b10f9a7e797d3add";
-      };
-    }
-    {
-      name = "object.entries___object.entries_1.1.3.tgz";
+      name = "object.entries___object.entries_1.1.5.tgz";
       path = fetchurl {
-        name = "object.entries___object.entries_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz";
-        sha1 = "c601c7f168b62374541a07ddbd3e2d5e4f7711a6";
+        name = "object.entries___object.entries_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz";
+        sha1 = "e1acdd17c4de2cd96d5a08487cfb9db84d881861";
       };
     }
     {
-      name = "object.fromentries___object.fromentries_2.0.2.tgz";
+      name = "object.fromentries___object.fromentries_2.0.5.tgz";
       path = fetchurl {
-        name = "object.fromentries___object.fromentries_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz";
-        sha1 = "4a09c9b9bb3843dd0f89acdb517a794d4f355ac9";
+        name = "object.fromentries___object.fromentries_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz";
+        sha1 = "7b37b205109c21e741e605727fe8b0ad5fa08251";
       };
     }
     {
-      name = "object.fromentries___object.fromentries_2.0.4.tgz";
+      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.3.tgz";
       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";
+        name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz";
+        sha1 = "b223cf38e17fefb97a63c10c91df72ccb386df9e";
       };
     }
     {
-      name = "object.getownpropertydescriptors___object.getownpropertydescriptors_2.1.0.tgz";
+      name = "object.hasown___object.hasown_1.1.0.tgz";
       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";
+        name = "object.hasown___object.hasown_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz";
+        sha1 = "7232ed266f34d197d15cac5880232f7a4790afe5";
       };
     }
     {
@@ -9410,19 +8818,11 @@
       };
     }
     {
-      name = "object.values___object.values_1.1.1.tgz";
+      name = "object.values___object.values_1.1.5.tgz";
       path = fetchurl {
-        name = "object.values___object.values_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz";
-        sha1 = "68a99ecde356b7e9295a3c5e0ce31dc8c953de5e";
-      };
-    }
-    {
-      name = "object.values___object.values_1.1.3.tgz";
-      path = fetchurl {
-        name = "object.values___object.values_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz";
-        sha1 = "eaa8b1e17589f02f698db093f7c62ee1699742ee";
+        name = "object.values___object.values_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz";
+        sha1 = "959f63e3ce9ef108720333082131e4a459b716ac";
       };
     }
     {
@@ -9466,11 +8866,11 @@
       };
     }
     {
-      name = "open___open_7.2.1.tgz";
+      name = "open___open_7.4.2.tgz";
       path = fetchurl {
-        name = "open___open_7.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/open/-/open-7.2.1.tgz";
-        sha1 = "07b0ade11a43f2a8ce718480bdf3d7563a095195";
+        name = "open___open_7.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz";
+        sha1 = "b8147e26dcf3e426316c730089fd71edd29c2321";
       };
     }
     {
@@ -9642,11 +9042,11 @@
       };
     }
     {
-      name = "param_case___param_case_3.0.3.tgz";
+      name = "param_case___param_case_3.0.4.tgz";
       path = fetchurl {
-        name = "param_case___param_case_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz";
-        sha1 = "4be41f8399eff621c56eebb829a5e451d9801238";
+        name = "param_case___param_case_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz";
+        sha1 = "7d17fe4aa12bde34d4a77d91acfb6219caad01c5";
       };
     }
     {
@@ -9674,14 +9074,6 @@
       };
     }
     {
-      name = "parse_json___parse_json_2.2.0.tgz";
-      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";
-      };
-    }
-    {
       name = "parse_json___parse_json_4.0.0.tgz";
       path = fetchurl {
         name = "parse_json___parse_json_4.0.0.tgz";
@@ -9690,11 +9082,11 @@
       };
     }
     {
-      name = "parse_json___parse_json_5.1.0.tgz";
+      name = "parse_json___parse_json_5.2.0.tgz";
       path = fetchurl {
-        name = "parse_json___parse_json_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.1.0.tgz";
-        sha1 = "f96088cdf24a8faa9aea9a009f2d9d942c999646";
+        name = "parse_json___parse_json_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz";
+        sha1 = "c76fc66dee54231c962b22bcc8a72cf2f99753cd";
       };
     }
     {
@@ -9714,11 +9106,11 @@
       };
     }
     {
-      name = "pascal_case___pascal_case_3.1.1.tgz";
+      name = "pascal_case___pascal_case_3.1.2.tgz";
       path = fetchurl {
-        name = "pascal_case___pascal_case_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz";
-        sha1 = "5ac1975133ed619281e88920973d2cd1f279de5f";
+        name = "pascal_case___pascal_case_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz";
+        sha1 = "b48e0ef2b98e205e7c1dae747d0b1508237660eb";
       };
     }
     {
@@ -9794,11 +9186,11 @@
       };
     }
     {
-      name = "path_parse___path_parse_1.0.6.tgz";
+      name = "path_parse___path_parse_1.0.7.tgz";
       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";
+        name = "path_parse___path_parse_1.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz";
+        sha1 = "fbc114b60ca42b30d9daf5858e4bd68bbedb6735";
       };
     }
     {
@@ -9818,14 +9210,6 @@
       };
     }
     {
-      name = "path_type___path_type_2.0.0.tgz";
-      path = fetchurl {
-        name = "path_type___path_type_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz";
-        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
-      };
-    }
-    {
       name = "path_type___path_type_4.0.0.tgz";
       path = fetchurl {
         name = "path_type___path_type_4.0.0.tgz";
@@ -9834,11 +9218,11 @@
       };
     }
     {
-      name = "pbkdf2___pbkdf2_3.1.1.tgz";
+      name = "pbkdf2___pbkdf2_3.1.2.tgz";
       path = fetchurl {
-        name = "pbkdf2___pbkdf2_3.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz";
-        sha1 = "cb8724b0fada984596856d1a6ebafd3584654b94";
+        name = "pbkdf2___pbkdf2_3.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz";
+        sha1 = "dd822aa0887580e52f1a039dc3eda108efae3075";
       };
     }
     {
@@ -9858,11 +9242,27 @@
       };
     }
     {
-      name = "picomatch___picomatch_2.2.2.tgz";
+      name = "picocolors___picocolors_0.2.1.tgz";
+      path = fetchurl {
+        name = "picocolors___picocolors_0.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz";
+        sha1 = "570670f793646851d1ba135996962abad587859f";
+      };
+    }
+    {
+      name = "picocolors___picocolors_1.0.0.tgz";
+      path = fetchurl {
+        name = "picocolors___picocolors_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz";
+        sha1 = "cb5bdc74ff3f51892236eaf79d68bc44564ab81c";
+      };
+    }
+    {
+      name = "picomatch___picomatch_2.3.0.tgz";
       path = fetchurl {
-        name = "picomatch___picomatch_2.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz";
-        sha1 = "21f333e9b6b8eaff02468f5146ea406d345f4dad";
+        name = "picomatch___picomatch_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
+        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
       };
     }
     {
@@ -9994,11 +9394,11 @@
       };
     }
     {
-      name = "postcss_calc___postcss_calc_7.0.4.tgz";
+      name = "postcss_calc___postcss_calc_7.0.5.tgz";
       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";
+        name = "postcss_calc___postcss_calc_7.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz";
+        sha1 = "f8a6e99f12e619c2ebc23cf6c486fdc15860933e";
       };
     }
     {
@@ -10162,11 +9562,11 @@
       };
     }
     {
-      name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
+      name = "postcss_font_variant___postcss_font_variant_4.0.1.tgz";
       path = fetchurl {
-        name = "postcss_font_variant___postcss_font_variant_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz";
-        sha1 = "71dd3c6c10a0d846c5eda07803439617bbbabacc";
+        name = "postcss_font_variant___postcss_font_variant_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz";
+        sha1 = "42d4c0ab30894f60f98b17561eb5c0321f502641";
       };
     }
     {
@@ -10186,11 +9586,11 @@
       };
     }
     {
-      name = "postcss_initial___postcss_initial_3.0.2.tgz";
+      name = "postcss_initial___postcss_initial_3.0.4.tgz";
       path = fetchurl {
-        name = "postcss_initial___postcss_initial_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz";
-        sha1 = "f018563694b3c16ae8eaabe3c585ac6319637b2d";
+        name = "postcss_initial___postcss_initial_3.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz";
+        sha1 = "9d32069a10531fe2ecafa0b6ac750ee0bc7efc53";
       };
     }
     {
@@ -10202,11 +9602,11 @@
       };
     }
     {
-      name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
+      name = "postcss_load_config___postcss_load_config_2.1.2.tgz";
       path = fetchurl {
-        name = "postcss_load_config___postcss_load_config_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz";
-        sha1 = "c84d692b7bb7b41ddced94ee62e8ab31b417b003";
+        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";
       };
     }
     {
@@ -10490,11 +9890,11 @@
       };
     }
     {
-      name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
+      name = "postcss_selector_not___postcss_selector_not_4.0.1.tgz";
       path = fetchurl {
-        name = "postcss_selector_not___postcss_selector_not_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz";
-        sha1 = "c68ff7ba96527499e832724a2674d65603b645c0";
+        name = "postcss_selector_not___postcss_selector_not_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz";
+        sha1 = "263016eef1cf219e0ade9a913780fc1f48204cbf";
       };
     }
     {
@@ -10514,19 +9914,19 @@
       };
     }
     {
-      name = "postcss_selector_parser___postcss_selector_parser_6.0.2.tgz";
+      name = "postcss_selector_parser___postcss_selector_parser_6.0.6.tgz";
       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";
+        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_svgo___postcss_svgo_4.0.2.tgz";
+      name = "postcss_svgo___postcss_svgo_4.0.3.tgz";
       path = fetchurl {
-        name = "postcss_svgo___postcss_svgo_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz";
-        sha1 = "17b997bc711b333bab143aaed3b8d3d6e3d38258";
+        name = "postcss_svgo___postcss_svgo_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz";
+        sha1 = "343a2cdbac9505d416243d496f724f38894c941e";
       };
     }
     {
@@ -10546,11 +9946,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";
       };
     }
     {
@@ -10562,35 +9962,27 @@
       };
     }
     {
-      name = "postcss___postcss_7.0.21.tgz";
+      name = "postcss___postcss_7.0.36.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.21.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz";
-        sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17";
+        name = "postcss___postcss_7.0.36.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz";
+        sha1 = "056f8cffa939662a8f5905950c07d5285644dfcb";
       };
     }
     {
-      name = "postcss___postcss_7.0.32.tgz";
+      name = "postcss___postcss_7.0.39.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.32.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz";
-        sha1 = "4310d6ee347053da3433db2be492883d62cec59d";
+        name = "postcss___postcss_7.0.39.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz";
+        sha1 = "9624375d965630e2e1f2c02a935c82a59cb48309";
       };
     }
     {
-      name = "postcss___postcss_7.0.35.tgz";
+      name = "postcss___postcss_8.4.4.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.35.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz";
-        sha1 = "d2be00b998f7f211d8a276974079f2e92b970e24";
-      };
-    }
-    {
-      name = "postcss___postcss_8.2.8.tgz";
-      path = fetchurl {
-        name = "postcss___postcss_8.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.2.8.tgz";
-        sha1 = "0b90f9382efda424c4f0f69a2ead6f6830d08ece";
+        name = "postcss___postcss_8.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz";
+        sha1 = "d53d4ec6a75fd62557a66bb41978bf47ff0c2869";
       };
     }
     {
@@ -10618,11 +10010,11 @@
       };
     }
     {
-      name = "prettier___prettier_2.3.1.tgz";
+      name = "prettier___prettier_2.5.1.tgz";
       path = fetchurl {
-        name = "prettier___prettier_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.3.1.tgz";
-        sha1 = "76903c3f8c4449bc9ac597acefa24dc5ad4cbea6";
+        name = "prettier___prettier_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz";
+        sha1 = "fff75fa9d519c54cf0fce328c1017d94546bc56a";
       };
     }
     {
@@ -10634,11 +10026,11 @@
       };
     }
     {
-      name = "pretty_error___pretty_error_2.1.1.tgz";
+      name = "pretty_error___pretty_error_2.1.2.tgz";
       path = fetchurl {
-        name = "pretty_error___pretty_error_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz";
-        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+        name = "pretty_error___pretty_error_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz";
+        sha1 = "be89f82d81b1c86ec8fdfbc385045882727f93b6";
       };
     }
     {
@@ -10714,11 +10106,11 @@
       };
     }
     {
-      name = "prompts___prompts_2.3.2.tgz";
+      name = "prompts___prompts_2.4.2.tgz";
       path = fetchurl {
-        name = "prompts___prompts_2.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz";
-        sha1 = "480572d89ecf39566d2bd3fe2c9fccb7c4c0b068";
+        name = "prompts___prompts_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz";
+        sha1 = "7b57e73b3a48029ad10ebd44f74b01722a4cb069";
       };
     }
     {
@@ -10746,11 +10138,11 @@
       };
     }
     {
-      name = "proxy_addr___proxy_addr_2.0.6.tgz";
+      name = "proxy_addr___proxy_addr_2.0.7.tgz";
       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";
+        name = "proxy_addr___proxy_addr_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz";
+        sha1 = "f19fe69ceab311eeb94b42e70e8c2070f9ba1025";
       };
     }
     {
@@ -10834,11 +10226,11 @@
       };
     }
     {
-      name = "puppeteer___puppeteer_10.0.0.tgz";
+      name = "puppeteer___puppeteer_10.4.0.tgz";
       path = fetchurl {
-        name = "puppeteer___puppeteer_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.0.0.tgz";
-        sha1 = "1b597c956103e2d989ca17f41ba4693b20a3640c";
+        name = "puppeteer___puppeteer_10.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.4.0.tgz";
+        sha1 = "a6465ff97fda0576c4ac29601406f67e6fea3dc7";
       };
     }
     {
@@ -10858,14 +10250,6 @@
       };
     }
     {
-      name = "qs___qs_6.5.2.tgz";
-      path = fetchurl {
-        name = "qs___qs_6.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
-        sha1 = "cb3ae806e8740444584ef154ce8ee98d403f3e36";
-      };
-    }
-    {
       name = "query_string___query_string_4.3.4.tgz";
       path = fetchurl {
         name = "query_string___query_string_4.3.4.tgz";
@@ -10906,6 +10290,14 @@
       };
     }
     {
+      name = "queue_microtask___queue_microtask_1.2.3.tgz";
+      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";
+      };
+    }
+    {
       name = "raf___raf_3.4.1.tgz";
       path = fetchurl {
         name = "raf___raf_3.4.1.tgz";
@@ -11010,11 +10402,11 @@
       };
     }
     {
-      name = "react_markdown___react_markdown_6.0.2.tgz";
+      name = "react_markdown___react_markdown_6.0.3.tgz";
       path = fetchurl {
-        name = "react_markdown___react_markdown_6.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/react-markdown/-/react-markdown-6.0.2.tgz";
-        sha1 = "d89be45c278b1e5f0196f851fffb11e30c69f027";
+        name = "react_markdown___react_markdown_6.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-markdown/-/react-markdown-6.0.3.tgz";
+        sha1 = "625ec767fa321d91801129387e7d31ee0cb99254";
       };
     }
     {
@@ -11034,19 +10426,19 @@
       };
     }
     {
-      name = "react_router_dom___react_router_dom_5.2.0.tgz";
+      name = "react_router_dom___react_router_dom_5.3.0.tgz";
       path = fetchurl {
-        name = "react_router_dom___react_router_dom_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz";
-        sha1 = "9e65a4d0c45e13289e66c7b17c7e175d0ea15662";
+        name = "react_router_dom___react_router_dom_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz";
+        sha1 = "da1bfb535a0e89a712a93b97dd76f47ad1f32363";
       };
     }
     {
-      name = "react_router___react_router_5.2.0.tgz";
+      name = "react_router___react_router_5.2.1.tgz";
       path = fetchurl {
-        name = "react_router___react_router_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz";
-        sha1 = "424e75641ca8747fbf76e5ecca69781aa37ea293";
+        name = "react_router___react_router_5.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz";
+        sha1 = "4d2e4e9d5ae9425091845b8dbc6d9d276239774d";
       };
     }
     {
@@ -11058,11 +10450,11 @@
       };
     }
     {
-      name = "react_test_renderer___react_test_renderer_16.13.1.tgz";
+      name = "react_test_renderer___react_test_renderer_16.14.0.tgz";
       path = fetchurl {
-        name = "react_test_renderer___react_test_renderer_16.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.13.1.tgz";
-        sha1 = "de25ea358d9012606de51e012d9742e7f0deabc1";
+        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";
       };
     }
     {
@@ -11074,11 +10466,11 @@
       };
     }
     {
-      name = "react_transition_group___react_transition_group_4.4.1.tgz";
+      name = "react_transition_group___react_transition_group_4.4.2.tgz";
       path = fetchurl {
-        name = "react_transition_group___react_transition_group_4.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz";
-        sha1 = "63868f9325a38ea5ee9535d828327f85773345c9";
+        name = "react_transition_group___react_transition_group_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz";
+        sha1 = "8b59a56f09ced7b55cbd53c36768b922890d5470";
       };
     }
     {
@@ -11090,14 +10482,6 @@
       };
     }
     {
-      name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
-      path = fetchurl {
-        name = "read_pkg_up___read_pkg_up_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
-        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
-      };
-    }
-    {
       name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
       path = fetchurl {
         name = "read_pkg_up___read_pkg_up_7.0.1.tgz";
@@ -11106,14 +10490,6 @@
       };
     }
     {
-      name = "read_pkg___read_pkg_2.0.0.tgz";
-      path = fetchurl {
-        name = "read_pkg___read_pkg_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz";
-        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
-      };
-    }
-    {
       name = "read_pkg___read_pkg_5.2.0.tgz";
       path = fetchurl {
         name = "read_pkg___read_pkg_5.2.0.tgz";
@@ -11146,11 +10522,11 @@
       };
     }
     {
-      name = "readdirp___readdirp_3.4.0.tgz";
+      name = "readdirp___readdirp_3.6.0.tgz";
       path = fetchurl {
-        name = "readdirp___readdirp_3.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz";
-        sha1 = "9fdccdf9e9155805449221ac645e8303ab5b9ada";
+        name = "readdirp___readdirp_3.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz";
+        sha1 = "74a370bd857116e245b29cc97340cd431a02a6c7";
       };
     }
     {
@@ -11170,19 +10546,19 @@
       };
     }
     {
-      name = "regenerate_unicode_properties___regenerate_unicode_properties_8.2.0.tgz";
+      name = "regenerate_unicode_properties___regenerate_unicode_properties_9.0.0.tgz";
       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";
+        name = "regenerate_unicode_properties___regenerate_unicode_properties_9.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz";
+        sha1 = "54d09c7115e1f53dc2314a974b32c1c344efe326";
       };
     }
     {
-      name = "regenerate___regenerate_1.4.1.tgz";
+      name = "regenerate___regenerate_1.4.2.tgz";
       path = fetchurl {
-        name = "regenerate___regenerate_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz";
-        sha1 = "cad92ad8e6b591773485fbe05a485caf4f457e6f";
+        name = "regenerate___regenerate_1.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz";
+        sha1 = "b9346d8827e8f5a32f7ba29637d398b69014848a";
       };
     }
     {
@@ -11194,11 +10570,11 @@
       };
     }
     {
-      name = "regenerator_runtime___regenerator_runtime_0.13.7.tgz";
+      name = "regenerator_runtime___regenerator_runtime_0.13.9.tgz";
       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";
+        name = "regenerator_runtime___regenerator_runtime_0.13.9.tgz";
+        url  = "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
+        sha1 = "8925742a98ffd90814988d7566ad30ca3b263b52";
       };
     }
     {
@@ -11226,19 +10602,11 @@
       };
     }
     {
-      name = "regexp_tree___regexp_tree_0.1.21.tgz";
-      path = fetchurl {
-        name = "regexp_tree___regexp_tree_0.1.21.tgz";
-        url  = "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.21.tgz";
-        sha1 = "55e2246b7f7d36f1b461490942fa780299c400d7";
-      };
-    }
-    {
-      name = "regexp.prototype.flags___regexp.prototype.flags_1.3.0.tgz";
+      name = "regexp_tree___regexp_tree_0.1.24.tgz";
       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";
+        name = "regexp_tree___regexp_tree_0.1.24.tgz";
+        url  = "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.24.tgz";
+        sha1 = "3d6fa238450a4d66e5bc9c4c14bb720e2196829d";
       };
     }
     {
@@ -11250,27 +10618,19 @@
       };
     }
     {
-      name = "regexpp___regexpp_3.1.0.tgz";
-      path = fetchurl {
-        name = "regexpp___regexpp_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz";
-        sha1 = "206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2";
-      };
-    }
-    {
-      name = "regexpu_core___regexpu_core_4.7.0.tgz";
+      name = "regexpp___regexpp_3.2.0.tgz";
       path = fetchurl {
-        name = "regexpu_core___regexpu_core_4.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz";
-        sha1 = "fcbf458c50431b0bb7b45d6967b8192d91f3d938";
+        name = "regexpp___regexpp_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
+        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
       };
     }
     {
-      name = "regexpu_core___regexpu_core_4.7.1.tgz";
+      name = "regexpu_core___regexpu_core_4.8.0.tgz";
       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";
+        name = "regexpu_core___regexpu_core_4.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz";
+        sha1 = "e5605ba361b67b1718478501327502f4479a98f0";
       };
     }
     {
@@ -11282,11 +10642,11 @@
       };
     }
     {
-      name = "regjsparser___regjsparser_0.6.4.tgz";
+      name = "regjsparser___regjsparser_0.7.0.tgz";
       path = fetchurl {
-        name = "regjsparser___regjsparser_0.6.4.tgz";
-        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz";
-        sha1 = "a769f8684308401a66e9b529d2436ff4d0666272";
+        name = "regjsparser___regjsparser_0.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz";
+        sha1 = "a6b667b54c885e18b52554cb4960ef71187e9968";
       };
     }
     {
@@ -11338,19 +10698,19 @@
       };
     }
     {
-      name = "renderkid___renderkid_2.0.3.tgz";
+      name = "renderkid___renderkid_2.0.7.tgz";
       path = fetchurl {
-        name = "renderkid___renderkid_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz";
-        sha1 = "380179c2ff5ae1365c522bf2fcfcff01c5b74149";
+        name = "renderkid___renderkid_2.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz";
+        sha1 = "464f276a6bdcee606f4a15993f9b29fc74ca8609";
       };
     }
     {
-      name = "repeat_element___repeat_element_1.1.3.tgz";
+      name = "repeat_element___repeat_element_1.1.4.tgz";
       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";
+        name = "repeat_element___repeat_element_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz";
+        sha1 = "be681520847ab58c7568ac75fbfad28ed42d39e9";
       };
     }
     {
@@ -11362,30 +10722,6 @@
       };
     }
     {
-      name = "request_promise_core___request_promise_core_1.1.4.tgz";
-      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";
-      };
-    }
-    {
-      name = "request_promise_native___request_promise_native_1.0.9.tgz";
-      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";
-      };
-    }
-    {
-      name = "request___request_2.88.2.tgz";
-      path = fetchurl {
-        name = "request___request_2.88.2.tgz";
-        url  = "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz";
-        sha1 = "d73c918731cb5a87da047e207234146f664d12b3";
-      };
-    }
-    {
       name = "require_directory___require_directory_2.1.1.tgz";
       path = fetchurl {
         name = "require_directory___require_directory_2.1.1.tgz";
@@ -11474,11 +10810,11 @@
       };
     }
     {
-      name = "resolve_url_loader___resolve_url_loader_3.1.2.tgz";
+      name = "resolve_url_loader___resolve_url_loader_3.1.4.tgz";
       path = fetchurl {
-        name = "resolve_url_loader___resolve_url_loader_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz";
-        sha1 = "235e2c28e22e3e432ba7a5d4e305c59a58edfc08";
+        name = "resolve_url_loader___resolve_url_loader_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz";
+        sha1 = "3c16caebe0b9faea9c7cc252fa49d2353c412320";
       };
     }
     {
@@ -11498,14 +10834,6 @@
       };
     }
     {
-      name = "resolve___resolve_1.17.0.tgz";
-      path = fetchurl {
-        name = "resolve___resolve_1.17.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz";
-        sha1 = "b25941b54968231cc2d1bb76a79cb7f2c0bf8444";
-      };
-    }
-    {
       name = "resolve___resolve_1.20.0.tgz";
       path = fetchurl {
         name = "resolve___resolve_1.20.0.tgz";
@@ -11642,11 +10970,11 @@
       };
     }
     {
-      name = "run_parallel___run_parallel_1.1.9.tgz";
+      name = "run_parallel___run_parallel_1.2.0.tgz";
       path = fetchurl {
-        name = "run_parallel___run_parallel_1.1.9.tgz";
-        url  = "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.9.tgz";
-        sha1 = "c9dd3a7cf9f4b2c4b6244e173a6ed866e61dd679";
+        name = "run_parallel___run_parallel_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz";
+        sha1 = "66d1368da7bdf921eb9d95bd1a9229e7f21a43ee";
       };
     }
     {
@@ -11722,11 +11050,11 @@
       };
     }
     {
-      name = "sass_loader___sass_loader_10.1.1.tgz";
+      name = "sass_loader___sass_loader_10.2.0.tgz";
       path = fetchurl {
-        name = "sass_loader___sass_loader_10.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.1.1.tgz";
-        sha1 = "4ddd5a3d7638e7949065dd6e9c7c04037f7e663d";
+        name = "sass_loader___sass_loader_10.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/sass-loader/-/sass-loader-10.2.0.tgz";
+        sha1 = "3d64c1590f911013b3fa48a0b22a83d5e1494716";
       };
     }
     {
@@ -11770,11 +11098,11 @@
       };
     }
     {
-      name = "schema_utils___schema_utils_3.0.0.tgz";
+      name = "schema_utils___schema_utils_3.1.1.tgz";
       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";
+        name = "schema_utils___schema_utils_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz";
+        sha1 = "bc74c4b6b6995c1d88f76a8b77bea7219e0c8281";
       };
     }
     {
@@ -11786,11 +11114,11 @@
       };
     }
     {
-      name = "selfsigned___selfsigned_1.10.8.tgz";
+      name = "selfsigned___selfsigned_1.10.11.tgz";
       path = fetchurl {
-        name = "selfsigned___selfsigned_1.10.8.tgz";
-        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.8.tgz";
-        sha1 = "0d17208b7d12c33f8eac85c41835f27fc3d81a30";
+        name = "selfsigned___selfsigned_1.10.11.tgz";
+        url  = "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz";
+        sha1 = "24929cd906fe0f44b6d01fb23999a739537acbe9";
       };
     }
     {
@@ -11970,14 +11298,6 @@
       };
     }
     {
-      name = "side_channel___side_channel_1.0.3.tgz";
-      path = fetchurl {
-        name = "side_channel___side_channel_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.3.tgz";
-        sha1 = "cdc46b057550bbab63706210838df5d4c19519c3";
-      };
-    }
-    {
       name = "side_channel___side_channel_1.0.4.tgz";
       path = fetchurl {
         name = "side_channel___side_channel_1.0.4.tgz";
@@ -11986,11 +11306,11 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.3.tgz";
+      name = "signal_exit___signal_exit_3.0.6.tgz";
       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";
+        name = "signal_exit___signal_exit_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz";
+        sha1 = "24e630c4b0f03fea446a2bd299e62b4a6ca8d0af";
       };
     }
     {
@@ -12050,19 +11370,19 @@
       };
     }
     {
-      name = "sockjs_client___sockjs_client_1.5.1.tgz";
+      name = "sockjs_client___sockjs_client_1.5.2.tgz";
       path = fetchurl {
-        name = "sockjs_client___sockjs_client_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz";
-        sha1 = "256908f6d5adfb94dabbdbd02c66362cca0f9ea6";
+        name = "sockjs_client___sockjs_client_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz";
+        sha1 = "4bc48c2da9ce4769f19dc723396b50f5c12330a3";
       };
     }
     {
-      name = "sockjs___sockjs_0.3.21.tgz";
+      name = "sockjs___sockjs_0.3.24.tgz";
       path = fetchurl {
-        name = "sockjs___sockjs_0.3.21.tgz";
-        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz";
-        sha1 = "b34ffb98e796930b60a0cfa11904d6a339a7d417";
+        name = "sockjs___sockjs_0.3.24.tgz";
+        url  = "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz";
+        sha1 = "c9bc8995f33a111bea0395ec30aa3206bdb5ccce";
       };
     }
     {
@@ -12082,6 +11402,14 @@
       };
     }
     {
+      name = "source_map_js___source_map_js_1.0.1.tgz";
+      path = fetchurl {
+        name = "source_map_js___source_map_js_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz";
+        sha1 = "a1741c131e3c77d048252adfa24e23b908670caf";
+      };
+    }
+    {
       name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
       path = fetchurl {
         name = "source_map_resolve___source_map_resolve_0.5.3.tgz";
@@ -12090,19 +11418,19 @@
       };
     }
     {
-      name = "source_map_support___source_map_support_0.5.19.tgz";
+      name = "source_map_support___source_map_support_0.5.21.tgz";
       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";
+        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";
       };
     }
     {
-      name = "source_map_url___source_map_url_0.4.0.tgz";
+      name = "source_map_url___source_map_url_0.4.1.tgz";
       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";
+        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";
       };
     }
     {
@@ -12170,11 +11498,11 @@
       };
     }
     {
-      name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
+      name = "spdx_license_ids___spdx_license_ids_3.0.11.tgz";
       path = fetchurl {
-        name = "spdx_license_ids___spdx_license_ids_3.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz";
-        sha1 = "3694b5804567a458d3c8045842a6358632f62654";
+        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";
       };
     }
     {
@@ -12210,19 +11538,11 @@
       };
     }
     {
-      name = "sshpk___sshpk_1.16.1.tgz";
+      name = "ssri___ssri_6.0.2.tgz";
       path = fetchurl {
-        name = "sshpk___sshpk_1.16.1.tgz";
-        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
-        sha1 = "fb661c0bef29b39db40769ee39fa70093d6f6877";
-      };
-    }
-    {
-      name = "ssri___ssri_6.0.1.tgz";
-      path = fetchurl {
-        name = "ssri___ssri_6.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz";
-        sha1 = "2a3c41b28dd45b62b63676ecb74001265ae9edd8";
+        name = "ssri___ssri_6.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz";
+        sha1 = "157939134f20464e7301ddba3e90ffa8f7728ac5";
       };
     }
     {
@@ -12242,11 +11562,11 @@
       };
     }
     {
-      name = "stack_utils___stack_utils_2.0.3.tgz";
+      name = "stack_utils___stack_utils_2.0.5.tgz";
       path = fetchurl {
-        name = "stack_utils___stack_utils_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz";
-        sha1 = "cd5f030126ff116b78ccb3c027fe302713b61277";
+        name = "stack_utils___stack_utils_2.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz";
+        sha1 = "d25265fca995154659dbbfba3b49254778d2fdd5";
       };
     }
     {
@@ -12274,14 +11594,6 @@
       };
     }
     {
-      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 = "stream_browserify___stream_browserify_2.0.2.tgz";
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.2.tgz";
@@ -12346,43 +11658,19 @@
       };
     }
     {
-      name = "string_width___string_width_4.2.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "string_width___string_width_4.2.2.tgz";
+      name = "string_width___string_width_4.2.3.tgz";
       path = fetchurl {
-        name = "string_width___string_width_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz";
-        sha1 = "dafd4f9559a7585cfba529c6a0a4f73488ebd4c5";
+        name = "string_width___string_width_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz";
+        sha1 = "269c7117d27b05ad2e536830a8ec895ef9c6d010";
       };
     }
     {
-      name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz";
+      name = "string.prototype.matchall___string.prototype.matchall_4.0.6.tgz";
       path = fetchurl {
-        name = "string.prototype.matchall___string.prototype.matchall_4.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz";
-        sha1 = "48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e";
-      };
-    }
-    {
-      name = "string.prototype.matchall___string.prototype.matchall_4.0.4.tgz";
-      path = fetchurl {
-        name = "string.prototype.matchall___string.prototype.matchall_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz";
-        sha1 = "608f255e93e072107f5de066f81a2dfb78cf6b29";
-      };
-    }
-    {
-      name = "string.prototype.trimend___string.prototype.trimend_1.0.1.tgz";
-      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";
+        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";
       };
     }
     {
@@ -12394,14 +11682,6 @@
       };
     }
     {
-      name = "string.prototype.trimstart___string.prototype.trimstart_1.0.1.tgz";
-      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";
-      };
-    }
-    {
       name = "string.prototype.trimstart___string.prototype.trimstart_1.0.4.tgz";
       path = fetchurl {
         name = "string.prototype.trimstart___string.prototype.trimstart_1.0.4.tgz";
@@ -12458,6 +11738,14 @@
       };
     }
     {
+      name = "strip_ansi___strip_ansi_6.0.1.tgz";
+      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";
+      };
+    }
+    {
       name = "strip_bom___strip_bom_3.0.0.tgz";
       path = fetchurl {
         name = "strip_bom___strip_bom_3.0.0.tgz";
@@ -12554,11 +11842,19 @@
       };
     }
     {
-      name = "supports_hyperlinks___supports_hyperlinks_2.1.0.tgz";
+      name = "supports_color___supports_color_8.1.1.tgz";
+      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";
+      };
+    }
+    {
+      name = "supports_hyperlinks___supports_hyperlinks_2.2.0.tgz";
       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";
+        name = "supports_hyperlinks___supports_hyperlinks_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz";
+        sha1 = "4f77b42488765891774b70c79babd87f9bd594bb";
       };
     }
     {
@@ -12578,14 +11874,6 @@
       };
     }
     {
-      name = "symbol_observable___symbol_observable_1.2.0.tgz";
-      path = fetchurl {
-        name = "symbol_observable___symbol_observable_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz";
-        sha1 = "c22688aed4eab3cdc2dfeacbb561660560a00804";
-      };
-    }
-    {
       name = "symbol_tree___symbol_tree_3.2.4.tgz";
       path = fetchurl {
         name = "symbol_tree___symbol_tree_3.2.4.tgz";
@@ -12594,11 +11882,11 @@
       };
     }
     {
-      name = "table___table_6.0.7.tgz";
+      name = "table___table_6.7.5.tgz";
       path = fetchurl {
-        name = "table___table_6.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz";
-        sha1 = "e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34";
+        name = "table___table_6.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.7.5.tgz";
+        sha1 = "f04478c351ef3d8c7904f0e8be90a1b62417d238";
       };
     }
     {
@@ -12618,19 +11906,19 @@
       };
     }
     {
-      name = "tar_stream___tar_stream_2.1.4.tgz";
+      name = "tar_stream___tar_stream_2.2.0.tgz";
       path = fetchurl {
-        name = "tar_stream___tar_stream_2.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.4.tgz";
-        sha1 = "c4fb1a11eb0da29b893a5b25476397ba2d053bfa";
+        name = "tar_stream___tar_stream_2.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
+        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
       };
     }
     {
-      name = "tar___tar_6.1.0.tgz";
+      name = "tar___tar_6.1.11.tgz";
       path = fetchurl {
-        name = "tar___tar_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz";
-        sha1 = "d1724e9bcc04b977b18d5c573b333a2207229a83";
+        name = "tar___tar_6.1.11.tgz";
+        url  = "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz";
+        sha1 = "6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621";
       };
     }
     {
@@ -12682,11 +11970,11 @@
       };
     }
     {
-      name = "terser___terser_5.6.1.tgz";
+      name = "terser___terser_5.10.0.tgz";
       path = fetchurl {
-        name = "terser___terser_5.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/terser/-/terser-5.6.1.tgz";
-        sha1 = "a48eeac5300c0a09b36854bf90d9c26fb201973c";
+        name = "terser___terser_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz";
+        sha1 = "b86390809c0389105eb0a0b62397563096ddafcc";
       };
     }
     {
@@ -12738,11 +12026,11 @@
       };
     }
     {
-      name = "timers_browserify___timers_browserify_2.0.11.tgz";
+      name = "timers_browserify___timers_browserify_2.0.12.tgz";
       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";
+        name = "timers_browserify___timers_browserify_2.0.12.tgz";
+        url  = "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz";
+        sha1 = "44a45c11fbf407f34f97bccd1577c652361b00ee";
       };
     }
     {
@@ -12754,11 +12042,11 @@
       };
     }
     {
-      name = "tiny_invariant___tiny_invariant_1.1.0.tgz";
+      name = "tiny_invariant___tiny_invariant_1.2.0.tgz";
       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";
+        name = "tiny_invariant___tiny_invariant_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz";
+        sha1 = "a1141f86b672a9148c72e978a19a73b9b94a15a9";
       };
     }
     {
@@ -12770,11 +12058,11 @@
       };
     }
     {
-      name = "tmpl___tmpl_1.0.4.tgz";
+      name = "tmpl___tmpl_1.0.5.tgz";
       path = fetchurl {
-        name = "tmpl___tmpl_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz";
-        sha1 = "23640dd7b42d00433911140820e5cf440e521dd1";
+        name = "tmpl___tmpl_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz";
+        sha1 = "8683e0b902bb9c20c4f726e3c0b69f36518c07cc";
       };
     }
     {
@@ -12834,14 +12122,6 @@
       };
     }
     {
-      name = "tough_cookie___tough_cookie_2.5.0.tgz";
-      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";
-      };
-    }
-    {
       name = "tough_cookie___tough_cookie_4.0.0.tgz";
       path = fetchurl {
         name = "tough_cookie___tough_cookie_4.0.0.tgz";
@@ -12850,11 +12130,11 @@
       };
     }
     {
-      name = "tr46___tr46_2.0.2.tgz";
+      name = "tr46___tr46_2.1.0.tgz";
       path = fetchurl {
-        name = "tr46___tr46_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz";
-        sha1 = "03273586def1595ae08fedb38d7733cee91d2479";
+        name = "tr46___tr46_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz";
+        sha1 = "fa87aa81ca5d5941da8cbf1f9b749dc969a4e240";
       };
     }
     {
@@ -12890,51 +12170,43 @@
       };
     }
     {
-      name = "tsconfig_paths___tsconfig_paths_3.9.0.tgz";
-      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";
-      };
-    }
-    {
-      name = "tslib___tslib_1.13.0.tgz";
+      name = "tsconfig_paths___tsconfig_paths_3.12.0.tgz";
       path = fetchurl {
-        name = "tslib___tslib_1.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz";
-        sha1 = "c881e13cc7015894ed914862d276436fa9a47043";
+        name = "tsconfig_paths___tsconfig_paths_3.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz";
+        sha1 = "19769aca6ee8f6a1a341e38c8fa45dd9fb18899b";
       };
     }
     {
-      name = "tsutils___tsutils_3.17.1.tgz";
+      name = "tslib___tslib_1.14.1.tgz";
       path = fetchurl {
-        name = "tsutils___tsutils_3.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz";
-        sha1 = "ed719917f11ca0dee586272b2ac49e015a2dd759";
+        name = "tslib___tslib_1.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz";
+        sha1 = "cf2d38bdc34a134bcaf1091c41f6619e2f672d00";
       };
     }
     {
-      name = "tty_browserify___tty_browserify_0.0.0.tgz";
+      name = "tslib___tslib_2.3.1.tgz";
       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";
+        name = "tslib___tslib_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz";
+        sha1 = "e8a335add5ceae51aa261d32a490158ef042ef01";
       };
     }
     {
-      name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
+      name = "tsutils___tsutils_3.21.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 = "tsutils___tsutils_3.21.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz";
+        sha1 = "b48717d394cea6c1e096983eed58e9d61715b623";
       };
     }
     {
-      name = "tweetnacl___tweetnacl_0.14.5.tgz";
+      name = "tty_browserify___tty_browserify_0.0.0.tgz";
       path = fetchurl {
-        name = "tweetnacl___tweetnacl_0.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz";
-        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+        name = "tty_browserify___tty_browserify_0.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
       };
     }
     {
@@ -12962,14 +12234,6 @@
       };
     }
     {
-      name = "type_fest___type_fest_0.11.0.tgz";
-      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";
-      };
-    }
-    {
       name = "type_fest___type_fest_0.20.2.tgz";
       path = fetchurl {
         name = "type_fest___type_fest_0.20.2.tgz";
@@ -13026,11 +12290,11 @@
       };
     }
     {
-      name = "type___type_2.1.0.tgz";
+      name = "type___type_2.5.0.tgz";
       path = fetchurl {
-        name = "type___type_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz";
-        sha1 = "9bdc22c648cf8cf86dd23d32336a41cfb6475e3f";
+        name = "type___type_2.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz";
+        sha1 = "0a2e78c2e77907b252abe5f298c1b01c63f0db3d";
       };
     }
     {
@@ -13066,11 +12330,11 @@
       };
     }
     {
-      name = "ua_parser_js___ua_parser_js_0.7.21.tgz";
+      name = "ua_parser_js___ua_parser_js_0.7.31.tgz";
       path = fetchurl {
-        name = "ua_parser_js___ua_parser_js_0.7.21.tgz";
-        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz";
-        sha1 = "853cf9ce93f642f67174273cc34565ae6f308777";
+        name = "ua_parser_js___ua_parser_js_0.7.31.tgz";
+        url  = "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz";
+        sha1 = "649a656b191dffab4f21d5e053e27ca17cbff5c6";
       };
     }
     {
@@ -13090,43 +12354,43 @@
       };
     }
     {
-      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_1.0.4.tgz";
+      name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_2.0.0.tgz";
       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";
+        name = "unicode_canonical_property_names_ecmascript___unicode_canonical_property_names_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz";
+        sha1 = "301acdc525631670d39f6146e0e77ff6bbdebddc";
       };
     }
     {
-      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_1.0.4.tgz";
+      name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_2.0.0.tgz";
       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";
+        name = "unicode_match_property_ecmascript___unicode_match_property_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz";
+        sha1 = "54fd16e0ecb167cf04cf1f756bdcc92eba7976c3";
       };
     }
     {
-      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_1.2.0.tgz";
+      name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_2.0.0.tgz";
       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";
+        name = "unicode_match_property_value_ecmascript___unicode_match_property_value_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz";
+        sha1 = "1a01aa57247c14c568b89775a54938788189a714";
       };
     }
     {
-      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_1.1.0.tgz";
+      name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_2.0.0.tgz";
       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";
+        name = "unicode_property_aliases_ecmascript___unicode_property_aliases_ecmascript_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz";
+        sha1 = "0a36cb9a585c4f6abd51ad1deddb285c165297c8";
       };
     }
     {
-      name = "unified___unified_9.2.1.tgz";
+      name = "unified___unified_9.2.2.tgz";
       path = fetchurl {
-        name = "unified___unified_9.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/unified/-/unified-9.2.1.tgz";
-        sha1 = "ae18d5674c114021bfdbdf73865ca60f410215a3";
+        name = "unified___unified_9.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz";
+        sha1 = "67649a1abfc3ab85d2969502902775eb03146975";
       };
     }
     {
@@ -13282,11 +12546,11 @@
       };
     }
     {
-      name = "uri_js___uri_js_4.4.0.tgz";
+      name = "uri_js___uri_js_4.4.1.tgz";
       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";
+        name = "uri_js___uri_js_4.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
+        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
       };
     }
     {
@@ -13306,19 +12570,11 @@
       };
     }
     {
-      name = "url_parse___url_parse_1.4.7.tgz";
-      path = fetchurl {
-        name = "url_parse___url_parse_1.4.7.tgz";
-        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz";
-        sha1 = "a8a83535e8c00a316e403a5db4ac1b9b853ae278";
-      };
-    }
-    {
-      name = "url_parse___url_parse_1.5.1.tgz";
+      name = "url_parse___url_parse_1.5.3.tgz";
       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";
+        name = "url_parse___url_parse_1.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz";
+        sha1 = "71c1303d38fb6639ade183c2992c8cc0686df862";
       };
     }
     {
@@ -13410,19 +12666,19 @@
       };
     }
     {
-      name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz";
+      name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
       path = fetchurl {
-        name = "v8_compile_cache___v8_compile_cache_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz";
-        sha1 = "54bc3cdd43317bca91e35dcaf305b1a7237de745";
+        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";
       };
     }
     {
-      name = "v8_to_istanbul___v8_to_istanbul_7.1.0.tgz";
+      name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
       path = fetchurl {
-        name = "v8_to_istanbul___v8_to_istanbul_7.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz";
-        sha1 = "5b95cef45c0f83217ec79f8fc7ee1c8b486aee07";
+        name = "v8_to_istanbul___v8_to_istanbul_7.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz";
+        sha1 = "30898d1a7fa0c84d225a2c1434fb958f290883c1";
       };
     }
     {
@@ -13458,14 +12714,6 @@
       };
     }
     {
-      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";
-      };
-    }
-    {
       name = "vfile_message___vfile_message_2.0.4.tgz";
       path = fetchurl {
         name = "vfile_message___vfile_message_2.0.4.tgz";
@@ -13514,11 +12762,11 @@
       };
     }
     {
-      name = "walker___walker_1.0.7.tgz";
+      name = "walker___walker_1.0.8.tgz";
       path = fetchurl {
-        name = "walker___walker_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz";
-        sha1 = "2f7f9b8fd10d677262b18a884e28d19618e028fb";
+        name = "walker___walker_1.0.8.tgz";
+        url  = "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz";
+        sha1 = "bd498db477afe573dc04185f011d3ab8a8d7653f";
       };
     }
     {
@@ -13562,11 +12810,11 @@
       };
     }
     {
-      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.2.tgz";
+      name = "webpack_dev_middleware___webpack_dev_middleware_3.7.3.tgz";
       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";
+        name = "webpack_dev_middleware___webpack_dev_middleware_3.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz";
+        sha1 = "0639372b143262e2b84ab95d3b91a7597061c2c5";
       };
     }
     {
@@ -13634,14 +12882,6 @@
       };
     }
     {
-      name = "whatwg_fetch___whatwg_fetch_3.4.1.tgz";
-      path = fetchurl {
-        name = "whatwg_fetch___whatwg_fetch_3.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz";
-        sha1 = "e5f871572d6879663fa5674c8f833f15a8425ab3";
-      };
-    }
-    {
       name = "whatwg_fetch___whatwg_fetch_3.6.2.tgz";
       path = fetchurl {
         name = "whatwg_fetch___whatwg_fetch_3.6.2.tgz";
@@ -13658,11 +12898,11 @@
       };
     }
     {
-      name = "whatwg_url___whatwg_url_8.5.0.tgz";
+      name = "whatwg_url___whatwg_url_8.7.0.tgz";
       path = fetchurl {
-        name = "whatwg_url___whatwg_url_8.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz";
-        sha1 = "7752b8464fc0903fec89aa9846fc9efe07351fd3";
+        name = "whatwg_url___whatwg_url_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz";
+        sha1 = "656a78e510ff8f3937bc0bcbe9f5c0ac35941b77";
       };
     }
     {
@@ -13890,19 +13130,19 @@
       };
     }
     {
-      name = "ws___ws_6.2.1.tgz";
+      name = "ws___ws_6.2.2.tgz";
       path = fetchurl {
-        name = "ws___ws_6.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz";
-        sha1 = "442fdf0a47ed64f59b6a5d8ff130f4748ed524fb";
+        name = "ws___ws_6.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz";
+        sha1 = "dd5cdbd57a9979916097652d78f1cc5faea0c32e";
       };
     }
     {
-      name = "ws___ws_7.4.4.tgz";
+      name = "ws___ws_7.5.6.tgz";
       path = fetchurl {
-        name = "ws___ws_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.4.tgz";
-        sha1 = "383bc9742cb202292c9077ceab6f6047b17f2d59";
+        name = "ws___ws_7.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz";
+        sha1 = "e59fc509fb15ddfb65487ee9765c5a51dec5fe7b";
       };
     }
     {
@@ -13930,11 +13170,11 @@
       };
     }
     {
-      name = "y18n___y18n_4.0.0.tgz";
+      name = "y18n___y18n_4.0.3.tgz";
       path = fetchurl {
-        name = "y18n___y18n_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz";
-        sha1 = "95ef94f85ecc81d007c264e190a120f0a3c8566b";
+        name = "y18n___y18n_4.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz";
+        sha1 = "b5f259c82cd6e336921efd7bfd8bf560de9eeedf";
       };
     }
     {
@@ -13962,14 +13202,6 @@
       };
     }
     {
-      name = "yaml___yaml_1.10.0.tgz";
-      path = fetchurl {
-        name = "yaml___yaml_1.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz";
-        sha1 = "3b593add944876077d4d683fee01081bd9fff31e";
-      };
-    }
-    {
       name = "yargs_parser___yargs_parser_13.1.2.tgz";
       path = fetchurl {
         name = "yargs_parser___yargs_parser_13.1.2.tgz";
diff --git a/pkgs/servers/haste-server/default.nix b/pkgs/servers/haste-server/default.nix
index 80f06bf4fa43f..95e6d5158f69e 100644
--- a/pkgs/servers/haste-server/default.nix
+++ b/pkgs/servers/haste-server/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "haste-server";
-  version = "72863858338a57d54eb9dee55530e90ebbc22453";
+  version = "68f6fe2b96ad02e21645480448113954bc87e1f5";
 
   src = fetchFromGitHub {
     owner = "toptal";
     repo = "haste-server";
     rev = version;
-    hash = "sha256-MoEqpfihI3ZqSTHOxFbGziDv8khgq2Nd44YuKYDGflc=";
+    hash = "sha256-9IPGqIca6GC/dQhGBC4hxWhNRgXR1ik0ONRBU2MGhL0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/haste-server/node-composition.nix b/pkgs/servers/haste-server/node-composition.nix
index 7b8937a3647cc..03dc6f3e5be39 100644
--- a/pkgs/servers/haste-server/node-composition.nix
+++ b/pkgs/servers/haste-server/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/servers/haste-server/node-deps.nix b/pkgs/servers/haste-server/node-deps.nix
index fbb33a90c73fc..922860100d8be 100644
--- a/pkgs/servers/haste-server/node-deps.nix
+++ b/pkgs/servers/haste-server/node-deps.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
@@ -67,13 +67,13 @@ let
         sha512 = "8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==";
       };
     };
-    "async-1.0.0" = {
+    "async-3.2.3" = {
       name = "async";
       packageName = "async";
-      version = "1.0.0";
+      version = "3.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-1.0.0.tgz";
-        sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
+        url = "https://registry.npmjs.org/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
     "async-cache-1.1.0" = {
@@ -1237,13 +1237,13 @@ let
         sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
       };
     };
-    "winston-2.4.5" = {
+    "winston-2.4.6" = {
       name = "winston";
       packageName = "winston";
-      version = "2.4.5";
+      version = "2.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-2.4.5.tgz";
-        sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
+        url = "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz";
+        sha512 = "J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==";
       };
     };
     "workerpool-6.1.0" = {
@@ -1341,7 +1341,7 @@ let
     name = "haste";
     packageName = "haste";
     version = "0.1.0";
-    src = ../../../../../../../../../nix/store/jmii2np1kr78g0pnyf2y8wvj09nc1pr0-source;
+    src = ../../../../../../../../../nix/store/6mkl6xr6y74v0ib122gjx8jvd6xig4dc-source;
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
       sources."ansi-colors-4.1.1"
@@ -1349,7 +1349,7 @@ let
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."argparse-2.0.1"
-      sources."async-1.0.0"
+      sources."async-3.2.3"
       sources."async-cache-1.1.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -1495,7 +1495,7 @@ let
       sources."utils-merge-1.0.1"
       sources."which-2.0.2"
       sources."wide-align-1.1.3"
-      sources."winston-2.4.5"
+      sources."winston-2.4.6"
       sources."workerpool-6.1.0"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
diff --git a/pkgs/servers/haste-server/node-env.nix b/pkgs/servers/haste-server/node-env.nix
index 5f055785791ba..2590dd267a4ef 100644
--- a/pkgs/servers/haste-server/node-env.nix
+++ b/pkgs/servers/haste-server/node-env.nix
@@ -98,7 +98,7 @@ let
       ''
       + (lib.concatMapStrings (dependency:
         ''
-          if [ ! -e "${dependency.name}" ]; then
+          if [ ! -e "${dependency.packageName}" ]; then
               ${composePackage dependency}
           fi
         ''
@@ -257,8 +257,8 @@ let
           var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
 
           if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
+            process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
+            process.exit(1);
           }
 
           if(packageLock.dependencies !== undefined) {
@@ -390,7 +390,7 @@ let
   buildNodePackage =
     { name
     , packageName
-    , version
+    , version ? null
     , dependencies ? []
     , buildInputs ? []
     , production ? true
@@ -409,7 +409,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
     in
     stdenv.mkDerivation ({
-      name = "${name}-${version}";
+      name = "${name}${if version == null then "" else "-${version}"}";
       buildInputs = [ tarWrapper python nodejs ]
         ++ lib.optional (stdenv.isLinux) utillinux
         ++ lib.optional (stdenv.isDarwin) libtool
@@ -441,6 +441,14 @@ let
         if [ -d "$out/lib/node_modules/.bin" ]
         then
             ln -s $out/lib/node_modules/.bin $out/bin
+
+            # Patch the shebang lines of all the executables
+            ls $out/bin/* | while read i
+            do
+                file="$(readlink -f "$i")"
+                chmod u+rwx "$file"
+                patchShebangs "$file"
+            done
         fi
 
         # Create symlinks to the deployed manual page folders, if applicable
@@ -471,7 +479,7 @@ let
   buildNodeDependencies =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -489,7 +497,7 @@ let
       extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
     in
       stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
+        name = "node-dependencies-${name}${if version == null then "" else "-${version}"}";
 
         buildInputs = [ tarWrapper python nodejs ]
           ++ lib.optional (stdenv.isLinux) utillinux
@@ -519,6 +527,7 @@ let
             if [ -f ${src}/package-lock.json ]
             then
                 cp ${src}/package-lock.json .
+                chmod 644 package-lock.json
             fi
           ''}
 
@@ -541,7 +550,7 @@ let
   buildNodeShell =
     { name
     , packageName
-    , version
+    , version ? null
     , src
     , dependencies ? []
     , buildInputs ? []
@@ -557,9 +566,10 @@ let
 
     let
       nodeDependencies = buildNodeDependencies args;
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "unpackPhase" "buildPhase" ];
     in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
+    stdenv.mkDerivation ({
+      name = "node-shell-${name}${if version == null then "" else "-${version}"}";
 
       buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
       buildCommand = ''
@@ -578,7 +588,7 @@ let
         export NODE_PATH=${nodeDependencies}/lib/node_modules
         export PATH="${nodeDependencies}/bin:$PATH"
       '';
-    };
+    } // extraArgs);
 in
 {
   buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 963f81c1daf7f..bc9e73392964a 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.4.7";
+  version = "2022.5.4";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -157,10 +157,6 @@
     ];
     "arest" = ps: with ps; [
     ];
-    "arlo" = ps: with ps; [
-      ha-ffmpeg
-      pyarlo
-    ];
     "arris_tg2492lg" = ps: with ps; [
       arris-tg2492lg
     ];
@@ -315,7 +311,8 @@
     "browser" = ps: with ps; [
     ];
     "brunt" = ps: with ps; [
-    ]; # missing inputs: brunt
+      brunt
+    ];
     "bsblan" = ps: with ps; [
       bsblan
     ];
@@ -554,8 +551,6 @@
     "digital_ocean" = ps: with ps; [
       digital-ocean
     ];
-    "digitalloggers" = ps: with ps; [
-    ]; # missing inputs: dlipower
     "directv" = ps: with ps; [
       directv
     ];
@@ -993,8 +988,7 @@
     ];
     "google" = ps: with ps; [
       aiohttp-cors
-      google-api-python-client
-      httplib2
+      gcal-sync
       oauth2client
     ];
     "google_assistant" = ps: with ps; [
@@ -1248,9 +1242,15 @@
     ];
     "insteon" = ps: with ps; [
       aiohttp-cors
+      fnvhash
+      home-assistant-frontend
+      insteon-frontend-home-assistant
+      lru-dict
+      pillow
       pyinsteon
       pyserial
       pyudev
+      sqlalchemy
     ];
     "integration" = ps: with ps; [
     ];
@@ -1391,8 +1391,10 @@
       life360
     ];
     "lifx" = ps: with ps; [
+      aiohttp-cors
       aiolifx
       aiolifx-effects
+      ifaddr
     ];
     "lifx_cloud" = ps: with ps; [
     ];
@@ -1514,6 +1516,9 @@
     "mazda" = ps: with ps; [
       pymazda
     ];
+    "meater" = ps: with ps; [
+      meater-python
+    ];
     "media_extractor" = ps: with ps; [
       aiohttp-cors
       youtube-dl-light
@@ -1553,7 +1558,8 @@
       pymeteoclimatic
     ];
     "metoffice" = ps: with ps; [
-    ]; # missing inputs: datapoint
+      datapoint
+    ];
     "mfi" = ps: with ps; [
     ]; # missing inputs: mficlient
     "microsoft" = ps: with ps; [
@@ -1748,7 +1754,8 @@
       nexia
     ];
     "nextbus" = ps: with ps; [
-    ]; # missing inputs: py_nextbusnext
+      py-nextbusnext
+    ];
     "nextcloud" = ps: with ps; [
       nextcloudmonitor
     ];
@@ -1787,7 +1794,8 @@
     "notify" = ps: with ps; [
     ];
     "notify_events" = ps: with ps; [
-    ]; # missing inputs: notify-events
+      notify-events
+    ];
     "notion" = ps: with ps; [
       aionotion
     ];
@@ -2024,7 +2032,8 @@
       poolsense
     ];
     "powerwall" = ps: with ps; [
-    ]; # missing inputs: tesla-powerwall
+      tesla-powerwall
+    ];
     "profiler" = ps: with ps; [
       guppy3
       objgraph
@@ -2087,7 +2096,11 @@
       georss-qld-bushfire-alert-client
     ];
     "qnap" = ps: with ps; [
-    ]; # missing inputs: qnapstats
+      qnapstats
+    ];
+    "qnap_qsw" = ps: with ps; [
+      aioqsw
+    ];
     "qrcode" = ps: with ps; [
       pillow
       pyzbar
@@ -2115,9 +2128,11 @@
       radiotherm
     ];
     "rainbird" = ps: with ps; [
-    ]; # missing inputs: pyrainbird
+      pyrainbird
+    ];
     "raincloud" = ps: with ps; [
-    ]; # missing inputs: raincloudy
+      raincloudy
+    ];
     "rainforest_eagle" = ps: with ps; [
       aioeagle
       ueagle
@@ -2232,11 +2247,8 @@
     "russound_rnet" = ps: with ps; [
     ]; # missing inputs: russound
     "sabnzbd" = ps: with ps; [
-      aiohttp-cors
-      ifaddr
-      netdisco
-      zeroconf
-    ]; # missing inputs: pysabnzbd
+      pysabnzbd
+    ];
     "safe_mode" = ps: with ps; [
       pyturbojpeg
       aiohttp-cors
@@ -2309,6 +2321,10 @@
     "sentry" = ps: with ps; [
       sentry-sdk
     ];
+    "senz" = ps: with ps; [
+      aiohttp-cors
+      aiosenz
+    ];
     "serial" = ps: with ps; [
       pyserial-asyncio
     ];
@@ -2382,6 +2398,10 @@
     ];
     "slide" = ps: with ps; [
     ]; # missing inputs: goslide-api
+    "slimproto" = ps: with ps; [
+      aiohttp-cors
+      aioslimproto
+    ];
     "sma" = ps: with ps; [
       pysma
     ];
@@ -2420,7 +2440,7 @@
       paho-mqtt
     ];
     "snmp" = ps: with ps; [
-      pysnmp
+      pysnmplib
     ];
     "solaredge" = ps: with ps; [
       solaredge
@@ -2747,6 +2767,9 @@
       pytradfri
     ]
     ++ pytradfri.extras-require.async;
+    "trafikverket_ferry" = ps: with ps; [
+      pytrafikverket
+    ];
     "trafikverket_train" = ps: with ps; [
       pytrafikverket
     ];
@@ -2803,6 +2826,9 @@
     ];
     "uk_transport" = ps: with ps; [
     ];
+    "ukraine_alarm" = ps: with ps; [
+      uasiren
+    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -2828,11 +2854,10 @@
     ];
     "update" = ps: with ps; [
     ];
-    "updater" = ps: with ps; [
-    ];
     "upnp" = ps: with ps; [
       aiohttp-cors
       async-upnp-client
+      getmac
       ifaddr
       zeroconf
     ];
@@ -2860,7 +2885,8 @@
     "vacuum" = ps: with ps; [
     ];
     "vallox" = ps: with ps; [
-    ]; # missing inputs: vallox-websocket-api
+      vallox-websocket-api
+    ];
     "vasttrafik" = ps: with ps; [
     ]; # missing inputs: vtjp
     "velbus" = ps: with ps; [
@@ -3168,7 +3194,6 @@
     "apprise"
     "aprs"
     "arcam_fmj"
-    "arlo"
     "aseko_pool_live"
     "asuswrt"
     "atag"
@@ -3198,6 +3223,7 @@
     "braviatv"
     "broadlink"
     "brother"
+    "brunt"
     "bsblan"
     "buienradar"
     "button"
@@ -3436,6 +3462,7 @@
     "manual_mqtt"
     "maxcube"
     "mazda"
+    "meater"
     "media_player"
     "media_source"
     "melcloud"
@@ -3444,6 +3471,7 @@
     "met_eireann"
     "meteo_france"
     "meteoclimatic"
+    "metoffice"
     "microsoft_face"
     "microsoft_face_detect"
     "microsoft_face_identify"
@@ -3482,10 +3510,12 @@
     "netgear"
     "network"
     "nexia"
+    "nextbus"
     "nightscout"
     "nina"
     "no_ip"
     "notify"
+    "notify_events"
     "notion"
     "nsw_rural_fire_service_feed"
     "nuki"
@@ -3529,6 +3559,7 @@
     "plugwise"
     "point"
     "poolsense"
+    "powerwall"
     "profiler"
     "prometheus"
     "prosegur"
@@ -3540,6 +3571,7 @@
     "pvpc_hourly_pricing"
     "python_script"
     "qld_bushfire"
+    "qnap_qsw"
     "rachio"
     "radarr"
     "radio_browser"
@@ -3568,6 +3600,7 @@
     "rss_feed_template"
     "rtsp_to_webrtc"
     "ruckus_unleashed"
+    "sabnzbd"
     "safe_mode"
     "samsungtv"
     "scene"
@@ -3582,6 +3615,7 @@
     "sensibo"
     "sensor"
     "sentry"
+    "senz"
     "seventeentrack"
     "shell_command"
     "shelly"
@@ -3595,6 +3629,7 @@
     "siren"
     "slack"
     "sleepiq"
+    "slimproto"
     "sma"
     "smappee"
     "smart_meter_texas"
@@ -3648,6 +3683,7 @@
     "tailscale"
     "tankerkoenig"
     "tasmota"
+    "tautulli"
     "tcp"
     "telegram"
     "telegram_bot"
@@ -3671,6 +3707,7 @@
     "trace"
     "tractive"
     "tradfri"
+    "trafikverket_ferry"
     "trafikverket_train"
     "trafikverket_weatherstation"
     "transmission"
@@ -3683,13 +3720,13 @@
     "twinkly"
     "twitch"
     "uk_transport"
+    "ukraine_alarm"
     "unifi"
     "unifi_direct"
     "universal"
     "upb"
     "upcloud"
     "update"
-    "updater"
     "upnp"
     "uptime"
     "uptimerobot"
@@ -3698,6 +3735,7 @@
     "utility_meter"
     "uvc"
     "vacuum"
+    "vallox"
     "velbus"
     "venstar"
     "vera"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index b29f48310d05f..abaf16079d815 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -30,7 +30,6 @@ let
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
     (mkOverride "python-slugify" "4.0.1" "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=")
-    (mkOverride "voluptuous" "0.12.2" "sha256-TbGsUHnbkkmCDUnIkctGYKb4yuNQSRIQq850H6v1ZRM=")
 
     # pytest-aiohttp>0.3.0 breaks home-assistant tests
     (self: super: {
@@ -47,9 +46,21 @@ let
       aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
+      gcal-sync = super.gcal-sync.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires aiohttp>=1.0.0
+      });
       hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires aiohttp>=1.0.0
       });
+      pydeconz = super.pydeconz.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
+      pynws = super.pynws.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
+      pytomorrowio = super.pytomorrowio.overridePythonAttrs (oldAttrs: {
+        doCheck = false; # requires pytest-aiohttp>=1.0.0
+      });
       rtsp-to-webrtc = super.rtsp-to-webrtc.overridePythonAttrs (oldAttrs: {
         doCheck = false; # requires pytest-aiohttp>=1.0.0
       });
@@ -110,7 +121,7 @@ let
         src = fetchFromGitHub {
           owner = "ManneW";
           repo = "vilfo-api-client-python";
-          rev = "v$version}";
+          rev = "v${version}";
           sha256 = "1gy5gpsg99rcm1cc3m30232za00r9i46sp74zpd12p3vzz1wyyqf";
         };
       });
@@ -168,7 +179,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.4.7";
+  hassVersion = "2022.5.4";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -186,7 +197,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-1m3t+AeHyuEyu3gT8P37A+L28mBdNKGmycU6eNOyb4M=";
+    hash = "sha256-5juHG1bVeFYrjpAAlt3GoCRmBvyCSOdnSw1WuaNWF8w=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index fb708313072ce..cbfd57d5f9319 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20220405.0";
+  version = "20220504.1";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-M024uJJVhVSoGhJTc7d8NKItw0sAOGFuCsZNUe//vBg=";
+    sha256 = "sha256-EU9I/0+EmcNr7eYq3Z5J5/KiWu+Qz0+wn7UZMJFBxp0=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index e2b3abc6c0a60..fb6194eaab3db 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -1,6 +1,6 @@
-{ stdenv
-, alsa-lib
+{ stdenv, lib
 , addOpenGLRunpath
+, alsa-lib
 , autoPatchelfHook
 , cairo
 , fetchurl
@@ -8,26 +8,25 @@
 , gcc11
 , gnome
 , gssdp
+, gupnp
+, gupnp-av
 , lame
-, lib
 , libgmpris
+, libusb-compat-0_1
 , llvmPackages_10
+, meson
 , mpg123
+, ninja
 , rpmextract
 , wavpack
-
-, gupnp
-, gupnp-av
-, meson
-, ninja
 }:
 stdenv.mkDerivation rec {
   pname = "hqplayerd";
-  version = "4.30.3-87";
+  version = "4.31.0-89";
 
   src = fetchurl {
     url = "https://www.signalyst.eu/bins/${pname}/fc35/${pname}-${version}.fc35.x86_64.rpm";
-    hash = "sha256-fEze4aScWDwHDTXU0GatdopQf6FWcywWCGhR/7zXK7A=";
+    hash = "sha256-L9S3MIbvvBViKSxu0x/GkE/pa61NETtw4vA8xM4rJEg=";
   };
 
   unpackPhase = ''
@@ -47,6 +46,7 @@ stdenv.mkDerivation rec {
     gupnp-av
     lame
     libgmpris
+    libusb-compat-0_1
     llvmPackages_10.openmp
     mpg123
     wavpack
@@ -58,34 +58,37 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    # main executable
-    mkdir -p $out/bin
-    cp ./usr/bin/hqplayerd $out/bin
+    # executables
+    mkdir -p $out
+    cp -rv ./usr/bin $out/bin
+
+    # libs
+    mkdir -p $out
+    cp -rv ./opt/hqplayerd/lib $out
 
-    # main configuration
-    mkdir -p $out/etc/hqplayer
-    cp ./etc/hqplayer/hqplayerd.xml $out/etc/hqplayer/
+    # configuration
+    mkdir -p $out/etc
+    cp -rv ./etc/hqplayer $out/etc/
 
     # udev rules
-    mkdir -p $out/etc/udev/rules.d
-    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d/
+    mkdir -p $out/etc/udev
+    cp -rv ./etc/udev/rules.d $out/etc/udev/
 
     # kernel module cfgs
-    mkdir -p $out/etc/modules-load.d
-    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d/
+    mkdir -p $out/etc
+    cp -rv ./etc/modules-load.d $out/etc/
 
     # systemd service file
-    mkdir -p $out/lib/systemd/system
-    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system/
+    mkdir -p $out/lib/systemd
+    cp -rv ./usr/lib/systemd/system $out/lib/systemd/
 
     # documentation
-    mkdir -p $out/share/doc/hqplayerd
-    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd/
+    mkdir -p $out/share/doc
+    cp -rv ./usr/share/doc/hqplayerd $out/share/doc/
 
     # misc service support files
-    mkdir -p $out/var/lib/hqplayer
-    cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer
-
+    mkdir -p $out/var/lib
+    cp -rv ./var/lib/hqplayer $out/var/lib/
     runHook postInstall
   '';
 
diff --git a/pkgs/servers/http/envoy/bump-brotli.patch b/pkgs/servers/http/envoy/bump-brotli.patch
new file mode 100644
index 0000000000000..5656b8f260cfa
--- /dev/null
+++ b/pkgs/servers/http/envoy/bump-brotli.patch
@@ -0,0 +1,15 @@
+diff --git a/bazel/repository_locations.bzl b/bazel/repository_locations.bzl
+index 454c54b0ef..2ac0623cf0 100644
+--- a/bazel/repository_locations.bzl
++++ b/bazel/repository_locations.bzl
+@@ -510,8 +510,8 @@ REPOSITORY_LOCATIONS_SPEC = dict(
+         project_url = "https://brotli.org",
+         # Use the dev branch of brotli to resolve compilation issues.
+         # TODO(rojkov): Remove when brotli > 1.0.9 is released.
+-        version = "0cd2e3926e95e7e2930f57ae3f4885508d462a25",
+-        sha256 = "93810780e60304b51f2c9645fe313a6e4640711063ed0b860cfa60999dd256c5",
++        version = "27dd7265403d8e8fed99a854b9c3e1db7d79525f",
++        sha256 = "e71238b12e30233bdf25997132b29ae49639a69f33fdef3ae18a47abfc0d5e4c",
+         strip_prefix = "brotli-{version}",
+         urls = ["https://github.com/google/brotli/archive/{version}.tar.gz"],
+         use_category = ["dataplane_ext"],
diff --git a/pkgs/servers/http/envoy/default.nix b/pkgs/servers/http/envoy/default.nix
index 5a85c2c1ab64b..f7e9f8dd0908c 100644
--- a/pkgs/servers/http/envoy/default.nix
+++ b/pkgs/servers/http/envoy/default.nix
@@ -12,6 +12,9 @@
 , python3
 , linuxHeaders
 , nixosTests
+
+# v8 (upstream default), wavm, wamr, wasmtime, disabled
+, wasmRuntime ? "wamr"
 }:
 
 let
@@ -31,7 +34,7 @@ buildBazelPackage rec {
   src = fetchFromGitHub {
     owner = "envoyproxy";
     repo = "envoy";
-    inherit (srcVer) rev ;
+    inherit (srcVer) rev;
     hash = "sha256:11mm72zmb479ss585jzqzhklyyqmdadnvr91ghzvjxc0j2a1hrr4";
 
     extraPostFetch = ''
@@ -58,6 +61,13 @@ buildBazelPackage rec {
       url = "https://github.com/envoyproxy/envoy/commit/68448aae7a78a3123097b6ea96016b270457e7b8.patch";
       sha256 = "123kv3x37p8fgfp29jhw5xg5js5q5ipibs8hsm7gzfd5bcllnpfh";
     })
+
+    # fix issues with brotli and GCC 11.2.0+ (-Werror=vla-parameter)
+    ./bump-brotli.patch
+
+    # fix linux-aarch64 WAMR builds
+    # (upstream WAMR only detects aarch64 on Darwin, not Linux)
+    ./fix-aarch64-wamr.patch
   ];
 
   nativeBuildInputs = [
@@ -75,8 +85,8 @@ buildBazelPackage rec {
 
   fetchAttrs = {
     sha256 = {
-      x86_64-linux = "0f7mls2zrpjjvbz6pgkzrvr55bv05xn2l76j9i1r0cf367qqfkz8";
-      aarch64-linux = "1l3ls47z20xrw6x9qps5jm7vq50xb1acv9gczfdrj9hw6jybgwgg";
+      x86_64-linux = "sha256-23Z6SbKnbah/NCrdMrXhrNFFASd/8xRH3fSyIE++heA=";
+      aarch64-linux = "sha256-dMOu0HYUIUJ+XEtctjaZZ1jGGQq+cHbay8+KwR5XqP0=";
     }.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
     dontUseCmakeConfigure = true;
     dontUseGnConfigure = true;
@@ -128,6 +138,11 @@ buildBazelPackage rec {
     "--cxxopt=-Wno-maybe-uninitialized"
     "--cxxopt=-Wno-uninitialized"
     "--cxxopt=-Wno-error=type-limits"
+
+    "--define=wasm=${wasmRuntime}"
+  ];
+  bazelFetchFlags = [
+    "--define=wasm=${wasmRuntime}"
   ];
 
   passthru.tests = {
diff --git a/pkgs/servers/http/envoy/fix-aarch64-wamr.patch b/pkgs/servers/http/envoy/fix-aarch64-wamr.patch
new file mode 100644
index 0000000000000..4d8bc6c02adce
--- /dev/null
+++ b/pkgs/servers/http/envoy/fix-aarch64-wamr.patch
@@ -0,0 +1,38 @@
+diff --git a/bazel/envoy_build_system.bzl b/bazel/envoy_build_system.bzl
+index f48ebe7056..1e5cc5d663 100644
+--- a/bazel/envoy_build_system.bzl
++++ b/bazel/envoy_build_system.bzl
+@@ -102,6 +102,7 @@ def envoy_cmake(
+         pdb_name = "",
+         cmake_files_dir = "$BUILD_TMPDIR/CMakeFiles",
+         generate_crosstool_file = False,
++        generate_args = [],
+         **kwargs):
+     cache_entries.update({"CMAKE_BUILD_TYPE": "Bazel"})
+     cache_entries_debug = dict(cache_entries)
+@@ -131,7 +132,7 @@ def envoy_cmake(
+             "@envoy//bazel:dbg_build": cache_entries_debug,
+             "//conditions:default": cache_entries,
+         }),
+-        generate_args = ["-GNinja"],
++        generate_args = ["-GNinja"] + generate_args,
+         targets = ["", "install"],
+         # TODO: Remove install target and make this work
+         install = False,
+diff --git a/bazel/foreign_cc/BUILD b/bazel/foreign_cc/BUILD
+index 4d3a281669..b4716dfe2e 100644
+--- a/bazel/foreign_cc/BUILD
++++ b/bazel/foreign_cc/BUILD
+@@ -394,6 +394,12 @@ envoy_cmake(
+         "WAMR_BUILD_LIBC_WASI": "0",
+         "WAMR_BUILD_TAIL_CALL": "1",
+     },
++    generate_args = select({
++        "//conditions:default": [],
++        "@platforms//cpu:aarch64": [
++            "-DWAMR_BUILD_TARGET=AARCH64",
++        ],
++    }),
+     lib_source = "@com_github_wamr//:all",
+     out_static_libs = ["libvmlib.a"],
+     tags = ["skip_on_windows"],
diff --git a/pkgs/servers/http/mini-httpd/default.nix b/pkgs/servers/http/mini-httpd/default.nix
index 81a8228b02707..258eacf768c77 100644
--- a/pkgs/servers/http/mini-httpd/default.nix
+++ b/pkgs/servers/http/mini-httpd/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   meta = {
     homepage = "http://mini-httpd.nongnu.org/";
     description = "minimalistic high-performance web server";
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index f6b91d77511ec..e189a7d2fdff6 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt
+outer@{ lib, stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt
+, nginx-doc
 
 , nixosTests
 , substituteAll, gd, geoip, perl
@@ -23,6 +24,7 @@
 , preConfigure ? ""
 , postInstall ? null
 , meta ? null
+, nginx-doc ? outer.nginx-doc
 , passthru ? { tests = {}; }
 }:
 
@@ -44,6 +46,8 @@ stdenv.mkDerivation {
   inherit version;
   inherit nginxVersion;
 
+  outputs = ["out" "doc"];
+
   src = if src != null then src else fetchurl {
     url = "https://nginx.org/download/nginx-${version}.tar.gz";
     inherit sha256;
@@ -114,8 +118,12 @@ stdenv.mkDerivation {
 
   configurePlatforms = [];
 
-  preConfigure = preConfigure
-    + concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules;
+  # Disable _multioutConfig hook which adds --bindir=$out/bin into configureFlags,
+  # which breaks build, since nginx does not actually use autoconf.
+  preConfigure = ''
+    setOutputFlags=
+  '' + preConfigure
+     + concatMapStringsSep "\n" (mod: mod.preConfigure or "") modules;
 
   patches = map fixPatch ([
     (substituteAll {
@@ -145,6 +153,11 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  preInstall = ''
+    mkdir -p $doc
+    cp -r ${nginx-doc}/* $doc
+  '';
+
   postInstall = if postInstall != null then postInstall else ''
     mv $out/sbin $out/bin
   '';
diff --git a/pkgs/servers/http/trafficserver/default.nix b/pkgs/servers/http/trafficserver/default.nix
index 06d640a5bc00f..083d165d5ba07 100644
--- a/pkgs/servers/http/trafficserver/default.nix
+++ b/pkgs/servers/http/trafficserver/default.nix
@@ -50,11 +50,11 @@
 
 stdenv.mkDerivation rec {
   pname = "trafficserver";
-  version = "9.1.1";
+  version = "9.1.2";
 
   src = fetchzip {
     url = "mirror://apache/trafficserver/trafficserver-${version}.tar.bz2";
-    sha256 = "sha256-oicRqKFE6hOpcNG9o3BmrMujtEzi4hrPhBWaljOW+VI=";
+    sha256 = "sha256-eRpyTdwwO5EzrVpt9fF6VEYGZjHb905nQJd065wY5RU=";
   };
 
   patches = [
@@ -65,12 +65,7 @@ stdenv.mkDerivation rec {
       sha256 = "0z1ikgpp00rzrrcqh97931586yn9wbksgai9xlkcjd5cg8gq0150";
     })
 
-    # Fix build against ncurses-6.3:
-    #  https://github.com/apache/trafficserver/pull/8437
-    (fetchpatch {
-      url = "https://github.com/apache/trafficserver/commit/66c86c6b082903a92b9db33c60e3ed947e77d540.patch";
-      sha256 = "1hgpp80xnnjr4k5i6gcllrb7dw4q4xcdrkwxpc1xk2np5cbyxd16";
-    })
+    ./fix-catch2-version-incompatibility.patch
   ];
 
   # NOTE: The upstream README indicates that flex is needed for some features,
@@ -115,6 +110,8 @@ stdenv.mkDerivation rec {
 
     substituteInPlace configure --replace '/usr/bin/file' '${file}/bin/file'
 
+    # TODO: remove after the following change has been released
+    # https://github.com/apache/trafficserver/pull/8683
     cp ${catch2}/include/catch2/catch.hpp tests/include/catch.hpp
   '' + lib.optionalString stdenv.isLinux ''
     substituteInPlace configure \
diff --git a/pkgs/servers/http/trafficserver/fix-catch2-version-incompatibility.patch b/pkgs/servers/http/trafficserver/fix-catch2-version-incompatibility.patch
new file mode 100644
index 0000000000000..248f9d4ef31ad
--- /dev/null
+++ b/pkgs/servers/http/trafficserver/fix-catch2-version-incompatibility.patch
@@ -0,0 +1,43 @@
+diff --git a/src/tscore/unit_tests/test_History.cc b/src/tscore/unit_tests/test_History.cc
+index 3e699139da0..7505f10aa4c 100644
+--- a/src/tscore/unit_tests/test_History.cc
++++ b/src/tscore/unit_tests/test_History.cc
+@@ -59,10 +59,10 @@ TEST_CASE("History", "[libts][History]")
+   REQUIRE(history[2].reentrancy == static_cast<short>(NO_REENTRANT));
+ 
+   history[0].location.str(buf, sizeof(buf));
+-  REQUIRE(string_view{buf} == "test_History.cc:48 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(string_view{buf} == "test_History.cc:48 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   history[1].location.str(buf, sizeof(buf));
+-  REQUIRE(string_view{buf} == "test_History.cc:49 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(string_view{buf} == "test_History.cc:49 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   ts::LocalBufferWriter<128> w;
+   SM<HISTORY_DEFAULT_SIZE> *sm = new SM<HISTORY_DEFAULT_SIZE>;
+@@ -71,10 +71,10 @@ TEST_CASE("History", "[libts][History]")
+   SM_REMEMBER(sm, 3, NO_REENTRANT);
+ 
+   w.print("{}", sm->history[0].location);
+-  REQUIRE(w.view() == "test_History.cc:69 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(w.view() == "test_History.cc:69 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   w.reset().print("{}", sm->history[1].location);
+-  REQUIRE(w.view() == "test_History.cc:70 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(w.view() == "test_History.cc:70 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   REQUIRE(sm->history[0].event == 1);
+   REQUIRE(sm->history[0].reentrancy == 1);
+@@ -106,10 +106,10 @@ TEST_CASE("History", "[libts][History]")
+   REQUIRE(sm2->history.overflowed() == true);
+ 
+   w.reset().print("{}", sm2->history[0].location);
+-  REQUIRE(w.view() == "test_History.cc:103 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(w.view() == "test_History.cc:103 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   w.reset().print("{}", sm2->history[1].location);
+-  REQUIRE(w.view() == "test_History.cc:98 (____C_A_T_C_H____T_E_S_T____0)");
++  REQUIRE(w.view() == "test_History.cc:98 (C_A_T_C_H_T_E_S_T_0)");
+ 
+   sm2->history.clear();
+   REQUIRE(sm2->history.size() == 0);
diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix
index 651c739886822..e02b54e9eef22 100644
--- a/pkgs/servers/icingaweb2/default.nix
+++ b/pkgs/servers/icingaweb2/default.nix
@@ -29,7 +29,8 @@ stdenvNoCC.mkDerivation rec {
     '';
     homepage = "https://www.icinga.com/products/icinga-web-2/";
     license = licenses.gpl2Only;
-    platforms = platforms.all;
     maintainers = with maintainers; [ das_j ];
+    mainProgram = "icingacli";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix
index 292d37ce6cd58..9c3bc68615cad 100644
--- a/pkgs/servers/invidious/lsquic.nix
+++ b/pkgs/servers/invidious/lsquic.nix
@@ -1,9 +1,11 @@
-{ lib, boringssl, stdenv, fetchgit, fetchFromGitHub, cmake, zlib, perl, libevent }:
+{ lib, boringssl, stdenv, fetchgit, fetchFromGitHub, cmake, zlib, perl, libevent, gcc10Stdenv, buildGoModule }:
 let
   versions = builtins.fromJSON (builtins.readFile ./versions.json);
 
+  buildGoModuleGcc10 = buildGoModule.override { stdenv = gcc10Stdenv; };
+
   # lsquic requires a specific boringssl version (noted in its README)
-  boringssl' = boringssl.overrideAttrs (old: {
+  boringssl' = (boringssl.overrideAttrs (old: {
     version = versions.boringssl.rev;
     src = fetchgit {
       url = "https://boringssl.googlesource.com/boringssl";
@@ -14,7 +16,9 @@ let
       # Use /etc/ssl/certs/ca-certificates.crt instead of /etc/ssl/cert.pem
       ./use-etc-ssl-certs.patch
     ];
-  });
+  })).override {
+    buildGoModule = buildGoModuleGcc10;
+  };
 in
 stdenv.mkDerivation rec {
   pname = "lsquic";
diff --git a/pkgs/servers/irc/inspircd/default.nix b/pkgs/servers/irc/inspircd/default.nix
index f3138915be0b1..6480e2425104a 100644
--- a/pkgs/servers/irc/inspircd/default.nix
+++ b/pkgs/servers/irc/inspircd/default.nix
@@ -142,13 +142,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "inspircd";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3c7PFIZy/TGf68XdaSC25Amr8Zfb0O+za4ermIzQjnY=";
+    sha256 = "1d5mnj86x4bk6iygns0cc15w315wrzmqxcq0sc4n75xsg6wwp1zl";
   };
 
   outputs = [ "bin" "lib" "man" "doc" "out" ];
diff --git a/pkgs/servers/kanidm/default.nix b/pkgs/servers/kanidm/default.nix
new file mode 100644
index 0000000000000..f160886fb6400
--- /dev/null
+++ b/pkgs/servers/kanidm/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, lib
+, formats
+, nixosTests
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, pkg-config
+, udev
+, openssl
+, sqlite
+, pam
+}:
+
+let
+  arch = if stdenv.isx86_64 then "x86_64" else "generic";
+in
+rustPlatform.buildRustPackage rec {
+  pname = "kanidm";
+  version = "1.1.0-alpha.8";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-zMtbE6Y9wXFPBqhmiTMJ3m6bLVZl+c6lRY39DWDlJNo=";
+  };
+
+  cargoSha256 = "sha256:1l7xqp457zfd9gfjp6f4lzgadfp6112jbip4irazw4084qwj0z6x";
+
+  KANIDM_BUILD_PROFILE = "release_nixos_${arch}";
+
+  postPatch =
+    let
+      format = (formats.toml { }).generate "${KANIDM_BUILD_PROFILE}.toml";
+      profile = {
+        web_ui_pkg_path = "@web_ui_pkg_path@";
+        cpu_flags = if stdenv.isx86_64 then "x86_64_v1" else "none";
+      };
+    in
+    ''
+      cp ${format profile} profiles/${KANIDM_BUILD_PROFILE}.toml
+      substituteInPlace profiles/${KANIDM_BUILD_PROFILE}.toml \
+        --replace '@web_ui_pkg_path@' "$out/ui"
+    '';
+
+  nativeBuildInputs = [
+    pkg-config
+    installShellFiles
+  ];
+
+  buildInputs = [
+    udev
+    openssl
+    sqlite
+    pam
+  ];
+
+  # Failing tests, probably due to network issues
+  checkFlags = [
+    "--skip default_entries"
+    "--skip oauth2_openid_basic_flow"
+    "--skip test_server"
+    "--skip test_cache"
+  ];
+
+  preFixup = ''
+    installShellCompletion --bash $releaseDir/build/completions/*.bash
+    installShellCompletion --zsh  $releaseDir/build/completions/_*
+
+    # PAM and NSS need fix library names
+    mv $out/lib/libnss_kanidm.so $out/lib/libnss_kanidm.so.2
+    mv $out/lib/libpam_kanidm.so $out/lib/pam_kanidm.so
+
+    # We don't compile the wasm-part form source, as there isn't a rustc for
+    # wasm32-unknown-unknown in nixpkgs yet.
+    cp -r kanidmd_web_ui/pkg $out/ui
+  '';
+
+  passthru.tests = { inherit (nixosTests) kanidm; };
+
+  meta = with lib; {
+    description = "A simple, secure and fast identity management platform";
+    homepage = "https://github.com/kanidm/kanidm";
+    license = licenses.mpl20;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ erictapen Flakebi ];
+  };
+}
diff --git a/pkgs/servers/keycloak/default.nix b/pkgs/servers/keycloak/default.nix
index f28679f2cf5fc..95a3ade822c13 100644
--- a/pkgs/servers/keycloak/default.nix
+++ b/pkgs/servers/keycloak/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "keycloak";
-  version = "17.0.1";
+  version = "18.0.0";
 
   src = fetchzip {
     url = "https://github.com/keycloak/keycloak/releases/download/${version}/keycloak-${version}.zip";
-    sha256 = "sha256-z1LfTUoK+v4oQxdyIQruFhl5O333zirSrkPoTFgVfmI=";
+    sha256 = "0fxf9m50hpjplj077z2zjp0qibixz5y4lbc8159cnxbd4gzpkaaf";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
-    substituteInPlace $out/bin/kc.sh --replace '-Dkc.home.dir=$DIRNAME/../' '-Dkc.home.dir=$KC_HOME_DIR'
-    substituteInPlace $out/bin/kc.sh --replace '-Djboss.server.config.dir=$DIRNAME/../conf' '-Djboss.server.config.dir=$KC_CONF_DIR'
+    substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Dkc.home.dir='$DIRNAME'/../"} '-Dkc.home.dir=$KC_HOME_DIR'
+    substituteInPlace $out/bin/kc.sh --replace ${lib.escapeShellArg "-Djboss.server.config.dir='$DIRNAME'/../conf"} '-Djboss.server.config.dir=$KC_CONF_DIR'
 
     for script in $(find $out/bin -type f -executable); do
       wrapProgram "$script" --set JAVA_HOME ${jre} --prefix PATH : ${jre}/bin
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index 266bb0a383d8f..da4c2b04eb4c0 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dovecot";
-  version = "2.3.18";
+  version = "2.3.19";
 
   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";
-    hash = "sha256-Buc/ZoxsCTxFve7rfCA5irjcSTFyNPS1eBrF4sxdbDM=";
+    hash = "sha256:0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 3f1f2d270a364..c3f11bc14b28d 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/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.18";
+  version = "0.5.19";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
-    hash = "sha256-ptgo+Nby3sulEFND7OXHplJFvZTkaorkQyptl1QxCKU=";
+    hash = "sha256:033kkhby9k9yrmgvlfmyzp8fccsw5bhq1dyvxj94sg3grkpj7f8h";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
index 62b01cf9266c3..bda3f1cda4c41 100644
--- a/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
+++ b/pkgs/servers/mail/opensmtpd/filter-rspamd.nix
@@ -22,9 +22,10 @@ buildGoModule rec {
   };
 
   meta = with lib; {
-    homepage = "https://github.com/poolpOrg/filter-rspamd";
     description = "OpenSMTPD filter integration for the Rspamd daemon";
+    homepage = "https://github.com/poolpOrg/filter-rspamd";
     license = licenses.isc;
     maintainers = with maintainers; [ Flakebi ];
+    mainProgram = "filter-rspamd";
   };
 }
diff --git a/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch b/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch
deleted file mode 100644
index ebc9a6f223797..0000000000000
--- a/pkgs/servers/mail/public-inbox/0002-msgtime-drop-Date-Parse-for-RFC2822.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From c9b5164c954cd0de80d971f1c4ced16bf41ea81b Mon Sep 17 00:00:00 2001
-From: Eric Wong <e@80x24.org>
-Date: Fri, 29 Nov 2019 12:25:07 +0000
-Subject: [PATCH 2/2] msgtime: drop Date::Parse for RFC2822
-
-Date::Parse is not optimized for RFC2822 dates and isn't
-packaged on OpenBSD.  It's still useful for historical
-email when email clients were less conformant, but is
-less relevant for new emails.
----
- lib/PublicInbox/MsgTime.pm | 115 ++++++++++++++++++++++++++++++++-----
- t/msgtime.t                |   6 ++
- 2 files changed, 107 insertions(+), 14 deletions(-)
-
-diff --git a/lib/PublicInbox/MsgTime.pm b/lib/PublicInbox/MsgTime.pm
-index 58e11d72..e9b27a49 100644
---- a/lib/PublicInbox/MsgTime.pm
-+++ b/lib/PublicInbox/MsgTime.pm
-@@ -7,24 +7,114 @@ use strict;
- use warnings;
- use base qw(Exporter);
- our @EXPORT_OK = qw(msg_timestamp msg_datestamp);
--use Date::Parse qw(str2time strptime);
-+use Time::Local qw(timegm);
-+my @MoY = qw(january february march april may june
-+		july august september october november december);
-+my %MoY;
-+@MoY{@MoY} = (0..11);
-+@MoY{map { substr($_, 0, 3) } @MoY} = (0..11);
-+
-+my %OBSOLETE_TZ = ( # RFC2822 4.3 (Obsolete Date and Time)
-+	EST => '-0500', EDT => '-0400',
-+	CST => '-0600', CDT => '-0500',
-+	MST => '-0700', MDT => '-0600',
-+	PST => '-0800', PDT => '-0700',
-+	UT => '+0000', GMT => '+0000', Z => '+0000',
-+
-+	# RFC2822 states:
-+	#   The 1 character military time zones were defined in a non-standard
-+	#   way in [RFC822] and are therefore unpredictable in their meaning.
-+);
-+my $OBSOLETE_TZ = join('|', keys %OBSOLETE_TZ);
- 
- sub str2date_zone ($) {
- 	my ($date) = @_;
-+	my ($ts, $zone);
-+
-+	# RFC822 is most likely for email, but we can tolerate an extra comma
-+	# or punctuation as long as all the data is there.
-+	# We'll use '\s' since Unicode spaces won't affect our parsing.
-+	# SpamAssassin ignores commas and redundant spaces, too.
-+	if ($date =~ /(?:[A-Za-z]+,?\s+)? # day-of-week
-+			([0-9]+),?\s+  # dd
-+			([A-Za-z]+)\s+ # mon
-+			([0-9]{2,})\s+ # YYYY or YY (or YYY :P)
-+			([0-9]+)[:\.] # HH:
-+				((?:[0-9]{2})|(?:\s?[0-9])) # MM
-+				(?:[:\.]((?:[0-9]{2})|(?:\s?[0-9])))? # :SS
-+			\s+	# a TZ offset is required:
-+				([\+\-])? # TZ sign
-+				[\+\-]* # I've seen extra "-" e.g. "--500"
-+				([0-9]+|$OBSOLETE_TZ)(?:\s|$) # TZ offset
-+			/xo) {
-+		my ($dd, $m, $yyyy, $hh, $mm, $ss, $sign, $tz) =
-+					($1, $2, $3, $4, $5, $6, $7, $8);
-+		# don't accept non-English months
-+		defined(my $mon = $MoY{lc($m)}) or return;
-+
-+		if (defined(my $off = $OBSOLETE_TZ{$tz})) {
-+			$sign = substr($off, 0, 1);
-+			$tz = substr($off, 1);
-+		}
-+
-+		# Y2K problems: 3-digit years, follow RFC2822
-+		if (length($yyyy) <= 3) {
-+			$yyyy += 1900;
-+
-+			# and 2-digit years from '09 (2009) (0..49)
-+			$yyyy += 100 if $yyyy < 1950;
-+		}
-+
-+		$ts = timegm($ss // 0, $mm, $hh, $dd, $mon, $yyyy);
- 
--	my $ts = str2time($date);
--	return undef unless(defined $ts);
-+		# Compute the time offset from [+-]HHMM
-+		$tz //= 0;
-+		my ($tz_hh, $tz_mm);
-+		if (length($tz) == 1) {
-+			$tz_hh = $tz;
-+			$tz_mm = 0;
-+		} elsif (length($tz) == 2) {
-+			$tz_hh = 0;
-+			$tz_mm = $tz;
-+		} else {
-+			$tz_hh = $tz;
-+			$tz_hh =~ s/([0-9]{2})\z//;
-+			$tz_mm = $1;
-+		}
-+		while ($tz_mm >= 60) {
-+			$tz_mm -= 60;
-+			$tz_hh += 1;
-+		}
-+		$sign //= '+';
-+		my $off = $sign . ($tz_mm * 60 + ($tz_hh * 60 * 60));
-+		$ts -= $off;
-+		$sign = '+' if $off == 0;
-+		$zone = sprintf('%s%02d%02d', $sign, $tz_hh, $tz_mm);
- 
--	# off is the time zone offset in seconds from GMT
--	my ($ss,$mm,$hh,$day,$month,$year,$off) = strptime($date);
--	return undef unless(defined $off);
-+	# Time::Zone and Date::Parse are part of the same distibution,
-+	# and we need Time::Zone to deal with tz names like "EDT"
-+	} elsif (eval { require Date::Parse }) {
-+		$ts = Date::Parse::str2time($date);
-+		return undef unless(defined $ts);
- 
--	# Compute the time zone from offset
--	my $sign = ($off < 0) ? '-' : '+';
--	my $hour = abs(int($off / 3600));
--	my $min  = ($off / 60) % 60;
--	my $zone = sprintf('%s%02d%02d', $sign, $hour, $min);
-+		# off is the time zone offset in seconds from GMT
-+		my ($ss,$mm,$hh,$day,$month,$year,$off) =
-+					Date::Parse::strptime($date);
-+		return undef unless(defined $off);
-+
-+		# Compute the time zone from offset
-+		my $sign = ($off < 0) ? '-' : '+';
-+		my $hour = abs(int($off / 3600));
-+		my $min  = ($off / 60) % 60;
-+
-+		$zone = sprintf('%s%02d%02d', $sign, $hour, $min);
-+	} else {
-+		warn "Date::Parse missing for non-RFC822 date: $date\n";
-+		return undef;
-+	}
- 
-+	# Note: we've already applied the offset to $ts at this point,
-+	# but we want to keep "git fsck" happy.
- 	# "-1200" is the furthest westermost zone offset,
- 	# but git fast-import is liberal so we use "-1400"
- 	if ($zone >= 1400 || $zone <= -1400) {
-@@ -59,9 +149,6 @@ sub msg_date_only ($) {
- 	my @date = $hdr->header_raw('Date');
- 	my ($ts);
- 	foreach my $d (@date) {
--		# Y2K problems: 3-digit years
--		$d =~ s!([A-Za-z]{3}) ([0-9]{3}) ([0-9]{2}:[0-9]{2}:[0-9]{2})!
--			my $yyyy = $2 + 1900; "$1 $yyyy $3"!e;
- 		$ts = eval { str2date_zone($d) } and return $ts;
- 		if ($@) {
- 			my $mid = $hdr->header_raw('Message-ID');
-diff --git a/t/msgtime.t b/t/msgtime.t
-index 6b396602..d9643b65 100644
---- a/t/msgtime.t
-+++ b/t/msgtime.t
-@@ -84,4 +84,10 @@ is_deeply(datestamp('Fri, 28 Jun 2002 12:54:40 -700'), [1025294080, '-0700']);
- is_deeply(datestamp('Sat, 12 Jan 2002 12:52:57 -200'), [1010847177, '-0200']);
- is_deeply(datestamp('Mon, 05 Nov 2001 10:36:16 -800'), [1004985376, '-0800']);
- 
-+# obsolete formats described in RFC2822
-+for (qw(UT GMT Z)) {
-+	is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 '.$_), [ 749520000, '+0000']);
-+}
-+is_deeply(datestamp('Fri, 02 Oct 1993 00:00:00 EDT'), [ 749534400, '-0400']);
-+
- done_testing();
--- 
-2.24.1
-
diff --git a/pkgs/servers/mail/public-inbox/default.nix b/pkgs/servers/mail/public-inbox/default.nix
index affcb0e8b2378..8ffbab1eac194 100644
--- a/pkgs/servers/mail/public-inbox/default.nix
+++ b/pkgs/servers/mail/public-inbox/default.nix
@@ -1,19 +1,73 @@
-{ buildPerlPackage, lib, fetchurl, fetchpatch, makeWrapper
-, DBDSQLite, EmailMIME, IOSocketSSL, IPCRun, Plack, PlackMiddlewareReverseProxy
-, SearchXapian, TimeDate, URI
-, git, highlight, openssl, xapian
+{ stdenv, lib, fetchurl, makeWrapper, nixosTests
+, buildPerlPackage
+, coreutils
+, curl
+, git
+, gnumake
+, highlight
+, libgit2
+, man
+, openssl
+, pkg-config
+, sqlite
+, xapian
+, AnyURIEscape
+, DBDSQLite
+, DBI
+, EmailAddressXS
+, EmailMIME
+, IOSocketSSL
+, IPCRun
+, Inline
+, InlineC
+, LinuxInotify2
+, MailIMAPClient
+, ParseRecDescent
+, Plack
+, PlackMiddlewareReverseProxy
+, SearchXapian
+, TimeDate
+, URI
 }:
 
 let
 
-  # These tests would fail, and produce "Operation not permitted"
-  # errors from git, because they use git init --shared.  This tries
-  # to set the setgid bit, which isn't permitted inside build
-  # sandboxes.
-  #
-  # These tests were indentified with
-  #     grep -r shared t/
-  skippedTests = [ "convert-compact" "search" "v2writable" "www_listing" ];
+  skippedTests = [
+    # These tests would fail, and produce "Operation not permitted"
+    # errors from git, because they use git init --shared.  This tries
+    # to set the setgid bit, which isn't permitted inside build
+    # sandboxes.
+    #
+    # These tests were indentified with
+    #     grep -r shared t/
+    "convert-compact" "search" "v2writable" "www_listing"
+    # perl5.32.0-public-inbox> t/eml.t ...................... 1/? Cannot parse parameter '=?ISO-8859-1?Q?=20charset=3D=1BOF?=' at t/eml.t line 270.
+    # perl5.32.0-public-inbox> #   Failed test 'got wide character by assuming utf-8'
+    # perl5.32.0-public-inbox> #   at t/eml.t line 272.
+    # perl5.32.0-public-inbox> Wide character in print at /nix/store/38vxlxrvg3yji3jms44qn94lxdysbj5j-perl-5.32.0/lib/perl5/5.32.0/Test2/Formatter/TAP.pm line 125.
+    "eml"
+    # Failed test 'Makefile OK'
+    # at t/hl_mod.t line 19.
+    #        got: 'makefile'
+    #   expected: 'make'
+    "hl_mod"
+    # Failed test 'clone + index v1 synced ->created_at'
+    # at t/lei-mirror.t line 175.
+    #        got: '1638378723'
+    #   expected: undef
+    # Failed test 'clone + index v1 synced ->created_at'
+    # at t/lei-mirror.t line 178.
+    #        got: '1638378723'
+    #   expected: undef
+    # May be due to the use of $ENV{HOME}.
+    "lei-mirror"
+    # Failed test 'child error (pure-Perl)'
+    # at t/spawn.t line 33.
+    #        got: '0'
+    #   expected: anything else
+    # waiting for child to reap grandchild...
+    "spawn"
+  ];
 
   testConditions = with lib;
     concatMapStringsSep " " (n: "! -name ${escapeShellArg n}.t") skippedTests;
@@ -22,53 +76,86 @@ in
 
 buildPerlPackage rec {
   pname = "public-inbox";
-  version = "1.2.0";
+  version = "1.8.0";
 
   src = fetchurl {
-    url = "https://public-inbox.org/releases/public-inbox-${version}.tar.gz";
-    sha256 = "0sa2m4f2x7kfg3mi4im7maxqmqvawafma8f7g92nyfgybid77g6s";
+    url = "https://public-inbox.org/public-inbox.git/snapshot/public-inbox-${version}.tar.gz";
+    sha256 = "sha256-laJOOCk5NecIGWesv4D30cLGfijQHVkeo55eNqNKzew=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://public-inbox.org/meta/20200101032822.GA13063@dcvr/raw";
-      sha256 = "0ncxqqkvi5lwi8zaa7lk7l8mf8h278raxsvbvllh3z7jhfb48r3l";
-    })
-    ./0002-msgtime-drop-Date-Parse-for-RFC2822.patch
-  ];
-
   outputs = [ "out" "devdoc" "sa_config" ];
 
   postConfigure = ''
     substituteInPlace Makefile --replace 'TEST_FILES = t/*.t' \
         'TEST_FILES = $(shell find t -name *.t ${testConditions})'
+    substituteInPlace lib/PublicInbox/TestCommon.pm \
+      --replace /bin/cp ${coreutils}/bin/cp
   '';
 
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = [
-    DBDSQLite EmailMIME IOSocketSSL IPCRun Plack PlackMiddlewareReverseProxy
-    SearchXapian TimeDate URI highlight
+    AnyURIEscape
+    DBDSQLite
+    DBI
+    EmailAddressXS
+    EmailMIME
+    highlight
+    IOSocketSSL
+    IPCRun
+    Inline
+    InlineC
+    ParseRecDescent
+    Plack
+    PlackMiddlewareReverseProxy
+    SearchXapian
+    TimeDate
+    URI
+    libgit2 # For Gcf2
+    man
   ];
 
-  checkInputs = [ git openssl xapian ];
+  doCheck = !stdenv.isDarwin;
+  checkInputs = [
+    MailIMAPClient
+    curl
+    git
+    openssl
+    pkg-config
+    sqlite
+    xapian
+  ] ++ lib.optionals stdenv.isLinux [
+    LinuxInotify2
+  ];
   preCheck = ''
     perl certs/create-certs.perl
+    export TEST_LEI_ERR_LOUD=1
+    export HOME="$NIX_BUILD_TOP"/home
+    mkdir -p "$HOME"/.cache/public-inbox/inline-c
   '';
 
   installTargets = [ "install" ];
   postInstall = ''
     for prog in $out/bin/*; do
-        wrapProgram $prog --prefix PATH : ${lib.makeBinPath [ git ]}
+        wrapProgram $prog --prefix PATH : ${lib.makeBinPath [
+          git
+          /* for InlineC */
+          gnumake
+          stdenv.cc.cc
+        ]}
     done
 
     mv sa_config $sa_config
   '';
 
+  passthru.tests = {
+    nixos-public-inbox = nixosTests.public-inbox;
+  };
+
   meta = with lib; {
     homepage = "https://public-inbox.org/";
     license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ qyliss ];
+    maintainers = with maintainers; [ julm qyliss ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/mapserver/default.nix b/pkgs/servers/mapserver/default.nix
index f8b0d8196fad1..9ec9ad01bc873 100644
--- a/pkgs/servers/mapserver/default.nix
+++ b/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, python2
+, withPython ? true, swig, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     pkg-config
-  ] ++ lib.optional withPython swig;
+  ] ++ lib.optional withPython [ swig python3.pkgs.setuptools ];
 
   buildInputs = [
     cairo
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     proj
     protobufc
     zlib
-  ] ++ lib.optional withPython python2;
+  ] ++ lib.optional withPython python3;
 
   cmakeFlags = [
     "-DWITH_KML=ON"
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index f43747e185a79..075389e325a40 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   yarnOfflineCache = fetchYarnDeps {
     yarnLock = "${src}/yarn.lock";
-    sha256 = "sha256-Swe7AH/j1+N1T20xaQ+U0Ajtoe9BGzsghAjN1QakOp8=";
+    sha256 = "sha256-FCwyJJwZ3/CVPT8LUid+KJcWCmFQet8Cftl7DVYhZ6I=";
   };
 
   mastodon-gems = bundlerEnv {
diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix
index 0b841c325db00..a6deedbcb81c8 100644
--- a/pkgs/servers/mastodon/gemset.nix
+++ b/pkgs/servers/mastodon/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zsb2x1j044rcx9b2ijgnp1ir7vsccxfrar59pvra83j5pjmsyiz";
+      sha256 = "0znrdixzpbr7spr4iwp19z3r2f2klggh9pmnsiix8qrvccc5lsdl";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionmailbox = {
     dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pzpf5vivh864an88gb7fab1gh137prfjpbf92mx5qnln1wjhlgh";
+      sha256 = "17mcv2qfjkix1q18nj6kidrhdwxd0rdzssdkdanrpp905z0sx0mw";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionmailer = {
     dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@@ -27,10 +27,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0sm5rp2jxlikhvv7085r7zrazy42dw74k9rlniaka8m6wfas01nf";
+      sha256 = "1084nk3fzq76gzl6kc9dwb586g3kcj1kmp8w1nsrhpl523ljgl1s";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionpack = {
     dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@@ -38,10 +38,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kk8c6n94lg5gyarsy33wakw04zbmdwgfr7zxv4zzmbnp1yach0w";
+      sha256 = "1b2vxprwfkza3h6z3pq508hsjh1hz9f8d7739j469mqlxsq5jh1l";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actiontext = {
     dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
@@ -49,10 +49,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hkqhliw766vcd4c83af2dd1hcnbsh5zkcx8bdqmjcq7zqfn7xib";
+      sha256 = "0ld6x9x05b1n40rjp83hsi4byp15zvb3lmvfk2h8jgxfrpb47c6j";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   actionview = {
     dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@@ -60,10 +60,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16w7pl8ir253g1dzlzx4mwrjsx3v7fl7zn941xz53zb4ld286mhi";
+      sha256 = "0y54nw3x38lj0qh36hlzjw82px328k01fyrk21d6xlpn1w0j98gv";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   active_model_serializers = {
     dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
@@ -92,10 +92,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0arf4vxcahb9f9y5fa1ap7dwnknfjb0d5g9zsh0dnqfga9vp1hws";
+      sha256 = "1i6s8ppwnf0zcz466i5qi2gd7fdgxkl22db50mxkyfnbwnzbfw49";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activemodel = {
     dependencies = ["activesupport"];
@@ -103,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16anyz7wqwmphzb6w1sgmvdvj50g3zp70s94s5v8hwxj680f6195";
+      sha256 = "01bbxwbih29qcmqrrvqymlc6hjf0r38rpwdfgaimisp5vms3xxsn";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activerecord = {
     dependencies = ["activemodel" "activesupport"];
@@ -114,10 +114,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jl6jc9g9jxsljfnnmbkxrgwrz86icw6g745cv6iavryizrmw939";
+      sha256 = "1yscjy5766g67ip3g7614b0hhrpgz5qk22nj8ghzcjqh3fj2k2n0";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activestorage = {
     dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@@ -125,10 +125,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gpxx9wyavp1mhy6fmyj4b20c4x0dcdj94y0ag61fgnyishd19ph";
+      sha256 = "1m0m7k0p5b7dfpmh9aqfs5fapaymkml3gspirpaq6w9w55ahf6pv";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   activesupport = {
     dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@@ -136,10 +136,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmqndx3a46hpwz33ximqch27018n3mk9z19azgpylm33w7xpkx4";
+      sha256 = "1ylj0nwk9y5hbgv93wk8kkbg9z9bv1052ic37n9ib34w0bkgrzw4";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -250,10 +250,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0q5c8jjnlz6dlkxwsm6cj9n1z08pylvibsx8r42z50ws0jw2f7jm";
+      sha256 = "1afpq7sczg91xx5xi4xlgcwrrhmy3k6mrk60ph8avbfiyxgw27pc";
       type = "gem";
     };
-    version = "1.558.0";
+    version = "1.582.0";
   };
   aws-sdk-core = {
     dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
@@ -261,10 +261,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cmrz2ddv8235z2dx1hyw85mh3lxaipk9dyy10zk2fvmv1nkfkiq";
+      sha256 = "0hajbavfngn99hcz6n20162jygvwdflldvnlrza7z32hizawaaan";
       type = "gem";
     };
-    version = "3.127.0";
+    version = "3.130.2";
   };
   aws-sdk-kms = {
     dependencies = ["aws-sdk-core" "aws-sigv4"];
@@ -272,10 +272,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fmpdll52ng1kfn4r5ndcyppn5553qvvxw87w58m9n70ga3avasi";
+      sha256 = "14dcfqqdx1dy7qwrdyqdvqjs53kswm4njvg34f61jpl9xi3h2yf3";
       type = "gem";
     };
-    version = "1.55.0";
+    version = "1.56.0";
   };
   aws-sdk-s3 = {
     dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"];
@@ -283,10 +283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iafjly868kdzmpxkv1ndmqm524ik36ibs15mqh145vw32gz7bax";
+      sha256 = "17pc197a6axmnj6rbhgsvks2w0mv2mmr2bwh1k4mazbfp72ss87i";
       type = "gem";
     };
-    version = "1.113.0";
+    version = "1.113.2";
   };
   aws-sigv4 = {
     dependencies = ["aws-eventstream"];
@@ -294,10 +294,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wh1y79v0s4zgby2m79bnifk65hwf5pvk2yyrxzn2jkjjq8f8fqa";
+      sha256 = "0xp7diwq7nv4vvxrl9x3lis2l4x6bissrfzbfyy6rv5bmj5w109z";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.5.0";
   };
   bcrypt = {
     groups = ["default" "pam_authentication"];
@@ -369,20 +369,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "053hx5hz1zdcqwywlnabzf0gkrrchhzh66p1bfzvrryb075lsqm1";
+      sha256 = "0bjhh8pngmvnrsri2h6a753pgv0xdkbbgi1bmv6c7q137sp37jbg";
       type = "gem";
     };
-    version = "1.10.3";
+    version = "1.11.1";
   };
   brakeman = {
     groups = ["development"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "197bvfm4rpczyrpbjzn7zh4q6rxigwnxnnmvvgfg9451k3jjygyy";
+      sha256 = "1bk1xz5w29cq84svnrlgcrwvy1lpkwqrv6cmkkivs3yrym09av14";
       type = "gem";
     };
-    version = "5.2.1";
+    version = "5.2.2";
   };
   browser = {
     groups = ["default"];
@@ -864,10 +864,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xsfa02hin2ymfcf0bdvsw6wk8w706rrfdqpy6b4f439zbqmn05m";
+      sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
       type = "gem";
     };
-    version = "1.2.6";
+    version = "1.2.7";
   };
   excon = {
     groups = ["default"];
@@ -1102,10 +1102,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l8878iqg85zmpifjfnidpp17swgh103a0br68nqakflnn0zwcka";
+      sha256 = "16xki30md6bygc62yi2s1y002vq6dm3bhjcjb9pl5dpr3al3fa1j";
       type = "gem";
     };
-    version = "1.5.2";
+    version = "1.5.3";
   };
   fuubar = {
     dependencies = ["rspec-core" "ruby-progressbar"];
@@ -1312,10 +1312,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f3pgfjk4xmyjhqqq8dpx3vbxbq1d9bwlh3d7957vnkpdwk432n0";
+      sha256 = "1hiblss98hmybs82xsaavhz1cwlhhx92jzlx8ypkriylxhhwmigk";
       type = "gem";
     };
-    version = "1.0.8";
+    version = "1.0.9";
   };
   idn-ruby = {
     groups = ["default"];
@@ -1342,10 +1342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gjrr5pdcl3l3skhp9d0jzs4yhmknpv3ldcz59b339b9lqbqasnr";
+      sha256 = "1mnvb80cdg7fzdcs3xscv21p28w4igk5sj5m7m81xp8v2ks87jj0";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.6.1";
   };
   json = {
     groups = ["default" "test"];
@@ -1545,10 +1545,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15s6z5bvhdhnqv4wg8zcz3mhbc7i4dbqskv5jvhprz33ak7682km";
+      sha256 = "0fpx5p8n0jq4bdazb2vn19sqkmh398rk9b2pa3gdi43snfn485cr";
       type = "gem";
     };
-    version = "2.16.0";
+    version = "2.17.0";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -1690,10 +1690,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b98w2j7g89ihnc753hh3if68r5qrmdp9n2j6mvqy2yl73sbv739";
+      sha256 = "1i0gbypr1yxwfkaxzrk0i1wz4n6v3mw7z24k65jy3q1h5lda5xbw";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.5.1";
   };
   multi_json = {
     groups = ["default"];
@@ -1762,10 +1762,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p6b3q411h2mw4dsvhjrp1hh66hha5cm69fqg85vn2lizz71n6xz";
+      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
       type = "gem";
     };
-    version = "1.13.3";
+    version = "1.13.4";
   };
   nsa = {
     dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
@@ -1941,10 +1941,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00rqwbbxiq7rsmfisfnqbgdswbwdm937f2wmj840j8wahsqmj2r8";
+      sha256 = "1v0cszy9lgjqn3ax8pbj5fg01pg83wyl41wzid3g35h4xdxz1d4a";
       type = "gem";
     };
-    version = "2.8.2";
+    version = "2.8.3";
   };
   pkg-config = {
     groups = ["default"];
@@ -2099,10 +2099,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rc6simyql7ax5zzp667x6krl0xxxh3asc1av6gcn8j6cyl86wsx";
+      sha256 = "049s3y3dpl6dn478g912y6f9nzclnnkl30psrbc2w5kaihj5szhq";
       type = "gem";
     };
-    version = "6.6.0";
+    version = "6.6.1";
   };
   rack-cors = {
     dependencies = ["rack"];
@@ -2154,10 +2154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yr66s65nfw5yclf1x0ziy80gzhp9vqvyy0yzl0npmx25h4aizdv";
+      sha256 = "08a9wl2g4q403jc9iziqh37c64yccp6rzxz6avy0l7ydslpxggv8";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   rails-controller-testing = {
     dependencies = ["actionpack" "actionview" "activesupport"];
@@ -2220,10 +2220,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fdqhv8qhk2dspkrr9f5dj3806g52cb0l1chh2hx8v81y218cl93";
+      sha256 = "0lirp0g1n114gwkqbqki2fjqwnbyzhn30z97jhikqldd0r54f4b9";
       type = "gem";
     };
-    version = "6.1.5";
+    version = "6.1.5.1";
   };
   rainbow = {
     groups = ["default" "development" "test"];
@@ -2293,10 +2293,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "155f6cr4rrfw5bs5xd3m5kfw32qhc5fsi4nk82rhif56rc6cs0wm";
+      sha256 = "0a6nxfq3ln1i109jx172n33s73a90l8g04h8p56bmw9phj467h9k";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.3.0";
   };
   request_store = {
     dependencies = ["rack"];
@@ -2399,10 +2399,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y38dc66yhnfcf4ky3k47c20xak1rax940s4a96qkjxqrniy5ys3";
+      sha256 = "07vagjxdm5a6s103y8zkcnja6avpl8r196hrpiffmg7sk83dqdsm";
       type = "gem";
     };
-    version = "3.11.0";
+    version = "3.11.1";
   };
   rspec-rails = {
     dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
@@ -2410,10 +2410,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jj5zs9h2ll8iz699ac4bysih7y4csnf8h5h80bm6ppbf02ly8fa";
+      sha256 = "1cqw7bhj4a4rhh1x9i5gjm9r91ckhjyngw0zcr7jw2jnfis10d7l";
       type = "gem";
     };
-    version = "5.1.1";
+    version = "5.1.2";
   };
   rspec-sidekiq = {
     dependencies = ["rspec-core" "sidekiq"];
@@ -2453,10 +2453,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06105yrqajpm5l07fng1nbk55y9490hny542zclnan8hg841pjgl";
+      sha256 = "00d9nzlnbxr3jqkya2b2rcahs9l22qpdk5qf3y7pws8m555l8slk";
       type = "gem";
     };
-    version = "1.26.1";
+    version = "1.27.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
@@ -2464,10 +2464,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bd2z82ly7fix8415gvfiwzb6bjialz5rs3sr72kv1lk68rd23wv";
+      sha256 = "1k9izkr5rhw3zc309yjp17z7496l74j4li3zrcgpgqfnqwz695qx";
       type = "gem";
     };
-    version = "1.16.0";
+    version = "1.17.0";
   };
   rubocop-rails = {
     dependencies = ["activesupport" "rack" "rubocop"];
@@ -2603,10 +2603,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13pc206l9w1wklrgkcafbp332cf8ikl4wfks6ikhk9lvd6hi22sx";
+      sha256 = "0ncly0glyvcx8cm976c811iw70y5wyix6iwfsmmgfvi0jmy1h4v3";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.2.0";
   };
   sidekiq-unique-jobs = {
     dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "sidekiq" "thor"];
@@ -2614,10 +2614,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b2dcw604mmjh4ncfwsidzbzqaa3fbngqidhvhsjv6ladpzsrb8y";
+      sha256 = "0ibrdlpvlra8wxkhapiipwrx8v9y6wpmxlfn5r53swvhmlkrjqgq";
       type = "gem";
     };
-    version = "7.1.16";
+    version = "7.1.21";
   };
   simple-navigation = {
     dependencies = ["activesupport"];
diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix
index aa915395e31d6..6d4dc034ff650 100644
--- a/pkgs/servers/mastodon/source.nix
+++ b/pkgs/servers/mastodon/source.nix
@@ -2,8 +2,8 @@
 { fetchgit, applyPatches }: let
   src = fetchgit {
     url = "https://github.com/mastodon/mastodon.git";
-    rev = "v3.5.1";
-    sha256 = "0n6ml245jdc2inzw7jwhxbqlfkp5bs61kslyy71ww6a29ndd6hv0";
+    rev = "v3.5.2";
+    sha256 = "03sk0rzf7zy0vpq6f5f909hx5gbnan5b5h068grgzv2v7lj11was";
   };
 in applyPatches {
   inherit src;
diff --git a/pkgs/servers/mastodon/version.nix b/pkgs/servers/mastodon/version.nix
index 7714a397576a6..843ef5820f926 100644
--- a/pkgs/servers/mastodon/version.nix
+++ b/pkgs/servers/mastodon/version.nix
@@ -1 +1 @@
-"3.5.1"
+"3.5.2"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 235d1895e152a..c81800a356174 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -11,11 +11,11 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.57.0";
+  version = "1.58.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pZhm3jfpqOcLT+M4eeD8FyHtwj5EOAFESFu+4ZMoz0s=";
+    sha256 = "sha256-cY3rtmaaAimEQPU4wcMEy/QysPNCdk7yptrkctnLfDA=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
index f9a1999f36d73..a038d882e7feb 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-composition.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
index 92885cee8775d..2e74ced5fb2a0 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/node-packages.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
+# This file has been generated by node2nix 1.11.1. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
 
@@ -3128,13 +3128,13 @@ let
         sha512 = "HnEXoEhqpNp9/W9Ep7ZNZAubFlUssFyVpjgKfMOxxg+dYbBk5NWToHmAPQxlRUgrZ/rIMLVyMJROSCIthDbo2A==";
       };
     };
-    "matrix-org-irc-1.2.0" = {
+    "matrix-org-irc-1.2.1" = {
       name = "matrix-org-irc";
       packageName = "matrix-org-irc";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.2.0.tgz";
-        sha512 = "RnfeR9FimJJD/iOWw0GiV7NIPRmBJobvFasUgjVmGre9A4qJ9klHIDOlQ5vXIoPPMjzG8XXuAf4WHgMCNBfZkQ==";
+        url = "https://registry.npmjs.org/matrix-org-irc/-/matrix-org-irc-1.2.1.tgz";
+        sha512 = "x7SoeIOP+Z6R2s8PJqhM89OZNsS2RO4srx7c3JGa/VN6rtJ1AMLEyW4EPCVh09tGiTvmbit9KJysjLvFQPx9KA==";
       };
     };
     "media-typer-0.3.0" = {
@@ -5031,7 +5031,7 @@ let
   args = {
     name = "matrix-appservice-irc";
     packageName = "matrix-appservice-irc";
-    version = "0.33.1";
+    version = "0.34.0";
     src = ./.;
     dependencies = [
       sources."@alloc/quick-lru-5.2.0"
@@ -5475,7 +5475,7 @@ let
           sources."qs-6.10.3"
         ];
       })
-      sources."matrix-org-irc-1.2.0"
+      sources."matrix-org-irc-1.2.1"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
       sources."merge2-1.4.1"
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
index f94cfc996ba75..f0a1b6fc60c06 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/package.json
@@ -1,6 +1,6 @@
 {
   "name": "matrix-appservice-irc",
-  "version": "0.33.1",
+  "version": "0.34.0",
   "description": "An IRC Bridge for Matrix",
   "main": "app.js",
   "bin": "./bin/matrix-appservice-irc",
@@ -34,7 +34,7 @@
     "he": "^1.2.0",
     "logform": "^2.4.0",
     "matrix-appservice-bridge": "^3.2.0",
-    "matrix-org-irc": "^1.2.0",
+    "matrix-org-irc": "^1.2.1",
     "matrix-bot-sdk": "0.5.19",
     "nopt": "^3.0.1",
     "p-queue": "^6.6.2",
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
index 35bea461b9fd8..ca4ea39455090 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-irc/src.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/matrix-org/matrix-appservice-irc",
-  "rev": "00c8e7afb057021126c5e8ea9a46f2f8a55ea0bc",
-  "date": "2022-03-30T14:29:04+01:00",
-  "path": "/nix/store/9cm14kvicwc83irmbb8zsr8rc4893l22-matrix-appservice-irc",
-  "sha256": "1zhcihji9cwrdajx5dfnd4w38xsnqnqmwccngfiwrh8mwra7phfi",
+  "rev": "8faf9614e80073e3cf07c96dbd295379d80f4161",
+  "date": "2022-05-04T09:06:31+02:00",
+  "path": "/nix/store/sy3v3h9xf4zc9cggavfk720c1pv3hiz2-matrix-appservice-irc",
+  "sha256": "1ihhd1y6jsz98iwrza3fnfinpkpzkn0776wiz6jzdzz71hnb444l",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/servers/mautrix-facebook/default.nix b/pkgs/servers/mautrix-facebook/default.nix
index 08d7f1046c721..4c332b0865a47 100644
--- a/pkgs/servers/mautrix-facebook/default.nix
+++ b/pkgs/servers/mautrix-facebook/default.nix
@@ -1,5 +1,6 @@
 { enableSystemd ? stdenv.isLinux
 , fetchFromGitHub
+, fetchpatch
 , lib
 , python3
 , stdenv
@@ -7,13 +8,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-facebook";
-  version = "0.4.0";
+  version = "unstable-2022-05-06";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "facebook";
-    rev = "v${version}";
-    hash = "sha256-Yc8W8A11dnXrJdLtu/rJHTVlu2pEawXn5xuT8Ez+h9U=";
+    rev = "5e2c4e7f5a38e3c5d984d690c0ebee9b6bb4768c";
+    hash = "sha256-ukFtVRrmaJVVwgp5siwEwbfq6Yq5rmu3XJA5H2n/eJU=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -26,7 +27,7 @@ python3.pkgs.buildPythonPackage rec {
     prometheus-client
     pycryptodome
     python-olm
-    python_magic
+    python-magic
     ruamel-yaml
     unpaddedbase64
     yarl
diff --git a/pkgs/servers/mautrix-signal/default.nix b/pkgs/servers/mautrix-signal/default.nix
index 8c5310f6801ba..5d7550fe3cd67 100644
--- a/pkgs/servers/mautrix-signal/default.nix
+++ b/pkgs/servers/mautrix-signal/default.nix
@@ -22,7 +22,7 @@ python3.pkgs.buildPythonPackage rec {
     prometheus-client
     pycryptodome
     python-olm
-    python_magic
+    python-magic
     qrcode
     ruamel-yaml
     unpaddedbase64
diff --git a/pkgs/servers/mautrix-telegram/default.nix b/pkgs/servers/mautrix-telegram/default.nix
index bb52507dbaa7d..2d0ab908cb847 100644
--- a/pkgs/servers/mautrix-telegram/default.nix
+++ b/pkgs/servers/mautrix-telegram/default.nix
@@ -44,7 +44,7 @@ in python.pkgs.buildPythonPackage rec {
     sqlalchemy
     CommonMark
     ruamel-yaml
-    python_magic
+    python-magic
     tulir-telethon
     telethon-session-sqlalchemy
     pillow
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index afa537bddd46c..3349f0cf3a028 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2022-03-22T02-05-10Z";
+  version = "2022-05-08T23-50-31Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-N0ua+XHkLr33PElSdOzVQF3POPU+lx4/M6LJzxtkisI=";
+    sha256 = "sha256-Ssuqk/ax6MWdXtbJqWeTTtsIiTK4FmYSR5rOqxh+IaU=";
   };
 
-  vendorSha256 = "sha256-Ql3J2r489Hzhy6E9uZwQXJIw/njb5oafCYjOyWGzbXs=";
+  vendorSha256 = "sha256-JoI3B3rDzlY0lDHF3rjrzv8/Rq+XCFRs35bWVZqfAKA=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/navidrome/default.nix b/pkgs/servers/misc/navidrome/default.nix
index 17e648e59ab14..ea1cae99dd99f 100644
--- a/pkgs/servers/misc/navidrome/default.nix
+++ b/pkgs/servers/misc/navidrome/default.nix
@@ -32,9 +32,9 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
-  postFixup = ''
+  postFixup = optionalString ffmpegSupport ''
     wrapProgram $out/bin/navidrome \
-      --prefix PATH : ${makeBinPath (optional ffmpegSupport ffmpeg)}
+      --prefix PATH : ${makeBinPath [ ffmpeg ]}
   '';
 
   passthru.tests.navidrome = nixosTests.navidrome;
diff --git a/pkgs/servers/misc/virtiofsd/default.nix b/pkgs/servers/misc/virtiofsd/default.nix
index d8ae7ca61d932..0c60281b0d76c 100644
--- a/pkgs/servers/misc/virtiofsd/default.nix
+++ b/pkgs/servers/misc/virtiofsd/default.nix
@@ -1,17 +1,21 @@
-{ lib, rustPlatform, fetchFromGitLab, libcap_ng, libseccomp }:
+{ lib, stdenv, rustPlatform, fetchFromGitLab, libcap_ng, libseccomp }:
 
 rustPlatform.buildRustPackage rec {
   pname = "virtiofsd";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitLab {
     owner = "virtio-fs";
     repo = "virtiofsd";
     rev = "v${version}";
-    sha256 = "sha256-WB0zu2M/5enBOoOUUSXnNAkbsA+JzDgtoLncE1YcDLs=";
+    sha256 = "161z88nx2x2j4q8fbxryv7v63f9aw7wpvl6vg6x4xzllnrw6p607";
   };
 
-  cargoSha256 = "sha256-uRPmZE/xc0yeurBZ4rnrZua5d4lbPwStMUacFgbquuk=";
+  cargoSha256 = "0ma3kaaa4bl11015gxijwzyxhixz947k8byaypmmw0dj9m1vhv77";
+
+  LIBCAPNG_LIB_PATH = "${lib.getLib libcap_ng}/lib";
+  LIBCAPNG_LINK_TYPE =
+    if stdenv.hostPlatform.isStatic then "static" else "dylib";
 
   buildInputs = [ libcap_ng libseccomp ];
 
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 652f203460bca..c8cde641723fa 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,8 +1,8 @@
-{ lib, buildGoModule, fetchurl, fetchFromGitHub, nixosTests, tzdata, wire }:
+{ lib, buildGoModule, fetchurl, fetchFromGitHub, nixosTests, tzdata, wire, fetchpatch }:
 
 buildGoModule rec {
   pname = "grafana";
-  version = "8.5.1";
+  version = "8.5.2";
 
   excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ];
 
@@ -10,14 +10,22 @@ buildGoModule rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-GwvJA+lcbUuVbzniDW6gYbxQO5uXSP6rjzgmcJ5YYxk=";
+    sha256 = "sha256-9m6fu+wwmKpw/ehAIfgLe5YzOqTP3BC6/9mUgLL9XS0=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "030zl5k8b4hcay06a2lvlmq8swbix88ii4gz9yd4kywcjy5vhnyf";
+    sha256 = "1gq0wyqpgc7crbz8cd4dnwixhx7chnmbl2di4zcqs26g8y30q7rj";
   };
 
+  patches = [
+    # skip a flaky test, remove on the next update
+    (fetchpatch {
+      url = "https://github.com/grafana/grafana/commit/9e3a01a1bea3f4d5d99e53d55128d79160610349.patch";
+      sha256 = "sha256-rzZxNLn074JBb4DW3QC1zWNGe1uLGIlXvnjh60e8B3Q=";
+    })
+  ];
+
   vendorSha256 = "sha256-ZL+A6Sz0uHg7ZzYHmA4EU5ZxfRXBLyKglk135iQT600=";
 
   nativeBuildInputs = [ wire ];
diff --git a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
index e93db302552fe..fd0234e7e163d 100644
--- a/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/aws-s3-exporter.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-s3-exporter";
-  version = "0.4.1";
-
-  goPackagePath = "github.com/ribbybibby/s3_exporter";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ribbybibby";
     repo = "s3_exporter";
     rev = "v${version}";
-    sha256 = "01g4k5wrbc2ggxkn4yqd2v0amw8yl5dbcfwi4jm3kqkihrf0rbiq";
+    sha256 = "sha256-dYkMCCAIlFDFOFUNJd4NvtAeJDTsHeJoH90b5pSGlQE=";
   };
 
-  doCheck = true;
+  vendorSha256 = null;
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Exports Prometheus metrics about S3 buckets and objects";
diff --git a/pkgs/servers/monitoring/prometheus/consul-exporter.nix b/pkgs/servers/monitoring/prometheus/consul-exporter.nix
index c3cc7eff90aa3..b9475c97c1a62 100644
--- a/pkgs/servers/monitoring/prometheus/consul-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/consul-exporter.nix
@@ -1,18 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "consul_exporter";
-  version = "0.7.1";
-
-  goPackagePath = "github.com/prometheus/consul_exporter";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "prometheus";
     repo = "consul_exporter";
     rev = "v${version}";
-    sha256 = "16ibafcbpiplsh1awcvblzzf2cbr4baf8wiwpdpibgmcwwf9m5ya";
+    sha256 = "sha256-5odAKMWK2tDZ3a+bIVIdPgzxrW64hF8nNqItGO7sODI=";
   };
 
+  vendorSha256 = "sha256-vbaiHeQRo9hsHa/10f4202xLe9mduELRJMCDFuyKlW0=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Prometheus exporter for Consul metrics";
     homepage = "https://github.com/prometheus/consul_exporter";
diff --git a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
index 6af1dbffbc884..f4c64d225e90e 100644
--- a/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/haproxy-exporter.nix
@@ -1,18 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "haproxy_exporter";
-  version = "0.12.0";
-
-  goPackagePath = "github.com/prometheus/haproxy_exporter";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "prometheus";
     repo = "haproxy_exporter";
-    sha256 = "09aqm2zqimn6w10p1nhnpjcigm299b31xfrq8ma0d7z4v9p2y9dn";
+    rev = "v${version}";
+    sha256 = "sha256-F0yYUIKTIGyhzL0QwmioQYnWBb0GeFOhBwL3IqDKoQA=";
   };
 
+  vendorSha256 = "sha256-iJ2doxsLqTitsKJg3PUFLzEtLlP5QckSdFZkXX3ALIE=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "HAProxy Exporter for the Prometheus monitoring system";
     homepage = "https://github.com/prometheus/haproxy_exporter";
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix
index 6d63c6b1d668f..904b2182dbe68 100644
--- a/pkgs/servers/monitoring/prometheus/json-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix
@@ -20,5 +20,6 @@ buildGoModule rec {
     homepage = "https://github.com/prometheus-community/json_exporter";
     license = licenses.asl20;
     maintainers = with maintainers; [ willibutz ];
+    mainProgram = "json_exporter";
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
index 386e49594d248..748e135b63439 100644
--- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
@@ -20,6 +20,7 @@ buildGoModule rec {
     homepage = "https://github.com/xperimental/nextcloud-exporter";
     license = licenses.mit;
     maintainers = with maintainers; [ willibutz ];
+    mainProgram = "nextcloud-exporter";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/openldap-exporter.nix b/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
index c04a3df2e909d..20447d1c315f9 100644
--- a/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/openldap-exporter.nix
@@ -1,27 +1,29 @@
-{ buildGoPackage, lib, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "openldap_exporter";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "tomcz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+lrLA9CbGNzvvbwn79ili/kFRCr6vMKDtkvyfnL9n9k=";
+    sha256 = "sha256-ok2fTYz1oQiNdTPsssPb/VuFqny1i8nKTngSpKgCpC4=";
   };
 
+  vendorSha256 = null;
+
   ldflags = [
-    "-s" "-w"
+    "-s"
+    "-w"
     "-X github.com/tomcz/openldap_exporter.tag=v${version}"
     "-X github.com/tomcz/openldap_exporter.commit=unknown"
   ];
 
-  goPackagePath = "github.com/tomcz/openldap_exporter";
 
   meta = with lib; {
     homepage = "https://github.com/tomcz/openldap_exporter";
-    description = " Simple service that scrapes metrics from OpenLDAP and exports them via HTTP for Prometheus consumption";
+    description = "Simple service that scrapes metrics from OpenLDAP and exports them via HTTP for Prometheus consumption";
     license = licenses.mit;
     maintainers = with maintainers; [ ma27 ];
   };
diff --git a/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix b/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
index 97593cecca896..e38466df6e63f 100644
--- a/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
+++ b/pkgs/servers/monitoring/prometheus/xmpp-alerts.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "prometheus-xmpp-alerts";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "jelmer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qmmmlcanbrhyyxi32gy3gibgvj7jdjwpa8cf5ci9czvbyxg4rld";
+    sha256 = "sha256-gb7lFRqqw4w/B+Sw0iteDkuGsPfw/ZZ+sRMTu5vxIUo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
deleted file mode 100644
index 8585df3349ccb..0000000000000
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-# Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
-{ fetchbower, buildEnv }:
-buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "1.7.0" "1.7.0" "1qn09j3a1ngqn36rhz7a2dj00szr0r6fjb40lfbmq3drkzppgbm1")
-  (fetchbower "angular" "1.6.10" "~1.6.3" "0ag8xddsgxx5yka4wjq4ala4y6z3x2g1vc3x7a1n291fzz26p7ws")
-  (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
-  (fetchbower "angular-cookies" "1.6.10" "~1.6.3" "0bjgmz5jnw06dfxhq9sajj62fk0b3v4j9p7nb45x8bl8rzkf25pn")
-  (fetchbower "angular-gravatar" "0.4.2" "~0.4.2" "14jrzvjwx64awh9z95054manp8qd57fvinqhmakipz5x12i7qrwi")
-  (fetchbower "angular-moment" "1.0.1" "~1.0.1" "0zkn52s9l15d6b5zfx52g5jpib23rpb637m0p1hzc429w5bbl0rj")
-  (fetchbower "angular-resource" "1.6.10" "~1.6.3" "1gplq8kd49qakk7ardg5xr5amwvspaz9n71kf8x49xfllda61rm0")
-  (fetchbower "angular-route" "1.6.10" "~1.6.3" "0vwbn7i45yvsn8c469nj141ahrn7iw85j7hy3vvhh2r373j94mai")
-  (fetchbower "angular-sanitize" "1.6.10" "~1.6.3" "066gsdl19s27w00wafg2skf5abdsdrlzhkcagkk1ma39dyqyl4i3")
-  (fetchbower "angular-toastr" "1.6.0" "1.6.0" "1szigf1m28bgpfyg8hbm5rffr5zi7wr9n73nc1fqhk0yqh7gzysh")
-  (fetchbower "angular-tools/ng-jsoneditor" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "ea138469f157d8f2b54ec5b8dcf4b08a55b61459" "1j3vysr01niabc9fxcpixhcq1lyx2fr4q4wpmxhmiqki431h9hq8")
-  (fetchbower "angular-ua-parser" "0.0.2" "0.0.2" "0gb0vmwksnydlm6hklfq1n4ak2967wcmnx3cx9cgiv7v7vk3w2m9")
-  (fetchbower "bootstrap" "3.1.1" "3.1.1" "1a06mx1rw5h4wq89kqpa8g2pbiddm3p21dxq50jyi29sywd01ny4")
-  (fetchbower "bootstrap-sass-official" "3.1.1" "3.1.1" "1k6hhvsd75hdfrz8qcjzmb12c17fdn0h3l3l5k9wgd0rfhhfkyvd")
-  (fetchbower "fontawesome" "4.4.0" "~4.4.0" "09mrbik8i3skjwchn7ns2020bqmb51kbd3mqi59vh444s4az2sc7")
-  (fetchbower "highlightjs" "9.1.0" "~9.1.0" "0ld1da3h416a5j8v3v50rrpm4xwvvq8k8y2vwncvaqm9cqddz4s3")
-  (fetchbower "moment" "2.16.0" "~2.16.0" "1mji892i60f2aw3vhl6878acrcgh0ycn3r4af0ivnjf8az2b9n71")
-  (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb")
-  (fetchbower "ua-parser-js" "0.7.20" "~0.7.12" "18r0islba6cwkvx4s2gna7skhsn2vqjcf1xyap5pcmycjnq93j8s")
-  (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x")
-  (fetchbower "jquery" "3.4.1" ">= 1.9.0" "1vk25pbc55m2c82mqf26rfhxhnliq18isi4vbm4p98a1b9vp8fq7")
-]; }
diff --git a/pkgs/servers/monitoring/uchiwa/default.nix b/pkgs/servers/monitoring/uchiwa/default.nix
deleted file mode 100644
index a871bf87db2d4..0000000000000
--- a/pkgs/servers/monitoring/uchiwa/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, buildBowerComponents, buildGoPackage, makeWrapper }:
-
-let
-  inherit (import ./src.nix) version sha256;
-  owner = "sensu";
-  repo = "uchiwa";
-
-  src = fetchFromGitHub {
-    inherit owner repo sha256;
-    rev    = version;
-  };
-
-  backend = buildGoPackage {
-    pname = "uchiwa-backend";
-    inherit version;
-    goPackagePath = "github.com/${owner}/${repo}";
-    inherit src;
-    postInstall = ''
-      mkdir -p $out
-      cp go/src/github.com/sensu/uchiwa/public/index.html $out/
-    '';
-  };
-
-  frontend = buildBowerComponents {
-    name = "uchiwa-frontend-${version}";
-    generated = ./bower-packages.nix;
-    inherit src;
-  };
-
-in stdenv.mkDerivation {
-  pname = "uchiwa";
-  inherit version;
-
-  inherit src;
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  buildCommand = ''
-    mkdir -p $out/bin $out/public
-    makeWrapper ${backend}/bin/uchiwa $out/bin/uchiwa \
-      --add-flags "-p $out/public"
-    ln -s ${backend.out}/index.html $out/public/index.html
-    ln -s ${frontend.out}/bower_components $out/public/bower_components
-  '';
-
-  meta = with lib; {
-    description = "A Dashboard for the sensu monitoring framework";
-    homepage    = "http://sensuapp.org/";
-    license     = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms   = platforms.unix;
-  };
-}
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
deleted file mode 100644
index 36e46ea083ef1..0000000000000
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-    version = "1.7.0-1";
-    sha256  = "0fa3zzh6d8v1lfn828s0x65pcknycwyv0d1mndi0gvdfbfg463nf";
-}
diff --git a/pkgs/servers/monitoring/uchiwa/update.sh b/pkgs/servers/monitoring/uchiwa/update.sh
deleted file mode 100755
index 10da7f8adbf93..0000000000000
--- a/pkgs/servers/monitoring/uchiwa/update.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl.bin git.out nix jq.out nodePackages.bower2nix
-
-set -euo pipefail
-IFS=$'\n\t'
-
-# set -x
-
-REPO=sensu/uchiwa
-VERSION=0.0.1
-SHA="1111111111111111111111111111111111111111111111111111"
-DIR=$(pwd)
-
-write_src() {
-  cat <<_EOF > $DIR/src.nix
-{
-    version = "${VERSION}";
-    sha256  = "${SHA}";
-}
-_EOF
-}
-
-LATEST_VERSION=$(curl https://api.github.com/repos/${REPO}/tags -s | jq '.[0]' -r | jq .name -r)
-echo "Latest version: ${LATEST_VERSION}"
-
-VERSION=${1:-${LATEST_VERSION}}
-echo "Updating to: ${VERSION}"
-
-TOP=$(git rev-parse --show-toplevel)
-
-cd $(dirname $0)
-
-write_src
-pushd $TOP >/dev/null
-SHA=$(nix-prefetch-url -A uchiwa.src)
-popd >/dev/null
-write_src
-
-curl https://raw.githubusercontent.com/${REPO}/${VERSION}/bower.json -s > bower.json
-rm -f bower-packages.nix
-bower2nix bower.json $DIR/bower-packages.nix
-rm -f bower.json
diff --git a/pkgs/servers/nosql/victoriametrics/default.nix b/pkgs/servers/nosql/victoriametrics/default.nix
index 4ef8fe9575f21..8e676b5022ae6 100644
--- a/pkgs/servers/nosql/victoriametrics/default.nix
+++ b/pkgs/servers/nosql/victoriametrics/default.nix
@@ -2,17 +2,25 @@
 
 buildGoModule rec {
   pname = "VictoriaMetrics";
-  version = "1.59.0";
+  version = "1.77.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2i9rmk9aAnjTJY+w/NKJOaLX+tpkt3vG07iLCsSGzdU=";
+    sha256 = "sha256-Ike3yO93q/bna/cnHv1sg+gR7iS9cVmNzLViBsfFdVs=";
   };
 
   vendorSha256 = null;
 
+  postPatch = ''
+    # main module (github.com/VictoriaMetrics/VictoriaMetrics) does not contain package
+    # github.com/VictoriaMetrics/VictoriaMetrics/app/vmui/packages/vmui/web
+    #
+    # This appears to be some of test server for development purposes only.
+    rm -f app/vmui/packages/vmui/web/{go.mod,main.go}
+  '';
+
   ldflags = [ "-s" "-w" "-X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=${version}" ];
 
   passthru.tests = { inherit (nixosTests) victoriametrics; };
@@ -21,7 +29,7 @@ buildGoModule rec {
     homepage = "https://victoriametrics.com/";
     description = "fast, cost-effective and scalable time series database, long-term remote storage for Prometheus";
     license = licenses.asl20;
-    maintainers = [ maintainers.yorickvp ];
+    maintainers = with maintainers; [ yorickvp ivan ];
     changelog = "https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v${version}";
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/servers/ombi/default.nix b/pkgs/servers/ombi/default.nix
index e0eac1b8c04cf..7215571b3aec6 100644
--- a/pkgs/servers/ombi/default.nix
+++ b/pkgs/servers/ombi/default.nix
@@ -10,14 +10,14 @@ let
     "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-O/dfLZst7RFnqDZj8UX6ejL2EBjGnCBY3e8JB3peRgY=";
-    arm64-linux_hash = "sha256-DkCOK1A7L1gMqY/XPIJFFz7qvUvxA6aJa24Hrh3dT/U=";
-    x64-osx_hash = "sha256-4N0/FTVhxUooauhh+7u527aViSBILiCb+a4cI17QTAg=";
+    x64-linux_hash = "sha256-8Y6I6vitkgIV6WMXF1YXzgRfhJd/O6hcdpC9yZLpDA4=";
+    arm64-linux_hash = "sha256-OXbJbwjNDd3GNL4bvuZLwNOjfAp8YBnJiylid0w8kLI=";
+    x64-osx_hash = "sha256-BoYqplC8ahMhpgntZVozyPCp08YqmiZ3ED7TgKlXPXc=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "ombi";
-  version = "4.10.2";
+  version = "4.16.12";
 
   sourceRoot = ".";
 
diff --git a/pkgs/servers/pinnwand/steck.nix b/pkgs/servers/pinnwand/steck.nix
index 52efdc148abb4..de6f28f30907c 100644
--- a/pkgs/servers/pinnwand/steck.nix
+++ b/pkgs/servers/pinnwand/steck.nix
@@ -22,7 +22,7 @@ python3Packages.buildPythonApplication rec {
     pkgs.git
     appdirs
     click
-    python_magic
+    python-magic
     requests
     termcolor
     toml
diff --git a/pkgs/servers/pleroma/default.nix b/pkgs/servers/pleroma/default.nix
index dd4025a76c09e..99dd29db14719 100644
--- a/pkgs/servers/pleroma/default.nix
+++ b/pkgs/servers/pleroma/default.nix
@@ -1,51 +1,22 @@
 { lib, beamPackages
 , fetchFromGitHub, fetchFromGitLab
-, file, cmake, bash
+, file, cmake
 , nixosTests, writeText
-, cookieFile ? null
 , ...
 }:
 
 beamPackages.mixRelease rec {
   pname = "pleroma";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchFromGitLab {
     domain = "git.pleroma.social";
     owner = "pleroma";
     repo = "pleroma";
     rev = "v${version}";
-    sha256 = "sha256-RcqqNNNCR4cxETUCyjChkpq+cQ1QzNOHHzdqBLtOc6g=";
+    sha256 = "sha256-x8j/2Eot/EEHsedgZntB5MPxlYMNDlFyZtmiMdhcS7U=";
   };
 
-  preFixup = if (cookieFile != null) then ''
-    # There's no way to use a subprocess to cat the content of the
-    # file cookie using wrapProgram: it gets escaped (by design) with
-    # a pair of backticks :(
-    # We have to come up with our own custom wrapper to do this.
-    function wrapWithCookie () {
-        local hidden
-        hidden="$(dirname "$1")/.$(basename "$1")"-wrapped
-        while [ -e "$hidden" ]; do
-            hidden="''${hidden}_"
-        done
-        mv "$1" "''${hidden}"
-
-        cat > "$1" << EOF
-    #!${bash}/bin/bash
-    export RELEASE_COOKIE="\$(cat "${cookieFile}")"
-    exec -a "\$0" "''${hidden}" "\$@"
-    EOF
-        chmod +x "$1"
-    }
-
-    for f in "$out"/bin/*; do
-        if [[ -x "$f" ]]; then
-            wrapWithCookie "$f"
-        fi
-    done
-  '' else "";
-
   mixNixDeps = import ./mix.nix {
     inherit beamPackages lib;
     overrides = (final: prev: {
diff --git a/pkgs/servers/pleroma/mix.nix b/pkgs/servers/pleroma/mix.nix
index 31ab20c294092..9c512889531cc 100644
--- a/pkgs/servers/pleroma/mix.nix
+++ b/pkgs/servers/pleroma/mix.nix
@@ -1375,12 +1375,12 @@ let
 
     sweet_xml = buildMix rec {
       name = "sweet_xml";
-      version = "0.6.6";
+      version = "0.7.2";
 
       src = fetchHex {
         pkg = "${name}";
         version = "${version}";
-        sha256 = "0wrm3wx1c4wg8xj8lx1pg9xdpxhsbbry71l3kwgsizwjz1cc87if";
+        sha256 = "sha256-aJTmihIPRUU02ZBF6jMl93QOpxJgvDFfguKXMdVwpug=";
       };
 
       beamDeps = [];
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index d05056b604e28..fec77cfcc36c7 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper, icu, dotnetCorePackages, openssl, nixosTests }:
+{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper, icu, dotnet-runtime, openssl, nixosTests, zlib }:
 
 let
   os =
@@ -38,10 +38,10 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/{bin,share/${pname}-${version}}
     cp -r * $out/share/${pname}-${version}/.
 
-    makeWrapper "${dotnetCorePackages.runtime_3_1}/bin/dotnet" $out/bin/Prowlarr \
+    makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Prowlarr \
       --add-flags "$out/share/${pname}-${version}/Prowlarr.dll" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
-        curl sqlite libmediainfo mono openssl icu ]}
+        curl sqlite libmediainfo mono openssl icu zlib ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/servers/pufferpanel/default.nix b/pkgs/servers/pufferpanel/default.nix
index 1f0395d2fb2fe..d89a859b89884 100644
--- a/pkgs/servers/pufferpanel/default.nix
+++ b/pkgs/servers/pufferpanel/default.nix
@@ -47,7 +47,7 @@ buildGoModule rec {
       --set PUFFER_PANEL_EMAIL_TEMPLATES $out/share/pufferpanel/templates/emails.json \
       --set GIN_MODE release \
       --set PUFFER_PANEL_WEB_FILES $out/share/pufferpanel/www \
-      --prefix PATH : ${lib.makeBinPath pathDeps}
+      --prefix PATH : ${lib.escapeShellArg (lib.makeBinPath pathDeps)}
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch b/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch
new file mode 100644
index 0000000000000..c087dcd7e7d18
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch
@@ -0,0 +1,26 @@
+From 72f3fe059f031f24c5ad026cb2fc16318f227c09 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 16:29:58 +0900
+Subject: [PATCH 1/8] Make gio-2.0 optional when gsettings is disabled
+
+Derived from https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index d7e468cab..f7adf1413 100644
+--- a/meson.build
++++ b/meson.build
+@@ -614,7 +614,7 @@ if dbus_dep.found()
+   cdata.set('HAVE_DBUS', 1)
+ endif
+ 
+-gio_dep = dependency('gio-2.0', version : '>= 2.26.0')
++gio_dep = dependency('gio-2.0', version : '>= 2.26.0', required : false)
+ if get_option('gsettings').enabled()
+   assert(gio_dep.found(), 'GSettings support needs glib I/O library (GIO)')
+   cdata.set('HAVE_GSETTINGS', 1)
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-macOS.patch b/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-macOS.patch
new file mode 100644
index 0000000000000..9196e205dc0cf
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0002-Ignore-SCM_CREDS-on-macOS.patch
@@ -0,0 +1,27 @@
+From 39bef695f783614e6175477417298ddf37e2ac13 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 16:58:43 +0900
+Subject: [PATCH 2/8] Ignore SCM_CREDS on macOS
+
+It was added for FreeBSD support, but also enables the
+unsupported[citation needed] feature on macOS.
+---
+ src/pulsecore/creds.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pulsecore/creds.h b/src/pulsecore/creds.h
+index b599b569c..b5b1c9f37 100644
+--- a/src/pulsecore/creds.h
++++ b/src/pulsecore/creds.h
+@@ -34,7 +34,7 @@
+ typedef struct pa_creds pa_creds;
+ typedef struct pa_cmsg_ancil_data pa_cmsg_ancil_data;
+ 
+-#if defined(SCM_CREDENTIALS) || defined(SCM_CREDS)
++#if defined(SCM_CREDENTIALS) || (defined(SCM_CREDS) && !defined(__APPLE__))
+ 
+ #define HAVE_CREDS 1
+ 
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0003-Disable-z-nodelete-on-darwin.patch b/pkgs/servers/pulseaudio/0003-Disable-z-nodelete-on-darwin.patch
new file mode 100644
index 0000000000000..81b3ab9273332
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0003-Disable-z-nodelete-on-darwin.patch
@@ -0,0 +1,26 @@
+From 3f1abb55f4eb985fd0715b2b2ca45dcce3a56824 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:06:50 +0900
+Subject: [PATCH 3/8] Disable `-z nodelete` on darwin
+
+Not supported[citation needed].
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index f7adf1413..d4bece11a 100644
+--- a/meson.build
++++ b/meson.build
+@@ -404,7 +404,7 @@ cdata.set('MESON_BUILD', 1)
+ # so we request the nodelete flag to be enabled.
+ # On other systems, we don't really know how to do that, but it's welcome if somebody can tell.
+ # Windows doesn't support this flag.
+-if host_machine.system() != 'windows'
++if host_machine.system() != 'windows' and host_machine.system() != 'darwin'
+   nodelete_link_args = ['-Wl,-z,nodelete']
+ else
+   nodelete_link_args = []
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0004-Prefer-clock_gettime.patch b/pkgs/servers/pulseaudio/0004-Prefer-clock_gettime.patch
new file mode 100644
index 0000000000000..eb7bd1c627087
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0004-Prefer-clock_gettime.patch
@@ -0,0 +1,57 @@
+From 0bd3b613ac3bf16a73b3223fa1b961da3a0db1b2 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:12:52 +0900
+Subject: [PATCH 4/8] Prefer clock_gettime
+
+Available in darwin since 10.12 (released in 2016).
+---
+ src/pulsecore/core-rtclock.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/src/pulsecore/core-rtclock.c b/src/pulsecore/core-rtclock.c
+index 2c2e28631..a08d4b391 100644
+--- a/src/pulsecore/core-rtclock.c
++++ b/src/pulsecore/core-rtclock.c
+@@ -65,19 +65,7 @@ pa_usec_t pa_rtclock_age(const struct timeval *tv) {
+ 
+ struct timeval *pa_rtclock_get(struct timeval *tv) {
+ 
+-#if defined(OS_IS_DARWIN)
+-    uint64_t val, abs_time = mach_absolute_time();
+-    Nanoseconds nanos;
+-
+-    nanos = AbsoluteToNanoseconds(*(AbsoluteTime *) &abs_time);
+-    val = *(uint64_t *) &nanos;
+-
+-    tv->tv_sec = val / PA_NSEC_PER_SEC;
+-    tv->tv_usec = (val % PA_NSEC_PER_SEC) / PA_NSEC_PER_USEC;
+-
+-    return tv;
+-
+-#elif defined(HAVE_CLOCK_GETTIME)
++#if defined(HAVE_CLOCK_GETTIME)
+     struct timespec ts;
+ 
+ #ifdef CLOCK_MONOTONIC
+@@ -109,6 +97,18 @@ struct timeval *pa_rtclock_get(struct timeval *tv) {
+ 
+         return tv;
+     }
++#elif defined(OS_IS_DARWIN)
++    uint64_t val, abs_time = mach_absolute_time();
++    Nanoseconds nanos;
++
++    nanos = AbsoluteToNanoseconds(*(AbsoluteTime *) &abs_time);
++    val = *(uint64_t *) &nanos;
++
++    tv->tv_sec = val / PA_NSEC_PER_SEC;
++    tv->tv_usec = (val % PA_NSEC_PER_SEC) / PA_NSEC_PER_USEC;
++
++    return tv;
++
+ #endif /* HAVE_CLOCK_GETTIME */
+ 
+     return pa_gettimeofday(tv);
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0005-Include-poll-posix.c-on-darwin.patch b/pkgs/servers/pulseaudio/0005-Include-poll-posix.c-on-darwin.patch
new file mode 100644
index 0000000000000..4779fce2afd65
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0005-Include-poll-posix.c-on-darwin.patch
@@ -0,0 +1,24 @@
+From 8dee473920d3a331b73a415b37e7e0b01f014110 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:22:23 +0900
+Subject: [PATCH 5/8] Include poll-posix.c on darwin
+
+---
+ src/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/meson.build b/src/meson.build
+index e2860811b..5bd68cb12 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -182,6 +182,7 @@ if host_machine.system() == 'windows'
+ else
+   libpulsecommon_sources += [
+     'pulsecore/mutex-posix.c',
++    'pulsecore/poll-posix.c',
+     'pulsecore/semaphore-posix.c',
+     'pulsecore/thread-posix.c'
+   ]
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0006-Only-use-version-script-on-GNU-ish-linkers.patch b/pkgs/servers/pulseaudio/0006-Only-use-version-script-on-GNU-ish-linkers.patch
new file mode 100644
index 0000000000000..8b27b3e5ab778
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0006-Only-use-version-script-on-GNU-ish-linkers.patch
@@ -0,0 +1,29 @@
+From 419258112b9d90d149ebbd5c657a36d8532b78a2 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:31:36 +0900
+Subject: [PATCH 6/8] Only use version-script on GNU-ish linkers
+
+---
+ src/pulse/meson.build | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/pulse/meson.build b/src/pulse/meson.build
+index c2128e087..a5e47867e 100644
+--- a/src/pulse/meson.build
++++ b/src/pulse/meson.build
+@@ -74,7 +74,11 @@ run_target('update-map-file',
+   command : [ join_paths(meson.source_root(), 'scripts/generate-map-file.sh'), 'map-file',
+               [ libpulse_headers, 'simple.h', join_paths(meson.build_root(), 'src', 'pulse', 'version.h') ] ])
+ 
+-versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
++if meson.get_compiler('c').get_linker_id().startswith('ld.')
++  versioning_link_args = '-Wl,-version-script=' + join_paths(meson.source_root(), 'src', 'pulse', 'map-file')
++else
++  versioning_link_args = []
++endif
+ 
+ libpulse = shared_library('pulse',
+   libpulse_sources,
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0007-Adapt-undefined-link-args-per-linker.patch b/pkgs/servers/pulseaudio/0007-Adapt-undefined-link-args-per-linker.patch
new file mode 100644
index 0000000000000..6893df8a7e298
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0007-Adapt-undefined-link-args-per-linker.patch
@@ -0,0 +1,44 @@
+From 6f132be835d5acb5db4301ea1818601504e47fae Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:41:34 +0900
+Subject: [PATCH 7/8] Adapt undefined link args per linker
+
+TODO: Why is this required? Isn't it default?
+---
+ src/modules/meson.build | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/modules/meson.build b/src/modules/meson.build
+index be72c3b9b..0163b583f 100644
+--- a/src/modules/meson.build
++++ b/src/modules/meson.build
+@@ -293,6 +293,17 @@ all_modules += [
+ # FIXME: meson doesn't support multiple RPATH arguments currently
+ rpath_dirs = join_paths(privlibdir) + ':' + join_paths(modlibexecdir)
+ 
++if meson.get_compiler('c').get_linker_id().startswith('ld.')
++  no_undefined_link_args = [ '-Wl,--no-undefined' ]
++elif meson.get_compiler('c').get_linker_id() == 'ld64'
++  # TODO: is this required? is this not default?
++  no_undefined_link_args = [ '-Wl,-undefined,error' ]
++else
++  # TODO: what platforms is this? what flag do they use?
++  no_undefined_link_args = []
++endif
++
++
+ foreach m : all_modules
+   name = m[0]
+   sources = m[1]
+@@ -310,7 +321,7 @@ foreach m : all_modules
+     install_rpath : rpath_dirs,
+     install_dir : modlibexecdir,
+     dependencies : [thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, platform_dep, platform_socket_dep] + extra_deps,
+-    link_args : [nodelete_link_args, '-Wl,--no-undefined' ],
++    link_args : [nodelete_link_args, no_undefined_link_args ],
+     link_with : extra_libs,
+     name_prefix : '',
+     implicit_include_directories : false)
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/0008-Use-correct-semaphore-on-darwin.patch b/pkgs/servers/pulseaudio/0008-Use-correct-semaphore-on-darwin.patch
new file mode 100644
index 0000000000000..274534665628a
--- /dev/null
+++ b/pkgs/servers/pulseaudio/0008-Use-correct-semaphore-on-darwin.patch
@@ -0,0 +1,31 @@
+From 1a840b6e517004c902dfbea3d358b344c9588978 Mon Sep 17 00:00:00 2001
+From: Andrew Childs <andrew.childs@bibo.com.ph>
+Date: Tue, 19 Apr 2022 17:49:08 +0900
+Subject: [PATCH 8/8] Use correct semaphore on darwin
+
+---
+ src/meson.build | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/meson.build b/src/meson.build
+index 5bd68cb12..041e2fab4 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -183,9 +183,13 @@ else
+   libpulsecommon_sources += [
+     'pulsecore/mutex-posix.c',
+     'pulsecore/poll-posix.c',
+-    'pulsecore/semaphore-posix.c',
+     'pulsecore/thread-posix.c'
+   ]
++  if host_machine.system() == 'darwin'
++    libpulsecommon_sources += [ 'pulsecore/semaphore-osx.c' ]
++  else
++    libpulsecommon_sources += [ 'pulsecore/semaphore-posix.c' ]
++  endif
+ endif
+ # FIXME: Do SIMD things
+ 
+-- 
+2.35.1
+
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 95a454850b647..deca94fca822d 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -5,7 +5,7 @@
 , sbc, bluez5, udev, openssl, fftwFloat
 , soxr, speexdsp, systemd, webrtc-audio-processing
 , gst_all_1
-, check, meson, ninja, m4, wrapGAppsHook
+, check, libintl, meson, ninja, m4, wrapGAppsHook
 
 , x11Support ? false
 
@@ -45,6 +45,18 @@ stdenv.mkDerivation rec {
     # Install sysconfdir files inside of the nix store,
     # but use a conventional runtime sysconfdir outside the store
     ./add-option-for-installation-sysconfdir.patch
+  ] ++ lib.optionals stdenv.isDarwin [
+    # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/654
+    ./0001-Make-gio-2.0-optional-when-gsettings-is-disabled.patch
+
+    # TODO (not sent upstream)
+    ./0002-Ignore-SCM_CREDS-on-macOS.patch
+    ./0003-Disable-z-nodelete-on-darwin.patch
+    ./0004-Prefer-clock_gettime.patch
+    ./0005-Include-poll-posix.c-on-darwin.patch
+    ./0006-Only-use-version-script-on-GNU-ish-linkers.patch
+    ./0007-Adapt-undefined-link-args-per-linker.patch
+    ./0008-Use-correct-semaphore-on-darwin.patch
   ];
 
   outputs = [ "out" "dev" ];
@@ -60,7 +72,7 @@ stdenv.mkDerivation rec {
   buildInputs =
     [ libtool libsndfile soxr speexdsp fftwFloat check ]
     ++ lib.optionals stdenv.isLinux [ glib dbus ]
-    ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices ]
+    ++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreServices libintl ]
     ++ lib.optionals (!libOnly) (
       [ libasyncns webrtc-audio-processing ]
       ++ lib.optional jackaudioSupport libjack2
@@ -86,7 +98,7 @@ stdenv.mkDerivation rec {
     "-Ddoxygen=false"
     "-Delogind=disabled"
     # gsettings does not support cross-compilation
-    "-Dgsettings=${if stdenv.buildPlatform == stdenv.hostPlatform then "enabled" else "disabled"}"
+    "-Dgsettings=${if stdenv.isLinux && (stdenv.buildPlatform == stdenv.hostPlatform) then "enabled" else "disabled"}"
     "-Dgstreamer=disabled"
     "-Dgtk=disabled"
     "-Djack=${if jackaudioSupport && !libOnly then "enabled" else "disabled"}"
@@ -105,16 +117,23 @@ stdenv.mkDerivation rec {
     "-Dsysconfdir_install=${placeholder "out"}/etc"
     "-Dudevrulesdir=${placeholder "out"}/lib/udev/rules.d"
   ]
-    ++ lib.optional (stdenv.isLinux && useSystemd) "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
-    ;
+  ++ lib.optional (stdenv.isLinux && useSystemd) "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
+  ++ lib.optionals (stdenv.isDarwin) [
+    "-Ddbus=disabled"
+    "-Dglib=disabled"
+    "-Doss-output=disabled"
+  ];
 
-  doCheck = true;
+  # tests fail on Darwin because of timeouts
+  doCheck = !stdenv.isDarwin;
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
   postInstall = lib.optionalString libOnly ''
-    rm -rf $out/{bin,share,etc,lib/{pulse-*,systemd}}
+    find $out/share -maxdepth 1 -mindepth 1 ! -name "vala" -prune -exec rm -r {} \;
+    find $out/share/vala -maxdepth 1 -mindepth 1 ! -name "vapi" -prune -exec rm -r {} \;
+    rm -r $out/{bin,etc,lib/pulse-*}
   ''
     + ''
     moveToOutput lib/cmake "$dev"
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index 75e20ecef0584..e6211b7a14774 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper, icu, dotnetCorePackages, openssl, nixosTests }:
+{ lib, stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper, icu, dotnet-runtime, openssl, nixosTests, zlib }:
 
 let
   os = if stdenv.isDarwin then "osx" else "linux";
@@ -31,10 +31,10 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/{bin,share/${pname}-${version}}
     cp -r * $out/share/${pname}-${version}/.
 
-    makeWrapper "${dotnetCorePackages.runtime_3_1}/bin/dotnet" $out/bin/Radarr \
+    makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Radarr \
       --add-flags "$out/share/${pname}-${version}/Radarr.dll" \
       --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
-        curl sqlite libmediainfo mono openssl icu ]}
+        curl sqlite libmediainfo mono openssl icu zlib ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix
index 9867922d85238..7171b4550fd1a 100644
--- a/pkgs/servers/radicale/3.x.nix
+++ b/pkgs/servers/radicale/3.x.nix
@@ -20,7 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     passlib
     vobject
     python-dateutil
-  ];
+  ] ++ passlib.extras-require.bcrypt;
 
   checkInputs = with python3.pkgs; [
     pytestCheckHook
diff --git a/pkgs/servers/redpanda/default.nix b/pkgs/servers/redpanda/default.nix
index 6b0704b04a598..c2060560c594b 100644
--- a/pkgs/servers/redpanda/default.nix
+++ b/pkgs/servers/redpanda/default.nix
@@ -4,13 +4,19 @@ let
   version = "21.11.15";
   platform = if stdenv.isLinux then "linux" else "darwin";
   arch = if stdenv.isAarch64 then "arm" else "amd";
+  sha256s = {
+    darwin.amd = "sha256-Yf4O7lVcf+nmb0wFTx7jLjUSmdAItoUfPlkhHveI9UY=";
+    darwin.arm = "sha256-vKfFBheDZtvcbg0zbj3rqUEQczZvySuGuM3RopnDJG8=";
+    linux.amd = "sha256:0vpxn7kcpqylk0nc74m6yxgwwf8ns8pyb6kxnmnmv2x58f8x4c8n";
+    linux.arm = "sha256-1AQSB2V5zGivU0UinTST2kOydQf/bmLbpjdW0Yo4ptE=";
+  };
 in stdenv.mkDerivation rec {
   pname = "redpanda";
   inherit version;
 
   src = fetchzip {
     url = "https://github.com/redpanda-data/redpanda/releases/download/v${version}/rpk-${platform}-${arch}64.zip";
-    sha256 = "sha256-Yf4O7lVcf+nmb0wFTx7jLjUSmdAItoUfPlkhHveI9UY=";
+    sha256 = sha256s.${platform}.${arch};
   };
 
   installPhase = ''
diff --git a/pkgs/servers/roon-server/default.nix b/pkgs/servers/roon-server/default.nix
index a9166985ead2a..9e8c0254fca92 100644
--- a/pkgs/servers/roon-server/default.nix
+++ b/pkgs/servers/roon-server/default.nix
@@ -16,7 +16,7 @@
 }:
 stdenv.mkDerivation rec {
   pname = "roon-server";
-  version = "1.8-933";
+  version = "1.8-935";
 
   src =
     let
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     in
     fetchurl {
       url = "http://download.roonlabs.com/builds/RoonServer_linuxx64_${urlVersion}.tar.bz2";
-      hash = "sha256-9vAp60hck1Zys0Yv4uibLp7GUAoPvkE9AxNp9DXsQfE=";
+      hash = "sha256-6I612imOCqxVlNu6zCXWS/Yy8bnot+0723t3Se4DjLg=";
     };
 
   dontConfigure = true;
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index fcab3a8e560ee..b944154631ed8 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sonarr";
-  version = "3.0.7.1477";
+  version = "3.0.8.1507";
 
   src = fetchurl {
     url = "https://download.sonarr.tv/v3/main/${version}/Sonarr.main.${version}.linux.tar.gz";
-    sha256 = "sha256-xB7kWWxx+ymBxyxBzwY7gZfw9kMHi2MSsrUp8GIOiws=";
+    sha256 = "sha256-O2UvU1juO54gb9LVnEuIXhT0Ux2rEIq2WdmsoWVDh1w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru = {
-    updateScript = "./update.sh";
+    updateScript = ./update.sh;
     tests.smoke-test = nixosTests.sonarr;
   };
 
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index dae538822385c..17e2294598eef 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.1.3";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hVbx1eUrVQ35UzcokoqYCi6RFI5Dn7t9XH8q9VbyDbQ=";
+    sha256 = "sha256-DYdZuHraecQZ33xHX6ugiUJVfFVAayD2spIQt2Qqa5U=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/t-rex/default.nix b/pkgs/servers/t-rex/default.nix
index 551282b605866..fb132da858769 100644
--- a/pkgs/servers/t-rex/default.nix
+++ b/pkgs/servers/t-rex/default.nix
@@ -23,6 +23,7 @@ rustPlatform.buildRustPackage rec {
     changelog = "https://github.com/t-rex-tileserver/t-rex/blob/v${version}/CHANGELOG.md";
     license = licenses.mit;
     maintainers = with maintainers; [ sikmir ];
+    mainProgram = "t_rex";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/telegram-bot-api/default.nix b/pkgs/servers/telegram-bot-api/default.nix
new file mode 100644
index 0000000000000..3d52ccc96f83a
--- /dev/null
+++ b/pkgs/servers/telegram-bot-api/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, cmake, gperf, openssl, zlib }:
+
+stdenv.mkDerivation {
+  pname = "telegram-bot-api";
+  version = "5.7";
+
+  src = fetchFromGitHub {
+    repo = "telegram-bot-api";
+    owner = "tdlib";
+    rev = "c57b04c4c8c4e8d8bb6fdd0bd3bfb5b93b9d8f05";
+    sha256 = "sha256-WetzX8GBdwQAnnZjek+W4v+QN1aUFdlvs+Jv6n1B+eY=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake gperf ];
+  buildInputs = [ openssl zlib ];
+
+  meta = with lib; {
+    description = "Telegram Bot API server";
+    homepage = "https://github.com/tdlib/telegram-bot-api";
+    license = licenses.boost;
+    maintainers = with maintainers; [ Anillc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index 9f1348fff19f9..8273e810a2219 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -3,11 +3,17 @@
 , rustPlatform
 , fetchFromGitHub
 , makeWrapper
+, symlinkJoin
+, CoreFoundation
+, openssl
+, pkg-config
 , protobuf
+, Security
 , stdenv
 , xdg-utils
 , nixosTests
 
+, withRdpClient ? true
 , withRoleTester ? true
 }:
 let
@@ -16,17 +22,38 @@ let
     owner = "gravitational";
     repo = "teleport";
     rev = "v${version}";
-    sha256 = "sha256-ir2NMNIjSpv7l6dVNHczARg6b+doFofinsJy1smEC7o=";
+    sha256 = "sha256-KQfdeMuZ9LJHhEJLMl58Yb0+gxgDT7VcVnK1JxjVZaI=";
+  };
+  version = "9.1.2";
+
+  rdpClient = rustPlatform.buildRustPackage rec {
+    name = "teleport-rdpclient";
+    cargoSha256 = "sha256-Jz7bB/f4HRxBhSevmfELSrIm+IXUVlADIgp2qWQd5PY=";
+    inherit version src;
+
+    buildAndTestSubdir = "lib/srv/desktop/rdp/rdpclient";
+
+    buildInputs = [ openssl ]
+      ++ lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
+    nativeBuildInputs = [ pkg-config ];
+
+    # https://github.com/NixOS/nixpkgs/issues/161570 ,
+    # buildRustPackage sets strictDeps = true;
+    checkInputs = buildInputs;
+
+    OPENSSL_NO_VENDOR = "1";
+
+    postInstall = ''
+      cp -r target $out
+    '';
   };
-  version = "8.1.3";
 
   roleTester = rustPlatform.buildRustPackage {
     name = "teleport-roletester";
-    inherit version;
+    inherit version src;
 
-    src = "${src}/lib/datalog";
-    cargoSha256 = "sha256-cpW7kel02t/fB2CvDvVqWlzgS3Vg2qLnemF/bW2Ii1A=";
-    sourceRoot = "datalog/roletester";
+    cargoSha256 = "sha256-gCm4ETbXy6tGJQVSzUkoAWUmKD3poYgkw133LtziASI=";
+    buildAndTestSubdir = "lib/datalog/roletester";
 
     PROTOC = "${protobuf}/bin/protoc";
     PROTOC_INCLUDE = "${protobuf}/include";
@@ -39,20 +66,23 @@ let
   webassets = fetchFromGitHub {
     owner = "gravitational";
     repo = "webassets";
-    rev = "ea3c67c941c56cfb6c228612e88100df09fb6f9c";
-    sha256 = "sha256-oKvDXkxA73IJOi+ciBFVLkYcmeRUsTC+3rcYf64vDoY=";
+    rev = "67e608db77300d8a6cb17709be67f12c1d3271c3";
+    sha256 = "sha256-o4qjXGaNi5XDSUQrUuU+G77EdRnvJ1WUPWrryZU1CUE=";
   };
 in
 buildGoModule rec {
   pname = "teleport";
 
   inherit src version;
-  vendorSha256 = null;
+  vendorSha256 = "sha256-UMgWM7KHag99JR4i4mwVHa6yd9aHQ6Dy+pmUijNL4Ew=";
 
-  subPackages = [ "tool/tctl" "tool/teleport" "tool/tsh" ];
-  tags = [ "webassets_embed" ] ++
-    lib.optional withRoleTester "roletester";
+  subPackages = [ "tool/tbot" "tool/tctl" "tool/teleport" "tool/tsh" ];
+  tags = [ "webassets_embed" ]
+    ++ lib.optional withRdpClient "desktop_access_rdp"
+    ++ lib.optional withRoleTester "roletester";
 
+  buildInputs = [ openssl ]
+    ++ lib.optionals (stdenv.isDarwin && withRdpClient) [ CoreFoundation Security ];
   nativeBuildInputs = [ makeWrapper ];
 
   patches = [
@@ -61,26 +91,31 @@ buildGoModule rec {
     # https://github.com/NixOS/nixpkgs/issues/132652
     ./test.patch
     ./0001-fix-add-nix-path-to-exec-env.patch
+    ./rdpclient.patch
   ];
 
   # Reduce closure size for client machines
   outputs = [ "out" "client" ];
 
-  preBuild = ''
-    mkdir -p build
-    echo "making webassets"
-    cp -r ${webassets}/* webassets/
-    make lib/web/build/webassets
-
-    ${lib.optionalString withRoleTester
-      "cp -r ${roleTester}/target lib/datalog/roletester/."}
-  '';
-
-  doCheck = !stdenv.isDarwin;
+  preBuild =
+    let rustDeps = symlinkJoin {
+      name = "teleport-rust-deps";
+      paths = lib.optional withRdpClient rdpClient
+        ++ lib.optional withRoleTester roleTester;
+    };
+    in
+    ''
+      mkdir -p build
+      echo "making webassets"
+      cp -r ${webassets}/* webassets/
+      make lib/web/build/webassets
+
+      cp -r ${rustDeps}/. .
+    '';
 
-  preCheck = ''
-    export HOME=$(mktemp -d)
-  '';
+  # Multiple tests fail in the build sandbox
+  # due to trying to spawn nixbld's shell (/noshell), etc.
+  doCheck = false;
 
   postInstall = ''
     install -Dm755 -t $client/bin $out/bin/tsh
@@ -93,6 +128,7 @@ buildGoModule rec {
   installCheckPhase = ''
     $out/bin/tsh version | grep ${version} > /dev/null
     $client/bin/tsh version | grep ${version} > /dev/null
+    $out/bin/tbot version | grep ${version} > /dev/null
     $out/bin/tctl version | grep ${version} > /dev/null
     $out/bin/teleport version | grep ${version} > /dev/null
   '';
diff --git a/pkgs/servers/teleport/rdpclient.patch b/pkgs/servers/teleport/rdpclient.patch
new file mode 100644
index 0000000000000..141d85ce42c6e
--- /dev/null
+++ b/pkgs/servers/teleport/rdpclient.patch
@@ -0,0 +1,17 @@
+diff --git a/lib/srv/desktop/rdp/rdpclient/client.go b/lib/srv/desktop/rdp/rdpclient/client.go
+index d191c768f..71117a30d 100644
+--- a/lib/srv/desktop/rdp/rdpclient/client.go
++++ b/lib/srv/desktop/rdp/rdpclient/client.go
+@@ -56,10 +56,10 @@ package rdpclient
+ #cgo linux,amd64 LDFLAGS: -L${SRCDIR}/../../../../../target/x86_64-unknown-linux-gnu/release
+ #cgo linux,arm LDFLAGS: -L${SRCDIR}/../../../../../target/arm-unknown-linux-gnueabihf/release
+ #cgo linux,arm64 LDFLAGS: -L${SRCDIR}/../../../../../target/aarch64-unknown-linux-gnu/release
+-#cgo linux LDFLAGS: -l:librdp_client.a -lpthread -ldl -lm
++#cgo linux LDFLAGS: -l:librdp_client.a -lpthread -ldl -lm -lssl -lcrypto
+ #cgo darwin,amd64 LDFLAGS: -L${SRCDIR}/../../../../../target/x86_64-apple-darwin/release
+ #cgo darwin,arm64 LDFLAGS: -L${SRCDIR}/../../../../../target/aarch64-apple-darwin/release
+-#cgo darwin LDFLAGS: -framework CoreFoundation -framework Security -lrdp_client -lpthread -ldl -lm
++#cgo darwin LDFLAGS: -framework CoreFoundation -framework Security -lrdp_client -lpthread -ldl -lm -lssl -lcrypto
+ #include <librdprs.h>
+ */
+ import "C"
diff --git a/pkgs/servers/timetagger/default.nix b/pkgs/servers/timetagger/default.nix
index 5e4629f455b2f..2b060ed517407 100644
--- a/pkgs/servers/timetagger/default.nix
+++ b/pkgs/servers/timetagger/default.nix
@@ -1,6 +1,5 @@
 { lib
-, pkgs
-, python3Packages
+, python3
 , fetchFromGitHub
 
 , addr ? "127.0.0.1"
@@ -13,24 +12,18 @@
 # timetagger.
 #
 
-let
-  tt = python3Packages.timetagger;
-in
-python3Packages.buildPythonPackage rec {
-  pname = tt.name;
-  version = tt.version;
-  src = tt.src;
-  meta = tt.meta;
+python3.pkgs.buildPythonApplication {
+  inherit (python3.pkgs.timetagger) pname version src meta;
 
-  propagatedBuildInputs = [ tt ]
-    ++ (with python3Packages; [
-      setuptools
-    ]);
+  propagatedBuildInputs = with python3.pkgs; [
+    setuptools
+    timetagger
+  ];
 
   format = "custom";
   installPhase = ''
     mkdir -p $out/bin
-    echo "#!${pkgs.python3}/bin/python3" >> $out/bin/timetagger
+    echo "#!${python3.interpreter}" >> $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/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index db4ec8b891d67..24c922018f19b 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -65,7 +65,7 @@ in rec {
   };
 
   unifi7 = generic {
-    version = "7.0.25";
-    sha256 = "sha256-DZi2xy6mS3hfqxX1ikiHKPlJ12eaoZVgyl9jKYt91hg=";
+    version = "7.1.65";
+    sha256 = "sha256-ilC4L59rui8WBKkWrzTFuEePo6L3wLC27Z5/Ef0MX7k=";
   };
 }
diff --git a/pkgs/servers/unifiedpush-common-proxies/default.nix b/pkgs/servers/unifiedpush-common-proxies/default.nix
index b969902b253c7..4c41a7c9fde49 100644
--- a/pkgs/servers/unifiedpush-common-proxies/default.nix
+++ b/pkgs/servers/unifiedpush-common-proxies/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/UnifiedPush/common-proxies";
     license = licenses.mit;
     maintainers = with maintainers; [ yuka ];
+    mainProgram = "up_rewrite";
   };
 }
diff --git a/pkgs/servers/unpackerr/default.nix b/pkgs/servers/unpackerr/default.nix
index f0c55051fc843..83f745536ef14 100644
--- a/pkgs/servers/unpackerr/default.nix
+++ b/pkgs/servers/unpackerr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.9.9";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "sha256-lQqa1YtMLsCEfiC3Ld+lw4SvAD8wctSGi2YdXt9lrTA=";
+    sha256 = "sha256-o+dE3SX+Q+nhxUO4biEluLEeQhsZgzjXdWTdQcw/H2o=";
   };
 
-  vendorSha256 = "sha256-W9lTIjntaNZSJVt6Jow8uSew+zCaGWU9qzseClNiVUI=";
+  vendorSha256 = "sha256-vo5Saq0QEEKi3/0ZXuQDtlMmEIPwshYHHr8h24cD0sI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
diff --git a/pkgs/servers/uxplay/default.nix b/pkgs/servers/uxplay/default.nix
index d013a5a59e4fe..54adab9b10973 100644
--- a/pkgs/servers/uxplay/default.nix
+++ b/pkgs/servers/uxplay/default.nix
@@ -2,7 +2,6 @@
 , stdenv
 , pkg-config
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , wrapGAppsHook
 , avahi
@@ -14,23 +13,15 @@
 
 stdenv.mkDerivation rec {
   pname = "uxplay";
-  version = "1.50";
+  version = "1.52";
 
   src = fetchFromGitHub {
     owner = "FDH2";
     repo = "UxPlay";
     rev = "v${version}";
-    sha256 = "sha256-43BCpYh0XtsnI064/ddcz2/Imj399g+bxLlT0BpqLMI=";
+    sha256 = "sha256-2wPUG50fbXLg6w2Rni3NyeiCyUNPcOvxvqopD9QZJaQ=";
   };
 
-  patches = [
-    # https://github.com/FDH2/UxPlay/issues/91
-    (fetchpatch {
-      url = "https://github.com/FDH2/UxPlay/commit/f373fb2edcfb1f4c279e5796cf21e4a865800a71.patch";
-      sha256 = "sha256-ENT/sMyPjDdZ4gdxiatYJ/UxuCl+ekk0iQOn8ELDAKQ=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     openssl
diff --git a/pkgs/servers/web-apps/engelsystem/default.nix b/pkgs/servers/web-apps/engelsystem/default.nix
index 22abbdac08ce1..d154b1cee11cb 100644
--- a/pkgs/servers/web-apps/engelsystem/default.nix
+++ b/pkgs/servers/web-apps/engelsystem/default.nix
@@ -42,9 +42,10 @@ in stdenv.mkDerivation rec {
   meta = with lib; {
     description =
       "Coordinate your volunteers in teams, assign them to work shifts or let them decide for themselves when and where they want to help with what";
-    license = licenses.gpl2;
     homepage = "https://engelsystem.de";
+    license = licenses.gpl2;
     maintainers = with maintainers; [ kloenk ];
+    mainProgram = "migrate";
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index e31327927fa98..7be8ac5733325 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.6091";
+  version = "1.0.6155";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "lYQGrH7D2xsRdwDC0yXB+tt4nOawEkq9A5tDIwl6pRk=";
+    sha256 = "baCRVYe1z2uH3vSb5KbWs0y4KyQYO3JpTyoGFZIZQqo=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/lemmy/server.nix b/pkgs/servers/web-apps/lemmy/server.nix
index 843e6f711654f..5526d8fe31f3e 100644
--- a/pkgs/servers/web-apps/lemmy/server.nix
+++ b/pkgs/servers/web-apps/lemmy/server.nix
@@ -46,5 +46,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://join-lemmy.org/";
     license = licenses.agpl3Only;
     maintainers = with maintainers; [ happysalada ];
+    mainProgram = "lemmy_server";
   };
 }
diff --git a/pkgs/servers/web-apps/snipe-it/composer-env.nix b/pkgs/servers/web-apps/snipe-it/composer-env.nix
new file mode 100644
index 0000000000000..71714b7640082
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/composer-env.nix
@@ -0,0 +1,244 @@
+# This file originates from composer2nix
+
+{ stdenv, lib, writeTextFile, fetchurl, php, unzip, phpPackages }:
+
+let
+  inherit (phpPackages) composer;
+
+  filterSrc = src:
+    builtins.filterSource (path: type: type != "directory" || (baseNameOf path != ".git" && baseNameOf path != ".git" && baseNameOf path != ".svn")) src;
+
+  buildZipPackage = { name, src }:
+    stdenv.mkDerivation {
+      inherit name src;
+      nativeBuildInputs = [ unzip ];
+      buildCommand = ''
+        shopt -s dotglob
+        unzip $src
+        baseDir=$(find . -type d -mindepth 1 -maxdepth 1)
+        cd $baseDir
+        mkdir -p $out
+        mv * $out
+      '';
+    };
+
+  buildPackage =
+    { name
+    , src
+    , packages ? {}
+    , devPackages ? {}
+    , buildInputs ? []
+    , symlinkDependencies ? false
+    , executable ? false
+    , removeComposerArtifacts ? false
+    , postInstall ? ""
+    , noDev ? false
+    , composerExtraArgs ? ""
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ...}@args:
+
+    let
+      reconstructInstalled = writeTextFile {
+        name = "reconstructinstalled.php";
+        executable = true;
+        text = ''
+          #! ${php}/bin/php
+          <?php
+          if(file_exists($argv[1]))
+          {
+              $composerLockStr = file_get_contents($argv[1]);
+
+              if($composerLockStr === false)
+              {
+                  fwrite(STDERR, "Cannot open composer.lock contents\n");
+                  exit(1);
+              }
+              else
+              {
+                  $config = json_decode($composerLockStr, true);
+
+                  if(array_key_exists("packages", $config))
+                      $allPackages = $config["packages"];
+                  else
+                      $allPackages = array();
+
+                  ${lib.optionalString (!noDev) ''
+                    if(array_key_exists("packages-dev", $config))
+                        $allPackages = array_merge($allPackages, $config["packages-dev"]);
+                  ''}
+
+                  $packagesStr = json_encode($allPackages, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
+                  print($packagesStr);
+              }
+          }
+          else
+              print("[]");
+          ?>
+        '';
+      };
+
+      constructBin = writeTextFile {
+        name = "constructbin.php";
+        executable = true;
+        text = ''
+          #! ${php}/bin/php
+          <?php
+          $composerJSONStr = file_get_contents($argv[1]);
+
+          if($composerJSONStr === false)
+          {
+              fwrite(STDERR, "Cannot open composer.json contents\n");
+              exit(1);
+          }
+          else
+          {
+              $config = json_decode($composerJSONStr, true);
+
+              if(array_key_exists("bin-dir", $config))
+                  $binDir = $config["bin-dir"];
+              else
+                  $binDir = "bin";
+
+              if(array_key_exists("bin", $config))
+              {
+                  if(!file_exists("vendor/".$binDir))
+                      mkdir("vendor/".$binDir);
+
+                  foreach($config["bin"] as $bin)
+                      symlink("../../".$bin, "vendor/".$binDir."/".basename($bin));
+              }
+          }
+          ?>
+        '';
+      };
+
+      bundleDependencies = dependencies:
+        lib.concatMapStrings (dependencyName:
+          let
+            dependency = dependencies.${dependencyName};
+          in
+          ''
+            ${if dependency.targetDir == "" then ''
+              vendorDir="$(dirname ${dependencyName})"
+              mkdir -p "$vendorDir"
+              ${if symlinkDependencies then
+                ''ln -s "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
+                else
+                ''cp -av "${dependency.src}" "$vendorDir/$(basename "${dependencyName}")"''
+              }
+            '' else ''
+              namespaceDir="${dependencyName}/$(dirname "${dependency.targetDir}")"
+              mkdir -p "$namespaceDir"
+              ${if symlinkDependencies then
+                ''ln -s "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
+              else
+                ''cp -av "${dependency.src}" "$namespaceDir/$(basename "${dependency.targetDir}")"''
+              }
+            ''}
+          '') (builtins.attrNames dependencies);
+
+      extraArgs = removeAttrs args [ "packages" "devPackages" "buildInputs" ];
+    in
+    stdenv.mkDerivation ({
+      buildInputs = [ php composer ] ++ buildInputs;
+
+      inherit unpackPhase buildPhase;
+
+      installPhase = ''
+        ${if executable then ''
+          mkdir -p $out/share/php
+          cp -av $src $out/share/php/$name
+          chmod -R u+w $out/share/php/$name
+          cd $out/share/php/$name
+        '' else ''
+          cp -av $src $out
+          chmod -R u+w $out
+          cd $out
+        ''}
+
+        # Remove unwanted files
+        rm -f *.nix
+
+        export HOME=$TMPDIR
+
+        # Remove the provided vendor folder if it exists
+        rm -Rf vendor
+
+        # If there is no composer.lock file, compose a dummy file.
+        # Otherwise, composer attempts to download the package.json file from
+        # the registry which we do not want.
+        if [ ! -f composer.lock ]
+        then
+            cat > composer.lock <<EOF
+        {
+            "packages": []
+        }
+        EOF
+        fi
+
+        # Reconstruct the installed.json file from the lock file
+        mkdir -p vendor/composer
+        ${php}/bin/php ${reconstructInstalled} composer.lock > vendor/composer/installed.json
+
+        # Copy or symlink the provided dependencies
+        cd vendor
+        ${bundleDependencies packages}
+        ${lib.optionalString (!noDev) (bundleDependencies devPackages)}
+        cd ..
+
+        # Reconstruct autoload scripts
+        # We use the optimize feature because Nix packages cannot change after they have been built
+        # Using the dynamic loader for a Nix package is useless since there is nothing to dynamically reload.
+        composer dump-autoload --optimize ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
+
+        # Run the install step as a validation to confirm that everything works out as expected
+        composer install --optimize-autoloader ${lib.optionalString noDev "--no-dev"} ${composerExtraArgs}
+
+        ${lib.optionalString executable ''
+          # Reconstruct the bin/ folder if we deploy an executable project
+          ${php}/bin/php ${constructBin} composer.json
+          ln -s $(pwd)/vendor/bin $out/bin
+        ''}
+
+        ${lib.optionalString (!symlinkDependencies) ''
+          # Patch the shebangs if possible
+          if [ -d $(pwd)/vendor/bin ]
+          then
+              # Look for all executables in bin/
+              for i in $(pwd)/vendor/bin/*
+              do
+                  # Look for their location
+                  realFile=$(readlink -f "$i")
+
+                  # Restore write permissions
+                  chmod u+wx "$(dirname "$realFile")"
+                  chmod u+w "$realFile"
+
+                  # Patch shebang
+                  sed -e "s|#!/usr/bin/php|#!${php}/bin/php|" \
+                      -e "s|#!/usr/bin/env php|#!${php}/bin/php|" \
+                      "$realFile" > tmp
+                  mv tmp "$realFile"
+                  chmod u+x "$realFile"
+              done
+          fi
+        ''}
+
+        if [ "$removeComposerArtifacts" = "1" ]
+        then
+            # Remove composer stuff
+            rm -f composer.json composer.lock
+        fi
+
+        # Execute post install hook
+        runHook postInstall
+    '';
+  } // extraArgs);
+in
+{
+  inherit filterSrc;
+  composer = lib.makeOverridable composer;
+  buildZipPackage = lib.makeOverridable buildZipPackage;
+  buildPackage = lib.makeOverridable buildPackage;
+}
diff --git a/pkgs/servers/web-apps/snipe-it/composition.nix b/pkgs/servers/web-apps/snipe-it/composition.nix
new file mode 100644
index 0000000000000..d8df4b81fa3e4
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/composition.nix
@@ -0,0 +1,15 @@
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, noDev ? false, php ? pkgs.php, phpPackages ? pkgs.phpPackages}:
+
+let
+  composerEnv = import ./composer-env.nix {
+    inherit (pkgs) stdenv lib writeTextFile fetchurl unzip;
+    inherit php phpPackages;
+  };
+in
+import ./php-packages.nix {
+  inherit composerEnv noDev;
+  inherit (pkgs) fetchurl fetchgit fetchhg fetchsvn;
+}
+
diff --git a/pkgs/servers/web-apps/snipe-it/default.nix b/pkgs/servers/web-apps/snipe-it/default.nix
new file mode 100644
index 0000000000000..43a1b8bbce6e6
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/default.nix
@@ -0,0 +1,47 @@
+{ pkgs, stdenv, lib, fetchFromGitHub, dataDir ? "/var/lib/snipe-it" }:
+
+let
+  package = (import ./composition.nix {
+    inherit pkgs;
+    inherit (stdenv.hostPlatform) system;
+    noDev = true; # Disable development dependencies
+    # Requires PHP >= 7.4 and PHP < 8.0 as of v5.4.3
+    # https://snipe-it.readme.io/docs/requirements
+    php = pkgs.php74;
+    phpPackages = pkgs.php74Packages;
+  }).overrideAttrs (attrs : {
+    installPhase = attrs.installPhase + ''
+      rm -R $out/storage $out/public/uploads $out/bootstrap/cache
+      ln -s ${dataDir}/.env $out/.env
+      ln -s ${dataDir}/storage $out/
+      ln -s ${dataDir}/public/uploads $out/public/uploads
+      ln -s ${dataDir}/bootstrap/cache $out/bootstrap/cache
+      chmod +x $out/artisan
+    '';
+  });
+
+in package.override rec {
+  pname = "snipe-it";
+  version = "5.4.3";
+
+  src = fetchFromGitHub {
+    owner = "snipe";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "053cm5vb0806sj61g0zf0xqqzlchgkdj8zwkry07mhjdbp1k8k7n";
+  };
+
+  meta = with lib; {
+    description = "A free open source IT asset/license management system ";
+    longDescription = ''
+      Snipe-IT was made for IT asset management, to enable IT departments to track
+      who has which laptop, when it was purchased, which software licenses and accessories
+      are available, and so on.
+      Details for snipe-it can be found on the official website at https://snipeitapp.com/.
+    '';
+    homepage = "https://snipeitapp.com/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ yayayayaka ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/web-apps/snipe-it/php-packages.nix b/pkgs/servers/web-apps/snipe-it/php-packages.nix
new file mode 100644
index 0000000000000..66a655a033801
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/php-packages.nix
@@ -0,0 +1,1348 @@
+{composerEnv, fetchurl, fetchgit ? null, fetchhg ? null, fetchsvn ? null, noDev ? false}:
+
+let
+  packages = {
+    "adldap2/adldap2" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "adldap2-adldap2-b2203d800c5932f975abc213c659428697e27cd9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Adldap2/Adldap2/zipball/b2203d800c5932f975abc213c659428697e27cd9";
+          sha256 = "028lkx1hrkp4dqi8f3rcbhyjlk61lajz2fqw8xmlzyhip9l6ivq3";
+        };
+      };
+    };
+    "alek13/slack" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "alek13-slack-9db79a622803bf7baf0efafb50e37b900882f7fb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-slack/slack/zipball/9db79a622803bf7baf0efafb50e37b900882f7fb";
+          sha256 = "0h70p0va4r20lw65asa68zv73w9047hyal0xa082p0wjihim5k1s";
+        };
+      };
+    };
+    "asm89/stack-cors" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "asm89-stack-cors-73e5b88775c64ccc0b84fb60836b30dc9d92ac4a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/asm89/stack-cors/zipball/73e5b88775c64ccc0b84fb60836b30dc9d92ac4a";
+          sha256 = "1idpisw39ba2dic9jl2s2yrkdgbyny9dfxf0qdr5i0wfvvlmbdih";
+        };
+      };
+    };
+    "aws/aws-sdk-php" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "aws-aws-sdk-php-6c919bc226f7ff3fbcbce948f31e618066d02ad0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c919bc226f7ff3fbcbce948f31e618066d02ad0";
+          sha256 = "1wicn300x19v77dq11pwb6v91h8z11fqjrqrr8b9ncahyf5lg0aq";
+        };
+      };
+    };
+    "bacon/bacon-qr-code" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "bacon-bacon-qr-code-5a91b62b9d37cee635bbf8d553f4546057250bee";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee";
+          sha256 = "0rb88fg083790bbciffniff7xqkgzm091szm131afhkl8rr7pnkq";
+        };
+      };
+    };
+    "barryvdh/laravel-debugbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "barryvdh-laravel-debugbar-70b89754913fd89fef16d0170a91dbc2a5cd633a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a";
+          sha256 = "1sqm1afhmf0fgyvvwa760f0d5ifnd84fv83v40n28lp534xsibz5";
+        };
+      };
+    };
+    "defuse/php-encryption" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "defuse-php-encryption-77880488b9954b7884c25555c2a0ea9e7053f9d2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/defuse/php-encryption/zipball/77880488b9954b7884c25555c2a0ea9e7053f9d2";
+          sha256 = "1lcvpg56nw72cxyh6sga7fx94qw9l0l1y78z7y7ny3hgdniwhihx";
+        };
+      };
+    };
+    "doctrine/annotations" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-annotations-e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f";
+          sha256 = "090vizq3xy9p151cjx5fa2izgvypc756wrnclswiiiac4h6mzpyf";
+        };
+      };
+    };
+    "doctrine/cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-cache-3bb5588cec00a0268829cc4a518490df6741af9d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/cache/zipball/3bb5588cec00a0268829cc4a518490df6741af9d";
+          sha256 = "0r9fhv0y79ma7a5llmj1skycflnwbxyyrblkavjj6svld46li94q";
+        };
+      };
+    };
+    "doctrine/collections" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-collections-55f8b799269a1a472457bd1a41b4f379d4cfba4a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/collections/zipball/55f8b799269a1a472457bd1a41b4f379d4cfba4a";
+          sha256 = "1kalndrc2g8g82524yg0rcn4xzrl5a9hi0x6g6ixqa6afzgzmvbs";
+        };
+      };
+    };
+    "doctrine/common" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-common-f3812c026e557892c34ef37f6ab808a6b567da7f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/common/zipball/f3812c026e557892c34ef37f6ab808a6b567da7f";
+          sha256 = "16jf1wzs6ccpw2ny7rkzpf0asdwr1cfzcyw8g5x88i4j9jazn8xa";
+        };
+      };
+    };
+    "doctrine/dbal" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-dbal-8dd39d2ead4409ce652fd4f02621060f009ea5e4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4";
+          sha256 = "107k0qr3m34cjxy00yhdjmd8liqa8wg729zj4z2jifz26niiy8qs";
+        };
+      };
+    };
+    "doctrine/deprecations" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-deprecations-9504165960a1f83cc1480e2be1dd0a0478561314";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314";
+          sha256 = "04kpbzk5iw86imspkg7dgs54xx877k9b5q0dfg2h119mlfkvxil6";
+        };
+      };
+    };
+    "doctrine/event-manager" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-event-manager-41370af6a30faa9dc0368c4a6814d596e81aba7f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f";
+          sha256 = "0pn2aiwl4fvv6fcwar9alng2yrqy8bzc58n4bkp6y2jnpw5gp4m8";
+        };
+      };
+    };
+    "doctrine/inflector" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-inflector-4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9";
+          sha256 = "0390gkbk3vdjd98h7wjpdv0579swbavrdb6yrlslfdr068g4bmbf";
+        };
+      };
+    };
+    "doctrine/instantiator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-instantiator-d56bf6102915de5702778fe20f2de3b2fe570b5b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b";
+          sha256 = "04rihgfjv8alvvb92bnb5qpz8fvqvjwfrawcjw34pfnfx4jflcwh";
+        };
+      };
+    };
+    "doctrine/lexer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-lexer-c268e882d4dbdd85e36e4ad69e02dc284f89d229";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229";
+          sha256 = "12g069nljl3alyk15884nd1jc4mxk87isqsmfj7x6j2vxvk9qchs";
+        };
+      };
+    };
+    "doctrine/persistence" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-persistence-7a6eac9fb6f61bba91328f15aa7547f4806ca288";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/persistence/zipball/7a6eac9fb6f61bba91328f15aa7547f4806ca288";
+          sha256 = "0mszkf7lxdhbr5b3ibpn7ipyrf6a6kfj283fvh83akyv1mplsl0h";
+        };
+      };
+    };
+    "doctrine/reflection" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "doctrine-reflection-fa587178be682efe90d005e3a322590d6ebb59a5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/doctrine/reflection/zipball/fa587178be682efe90d005e3a322590d6ebb59a5";
+          sha256 = "1jn3bbzv0pn16aw0kkg0l765wi49zpf5vpirqwmw3viqj9bgj1b5";
+        };
+      };
+    };
+    "dragonmantank/cron-expression" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "dragonmantank-cron-expression-65b2d8ee1f10915efb3b55597da3404f096acba2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/dragonmantank/cron-expression/zipball/65b2d8ee1f10915efb3b55597da3404f096acba2";
+          sha256 = "07yqbhf6n4d818gvla60mgg23gichwiafd5ypd70w4b4dlbcxcpl";
+        };
+      };
+    };
+    "eduardokum/laravel-mail-auto-embed" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "eduardokum-laravel-mail-auto-embed-83349a6a35560edb1c95e31205e2a848d73196ef";
+        src = fetchurl {
+          url = "https://api.github.com/repos/eduardokum/laravel-mail-auto-embed/zipball/83349a6a35560edb1c95e31205e2a848d73196ef";
+          sha256 = "0v1zbyln5ly1fhyr8m6wdm140zy14l71mqjpkij2pacskbbmvij2";
+        };
+      };
+    };
+    "egulias/email-validator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "egulias-email-validator-0dbf5d78455d4d6a41d186da50adc1122ec066f4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4";
+          sha256 = "00kwb8rhk1fq3a1i152xniipk3y907q1v5r3szqbkq5rz82dwbck";
+        };
+      };
+    };
+    "enshrined/svg-sanitize" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "enshrined-svg-sanitize-e50b83a2f1f296ca61394fe88fbfe3e896a84cf4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/e50b83a2f1f296ca61394fe88fbfe3e896a84cf4";
+          sha256 = "1pv8lkpyl0fp0ychfqlds31lpy73pzz9z2rjngxhpvzfka39gchg";
+        };
+      };
+    };
+    "erusev/parsedown" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "erusev-parsedown-cb17b6477dfff935958ba01325f2e8a2bfa6dab3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3";
+          sha256 = "1iil9v8g03m5vpxxg3a5qb2sxd1cs5c4p5i0k00cqjnjsxfrazxd";
+        };
+      };
+    };
+    "fideloper/proxy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "fideloper-proxy-c073b2bd04d1c90e04dc1b787662b558dd65ade0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/fideloper/TrustedProxy/zipball/c073b2bd04d1c90e04dc1b787662b558dd65ade0";
+          sha256 = "05jzgjj4fy5p1smqj41b5qxj42zn0mnczvsaacni4fmq174mz4gy";
+        };
+      };
+    };
+    "filp/whoops" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "filp-whoops-2edbc73a4687d9085c8f20f398eebade844e8424";
+        src = fetchurl {
+          url = "https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424";
+          sha256 = "1x79vnjdbjk9z2mix75ri56kyc5iwvjv3dyivncg6n3wd80nyfgg";
+        };
+      };
+    };
+    "firebase/php-jwt" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "firebase-php-jwt-83b609028194aa042ea33b5af2d41a7427de80e6";
+        src = fetchurl {
+          url = "https://api.github.com/repos/firebase/php-jwt/zipball/83b609028194aa042ea33b5af2d41a7427de80e6";
+          sha256 = "16a0nw983x36al7zdcrf6h2m4jmnnvmr4p9znr5yzpchi5zx42ig";
+        };
+      };
+    };
+    "fruitcake/laravel-cors" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "fruitcake-laravel-cors-783a74f5e3431d7b9805be8afb60fd0a8f743534";
+        src = fetchurl {
+          url = "https://api.github.com/repos/fruitcake/laravel-cors/zipball/783a74f5e3431d7b9805be8afb60fd0a8f743534";
+          sha256 = "13mqhjks048fb5042l0rfrr52rz7knp9gjn8qviw9cx76kllw2c9";
+        };
+      };
+    };
+    "guzzlehttp/guzzle" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-guzzle-9d4290de1cfd701f38099ef7e183b64b4b7b0c5e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/guzzle/zipball/9d4290de1cfd701f38099ef7e183b64b4b7b0c5e";
+          sha256 = "1dlrdpil0173cmx73ghy8iis2j0lk00dzv3n166d0riky21n8djb";
+        };
+      };
+    };
+    "guzzlehttp/promises" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-promises-8e7d04f1f6450fef59366c399cfad4b9383aa30d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d";
+          sha256 = "158wd8nmvvl386c24lkr4jkwdhqpdj0dxdbjwh8iv6a2rgccjr2q";
+        };
+      };
+    };
+    "guzzlehttp/psr7" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "guzzlehttp-psr7-337e3ad8e5716c15f9657bd214d16cc5e69df268";
+        src = fetchurl {
+          url = "https://api.github.com/repos/guzzle/psr7/zipball/337e3ad8e5716c15f9657bd214d16cc5e69df268";
+          sha256 = "0qpldw2aw55dm275hgavw9h53l5697ahiz7cn2d0fz97l8j7fg9p";
+        };
+      };
+    };
+    "intervention/image" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "intervention-image-abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e";
+          sha256 = "1msfpr9bip69bmhg23ka2f43phgb6dq5z604j5psjh3xd86r6c5d";
+        };
+      };
+    };
+    "javiereguiluz/easyslugger" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "javiereguiluz-easyslugger-11524a3fd70e3f0c98043755a0ffa228f2529211";
+        src = fetchurl {
+          url = "https://api.github.com/repos/javiereguiluz/EasySlugger/zipball/11524a3fd70e3f0c98043755a0ffa228f2529211";
+          sha256 = "12x5cgp3qmz5d9wvgpd6c0whygm9z3y392fdi4kqjlzi3n5yknnp";
+        };
+      };
+    };
+    "laminas/laminas-diactoros" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laminas-laminas-diactoros-36ef09b73e884135d2059cc498c938e90821bb57";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laminas/laminas-diactoros/zipball/36ef09b73e884135d2059cc498c938e90821bb57";
+          sha256 = "0qzf3890j1976q6f684fydz49gd48kg3hwipzhsw0dgbcgmr8qs6";
+        };
+      };
+    };
+    "laminas/laminas-zendframework-bridge" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laminas-laminas-zendframework-bridge-6ede70583e101030bcace4dcddd648f760ddf642";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642";
+          sha256 = "10cksxv2fzv3d14n8kmij3wvfibddzp1qz65dqgybs1w2fd1n358";
+        };
+      };
+    };
+    "laravel/framework" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-framework-505ebcdeaa9ca56d6d7dbf38ed4f53998c973ed0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/framework/zipball/505ebcdeaa9ca56d6d7dbf38ed4f53998c973ed0";
+          sha256 = "0hwjxlzj3hg8zmwslcjkp9jcrbqpxsvyj9fjhqk3j919dwlwwx0z";
+        };
+      };
+    };
+    "laravel/helpers" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-helpers-febb10d8daaf86123825de2cb87f789a3371f0ac";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/helpers/zipball/febb10d8daaf86123825de2cb87f789a3371f0ac";
+          sha256 = "1axbawm5hamfqvs5a6n4bbjc2fs5q3zwpsf7xrvqirxc4rgrdbgw";
+        };
+      };
+    };
+    "laravel/passport" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-passport-011bd500e8ae3d459b692467880a49ff1ecd60c0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/passport/zipball/011bd500e8ae3d459b692467880a49ff1ecd60c0";
+          sha256 = "0aix2nf06xl32iqyhjjfjp7sq9z57v8w8i9qh408cmr78qg28kwv";
+        };
+      };
+    };
+    "laravel/slack-notification-channel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-slack-notification-channel-f428e76b8d0a0a2ff413ab225eeb829b9a8ffc20";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/slack-notification-channel/zipball/f428e76b8d0a0a2ff413ab225eeb829b9a8ffc20";
+          sha256 = "1bmn7018j6pi7jfjbzkwpx3qa1b33d8vvm48xjsyci44vkp7swbk";
+        };
+      };
+    };
+    "laravel/tinker" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravel-tinker-04ad32c1a3328081097a181875733fa51f402083";
+        src = fetchurl {
+          url = "https://api.github.com/repos/laravel/tinker/zipball/04ad32c1a3328081097a181875733fa51f402083";
+          sha256 = "1h4847a5rq2qdyszvjx6bqw5c0xi2m3pn9x7cqnq7jz7fkzpi5f9";
+        };
+      };
+    };
+    "laravelcollective/html" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "laravelcollective-html-ae15b9c4bf918ec3a78f092b8555551dd693fde3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/LaravelCollective/html/zipball/ae15b9c4bf918ec3a78f092b8555551dd693fde3";
+          sha256 = "0prkxn874gp2x1hv4nsv30rfrqn5l7ld8qy3ivd3p7n391k7iak6";
+        };
+      };
+    };
+    "lcobucci/jwt" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "lcobucci-jwt-3ef8657a78278dfeae7707d51747251db4176240";
+        src = fetchurl {
+          url = "https://api.github.com/repos/lcobucci/jwt/zipball/3ef8657a78278dfeae7707d51747251db4176240";
+          sha256 = "03d8ah4xjhq4pikifgbyxlip8pdqwdiypi2aqbx32i98sj2fa4fr";
+        };
+      };
+    };
+    "league/commonmark" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-commonmark-2b8185c13bc9578367a5bf901881d1c1b5bbd09b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/commonmark/zipball/2b8185c13bc9578367a5bf901881d1c1b5bbd09b";
+          sha256 = "14hp7vmqag9jh89rcq1mi3hyw01rkmypdbw2p3zsnjq2p8wwh4r5";
+        };
+      };
+    };
+    "league/csv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-csv-f28da6e483bf979bac10e2add384c90ae9983e4e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/csv/zipball/f28da6e483bf979bac10e2add384c90ae9983e4e";
+          sha256 = "13wpdjf0646z1mawi9bh540gvykwx7ry6kd8cyvpnpi1gjxyqzma";
+        };
+      };
+    };
+    "league/event" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-event-d2cc124cf9a3fab2bb4ff963307f60361ce4d119";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/event/zipball/d2cc124cf9a3fab2bb4ff963307f60361ce4d119";
+          sha256 = "1fc8aj0mpbrnh3b93gn8pypix28nf2gfvi403kfl7ibh5iz6ds5l";
+        };
+      };
+    };
+    "league/flysystem" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-f3ad69181b8afed2c9edf7be5a2918144ff4ea32";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32";
+          sha256 = "0s4sx4j7c16qkk7m6k2r4ajfjidlv15z18ybxhfmmz4jb4wsmv94";
+        };
+      };
+    };
+    "league/flysystem-aws-s3-v3" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-aws-s3-v3-4e25cc0582a36a786c31115e419c6e40498f6972";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/4e25cc0582a36a786c31115e419c6e40498f6972";
+          sha256 = "1q2vkgyaz7h6z3q0z3v3l5rsvhv4xc45prgzr214cgm656i2h1ab";
+        };
+      };
+    };
+    "league/flysystem-cached-adapter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-flysystem-cached-adapter-d1925efb2207ac4be3ad0c40b8277175f99ffaff";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff";
+          sha256 = "1gvp89cl27ypcy4h0qjm04dc5k77jfm95m4paasglzfsi6g40i71";
+        };
+      };
+    };
+    "league/mime-type-detection" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-mime-type-detection-3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3";
+          sha256 = "0pmq486v2nf6672y2z53cyb3mfrxcc8n7z2ilpzz9zkkf2yb990j";
+        };
+      };
+    };
+    "league/oauth2-server" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "league-oauth2-server-f5698a3893eda9a17bcd48636990281e7ca77b2a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/thephpleague/oauth2-server/zipball/f5698a3893eda9a17bcd48636990281e7ca77b2a";
+          sha256 = "1fi46pi8aiw8jdhdjwq38kxrva9hbk85h5gr5h1ixlxm699vnrsz";
+        };
+      };
+    };
+    "masterminds/html5" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "masterminds-html5-9227822783c75406cfe400984b2f095cdf03d417";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Masterminds/html5-php/zipball/9227822783c75406cfe400984b2f095cdf03d417";
+          sha256 = "1szy5njj102vql3i9l9qgnx8z40lhn7lgaqkscma9hn478963rbz";
+        };
+      };
+    };
+    "maximebf/debugbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "maximebf-debugbar-6d51ee9e94cff14412783785e79a4e7ef97b9d62";
+        src = fetchurl {
+          url = "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62";
+          sha256 = "13lh63wnsp2a6564h3if3925x4maf2plkhzyd1byv995g7bhi68i";
+        };
+      };
+    };
+    "monolog/monolog" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "monolog-monolog-d7fd7450628561ba697b7097d86db72662f54aef";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Seldaek/monolog/zipball/d7fd7450628561ba697b7097d86db72662f54aef";
+          sha256 = "1zi8pprp0jfjvnw4xh5rcbcr8wmqcgrsccl257p25x2n50sggm8l";
+        };
+      };
+    };
+    "mtdowling/jmespath.php" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "mtdowling-jmespath.php-9b87907a81b87bc76d19a7fb2d61e61486ee9edb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/jmespath/jmespath.php/zipball/9b87907a81b87bc76d19a7fb2d61e61486ee9edb";
+          sha256 = "1ig3gi6f8gisagcn876598ps48s86s6m0c82diyksylarg3yn0yd";
+        };
+      };
+    };
+    "neitanod/forceutf8" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "neitanod-forceutf8-c1fbe70bfb5ad41b8ec5785056b0e308b40d4831";
+        src = fetchurl {
+          url = "https://api.github.com/repos/neitanod/forceutf8/zipball/c1fbe70bfb5ad41b8ec5785056b0e308b40d4831";
+          sha256 = "1fvh2iapy7q22n65p6xkcbxcmp68x917gkv2cb0gs59671fwxsjf";
+        };
+      };
+    };
+    "nesbot/carbon" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nesbot-carbon-93d9db91c0235c486875d22f1e08b50bdf3e6eee";
+        src = fetchurl {
+          url = "https://api.github.com/repos/briannesbitt/Carbon/zipball/93d9db91c0235c486875d22f1e08b50bdf3e6eee";
+          sha256 = "1xk4bg9imbsm8481mc49111cimanrxswqqkj3bqs4ja8bam6a51z";
+        };
+      };
+    };
+    "nikic/php-parser" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nikic-php-parser-4432ba399e47c66624bc73c8c0f811e5c109576f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f";
+          sha256 = "0372c09xdgdr9dhd9m7sblxyqxk9xdk2r9s0i13ja3ascsz3zvpd";
+        };
+      };
+    };
+    "nunomaduro/collision" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nunomaduro-collision-f7c45764dfe4ba5f2618d265a6f1f9c72732e01d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/nunomaduro/collision/zipball/f7c45764dfe4ba5f2618d265a6f1f9c72732e01d";
+          sha256 = "1cazbjxl5rqw4cl783nrymhcvjhvwwwjswr5w0si1wfhmpvr349q";
+        };
+      };
+    };
+    "nyholm/psr7" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "nyholm-psr7-1461e07a0f2a975a52082ca3b769ca912b816226";
+        src = fetchurl {
+          url = "https://api.github.com/repos/Nyholm/psr7/zipball/1461e07a0f2a975a52082ca3b769ca912b816226";
+          sha256 = "1i6v8r9c2gxsjafyy03g339hkc0wcbsdlg47gy6rswg7qc1r91g1";
+        };
+      };
+    };
+    "onelogin/php-saml" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "onelogin-php-saml-a7328b11887660ad248ea10952dd67a5aa73ba3b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/onelogin/php-saml/zipball/a7328b11887660ad248ea10952dd67a5aa73ba3b";
+          sha256 = "0ycj3n22k5i3h8p7gn0xff6a7smjypazl2k5qvyzg86fjr7s3vfv";
+        };
+      };
+    };
+    "opis/closure" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "opis-closure-3d81e4309d2a927abbe66df935f4bb60082805ad";
+        src = fetchurl {
+          url = "https://api.github.com/repos/opis/closure/zipball/3d81e4309d2a927abbe66df935f4bb60082805ad";
+          sha256 = "0hqs6rdkkcggswrgjlispkby2yg4hwn63bl2ma62lnmpfbpwn0sd";
+        };
+      };
+    };
+    "paragonie/constant_time_encoding" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "paragonie-constant_time_encoding-f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/f34c2b11eb9d2c9318e13540a1dbc2a3afbd939c";
+          sha256 = "1r1xj3j7s5mskw5gh3ars4dfhvcn7d252gdqgpif80026kj5fvrp";
+        };
+      };
+    };
+    "paragonie/random_compat" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "paragonie-random_compat-996434e5492cb4c3edcb9168db6fbb1359ef965a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a";
+          sha256 = "0ky7lal59dihf969r1k3pb96ql8zzdc5062jdbg69j6rj0scgkyx";
+        };
+      };
+    };
+    "patchwork/utf8" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "patchwork-utf8-e1fa4d4a57896d074c9a8d01742b688d5db4e9d5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tchwork/utf8/zipball/e1fa4d4a57896d074c9a8d01742b688d5db4e9d5";
+          sha256 = "0rarkg8v23y58bc4n6j39wdi6is0p1rgqxnixqlgavcm35xjgnw0";
+        };
+      };
+    };
+    "php-http/message-factory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-http-message-factory-a478cb11f66a6ac48d8954216cfed9aa06a501a1";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1";
+          sha256 = "13drpc83bq332hz0b97whibkm7jpk56msq4yppw9nmrchzwgy7cs";
+        };
+      };
+    };
+    "php-parallel-lint/php-console-color" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-parallel-lint-php-console-color-b6af326b2088f1ad3b264696c9fd590ec395b49e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-parallel-lint/PHP-Console-Color/zipball/b6af326b2088f1ad3b264696c9fd590ec395b49e";
+          sha256 = "030449mkpxs35y8dk336ls3bfdq3zjnxswnk5khlg45z5147cr3k";
+        };
+      };
+    };
+    "php-parallel-lint/php-console-highlighter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "php-parallel-lint-php-console-highlighter-21bf002f077b177f056d8cb455c5ed573adfdbb8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/21bf002f077b177f056d8cb455c5ed573adfdbb8";
+          sha256 = "013phmp5n6hp6mvlpbqbrih0zd8h7xc152dpzxxf49b0jczxh8y4";
+        };
+      };
+    };
+    "phpdocumentor/reflection-common" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-reflection-common-1d01c49d4ed62f25aa84a747ad35d5a16924662b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b";
+          sha256 = "1wx720a17i24471jf8z499dnkijzb4b8xra11kvw9g9hhzfadz1r";
+        };
+      };
+    };
+    "phpdocumentor/reflection-docblock" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-reflection-docblock-069a785b2141f5bcf49f3e353548dc1cce6df556";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556";
+          sha256 = "0qid63bsfjmc3ka54f1ijl4a5zqwf7jmackjyjmbw3gxdnbi69il";
+        };
+      };
+    };
+    "phpdocumentor/type-resolver" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpdocumentor-type-resolver-6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0";
+          sha256 = "01g6mihq5wd1396njjb7ibcdfgk26ix1kmbjb6dlshzav0k3983h";
+        };
+      };
+    };
+    "phpoption/phpoption" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpoption-phpoption-eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15";
+        src = fetchurl {
+          url = "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15";
+          sha256 = "1lk50y8jj2mzbwc2mxfm2xdasxf4axya72nv8wfc1vyz9y5ys3li";
+        };
+      };
+    };
+    "phpseclib/phpseclib" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpseclib-phpseclib-c812fbb4d6b4d7f30235ab7298a12f09ba13b37c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpseclib/phpseclib/zipball/c812fbb4d6b4d7f30235ab7298a12f09ba13b37c";
+          sha256 = "0yak18zyyjhqd2l5mlgiinw9rf4rrvbyxp2fnivjvm93jymhhl49";
+        };
+      };
+    };
+    "phpspec/prophecy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "phpspec-prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea";
+        src = fetchurl {
+          url = "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea";
+          sha256 = "167snpasy7499pbxpyx2bj607qa1vrg07xfpa30dlpbwi7f34dji";
+        };
+      };
+    };
+    "pragmarx/google2fa" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-26c4c5cf30a2844ba121760fd7301f8ad240100b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa/zipball/26c4c5cf30a2844ba121760fd7301f8ad240100b";
+          sha256 = "1jmc7s3hbczvb0h4kfmya67l969nfww3lmc4slvzsz0zd769434h";
+        };
+      };
+    };
+    "pragmarx/google2fa-laravel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-laravel-f9014fd7ea36a1f7fffa233109cf59b209469647";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa-laravel/zipball/f9014fd7ea36a1f7fffa233109cf59b209469647";
+          sha256 = "1y1b24fyfsf8mrhla3j699x1x6pd23rw5k3pjsag0vqgvd4v3a8n";
+        };
+      };
+    };
+    "pragmarx/google2fa-qrcode" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "pragmarx-google2fa-qrcode-fd5ff0531a48b193a659309cc5fb882c14dbd03f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/fd5ff0531a48b193a659309cc5fb882c14dbd03f";
+          sha256 = "1csa15v68bznrz3262xjcdgcgw0lg8fwb6fhrbms2mnylhq4s35g";
+        };
+      };
+    };
+    "psr/cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-cache-d11b50ad223250cf17b86e38383413f5a6764bf8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8";
+          sha256 = "06i2k3dx3b4lgn9a4v1dlgv8l9wcl4kl7vzhh63lbji0q96hv8qz";
+        };
+      };
+    };
+    "psr/container" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-container-8622567409010282b7aeebe4bb841fe98b58dcaf";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf";
+          sha256 = "0qfvyfp3mli776kb9zda5cpc8cazj3prk0bg0gm254kwxyfkfrwn";
+        };
+      };
+    };
+    "psr/http-factory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-http-factory-12ac7fcd07e5b077433f5f2bee95b3a771bf61be";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be";
+          sha256 = "0inbnqpc5bfhbbda9dwazsrw9xscfnc8rdx82q1qm3r446mc1vds";
+        };
+      };
+    };
+    "psr/http-message" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-http-message-f6561bf28d520154e4b0ec72be95418abe6d9363";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363";
+          sha256 = "195dd67hva9bmr52iadr4kyp2gw2f5l51lplfiay2pv6l9y4cf45";
+        };
+      };
+    };
+    "psr/log" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-log-d49695b909c3b7628b6289db5479a1c204601f11";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11";
+          sha256 = "0sb0mq30dvmzdgsnqvw3xh4fb4bqjncx72kf8n622f94dd48amln";
+        };
+      };
+    };
+    "psr/simple-cache" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psr-simple-cache-408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
+        src = fetchurl {
+          url = "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b";
+          sha256 = "1djgzclkamjxi9jy4m9ggfzgq1vqxaga2ip7l3cj88p7rwkzjxgw";
+        };
+      };
+    };
+    "psy/psysh" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "psy-psysh-e4573f47750dd6c92dca5aee543fa77513cbd8d3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3";
+          sha256 = "1pzw57gild4h66nfkvlcbz43ralypcjr9dgvwj6rs2gl72rfiwnk";
+        };
+      };
+    };
+    "ralouphie/getallheaders" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "ralouphie-getallheaders-120b605dfeb996808c31b6477290a714d356e822";
+        src = fetchurl {
+          url = "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822";
+          sha256 = "1bv7ndkkankrqlr2b4kw7qp3fl0dxi6bp26bnim6dnlhavd6a0gg";
+        };
+      };
+    };
+    "ramsey/uuid" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "ramsey-uuid-ffa80ab953edd85d5b6c004f96181a538aad35a3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/ramsey/uuid/zipball/ffa80ab953edd85d5b6c004f96181a538aad35a3";
+          sha256 = "043g1nwpbvqrvq6ri2517254d72538h5jfzv9miafnws4ajwfpzg";
+        };
+      };
+    };
+    "robrichards/xmlseclibs" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "robrichards-xmlseclibs-f8f19e58f26cdb42c54b214ff8a820760292f8df";
+        src = fetchurl {
+          url = "https://api.github.com/repos/robrichards/xmlseclibs/zipball/f8f19e58f26cdb42c54b214ff8a820760292f8df";
+          sha256 = "01zlpm36rrdj310cfmiz2fnabszxd3fq80fa8x8j3f9ki7dvhh5y";
+        };
+      };
+    };
+    "rollbar/rollbar" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "rollbar-rollbar-ff3db5739dd635740caed02ddad43e671b5a37e5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/rollbar/rollbar-php/zipball/ff3db5739dd635740caed02ddad43e671b5a37e5";
+          sha256 = "1mkbw0mcaj50ks0x6ql2qq7dr2i5nfr46x6chdf8hvnm1vjnphmd";
+        };
+      };
+    };
+    "rollbar/rollbar-laravel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "rollbar-rollbar-laravel-11df7e19313a4cf60769d26ce35e29b09d5405cd";
+        src = fetchurl {
+          url = "https://api.github.com/repos/rollbar/rollbar-php-laravel/zipball/11df7e19313a4cf60769d26ce35e29b09d5405cd";
+          sha256 = "0df52a29c9xs0ifvfkcskix1nx9bz6xykrv2ah9m4pg1ikjkg2cx";
+        };
+      };
+    };
+    "sebastian/comparator" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-comparator-1071dfcef776a57013124ff35e1fc41ccd294758";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758";
+          sha256 = "0i2lnvf56n4s88001dzxzy9bjzih1qbf7kzc7457qhlvwdnaydn3";
+        };
+      };
+    };
+    "sebastian/diff" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-diff-14f72dd46eaf2f2293cbe79c93cc0bc43161a211";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211";
+          sha256 = "0planffhifwhxgml9r3ma89c83jvbrqilj517a5ps9x8vc6kk312";
+        };
+      };
+    };
+    "sebastian/exporter" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-exporter-0c32ea2e40dbf59de29f3b49bf375176ce7dd8db";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0c32ea2e40dbf59de29f3b49bf375176ce7dd8db";
+          sha256 = "179m35wkps4vy5yxdpbgim8v2cxf9v2wifswj3ww7qhg7h53b1gk";
+        };
+      };
+    };
+    "sebastian/recursion-context" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "sebastian-recursion-context-367dcba38d6e1977be014dc4b22f47a484dac7fb";
+        src = fetchurl {
+          url = "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb";
+          sha256 = "1zpq0qk2mgwnbyhjnj05dz2n2v8hvj2g4jy68fd5klxxkdr92ps7";
+        };
+      };
+    };
+    "spatie/db-dumper" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-db-dumper-05e5955fb882008a8947c5a45146d86cfafa10d1";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1";
+          sha256 = "0g0scxq259qn1maxa61qh3cl5a88778qgx27dgbxr9p8kszivlsg";
+        };
+      };
+    };
+    "spatie/laravel-backup" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-laravel-backup-3ede36961b79b6ea4a6b5f708f2cc60fee74ad6c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/laravel-backup/zipball/3ede36961b79b6ea4a6b5f708f2cc60fee74ad6c";
+          sha256 = "1i6j0qc8g80d9jxb4xhybgym8sykdackfqwqdahhmgs4mc4fg6ps";
+        };
+      };
+    };
+    "spatie/temporary-directory" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "spatie-temporary-directory-f517729b3793bca58f847c5fd383ec16f03ffec6";
+        src = fetchurl {
+          url = "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6";
+          sha256 = "1pn6l9c86yigpzn83ajpq2wiy8ds0rlxmiq0iwby14cijc98ma3m";
+        };
+      };
+    };
+    "squizlabs/php_codesniffer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "squizlabs-php_codesniffer-ffced0d2c8fa8e6cdc4d695a743271fab6c38625";
+        src = fetchurl {
+          url = "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625";
+          sha256 = "1cndvz85ii2cl47lbfkmxr4xw03n7y70l6jc8sdh6bhz4axvk03z";
+        };
+      };
+    };
+    "swiftmailer/swiftmailer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "swiftmailer-swiftmailer-8a5d5072dca8f48460fce2f4131fcc495eec654c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c";
+          sha256 = "1p9m4fw9y9md9a7msbmnc0hpdrky8dwrllnyg1qf1cdyp9d70x1d";
+        };
+      };
+    };
+    "symfony/console" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-console-bdcc66f3140421038f495e5b50e3ca6ffa14c773";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/console/zipball/bdcc66f3140421038f495e5b50e3ca6ffa14c773";
+          sha256 = "16w04xyq1igg3q4542s3v8vry5k2wsz8ip1vz7j036ghlv154j76";
+        };
+      };
+    };
+    "symfony/css-selector" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-css-selector-c1e29de6dc893b130b45d20d8051efbb040560a9";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/css-selector/zipball/c1e29de6dc893b130b45d20d8051efbb040560a9";
+          sha256 = "0af571s9i7inwsjbqpf5dkpghs2k5ds8ba8x7wdvad6hpgphify8";
+        };
+      };
+    };
+    "symfony/debug" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-debug-5de6c6e7f52b364840e53851c126be4d71e60470";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470";
+          sha256 = "1kmf8kk5ra6nr17z007vacw3dvpcglng584l0y98wrn5kmmfgh4x";
+        };
+      };
+    };
+    "symfony/deprecation-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-deprecation-contracts-6f981ee24cf69ee7ce9736146d1c57c2780598a8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/deprecation-contracts/zipball/6f981ee24cf69ee7ce9736146d1c57c2780598a8";
+          sha256 = "05jws1g4kcs297bwf5d72z47m2263i2jqpivi3yv8kf50kdjjzba";
+        };
+      };
+    };
+    "symfony/error-handler" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-error-handler-2d0c9c229d995bef5e87fe4e83b717541832b448";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/error-handler/zipball/2d0c9c229d995bef5e87fe4e83b717541832b448";
+          sha256 = "1zl6p02pzmzi64fh6c77zgcnwqd41nxvhi4syhdm90l24d0b1di0";
+        };
+      };
+    };
+    "symfony/event-dispatcher" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-event-dispatcher-3ccfcfb96ecce1217d7b0875a0736976bc6e63dc";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/event-dispatcher/zipball/3ccfcfb96ecce1217d7b0875a0736976bc6e63dc";
+          sha256 = "0rx6h15nzhia0g797xbgd692lraxlbv9fblg9528xr6if94bgcng";
+        };
+      };
+    };
+    "symfony/event-dispatcher-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-event-dispatcher-contracts-01e9a4efac0ee33a05dfdf93b346f62e7d0e998c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/01e9a4efac0ee33a05dfdf93b346f62e7d0e998c";
+          sha256 = "08hi7dgz6bnq8ys1hblgqfqkgix6kzqb1a4751bkxfz2sjh6sza8";
+        };
+      };
+    };
+    "symfony/finder" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-finder-b17d76d7ed179f017aad646e858c90a2771af15d";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/finder/zipball/b17d76d7ed179f017aad646e858c90a2771af15d";
+          sha256 = "0lmss9kblyj3pvc7wmkj1vlkjx8rr8ad6rrd9c0pf5r9iqbgy1zq";
+        };
+      };
+    };
+    "symfony/http-client-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-client-contracts-ec82e57b5b714dbb69300d348bd840b345e24166";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-client-contracts/zipball/ec82e57b5b714dbb69300d348bd840b345e24166";
+          sha256 = "0q2ad5vjyrh753a71ymlqbb6rnmvq2z65c5mf4iwic2j16cmzr7p";
+        };
+      };
+    };
+    "symfony/http-foundation" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-foundation-60e8e42a4579551e5ec887d04380e2ab9e4cc314";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-foundation/zipball/60e8e42a4579551e5ec887d04380e2ab9e4cc314";
+          sha256 = "1vkb67il9cv954lkkzgmsivcx9iypv4hmp1kkkgprmqsrzl5plwl";
+        };
+      };
+    };
+    "symfony/http-kernel" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-http-kernel-330a859a7ec9d7e7d82f2569b1c0700a26ffb1e3";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/http-kernel/zipball/330a859a7ec9d7e7d82f2569b1c0700a26ffb1e3";
+          sha256 = "0cgngsln3k2mfp8hrmbmc71alpwfhqv7ilq8mgj1h1blh8ms5igg";
+        };
+      };
+    };
+    "symfony/mime" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-mime-92d27a34dea2e199fa9b687e3fff3a7d169b7b1c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/mime/zipball/92d27a34dea2e199fa9b687e3fff3a7d169b7b1c";
+          sha256 = "02ibqpbm9az4hwfk6k8ypaqwwbx92kw14lp28wsxywb0lp7hzbcd";
+        };
+      };
+    };
+    "symfony/polyfill-ctype" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-ctype-30885182c981ab175d4d034db0f6f469898070ab";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab";
+          sha256 = "0dfh24f8g048vbj88vx0lvw48nq5dsamy5kva72ab1h7vw9hvpwb";
+        };
+      };
+    };
+    "symfony/polyfill-iconv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-iconv-f1aed619e28cb077fc83fac8c4c0383578356e40";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-iconv/zipball/f1aed619e28cb077fc83fac8c4c0383578356e40";
+          sha256 = "0fjx1a0kvkj0677nc6h49phqlk0hsgkzbs401lmhj6b6cdc7hvzp";
+        };
+      };
+    };
+    "symfony/polyfill-intl-idn" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-intl-idn-749045c69efb97c70d25d7463abba812e91f3a44";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44";
+          sha256 = "0ni1zlnp5xpxyzbax7v3mn20x35i69nsmch2sx322cs6dwb0ggbn";
+        };
+      };
+    };
+    "symfony/polyfill-intl-normalizer" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-intl-normalizer-8590a5f561694770bdcd3f9b5c69dde6945028e8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8";
+          sha256 = "1c60xin00q0d2gbyaiglxppn5hqwki616v5chzwyhlhf6aplwsh3";
+        };
+      };
+    };
+    "symfony/polyfill-mbstring" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-mbstring-0abb51d2f102e00a4eefcf46ba7fec406d245825";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825";
+          sha256 = "1z17f7465fn778ak68mzz5kg2ql1n6ghgqh3827n9mcipwbp4k58";
+        };
+      };
+    };
+    "symfony/polyfill-php72" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php72-9a142215a36a3888e30d0a9eeea9766764e96976";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976";
+          sha256 = "06ipbcvrxjzgvraf2z9fwgy0bzvzjvs5z1j67grg1gb15x3d428b";
+        };
+      };
+    };
+    "symfony/polyfill-php73" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php73-cc5db0e22b3cb4111010e48785a97f670b350ca5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5";
+          sha256 = "04z6fah8rn5b01w78j0vqa0jys4mvji66z4ql6wk1r1bf6j0048y";
+        };
+      };
+    };
+    "symfony/polyfill-php80" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-polyfill-php80-4407588e0d3f1f52efb65fbe92babe41f37fe50c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c";
+          sha256 = "187whknxl9rs0ddkjph6zmla5kh3k7w6hnvgfc44zig17jxsjdff";
+        };
+      };
+    };
+    "symfony/process" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-process-54e9d763759268e07eb13b921d8631fc2816206f";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/process/zipball/54e9d763759268e07eb13b921d8631fc2816206f";
+          sha256 = "01zkgmf4ypscdrpb0wk0fb593sm09xfdk8ah645xx38rsbf3hiy1";
+        };
+      };
+    };
+    "symfony/psr-http-message-bridge" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-psr-http-message-bridge-22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34";
+          sha256 = "18zvhrcry8173wklv3zpf8k06xx15smrw1dnj0zmq97injnam6fl";
+        };
+      };
+    };
+    "symfony/routing" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-routing-324f7f73b89cd30012575119430ccfb1dfbc24be";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/routing/zipball/324f7f73b89cd30012575119430ccfb1dfbc24be";
+          sha256 = "0lks9bscddqgwbljgrf4mvd948frvv2ckar4v8m3pdc8s9pajrw2";
+        };
+      };
+    };
+    "symfony/service-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-service-contracts-1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/service-contracts/zipball/1ab11b933cd6bc5464b08e81e2c5b07dec58b0fc";
+          sha256 = "0c1vq6jv2jc37i9m1ndpbv7g75blgvf1s44vk65nb1jdk3hrbrd1";
+        };
+      };
+    };
+    "symfony/translation" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-translation-dfe132c5c6d89f90ce7f961742cc532e9ca16dd4";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/translation/zipball/dfe132c5c6d89f90ce7f961742cc532e9ca16dd4";
+          sha256 = "1w7m0x6i2r77h8w7sqhnaf4g52x6bb53mm4wbx70aljfahigk0l1";
+        };
+      };
+    };
+    "symfony/translation-contracts" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-translation-contracts-d28150f0f44ce854e942b671fc2620a98aae1b1e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/translation-contracts/zipball/d28150f0f44ce854e942b671fc2620a98aae1b1e";
+          sha256 = "0gwqxhrzb9dzsqvqr9lc3whzl8wwlfhwskr0wdwqri4pq5mspb2w";
+        };
+      };
+    };
+    "symfony/var-dumper" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "symfony-var-dumper-35237c5e5dcb6593a46a860ba5b29c1d4683d80e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/symfony/var-dumper/zipball/35237c5e5dcb6593a46a860ba5b29c1d4683d80e";
+          sha256 = "0vqb4m5iqy0g9l4wh53f6w5fsf4lh1i3k7f7lisg5wvxlwfy4yjw";
+        };
+      };
+    };
+    "tecnickcom/tc-lib-barcode" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tecnickcom-tc-lib-barcode-a8a7183e2be6379e522dc825a3b7a3af5394a9e7";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tecnickcom/tc-lib-barcode/zipball/a8a7183e2be6379e522dc825a3b7a3af5394a9e7";
+          sha256 = "19b06fj7cin93xis03h62nm64rxmryyzi5rxpc4fi5z5i1q97702";
+        };
+      };
+    };
+    "tecnickcom/tc-lib-color" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tecnickcom-tc-lib-color-83cdb57fd900901c6aa2af8cfd67202518fb69b2";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tecnickcom/tc-lib-color/zipball/83cdb57fd900901c6aa2af8cfd67202518fb69b2";
+          sha256 = "1qs2j2288awzmrzkpbyswp1v8q83fk3fjmz1kzgdz38xxmff5sfp";
+        };
+      };
+    };
+    "tightenco/collect" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tightenco-collect-3a42ca9b730a88e942fe05180d4f15e045464e40";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tighten/collect/zipball/3a42ca9b730a88e942fe05180d4f15e045464e40";
+          sha256 = "0gs28b97v8ll6rr7yc2lwawkjzpigzadivr43idfs3hrc2jw37vv";
+        };
+      };
+    };
+    "tightenco/ziggy" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tightenco-ziggy-82ea6ec6cb6ab3545b0245310b2a424316fe48d8";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tighten/ziggy/zipball/82ea6ec6cb6ab3545b0245310b2a424316fe48d8";
+          sha256 = "1mfiwvpd5jhs9lsg0bl3qm1spa25062cfilkn80f9la08gbry5fh";
+        };
+      };
+    };
+    "tijsverkoyen/css-to-inline-styles" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "tijsverkoyen-css-to-inline-styles-da444caae6aca7a19c0c140f68c6182e337d5b1c";
+        src = fetchurl {
+          url = "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c";
+          sha256 = "13lzhf1kswg626b8zd23z4pa7sg679si368wcg6pklqvijnn0any";
+        };
+      };
+    };
+    "unicodeveloper/laravel-password" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "unicodeveloper-laravel-password-806e345ae992e0adf38c4cfa32063d7d7c9d189a";
+        src = fetchurl {
+          url = "https://api.github.com/repos/unicodeveloper/laravel-password/zipball/806e345ae992e0adf38c4cfa32063d7d7c9d189a";
+          sha256 = "1qd63zahc0mw7ypfghm2q1zfq1w3vr58zxh5gdgcx0srlg2v69gc";
+        };
+      };
+    };
+    "vlucas/phpdotenv" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "vlucas-phpdotenv-5b547cdb25825f10251370f57ba5d9d924e6f68e";
+        src = fetchurl {
+          url = "https://api.github.com/repos/vlucas/phpdotenv/zipball/5b547cdb25825f10251370f57ba5d9d924e6f68e";
+          sha256 = "05a2d5dky62xq42qldhzxak6hf8734kjnpw3y9xhlvrg8ir4d8pv";
+        };
+      };
+    };
+    "watson/validating" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "watson-validating-b8731af37eade6b25aac1fcec5e90fdfdb9de5f5";
+        src = fetchurl {
+          url = "https://api.github.com/repos/dwightwatson/validating/zipball/b8731af37eade6b25aac1fcec5e90fdfdb9de5f5";
+          sha256 = "1mhialmg9f8q1ka3nawgs6b0pzinb60c6n7vkml3226wpwcj9kq0";
+        };
+      };
+    };
+    "webmozart/assert" = {
+      targetDir = "";
+      src = composerEnv.buildZipPackage {
+        name = "webmozart-assert-6964c76c7804814a842473e0c8fd15bab0f18e25";
+        src = fetchurl {
+          url = "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25";
+          sha256 = "17xqhb2wkwr7cgbl4xdjf7g1vkal17y79rpp6xjpf1xgl5vypc64";
+        };
+      };
+    };
+  };
+  devPackages = {};
+in
+composerEnv.buildPackage {
+  inherit packages devPackages noDev;
+  name = "snipe-it";
+  src = composerEnv.filterSrc ./.;
+  executable = false;
+  symlinkDependencies = false;
+  meta = {
+    license = "AGPL-3.0-or-later";
+  };
+}
+
diff --git a/pkgs/servers/web-apps/snipe-it/update.sh b/pkgs/servers/web-apps/snipe-it/update.sh
new file mode 100755
index 0000000000000..cf06f81b07811
--- /dev/null
+++ b/pkgs/servers/web-apps/snipe-it/update.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nix curl jq nix-update
+
+# check if composer2nix is installed
+if ! command -v composer2nix &> /dev/null; then
+  echo "Please install composer2nix (https://github.com/svanderburg/composer2nix) to run this script."
+  exit 1
+fi
+
+CURRENT_VERSION=$(nix eval --raw '(with import ../../../.. {}; snipe-it.version)')
+TARGET_VERSION_REMOTE=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} https://api.github.com/repos/snipe/snipe-it/releases/latest | jq -r ".tag_name")
+TARGET_VERSION=${TARGET_VERSION_REMOTE:1}
+SNIPE_IT=https://github.com/snipe/snipe-it/raw/$TARGET_VERSION_REMOTE
+SHA256=$(nix-prefetch-url --unpack "https://github.com/snipe/snipe-it/archive/v$TARGET_VERSION/snipe-it.tar.gz")
+
+if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
+  echo "snipe-it is up-to-date: ${CURRENT_VERSION}"
+  exit 0
+fi
+
+curl -LO "$SNIPE_IT/composer.json"
+curl -LO "$SNIPE_IT/composer.lock"
+
+composer2nix --name "snipe-it" \
+  --composition=composition.nix \
+  --no-dev
+rm composer.json composer.lock
+
+# change version number
+sed -e "s/version =.*;/version = \"$TARGET_VERSION\";/g" \
+    -e "s/sha256 =.*;/sha256 = \"$SHA256\";/g" \
+    -i ./default.nix
+
+# fix composer-env.nix
+sed -e "s/stdenv\.lib/lib/g" \
+    -e '3s/stdenv, writeTextFile/stdenv, lib, writeTextFile/' \
+    -i ./composer-env.nix
+
+# fix composition.nix
+sed -e '7s/stdenv writeTextFile/stdenv lib writeTextFile/' \
+    -i composition.nix
+
+# fix missing newline
+echo "" >> composition.nix
+echo "" >> php-packages.nix
+
+cd ../../../..
+nix-build -A snipe-it
+
+exit $?
diff --git a/pkgs/servers/web-apps/sogo/default.nix b/pkgs/servers/web-apps/sogo/default.nix
index 8af14f109a3b5..f94436c1f3729 100644
--- a/pkgs/servers/web-apps/sogo/default.nix
+++ b/pkgs/servers/web-apps/sogo/default.nix
@@ -1,6 +1,6 @@
 { gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python3, lndir
 , openssl, openldap, sope, libmemcached, curl, libsodium, libytnef, libzip, pkg-config, nixosTests
-, oathToolkit }:
+, oath-toolkit }:
 gnustep.stdenv.mkDerivation rec {
   pname = "SOGo";
   version = "5.5.0";
@@ -13,7 +13,7 @@ gnustep.stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ gnustep.make makeWrapper python3 ];
-  buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config openldap oathToolkit ];
+  buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config openldap oath-toolkit ];
 
   patches = [
     # TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
diff --git a/pkgs/servers/web-apps/vikunja/api.nix b/pkgs/servers/web-apps/vikunja/api.nix
index 2917c0e240089..5d01868725a8a 100644
--- a/pkgs/servers/web-apps/vikunja/api.nix
+++ b/pkgs/servers/web-apps/vikunja/api.nix
@@ -52,6 +52,7 @@ buildGoModule rec {
     homepage = "https://vikunja.io/";
     license = lib.licenses.agpl3Plus;
     maintainers = with lib.maintainers; [ em0lar ];
+    mainProgram = "vikunja";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index 6730608f70741..c288df7a11b74 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -4,8 +4,10 @@
 }:
 
 # Point the environment variable $WALLABAG_DATA to a data directory
-# that contains the folder `app/config` which must be a clone of
+# that contains the folder `app` which must be a clone of
 # wallabag's configuration files with your customized `parameters.yml`.
+# In practice you need to copy `${pkgs.wallabag}/app` and the
+# customizzed `parameters.yml` to $WALLABAG_DATA.
 # These need to be updated every package upgrade.
 #
 # After a package upgrade, empty the `var/cache` folder or unexpected
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index c0f94b1bca774..496bf02bb03aa 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.277";
+  version = "2.5.279";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-YLw0DR4dbPfNY56lNybEQFXFEVPZ99sQkwDl6gtz40E=";
+    sha256 = "sha256-4QYNKvAEeRSJS9lO30bI/SnM9rLmuvRMR/LsGT77wvY=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index d58a3c929aaac..3b670f6b64e01 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -15,6 +15,10 @@ let
   malloc0ReturnsNullCrossFlag = lib.optional
     (stdenv.hostPlatform != stdenv.buildPlatform)
     "--enable-malloc0returnsnull";
+
+  brokenOnDarwin = pkg: pkg.overrideAttrs (attrs: {
+    meta = attrs.meta // { broken = isDarwin; };
+  });
 in
 self: super:
 {
@@ -351,6 +355,10 @@ self: super:
     outputs = [ "out" "dev" ];
   });
 
+  xcbutilerrors = super.xcbutilerrors.overrideAttrs (attrs: {
+    outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
+  });
+
   xcbutilcursor = super.xcbutilcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     meta = attrs.meta // { maintainers = [ lib.maintainers.lovek323 ]; };
@@ -384,14 +392,22 @@ self: super:
     configureFlags = [
       "--with-sdkdir=${placeholder "out"}/include/xorg"
     ];
+    meta = attrs.meta // {
+      broken = isDarwin; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputmouse.x86_64-darwin
+    };
   });
 
   xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: {
     configureFlags = [
       "--with-sdkdir=${placeholder "out"}/include/xorg"
     ];
+    meta = attrs.meta // {
+      broken = isDarwin; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputjoystick.x86_64-darwin
+    };
   });
 
+  xf86inputkeyboard = brokenOnDarwin super.xf86inputkeyboard; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputkeyboard.x86_64-darwin
+
   xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     configureFlags = [
@@ -419,6 +435,12 @@ self: super:
     };
   });
 
+  xf86inputvoid = brokenOnDarwin super.xf86inputvoid; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86inputvoid.x86_64-darwin
+  xf86videodummy = brokenOnDarwin super.xf86videodummy; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videodummy.x86_64-darwin
+  xf86videosuncg6 = brokenOnDarwin super.xf86videosuncg6; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosuncg6.x86_64-darwin
+  xf86videosunffb = brokenOnDarwin super.xf86videosunffb; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosunffb.x86_64-darwin
+  xf86videosunleo = brokenOnDarwin super.xf86videosunleo; # never worked: https://hydra.nixos.org/job/nixpkgs/trunk/xorg.xf86videosunleo.x86_64-darwin
+
   # Obsolete drivers that don't compile anymore.
   xf86videoark     = super.xf86videoark.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
   xf86videogeode   = super.xf86videogeode.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix
index 3634548223ddd..967c6448a40b0 100644
--- a/pkgs/servers/zigbee2mqtt/default.nix
+++ b/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.25.0";
+  version = "1.25.1";
   reconstructLock = true;
 
   src = pkgs.fetchFromGitHub {
     owner = "Koenkk";
     repo = "zigbee2mqtt";
     rev = version;
-    sha256 = "Wp3+N3np/biNw2xaR79PpQ/S7o3FftjH6AgyMLM+ya8=";
+    sha256 = "IMRpT4BQvnsk8rl2bxiUbzVp4UcEaPLsniKneOq7Av4=";
   };
 
   passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
diff --git a/pkgs/servers/zigbee2mqtt/node-packages.nix b/pkgs/servers/zigbee2mqtt/node-packages.nix
index e4143d6eeceda..b14ca0a6e134b 100644
--- a/pkgs/servers/zigbee2mqtt/node-packages.nix
+++ b/pkgs/servers/zigbee2mqtt/node-packages.nix
@@ -4,15 +4,6 @@
 
 let
   sources = {
-    "@ampproject/remapping-2.0.3" = {
-      name = "_at_ampproject_slash_remapping";
-      packageName = "@ampproject/remapping";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.0.3.tgz";
-        sha512 = "DmIAguV77yFP0MGVFWknCMgSLAtsLR3VlRTteR6xgMpIfYtwaZuMvjGv5YlpiqN7S/5q87DHyuIx8oa15kiyag==";
-      };
-    };
     "@ampproject/remapping-2.1.2" = {
       name = "_at_ampproject_slash_remapping";
       packageName = "@ampproject/remapping";
@@ -22,25 +13,6 @@ let
         sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
       };
     };
-    "@babel/cli-7.17.0" = {
-      name = "_at_babel_slash_cli";
-      packageName = "@babel/cli";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz";
-        sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
-      };
-    };
-    "@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz" = {
-      name = "_at_babel_slash_cli";
-      packageName = "@babel/cli";
-      version = 1;
-      src = fetchurl {
-        name = "cli-1.tar.gz";
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz";
-        sha512 = "es10YH/ejXbg551vtnmEzIPe3MQRNOS644o3pf8vUr1tIeNzVNlP8BBvs1Eh7roh5A+k2fEHUas+ZptOWHA1fQ==";
-      };
-    };
     "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -50,15 +22,6 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.17.0" = {
-      name = "_at_babel_slash_compat-data";
-      packageName = "@babel/compat-data";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz";
-        sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
-      };
-    };
     "@babel/compat-data-7.17.7" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
@@ -68,40 +31,22 @@ let
         sha512 = "p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==";
       };
     };
-    "@babel/core-7.17.0" = {
+    "@babel/core-7.17.9" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz";
-        sha512 = "x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==";
-      };
-    };
-    "@babel/core-7.17.8" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.17.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz";
-        sha512 = "OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==";
-      };
-    };
-    "@babel/generator-7.17.0" = {
-      name = "_at_babel_slash_generator";
-      packageName = "@babel/generator";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz";
-        sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.9.tgz";
+        sha512 = "5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw==";
       };
     };
-    "@babel/generator-7.17.7" = {
+    "@babel/generator-7.17.9" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.17.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz";
-        sha512 = "oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.9.tgz";
+        sha512 = "rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -122,15 +67,6 @@ let
         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-compilation-targets-7.17.7" = {
       name = "_at_babel_slash_helper-compilation-targets";
       packageName = "@babel/helper-compilation-targets";
@@ -140,22 +76,13 @@ let
         sha512 = "UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.17.1" = {
+    "@babel/helper-create-class-features-plugin-7.17.9" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.1";
+      version = "7.17.9";
       src = fetchurl {
-        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-class-features-plugin-7.17.6" = {
-      name = "_at_babel_slash_helper-create-class-features-plugin";
-      packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.17.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz";
-        sha512 = "SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz";
+        sha512 = "kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==";
       };
     };
     "@babel/helper-create-regexp-features-plugin-7.17.0" = {
@@ -194,22 +121,13 @@ let
         sha512 = "KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==";
       };
     };
-    "@babel/helper-function-name-7.16.7" = {
+    "@babel/helper-function-name-7.17.9" = {
       name = "_at_babel_slash_helper-function-name";
       packageName = "@babel/helper-function-name";
-      version = "7.16.7";
+      version = "7.17.9";
       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==";
+        url = "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     };
     "@babel/helper-hoist-variables-7.16.7" = {
@@ -221,15 +139,6 @@ let
         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-member-expression-to-functions-7.17.7" = {
       name = "_at_babel_slash_helper-member-expression-to-functions";
       packageName = "@babel/helper-member-expression-to-functions";
@@ -248,15 +157,6 @@ let
         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-module-transforms-7.17.7" = {
       name = "_at_babel_slash_helper-module-transforms";
       packageName = "@babel/helper-module-transforms";
@@ -302,15 +202,6 @@ let
         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-simple-access-7.17.7" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
@@ -365,49 +256,31 @@ let
         sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.17.0" = {
+    "@babel/helpers-7.17.9" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz";
-        sha512 = "Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz";
+        sha512 = "cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==";
       };
     };
-    "@babel/helpers-7.17.8" = {
-      name = "_at_babel_slash_helpers";
-      packageName = "@babel/helpers";
-      version = "7.17.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz";
-        sha512 = "QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==";
-      };
-    };
-    "@babel/highlight-7.16.10" = {
+    "@babel/highlight-7.17.9" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.10";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
-        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     };
-    "@babel/parser-7.17.0" = {
+    "@babel/parser-7.17.9" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz";
-        sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
-      };
-    };
-    "@babel/parser-7.17.8" = {
-      name = "_at_babel_slash_parser";
-      packageName = "@babel/parser";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz";
-        sha512 = "BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.9.tgz";
+        sha512 = "vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
@@ -446,15 +319,6 @@ let
         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-class-static-block-7.17.6" = {
       name = "_at_babel_slash_plugin-proposal-class-static-block";
       packageName = "@babel/plugin-proposal-class-static-block";
@@ -464,13 +328,13 @@ let
         sha512 = "X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.17.8" = {
+    "@babel/plugin-proposal-decorators-7.17.9" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz";
-        sha512 = "U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.9.tgz";
+        sha512 = "EfH2LZ/vPa2wuPwJ26j+kYRkaubf89UlwxKXtxqEm57HrgSEYDB8t4swFP+p8LcI9yiP9ZRJJjo/58hS6BnaDA==";
       };
     };
     "@babel/plugin-proposal-dynamic-import-7.16.7" = {
@@ -527,15 +391,6 @@ let
         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-object-rest-spread-7.17.3" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
@@ -806,15 +661,6 @@ let
         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-destructuring-7.17.7" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
@@ -896,31 +742,13 @@ let
         sha512 = "KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==";
       };
     };
-    "@babel/plugin-transform-modules-commonjs-7.16.8" = {
+    "@babel/plugin-transform-modules-commonjs-7.17.9" = {
       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-commonjs-7.17.7" = {
-      name = "_at_babel_slash_plugin-transform-modules-commonjs";
-      packageName = "@babel/plugin-transform-modules-commonjs";
-      version = "7.17.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz";
-        sha512 = "ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==";
-      };
-    };
-    "@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";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz";
-        sha512 = "DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz";
+        sha512 = "2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==";
       };
     };
     "@babel/plugin-transform-modules-systemjs-7.17.8" = {
@@ -986,13 +814,13 @@ let
         sha512 = "z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==";
       };
     };
-    "@babel/plugin-transform-regenerator-7.16.7" = {
+    "@babel/plugin-transform-regenerator-7.17.9" = {
       name = "_at_babel_slash_plugin-transform-regenerator";
       packageName = "@babel/plugin-transform-regenerator";
-      version = "7.16.7";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz";
-        sha512 = "mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz";
+        sha512 = "Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==";
       };
     };
     "@babel/plugin-transform-reserved-words-7.16.7" = {
@@ -1085,16 +913,6 @@ let
         sha512 = "qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==";
       };
     };
-    "@babel/preset-env-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" = {
-      name = "_at_babel_slash_preset-env";
-      packageName = "@babel/preset-env";
-      version = 1;
-      src = fetchurl {
-        name = "preset-env-1.tar.gz";
-        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";
@@ -1113,32 +931,13 @@ let
         sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
-    "@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz" = {
-      name = "_at_babel_slash_preset-typescript";
-      packageName = "@babel/preset-typescript";
-      version = 1;
-      src = fetchurl {
-        name = "preset-typescript-1.tar.gz";
-        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz";
-        sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
-      };
-    };
-    "@babel/runtime-7.17.0" = {
+    "@babel/runtime-7.17.9" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.17.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.0.tgz";
-        sha512 = "etcO/ohMNaNA2UBdaXBBSX/3aEzFMRrVfaPv8Ptc0k+cWpWW0QFiGZ2XnVqQZI1Cf734LbPGmqBKWESfW4x/dQ==";
-      };
-    };
-    "@babel/runtime-7.17.8" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.17.8";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz";
-        sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz";
+        sha512 = "lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==";
       };
     };
     "@babel/template-7.16.7" = {
@@ -1150,22 +949,13 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.17.0" = {
+    "@babel/traverse-7.17.9" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.17.0";
+      version = "7.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz";
-        sha512 = "fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==";
-      };
-    };
-    "@babel/traverse-7.17.3" = {
-      name = "_at_babel_slash_traverse";
-      packageName = "@babel/traverse";
-      version = "7.17.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.9.tgz";
+        sha512 = "PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw==";
       };
     };
     "@babel/types-7.17.0" = {
@@ -1204,31 +994,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@eslint/eslintrc-1.0.5" = {
+    "@eslint/eslintrc-1.2.2" = {
       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==";
-      };
-    };
-    "@eslint/eslintrc-1.2.1" = {
-      name = "_at_eslint_slash_eslintrc";
-      packageName = "@eslint/eslintrc";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz";
-        sha512 = "bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==";
-      };
-    };
-    "@humanwhocodes/config-array-0.9.3" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.9.3";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz";
-        sha512 = "3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.2.tgz";
+        sha512 = "lTVWHs7O2hjBFZunXTZYnYqtB9GakA1lnxIf+gKq2nY5gxkkNi/lQvveW6t8gFdOHTg6nG50Xs95PrLqVpcaLg==";
       };
     };
     "@humanwhocodes/config-array-0.9.5" = {
@@ -1267,15 +1039,6 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jest/console-27.5.0" = {
-      name = "_at_jest_slash_console";
-      packageName = "@jest/console";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/console/-/console-27.5.0.tgz";
-        sha512 = "WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ==";
-      };
-    };
     "@jest/console-27.5.1" = {
       name = "_at_jest_slash_console";
       packageName = "@jest/console";
@@ -1285,15 +1048,6 @@ let
         sha512 = "kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==";
       };
     };
-    "@jest/core-27.5.0" = {
-      name = "_at_jest_slash_core";
-      packageName = "@jest/core";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/core/-/core-27.5.0.tgz";
-        sha512 = "DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q==";
-      };
-    };
     "@jest/core-27.5.1" = {
       name = "_at_jest_slash_core";
       packageName = "@jest/core";
@@ -1303,15 +1057,6 @@ let
         sha512 = "AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==";
       };
     };
-    "@jest/environment-27.5.0" = {
-      name = "_at_jest_slash_environment";
-      packageName = "@jest/environment";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.5.0.tgz";
-        sha512 = "lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw==";
-      };
-    };
     "@jest/environment-27.5.1" = {
       name = "_at_jest_slash_environment";
       packageName = "@jest/environment";
@@ -1321,15 +1066,6 @@ let
         sha512 = "/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==";
       };
     };
-    "@jest/fake-timers-27.5.0" = {
-      name = "_at_jest_slash_fake-timers";
-      packageName = "@jest/fake-timers";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.0.tgz";
-        sha512 = "e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ==";
-      };
-    };
     "@jest/fake-timers-27.5.1" = {
       name = "_at_jest_slash_fake-timers";
       packageName = "@jest/fake-timers";
@@ -1339,15 +1075,6 @@ let
         sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
       };
     };
-    "@jest/globals-27.5.0" = {
-      name = "_at_jest_slash_globals";
-      packageName = "@jest/globals";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/globals/-/globals-27.5.0.tgz";
-        sha512 = "wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg==";
-      };
-    };
     "@jest/globals-27.5.1" = {
       name = "_at_jest_slash_globals";
       packageName = "@jest/globals";
@@ -1357,15 +1084,6 @@ let
         sha512 = "ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==";
       };
     };
-    "@jest/reporters-27.5.0" = {
-      name = "_at_jest_slash_reporters";
-      packageName = "@jest/reporters";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.0.tgz";
-        sha512 = "DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA==";
-      };
-    };
     "@jest/reporters-27.5.1" = {
       name = "_at_jest_slash_reporters";
       packageName = "@jest/reporters";
@@ -1375,15 +1093,6 @@ let
         sha512 = "cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==";
       };
     };
-    "@jest/source-map-27.5.0" = {
-      name = "_at_jest_slash_source-map";
-      packageName = "@jest/source-map";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.0.tgz";
-        sha512 = "0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow==";
-      };
-    };
     "@jest/source-map-27.5.1" = {
       name = "_at_jest_slash_source-map";
       packageName = "@jest/source-map";
@@ -1393,15 +1102,6 @@ let
         sha512 = "y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==";
       };
     };
-    "@jest/test-result-27.5.0" = {
-      name = "_at_jest_slash_test-result";
-      packageName = "@jest/test-result";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.0.tgz";
-        sha512 = "Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw==";
-      };
-    };
     "@jest/test-result-27.5.1" = {
       name = "_at_jest_slash_test-result";
       packageName = "@jest/test-result";
@@ -1411,15 +1111,6 @@ let
         sha512 = "EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==";
       };
     };
-    "@jest/test-sequencer-27.5.0" = {
-      name = "_at_jest_slash_test-sequencer";
-      packageName = "@jest/test-sequencer";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz";
-        sha512 = "WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA==";
-      };
-    };
     "@jest/test-sequencer-27.5.1" = {
       name = "_at_jest_slash_test-sequencer";
       packageName = "@jest/test-sequencer";
@@ -1429,15 +1120,6 @@ let
         sha512 = "LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==";
       };
     };
-    "@jest/transform-27.5.0" = {
-      name = "_at_jest_slash_transform";
-      packageName = "@jest/transform";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/transform/-/transform-27.5.0.tgz";
-        sha512 = "yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA==";
-      };
-    };
     "@jest/transform-27.5.1" = {
       name = "_at_jest_slash_transform";
       packageName = "@jest/transform";
@@ -1447,15 +1129,6 @@ let
         sha512 = "ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==";
       };
     };
-    "@jest/types-27.5.0" = {
-      name = "_at_jest_slash_types";
-      packageName = "@jest/types";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-27.5.0.tgz";
-        sha512 = "oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ==";
-      };
-    };
     "@jest/types-27.5.1" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
@@ -1465,31 +1138,13 @@ let
         sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
       };
     };
-    "@jridgewell/resolve-uri-3.0.4" = {
-      name = "_at_jridgewell_slash_resolve-uri";
-      packageName = "@jridgewell/resolve-uri";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz";
-        sha512 = "cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==";
-      };
-    };
-    "@jridgewell/resolve-uri-3.0.5" = {
+    "@jridgewell/resolve-uri-3.0.6" = {
       name = "_at_jridgewell_slash_resolve-uri";
       packageName = "@jridgewell/resolve-uri";
-      version = "3.0.5";
+      version = "3.0.6";
       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.10" = {
-      name = "_at_jridgewell_slash_sourcemap-codec";
-      packageName = "@jridgewell/sourcemap-codec";
-      version = "1.4.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz";
-        sha512 = "Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==";
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz";
+        sha512 = "R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==";
       };
     };
     "@jridgewell/sourcemap-codec-1.4.11" = {
@@ -1501,31 +1156,13 @@ let
         sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
       };
     };
-    "@jridgewell/trace-mapping-0.2.7" = {
-      name = "_at_jridgewell_slash_trace-mapping";
-      packageName = "@jridgewell/trace-mapping";
-      version = "0.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.2.7.tgz";
-        sha512 = "ZKfRhw6eK2vvdWqpU7DQq49+BZESqh5rmkYpNhuzkz01tapssl2sNNy6uMUIgrTtUWQDijomWJzJRCoevVrfgw==";
-      };
-    };
-    "@jridgewell/trace-mapping-0.3.4" = {
+    "@jridgewell/trace-mapping-0.3.9" = {
       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==";
-      };
-    };
-    "@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3" = {
-      name = "_at_nicolo-ribaudo_slash_chokidar-2";
-      packageName = "@nicolo-ribaudo/chokidar-2";
-      version = "2.1.8-no-fsevents.3";
+      version = "0.3.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz";
-        sha512 = "s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==";
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz";
+        sha512 = "3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==";
       };
     };
     "@nodelib/fs.scandir-2.1.5" = {
@@ -1681,15 +1318,6 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
-    "@types/babel__core-7.1.18" = {
-      name = "_at_types_slash_babel__core";
-      packageName = "@types/babel__core";
-      version = "7.1.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz";
-        sha512 = "S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==";
-      };
-    };
     "@types/babel__core-7.1.19" = {
       name = "_at_types_slash_babel__core";
       packageName = "@types/babel__core";
@@ -1717,13 +1345,13 @@ let
         sha512 = "azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==";
       };
     };
-    "@types/babel__traverse-7.14.2" = {
+    "@types/babel__traverse-7.17.0" = {
       name = "_at_types_slash_babel__traverse";
       packageName = "@types/babel__traverse";
-      version = "7.14.2";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz";
-        sha512 = "K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==";
+        url = "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.0.tgz";
+        sha512 = "r8aveDbd+rzGP+ykSdF3oPuTVRWRfbBiHl0rVDM2yNEmSMXfkObQLV46b4RnCv3Lra51OlfnZhkkFaDl2MIRaA==";
       };
     };
     "@types/debounce-1.2.1" = {
@@ -1735,35 +1363,6 @@ let
         sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
       };
     };
-    "@types/debounce-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz" = {
-      name = "_at_types_slash_debounce";
-      packageName = "@types/debounce";
-      version = 1;
-      src = fetchurl {
-        name = "debounce-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz";
-        sha512 = "epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==";
-      };
-    };
-    "@types/debug-4.1.7" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = "4.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz";
-        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
-      };
-    };
-    "@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" = {
-      name = "_at_types_slash_debug";
-      packageName = "@types/debug";
-      version = 1;
-      src = fetchurl {
-        name = "debug-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz";
-        sha512 = "9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==";
-      };
-    };
     "@types/finalhandler-1.1.1" = {
       name = "_at_types_slash_finalhandler";
       packageName = "@types/finalhandler";
@@ -1827,15 +1426,6 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jest-27.4.0" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = "27.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
-        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
-      };
-    };
     "@types/jest-27.4.1" = {
       name = "_at_types_slash_jest";
       packageName = "@types/jest";
@@ -1845,16 +1435,6 @@ let
         sha512 = "23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==";
       };
     };
-    "@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz" = {
-      name = "_at_types_slash_jest";
-      packageName = "@types/jest";
-      version = 1;
-      src = fetchurl {
-        name = "jest-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz";
-        sha512 = "gHl8XuC1RZ8H2j5sHv/JqsaxXkDDM9iDOgu0Wp8sjs4u/snb2PVehyWXJPr+ORA0RPpgw231mnutWI1+0hgjIQ==";
-      };
-    };
     "@types/js-yaml-4.0.5" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
@@ -1873,15 +1453,6 @@ let
         sha512 = "wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==";
       };
     };
-    "@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/minimatch-3.0.5" = {
       name = "_at_types_slash_minimatch";
       packageName = "@types/minimatch";
@@ -1891,69 +1462,13 @@ let
         sha512 = "Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==";
       };
     };
-    "@types/ms-0.7.31" = {
-      name = "_at_types_slash_ms";
-      packageName = "@types/ms";
-      version = "0.7.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz";
-        sha512 = "iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==";
-      };
-    };
-    "@types/mz-2.7.4" = {
-      name = "_at_types_slash_mz";
-      packageName = "@types/mz";
-      version = "2.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz";
-        sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
-      };
-    };
-    "@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz" = {
-      name = "_at_types_slash_mz";
-      packageName = "@types/mz";
-      version = 1;
-      src = fetchurl {
-        name = "mz-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz";
-        sha512 = "Zs0imXxyWT20j3Z2NwKpr0IO2LmLactBblNyLua5Az4UHuqOQ02V3jPTgyKwDkuc33/ahw+C3O1PIZdrhFMuQA==";
-      };
-    };
-    "@types/nedb-1.8.12" = {
-      name = "_at_types_slash_nedb";
-      packageName = "@types/nedb";
-      version = "1.8.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
-        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
-      };
-    };
-    "@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz" = {
-      name = "_at_types_slash_nedb";
-      packageName = "@types/nedb";
-      version = 1;
-      src = fetchurl {
-        name = "nedb-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
-        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
-      };
-    };
-    "@types/node-17.0.15" = {
+    "@types/node-17.0.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.15";
+      version = "17.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.15.tgz";
-        sha512 = "zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==";
-      };
-    };
-    "@types/node-17.0.23" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "17.0.23";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz";
-        sha512 = "UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.25.tgz";
+        sha512 = "wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w==";
       };
     };
     "@types/object-assign-deep-0.4.0" = {
@@ -1965,22 +1480,13 @@ let
         sha512 = "3D0F3rHRNDc8cQSXNzwF1jBrJi28Mdrhc10ZLlqbJWDPYRWTTWB9Tc8JoKrgBvLKioXoPoHT6Uzf3s2F7akCUg==";
       };
     };
-    "@types/prettier-2.4.3" = {
-      name = "_at_types_slash_prettier";
-      packageName = "@types/prettier";
-      version = "2.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz";
-        sha512 = "QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==";
-      };
-    };
-    "@types/prettier-2.4.4" = {
+    "@types/prettier-2.6.0" = {
       name = "_at_types_slash_prettier";
       packageName = "@types/prettier";
-      version = "2.4.4";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz";
-        sha512 = "ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==";
+        url = "https://registry.npmjs.org/@types/prettier/-/prettier-2.6.0.tgz";
+        sha512 = "G/AdOadiZhnJp0jXCaBQU449W2h716OW/EoXeYkCytxKL06X1WCXB4DZpp8TpZ8eyIJVS1cw4lrlkkSYU21cDw==";
       };
     };
     "@types/rimraf-3.0.2" = {
@@ -1992,25 +1498,6 @@ let
         sha512 = "F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ==";
       };
     };
-    "@types/serialport-8.0.2" = {
-      name = "_at_types_slash_serialport";
-      packageName = "@types/serialport";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz";
-        sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
-      };
-    };
-    "@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz" = {
-      name = "_at_types_slash_serialport";
-      packageName = "@types/serialport";
-      version = 1;
-      src = fetchurl {
-        name = "serialport-1.tar.gz";
-        url = "https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz";
-        sha512 = "z4b1I8/vdZE3upgCcAL9VAWlVVFUVn5uo3faAHavkVfK/Hb1LUxKwp9YCtA5AZqEUCWoSWl20SRTOvAI/5fQWQ==";
-      };
-    };
     "@types/stack-utils-2.0.1" = {
       name = "_at_types_slash_stack-utils";
       packageName = "@types/stack-utils";
@@ -2038,15 +1525,6 @@ let
         sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
       };
     };
-    "@types/yargs-parser-20.2.1" = {
-      name = "_at_types_slash_yargs-parser";
-      packageName = "@types/yargs-parser";
-      version = "20.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
-        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
-      };
-    };
     "@types/yargs-parser-21.0.0" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
@@ -2056,177 +1534,85 @@ let
         sha512 = "iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.10.2" = {
+    "@typescript-eslint/eslint-plugin-5.20.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz";
-        sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.20.0.tgz";
+        sha512 = "fapGzoxilCn3sBtC6NtXZX6+P/Hef7VDbyfGqTTpzYydwhlkevB+0vE0EnmHPVTVSy68GUncyJ/2PcrFBeCo5Q==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.16.0" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.16.0.tgz";
-        sha512 = "SJoba1edXvQRMmNI505Uo4XmGbxCK9ARQpkvOd00anxzri9RNQk0DDCxD+LIl+jYhkzOJiOMMKYEHnHEODjdCw==";
-      };
-    };
-    "@typescript-eslint/eslint-plugin-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin";
-      packageName = "@typescript-eslint/eslint-plugin";
-      version = 1;
-      src = fetchurl {
-        name = "eslint-plugin-1.tar.gz";
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz";
-        sha512 = "4W/9lLuE+v27O/oe7hXJKjNtBLnZE8tQAFpapdxwSVHqtmIoPB1gph3+ahNwVuNL37BX7YQHyGF9Xv6XCnIX2Q==";
-      };
-    };
-    "@typescript-eslint/parser-5.10.2" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = "5.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz";
-        sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
-      };
-    };
-    "@typescript-eslint/parser-5.16.0" = {
+    "@typescript-eslint/parser-5.20.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz";
-        sha512 = "fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.20.0.tgz";
+        sha512 = "UWKibrCZQCYvobmu3/N8TWbEeo/EPQbS41Ux1F9XqPzGuV7pfg6n50ZrFo6hryynD8qOTTfLHtHjjdQtxJ0h/w==";
       };
     };
-    "@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = 1;
-      src = fetchurl {
-        name = "parser-1.tar.gz";
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz";
-        sha512 = "JaNYGkaQVhP6HNF+lkdOr2cAs2wdSZBoalE22uYWq8IEv/OVH0RksSGydk+sW8cLoSeYmC+OHvRyv2i4AQ7Czg==";
-      };
-    };
-    "@typescript-eslint/scope-manager-5.10.2" = {
+    "@typescript-eslint/scope-manager-5.20.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.2.tgz";
-        sha512 = "39Tm6f4RoZoVUWBYr3ekS75TYgpr5Y+X0xLZxXqcZNDWZdJdYbKd3q2IR4V9y5NxxiPu/jxJ8XP7EgHiEQtFnw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.20.0.tgz";
+        sha512 = "h9KtuPZ4D/JuX7rpp1iKg3zOH0WNEa+ZIXwpW/KWmEFDxlA/HSfCMhiyF1HS/drTICjIbpA6OqkAhrP/zkCStg==";
       };
     };
-    "@typescript-eslint/scope-manager-5.16.0" = {
-      name = "_at_typescript-eslint_slash_scope-manager";
-      packageName = "@typescript-eslint/scope-manager";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.16.0.tgz";
-        sha512 = "P+Yab2Hovg8NekLIR/mOElCDPyGgFZKhGoZA901Yax6WR6HVeGLbsqJkZ+Cvk5nts/dAlFKm8PfL43UZnWdpIQ==";
-      };
-    };
-    "@typescript-eslint/type-utils-5.10.2" = {
+    "@typescript-eslint/type-utils-5.20.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.10.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.2.tgz";
-        sha512 = "uRKSvw/Ccs5FYEoXW04Z5VfzF2iiZcx8Fu7DGIB7RHozuP0VbKNzP1KfZkHBTM75pCpsWxIthEH1B33dmGBKHw==";
-      };
-    };
-    "@typescript-eslint/type-utils-5.16.0" = {
-      name = "_at_typescript-eslint_slash_type-utils";
-      packageName = "@typescript-eslint/type-utils";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.16.0.tgz";
-        sha512 = "SKygICv54CCRl1Vq5ewwQUJV/8padIWvPgCxlWPGO/OgQLCijY9G7lDu6H+mqfQtbzDNlVjzVWQmeqbLMBLEwQ==";
-      };
-    };
-    "@typescript-eslint/types-5.10.2" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.2.tgz";
-        sha512 = "Qfp0qk/5j2Rz3p3/WhWgu4S1JtMcPgFLnmAKAW061uXxKSa7VWKZsDXVaMXh2N60CX9h6YLaBoy9PJAfCOjk3w==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.20.0.tgz";
+        sha512 = "WxNrCwYB3N/m8ceyoGCgbLmuZwupvzN0rE8NBuwnl7APgjv24ZJIjkNzoFBXPRCGzLNkoU/WfanW0exvp/+3Iw==";
       };
     };
-    "@typescript-eslint/types-5.16.0" = {
+    "@typescript-eslint/types-5.20.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.16.0.tgz";
-        sha512 = "oUorOwLj/3/3p/HFwrp6m/J2VfbLC8gjW5X3awpQJ/bSG+YRGFS4dpsvtQ8T2VNveV+LflQHjlLvB6v0R87z4g==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.20.0.tgz";
+        sha512 = "+d8wprF9GyvPwtoB4CxBAR/s0rpP25XKgnOvMf/gMXYDvlUC3rPFHupdTQ/ow9vn7UDe5rX02ovGYQbv/IUCbg==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.10.2" = {
+    "@typescript-eslint/typescript-estree-5.20.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      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/typescript-estree-5.16.0" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.16.0.tgz";
-        sha512 = "SE4VfbLWUZl9MR+ngLSARptUv2E8brY0luCdgmUevU6arZRY/KxYoLI/3V/yxaURR8tLRN7bmZtJdgmzLHI6pQ==";
-      };
-    };
-    "@typescript-eslint/utils-5.10.2" = {
-      name = "_at_typescript-eslint_slash_utils";
-      packageName = "@typescript-eslint/utils";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.2.tgz";
-        sha512 = "vuJaBeig1NnBRkf7q9tgMLREiYD7zsMrsN1DA3wcoMDvr3BTFiIpKjGiYZoKPllfEwN7spUjv7ZqD+JhbVjEPg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.20.0.tgz";
+        sha512 = "36xLjP/+bXusLMrT9fMMYy1KJAGgHhlER2TqpUVDYUQg4w0q/NW/sg4UGAgVwAqb8V4zYg43KMUpM8vV2lve6w==";
       };
     };
-    "@typescript-eslint/utils-5.16.0" = {
+    "@typescript-eslint/utils-5.20.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.16.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.16.0.tgz";
-        sha512 = "iYej2ER6AwmejLWMWzJIHy3nPJeGDuCqf8Jnb+jAQVoPpmWzwQOfa9hWVB8GIQE5gsCv/rfN4T+AYb/V06WseQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.20.0.tgz";
+        sha512 = "lHONGJL1LIO12Ujyx8L8xKbwWSkoUKFSO+0wDAqGXiudWB2EO7WEUT+YZLtVbmOmSllAjLb9tpoIPwpRe5Tn6w==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.10.2" = {
+    "@typescript-eslint/visitor-keys-5.20.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.10.2";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.2.tgz";
-        sha512 = "zHIhYGGGrFJvvyfwHk5M08C5B5K4bewkm+rrvNTKk1/S15YHR+SA/QUF8ZWscXSfEaB8Nn2puZj+iHcoxVOD/Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.20.0.tgz";
+        sha512 = "1flRpNF+0CAQkMNlTJ6L/Z5jiODG/e5+7mk6XwtPOUS3UrTz3UOiAg9jG2VtKsWI6rZQfy4C6a232QNRZTRGlg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.16.0" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "5.16.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.16.0.tgz";
-        sha512 = "jqxO8msp5vZDhikTwq9ubyMHqZ67UIvawohr4qF3KhlpL7gzSjOd+8471H3nh5LyABkaI85laEKKU8SnGUK5/g==";
-      };
-    };
-    "abab-2.0.5" = {
+    "abab-2.0.6" = {
       name = "abab";
       packageName = "abab";
-      version = "2.0.5";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
+        url = "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz";
+        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
       };
     };
     "acorn-7.4.1" = {
@@ -2436,22 +1822,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "axios-0.26.1" = {
+    "axios-0.27.2" = {
       name = "axios";
       packageName = "axios";
-      version = "0.26.1";
+      version = "0.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz";
-        sha512 = "fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==";
-      };
-    };
-    "babel-jest-27.5.0" = {
-      name = "babel-jest";
-      packageName = "babel-jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.0.tgz";
-        sha512 = "puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz";
+        sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
     "babel-jest-27.5.1" = {
@@ -2481,15 +1858,6 @@ let
         sha512 = "Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==";
       };
     };
-    "babel-plugin-jest-hoist-27.5.0" = {
-      name = "babel-plugin-jest-hoist";
-      packageName = "babel-plugin-jest-hoist";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz";
-        sha512 = "ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA==";
-      };
-    };
     "babel-plugin-jest-hoist-27.5.1" = {
       name = "babel-plugin-jest-hoist";
       packageName = "babel-plugin-jest-hoist";
@@ -2535,15 +1903,6 @@ let
         sha512 = "M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==";
       };
     };
-    "babel-preset-jest-27.5.0" = {
-      name = "babel-preset-jest";
-      packageName = "babel-preset-jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz";
-        sha512 = "7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA==";
-      };
-    };
     "babel-preset-jest-27.5.1" = {
       name = "babel-preset-jest";
       packageName = "babel-preset-jest";
@@ -2571,15 +1930,6 @@ let
         sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     };
-    "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==";
-      };
-    };
     "bind-decorator-1.0.11" = {
       name = "bind-decorator";
       packageName = "bind-decorator";
@@ -2634,15 +1984,6 @@ let
         sha512 = "9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==";
       };
     };
-    "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==";
-      };
-    };
     "browserslist-4.20.2" = {
       name = "browserslist";
       packageName = "browserslist";
@@ -2724,22 +2065,13 @@ let
         sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
-    "caniuse-lite-1.0.30001307" = {
-      name = "caniuse-lite";
-      packageName = "caniuse-lite";
-      version = "1.0.30001307";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz";
-        sha512 = "+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng==";
-      };
-    };
-    "caniuse-lite-1.0.30001320" = {
+    "caniuse-lite-1.0.30001332" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001320";
+      version = "1.0.30001332";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001320.tgz";
-        sha512 = "MWPzG54AGdo3nWx7zHZTefseM5Y1ccM7hlQKHRqJkPozUaw3hNbBTMmLn16GG2FUzjR13Cr3NPfhIieX5PzXDA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz";
+        sha512 = "10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==";
       };
     };
     "chalk-2.4.2" = {
@@ -2778,15 +2110,6 @@ let
         sha512 = "Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==";
       };
     };
-    "chokidar-3.5.3" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
-        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
-      };
-    };
     "chownr-1.1.4" = {
       name = "chownr";
       packageName = "chownr";
@@ -2895,13 +2218,13 @@ let
         sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
       };
     };
-    "color-string-1.9.0" = {
+    "color-string-1.9.1" = {
       name = "color-string";
       packageName = "color-string";
-      version = "1.9.0";
+      version = "1.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz";
-        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
+        url = "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz";
+        sha512 = "shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==";
       };
     };
     "colorspace-1.1.4" = {
@@ -2922,15 +2245,6 @@ let
         sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
       };
     };
-    "commander-4.1.1" = {
-      name = "commander";
-      packageName = "commander";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz";
-        sha512 = "NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==";
-      };
-    };
     "commist-1.1.0" = {
       name = "commist";
       packageName = "commist";
@@ -2985,31 +2299,22 @@ let
         sha512 = "+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==";
       };
     };
-    "core-js-3.21.1" = {
+    "core-js-3.22.2" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.21.1";
+      version = "3.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz";
-        sha512 = "FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.22.2.tgz";
+        sha512 = "Z5I2vzDnEIqO2YhELVMFcL1An2CIsFe9Q7byZhs8c/QxummxZlAHw33TUHbIte987LkisOgL0LwQ1P9D6VISnA==";
       };
     };
-    "core-js-compat-3.21.0" = {
+    "core-js-compat-3.22.2" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.21.0";
+      version = "3.22.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.0.tgz";
-        sha512 = "OSXseNPSK2OPJa6GdtkMz/XxeXx8/CJvfhQWTqd6neuUraujcL4jVsjkLQz1OWnax8xVQJnRPe0V2jqNWORA+A==";
-      };
-    };
-    "core-js-compat-3.21.1" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.21.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
-        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.2.tgz";
+        sha512 = "Fns9lU06ZJ07pdfmPMu7OnkIKGPKDzXKIiuGlSvHHapwqMUF2QnnsWwtueFZtSyZEilP0o6iUeHQwpn7LxtLUw==";
       };
     };
     "core-util-is-1.0.3" = {
@@ -3084,15 +2389,6 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
-    "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==";
-      };
-    };
     "debug-4.3.4" = {
       name = "debug";
       packageName = "debug";
@@ -3165,13 +2461,13 @@ let
         sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
       };
     };
-    "define-properties-1.1.3" = {
+    "define-properties-1.1.4" = {
       name = "define-properties";
       packageName = "define-properties";
-      version = "1.1.3";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz";
+        sha512 = "uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==";
       };
     };
     "delayed-stream-1.0.0" = {
@@ -3210,13 +2506,13 @@ let
         sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     };
-    "detect-libc-2.0.0" = {
+    "detect-libc-2.0.1" = {
       name = "detect-libc";
       packageName = "detect-libc";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.0.tgz";
-        sha512 = "S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==";
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz";
+        sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
       };
     };
     "detect-newline-3.1.0" = {
@@ -3228,15 +2524,6 @@ let
         sha512 = "TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==";
       };
     };
-    "diff-sequences-27.5.0" = {
-      name = "diff-sequences";
-      packageName = "diff-sequences";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.0.tgz";
-        sha512 = "ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ==";
-      };
-    };
     "diff-sequences-27.5.1" = {
       name = "diff-sequences";
       packageName = "diff-sequences";
@@ -3291,22 +2578,13 @@ let
         sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
       };
     };
-    "electron-to-chromium-1.4.65" = {
+    "electron-to-chromium-1.4.118" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.65";
+      version = "1.4.118";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz";
-        sha512 = "0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw==";
-      };
-    };
-    "electron-to-chromium-1.4.95" = {
-      name = "electron-to-chromium";
-      packageName = "electron-to-chromium";
-      version = "1.4.95";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.95.tgz";
-        sha512 = "h2VAMV/hPtmAeiDkwA8c5sjS+cWt6GlQL4ERdrOUWu7cRIG5IRk9uwR9f0utP+hPJ9ZZsADTq9HpbuT46eBYAg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz";
+        sha512 = "maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w==";
       };
     };
     "emittery-0.8.1" = {
@@ -3417,22 +2695,13 @@ let
         sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     };
-    "eslint-8.12.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.12.0.tgz";
-        sha512 = "it1oBL9alZg1S8UycLm5YDMAkIhtH6FtAzuZs6YvoGVldWjbS08BkAdb/ymP9LlAyq8koANu32U7Ib/w+UNh8Q==";
-      };
-    };
-    "eslint-8.8.0" = {
+    "eslint-8.14.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.8.0";
+      version = "8.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
-        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.14.0.tgz";
+        sha512 = "3/CE4aJX7LNEiE3i6FeodHmI/38GZtWCsAtsymScmzYapx8q1nVVb+eLcLSzATmCPXw5pT4TqVs1E0OmxAd9tw==";
       };
     };
     "eslint-config-google-0.14.0" = {
@@ -3444,23 +2713,13 @@ let
         sha512 = "WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==";
       };
     };
-    "eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = 1;
-      src = fetchurl {
-        name = "eslint-1.tar.gz";
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
-        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
-      };
-    };
-    "eslint-plugin-jest-26.1.3" = {
+    "eslint-plugin-jest-26.1.5" = {
       name = "eslint-plugin-jest";
       packageName = "eslint-plugin-jest";
-      version = "26.1.3";
+      version = "26.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.3.tgz";
-        sha512 = "Pju+T7MFpo5VFhFlwrkK/9jRUu18r2iugvgyrWOnnGRaVTFFmFXp+xFJpHyqmjjLmGJPKLeEFLVTAxezkApcpQ==";
+        url = "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-26.1.5.tgz";
+        sha512 = "su89aDuljL9bTjEufTXmKUMSFe2kZUL9bi7+woq+C2ukHZordhtfPm4Vg+tdioHBaKf8v3/FXW9uV0ksqhYGFw==";
       };
     };
     "eslint-scope-5.1.1" = {
@@ -3472,15 +2731,6 @@ let
         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-scope-7.1.1" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
@@ -3508,15 +2758,6 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
-    "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==";
-      };
-    };
     "eslint-visitor-keys-3.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
@@ -3526,15 +2767,6 @@ let
         sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
-    "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==";
-      };
-    };
     "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
@@ -3634,15 +2866,6 @@ let
         sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     };
-    "expect-27.5.0" = {
-      name = "expect";
-      packageName = "expect";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.5.0.tgz";
-        sha512 = "z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w==";
-      };
-    };
     "expect-27.5.1" = {
       name = "expect";
       packageName = "expect";
@@ -3706,13 +2929,13 @@ let
         sha512 = "DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==";
       };
     };
-    "fecha-4.2.1" = {
+    "fecha-4.2.3" = {
       name = "fecha";
       packageName = "fecha";
-      version = "4.2.1";
+      version = "4.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz";
-        sha512 = "MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==";
+        url = "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz";
+        sha512 = "OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==";
       };
     };
     "file-entry-cache-6.0.1" = {
@@ -3814,6 +3037,15 @@ let
         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==";
+      };
+    };
     "fresh-0.5.2" = {
       name = "fresh";
       packageName = "fresh";
@@ -3832,15 +3064,6 @@ let
         sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
       };
     };
-    "fs-readdir-recursive-1.1.0" = {
-      name = "fs-readdir-recursive";
-      packageName = "fs-readdir-recursive";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";
-        sha512 = "GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==";
-      };
-    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -3985,15 +3208,6 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globals-13.12.1" = {
-      name = "globals";
-      packageName = "globals";
-      version = "13.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz";
-        sha512 = "317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==";
-      };
-    };
     "globals-13.13.0" = {
       name = "globals";
       packageName = "globals";
@@ -4021,22 +3235,13 @@ let
         sha1 = "769b5984a96f6066ab9ea758224825ee6c210f0b";
       };
     };
-    "graceful-fs-4.2.9" = {
+    "graceful-fs-4.2.10" = {
       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==";
-      };
-    };
-    "handlebars-4.7.7" = {
-      name = "handlebars";
-      packageName = "handlebars";
-      version = "4.7.7";
+      version = "4.2.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz";
-        sha512 = "aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     };
     "has-1.0.3" = {
@@ -4066,13 +3271,13 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
-    "has-symbols-1.0.2" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.2";
+    "has-property-descriptors-1.0.0" = {
+      name = "has-property-descriptors";
+      packageName = "has-property-descriptors";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
+        url = "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz";
+        sha512 = "62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==";
       };
     };
     "has-symbols-1.0.3" = {
@@ -4138,13 +3343,13 @@ let
         sha512 = "k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==";
       };
     };
-    "https-proxy-agent-5.0.0" = {
+    "https-proxy-agent-5.0.1" = {
       name = "https-proxy-agent";
       packageName = "https-proxy-agent";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
+        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
       };
     };
     "human-signals-2.1.0" = {
@@ -4183,15 +3388,6 @@ let
         sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     };
-    "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";
@@ -4273,22 +3469,13 @@ let
         sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     };
-    "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-core-module-2.8.1" = {
+    "is-core-module-2.9.0" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.1";
+      version = "2.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
-        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -4399,13 +3586,13 @@ let
         sha512 = "eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==";
       };
     };
-    "istanbul-lib-instrument-5.1.0" = {
+    "istanbul-lib-instrument-5.2.0" = {
       name = "istanbul-lib-instrument";
       packageName = "istanbul-lib-instrument";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz";
-        sha512 = "czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==";
+        url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz";
+        sha512 = "6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==";
       };
     };
     "istanbul-lib-report-3.0.0" = {
@@ -4435,15 +3622,6 @@ let
         sha512 = "r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==";
       };
     };
-    "jest-27.5.0" = {
-      name = "jest";
-      packageName = "jest";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest/-/jest-27.5.0.tgz";
-        sha512 = "sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A==";
-      };
-    };
     "jest-27.5.1" = {
       name = "jest";
       packageName = "jest";
@@ -4453,15 +3631,6 @@ let
         sha512 = "Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==";
       };
     };
-    "jest-changed-files-27.5.0" = {
-      name = "jest-changed-files";
-      packageName = "jest-changed-files";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.0.tgz";
-        sha512 = "BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA==";
-      };
-    };
     "jest-changed-files-27.5.1" = {
       name = "jest-changed-files";
       packageName = "jest-changed-files";
@@ -4471,15 +3640,6 @@ let
         sha512 = "buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==";
       };
     };
-    "jest-circus-27.5.0" = {
-      name = "jest-circus";
-      packageName = "jest-circus";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.0.tgz";
-        sha512 = "+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw==";
-      };
-    };
     "jest-circus-27.5.1" = {
       name = "jest-circus";
       packageName = "jest-circus";
@@ -4489,15 +3649,6 @@ let
         sha512 = "D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==";
       };
     };
-    "jest-cli-27.5.0" = {
-      name = "jest-cli";
-      packageName = "jest-cli";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.0.tgz";
-        sha512 = "9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA==";
-      };
-    };
     "jest-cli-27.5.1" = {
       name = "jest-cli";
       packageName = "jest-cli";
@@ -4507,15 +3658,6 @@ let
         sha512 = "Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==";
       };
     };
-    "jest-config-27.5.0" = {
-      name = "jest-config";
-      packageName = "jest-config";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-config/-/jest-config-27.5.0.tgz";
-        sha512 = "eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw==";
-      };
-    };
     "jest-config-27.5.1" = {
       name = "jest-config";
       packageName = "jest-config";
@@ -4525,15 +3667,6 @@ let
         sha512 = "5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==";
       };
     };
-    "jest-diff-27.5.0" = {
-      name = "jest-diff";
-      packageName = "jest-diff";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.0.tgz";
-        sha512 = "zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg==";
-      };
-    };
     "jest-diff-27.5.1" = {
       name = "jest-diff";
       packageName = "jest-diff";
@@ -4543,15 +3676,6 @@ let
         sha512 = "m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==";
       };
     };
-    "jest-docblock-27.5.0" = {
-      name = "jest-docblock";
-      packageName = "jest-docblock";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.0.tgz";
-        sha512 = "U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA==";
-      };
-    };
     "jest-docblock-27.5.1" = {
       name = "jest-docblock";
       packageName = "jest-docblock";
@@ -4561,15 +3685,6 @@ let
         sha512 = "rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==";
       };
     };
-    "jest-each-27.5.0" = {
-      name = "jest-each";
-      packageName = "jest-each";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-each/-/jest-each-27.5.0.tgz";
-        sha512 = "2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw==";
-      };
-    };
     "jest-each-27.5.1" = {
       name = "jest-each";
       packageName = "jest-each";
@@ -4579,15 +3694,6 @@ let
         sha512 = "1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==";
       };
     };
-    "jest-environment-jsdom-27.5.0" = {
-      name = "jest-environment-jsdom";
-      packageName = "jest-environment-jsdom";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz";
-        sha512 = "sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg==";
-      };
-    };
     "jest-environment-jsdom-27.5.1" = {
       name = "jest-environment-jsdom";
       packageName = "jest-environment-jsdom";
@@ -4597,15 +3703,6 @@ let
         sha512 = "TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==";
       };
     };
-    "jest-environment-node-27.5.0" = {
-      name = "jest-environment-node";
-      packageName = "jest-environment-node";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.0.tgz";
-        sha512 = "7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw==";
-      };
-    };
     "jest-environment-node-27.5.1" = {
       name = "jest-environment-node";
       packageName = "jest-environment-node";
@@ -4615,15 +3712,6 @@ let
         sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
       };
     };
-    "jest-get-type-27.5.0" = {
-      name = "jest-get-type";
-      packageName = "jest-get-type";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.0.tgz";
-        sha512 = "Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA==";
-      };
-    };
     "jest-get-type-27.5.1" = {
       name = "jest-get-type";
       packageName = "jest-get-type";
@@ -4633,15 +3721,6 @@ let
         sha512 = "2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==";
       };
     };
-    "jest-haste-map-27.5.0" = {
-      name = "jest-haste-map";
-      packageName = "jest-haste-map";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.0.tgz";
-        sha512 = "0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang==";
-      };
-    };
     "jest-haste-map-27.5.1" = {
       name = "jest-haste-map";
       packageName = "jest-haste-map";
@@ -4651,25 +3730,6 @@ let
         sha512 = "7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==";
       };
     };
-    "jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" = {
-      name = "jest";
-      packageName = "jest";
-      version = 1;
-      src = fetchurl {
-        name = "jest-1.tar.gz";
-        url = "https://registry.npmjs.org/jest/-/jest-27.5.0.tgz";
-        sha512 = "sCMZhL9zy0fiFc4H0cKlXq7BcghMSxm5ZnEyaPWTteArU5ix6JjOKyOXSUBGLTQCmt5kuX9zEvQ9BSshHOPB3A==";
-      };
-    };
-    "jest-jasmine2-27.5.0" = {
-      name = "jest-jasmine2";
-      packageName = "jest-jasmine2";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz";
-        sha512 = "X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew==";
-      };
-    };
     "jest-jasmine2-27.5.1" = {
       name = "jest-jasmine2";
       packageName = "jest-jasmine2";
@@ -4679,15 +3739,6 @@ let
         sha512 = "jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==";
       };
     };
-    "jest-leak-detector-27.5.0" = {
-      name = "jest-leak-detector";
-      packageName = "jest-leak-detector";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz";
-        sha512 = "Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA==";
-      };
-    };
     "jest-leak-detector-27.5.1" = {
       name = "jest-leak-detector";
       packageName = "jest-leak-detector";
@@ -4697,15 +3748,6 @@ let
         sha512 = "POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==";
       };
     };
-    "jest-matcher-utils-27.5.0" = {
-      name = "jest-matcher-utils";
-      packageName = "jest-matcher-utils";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz";
-        sha512 = "5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g==";
-      };
-    };
     "jest-matcher-utils-27.5.1" = {
       name = "jest-matcher-utils";
       packageName = "jest-matcher-utils";
@@ -4715,15 +3757,6 @@ let
         sha512 = "z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==";
       };
     };
-    "jest-message-util-27.5.0" = {
-      name = "jest-message-util";
-      packageName = "jest-message-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.0.tgz";
-        sha512 = "lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw==";
-      };
-    };
     "jest-message-util-27.5.1" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
@@ -4733,15 +3766,6 @@ let
         sha512 = "rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==";
       };
     };
-    "jest-mock-27.5.0" = {
-      name = "jest-mock";
-      packageName = "jest-mock";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.0.tgz";
-        sha512 = "PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ==";
-      };
-    };
     "jest-mock-27.5.1" = {
       name = "jest-mock";
       packageName = "jest-mock";
@@ -4760,15 +3784,6 @@ let
         sha512 = "olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==";
       };
     };
-    "jest-regex-util-27.5.0" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.0.tgz";
-        sha512 = "e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA==";
-      };
-    };
     "jest-regex-util-27.5.1" = {
       name = "jest-regex-util";
       packageName = "jest-regex-util";
@@ -4778,15 +3793,6 @@ let
         sha512 = "4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==";
       };
     };
-    "jest-resolve-27.5.0" = {
-      name = "jest-resolve";
-      packageName = "jest-resolve";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.0.tgz";
-        sha512 = "PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw==";
-      };
-    };
     "jest-resolve-27.5.1" = {
       name = "jest-resolve";
       packageName = "jest-resolve";
@@ -4796,15 +3802,6 @@ let
         sha512 = "FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==";
       };
     };
-    "jest-resolve-dependencies-27.5.0" = {
-      name = "jest-resolve-dependencies";
-      packageName = "jest-resolve-dependencies";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz";
-        sha512 = "xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw==";
-      };
-    };
     "jest-resolve-dependencies-27.5.1" = {
       name = "jest-resolve-dependencies";
       packageName = "jest-resolve-dependencies";
@@ -4814,15 +3811,6 @@ let
         sha512 = "QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==";
       };
     };
-    "jest-runner-27.5.0" = {
-      name = "jest-runner";
-      packageName = "jest-runner";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.0.tgz";
-        sha512 = "RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ==";
-      };
-    };
     "jest-runner-27.5.1" = {
       name = "jest-runner";
       packageName = "jest-runner";
@@ -4832,15 +3820,6 @@ let
         sha512 = "g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==";
       };
     };
-    "jest-runtime-27.5.0" = {
-      name = "jest-runtime";
-      packageName = "jest-runtime";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.0.tgz";
-        sha512 = "T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA==";
-      };
-    };
     "jest-runtime-27.5.1" = {
       name = "jest-runtime";
       packageName = "jest-runtime";
@@ -4850,15 +3829,6 @@ let
         sha512 = "o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==";
       };
     };
-    "jest-serializer-27.5.0" = {
-      name = "jest-serializer";
-      packageName = "jest-serializer";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.0.tgz";
-        sha512 = "aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg==";
-      };
-    };
     "jest-serializer-27.5.1" = {
       name = "jest-serializer";
       packageName = "jest-serializer";
@@ -4868,15 +3838,6 @@ let
         sha512 = "jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==";
       };
     };
-    "jest-snapshot-27.5.0" = {
-      name = "jest-snapshot";
-      packageName = "jest-snapshot";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.0.tgz";
-        sha512 = "cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A==";
-      };
-    };
     "jest-snapshot-27.5.1" = {
       name = "jest-snapshot";
       packageName = "jest-snapshot";
@@ -4886,15 +3847,6 @@ let
         sha512 = "yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==";
       };
     };
-    "jest-util-27.5.0" = {
-      name = "jest-util";
-      packageName = "jest-util";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-util/-/jest-util-27.5.0.tgz";
-        sha512 = "FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g==";
-      };
-    };
     "jest-util-27.5.1" = {
       name = "jest-util";
       packageName = "jest-util";
@@ -4904,15 +3856,6 @@ let
         sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
       };
     };
-    "jest-validate-27.5.0" = {
-      name = "jest-validate";
-      packageName = "jest-validate";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.0.tgz";
-        sha512 = "2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA==";
-      };
-    };
     "jest-validate-27.5.1" = {
       name = "jest-validate";
       packageName = "jest-validate";
@@ -4922,15 +3865,6 @@ let
         sha512 = "thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==";
       };
     };
-    "jest-watcher-27.5.0" = {
-      name = "jest-watcher";
-      packageName = "jest-watcher";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.0.tgz";
-        sha512 = "MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A==";
-      };
-    };
     "jest-watcher-27.5.1" = {
       name = "jest-watcher";
       packageName = "jest-watcher";
@@ -4940,15 +3874,6 @@ let
         sha512 = "z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==";
       };
     };
-    "jest-worker-27.5.0" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz";
-        sha512 = "8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==";
-      };
-    };
     "jest-worker-27.5.1" = {
       name = "jest-worker";
       packageName = "jest-worker";
@@ -5057,15 +3982,6 @@ let
         sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
       };
     };
-    "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==";
-      };
-    };
     "json5-2.2.1" = {
       name = "json5";
       packageName = "json5";
@@ -5075,15 +3991,6 @@ let
         sha512 = "1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==";
       };
     };
-    "jsonc-parser-3.0.0" = {
-      name = "jsonc-parser";
-      packageName = "jsonc-parser";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz";
-        sha512 = "fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==";
-      };
-    };
     "kleur-3.0.3" = {
       name = "kleur";
       packageName = "kleur";
@@ -5201,24 +4108,6 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
-    "lunr-2.3.9" = {
-      name = "lunr";
-      packageName = "lunr";
-      version = "2.3.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz";
-        sha512 = "zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==";
-      };
-    };
-    "make-dir-2.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz";
-        sha512 = "LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==";
-      };
-    };
     "make-dir-3.1.0" = {
       name = "make-dir";
       packageName = "make-dir";
@@ -5237,15 +4126,6 @@ let
         sha512 = "JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==";
       };
     };
-    "marked-4.0.12" = {
-      name = "marked";
-      packageName = "marked";
-      version = "4.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz";
-        sha512 = "hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==";
-      };
-    };
     "merge-stream-2.0.0" = {
       name = "merge-stream";
       packageName = "merge-stream";
@@ -5264,15 +4144,6 @@ let
         sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
       };
     };
-    "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==";
-      };
-    };
     "micromatch-4.0.5" = {
       name = "micromatch";
       packageName = "micromatch";
@@ -5291,15 +4162,6 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "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-db-1.52.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -5309,15 +4171,6 @@ let
         sha512 = "sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==";
       };
     };
-    "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==";
-      };
-    };
     "mime-types-2.1.35" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -5345,15 +4198,6 @@ let
         sha512 = "z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==";
       };
     };
-    "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==";
-      };
-    };
     "minimatch-3.1.2" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -5363,15 +4207,6 @@ let
         sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
-    "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==";
-      };
-    };
     "minimist-1.2.6" = {
       name = "minimist";
       packageName = "minimist";
@@ -5408,13 +4243,13 @@ let
         sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     };
-    "moment-2.29.1" = {
+    "moment-2.29.3" = {
       name = "moment";
       packageName = "moment";
-      version = "2.29.1";
+      version = "2.29.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        url = "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     };
     "mqtt-4.3.7" = {
@@ -5498,22 +4333,13 @@ let
         sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
       };
     };
-    "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==";
-      };
-    };
-    "node-abi-3.8.0" = {
+    "node-abi-3.15.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.8.0";
+      version = "3.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz";
-        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.15.0.tgz";
+        sha512 = "Ic6z/j6I9RLm4ov7npo1I48UQr2BEyFCqh6p7S1dhEx9jPO0GPGq/e2Rb7x7DroQrmiVMz/Bw1vJm9sPAl2nxA==";
       };
     };
     "node-int64-0.4.0" = {
@@ -5525,22 +4351,13 @@ let
         sha1 = "87a9065cdb355d3182d8f94ce11188b825c68a3b";
       };
     };
-    "node-releases-2.0.1" = {
+    "node-releases-2.0.3" = {
       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==";
-      };
-    };
-    "node-releases-2.0.2" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
-        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.3.tgz";
+        sha512 = "maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==";
       };
     };
     "normalize-path-3.0.0" = {
@@ -5813,15 +4630,6 @@ let
         sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
-    "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==";
-      };
-    };
     "pirates-4.0.5" = {
       name = "pirates";
       packageName = "pirates";
@@ -5840,13 +4648,13 @@ let
         sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     };
-    "prebuild-install-7.0.1" = {
+    "prebuild-install-7.1.0" = {
       name = "prebuild-install";
       packageName = "prebuild-install";
-      version = "7.0.1";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
-        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.0.tgz";
+        sha512 = "CNcMgI1xBypOyGqjp3wOc8AAo1nMhZS3Cwd3iHIxOdAUbb+YxdNuM4Z5iIrZ8RLvOsf3F3bl7b7xGq6DjQoNYA==";
       };
     };
     "prelude-ls-1.1.2" = {
@@ -5867,15 +4675,6 @@ let
         sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     };
-    "pretty-format-27.5.0" = {
-      name = "pretty-format";
-      packageName = "pretty-format";
-      version = "27.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.0.tgz";
-        sha512 = "xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw==";
-      };
-    };
     "pretty-format-27.5.1" = {
       name = "pretty-format";
       packageName = "pretty-format";
@@ -5984,15 +4783,6 @@ let
         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==";
-      };
-    };
     "regenerate-1.4.2" = {
       name = "regenerate";
       packageName = "regenerate";
@@ -6020,13 +4810,13 @@ let
         sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
       };
     };
-    "regenerator-transform-0.14.5" = {
+    "regenerator-transform-0.15.0" = {
       name = "regenerator-transform";
       packageName = "regenerator-transform";
-      version = "0.14.5";
+      version = "0.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz";
-        sha512 = "eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==";
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz";
+        sha512 = "LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==";
       };
     };
     "regexpp-3.2.0" = {
@@ -6218,15 +5008,6 @@ let
         sha512 = "5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==";
       };
     };
-    "semver-5.7.1" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
-        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
-      };
-    };
     "semver-6.3.0" = {
       name = "semver";
       packageName = "semver";
@@ -6245,13 +5026,13 @@ let
         sha512 = "+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==";
       };
     };
-    "semver-7.3.5" = {
+    "semver-7.3.7" = {
       name = "semver";
       packageName = "semver";
-      version = "7.3.5";
+      version = "7.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     };
     "send-0.18.0" = {
@@ -6317,15 +5098,6 @@ let
         sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     };
-    "shiki-0.10.0" = {
-      name = "shiki";
-      packageName = "shiki";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shiki/-/shiki-0.10.0.tgz";
-        sha512 = "iczxaIYeBFHTFrQPb9DVy2SKgYxC4Wo7Iucm7C17cCh2Ge/refnvHscUOxM85u57MfLoNOtjoEFUWt9gBexblA==";
-      };
-    };
     "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
@@ -6371,15 +5143,6 @@ let
         sha512 = "bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==";
       };
     };
-    "slash-2.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz";
-        sha512 = "ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==";
-      };
-    };
     "slash-3.0.0" = {
       name = "slash";
       packageName = "slash";
@@ -6893,91 +5656,6 @@ let
         sha512 = "zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==";
       };
     };
-    "typedoc-0.22.11" = {
-      name = "typedoc";
-      packageName = "typedoc";
-      version = "0.22.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
-        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
-      };
-    };
-    "typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz" = {
-      name = "typedoc";
-      packageName = "typedoc";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz";
-        sha512 = "pVr3hh6dkS3lPPaZz1fNpvcrqLdtEvXmXayN55czlamSgvEjh+57GUqfhAI1Xsuu/hNHUT1KNSx8LH2wBP/7SA==";
-      };
-    };
-    "typedoc-plugin-markdown-3.11.13" = {
-      name = "typedoc-plugin-markdown";
-      packageName = "typedoc-plugin-markdown";
-      version = "3.11.13";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz";
-        sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
-      };
-    };
-    "typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz" = {
-      name = "typedoc-plugin-markdown";
-      packageName = "typedoc-plugin-markdown";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-markdown-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz";
-        sha512 = "9Y7eWWmUF5i8LMfetPlOP+kTn5L3Q71fm/AUHZhxWYoAiugbybQujhjQk4h09uY2WghPP2BldOivtTxnOwj85A==";
-      };
-    };
-    "typedoc-plugin-no-inherit-1.3.1" = {
-      name = "typedoc-plugin-no-inherit";
-      packageName = "typedoc-plugin-no-inherit";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz";
-        sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
-      };
-    };
-    "typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz" = {
-      name = "typedoc-plugin-no-inherit";
-      packageName = "typedoc-plugin-no-inherit";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-no-inherit-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz";
-        sha512 = "3fdPHRaIcCVV1W5gJYpZTdZL+F2VZTlUMd3Hw9xIv931ILh18CcD8IfxZtTtOijJRuKbgRLJ+J/+hVlgCbq1RQ==";
-      };
-    };
-    "typedoc-plugin-sourcefile-url-1.0.6" = {
-      name = "typedoc-plugin-sourcefile-url";
-      packageName = "typedoc-plugin-sourcefile-url";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz";
-        sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
-      };
-    };
-    "typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz" = {
-      name = "typedoc-plugin-sourcefile-url";
-      packageName = "typedoc-plugin-sourcefile-url";
-      version = 1;
-      src = fetchurl {
-        name = "typedoc-plugin-sourcefile-url-1.tar.gz";
-        url = "https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz";
-        sha512 = "xHq9DzkoQywS7FyPneMm2/Hr9GRoCpjSQXkVN0W6SCJKP7fguqg2tasgh+8l5/mW6YSYvqCqEbkSYLbuD4Y6gA==";
-      };
-    };
-    "typescript-4.5.5" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
-        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
-      };
-    };
     "typescript-4.6.3" = {
       name = "typescript";
       packageName = "typescript";
@@ -6987,25 +5665,6 @@ let
         sha512 = "yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==";
       };
     };
-    "typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = 1;
-      src = fetchurl {
-        name = "typescript-1.tar.gz";
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
-        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
-      };
-    };
-    "uglify-js-3.15.0" = {
-      name = "uglify-js";
-      packageName = "uglify-js";
-      version = "3.15.0";
-      src = fetchurl {
-        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" = {
       name = "unicode-canonical-property-names-ecmascript";
       packageName = "unicode-canonical-property-names-ecmascript";
@@ -7105,24 +5764,6 @@ let
         sha512 = "FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==";
       };
     };
-    "vscode-oniguruma-1.6.1" = {
-      name = "vscode-oniguruma";
-      packageName = "vscode-oniguruma";
-      version = "1.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz";
-        sha512 = "vc4WhSIaVpgJ0jJIejjYxPvURJavX6QG41vu0mGhqywMkQqulezEqEQ3cO3gc8GvcOpX6ycmKGqRoROEMBNXTQ==";
-      };
-    };
-    "vscode-textmate-5.2.0" = {
-      name = "vscode-textmate";
-      packageName = "vscode-textmate";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz";
-        sha512 = "Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==";
-      };
-    };
     "w3c-hr-time-1.0.2" = {
       name = "w3c-hr-time";
       packageName = "w3c-hr-time";
@@ -7213,13 +5854,13 @@ let
         sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     };
-    "winston-3.6.0" = {
+    "winston-3.7.2" = {
       name = "winston";
       packageName = "winston";
-      version = "3.6.0";
+      version = "3.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
-        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz";
+        sha512 = "QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==";
       };
     };
     "winston-syslog-2.5.0" = {
@@ -7249,15 +5890,6 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "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-7.0.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -7285,15 +5917,6 @@ let
         sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     };
-    "ws-7.5.6" = {
-      name = "ws";
-      packageName = "ws";
-      version = "7.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
-      };
-    };
     "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
@@ -7375,55 +5998,49 @@ let
         sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
       };
     };
-    "zigbee-herdsman-0.14.20" = {
+    "zigbee-herdsman-0.14.27" = {
       name = "zigbee-herdsman";
       packageName = "zigbee-herdsman";
-      version = "0.14.20";
+      version = "0.14.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.20.tgz";
-        sha512 = "YwvAHEfWtcCLilnoHcIpZ9DCPHSLwpy2iboC2zjJUGNQp0vUClJhjAxb6JdTnaHxrNB2FN6+b3Q6BS8QiTtg5g==";
+        url = "https://registry.npmjs.org/zigbee-herdsman/-/zigbee-herdsman-0.14.27.tgz";
+        sha512 = "B7Ofk4GPMwFMZS4KBvUu9IW3C7h5+9Ly6O6M2cXTeMdL2fiyZB3Tpzs7fGscevSbCpnkEOSI4xpK+MeVMwH/Og==";
       };
     };
-    "zigbee-herdsman-converters-14.0.467" = {
+    "zigbee-herdsman-converters-14.0.504" = {
       name = "zigbee-herdsman-converters";
       packageName = "zigbee-herdsman-converters";
-      version = "14.0.467";
+      version = "14.0.504";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.467.tgz";
-        sha512 = "fkOSFkKj/4q/nh2elXHcTHTvPte54Y4hrXq/BZpnkMgNuLr2lkJgZ52ChG5XyI/4wHtAJq8lgnjGubqr8xNNMQ==";
+        url = "https://registry.npmjs.org/zigbee-herdsman-converters/-/zigbee-herdsman-converters-14.0.504.tgz";
+        sha512 = "StMDWFt4DBhrgMvapiOqzurMBW02bIbjS1ul8EaiNBYA91cg9qUrTSmJssuZKEPTXs1I8yS7X2OGS8Kzja4z4Q==";
       };
     };
-    "zigbee2mqtt-frontend-0.6.80" = {
+    "zigbee2mqtt-frontend-0.6.83" = {
       name = "zigbee2mqtt-frontend";
       packageName = "zigbee2mqtt-frontend";
-      version = "0.6.80";
+      version = "0.6.83";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.80.tgz";
-        sha512 = "mDRQ35j5SuTKCsn7NvjNng7x0OK0Hv9sqxMnl0ISfoNEAD5RDpvzDiEBS6XGoymTI+PRNmaNdbczC5/DVqo5xQ==";
+        url = "https://registry.npmjs.org/zigbee2mqtt-frontend/-/zigbee2mqtt-frontend-0.6.83.tgz";
+        sha512 = "I44236qdpo/dSVpKyVV54RTCmb6BNpLXpZ414DOIBXXqIhseZhQEx7WC8UZ/ZtxxORBAd8E9LCYp5eWOb+zoNQ==";
       };
     };
   };
   args = {
     name = "zigbee2mqtt";
     packageName = "zigbee2mqtt";
-    version = "1.25.0";
+    version = "1.25.1";
     src = ./.;
     dependencies = [
       sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
       sources."@babel/compat-data-7.17.7"
-      (sources."@babel/core-7.17.8" // {
+      (sources."@babel/core-7.17.9" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.17.7" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."@babel/generator-7.17.9"
       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.17.7" // {
@@ -7431,19 +6048,16 @@ let
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.17.6"
+      sources."@babel/helper-create-class-features-plugin-7.17.9"
       sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
-          sources."debug-4.3.4"
-          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-function-name-7.17.9"
       sources."@babel/helper-hoist-variables-7.16.7"
       sources."@babel/helper-member-expression-to-functions-7.17.7"
       sources."@babel/helper-module-imports-7.16.7"
@@ -7458,15 +6072,15 @@ let
       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.8"
-      sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.17.8"
+      sources."@babel/helpers-7.17.9"
+      sources."@babel/highlight-7.17.9"
+      sources."@babel/parser-7.17.9"
       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.17.6"
-      sources."@babel/plugin-proposal-decorators-7.17.8"
+      sources."@babel/plugin-proposal-decorators-7.17.9"
       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"
@@ -7512,7 +6126,7 @@ let
       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.17.7"
+      sources."@babel/plugin-transform-modules-commonjs-7.17.9"
       sources."@babel/plugin-transform-modules-systemjs-7.17.8"
       sources."@babel/plugin-transform-modules-umd-7.16.7"
       sources."@babel/plugin-transform-named-capturing-groups-regex-7.16.8"
@@ -7520,7 +6134,7 @@ let
       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-regenerator-7.17.9"
       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"
@@ -7537,33 +6151,22 @@ let
       })
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-typescript-7.16.7"
-      sources."@babel/runtime-7.17.8"
+      sources."@babel/runtime-7.17.9"
       sources."@babel/template-7.16.7"
-      (sources."@babel/traverse-7.17.3" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."@babel/traverse-7.17.9"
       sources."@babel/types-7.17.0"
       sources."@bcoe/v8-coverage-0.2.3"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
-      (sources."@eslint/eslintrc-1.2.1" // {
+      (sources."@eslint/eslintrc-1.2.2" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."debug-4.3.4"
           sources."globals-13.13.0"
           sources."json-schema-traverse-0.4.1"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."@humanwhocodes/config-array-0.9.5" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
+          sources."type-fest-0.20.2"
         ];
       })
+      sources."@humanwhocodes/config-array-0.9.5"
       sources."@humanwhocodes/object-schema-1.2.1"
       (sources."@istanbuljs/load-nyc-config-1.1.0" // {
         dependencies = [
@@ -7602,10 +6205,15 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."source-map-0.6.1"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jest/source-map-27.5.1"
+      (sources."@jest/source-map-27.5.1" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
       sources."@jest/test-result-27.5.1"
       sources."@jest/test-sequencer-27.5.1"
       (sources."@jest/transform-27.5.1" // {
@@ -7615,6 +6223,7 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
+          sources."source-map-0.6.1"
           sources."supports-color-7.2.0"
         ];
       })
@@ -7628,19 +6237,30 @@ let
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/resolve-uri-3.0.6"
       sources."@jridgewell/sourcemap-codec-1.4.11"
-      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@jridgewell/trace-mapping-0.3.9"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
+      sources."@serialport/binding-abstract-9.2.3"
+      sources."@serialport/binding-mock-9.2.4"
+      sources."@serialport/bindings-9.2.8"
+      sources."@serialport/parser-byte-length-9.2.4"
+      sources."@serialport/parser-cctalk-9.2.4"
+      sources."@serialport/parser-delimiter-9.2.4"
+      sources."@serialport/parser-inter-byte-timeout-9.2.4"
+      sources."@serialport/parser-readline-9.2.4"
+      sources."@serialport/parser-ready-9.2.4"
+      sources."@serialport/parser-regex-9.2.4"
+      sources."@serialport/stream-9.2.4"
       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.19"
       sources."@types/babel__generator-7.6.4"
       sources."@types/babel__template-7.4.1"
-      sources."@types/babel__traverse-7.14.2"
+      sources."@types/babel__traverse-7.17.0"
       sources."@types/debounce-1.2.1"
       sources."@types/finalhandler-1.1.1"
       sources."@types/glob-7.2.0"
@@ -7653,43 +6273,23 @@ let
       sources."@types/js-yaml-4.0.5"
       sources."@types/json-schema-7.0.11"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.23"
+      sources."@types/node-17.0.25"
       sources."@types/object-assign-deep-0.4.0"
-      sources."@types/prettier-2.4.4"
+      sources."@types/prettier-2.6.0"
       sources."@types/rimraf-3.0.2"
       sources."@types/stack-utils-2.0.1"
       sources."@types/ws-8.5.3"
       sources."@types/yargs-16.0.4"
       sources."@types/yargs-parser-21.0.0"
-      (sources."@typescript-eslint/eslint-plugin-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."@typescript-eslint/parser-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/scope-manager-5.16.0"
-      (sources."@typescript-eslint/type-utils-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/types-5.16.0"
-      (sources."@typescript-eslint/typescript-estree-5.16.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."@typescript-eslint/utils-5.16.0"
-      sources."@typescript-eslint/visitor-keys-5.16.0"
-      sources."abab-2.0.5"
+      sources."@typescript-eslint/eslint-plugin-5.20.0"
+      sources."@typescript-eslint/parser-5.20.0"
+      sources."@typescript-eslint/scope-manager-5.20.0"
+      sources."@typescript-eslint/type-utils-5.20.0"
+      sources."@typescript-eslint/types-5.20.0"
+      sources."@typescript-eslint/typescript-estree-5.20.0"
+      sources."@typescript-eslint/utils-5.20.0"
+      sources."@typescript-eslint/visitor-keys-5.20.0"
+      sources."abab-2.0.6"
       sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
@@ -7698,25 +6298,29 @@ let
       })
       sources."acorn-jsx-5.3.2"
       sources."acorn-walk-7.2.0"
-      (sources."agent-base-6.0.2" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."agent-base-6.0.2"
       sources."ajv-8.11.0"
-      (sources."ansi-escapes-4.3.2" // {
-        dependencies = [
-          sources."type-fest-0.21.3"
-        ];
-      })
+      sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
+      sources."any-promise-1.3.0"
       sources."anymatch-3.1.2"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
       sources."async-3.2.3"
       sources."asynckit-0.4.0"
+      (sources."axios-0.27.2" // {
+        dependencies = [
+          sources."form-data-4.0.0"
+        ];
+      })
       (sources."babel-jest-27.5.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -7750,40 +6354,50 @@ let
       sources."browserslist-4.20.2"
       sources."bser-2.1.1"
       sources."buffer-5.7.1"
+      sources."buffer-crc32-0.2.13"
       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.30001320"
+      sources."caniuse-lite-1.0.30001332"
       sources."chalk-2.4.2"
       sources."char-regex-1.0.2"
       sources."charcodes-0.2.0"
+      sources."chownr-1.1.4"
       sources."ci-info-3.3.0"
       sources."cjs-module-lexer-1.2.2"
       sources."cliui-7.0.4"
       sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
       sources."collect-v8-coverage-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."color-string-1.9.1"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."commist-1.1.0"
+      (sources."commist-1.1.0" // {
+        dependencies = [
+          sources."leven-2.1.0"
+        ];
+      })
       sources."concat-map-0.0.1"
       sources."concat-stream-2.0.0"
-      sources."connect-gzip-static-2.1.1"
-      (sources."convert-source-map-1.8.0" // {
+      (sources."connect-gzip-static-2.1.1" // {
         dependencies = [
-          sources."safe-buffer-5.1.2"
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
         ];
       })
-      sources."core-js-3.21.1"
-      (sources."core-js-compat-3.21.1" // {
+      sources."console-control-strings-1.1.0"
+      sources."convert-source-map-1.8.0"
+      sources."core-js-3.22.2"
+      (sources."core-js-compat-3.22.2" // {
         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" // {
@@ -7793,16 +6407,20 @@ let
       })
       sources."data-urls-2.0.0"
       sources."debounce-1.2.1"
-      sources."debug-2.6.9"
+      sources."debug-4.3.4"
       sources."decimal.js-10.3.1"
+      sources."decompress-response-6.0.0"
       sources."dedent-0.7.0"
+      sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deep-object-diff-1.1.7"
       sources."deepmerge-4.2.2"
-      sources."define-properties-1.1.3"
+      sources."define-properties-1.1.4"
       sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
       sources."depd-2.0.0"
       sources."destroy-1.2.0"
+      sources."detect-libc-2.0.1"
       sources."detect-newline-3.1.0"
       sources."diff-sequences-27.5.1"
       sources."dir-glob-3.0.1"
@@ -7814,17 +6432,13 @@ let
       })
       sources."duplexify-4.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.95"
+      sources."electron-to-chromium-1.4.118"
       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."error-ex-1.3.2" // {
-        dependencies = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
+      sources."error-ex-1.3.2"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
@@ -7834,30 +6448,29 @@ let
           sources."levn-0.3.0"
           sources."optionator-0.8.3"
           sources."prelude-ls-1.1.2"
+          sources."source-map-0.6.1"
           sources."type-check-0.3.2"
         ];
       })
-      (sources."eslint-8.12.0" // {
+      (sources."eslint-8.14.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           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.4"
           sources."escape-string-regexp-4.0.0"
           sources."eslint-scope-7.1.1"
           sources."estraverse-5.3.0"
-          sources."glob-parent-6.0.2"
           sources."globals-13.13.0"
           sources."has-flag-4.0.0"
           sources."json-schema-traverse-0.4.1"
-          sources."ms-2.1.2"
           sources."supports-color-7.2.0"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."eslint-config-google-0.14.0"
-      sources."eslint-plugin-jest-26.1.3"
+      sources."eslint-plugin-jest-26.1.5"
       sources."eslint-scope-5.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -7882,60 +6495,73 @@ let
       sources."etag-1.8.1"
       sources."execa-5.1.1"
       sources."exit-0.1.2"
+      sources."expand-template-2.0.3"
       sources."expect-27.5.1"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.11"
+      (sources."fast-glob-3.2.11" // {
+        dependencies = [
+          sources."glob-parent-5.1.2"
+        ];
+      })
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
       sources."fb-watchman-2.0.1"
-      sources."fecha-4.2.1"
+      sources."fecha-4.2.3"
       sources."file-entry-cache-6.0.1"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
-      sources."finalhandler-1.2.0"
+      (sources."finalhandler-1.2.0" // {
+        dependencies = [
+          sources."debug-2.6.9"
+          sources."ms-2.0.0"
+        ];
+      })
       sources."find-0.3.0"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
       sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
+      sources."follow-redirects-1.14.9"
       sources."form-data-3.0.1"
       sources."fresh-0.5.2"
+      sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-package-type-0.1.0"
       sources."get-stream-6.0.1"
       sources."git-last-commit-1.0.1"
+      sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
-      sources."glob-parent-5.1.2"
+      sources."glob-parent-6.0.2"
       sources."globals-11.12.0"
       sources."globby-11.1.0"
       sources."glossy-0.1.7"
-      sources."graceful-fs-4.2.9"
+      sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
+      sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
+      sources."has-unicode-2.0.1"
       sources."help-me-3.0.0"
       sources."html-encoding-sniffer-2.0.1"
       sources."html-escaper-2.0.2"
       sources."http-errors-2.0.0"
-      (sources."http-proxy-agent-4.0.1" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      (sources."https-proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."http-proxy-agent-4.0.1"
+      sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
       sources."humanize-duration-3.27.1"
       sources."iconv-lite-0.4.24"
@@ -7950,8 +6576,9 @@ let
       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.1"
+      sources."ini-1.3.8"
+      sources."is-arrayish-0.2.1"
+      sources."is-core-module-2.9.0"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-generator-fn-2.1.0"
@@ -7960,9 +6587,10 @@ 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" // {
+      (sources."istanbul-lib-instrument-5.2.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -7975,24 +6603,23 @@ let
       })
       (sources."istanbul-lib-source-maps-4.0.1" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
+          sources."source-map-0.6.1"
         ];
       })
       sources."istanbul-reports-3.1.4"
-      (sources."jest-27.5.1" // {
+      sources."jest-27.5.1"
+      sources."jest-changed-files-27.5.1"
+      (sources."jest-circus-27.5.1" // {
         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.5.1"
           sources."supports-color-7.2.0"
         ];
       })
-      sources."jest-changed-files-27.5.1"
-      (sources."jest-circus-27.5.1" // {
+      (sources."jest-cli-27.5.1" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -8131,7 +6758,6 @@ let
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
-          sources."leven-3.1.0"
           sources."supports-color-7.2.0"
         ];
       })
@@ -8166,18 +6792,14 @@ let
       sources."json5-2.2.1"
       sources."kleur-3.0.3"
       sources."kuler-2.0.0"
-      sources."leven-2.1.0"
+      sources."leven-3.1.0"
       sources."levn-0.4.1"
       sources."lines-and-columns-1.2.4"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."lodash.merge-4.6.2"
-      (sources."logform-2.4.0" // {
-        dependencies = [
-          sources."ms-2.1.3"
-        ];
-      })
+      sources."logform-2.4.0"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
         dependencies = [
@@ -8192,37 +6814,34 @@ let
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-2.1.0"
+      sources."mimic-response-3.1.0"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.6"
+      sources."mixin-deep-2.0.1"
       sources."mkdir-recursive-0.4.0"
-      sources."moment-2.29.1"
+      sources."mkdirp-classic-0.5.3"
+      sources."moment-2.29.3"
       (sources."mqtt-4.3.7" // {
         dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
           sources."ws-7.5.7"
         ];
       })
-      (sources."mqtt-packet-6.10.0" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."ms-2.0.0"
+      sources."mqtt-packet-6.10.0"
+      sources."ms-2.1.2"
+      sources."mz-2.7.0"
       sources."nan-2.15.0"
+      sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
+      sources."node-abi-3.15.0"
       sources."node-int64-0.4.0"
-      sources."node-releases-2.0.2"
+      sources."node-releases-2.0.3"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
-      (sources."number-allocator-1.0.10" // {
-        dependencies = [
-          sources."debug-4.3.4"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."npmlog-4.1.2"
+      sources."number-allocator-1.0.10"
+      sources."number-is-nan-1.0.1"
       sources."nwsapi-2.2.0"
+      sources."object-assign-4.1.1"
       sources."object-assign-deep-0.4.0"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
@@ -8247,6 +6866,7 @@ let
       sources."picomatch-2.3.1"
       sources."pirates-4.0.5"
       sources."pkg-dir-4.2.0"
+      sources."prebuild-install-7.1.0"
       sources."prelude-ls-1.2.1"
       (sources."pretty-format-27.5.1" // {
         dependencies = [
@@ -8260,12 +6880,17 @@ let
       sources."punycode-2.1.1"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."strip-json-comments-2.0.1"
+        ];
+      })
       sources."react-is-17.0.2"
       sources."readable-stream-3.6.0"
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
-      sources."regenerator-transform-0.14.5"
+      sources."regenerator-transform-0.15.0"
       sources."regexpp-3.2.0"
       sources."regexpu-core-5.0.1"
       sources."regjsgen-0.6.0"
@@ -8285,26 +6910,44 @@ let
       sources."rfdc-1.3.0"
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
-      sources."safe-buffer-5.2.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       sources."saxes-5.0.1"
-      sources."semver-7.3.5"
+      sources."semver-7.3.7"
       (sources."send-0.18.0" // {
         dependencies = [
+          (sources."debug-2.6.9" // {
+            dependencies = [
+              sources."ms-2.0.0"
+            ];
+          })
           sources."ms-2.1.3"
         ];
       })
+      sources."serialport-9.2.8"
       sources."serve-static-1.15.0"
+      sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."signal-exit-3.0.7"
-      sources."simple-swizzle-0.2.2"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-4.0.1"
+      (sources."simple-swizzle-0.2.2" // {
+        dependencies = [
+          sources."is-arrayish-0.3.2"
+        ];
+      })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
-      sources."source-map-0.6.1"
-      sources."source-map-support-0.5.21"
+      sources."slip-1.0.2"
+      sources."source-map-0.5.7"
+      (sources."source-map-support-0.5.21" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
       sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
       sources."stack-trace-0.0.10"
@@ -8317,7 +6960,11 @@ let
       sources."stream-shift-1.0.1"
       sources."string-length-4.0.2"
       sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
+      (sources."string_decoder-1.3.0" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."strip-ansi-6.0.1"
       sources."strip-bom-4.0.0"
       sources."strip-final-newline-2.0.0"
@@ -8331,10 +6978,14 @@ let
       })
       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"
       sources."terminal-link-2.1.1"
       sources."test-exclude-6.0.0"
       sources."text-hex-1.0.0"
       sources."text-table-0.2.0"
+      sources."thenify-3.3.1"
+      sources."thenify-all-1.6.0"
       sources."throat-6.0.1"
       sources."tmp-0.2.1"
       sources."tmpl-1.0.5"
@@ -8347,9 +6998,10 @@ let
       sources."triple-beam-1.3.0"
       sources."tslib-1.14.1"
       sources."tsutils-3.21.0"
+      sources."tunnel-agent-0.6.0"
       sources."type-check-0.4.0"
       sources."type-detect-4.0.8"
-      sources."type-fest-0.20.2"
+      sources."type-fest-0.21.3"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."typescript-4.6.3"
@@ -8376,7 +7028,8 @@ let
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
-      sources."winston-3.6.0"
+      sources."wide-align-1.1.5"
+      sources."winston-3.7.2"
       sources."winston-syslog-2.5.0"
       sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
@@ -8397,2409 +7050,9 @@ let
       sources."yallist-4.0.0"
       sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
-      (sources."zigbee-herdsman-0.14.20" // {
-        dependencies = [
-          sources."@ampproject/remapping-2.0.3"
-          sources."@babel/cli-7.17.0"
-          sources."@babel/code-frame-7.16.7"
-          sources."@babel/compat-data-7.17.0"
-          (sources."@babel/core-7.17.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."@babel/generator-7.17.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" // {
-            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.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.0"
-          sources."@babel/highlight-7.16.10"
-          sources."@babel/parser-7.17.0"
-          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"
-          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-import-meta-7.10.4"
-          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-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.7"
-          sources."@babel/runtime-7.17.0"
-          sources."@babel/template-7.16.7"
-          sources."@babel/traverse-7.17.0"
-          sources."@babel/types-7.17.0"
-          sources."@bcoe/v8-coverage-0.2.3"
-          (sources."@eslint/eslintrc-1.0.5" // {
-            dependencies = [
-              sources."argparse-2.0.1"
-              sources."globals-13.12.1"
-              sources."ignore-4.0.6"
-              sources."js-yaml-4.1.0"
-              sources."strip-json-comments-3.1.1"
-            ];
-          })
-          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.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/core-27.5.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              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."strip-ansi-6.0.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."@jest/environment-27.5.0"
-          sources."@jest/fake-timers-27.5.0"
-          sources."@jest/globals-27.5.0"
-          (sources."@jest/reporters-27.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."slash-3.0.0"
-              sources."source-map-0.6.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/source-map-27.5.0" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."@jest/test-result-27.5.0"
-          sources."@jest/test-sequencer-27.5.0"
-          (sources."@jest/transform-27.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."slash-3.0.0"
-              sources."source-map-0.6.1"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."@jest/types-27.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."@jridgewell/resolve-uri-3.0.4"
-          sources."@jridgewell/sourcemap-codec-1.4.10"
-          sources."@jridgewell/trace-mapping-0.2.7"
-          sources."@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3"
-          sources."@nodelib/fs.scandir-2.1.5"
-          sources."@nodelib/fs.stat-2.0.5"
-          sources."@nodelib/fs.walk-1.2.8"
-          sources."@serialport/binding-abstract-9.2.3"
-          sources."@serialport/binding-mock-9.2.4"
-          sources."@serialport/bindings-9.2.8"
-          sources."@serialport/parser-byte-length-9.2.4"
-          sources."@serialport/parser-cctalk-9.2.4"
-          sources."@serialport/parser-delimiter-9.2.4"
-          sources."@serialport/parser-inter-byte-timeout-9.2.4"
-          sources."@serialport/parser-readline-9.2.4"
-          sources."@serialport/parser-ready-9.2.4"
-          sources."@serialport/parser-regex-9.2.4"
-          sources."@serialport/stream-9.2.4"
-          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.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.4"
-          sources."@types/istanbul-lib-report-3.0.0"
-          sources."@types/istanbul-reports-3.0.1"
-          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-17.0.15"
-          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.10.2"
-          sources."@typescript-eslint/parser-5.10.2"
-          sources."@typescript-eslint/scope-manager-5.10.2"
-          sources."@typescript-eslint/type-utils-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"
-          sources."@typescript-eslint/visitor-keys-5.10.2"
-          sources."abab-2.0.5"
-          sources."acorn-8.7.0"
-          (sources."acorn-globals-6.0.0" // {
-            dependencies = [
-              sources."acorn-7.4.1"
-            ];
-          })
-          sources."acorn-jsx-5.3.2"
-          sources."acorn-walk-7.2.0"
-          sources."agent-base-6.0.2"
-          sources."ajv-6.12.6"
-          (sources."ansi-escapes-4.3.2" // {
-            dependencies = [
-              sources."type-fest-0.21.3"
-            ];
-          })
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-3.2.1"
-          sources."any-promise-1.3.0"
-          sources."anymatch-3.1.2"
-          sources."aproba-1.2.0"
-          sources."are-we-there-yet-1.1.7"
-          sources."argparse-1.0.10"
-          sources."array-union-2.1.0"
-          sources."asynckit-0.4.0"
-          (sources."babel-jest-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."babel-plugin-dynamic-import-node-2.3.3"
-          sources."babel-plugin-istanbul-6.1.1"
-          sources."babel-plugin-jest-hoist-27.5.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."babel-preset-current-node-syntax-1.0.1"
-          sources."babel-preset-jest-27.5.0"
-          sources."balanced-match-1.0.2"
-          sources."base64-js-1.5.1"
-          sources."binary-extensions-2.2.0"
-          sources."bindings-1.5.0"
-          (sources."bl-4.1.0" // {
-            dependencies = [
-              sources."readable-stream-3.6.0"
-            ];
-          })
-          sources."brace-expansion-1.1.11"
-          sources."braces-3.0.2"
-          sources."browser-process-hrtime-1.0.0"
-          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.30001307"
-          sources."chalk-2.4.2"
-          sources."char-regex-1.0.2"
-          sources."chokidar-3.5.3"
-          sources."chownr-1.1.4"
-          sources."ci-info-3.3.0"
-          sources."cjs-module-lexer-1.2.2"
-          (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."co-4.6.0"
-          sources."code-point-at-1.1.0"
-          sources."collect-v8-coverage-1.0.1"
-          sources."color-convert-1.9.3"
-          sources."color-name-1.1.3"
-          sources."combined-stream-1.0.8"
-          sources."commander-4.1.1"
-          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.21.0" // {
-            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" // {
-            dependencies = [
-              sources."cssom-0.3.8"
-            ];
-          })
-          sources."data-urls-2.0.0"
-          sources."debounce-1.2.1"
-          sources."debug-4.3.3"
-          sources."decimal.js-10.3.1"
-          sources."decompress-response-6.0.0"
-          sources."dedent-0.7.0"
-          sources."deep-extend-0.6.0"
-          sources."deep-is-0.1.4"
-          sources."deepmerge-4.2.2"
-          sources."define-properties-1.1.3"
-          sources."delayed-stream-1.0.0"
-          sources."delegates-1.0.0"
-          sources."detect-libc-2.0.0"
-          sources."detect-newline-3.1.0"
-          sources."diff-sequences-27.5.0"
-          sources."dir-glob-3.0.1"
-          sources."doctrine-3.0.0"
-          (sources."domexception-2.0.1" // {
-            dependencies = [
-              sources."webidl-conversions-5.0.0"
-            ];
-          })
-          sources."electron-to-chromium-1.4.65"
-          sources."emittery-0.8.1"
-          sources."emoji-regex-8.0.0"
-          sources."end-of-stream-1.4.4"
-          sources."escalade-3.1.1"
-          sources."escape-string-regexp-1.0.5"
-          (sources."escodegen-2.0.0" // {
-            dependencies = [
-              sources."estraverse-5.3.0"
-              sources."levn-0.3.0"
-              sources."optionator-0.8.3"
-              sources."prelude-ls-1.1.2"
-              sources."source-map-0.6.1"
-              sources."type-check-0.3.2"
-            ];
-          })
-          (sources."eslint-8.8.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-4.3.0"
-              sources."argparse-2.0.1"
-              sources."chalk-4.1.2"
-              sources."color-convert-2.0.1"
-              sources."color-name-1.1.4"
-              sources."escape-string-regexp-4.0.0"
-              sources."eslint-scope-7.1.0"
-              sources."estraverse-5.3.0"
-              sources."glob-parent-6.0.2"
-              sources."globals-13.12.1"
-              sources."has-flag-4.0.0"
-              sources."js-yaml-4.1.0"
-              sources."strip-ansi-6.0.1"
-              sources."strip-json-comments-3.1.1"
-              sources."supports-color-7.2.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.2.0"
-          sources."espree-9.3.0"
-          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-5.1.1"
-          sources."exit-0.1.2"
-          sources."expand-template-2.0.3"
-          sources."expect-27.5.0"
-          sources."fast-deep-equal-3.1.3"
-          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."fb-watchman-2.0.1"
-          sources."file-entry-cache-6.0.1"
-          sources."file-uri-to-path-1.0.0"
-          sources."fill-range-7.0.1"
-          sources."find-up-4.1.0"
-          sources."flat-cache-3.0.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"
-          sources."fs.realpath-1.0.0"
-          sources."fsevents-2.3.2"
-          sources."function-bind-1.1.1"
-          sources."functional-red-black-tree-1.0.1"
-          sources."gauge-2.7.4"
-          sources."gensync-1.0.0-beta.2"
-          sources."get-caller-file-2.0.5"
-          sources."get-intrinsic-1.1.1"
-          sources."get-package-type-0.1.0"
-          sources."get-stream-6.0.1"
-          sources."github-from-package-0.0.0"
-          sources."glob-7.2.0"
-          sources."glob-parent-5.1.2"
-          sources."globals-11.12.0"
-          (sources."globby-11.1.0" // {
-            dependencies = [
-              sources."slash-3.0.0"
-            ];
-          })
-          sources."graceful-fs-4.2.9"
-          (sources."handlebars-4.7.7" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."has-1.0.3"
-          sources."has-flag-3.0.0"
-          sources."has-symbols-1.0.2"
-          sources."has-unicode-2.0.1"
-          sources."html-encoding-sniffer-2.0.1"
-          sources."html-escaper-2.0.2"
-          sources."http-proxy-agent-4.0.1"
-          sources."https-proxy-agent-5.0.0"
-          sources."human-signals-2.1.0"
-          sources."iconv-lite-0.4.24"
-          sources."ieee754-1.2.1"
-          sources."ignore-5.2.0"
-          (sources."import-fresh-3.3.0" // {
-            dependencies = [
-              sources."resolve-from-4.0.0"
-            ];
-          })
-          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.1"
-          sources."is-extglob-2.1.1"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."is-generator-fn-2.1.0"
-          sources."is-glob-4.0.3"
-          sources."is-number-7.0.0"
-          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" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          (sources."istanbul-lib-report-3.0.0" // {
-            dependencies = [
-              sources."has-flag-4.0.0"
-              sources."make-dir-3.1.0"
-              sources."semver-6.3.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."istanbul-lib-source-maps-4.0.1" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."istanbul-reports-3.1.4"
-          (sources."jest-27.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."jest-cli-27.5.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-changed-files-27.5.0"
-          (sources."jest-circus-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-config-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          (sources."jest-diff-27.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."jest-docblock-27.5.0"
-          (sources."jest-each-27.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."jest-environment-jsdom-27.5.0"
-          sources."jest-environment-node-27.5.0"
-          sources."jest-get-type-27.5.0"
-          sources."jest-haste-map-27.5.0"
-          (sources."jest-jasmine2-27.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."jest-leak-detector-27.5.0"
-          (sources."jest-matcher-utils-27.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."jest-message-util-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-mock-27.5.0"
-          sources."jest-pnp-resolver-1.2.2"
-          sources."jest-regex-util-27.5.0"
-          (sources."jest-resolve-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-resolve-dependencies-27.5.0"
-          (sources."jest-runner-27.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."jest-runtime-27.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."slash-3.0.0"
-              sources."supports-color-7.2.0"
-            ];
-          })
-          sources."jest-serializer-27.5.0"
-          (sources."jest-snapshot-27.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."jest-util-27.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."jest-validate-27.5.0" // {
-            dependencies = [
-              sources."ansi-styles-4.3.0"
-              sources."camelcase-6.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."jest-watcher-27.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."jest-worker-27.5.0" // {
-            dependencies = [
-              sources."has-flag-4.0.0"
-              sources."supports-color-8.1.1"
-            ];
-          })
-          sources."js-tokens-4.0.0"
-          sources."js-yaml-3.14.1"
-          sources."jsdom-16.7.0"
-          sources."jsesc-2.5.2"
-          sources."json-schema-traverse-0.4.1"
-          sources."json-stable-stringify-without-jsonify-1.0.1"
-          sources."json5-2.2.0"
-          sources."jsonc-parser-3.0.0"
-          sources."kleur-3.0.3"
-          sources."leven-3.1.0"
-          sources."levn-0.4.1"
-          sources."locate-path-5.0.0"
-          sources."lodash-4.17.21"
-          sources."lodash.debounce-4.0.8"
-          sources."lodash.merge-4.6.2"
-          sources."lru-cache-6.0.0"
-          sources."lunr-2.3.9"
-          (sources."make-dir-2.1.0" // {
-            dependencies = [
-              sources."semver-5.7.1"
-            ];
-          })
-          sources."makeerror-1.0.12"
-          sources."marked-4.0.12"
-          sources."merge-stream-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-3.1.0"
-          sources."minimatch-3.0.4"
-          sources."minimist-1.2.5"
-          sources."mixin-deep-2.0.1"
-          sources."mkdirp-classic-0.5.3"
-          sources."ms-2.1.2"
-          sources."mz-2.7.0"
-          sources."nan-2.15.0"
-          sources."napi-build-utils-1.0.2"
-          sources."natural-compare-1.4.0"
-          sources."neo-async-2.6.2"
-          sources."node-abi-3.8.0"
-          sources."node-int64-0.4.0"
-          sources."node-releases-2.0.1"
-          sources."normalize-path-3.0.0"
-          sources."npm-run-path-4.0.1"
-          sources."npmlog-4.1.2"
-          sources."number-is-nan-1.0.1"
-          sources."nwsapi-2.2.0"
-          sources."object-assign-4.1.1"
-          sources."object-keys-1.1.1"
-          sources."object.assign-4.1.2"
-          sources."once-1.4.0"
-          sources."onetime-5.1.2"
-          sources."optionator-0.9.1"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parent-module-1.0.1"
-          sources."parse5-6.0.1"
-          sources."path-exists-4.0.0"
-          sources."path-is-absolute-1.0.1"
-          sources."path-key-3.1.1"
-          sources."path-parse-1.0.7"
-          sources."path-type-4.0.0"
-          sources."picocolors-1.0.0"
-          sources."picomatch-2.3.1"
-          sources."pify-4.0.1"
-          sources."pirates-4.0.5"
-          sources."pkg-dir-4.2.0"
-          sources."prebuild-install-7.0.1"
-          sources."prelude-ls-1.2.1"
-          (sources."pretty-format-27.5.0" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."process-nextick-args-2.0.1"
-          sources."prompts-2.4.2"
-          sources."psl-1.8.0"
-          sources."pump-3.0.0"
-          sources."punycode-2.1.1"
-          sources."queue-microtask-1.2.3"
-          sources."rc-1.2.8"
-          sources."react-is-17.0.2"
-          sources."readable-stream-2.3.7"
-          sources."readdirp-3.6.0"
-          sources."regenerate-1.4.2"
-          sources."regenerate-unicode-properties-10.0.1"
-          sources."regenerator-runtime-0.13.9"
-          sources."regenerator-transform-0.14.5"
-          sources."regexpp-3.2.0"
-          sources."regexpu-core-5.0.1"
-          sources."regjsgen-0.6.0"
-          (sources."regjsparser-0.8.4" // {
-            dependencies = [
-              sources."jsesc-0.5.0"
-            ];
-          })
-          sources."require-directory-2.1.1"
-          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."rimraf-3.0.2"
-          sources."run-parallel-1.2.0"
-          sources."safe-buffer-5.1.2"
-          sources."safer-buffer-2.1.2"
-          sources."saxes-5.0.1"
-          sources."semver-7.3.5"
-          sources."serialport-9.2.8"
-          sources."set-blocking-2.0.0"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."shiki-0.10.0"
-          sources."signal-exit-3.0.7"
-          sources."simple-concat-1.0.1"
-          sources."simple-get-4.0.1"
-          sources."sisteransi-1.0.5"
-          sources."slash-2.0.0"
-          sources."slip-1.0.2"
-          sources."source-map-0.5.7"
-          (sources."source-map-support-0.5.21" // {
-            dependencies = [
-              sources."source-map-0.6.1"
-            ];
-          })
-          sources."sprintf-js-1.0.3"
-          (sources."stack-utils-2.0.5" // {
-            dependencies = [
-              sources."escape-string-regexp-2.0.0"
-            ];
-          })
-          (sources."string-length-4.0.2" // {
-            dependencies = [
-              sources."ansi-regex-5.0.1"
-              sources."strip-ansi-6.0.1"
-            ];
-          })
-          sources."string-width-1.0.2"
-          sources."string_decoder-1.1.1"
-          sources."strip-ansi-3.0.1"
-          sources."strip-bom-4.0.0"
-          sources."strip-final-newline-2.0.0"
-          sources."strip-json-comments-2.0.1"
-          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."symbol-tree-3.2.4"
-          sources."tar-fs-2.1.1"
-          (sources."tar-stream-2.2.0" // {
-            dependencies = [
-              sources."readable-stream-3.6.0"
-            ];
-          })
-          sources."terminal-link-2.1.1"
-          sources."test-exclude-6.0.0"
-          sources."text-table-0.2.0"
-          sources."thenify-3.3.1"
-          sources."thenify-all-1.6.0"
-          sources."throat-6.0.1"
-          sources."tmpl-1.0.5"
-          sources."to-fast-properties-2.0.0"
-          sources."to-regex-range-5.0.1"
-          sources."tough-cookie-4.0.0"
-          sources."tr46-2.1.0"
-          sources."tslib-1.14.1"
-          sources."tsutils-3.21.0"
-          sources."tunnel-agent-0.6.0"
-          sources."type-check-0.4.0"
-          sources."type-detect-4.0.8"
-          sources."type-fest-0.20.2"
-          sources."typedarray-to-buffer-3.1.5"
-          sources."typedoc-0.22.11"
-          sources."typedoc-plugin-markdown-3.11.13"
-          sources."typedoc-plugin-no-inherit-1.3.1"
-          sources."typedoc-plugin-sourcefile-url-1.0.6"
-          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"
-          sources."unicode-property-aliases-ecmascript-2.0.0"
-          sources."universalify-0.1.2"
-          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.1" // {
-            dependencies = [
-              sources."source-map-0.7.3"
-            ];
-          })
-          sources."vscode-oniguruma-1.6.1"
-          sources."vscode-textmate-5.2.0"
-          sources."w3c-hr-time-1.0.2"
-          sources."w3c-xmlserializer-2.0.0"
-          sources."walker-1.0.8"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-encoding-1.0.5"
-          sources."whatwg-mimetype-2.3.0"
-          sources."whatwg-url-8.7.0"
-          sources."which-2.0.2"
-          sources."wide-align-1.1.5"
-          sources."word-wrap-1.2.3"
-          sources."wordwrap-1.0.0"
-          (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."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-7.5.6"
-          sources."xml-name-validator-3.0.0"
-          sources."xmlchars-2.2.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-parser-20.2.9"
-        ];
-      })
-      (sources."zigbee-herdsman-converters-14.0.467" // {
-        dependencies = [
-          sources."@ampproject/remapping-2.1.2"
-          sources."@babel/code-frame-7.16.7"
-          sources."@babel/compat-data-7.17.7"
-          (sources."@babel/core-7.17.8" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          (sources."@babel/generator-7.17.7" // {
-            dependencies = [
-              sources."source-map-0.5.7"
-            ];
-          })
-          (sources."@babel/helper-compilation-targets-7.17.7" // {
-            dependencies = [
-              sources."semver-6.3.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.17.7"
-          sources."@babel/helper-plugin-utils-7.16.7"
-          sources."@babel/helper-simple-access-7.17.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.8"
-          (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"
-              sources."has-flag-3.0.0"
-              sources."supports-color-5.5.0"
-            ];
-          })
-          sources."@babel/parser-7.17.8"
-          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-import-meta-7.10.4"
-          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-top-level-await-7.14.5"
-          sources."@babel/plugin-syntax-typescript-7.16.7"
-          sources."@babel/template-7.16.7"
-          (sources."@babel/traverse-7.17.3" // {
-            dependencies = [
-              sources."globals-11.12.0"
-            ];
-          })
-          sources."@babel/types-7.17.0"
-          sources."@bcoe/v8-coverage-0.2.3"
-          sources."@eslint/eslintrc-1.2.1"
-          sources."@humanwhocodes/config-array-0.9.5"
-          sources."@humanwhocodes/object-schema-1.2.1"
-          (sources."@istanbuljs/load-nyc-config-1.1.0" // {
-            dependencies = [
-              sources."argparse-1.0.10"
-              sources."js-yaml-3.14.1"
-              sources."resolve-from-5.0.0"
-            ];
-          })
-          sources."@istanbuljs/schema-0.1.3"
-          sources."@jest/console-27.5.1"
-          sources."@jest/core-27.5.1"
-          sources."@jest/environment-27.5.1"
-          sources."@jest/fake-timers-27.5.1"
-          sources."@jest/globals-27.5.1"
-          sources."@jest/reporters-27.5.1"
-          sources."@jest/source-map-27.5.1"
-          sources."@jest/test-result-27.5.1"
-          sources."@jest/test-sequencer-27.5.1"
-          sources."@jest/transform-27.5.1"
-          sources."@jest/types-27.5.1"
-          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."@sinonjs/commons-1.8.3"
-          sources."@sinonjs/fake-timers-8.1.0"
-          sources."@tootallnate/once-1.1.2"
-          sources."@types/babel__core-7.1.19"
-          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.4"
-          sources."@types/istanbul-lib-report-3.0.0"
-          sources."@types/istanbul-reports-3.0.1"
-          sources."@types/json-schema-7.0.11"
-          sources."@types/node-17.0.23"
-          sources."@types/prettier-2.4.4"
-          sources."@types/stack-utils-2.0.1"
-          sources."@types/yargs-16.0.4"
-          sources."@types/yargs-parser-21.0.0"
-          sources."@typescript-eslint/scope-manager-5.16.0"
-          sources."@typescript-eslint/types-5.16.0"
-          sources."@typescript-eslint/typescript-estree-5.16.0"
-          (sources."@typescript-eslint/utils-5.16.0" // {
-            dependencies = [
-              sources."eslint-scope-5.1.1"
-              sources."estraverse-4.3.0"
-            ];
-          })
-          sources."@typescript-eslint/visitor-keys-5.16.0"
-          sources."abab-2.0.5"
-          sources."acorn-8.7.0"
-          (sources."acorn-globals-6.0.0" // {
-            dependencies = [
-              sources."acorn-7.4.1"
-            ];
-          })
-          sources."acorn-jsx-5.3.2"
-          sources."acorn-walk-7.2.0"
-          sources."agent-base-6.0.2"
-          sources."ajv-6.12.6"
-          (sources."ansi-escapes-4.3.2" // {
-            dependencies = [
-              sources."type-fest-0.21.3"
-            ];
-          })
-          sources."ansi-regex-5.0.1"
-          sources."ansi-styles-4.3.0"
-          sources."anymatch-3.1.2"
-          sources."argparse-2.0.1"
-          sources."array-union-2.1.0"
-          sources."asynckit-0.4.0"
-          sources."axios-0.26.1"
-          sources."babel-jest-27.5.1"
-          sources."babel-plugin-istanbul-6.1.1"
-          sources."babel-plugin-jest-hoist-27.5.1"
-          sources."babel-preset-current-node-syntax-1.0.1"
-          sources."babel-preset-jest-27.5.1"
-          sources."balanced-match-1.0.2"
-          sources."base64-js-1.5.1"
-          sources."bl-4.1.0"
-          sources."brace-expansion-1.1.11"
-          sources."braces-3.0.2"
-          sources."browser-process-hrtime-1.0.0"
-          sources."browserslist-4.20.2"
-          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.30001320"
-          sources."chalk-4.1.2"
-          sources."char-regex-1.0.2"
-          sources."ci-info-3.3.0"
-          sources."cjs-module-lexer-1.2.2"
-          sources."cliui-7.0.4"
-          sources."co-4.6.0"
-          sources."collect-v8-coverage-1.0.1"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."combined-stream-1.0.8"
-          sources."concat-map-0.0.1"
-          sources."convert-source-map-1.8.0"
-          sources."cross-spawn-7.0.3"
-          sources."cssom-0.4.4"
-          (sources."cssstyle-2.3.0" // {
-            dependencies = [
-              sources."cssom-0.3.8"
-            ];
-          })
-          sources."data-urls-2.0.0"
-          sources."debug-4.3.4"
-          sources."decimal.js-10.3.1"
-          sources."dedent-0.7.0"
-          sources."deep-is-0.1.4"
-          sources."deepmerge-4.2.2"
-          sources."delayed-stream-1.0.0"
-          sources."detect-newline-3.1.0"
-          sources."diff-sequences-27.5.1"
-          sources."dir-glob-3.0.1"
-          sources."doctrine-3.0.0"
-          (sources."domexception-2.0.1" // {
-            dependencies = [
-              sources."webidl-conversions-5.0.0"
-            ];
-          })
-          sources."electron-to-chromium-1.4.95"
-          sources."emittery-0.8.1"
-          sources."emoji-regex-8.0.0"
-          sources."end-of-stream-1.4.4"
-          sources."error-ex-1.3.2"
-          sources."escalade-3.1.1"
-          sources."escape-string-regexp-4.0.0"
-          (sources."escodegen-2.0.0" // {
-            dependencies = [
-              sources."levn-0.3.0"
-              sources."optionator-0.8.3"
-              sources."prelude-ls-1.1.2"
-              sources."type-check-0.3.2"
-            ];
-          })
-          sources."eslint-8.12.0"
-          sources."eslint-config-google-0.14.0"
-          sources."eslint-plugin-jest-26.1.3"
-          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.3.0"
-          sources."espree-9.3.1"
-          sources."esprima-4.0.1"
-          sources."esquery-1.4.0"
-          sources."esrecurse-4.3.0"
-          sources."estraverse-5.3.0"
-          sources."esutils-2.0.3"
-          sources."execa-5.1.1"
-          sources."exit-0.1.2"
-          sources."expect-27.5.1"
-          sources."fast-deep-equal-3.1.3"
-          (sources."fast-glob-3.2.11" // {
-            dependencies = [
-              sources."glob-parent-5.1.2"
-            ];
-          })
-          sources."fast-json-stable-stringify-2.1.0"
-          sources."fast-levenshtein-2.0.6"
-          sources."fastq-1.13.0"
-          sources."fb-watchman-2.0.1"
-          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.5"
-          sources."follow-redirects-1.14.9"
-          sources."form-data-3.0.1"
-          sources."fs-constants-1.0.0"
-          sources."fs.realpath-1.0.0"
-          sources."fsevents-2.3.2"
-          sources."function-bind-1.1.1"
-          sources."functional-red-black-tree-1.0.1"
-          sources."gensync-1.0.0-beta.2"
-          sources."get-caller-file-2.0.5"
-          sources."get-package-type-0.1.0"
-          sources."get-stream-6.0.1"
-          sources."glob-7.2.0"
-          sources."glob-parent-6.0.2"
-          sources."globals-13.13.0"
-          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"
-          sources."html-escaper-2.0.2"
-          sources."http-proxy-agent-4.0.1"
-          sources."https-proxy-agent-5.0.0"
-          sources."human-signals-2.1.0"
-          sources."iconv-lite-0.4.24"
-          sources."ieee754-1.2.1"
-          sources."ignore-5.2.0"
-          sources."import-fresh-3.3.0"
-          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.2.1"
-          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"
-          sources."is-glob-4.0.3"
-          sources."is-number-7.0.0"
-          sources."is-potential-custom-element-name-1.0.1"
-          sources."is-stream-2.0.1"
-          sources."is-typedarray-1.0.0"
-          sources."isexe-2.0.0"
-          sources."istanbul-lib-coverage-3.2.0"
-          (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.4"
-          sources."jest-27.5.1"
-          sources."jest-changed-files-27.5.1"
-          sources."jest-circus-27.5.1"
-          sources."jest-cli-27.5.1"
-          sources."jest-config-27.5.1"
-          sources."jest-diff-27.5.1"
-          sources."jest-docblock-27.5.1"
-          sources."jest-each-27.5.1"
-          sources."jest-environment-jsdom-27.5.1"
-          sources."jest-environment-node-27.5.1"
-          sources."jest-get-type-27.5.1"
-          sources."jest-haste-map-27.5.1"
-          sources."jest-jasmine2-27.5.1"
-          sources."jest-leak-detector-27.5.1"
-          sources."jest-matcher-utils-27.5.1"
-          sources."jest-message-util-27.5.1"
-          sources."jest-mock-27.5.1"
-          sources."jest-pnp-resolver-1.2.2"
-          sources."jest-regex-util-27.5.1"
-          sources."jest-resolve-27.5.1"
-          sources."jest-resolve-dependencies-27.5.1"
-          sources."jest-runner-27.5.1"
-          sources."jest-runtime-27.5.1"
-          sources."jest-serializer-27.5.1"
-          sources."jest-snapshot-27.5.1"
-          sources."jest-util-27.5.1"
-          (sources."jest-validate-27.5.1" // {
-            dependencies = [
-              sources."camelcase-6.3.0"
-            ];
-          })
-          sources."jest-watcher-27.5.1"
-          (sources."jest-worker-27.5.1" // {
-            dependencies = [
-              sources."supports-color-8.1.1"
-            ];
-          })
-          sources."js-tokens-4.0.0"
-          sources."js-yaml-4.1.0"
-          sources."jsdom-16.7.0"
-          sources."jsesc-2.5.2"
-          sources."json-parse-even-better-errors-2.3.1"
-          sources."json-schema-traverse-0.4.1"
-          sources."json-stable-stringify-without-jsonify-1.0.1"
-          sources."json5-2.2.1"
-          sources."kleur-3.0.3"
-          sources."leven-3.1.0"
-          sources."levn-0.4.1"
-          sources."lines-and-columns-1.2.4"
-          sources."locate-path-5.0.0"
-          sources."lodash-4.17.21"
-          sources."lodash.merge-4.6.2"
-          sources."lru-cache-6.0.0"
-          (sources."make-dir-3.1.0" // {
-            dependencies = [
-              sources."semver-6.3.0"
-            ];
-          })
-          sources."makeerror-1.0.12"
-          sources."merge-stream-2.0.0"
-          sources."merge2-1.4.1"
-          sources."micromatch-4.0.5"
-          sources."mime-db-1.52.0"
-          sources."mime-types-2.1.35"
-          sources."mimic-fn-2.1.0"
-          sources."minimatch-3.1.2"
-          sources."ms-2.1.2"
-          sources."natural-compare-1.4.0"
-          sources."node-int64-0.4.0"
-          sources."node-releases-2.0.2"
-          sources."normalize-path-3.0.0"
-          sources."npm-run-path-4.0.1"
-          sources."nwsapi-2.2.0"
-          sources."once-1.4.0"
-          sources."onetime-5.1.2"
-          sources."optionator-0.9.1"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."p-try-2.2.0"
-          sources."parent-module-1.0.1"
-          sources."parse-json-5.2.0"
-          sources."parse5-6.0.1"
-          sources."path-exists-4.0.0"
-          sources."path-is-absolute-1.0.1"
-          sources."path-key-3.1.1"
-          sources."path-parse-1.0.7"
-          sources."path-type-4.0.0"
-          sources."picocolors-1.0.0"
-          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.5.1" // {
-            dependencies = [
-              sources."ansi-styles-5.2.0"
-            ];
-          })
-          sources."prompts-2.4.2"
-          sources."psl-1.8.0"
-          sources."punycode-2.1.1"
-          sources."queue-microtask-1.2.3"
-          sources."react-is-17.0.2"
-          sources."readable-stream-3.6.0"
-          sources."regexpp-3.2.0"
-          sources."require-directory-2.1.1"
-          sources."resolve-1.22.0"
-          (sources."resolve-cwd-3.0.0" // {
-            dependencies = [
-              sources."resolve-from-5.0.0"
-            ];
-          })
-          sources."resolve-from-4.0.0"
-          sources."resolve.exports-1.1.0"
-          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."saxes-5.0.1"
-          sources."semver-7.3.5"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."signal-exit-3.0.7"
-          sources."sisteransi-1.0.5"
-          sources."slash-3.0.0"
-          sources."source-map-0.6.1"
-          sources."source-map-support-0.5.21"
-          sources."sprintf-js-1.0.3"
-          (sources."stack-utils-2.0.5" // {
-            dependencies = [
-              sources."escape-string-regexp-2.0.0"
-            ];
-          })
-          sources."string-length-4.0.2"
-          sources."string-width-4.2.3"
-          (sources."string_decoder-1.3.0" // {
-            dependencies = [
-              sources."safe-buffer-5.2.1"
-            ];
-          })
-          sources."strip-ansi-6.0.1"
-          sources."strip-bom-4.0.0"
-          sources."strip-final-newline-2.0.0"
-          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"
-          sources."test-exclude-6.0.0"
-          sources."text-table-0.2.0"
-          sources."throat-6.0.1"
-          sources."tmpl-1.0.5"
-          sources."to-fast-properties-2.0.0"
-          sources."to-regex-range-5.0.1"
-          sources."tough-cookie-4.0.0"
-          sources."tr46-2.1.0"
-          sources."tslib-1.14.1"
-          sources."tsutils-3.21.0"
-          sources."type-check-0.4.0"
-          sources."type-detect-4.0.8"
-          sources."type-fest-0.20.2"
-          sources."typedarray-to-buffer-3.1.5"
-          sources."typescript-4.6.3"
-          sources."universalify-0.1.2"
-          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.1" // {
-            dependencies = [
-              sources."source-map-0.7.3"
-            ];
-          })
-          sources."w3c-hr-time-1.0.2"
-          sources."w3c-xmlserializer-2.0.0"
-          sources."walker-1.0.8"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-encoding-1.0.5"
-          sources."whatwg-mimetype-2.3.0"
-          sources."whatwg-url-8.7.0"
-          sources."which-2.0.2"
-          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.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-16.2.0"
-          sources."yargs-parser-20.2.9"
-          (sources."zigbee-herdsman-0.14.20" // {
-            dependencies = [
-              sources."@ampproject/remapping-2.0.3"
-              sources."@babel/cli-https://registry.npmjs.org/@babel/cli/-/cli-7.17.0.tgz"
-              sources."@babel/code-frame-7.16.7"
-              sources."@babel/compat-data-7.17.0"
-              (sources."@babel/core-7.17.0" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/generator-7.17.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" // {
-                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.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.0"
-              sources."@babel/highlight-7.16.10"
-              sources."@babel/parser-7.17.0"
-              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"
-              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-import-meta-7.10.4"
-              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-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-https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              sources."@babel/preset-modules-0.1.5"
-              sources."@babel/preset-typescript-https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz"
-              sources."@babel/runtime-7.17.0"
-              sources."@babel/template-7.16.7"
-              sources."@babel/traverse-7.17.0"
-              sources."@babel/types-7.17.0"
-              sources."@bcoe/v8-coverage-0.2.3"
-              (sources."@eslint/eslintrc-1.0.5" // {
-                dependencies = [
-                  sources."argparse-2.0.1"
-                  sources."globals-13.12.1"
-                  sources."ignore-4.0.6"
-                  sources."js-yaml-4.1.0"
-                  sources."strip-json-comments-3.1.1"
-                ];
-              })
-              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.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/core-27.5.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  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."strip-ansi-6.0.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."@jest/environment-27.5.0"
-              sources."@jest/fake-timers-27.5.0"
-              sources."@jest/globals-27.5.0"
-              (sources."@jest/reporters-27.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."slash-3.0.0"
-                  sources."source-map-0.6.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/source-map-27.5.0" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."@jest/test-result-27.5.0"
-              sources."@jest/test-sequencer-27.5.0"
-              (sources."@jest/transform-27.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."slash-3.0.0"
-                  sources."source-map-0.6.1"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."@jest/types-27.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."@jridgewell/resolve-uri-3.0.4"
-              sources."@jridgewell/sourcemap-codec-1.4.10"
-              sources."@jridgewell/trace-mapping-0.2.7"
-              sources."@nicolo-ribaudo/chokidar-2-2.1.8-no-fsevents.3"
-              sources."@nodelib/fs.scandir-2.1.5"
-              sources."@nodelib/fs.stat-2.0.5"
-              sources."@nodelib/fs.walk-1.2.8"
-              sources."@serialport/binding-abstract-9.2.3"
-              sources."@serialport/binding-mock-9.2.4"
-              sources."@serialport/bindings-9.2.8"
-              sources."@serialport/parser-byte-length-9.2.4"
-              sources."@serialport/parser-cctalk-9.2.4"
-              sources."@serialport/parser-delimiter-9.2.4"
-              sources."@serialport/parser-inter-byte-timeout-9.2.4"
-              sources."@serialport/parser-readline-9.2.4"
-              sources."@serialport/parser-ready-9.2.4"
-              sources."@serialport/parser-regex-9.2.4"
-              sources."@serialport/stream-9.2.4"
-              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.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-https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz"
-              sources."@types/debug-https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz"
-              sources."@types/graceful-fs-4.1.5"
-              sources."@types/istanbul-lib-coverage-2.0.4"
-              sources."@types/istanbul-lib-report-3.0.0"
-              sources."@types/istanbul-reports-3.0.1"
-              sources."@types/jest-https://registry.npmjs.org/@types/jest/-/jest-27.4.0.tgz"
-              sources."@types/json-schema-7.0.9"
-              sources."@types/ms-0.7.31"
-              sources."@types/mz-https://registry.npmjs.org/@types/mz/-/mz-2.7.4.tgz"
-              sources."@types/nedb-https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz"
-              sources."@types/node-17.0.15"
-              sources."@types/prettier-2.4.3"
-              sources."@types/serialport-https://registry.npmjs.org/@types/serialport/-/serialport-8.0.2.tgz"
-              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-https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.2.tgz"
-              sources."@typescript-eslint/parser-https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.2.tgz"
-              sources."@typescript-eslint/scope-manager-5.10.2"
-              sources."@typescript-eslint/type-utils-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"
-              sources."@typescript-eslint/visitor-keys-5.10.2"
-              sources."abab-2.0.5"
-              sources."acorn-8.7.0"
-              (sources."acorn-globals-6.0.0" // {
-                dependencies = [
-                  sources."acorn-7.4.1"
-                ];
-              })
-              sources."acorn-jsx-5.3.2"
-              sources."acorn-walk-7.2.0"
-              sources."agent-base-6.0.2"
-              sources."ajv-6.12.6"
-              (sources."ansi-escapes-4.3.2" // {
-                dependencies = [
-                  sources."type-fest-0.21.3"
-                ];
-              })
-              sources."ansi-regex-2.1.1"
-              sources."ansi-styles-3.2.1"
-              sources."any-promise-1.3.0"
-              sources."anymatch-3.1.2"
-              sources."aproba-1.2.0"
-              sources."are-we-there-yet-1.1.7"
-              sources."argparse-1.0.10"
-              sources."array-union-2.1.0"
-              sources."asynckit-0.4.0"
-              (sources."babel-jest-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."babel-plugin-dynamic-import-node-2.3.3"
-              sources."babel-plugin-istanbul-6.1.1"
-              sources."babel-plugin-jest-hoist-27.5.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."babel-preset-current-node-syntax-1.0.1"
-              sources."babel-preset-jest-27.5.0"
-              sources."balanced-match-1.0.2"
-              sources."base64-js-1.5.1"
-              sources."binary-extensions-2.2.0"
-              sources."bindings-1.5.0"
-              (sources."bl-4.1.0" // {
-                dependencies = [
-                  sources."readable-stream-3.6.0"
-                ];
-              })
-              sources."brace-expansion-1.1.11"
-              sources."braces-3.0.2"
-              sources."browser-process-hrtime-1.0.0"
-              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.30001307"
-              sources."chalk-2.4.2"
-              sources."char-regex-1.0.2"
-              sources."chokidar-3.5.3"
-              sources."chownr-1.1.4"
-              sources."ci-info-3.3.0"
-              sources."cjs-module-lexer-1.2.2"
-              (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."co-4.6.0"
-              sources."code-point-at-1.1.0"
-              sources."collect-v8-coverage-1.0.1"
-              sources."color-convert-1.9.3"
-              sources."color-name-1.1.3"
-              sources."combined-stream-1.0.8"
-              sources."commander-4.1.1"
-              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.21.0" // {
-                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" // {
-                dependencies = [
-                  sources."cssom-0.3.8"
-                ];
-              })
-              sources."data-urls-2.0.0"
-              sources."debounce-1.2.1"
-              sources."debug-4.3.3"
-              sources."decimal.js-10.3.1"
-              sources."decompress-response-6.0.0"
-              sources."dedent-0.7.0"
-              sources."deep-extend-0.6.0"
-              sources."deep-is-0.1.4"
-              sources."deepmerge-4.2.2"
-              sources."define-properties-1.1.3"
-              sources."delayed-stream-1.0.0"
-              sources."delegates-1.0.0"
-              sources."detect-libc-2.0.0"
-              sources."detect-newline-3.1.0"
-              sources."diff-sequences-27.5.0"
-              sources."dir-glob-3.0.1"
-              sources."doctrine-3.0.0"
-              (sources."domexception-2.0.1" // {
-                dependencies = [
-                  sources."webidl-conversions-5.0.0"
-                ];
-              })
-              sources."electron-to-chromium-1.4.65"
-              sources."emittery-0.8.1"
-              sources."emoji-regex-8.0.0"
-              sources."end-of-stream-1.4.4"
-              sources."escalade-3.1.1"
-              sources."escape-string-regexp-1.0.5"
-              (sources."escodegen-2.0.0" // {
-                dependencies = [
-                  sources."estraverse-5.3.0"
-                  sources."levn-0.3.0"
-                  sources."optionator-0.8.3"
-                  sources."prelude-ls-1.1.2"
-                  sources."source-map-0.6.1"
-                  sources."type-check-0.3.2"
-                ];
-              })
-              (sources."eslint-https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-4.3.0"
-                  sources."argparse-2.0.1"
-                  sources."chalk-4.1.2"
-                  sources."color-convert-2.0.1"
-                  sources."color-name-1.1.4"
-                  sources."escape-string-regexp-4.0.0"
-                  sources."eslint-scope-7.1.0"
-                  sources."estraverse-5.3.0"
-                  sources."glob-parent-6.0.2"
-                  sources."globals-13.12.1"
-                  sources."has-flag-4.0.0"
-                  sources."js-yaml-4.1.0"
-                  sources."strip-ansi-6.0.1"
-                  sources."strip-json-comments-3.1.1"
-                  sources."supports-color-7.2.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.2.0"
-              sources."espree-9.3.0"
-              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-5.1.1"
-              sources."exit-0.1.2"
-              sources."expand-template-2.0.3"
-              sources."expect-27.5.0"
-              sources."fast-deep-equal-3.1.3"
-              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."fb-watchman-2.0.1"
-              sources."file-entry-cache-6.0.1"
-              sources."file-uri-to-path-1.0.0"
-              sources."fill-range-7.0.1"
-              sources."find-up-4.1.0"
-              sources."flat-cache-3.0.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"
-              sources."fs.realpath-1.0.0"
-              sources."fsevents-2.3.2"
-              sources."function-bind-1.1.1"
-              sources."functional-red-black-tree-1.0.1"
-              sources."gauge-2.7.4"
-              sources."gensync-1.0.0-beta.2"
-              sources."get-caller-file-2.0.5"
-              sources."get-intrinsic-1.1.1"
-              sources."get-package-type-0.1.0"
-              sources."get-stream-6.0.1"
-              sources."github-from-package-0.0.0"
-              sources."glob-7.2.0"
-              sources."glob-parent-5.1.2"
-              sources."globals-11.12.0"
-              (sources."globby-11.1.0" // {
-                dependencies = [
-                  sources."slash-3.0.0"
-                ];
-              })
-              sources."graceful-fs-4.2.9"
-              (sources."handlebars-4.7.7" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."has-1.0.3"
-              sources."has-flag-3.0.0"
-              sources."has-symbols-1.0.2"
-              sources."has-unicode-2.0.1"
-              sources."html-encoding-sniffer-2.0.1"
-              sources."html-escaper-2.0.2"
-              sources."http-proxy-agent-4.0.1"
-              sources."https-proxy-agent-5.0.0"
-              sources."human-signals-2.1.0"
-              sources."iconv-lite-0.4.24"
-              sources."ieee754-1.2.1"
-              sources."ignore-5.2.0"
-              (sources."import-fresh-3.3.0" // {
-                dependencies = [
-                  sources."resolve-from-4.0.0"
-                ];
-              })
-              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.1"
-              sources."is-extglob-2.1.1"
-              sources."is-fullwidth-code-point-1.0.0"
-              sources."is-generator-fn-2.1.0"
-              sources."is-glob-4.0.3"
-              sources."is-number-7.0.0"
-              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" // {
-                dependencies = [
-                  sources."semver-6.3.0"
-                ];
-              })
-              (sources."istanbul-lib-report-3.0.0" // {
-                dependencies = [
-                  sources."has-flag-4.0.0"
-                  sources."make-dir-3.1.0"
-                  sources."semver-6.3.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."istanbul-lib-source-maps-4.0.1" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."istanbul-reports-3.1.4"
-              (sources."jest-https://registry.npmjs.org/jest/-/jest-27.5.0.tgz" // {
-                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.5.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-changed-files-27.5.0"
-              (sources."jest-circus-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-config-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              (sources."jest-diff-27.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."jest-docblock-27.5.0"
-              (sources."jest-each-27.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."jest-environment-jsdom-27.5.0"
-              sources."jest-environment-node-27.5.0"
-              sources."jest-get-type-27.5.0"
-              sources."jest-haste-map-27.5.0"
-              (sources."jest-jasmine2-27.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."jest-leak-detector-27.5.0"
-              (sources."jest-matcher-utils-27.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."jest-message-util-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-mock-27.5.0"
-              sources."jest-pnp-resolver-1.2.2"
-              sources."jest-regex-util-27.5.0"
-              (sources."jest-resolve-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-resolve-dependencies-27.5.0"
-              (sources."jest-runner-27.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."jest-runtime-27.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."slash-3.0.0"
-                  sources."supports-color-7.2.0"
-                ];
-              })
-              sources."jest-serializer-27.5.0"
-              (sources."jest-snapshot-27.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."jest-util-27.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."jest-validate-27.5.0" // {
-                dependencies = [
-                  sources."ansi-styles-4.3.0"
-                  sources."camelcase-6.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."jest-watcher-27.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."jest-worker-27.5.0" // {
-                dependencies = [
-                  sources."has-flag-4.0.0"
-                  sources."supports-color-8.1.1"
-                ];
-              })
-              sources."js-tokens-4.0.0"
-              sources."js-yaml-3.14.1"
-              sources."jsdom-16.7.0"
-              sources."jsesc-2.5.2"
-              sources."json-schema-traverse-0.4.1"
-              sources."json-stable-stringify-without-jsonify-1.0.1"
-              sources."json5-2.2.0"
-              sources."jsonc-parser-3.0.0"
-              sources."kleur-3.0.3"
-              sources."leven-3.1.0"
-              sources."levn-0.4.1"
-              sources."locate-path-5.0.0"
-              sources."lodash-4.17.21"
-              sources."lodash.debounce-4.0.8"
-              sources."lodash.merge-4.6.2"
-              sources."lru-cache-6.0.0"
-              sources."lunr-2.3.9"
-              (sources."make-dir-2.1.0" // {
-                dependencies = [
-                  sources."semver-5.7.1"
-                ];
-              })
-              sources."makeerror-1.0.12"
-              sources."marked-4.0.12"
-              sources."merge-stream-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-3.1.0"
-              sources."minimatch-3.0.4"
-              sources."minimist-1.2.5"
-              sources."mixin-deep-2.0.1"
-              sources."mkdirp-classic-0.5.3"
-              sources."ms-2.1.2"
-              sources."mz-2.7.0"
-              sources."nan-2.15.0"
-              sources."napi-build-utils-1.0.2"
-              sources."natural-compare-1.4.0"
-              sources."neo-async-2.6.2"
-              sources."node-abi-3.8.0"
-              sources."node-int64-0.4.0"
-              sources."node-releases-2.0.1"
-              sources."normalize-path-3.0.0"
-              sources."npm-run-path-4.0.1"
-              sources."npmlog-4.1.2"
-              sources."number-is-nan-1.0.1"
-              sources."nwsapi-2.2.0"
-              sources."object-assign-4.1.1"
-              sources."object-keys-1.1.1"
-              sources."object.assign-4.1.2"
-              sources."once-1.4.0"
-              sources."onetime-5.1.2"
-              sources."optionator-0.9.1"
-              sources."p-limit-2.3.0"
-              sources."p-locate-4.1.0"
-              sources."p-try-2.2.0"
-              sources."parent-module-1.0.1"
-              sources."parse5-6.0.1"
-              sources."path-exists-4.0.0"
-              sources."path-is-absolute-1.0.1"
-              sources."path-key-3.1.1"
-              sources."path-parse-1.0.7"
-              sources."path-type-4.0.0"
-              sources."picocolors-1.0.0"
-              sources."picomatch-2.3.1"
-              sources."pify-4.0.1"
-              sources."pirates-4.0.5"
-              sources."pkg-dir-4.2.0"
-              sources."prebuild-install-7.0.1"
-              sources."prelude-ls-1.2.1"
-              (sources."pretty-format-27.5.0" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."ansi-styles-5.2.0"
-                ];
-              })
-              sources."process-nextick-args-2.0.1"
-              sources."prompts-2.4.2"
-              sources."psl-1.8.0"
-              sources."pump-3.0.0"
-              sources."punycode-2.1.1"
-              sources."queue-microtask-1.2.3"
-              sources."rc-1.2.8"
-              sources."react-is-17.0.2"
-              sources."readable-stream-2.3.7"
-              sources."readdirp-3.6.0"
-              sources."regenerate-1.4.2"
-              sources."regenerate-unicode-properties-10.0.1"
-              sources."regenerator-runtime-0.13.9"
-              sources."regenerator-transform-0.14.5"
-              sources."regexpp-3.2.0"
-              sources."regexpu-core-5.0.1"
-              sources."regjsgen-0.6.0"
-              (sources."regjsparser-0.8.4" // {
-                dependencies = [
-                  sources."jsesc-0.5.0"
-                ];
-              })
-              sources."require-directory-2.1.1"
-              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."rimraf-3.0.2"
-              sources."run-parallel-1.2.0"
-              sources."safe-buffer-5.1.2"
-              sources."safer-buffer-2.1.2"
-              sources."saxes-5.0.1"
-              sources."semver-7.3.5"
-              sources."serialport-9.2.8"
-              sources."set-blocking-2.0.0"
-              sources."shebang-command-2.0.0"
-              sources."shebang-regex-3.0.0"
-              sources."shiki-0.10.0"
-              sources."signal-exit-3.0.7"
-              sources."simple-concat-1.0.1"
-              sources."simple-get-4.0.1"
-              sources."sisteransi-1.0.5"
-              sources."slash-2.0.0"
-              sources."slip-1.0.2"
-              sources."source-map-0.5.7"
-              (sources."source-map-support-0.5.21" // {
-                dependencies = [
-                  sources."source-map-0.6.1"
-                ];
-              })
-              sources."sprintf-js-1.0.3"
-              (sources."stack-utils-2.0.5" // {
-                dependencies = [
-                  sources."escape-string-regexp-2.0.0"
-                ];
-              })
-              (sources."string-length-4.0.2" // {
-                dependencies = [
-                  sources."ansi-regex-5.0.1"
-                  sources."strip-ansi-6.0.1"
-                ];
-              })
-              sources."string-width-1.0.2"
-              sources."string_decoder-1.1.1"
-              sources."strip-ansi-3.0.1"
-              sources."strip-bom-4.0.0"
-              sources."strip-final-newline-2.0.0"
-              sources."strip-json-comments-2.0.1"
-              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."symbol-tree-3.2.4"
-              sources."tar-fs-2.1.1"
-              (sources."tar-stream-2.2.0" // {
-                dependencies = [
-                  sources."readable-stream-3.6.0"
-                ];
-              })
-              sources."terminal-link-2.1.1"
-              sources."test-exclude-6.0.0"
-              sources."text-table-0.2.0"
-              sources."thenify-3.3.1"
-              sources."thenify-all-1.6.0"
-              sources."throat-6.0.1"
-              sources."tmpl-1.0.5"
-              sources."to-fast-properties-2.0.0"
-              sources."to-regex-range-5.0.1"
-              sources."tough-cookie-4.0.0"
-              sources."tr46-2.1.0"
-              sources."tslib-1.14.1"
-              sources."tsutils-3.21.0"
-              sources."tunnel-agent-0.6.0"
-              sources."type-check-0.4.0"
-              sources."type-detect-4.0.8"
-              sources."type-fest-0.20.2"
-              sources."typedarray-to-buffer-3.1.5"
-              sources."typedoc-https://registry.npmjs.org/typedoc/-/typedoc-0.22.11.tgz"
-              sources."typedoc-plugin-markdown-https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.11.13.tgz"
-              sources."typedoc-plugin-no-inherit-https://registry.npmjs.org/typedoc-plugin-no-inherit/-/typedoc-plugin-no-inherit-1.3.1.tgz"
-              sources."typedoc-plugin-sourcefile-url-https://registry.npmjs.org/typedoc-plugin-sourcefile-url/-/typedoc-plugin-sourcefile-url-1.0.6.tgz"
-              sources."typescript-https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz"
-              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"
-              sources."unicode-property-aliases-ecmascript-2.0.0"
-              sources."universalify-0.1.2"
-              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.1" // {
-                dependencies = [
-                  sources."source-map-0.7.3"
-                ];
-              })
-              sources."vscode-oniguruma-1.6.1"
-              sources."vscode-textmate-5.2.0"
-              sources."w3c-hr-time-1.0.2"
-              sources."w3c-xmlserializer-2.0.0"
-              sources."walker-1.0.8"
-              sources."webidl-conversions-6.1.0"
-              sources."whatwg-encoding-1.0.5"
-              sources."whatwg-mimetype-2.3.0"
-              sources."whatwg-url-8.7.0"
-              sources."which-2.0.2"
-              sources."wide-align-1.1.5"
-              sources."word-wrap-1.2.3"
-              sources."wordwrap-1.0.0"
-              (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."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-7.5.6"
-              sources."xml-name-validator-3.0.0"
-              sources."xmlchars-2.2.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-parser-20.2.9"
-            ];
-          })
-        ];
-      })
-      sources."zigbee2mqtt-frontend-0.6.80"
+      sources."zigbee-herdsman-0.14.27"
+      sources."zigbee-herdsman-converters-14.0.504"
+      sources."zigbee2mqtt-frontend-0.6.83"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/shells/mksh/default.nix b/pkgs/shells/mksh/default.nix
index 360380e19b346..8bdabd4d8c17b 100644
--- a/pkgs/shells/mksh/default.nix
+++ b/pkgs/shells/mksh/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "https://www.mirbsd.org/MirOS/dist/mir/mksh/${pname}-R${version}.tgz"
+      "http://www.mirbsd.org/MirOS/dist/mir/mksh/${pname}-R${version}.tgz"
       "http://pub.allbsd.org/MirOS/dist/mir/mksh/${pname}-R${version}.tgz"
     ];
     hash = "sha256-d64WZaM38cSMYda5Yds+UhGbOOWIhNHIloSvMfh7xQY=";
@@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "http://www.mirbsd.org/mksh.htm";
     description = "MirBSD Korn Shell";
     longDescription = ''
       The MirBSD Korn Shell is a DFSG-free and OSD-compliant (and OSI
@@ -45,7 +46,6 @@ stdenv.mkDerivation rec {
       also to be readily available under other UNIX(R)-like operating
       systems.
     '';
-    homepage = "https://www.mirbsd.org/mksh.htm";
     license = with licenses; [ miros isc unicode-dfs-2016 ];
     maintainers = with maintainers; [ AndersonTorres joachifm ];
     platforms = platforms.unix;
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index 19ca69ecb9471..9f3dcbe1812f4 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -7,10 +7,10 @@ let archString = if stdenv.isAarch64 then "arm64"
     platformString = if stdenv.isDarwin then "osx"
                      else if stdenv.isLinux then "linux"
                      else throw "unsupported platform";
-    platformSha = if (stdenv.isDarwin && stdenv.isx86_64) then "sha256-h5zjn8wtgHmsJFiGq1rja6kZTZj3Q72W2kH3AexRDQs="
-                     else if (stdenv.isDarwin && stdenv.isAarch64) then "sha256-NHM9ZUpBJb59Oq0Ke7DcvaN+bZ9MjSpXBRu5Ng9OVZ0="
-                     else if (stdenv.isLinux && stdenv.isx86_64) then "sha256-QSL0lmxa7rGoNOx7JB310wF3VoUy96e9ZFop5rAvdBM="
-                     else if (stdenv.isLinux && stdenv.isAarch64) then "sha256-bUacA4DwjDNlIG7yooXxUGL9AysAogNWuQDvcTqo1sE="
+    platformSha = if (stdenv.isDarwin && stdenv.isx86_64) then "sha256-VF8C9JXVureJnMTyQD4SDeq/whyQOpk1dFtu6cJQRO8="
+                     else if (stdenv.isDarwin && stdenv.isAarch64) then "sha256-WqQQFdFTgIGi0fEtHjHf2rtP2l5YqdMQZH09O+34JTo="
+                     else if (stdenv.isLinux && stdenv.isx86_64) then "sha256-oKlX6NfTOxrxMkH+vWGMMTyVJqD2F2CB5qx+8EvNBE8="
+                     else if (stdenv.isLinux && stdenv.isAarch64) then "sha256-sWOmylDyy6n8SbnVDY5+wSJ2PPEd+vuoxbMU2iECyxY="
                      else throw "unsupported platform";
     platformLdLibraryPath = if stdenv.isDarwin then "DYLD_FALLBACK_LIBRARY_PATH"
                      else if stdenv.isLinux then "LD_LIBRARY_PATH"
@@ -20,7 +20,7 @@ let archString = if stdenv.isAarch64 then "arm64"
 in
 stdenv.mkDerivation rec {
   pname = "powershell";
-  version = "7.2.2";
+  version = "7.2.3";
 
   src = fetchzip {
     url = "https://github.com/PowerShell/PowerShell/releases/download/v${version}/powershell-${version}-${platformString}-${archString}.tar.gz";
diff --git a/pkgs/shells/rc/default.nix b/pkgs/shells/rc/default.nix
index af43c42dd4bda..804919665ec24 100644
--- a/pkgs/shells/rc/default.nix
+++ b/pkgs/shells/rc/default.nix
@@ -1,42 +1,44 @@
-{ lib, stdenv, fetchurl, autoreconfHook
-, ncurses #acinclude.m4 wants headers for tgetent().
-, historySupport ? false
-, readline ? null
-}:
+{ lib, stdenv, fetchFromGitHub, autoreconfHook, byacc
+, ncurses, readline
+, historySupport ? false, readlineSupport ? true }:
 
 stdenv.mkDerivation rec {
   pname = "rc";
-  version = "1.7.4";
+  version = "unstable-2021-08-03";
 
-  src = fetchurl {
-    url = "http://static.tobold.org/rc/rc-${version}.tar.gz";
-    sha256 = "1n5zz6d6z4z6s3fwa0pscqqawy561k4xfnmi91i626hcvls67ljy";
+  src = fetchFromGitHub {
+    owner = "rakitzis";
+    repo = "rc";
+    rev = "8ca9ab1305c3e30cd064290081d6e5a1fa841d26";
+    sha256 = "0744ars6y9zzsjr9xazms91qy6bi7msg2gg87526waziahfh4s4z";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ ncurses ]
-    ++ lib.optionals (readline != null) [ readline ];
+
+  # acinclude.m4 wants headers for tgetent().
+  buildInputs = [ byacc ncurses ]
+    ++ lib.optionals readlineSupport [ readline ];
 
   configureFlags = [
     "--enable-def-interp=${stdenv.shell}" #183
     ] ++ lib.optionals historySupport [ "--with-history" ]
-    ++ lib.optionals (readline != null) [ "--with-edit=readline" ];
+    ++ lib.optionals readlineSupport [ "--with-edit=readline" ];
 
-  prePatch = ''
+  #reproducible-build
+  postPatch = ''
     substituteInPlace configure.ac \
-      --replace "date -I" "echo 2015-05-13" #reproducible-build
+      --replace "$(git describe || echo '(git description unavailable)')" "${builtins.substring 0 7 src.rev}"
   '';
 
-  passthru = {
-    shellPath = "/bin/rc";
-  };
+  passthru.shellPath = "/bin/rc";
 
   meta = with lib; {
     description = "The Plan 9 shell";
-    longDescription = "Byron Rakitzis' UNIX reimplementation of Tom Duff's Plan 9 shell.";
-    homepage = "http://tobold.org/article/rc";
+    longDescription = "Byron Rakitzis' UNIX reimplementation of Tom Duff's Plan 9 shell";
+    homepage = "https://web.archive.org/web/20180820053030/tobold.org/article/rc";
     license = with licenses; zlib;
     maintainers = with maintainers; [ ramkromberg ];
+    mainProgram = "rc";
     platforms = with platforms; all;
   };
 }
diff --git a/pkgs/shells/zsh/zplug/default.nix b/pkgs/shells/zsh/zplug/default.nix
index d35eb345dda91..0660bbe7e7b13 100644
--- a/pkgs/shells/zsh/zplug/default.nix
+++ b/pkgs/shells/zsh/zplug/default.nix
@@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
     description = "A next-generation plugin manager for zsh";
     homepage = "https://github.com/zplug/zplug";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = [ maintainers.s1341 ];
+    mainProgram = "zplug-env";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/darwin.patch b/pkgs/shells/zsh/zsh-fzf-tab/darwin.patch
deleted file mode 100644
index 54b6ce26138a7..0000000000000
--- a/pkgs/shells/zsh/zsh-fzf-tab/darwin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/modules/Src/aloxaf/fzftab.c b/modules/Src/aloxaf/fzftab.c
-index 60b6330..91975d8 100644
---- a/modules/Src/aloxaf/fzftab.c
-+++ b/modules/Src/aloxaf/fzftab.c
-@@ -1,6 +1,5 @@
- #include "fzftab.mdh"
- #include "fzftab.pro"
--#include <malloc.h>
- #include <stdarg.h>
- #include <stdlib.h>
- #include <sys/stat.h>
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 6d8ea1a9de9dd..be12ec147d5db 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,19 +4,17 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2022-02-10";
+  version = "unstable-2022-04-15";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "e8145d541a35d8a03df49fbbeefa50c4a0076bbf";
-    sha256 = "h/3XP/BiNnUgQI29gEBl6RFee77WDhFyvsnTi1eRbKg=";
+    rev = "7e0eee64df6c7c81a57792674646b5feaf89f263";
+    sha256 = "sha256-ixUnuNtxxmiigeVjzuV5uG6rIBPY/1vdBZF2/Qv0Trs=";
   };
 
   buildInputs = [ ncurses ];
 
-  patches = lib.optionals stdenv.isDarwin [ ./darwin.patch ];
-
   postConfigure = ''
     pushd modules
     ./configure --disable-gdbm --without-tcsetpgrp
diff --git a/pkgs/shells/zsh/zsh-history/default.nix b/pkgs/shells/zsh/zsh-history/default.nix
index be5c66505577d..9f88d972e7d28 100644
--- a/pkgs/shells/zsh/zsh-history/default.nix
+++ b/pkgs/shells/zsh/zsh-history/default.nix
@@ -25,10 +25,11 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A CLI to provide enhanced history for your ZSH shell";
-    license = licenses.mit;
     homepage = "https://github.com/b4b4r07/history";
-    platforms = platforms.unix;
+    license = licenses.mit;
     maintainers = with maintainers; [ ];
+    mainProgram = "history";
+    platforms = platforms.unix;
   };
 
   passthru.tests = {
diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix
index 9884c219ff609..e11b6efb59c4a 100644
--- a/pkgs/stdenv/adapters.nix
+++ b/pkgs/stdenv/adapters.nix
@@ -149,25 +149,15 @@ rec {
   });
 
 
-  /* Return a modified stdenv that builds packages with GCC's coverage
-     instrumentation.  The coverage note files (*.gcno) are stored in
-     $out/.build, along with the source code of the package, to enable
-     programs like lcov to produce pretty-printed reports.
-  */
+  # remove after 22.05 and before 22.11
   addCoverageInstrumentation = stdenv:
+    builtins.trace "'addCoverageInstrumentation' adapter is deprecated and will be removed before 22.11"
     overrideInStdenv stdenv [ pkgs.enableGCOVInstrumentation pkgs.keepBuildTree ];
 
 
-  /* Replace the meta.maintainers field of a derivation.  This is useful
-     when you want to fork to update some packages without disturbing other
-     developers.
-
-     e.g.:  in all-packages.nix:
-
-     # remove all maintainers.
-     defaultStdenv = replaceMaintainersField allStdenvs.stdenv pkgs [];
-  */
+  # remove after 22.05 and before 22.11
   replaceMaintainersField = stdenv: pkgs: maintainers:
+    builtins.trace "'replaceMaintainersField' adapter is deprecated and will be removed before 22.11"
     stdenv.override (old: {
       mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         lib.recursiveUpdate pkg { meta.maintainers = maintainers; });
@@ -193,22 +183,9 @@ rec {
     });
 
 
-  /* Abort if the license predicate is not verified for a derivation
-     declared with mkDerivation.
-
-     One possible predicate to avoid all non-free packages can be achieved
-     with the following function:
-
-     isFree = license: with builtins;
-       if license == null then true
-       else if isList license then lib.all isFree license
-       else license != "non-free" && license != "unfree";
-
-     This adapter can be defined on the defaultStdenv definition.  You can
-     use it by patching the all-packages.nix file or by using the override
-     feature of ~/.config/nixpkgs/config.nix .
-  */
+  # remove after 22.05 and before 22.11
   validateLicenses = licensePred: stdenv:
+    builtins.trace "'validateLicenses' adapter is deprecated and will be removed before 22.11"
     stdenv.override (old: {
       mkDerivationFromStdenv = overrideMkDerivationResult (pkg:
         let
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 6fbd78c422dad..32e4fe9749ab3 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -98,6 +98,7 @@ rec {
 
       doSign = localSystem.isAarch64 && last != null;
       doUpdateAutoTools = localSystem.isAarch64 && last != null;
+      inherit (last.pkgs) runCommandLocal;
 
       mkExtraBuildCommands = cc: ''
         rsrc="$out/resource-root"
@@ -223,23 +224,15 @@ rec {
         '';
       };
 
-      pbzx = stdenv.mkDerivation {
-        name = "bootstrap-stage0-pbzx";
-        phases = [ "installPhase" ];
-        installPhase = ''
-          mkdir -p $out/bin
-          ln -s ${bootstrapTools}/bin/pbzx $out/bin
-        '';
-      };
+      pbzx = self.runCommandLocal "bootstrap-stage0-pbzx" { } ''
+        mkdir -p $out/bin
+        ln -s ${bootstrapTools}/bin/pbzx $out/bin
+      '';
 
-      cpio = stdenv.mkDerivation {
-        name = "bootstrap-stage0-cpio";
-        phases = [ "installPhase" ];
-        installPhase = ''
-          mkdir -p $out/bin
-          ln -s ${bootstrapFiles.cpio} $out/bin/cpio
-        '';
-      };
+      cpio = self.runCommandLocal "bootstrap-stage0-cpio" { } ''
+        mkdir -p $out/bin
+        ln -s ${bootstrapFiles.cpio} $out/bin/cpio
+      '';
 
       darwin = super.darwin.overrideScope (selfDarwin: superDarwin: {
         darwin-stubs = superDarwin.darwin-stubs.override { inherit (self) stdenvNoCC fetchurl; };
@@ -253,43 +246,21 @@ rec {
           '';
         };
 
-        sigtool = stdenv.mkDerivation {
-          name = "bootstrap-stage0-sigtool";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/sigtool $out/bin
-
-            # Rewrite nuked references
-            sed -e "s|[^( ]*\bsigtool\b|$out/bin/sigtool|g" \
-              ${bootstrapTools}/bin/codesign > $out/bin/codesign
-            chmod a+x $out/bin/codesign
-          '';
-          # on next bootstrap tools update, use the following:
-          # installPhase = ''
-          #   mkdir -p $out/bin
-          #   ln -s ${bootstrapTools}/bin/sigtool  $out/bin
-          #   ln -s ${bootstrapTools}/bin/codesign $out/bin
-          # '';
-        };
+        sigtool = self.runCommandLocal "bootstrap-stage0-sigtool" { } ''
+           mkdir -p $out/bin
+           ln -s ${bootstrapTools}/bin/sigtool  $out/bin
+           ln -s ${bootstrapTools}/bin/codesign $out/bin
+        '';
 
-        print-reexports = stdenv.mkDerivation {
-          name = "bootstrap-stage0-print-reexports";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/print-reexports $out/bin
-          '';
-        };
+        print-reexports = self.runCommandLocal "bootstrap-stage0-print-reexports" { } ''
+          mkdir -p $out/bin
+          ln -s ${bootstrapTools}/bin/print-reexports $out/bin
+        '';
 
-        rewrite-tbd = stdenv.mkDerivation {
-          name = "bootstrap-stage0-rewrite-tbd";
-          phases = [ "installPhase" ];
-          installPhase = ''
-            mkdir -p $out/bin
-            ln -s ${bootstrapTools}/bin/rewrite-tbd $out/bin
-          '';
-        };
+        rewrite-tbd = self.runCommandLocal "bootstrap-stage0-rewrite-tbd" { } ''
+          mkdir -p $out/bin
+          ln -s ${bootstrapTools}/bin/rewrite-tbd $out/bin
+        '';
 
         binutils-unwrapped = { name = "bootstrap-stage0-binutils"; outPath = bootstrapTools; };
 
@@ -359,7 +330,7 @@ rec {
 
         libcxx = stdenv.mkDerivation {
           name = "bootstrap-stage0-libcxx";
-          phases = [ "installPhase" "fixupPhase" ];
+          dontUnpack = true;
           installPhase = ''
             mkdir -p $out/lib $out/include
             ln -s ${bootstrapTools}/lib/libc++.dylib $out/lib/libc++.dylib
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index e0ead55d1a786..1da098dabbee1 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -7,6 +7,10 @@ let
   # If we're in hydra, we can dispense with the more verbose error
   # messages and make problems easier to spot.
   inHydra = config.inHydra or false;
+  # Allow the user to opt-into additional warnings, e.g.
+  # import <nixpkgs> { config = { showDerivationWarnings = [ "maintainerless" ]; }; }
+  showWarnings = config.showDerivationWarnings;
+
   getName = attrs: attrs.name or ("${attrs.pname or "«name-missing»"}-${attrs.version or "«version-missing»"}");
 
   # See discussion at https://github.com/NixOS/nixpkgs/pull/25304#issuecomment-298385426
@@ -46,6 +50,9 @@ let
     hasLicense attrs &&
     isUnfree (lib.lists.toList attrs.meta.license);
 
+  hasNoMaintainers = attrs:
+    attrs ? meta.maintainers && (lib.length attrs.meta.maintainers) == 0;
+
   isMarkedBroken = attrs: attrs.meta.broken or false;
 
   hasUnsupportedPlatform = attrs:
@@ -91,6 +98,7 @@ let
     insecure = remediate_insecure;
     broken-outputs = remediateOutputsToInstall;
     unknown-meta = x: "";
+    maintainerless = x: "";
   };
   remediation_env_var = allow_attr: {
     Unfree = "NIXPKGS_ALLOW_UNFREE";
@@ -199,6 +207,14 @@ let
         else throw;
     in handler msg;
 
+  handleEvalWarning = { meta, attrs }: { reason , errormsg ? "" }:
+    let
+      remediationMsg = (builtins.getAttr reason remediation) attrs;
+      msg = if inHydra then "Warning while evaluating ${getName attrs}: «${reason}»: ${errormsg}"
+        else "Package ${getName attrs} in ${pos_str meta} ${errormsg}, continuing anyway."
+             + (if remediationMsg != "" then "\n${remediationMsg}" else "");
+      isEnabled = lib.findFirst (x: x == reason) null showWarnings;
+    in if isEnabled != null then builtins.trace msg true else true;
 
   metaTypes = with lib.types; rec {
     # These keys are documented
@@ -277,28 +293,37 @@ let
       insecure = isMarkedInsecure attrs;
     }
     // (if hasDeniedUnfreeLicense attrs && !(hasAllowlistedLicense attrs) then
-      { valid = false; reason = "unfree"; errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; }
+      { valid = "no"; reason = "unfree"; errormsg = "has an unfree license (‘${showLicense attrs.meta.license}’)"; }
     else if hasBlocklistedLicense attrs then
-      { valid = false; reason = "blocklisted"; errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; }
+      { valid = "no"; reason = "blocklisted"; errormsg = "has a blocklisted license (‘${showLicense attrs.meta.license}’)"; }
     else if !allowBroken && attrs.meta.broken or false then
-      { valid = false; reason = "broken"; errormsg = "is marked as broken"; }
+      { valid = "no"; reason = "broken"; errormsg = "is marked as broken"; }
     else if !allowUnsupportedSystem && hasUnsupportedPlatform attrs then
-      { valid = false; reason = "unsupported"; errormsg = "is not supported on ‘${hostPlatform.system}’"; }
+      { valid = "no"; reason = "unsupported"; errormsg = "is not supported on ‘${hostPlatform.system}’"; }
     else if !(hasAllowedInsecure attrs) then
-      { valid = false; reason = "insecure"; errormsg = "is marked as insecure"; }
+      { valid = "no"; reason = "insecure"; errormsg = "is marked as insecure"; }
     else if checkOutputsToInstall attrs then
-      { valid = false; reason = "broken-outputs"; errormsg = "has invalid meta.outputsToInstall"; }
+      { valid = "no"; reason = "broken-outputs"; errormsg = "has invalid meta.outputsToInstall"; }
     else let res = checkMeta (attrs.meta or {}); in if res != [] then
-      { valid = false; reason = "unknown-meta"; errormsg = "has an invalid meta attrset:${lib.concatMapStrings (x: "\n\t - " + x) res}"; }
-    else { valid = true; });
+      { valid = "no"; reason = "unknown-meta"; errormsg = "has an invalid meta attrset:${lib.concatMapStrings (x: "\n\t - " + x) res}"; }
+    # --- warnings ---
+    # Please also update the type in /pkgs/top-level/config.nix alongside this.
+    else if hasNoMaintainers attrs then
+      { valid = "warn"; reason = "maintainerless"; errormsg = "has no maintainers"; }
+    # -----
+    else { valid = "yes"; });
 
   assertValidity = { meta, attrs }: let
       validity = checkValidity attrs;
     in validity // {
-      # Throw an error if trying to evaluate an non-valid derivation
-      handled = if !validity.valid
-        then handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; }
-        else true;
+      # Throw an error if trying to evaluate a non-valid derivation
+      # or, alternatively, just output a warning message.
+      handled =
+        {
+          no = handleEvalIssue { inherit meta attrs; } { inherit (validity) reason errormsg; };
+          warn = handleEvalWarning { inherit meta attrs; } { inherit (validity) reason errormsg; };
+          yes = true;
+        }.${validity.valid};
   };
 
 in assertValidity
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index d1b93874a25a3..cfed6d197cf0c 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -9,8 +9,72 @@ let
     # to build it. This is a bit confusing for cross compilation.
     inherit (stdenv) hostPlatform;
   };
+
+  makeOverlayable = mkDerivationSimple:
+    fnOrAttrs:
+      if builtins.isFunction fnOrAttrs
+      then makeDerivationExtensible mkDerivationSimple fnOrAttrs
+      else makeDerivationExtensibleConst mkDerivationSimple fnOrAttrs;
+
+  # Based off lib.makeExtensible, with modifications:
+  makeDerivationExtensible = mkDerivationSimple: rattrs:
+    let
+      # NOTE: The following is a hint that will be printed by the Nix cli when
+      # encountering an infinite recursion. It must not be formatted into
+      # separate lines, because Nix would only show the last line of the comment.
+
+      # An infinite recursion here can be caused by having the attribute names of expression `e` in `.overrideAttrs(finalAttrs: previousAttrs: e)` depend on `finalAttrs`. Only the attribute values of `e` can depend on `finalAttrs`.
+      args = rattrs (args // { inherit finalPackage; });
+      #              ^^^^
+
+      finalPackage =
+        mkDerivationSimple
+          (f0:
+            let
+              f = self: super:
+                # Convert f0 to an overlay. Legacy is:
+                #   overrideAttrs (super: {})
+                # We want to introduce self. We follow the convention of overlays:
+                #   overrideAttrs (self: super: {})
+                # Which means the first parameter can be either self or super.
+                # This is surprising, but far better than the confusion that would
+                # arise from flipping an overlay's parameters in some cases.
+                let x = f0 super;
+                in
+                  if builtins.isFunction x
+                  then
+                    # Can't reuse `x`, because `self` comes first.
+                    # Looks inefficient, but `f0 super` was a cheap thunk.
+                    f0 self super
+                  else x;
+            in
+              makeDerivationExtensible mkDerivationSimple
+                (self: let super = rattrs self; in super // f self super))
+          args;
+    in finalPackage;
+
+  # makeDerivationExtensibleConst == makeDerivationExtensible (_: attrs),
+  # but pre-evaluated for a slight improvement in performance.
+  makeDerivationExtensibleConst = mkDerivationSimple: attrs:
+    mkDerivationSimple
+      (f0:
+        let
+          f = self: super:
+            let x = f0 super;
+            in
+              if builtins.isFunction x
+              then
+                f0 self super
+              else x;
+        in
+          makeDerivationExtensible mkDerivationSimple (self: attrs // f self attrs))
+      attrs;
+
 in
 
+makeOverlayable (overrideAttrs:
+
+
 # `mkDerivation` wraps the builtin `derivation` function to
 # produce derivations that use this stdenv and its shell.
 #
@@ -19,7 +83,7 @@ in
 # * https://nixos.org/nixpkgs/manual/#sec-using-stdenv
 #   Details on how to use this mkDerivation function
 #
-# * https://nixos.org/nix/manual/#ssec-derivation
+# * https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations
 #   Explanation about derivations in general
 {
 
@@ -70,6 +134,9 @@ in
 
 , # TODO(@Ericson2314): Make always true and remove
   strictDeps ? if config.strictDepsByDefault then true else stdenv.hostPlatform != stdenv.buildPlatform
+
+, enableParallelBuilding ? config.enableParallelBuildingByDefault
+
 , meta ? {}
 , passthru ? {}
 , pos ? # position used in error messages and for meta.position
@@ -128,6 +195,12 @@ let
     else lib.subtractLists hardeningDisable (defaultHardeningFlags ++ hardeningEnable);
   # hardeningDisable additionally supports "all".
   erroneousHardeningFlags = lib.subtractLists supportedHardeningFlags (hardeningEnable ++ lib.remove "all" hardeningDisable);
+
+  checkDependencyList = checkDependencyList' [];
+  checkDependencyList' = positions: name: deps: lib.flip lib.imap1 deps (index: dep:
+    if lib.isDerivation dep || isNull dep || builtins.typeOf dep == "string" || builtins.typeOf dep == "path" then dep
+    else if lib.isList dep then checkDependencyList' ([index] ++ positions) name dep
+    else throw "Dependency is not of a valid type: ${lib.concatMapStrings (ix: "element ${toString ix} of ") ([index] ++ positions)}${name} for ${attrs.name or attrs.pname}");
 in if builtins.length erroneousHardeningFlags != 0
 then abort ("mkDerivation was called with unsupported hardening flags: " + lib.generators.toPretty {} {
   inherit erroneousHardeningFlags hardeningDisable hardeningEnable supportedHardeningFlags;
@@ -143,34 +216,34 @@ else let
 
   dependencies = map (map lib.chooseDevOutputs) [
     [
-      (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuild)
-      (map (drv: drv.nativeDrv or drv) nativeBuildInputs
+      (map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuild" depsBuildBuild))
+      (map (drv: drv.nativeDrv or drv) (checkDependencyList "nativeBuildInputs" nativeBuildInputs
          ++ lib.optional separateDebugInfo' ../../build-support/setup-hooks/separate-debug-info.sh
          ++ lib.optional stdenv.hostPlatform.isWindows ../../build-support/setup-hooks/win-dll-link.sh
          ++ lib.optionals doCheck checkInputs
-         ++ lib.optionals doInstallCheck' installCheckInputs)
-      (map (drv: drv.__spliced.buildTarget or drv) depsBuildTarget)
+         ++ lib.optionals doInstallCheck' installCheckInputs))
+      (map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTarget" depsBuildTarget))
     ]
     [
-      (map (drv: drv.__spliced.hostHost or drv) depsHostHost)
-      (map (drv: drv.crossDrv or drv) buildInputs)
+      (map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHost" depsHostHost))
+      (map (drv: drv.crossDrv or drv) (checkDependencyList "buildInputs" buildInputs))
     ]
     [
-      (map (drv: drv.__spliced.targetTarget or drv) depsTargetTarget)
+      (map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTarget" depsTargetTarget))
     ]
   ];
   propagatedDependencies = map (map lib.chooseDevOutputs) [
     [
-      (map (drv: drv.__spliced.buildBuild or drv) depsBuildBuildPropagated)
-      (map (drv: drv.nativeDrv or drv) propagatedNativeBuildInputs)
-      (map (drv: drv.__spliced.buildTarget or drv) depsBuildTargetPropagated)
+      (map (drv: drv.__spliced.buildBuild or drv) (checkDependencyList "depsBuildBuildPropagated" depsBuildBuildPropagated))
+      (map (drv: drv.nativeDrv or drv) (checkDependencyList "propagatedNativeBuildInputs" propagatedNativeBuildInputs))
+      (map (drv: drv.__spliced.buildTarget or drv) (checkDependencyList "depsBuildTargetPropagated" depsBuildTargetPropagated))
     ]
     [
-      (map (drv: drv.__spliced.hostHost or drv) depsHostHostPropagated)
-      (map (drv: drv.crossDrv or drv) propagatedBuildInputs)
+      (map (drv: drv.__spliced.hostHost or drv) (checkDependencyList "depsHostHostPropagated" depsHostHostPropagated))
+      (map (drv: drv.crossDrv or drv) (checkDependencyList "propagatedBuildInputs" propagatedBuildInputs))
     ]
     [
-      (map (drv: drv.__spliced.targetTarget or drv) depsTargetTargetPropagated)
+      (map (drv: drv.__spliced.targetTarget or drv) (checkDependencyList "depsTargetTargetPropagated" depsTargetTargetPropagated))
     ]
   ];
 
@@ -312,7 +385,7 @@ else let
           llvm-config = 'llvm-config-native'
         '';
       in [ "--cross-file=${crossFile}" ] ++ mesonFlags;
-    } // lib.optionalAttrs (attrs.enableParallelBuilding or false) {
+    } // lib.optionalAttrs (enableParallelBuilding) {
       enableParallelChecking = attrs.enableParallelChecking or true;
     } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != [] || stdenv.hostPlatform.isMusl) {
       NIX_HARDENING_ENABLE = enabledHardeningOptions;
@@ -370,7 +443,7 @@ else let
     } // {
       # Expose the result of the checks for everyone to see.
       inherit (validity) unfree broken unsupported insecure;
-      available = validity.valid
+      available = validity.valid != "no"
                && (if config.checkMetaRecursively or false
                    then lib.all (d: d.meta.available or true) references
                    else true);
@@ -381,8 +454,6 @@ in
 lib.extendDerivation
   validity.handled
   ({
-     overrideAttrs = f: stdenv.mkDerivation (attrs // (f attrs));
-
      # A derivation that always builds successfully and whose runtime
      # dependencies are the original derivations build time dependencies
      # This allows easy building and distributing of all derivations
@@ -408,10 +479,12 @@ lib.extendDerivation
        args = [ "-c" "export > $out" ];
      });
 
-     inherit meta passthru;
+     inherit meta passthru overrideAttrs;
    } //
    # Pass through extra attributes that are not inputs, but
    # should be made available to Nix expressions using the
    # derivation (e.g., in assertions).
    passthru)
   (derivation derivationArg)
+
+)
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index 63aaf6bb72e71..2ab03bda8b775 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -67,6 +67,8 @@ with pkgs;
 
   writers = callPackage ../build-support/writers/test.nix {};
 
+  testers = callPackage ../build-support/testers/test/default.nix {};
+
   dhall = callPackage ./dhall { };
 
   makeWrapper = callPackage ./make-wrapper {};
diff --git a/pkgs/test/make-binary-wrapper/default.nix b/pkgs/test/make-binary-wrapper/default.nix
index b5bbf994ffa3f..2d3389c4a012c 100644
--- a/pkgs/test/make-binary-wrapper/default.nix
+++ b/pkgs/test/make-binary-wrapper/default.nix
@@ -44,6 +44,7 @@ let
       "invalid-env"
       "prefix"
       "suffix"
+      "overlength-strings"
     ];
     f = name: lib.nameValuePair name (makeGoldenTest name);
   in builtins.listToAttrs (builtins.map f names);
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.c b/pkgs/test/make-binary-wrapper/overlength-strings.c
new file mode 100644
index 0000000000000..579705d33e949
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.c
@@ -0,0 +1,25 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <unistd.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+
+#define assert_success(e) do { if ((e) < 0) { perror(#e); abort(); } } while (0)
+
+void set_env_prefix(char *env, char *sep, char *prefix) {
+    char *existing = getenv(env);
+    if (existing) {
+        char *val;
+        assert_success(asprintf(&val, "%s%s%s", prefix, sep, existing));
+        assert_success(setenv(env, val, 1));
+        free(val);
+    } else {
+        assert_success(setenv(env, prefix, 1));
+    }
+}
+
+int main(int argc, char **argv) {
+    set_env_prefix("PATH", ":", "/nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong");
+    argv[0] = "/send/me/flags";
+    return execv("/send/me/flags", argv);
+}
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.cmdline b/pkgs/test/make-binary-wrapper/overlength-strings.cmdline
new file mode 100644
index 0000000000000..686abbb1cdb98
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.cmdline
@@ -0,0 +1 @@
+    --prefix PATH : /nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
diff --git a/pkgs/test/make-binary-wrapper/overlength-strings.env b/pkgs/test/make-binary-wrapper/overlength-strings.env
new file mode 100644
index 0000000000000..83a02f5f83437
--- /dev/null
+++ b/pkgs/test/make-binary-wrapper/overlength-strings.env
@@ -0,0 +1,3 @@
+PATH=/nix/store/00000000000000000000000000000000-loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong
+CWD=SUBST_CWD
+SUBST_ARGV0
diff --git a/pkgs/test/nixos-functions/default.nix b/pkgs/test/nixos-functions/default.nix
index f2914455246c2..bdd5e3c6d8b42 100644
--- a/pkgs/test/nixos-functions/default.nix
+++ b/pkgs/test/nixos-functions/default.nix
@@ -1,7 +1,7 @@
 /*
 
 This file is a test that makes sure that the `pkgs.nixos` and
-`pkgs.nixosTest` functions work. It's far from a perfect test suite,
+`pkgs.testers.nixosTest` functions work. It's far from a perfect test suite,
 but better than not checking them at all on hydra.
 
 To run this test:
@@ -24,18 +24,8 @@ in lib.optionalAttrs stdenv.hostPlatform.isLinux (
       system.nixos = dummyVersioning;
       boot.loader.grub.enable = false;
       fileSystems."/".device = "/dev/null";
+      system.stateVersion = lib.trivial.release;
     }).toplevel;
 
-    nixosTest-test = pkgs.nixosTest ({ lib, pkgs, figlet, ... }: {
-      name = "nixosTest-test";
-      nodes.machine = { pkgs, ... }: {
-        system.nixos = dummyVersioning;
-        environment.systemPackages = [ pkgs.hello figlet ];
-      };
-      testScript = ''
-        machine.succeed("hello | figlet >/dev/console")
-      '';
-    });
-
   }
 )
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index a8ba509c78c9a..3b631c22d15d3 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -19,13 +19,13 @@
 
 buildDotnetModule rec {
   pname = "OpenTabletDriver";
-  version = "0.6.0.3";
+  version = "0.6.0.4";
 
   src = fetchFromGitHub {
     owner = "OpenTabletDriver";
     repo = "OpenTabletDriver";
     rev = "v${version}";
-    sha256 = "sha256-/Tow25ycQEK8HN1IaB12ZXCXEsuKItD+aYLF/IX8Eos=";
+    sha256 = "sha256-VvxW8Ck+XC4nXSUyDhcbGoeSr5uSAZ66jtZNoADuVR8=";
   };
 
   debPkg = fetchurl {
diff --git a/pkgs/tools/X11/opentabletdriver/deps.nix b/pkgs/tools/X11/opentabletdriver/deps.nix
index 8ead5fc8a1180..f0b5252950067 100644
--- a/pkgs/tools/X11/opentabletdriver/deps.nix
+++ b/pkgs/tools/X11/opentabletdriver/deps.nix
@@ -20,6 +20,7 @@
   (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.NET.Test.Sdk"; version = "16.9.4"; sha256 = "1jdx05zmrqj1s7xfgn3wgy10qb5cl1n1jcj5kz43zvkw1amc7ra4"; })
   (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"; })
@@ -27,7 +28,6 @@
   (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.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"; })
diff --git a/pkgs/tools/X11/xnee/default.nix b/pkgs/tools/X11/xnee/default.nix
index 00ebb1ecec23e..d2236dfe354eb 100644
--- a/pkgs/tools/X11/xnee/default.nix
+++ b/pkgs/tools/X11/xnee/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libX11, xorgproto, libXext, libXtst
+{ fetchurl, fetchpatch, lib, stdenv, libX11, xorgproto, libXext, libXtst
 , gtk2, libXi, pkg-config, texinfo }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "04n2lac0vgpv8zsn7nmb50hf3qb56pmj90dmwnivg09gyrf1x92j";
   };
 
-  patchPhase =
+  patches = [
+    # Pull fix pending upstream inclusion for -fno-common
+    # toolchain support: https://savannah.gnu.org/bugs/?58810
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://savannah.gnu.org/bugs/download.php?file_id=49534";
+      sha256 = "04j2cjy2yaiigg31a6k01vw0fq19yj3zpriikkjcz9q4ab4m5gh2";
+    })
+  ];
+
+  postPatch =
     '' for i in `find cnee/test -name \*.sh`
        do
          sed -i "$i" -e's|/bin/bash|${stdenv.shell}|g ; s|/usr/bin/env bash|${stdenv.shell}|g'
diff --git a/pkgs/tools/X11/xvkbd/default.nix b/pkgs/tools/X11/xvkbd/default.nix
index d751cb8f087a7..32355205d59a9 100644
--- a/pkgs/tools/X11/xvkbd/default.nix
+++ b/pkgs/tools/X11/xvkbd/default.nix
@@ -1,25 +1,28 @@
-{ lib, stdenv, fetchurl, imake, libXt, libXaw, libXtst
-, libXi, libXpm, xorgproto, gccmakedep, Xaw3d }:
+{ lib, stdenv, fetchurl, libXt, libXaw, libXtst
+, libXi, libXpm, pkg-config, xorgproto, Xaw3d }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "xvkbd";
-  version = "3.9";
+  version = "4.1";
   src = fetchurl {
-    url = "http://t-sato.in.coocan.jp/xvkbd/xvkbd-3.9.tar.gz";
-    sha256 = "17csj6x5zm3g67izfwhagkal1rbqzpw09lqmmlyrjy3vzgfkf75q";
+    url = "http://t-sato.in.coocan.jp/xvkbd/xvkbd-${version}.tar.gz";
+    sha256 = "1x5yldv9y99cw5hzzs73ygdn1z80zns9hz0baa355r711zghfbcm";
   };
 
-  nativeBuildInputs = [ imake gccmakedep ];
+  nativeBuildInputs = [ pkg-config ] ;
   buildInputs = [ libXt libXaw libXtst xorgproto libXi Xaw3d libXpm ];
-  installTargets = [ "install" "install.man" ];
+
   makeFlags = [
-    "BINDIR=${placeholder "out"}/bin"
-    "CONFDIR=${placeholder "out"}/etc/X11"
-    "LIBDIR=${placeholder "out"}/lib/X11"
-    "XAPPLOADDIR=${placeholder "out"}/etc/X11/app-defaults"
-    "MANPATH=${placeholder "out"}/man"
+    # avoid default libXt location
+    "appdefaultdir=${placeholder "out"}/share/X11/app-defaults"
+    "datarootdir=${placeholder "out"}/share"
   ];
 
+  preInstall = ''
+    # workaround absence of libXt in $DESTDIR location.
+    mkdir -p $out/share/X11
+  '';
+
   meta = with lib; {
     description = "Virtual keyboard for X window system";
     longDescription = ''
diff --git a/pkgs/tools/X11/xwinmosaic/default.nix b/pkgs/tools/X11/xwinmosaic/default.nix
index af17f3ade7dc4..51ba815f1de45 100644
--- a/pkgs/tools/X11/xwinmosaic/default.nix
+++ b/pkgs/tools/X11/xwinmosaic/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, gtk2, cmake, pkg-config, libXdamage }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, gtk2, cmake, pkg-config, libXdamage }:
 
 stdenv.mkDerivation rec {
   version = "0.4.2";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "16qhrpgn84fz0q3nfvaz5sisc82zk6y7c0sbvbr69zfx5fwbs1rr";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #  https://github.com/soulthreads/xwinmosaic/pull/33
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/soulthreads/xwinmosaic/commit/a193a3f30850327066e5a93b29316cba2735e10d.patch";
+      sha256 = "0qpk802j5x6bsfvj6jqw1nz482jynwyk7yrrh4bsziwc53khm95q";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ gtk2 libXdamage ];
 
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
index 9330291014d16..aa1c77ef68e47 100644
--- a/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -20,15 +20,15 @@
 
 buildPythonApplication rec {
   pname = "aws-google-auth";
-  version = "0.0.37";
+  version = "0.0.38";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   # https://github.com/cevoaustralia/aws-google-auth/issues/120
   src = fetchFromGitHub {
     owner = "cevoaustralia";
     repo = "aws-google-auth";
-    rev = version;
-    sha256 = "1bh733n4m5rsslpbjvhdigx6768nrvacybkakrm9704d2md9vkqd";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-/Xe4RDA9sBEsBBV1VP91VX0VfO8alK8L70m9WrB7qu4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/aws-rotate-key/default.nix b/pkgs/tools/admin/aws-rotate-key/default.nix
index 82b5773912015..35221b3fb5b50 100644
--- a/pkgs/tools/admin/aws-rotate-key/default.nix
+++ b/pkgs/tools/admin/aws-rotate-key/default.nix
@@ -1,25 +1,29 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, aws-rotate-key }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "aws-rotate-key";
-  version = "1.0.6";
-
-  goPackagePath = "github.com/Fullscreen/aws-rotate-key";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "Fullscreen";
     repo = "aws-rotate-key";
-    sha256 = "1w9704g1l2b0y6g6mk79g28kk0yaswpgljkk85d0i10wyxq4icby";
+    rev = "v${version}";
+    sha256 = "sha256-5kV87uQDSc/qpm79Pd2nXo/EcbMlhZqFYaw+gJQa2uo=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-h7tmJx/Um1Cy/ojiFjoKCH/LcOwhGU8ADb5WwmrkkJM=";
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = aws-rotate-key;
+  };
 
   meta = with lib; {
     description = "Easily rotate your AWS key";
     homepage = "https://github.com/Fullscreen/aws-rotate-key";
     license = licenses.mit;
-    maintainers = [maintainers.mbode];
+    maintainers = [ maintainers.mbode ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/admin/aws-rotate-key/deps.nix b/pkgs/tools/admin/aws-rotate-key/deps.nix
deleted file mode 100644
index 680a18e7e2d38..0000000000000
--- a/pkgs/tools/admin/aws-rotate-key/deps.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/go-ini/ini";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-ini/ini";
-      rev = "af26abd521cd7697481572fdbc4a53cbea3dde1b";
-      sha256 = "1yribbqy9i4i70dfg3yrjhkn3n0fywpr3kismn2mvi882mm01pxz";
-    };
-  }
-  {
-    goPackagePath = "github.com/jmespath/go-jmespath";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jmespath/go-jmespath";
-      rev = "c2b33e8439af944379acbdd9c3a5fe0bc44bd8a5";
-      sha256 = "1r6w7ydx8ydryxk3sfhzsk8m6f1nsik9jg3i1zhi69v4kfl4d5cz";
-    };
-  }
-  {
-    goPackagePath = "github.com/aws/aws-sdk-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aws/aws-sdk-go";
-      rev = "f844700ba2a387dfee7ab3679e7544b5dbd6d394";
-      sha256 = "0s9100bzqj58nnax3dxfgi5qr4rbaa53cb0cj3s58k9jc9z6270m";
-    };
-  }
-]
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index f746941a9533f..b65b4a8fbbbb4 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -226,8 +226,19 @@ let
       azure-mgmt-media = overrideAzureMgmtPackage super.azure-mgmt-media "7.0.0" "zip"
         "sha256-tF6CpZTtkc1ap6XNXQHwOLesPPEiM+e6K+qqNHeQDo4=";
 
-      azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
-        "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+      azure-mgmt-msi = super.azure-mgmt-msi.overridePythonAttrs (old: rec {
+        version = "0.2.0";
+        src = old.src.override {
+          inherit version;
+          sha256 = "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+        };
+        propagatedBuildInputs = with self; [
+          msrest
+          msrestazure
+          azure-common
+          azure-mgmt-nspkg
+        ];
+      });
 
       azure-mgmt-privatedns = overrideAzureMgmtPackage super.azure-mgmt-privatedns "1.0.0" "zip"
         "b60f16e43f7b291582c5f57bae1b083096d8303e9d9958e2c29227a55cc27c45";
diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix
index fda6113b59841..92a188b0cb61b 100644
--- a/pkgs/tools/admin/bubblewrap/default.nix
+++ b/pkgs/tools/admin/bubblewrap/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bubblewrap";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "bubblewrap";
     rev = "v${version}";
-    sha256 = "sha256-YmK/Tq9/JTJr5gLNKEH5t6TvvXlNSTDz5Ui7d3ewv2s=";
+    hash = "sha256-J+VFla3sWO+DfB2IxxrKzbiG+KWFJr9caf8sTHyWXY4=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/admin/certigo/default.nix b/pkgs/tools/admin/certigo/default.nix
index d31cb6a0ef665..541f23058ef2c 100644
--- a/pkgs/tools/admin/certigo/default.nix
+++ b/pkgs/tools/admin/certigo/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "certigo";
@@ -13,6 +13,11 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-qS/tIi6umSuQcl43SI4LyL0k5eWfRWs7kVybRPGKcbs=";
 
+  # Go running under Hydra Darwin x86_64 picks CHAPOLY instead of AES-GCM as
+  # the default TLS ciphersuite, and breaks the arguably flakey `TestConnect`
+  # test.
+  doCheck = !(stdenv.isDarwin && stdenv.isx86_64);
+
   meta = with lib; {
     description = "A utility to examine and validate certificates in a variety of formats";
     homepage = "https://github.com/square/certigo";
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 996ab16360b11..b2a70c2bf2806 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.95.0";
+  version = "0.97.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WAu2ghQAih+f1PdfflsroUOAV5Cs+hvECOyw34DRugU=";
+    sha256 = "sha256-WqYal+SDJNBCYc4vxUvYUXnKtmlV/ttfeQKAeOsy5lE=";
   };
 
-  vendorSha256 = "sha256-zedhE9WWCktqYig+bI4v9bQhzSW8laClgTI2Gsrz+FM=";
+  vendorSha256 = "sha256-0uur+L4bSVn6S8yBbdjIdMIgTY4pbQzVPGEVDgYISuw=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/elasticsearch-curator/default.nix b/pkgs/tools/admin/elasticsearch-curator/default.nix
index 60a7e0586f5fc..576df67ad5fd0 100644
--- a/pkgs/tools/admin/elasticsearch-curator/default.nix
+++ b/pkgs/tools/admin/elasticsearch-curator/default.nix
@@ -1,63 +1,68 @@
-{ lib, fetchFromGitHub, python }:
+{ lib, fetchFromGitHub, python3 }:
 
 let
-py = python.override {
-  packageOverrides = self: super: {
-    click = super.click.overridePythonAttrs (oldAttrs: rec {
-      version = "6.7";
-      src = oldAttrs.src.override {
-        inherit version;
-        sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
-      };
-      doCheck = false;
-      postPatch = "";
-    });
+  python = python3.override {
+    packageOverrides = self: super: {
+      click = super.click.overridePythonAttrs (old: rec {
+        version = "7.1.2";
+        src = old.src.override {
+          inherit version;
+          sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
+        };
+      });
+      requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
+        doCheck = false; # requires click>=8.0
+      });
+    };
   };
-};
-in
-
-with py.pkgs;
-buildPythonApplication rec {
+in python.pkgs.buildPythonApplication rec {
   pname   = "elasticsearch-curator";
-  version = "5.8.1";
+  version = "5.8.4";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "elastic";
     repo = "curator";
     rev = "v${version}";
-    sha256 = "1shr9jslirjnbvma3p19djsnamxl7f3m9c8zrlclk57zv8rnwpkr";
+    hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
   };
 
-  # The test hangs so we disable it.
-  doCheck = false;
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "urllib3==1.26.4" "urllib3"
+    substituteInPlace setup.py \
+      --replace "urllib3==1.26.4" "urllib3" \
+      --replace "pyyaml==5.4.1" "pyyaml"
+  '';
 
-  propagatedBuildInputs = [
-    click
-    certifi
-    requests-aws4auth
-    pyopenssl
-    voluptuous
-    pyyaml
+  propagatedBuildInputs = with python.pkgs; [
     elasticsearch
+    urllib3
+    requests
     boto3
+    requests-aws4auth
+    click
+    pyyaml
+    voluptuous
+    certifi
+    six
   ];
 
-  checkInputs = [
-    nosexcover
-    coverage
-    nose
+  checkInputs = with python.pkgs; [
     mock
-    funcsigs
+    pytestCheckHook
   ];
 
-  postPatch = ''
-    sed -i s/pyyaml==3.13/pyyaml/g setup.cfg setup.py
-    sed -i s/pyyaml==3.12/pyyaml/g setup.cfg setup.py
-    substituteInPlace setup.py \
-      --replace "urllib3>=1.24.2,<1.25" "urllib3"
-    substituteInPlace setup.cfg \
-      --replace "urllib3>=1.24.2,<1.25" "urllib3"
-  '';
+  disabledTestPaths = [
+    "test/integration" # requires running elasticsearch
+  ];
+
+  disabledTests = [
+    # access network
+    "test_api_key_not_set"
+    "test_api_key_set"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/elastic/curator";
@@ -76,8 +81,5 @@ buildPythonApplication rec {
       * Perform various actions on the items which remain in the actionable list.
     '';
     maintainers = with maintainers; [ basvandijk ];
-
-    # https://github.com/elastic/curator/pull/1280
-    #broken = versionAtLeast click.version "7.0";
   };
 }
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index b05f338042610..6a093710151de 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -1,34 +1,46 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "exoscale-cli";
-  version = "1.52.1";
+  version = "1.54.0";
 
   src = fetchFromGitHub {
-    owner  = "exoscale";
-    repo   = "cli";
-    rev    = "v${version}";
-    sha256 = "sha256-CSltvSdKLAH711ubT6ROgkmq2EcFJplPmavsJa9xupM=";
+    owner = "exoscale";
+    repo = "cli";
+    rev = "v${version}";
+    sha256 = "sha256-uvPJ1cOKMpDf1KfEPkSTWMIMNojUlfpqI1ESomX1MlM=";
   };
 
-  goPackagePath = "github.com/exoscale/cli";
+  vendorSha256 = null;
 
-  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
+  nativeBuildInputs = [ installShellFiles ];
 
-  # ensures only the cli binary is built and we don't clutter bin/ with submodules
-  subPackages = [ "." ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" ];
 
   # we need to rename the resulting binary but can't use buildFlags with -o here
   # because these are passed to "go install" which does not recognize -o
   postBuild = ''
-    mv go/bin/cli go/bin/exo
+    mv $GOPATH/bin/cli $GOPATH/bin/exo
+
+    mkdir -p manpage
+    $GOPATH/bin/docs --man-page
+    rm $GOPATH/bin/docs
+
+    $GOPATH/bin/completion bash
+    $GOPATH/bin/completion zsh
+    rm $GOPATH/bin/completion
+  '';
+
+  postInstall = ''
+    installManPage manpage/*
+    installShellCompletion --cmd exo --bash bash_completion --zsh zsh_completion
   '';
 
   meta = {
     description = "Command-line tool for everything at Exoscale: compute, storage, dns";
-    homepage    = "https://github.com/exoscale/cli";
-    license     = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ dramaturg ];
+    homepage = "https://github.com/exoscale/cli";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ dramaturg viraptor ];
     mainProgram = "exo";
   };
 }
diff --git a/pkgs/tools/admin/google-cloud-sdk/data.nix b/pkgs/tools/admin/google-cloud-sdk/data.nix
index af2f1ee352af3..87ae11bdc1455 100644
--- a/pkgs/tools/admin/google-cloud-sdk/data.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/data.nix
@@ -1,32 +1,32 @@
 # DO NOT EDIT! This file is generated automatically by update.sh
 { }:
 {
-  version = "381.0.0";
+  version = "385.0.0";
   googleCloudSdkPkgs = {
     x86_64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-x86_64.tar.gz";
-        sha256 = "1m5npilxagnl8zdx2i5vgcgalbcsnd4zvi0f2y5ic3dlfgibmlxb";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-385.0.0-linux-x86_64.tar.gz";
+        sha256 = "17l70chxxnacljhck1bxqz85170a6ilw5lzj8m3gcciy6klkj66d";
       };
     x86_64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-darwin-x86_64.tar.gz";
-        sha256 = "0vdbm2pl2wbyrdlf5dxs0djs6dn7kv17qvl8jxca8ylz2k296a0x";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-385.0.0-darwin-x86_64.tar.gz";
+        sha256 = "185kj98vwg0fbkfxw0w8258dg45avn22p7afq98gcflr2ymxin2v";
       };
     aarch64-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-arm.tar.gz";
-        sha256 = "03mkhp7kvakv8bzpj9yk9anj8y5k7iina876f7dcsbm9fiwl4g9w";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-385.0.0-linux-arm.tar.gz";
+        sha256 = "044zk3px8wqlz4wcl2kqdv4nr5r2p1s0ahlxiaigdgfm8b3wm1gh";
       };
     aarch64-darwin =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-darwin-arm.tar.gz";
-        sha256 = "1dsfn7rdmg1m7d9cfirl6xsdwzbzh6v62xp6nd9b17s05d4sh0kl";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-385.0.0-darwin-arm.tar.gz";
+        sha256 = "1rjjr5vn99cv9shr5yazqzh6m7yvbn7rmjg0f8wbbmlj7fqd7gzv";
       };
     i686-linux =
       {
-        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-381.0.0-linux-x86.tar.gz";
-        sha256 = "0y95lvky62f7pfz4g3476ci239p5c8q9p9l2xh59x38xaa69gnvb";
+        url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-385.0.0-linux-x86.tar.gz";
+        sha256 = "1ym5hh1dq5wbx3lr75im2ibsr5iqnsamqsvz1nw15l7ii2v7hsjy";
       };
   };
 }
diff --git a/pkgs/tools/admin/google-cloud-sdk/update.sh b/pkgs/tools/admin/google-cloud-sdk/update.sh
index b26950087a1d7..368612b19c9ab 100755
--- a/pkgs/tools/admin/google-cloud-sdk/update.sh
+++ b/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="381.0.0"
+VERSION="385.0.0"
 
 function genMainSrc() {
     local url="${BASE_URL}-${VERSION}-${1}-${2}.tar.gz"
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 48cb73be8310e..0b32c23f65aad 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -48,6 +48,7 @@ buildGo118Package rec {
   '';
 
   passthru.tests.lxd = nixosTests.lxd;
+  passthru.tests.lxd-nftables = nixosTests.lxd-nftables;
 
   nativeBuildInputs = [ installShellFiles pkg-config makeWrapper ];
   buildInputs = [ lxc acl libcap dqlite.dev raft-canonical.dev
diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix
index b1c14d6c8aada..c10a269c4f702 100644
--- a/pkgs/tools/admin/meshcentral/default.nix
+++ b/pkgs/tools/admin/meshcentral/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs, jq, dos2unix }:
 
 yarn2nix-moretea.mkYarnPackage rec {
-  version = "0.9.98";
+  version = "1.0.18";
 
   src = fetchzip {
     url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
-    sha256 = "0bvd6fin05dkh6x5qx2f58c0zsmxpdlwb8wqm0y04bax1mhm1bsf";
+    sha256 = "03bs7c2n4cxpsjkrcwinmjarcfwxvkg10xvnjk5r1rnkzlrsy8pm";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/tools/admin/meshcentral/package.json b/pkgs/tools/admin/meshcentral/package.json
index 3b08a4ccbc528..5883d36211614 100644
--- a/pkgs/tools/admin/meshcentral/package.json
+++ b/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "0.9.98",
+  "version": "1.0.18",
   "keywords": [
     "Remote Device Management",
     "Remote Device Monitoring",
@@ -25,6 +25,7 @@
     "*.js",
     "amt",
     "bin",
+    "rdp",
     "views",
     "emails",
     "agents",
@@ -67,6 +68,7 @@
     "passport-reddit": "*",
     "passport-azure-oauth2": "*",
     "jwt-simple": "*",
+    "@mstrhakr/passport-generic-oidc": "*",
     "passport-saml": "*",
     "ws": "5.2.3",
     "cbor": "5.2.0",
@@ -87,7 +89,6 @@
     "loadavg-windows": "*",
     "node-sspi": "*",
     "ldapauth-fork": "*",
-    "node-rdpjs-2": "*",
     "ssh2": "*",
     "image-size": "*",
     "acme-client": "*",
diff --git a/pkgs/tools/admin/meshcentral/yarn.lock b/pkgs/tools/admin/meshcentral/yarn.lock
index 55b08db09a902..56c80e65786af 100644
--- a/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/pkgs/tools/admin/meshcentral/yarn.lock
@@ -14,14 +14,14 @@
   dependencies:
     "@babel/highlight" "^7.16.7"
 
-"@babel/generator@^7.17.3", "@babel/generator@^7.4.0":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200"
-  integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==
+"@babel/generator@^7.17.10", "@babel/generator@^7.4.0":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz#c281fa35b0c349bbe9d02916f4ae08fc85ed7189"
+  integrity sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==
   dependencies:
-    "@babel/types" "^7.17.0"
+    "@babel/types" "^7.17.10"
+    "@jridgewell/gen-mapping" "^0.1.0"
     jsesc "^2.5.1"
-    source-map "^0.5.0"
 
 "@babel/helper-environment-visitor@^7.16.7":
   version "7.16.7"
@@ -30,21 +30,13 @@
   dependencies:
     "@babel/types" "^7.16.7"
 
-"@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==
+"@babel/helper-function-name@^7.17.9":
+  version "7.17.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12"
+  integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==
   dependencies:
-    "@babel/helper-get-function-arity" "^7.16.7"
     "@babel/template" "^7.16.7"
-    "@babel/types" "^7.16.7"
-
-"@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.7"
+    "@babel/types" "^7.17.0"
 
 "@babel/helper-hoist-variables@^7.16.7":
   version "7.16.7"
@@ -66,18 +58,18 @@
   integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
 
 "@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==
+  version "7.17.9"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3"
+  integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==
   dependencies:
     "@babel/helper-validator-identifier" "^7.16.7"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.4.3":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0"
-  integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==
+"@babel/parser@^7.16.7", "@babel/parser@^7.17.10", "@babel/parser@^7.4.3":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz#873b16db82a8909e0fbd7f115772f4b739f6ce78"
+  integrity sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==
 
 "@babel/template@^7.16.7", "@babel/template@^7.4.0":
   version "7.16.7"
@@ -89,35 +81,64 @@
     "@babel/types" "^7.16.7"
 
 "@babel/traverse@^7.4.3":
-  version "7.17.3"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57"
-  integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz#1ee1a5ac39f4eac844e6cf855b35520e5eb6f8b5"
+  integrity sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==
   dependencies:
     "@babel/code-frame" "^7.16.7"
-    "@babel/generator" "^7.17.3"
+    "@babel/generator" "^7.17.10"
     "@babel/helper-environment-visitor" "^7.16.7"
-    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-function-name" "^7.17.9"
     "@babel/helper-hoist-variables" "^7.16.7"
     "@babel/helper-split-export-declaration" "^7.16.7"
-    "@babel/parser" "^7.17.3"
-    "@babel/types" "^7.17.0"
+    "@babel/parser" "^7.17.10"
+    "@babel/types" "^7.17.10"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@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==
+"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.17.10", "@babel/types@^7.4.0":
+  version "7.17.10"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz#d35d7b4467e439fcf06d195f8100e0fea7fc82c4"
+  integrity sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==
   dependencies:
     "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
+"@jridgewell/gen-mapping@^0.1.0":
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996"
+  integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+  dependencies:
+    "@jridgewell/set-array" "^1.0.0"
+    "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@jridgewell/set-array@^1.0.0":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea"
+  integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==
+
+"@jridgewell/sourcemap-codec@^1.4.10":
+  version "1.4.13"
+  resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c"
+  integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==
+
+"@mstrhakr/passport-generic-oidc@*":
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/@mstrhakr/passport-generic-oidc/-/passport-generic-oidc-0.3.0.tgz#46dbb306ee757f1c30002a6e21c2fe60b37aff0c"
+  integrity sha512-jRFXht2MFleqDiCuzeH6Nyg/YfmgwUmB/9KqeSg0QDZi+Sx1t0GSI0NBg/iA6NbWnoQFh6/ieOx/jRHHJNUiFg==
+  dependencies:
+    base64url "^3.0.1"
+    oauth "^0.9.15"
+    passport-strategy "^1.0.0"
+    request "^2.88.0"
+    webfinger "^0.4.2"
+
 "@mysql/xdevapi@*":
-  version "8.0.28"
-  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz#68f3b029e72ef8519e5aad7084ded2573af058b5"
-  integrity sha512-+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==
+  version "8.0.29"
+  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.29.tgz#e91d3e96cc15d419f04d7a9df8ba8f78c9b808aa"
+  integrity sha512-9E6+g9fKBu2mhLEnYfr+KKRyb5W52Z01NkBrgS3uQA7MweZmlLV/pMlAP27J5GfBsW2okP8gnm3Dkrj0ZhfR2Q==
   dependencies:
-    google-protobuf "3.14.0"
+    google-protobuf "3.19.4"
     parsimmon "1.16.0"
 
 "@sendgrid/client@^7.6.2":
@@ -161,14 +182,14 @@
     "@types/node" "*"
 
 "@types/node@*", "@types/node@^17.0.10":
-  version "17.0.21"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644"
-  integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
+  version "17.0.31"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d"
+  integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==
 
 "@types/node@^14.14.14":
-  version "14.18.12"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
-  integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
+  version "14.18.16"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz#878f670ba3f00482bf859b6550b6010610fc54b5"
+  integrity sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==
 
 "@types/webidl-conversions@*":
   version "6.1.1"
@@ -414,10 +435,10 @@
     mkdirp "^1.0.4"
     underscore "^1.13.1"
 
-abab@^2.0.3, abab@^2.0.5:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a"
-  integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==
+abab@^2.0.5, abab@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+  integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
 
 abbrev@1:
   version "1.1.1"
@@ -445,15 +466,15 @@ accepts@~1.3.5, accepts@~1.3.8:
     negotiator "0.6.3"
 
 acme-client@*:
-  version "4.2.3"
-  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.3.tgz#f789be89113dc6a656c7bd697fb72e08e52f6877"
-  integrity sha512-fzNysQ7OdBWPlELQbjjjLo2eqrmMpdd6DZ9/d4jxHJItpKC4GKYLTxA3UIYca9BcY4Zr8un/axyEGnyRHKLGbw==
+  version "4.2.5"
+  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.5.tgz#d18e29aadb38fbc8c6d4ce289f26392b51b5a698"
+  integrity sha512-dtnck4sdZ2owFLTC73Ewjx0kmvsRjTRgaOc8UztCNODT+lr1DXj0tiuUXjeY4LAzZryXCtCib/E+KD8NYeP1aw==
   dependencies:
-    axios "0.21.4"
+    axios "0.26.1"
     backo2 "^1.0.0"
     bluebird "^3.5.0"
     debug "^4.1.1"
-    node-forge "^1.2.0"
+    node-forge "^1.3.0"
 
 acorn-globals@^6.0.0:
   version "6.0.0"
@@ -486,9 +507,9 @@ acorn@^7.1.1:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.5.0:
-  version "8.7.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
-  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
+  version "8.7.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
+  integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
 
 aedes-packet@^1.0.0:
   version "1.0.0"
@@ -676,12 +697,12 @@ archiver@4.0.2:
     zip-stream "^3.0.1"
 
 archiver@^5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz#dd3e097624481741df626267564f7dd8640a45ba"
-  integrity sha512-iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==
+  version "5.3.1"
+  resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6"
+  integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==
   dependencies:
     archiver-utils "^2.1.0"
-    async "^3.2.0"
+    async "^3.2.3"
     buffer-crc32 "^0.2.1"
     readable-stream "^3.6.0"
     readdir-glob "^1.0.0"
@@ -827,13 +848,13 @@ async-limiter@~1.0.0:
   integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
 
 async@^2.0.1:
-  version "2.6.3"
-  resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
-  integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+  version "2.6.4"
+  resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
+  integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
   dependencies:
     lodash "^4.17.14"
 
-async@^3.2.0, async@~3.2.0:
+async@^3.2.0, async@^3.2.3, async@~3.2.0:
   version "3.2.3"
   resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
   integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
@@ -858,34 +879,20 @@ 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.4, axios@^0.21.1:
-  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"
-
-axios@^0.26.0:
+axios@0.26.1, axios@^0.26.0, axios@^0.26.1:
   version "0.26.1"
   resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
   integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
   dependencies:
     follow-redirects "^1.14.8"
 
+axios@^0.21.1:
+  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"
+
 babel-cli@^6.16.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
@@ -1392,7 +1399,7 @@ base64-js@^1.3.0, base64-js@^1.3.1:
   resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
   integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
 
-base64url@3.x.x:
+base64url@3.x.x, base64url@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
   integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
@@ -1486,21 +1493,23 @@ 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.2, body-parser@^1.19.0:
-  version "1.19.2"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz#4714ccd9c157d44797b8b5607d72c0b89952f26e"
-  integrity sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==
+body-parser@1.20.0, body-parser@^1.19.0:
+  version "1.20.0"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5"
+  integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==
   dependencies:
     bytes "3.1.2"
     content-type "~1.0.4"
     debug "2.6.9"
-    depd "~1.1.2"
-    http-errors "1.8.1"
+    depd "2.0.0"
+    destroy "1.2.0"
+    http-errors "2.0.0"
     iconv-lite "0.4.24"
-    on-finished "~2.3.0"
-    qs "6.9.7"
-    raw-body "2.4.3"
+    on-finished "2.4.1"
+    qs "6.10.3"
+    raw-body "2.5.1"
     type-is "~1.6.18"
+    unpipe "1.0.0"
 
 brace-expansion@^1.0.0, brace-expansion@^1.1.7:
   version "1.1.11"
@@ -1510,6 +1519,13 @@ brace-expansion@^1.0.0, brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace-expansion@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+  dependencies:
+    balanced-match "^1.0.0"
+
 braces@^1.8.2:
   version "1.8.5"
   resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
@@ -1535,7 +1551,7 @@ braces@^2.3.1:
     split-string "^3.0.2"
     to-regex "^3.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==
@@ -1553,9 +1569,9 @@ bson@^1.1.4:
   integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
 
 bson@^4.4.0:
-  version "4.6.1"
-  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz#2b5da517539bb0f7f3ffb54ac70a384ca899641c"
-  integrity sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==
+  version "4.6.3"
+  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.3.tgz#d1a9a0b84b9e84b62390811fc5580f6a8b1d858c"
+  integrity sha512-rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==
   dependencies:
     buffer "^5.6.0"
 
@@ -1587,6 +1603,11 @@ build-url@^1.0.10:
   resolved "https://registry.yarnpkg.com/build-url/-/build-url-1.3.3.tgz#fad1ef30d8861931f85bc1f41fca0a537be31e5f"
   integrity sha512-uSC8d+d4SlbXTu/9nBhwEKi33CE0KQgCvfy8QwyrrO5vCuXr9hN021ZBh8ip5vxPbMOrZiPwgqcupuhezxiP3g==
 
+buildcheck@0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz#70451897a95d80f7807e68fc412eb2e7e35ff4d5"
+  integrity sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==
+
 bulk-write-stream@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/bulk-write-stream/-/bulk-write-stream-2.0.1.tgz#085bdc65caf19ceece4ff365fdb951ef0c6e3db8"
@@ -1595,16 +1616,6 @@ bulk-write-stream@^2.0.0:
     inherits "^2.0.3"
     readable-stream "^3.1.1"
 
-bunyan@^1.8.12:
-  version "1.8.15"
-  resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46"
-  integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==
-  optionalDependencies:
-    dtrace-provider "~0.8"
-    moment "^2.19.3"
-    mv "~2"
-    safe-json-stringify "~1"
-
 bytes@3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
@@ -2092,10 +2103,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.2:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
-  integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
+cookie@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+  integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
 
 cookies@0.8.0:
   version "0.8.0"
@@ -2136,20 +2147,18 @@ cp-file@^6.2.0:
     pify "^4.0.1"
     safe-buffer "^5.0.1"
 
-cpu-features@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz#9f636156f1155fd04bdbaa028bb3c2fbef3cea7a"
-  integrity sha512-/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==
+cpu-features@~0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz#0023475bb4f4c525869c162e4108099e35bf19d8"
+  integrity sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==
   dependencies:
-    nan "^2.14.1"
+    buildcheck "0.0.3"
+    nan "^2.15.0"
 
 crc-32@^1.2.0:
-  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.3.1"
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
+  integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
 
 crc32-stream@^3.0.1:
   version "3.0.1"
@@ -2235,13 +2244,13 @@ dashdash@^1.12.0:
     assert-plus "^1.0.0"
 
 data-urls@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.1.tgz#597fc2ae30f8bc4dbcf731fcd1b1954353afc6f8"
-  integrity sha512-Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143"
+  integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==
   dependencies:
-    abab "^2.0.3"
+    abab "^2.0.6"
     whatwg-mimetype "^3.0.0"
-    whatwg-url "^10.0.0"
+    whatwg-url "^11.0.0"
 
 dateformat@~3.0.3:
   version "3.0.3"
@@ -2249,9 +2258,9 @@ dateformat@~3.0.3:
   integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
 
 dayjs@^1.8.29:
-  version "1.10.8"
-  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz#267df4bc6276fcb33c04a6735287e3f429abec41"
-  integrity sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz#90b33a3dda3417258d48ad2771b415def6545eb0"
+  integrity sha512-ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==
 
 ddata@~0.1.25:
   version "0.1.28"
@@ -2282,9 +2291,9 @@ debug@3.1.0:
     ms "2.0.0"
 
 debug@4, debug@^4.1.0, debug@^4.1.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==
+  version "4.3.4"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
   dependencies:
     ms "2.1.2"
 
@@ -2367,20 +2376,20 @@ denque@^2.0.1:
   resolved "https://registry.yarnpkg.com/denque/-/denque-2.0.1.tgz#bcef4c1b80dc32efe97515744f21a4229ab8934a"
   integrity sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ==
 
+depd@2.0.0, 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==
+
 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=
+destroy@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+  integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
 
 detect-file@^1.0.0:
   version "1.0.0"
@@ -2432,13 +2441,6 @@ domexception@^4.0.0:
   dependencies:
     webidl-conversions "^7.0.0"
 
-dtrace-provider@~0.8:
-  version "0.8.8"
-  resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e"
-  integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==
-  dependencies:
-    nan "^2.14.0"
-
 each-series@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/each-series/-/each-series-1.0.0.tgz#f886e6c66dfdb25ef1fe73564146ee5cb478afcb"
@@ -2558,11 +2560,6 @@ events@^3.0.0:
   resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
   integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
 
-exit-on-epipe@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
-  integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
-
 exit@~0.1.2:
   version "0.1.2"
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -2619,37 +2616,38 @@ express-ws@4.0.0:
     ws "^5.2.0"
 
 express@^4.17.0:
-  version "4.17.3"
-  resolved "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz#f6c7302194a4fb54271b73a1fe7a06478c8f85a1"
-  integrity sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==
+  version "4.18.1"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf"
+  integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==
   dependencies:
     accepts "~1.3.8"
     array-flatten "1.1.1"
-    body-parser "1.19.2"
+    body-parser "1.20.0"
     content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.4.2"
+    cookie "0.5.0"
     cookie-signature "1.0.6"
     debug "2.6.9"
-    depd "~1.1.2"
+    depd "2.0.0"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     etag "~1.8.1"
-    finalhandler "~1.1.2"
+    finalhandler "1.2.0"
     fresh "0.5.2"
+    http-errors "2.0.0"
     merge-descriptors "1.0.1"
     methods "~1.1.2"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     parseurl "~1.3.3"
     path-to-regexp "0.1.7"
     proxy-addr "~2.0.7"
-    qs "6.9.7"
+    qs "6.10.3"
     range-parser "~1.2.1"
     safe-buffer "5.2.1"
-    send "0.17.2"
-    serve-static "1.14.2"
+    send "0.18.0"
+    serve-static "1.15.0"
     setprototypeof "1.2.0"
-    statuses "~1.5.0"
+    statuses "2.0.1"
     type-is "~1.6.18"
     utils-merge "1.0.1"
     vary "~1.1.2"
@@ -2830,17 +2828,17 @@ filter-where@^1.0.1:
   dependencies:
     test-value "^1.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==
+finalhandler@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+  integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
   dependencies:
     debug "2.6.9"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     parseurl "~1.3.3"
-    statuses "~1.5.0"
+    statuses "2.0.1"
     unpipe "~1.0.0"
 
 find-cache-dir@^2.1.0:
@@ -2908,10 +2906,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.14.0, follow-redirects@^1.14.4, follow-redirects@^1.14.7, follow-redirects@^1.14.8:
-  version "1.14.9"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
-  integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
+follow-redirects@^1.14.0, follow-redirects@^1.14.8:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4"
+  integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==
 
 for-in@^1.0.1, for-in@^1.0.2:
   version "1.0.2"
@@ -3024,15 +3022,15 @@ function-bind@^1.1.1:
   integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
 
 gaxios@^4.0.0:
-  version "4.3.2"
-  resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.2.tgz#845827c2dc25a0213c8ab4155c7a28910f5be83f"
-  integrity sha512-T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.3.tgz#d44bdefe52d34b6435cc41214fdb160b64abfc22"
+  integrity sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==
   dependencies:
     abort-controller "^3.0.0"
     extend "^3.0.2"
     https-proxy-agent "^5.0.0"
     is-stream "^2.0.0"
-    node-fetch "^2.6.1"
+    node-fetch "^2.6.7"
 
 gcp-metadata@^4.2.0:
   version "4.3.1"
@@ -3103,17 +3101,6 @@ glob@^4:
     minimatch "^2.0.1"
     once "^1.3.0"
 
-glob@^6.0.1:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  integrity sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
 glob@^7.1.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.2.0:
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
@@ -3180,9 +3167,9 @@ globals@^9.18.0:
   integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
 google-auth-library@^7.0.2, google-auth-library@^7.14.0:
-  version "7.14.0"
-  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.0.tgz#9d6a20592f7b4d4c463cd3e93934c4b1711d5dc6"
-  integrity sha512-or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA==
+  version "7.14.1"
+  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz#e3483034162f24cc71b95c8a55a210008826213c"
+  integrity sha512-5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==
   dependencies:
     arrify "^2.0.0"
     base64-js "^1.3.0"
@@ -3195,16 +3182,16 @@ google-auth-library@^7.0.2, google-auth-library@^7.14.0:
     lru-cache "^6.0.0"
 
 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==
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.4.tgz#123f7b40da204de4ed1fbf2fd5be12c047fc8b3b"
+  integrity sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==
   dependencies:
-    node-forge "^1.0.0"
+    node-forge "^1.3.1"
 
-google-protobuf@3.14.0:
-  version "3.14.0"
-  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz#20373d22046e63831a5110e11a84f713cc43651e"
-  integrity sha512-bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==
+google-protobuf@3.19.4:
+  version "3.19.4"
+  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz#8d32c3e34be9250956f28c0fb90955d13f311888"
+  integrity sha512-OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg==
 
 googleapis-common@^5.0.2:
   version "5.1.0"
@@ -3219,19 +3206,19 @@ googleapis-common@^5.0.2:
     uuid "^8.0.0"
 
 googleapis@*:
-  version "96.0.0"
-  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz#95bdf0e57bc912581ba7bc10eb202301f2b05dc1"
-  integrity sha512-tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==
+  version "100.0.0"
+  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-100.0.0.tgz#baeeba7877ee7dd3250643b3803c4a9c24bcf8dd"
+  integrity sha512-RToFQGY54B756IDbjdyjb1vWFmn03bYpXHB2lIf0eq2UBYsIbYOLZ0kqSomfJnpclEukwEmMF7Jn6Wsev871ew==
   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, graceful-fs@^4.2.8:
-  version "4.2.9"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
-  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+  version "4.2.10"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
+  integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
 
-grunt-cli@~1.4.2:
+grunt-cli@~1.4.3:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/grunt-cli/-/grunt-cli-1.4.3.tgz#22c9f1a3d2780bf9b0d206e832e40f8f499175ff"
   integrity sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==
@@ -3286,16 +3273,16 @@ grunt-legacy-util@~2.0.1:
     which "~2.0.2"
 
 grunt@^1.0.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz#7d1e17db1f9c8108777f7273d6b9359755576f50"
-  integrity sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==
+  version "1.5.2"
+  resolved "https://registry.yarnpkg.com/grunt/-/grunt-1.5.2.tgz#46b014e28d17c85baac19d5e891bb3f04923c098"
+  integrity sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==
   dependencies:
     dateformat "~3.0.3"
     eventemitter2 "~0.4.13"
     exit "~0.1.2"
     findup-sync "~0.3.0"
     glob "~7.1.6"
-    grunt-cli "~1.4.2"
+    grunt-cli "~1.4.3"
     grunt-known-options "~2.0.0"
     grunt-legacy-log "~3.0.0"
     grunt-legacy-util "~2.0.1"
@@ -3530,7 +3517,18 @@ html-minifier@*:
     relateurl "^0.2.7"
     uglify-js "^3.5.1"
 
-http-errors@1.8.1, http-errors@~1.8.1:
+http-errors@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+  integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+  dependencies:
+    depd "2.0.0"
+    inherits "2.0.4"
+    setprototypeof "1.2.0"
+    statuses "2.0.1"
+    toidentifier "1.0.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==
@@ -3567,9 +3565,9 @@ http_ece@1.1.0:
     urlsafe-base64 "~1.0.0"
 
 https-proxy-agent@*, 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==
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+  integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
   dependencies:
     agent-base "6"
     debug "4"
@@ -3700,9 +3698,9 @@ is-buffer@^1.1.5, is-buffer@~1.1.6:
   integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
 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==
+  version "2.9.0"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69"
+  integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==
   dependencies:
     has "^1.0.3"
 
@@ -4635,29 +4633,24 @@ micromatch@^3.1.10:
     to-regex "^3.0.2"
 
 micromatch@^4.0.2:
-  version "4.0.4"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
-  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+  version "4.0.5"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
   dependencies:
-    braces "^3.0.1"
-    picomatch "^2.2.3"
+    braces "^3.0.2"
+    picomatch "^2.3.1"
 
-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-db@>= 1.43.0 < 2":
+mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
   version "1.52.0"
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
   integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
 
 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==
+  version "2.1.35"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
   dependencies:
-    mime-db "1.51.0"
+    mime-db "1.52.0"
 
 mime@1.6.0:
   version "1.6.0"
@@ -4705,6 +4698,13 @@ minimatch@^2.0.1:
   dependencies:
     brace-expansion "^1.0.0"
 
+minimatch@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b"
+  integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==
+  dependencies:
+    brace-expansion "^2.0.1"
+
 minimatch@~3.0.4:
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.8.tgz#5e6a59bd11e2ab0de1cfb843eb2d82e546c321c1"
@@ -4712,10 +4712,10 @@ minimatch@~3.0.4:
   dependencies:
     brace-expansion "^1.1.7"
 
-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==
+minimist@^1.2.5, minimist@^1.2.6:
+  version "1.2.6"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44"
+  integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==
 
 minimist@~0.0.1:
   version "0.0.10"
@@ -4736,11 +4736,11 @@ mkdirp2@^1.0.3:
   integrity sha512-xOE9xbICroUDmG1ye2h4bZ8WBie9EGmACaco8K8cx6RlkJJrxGIqjGqztAI+NMhexXBcdGbSEzI6N3EJPevxZw==
 
 mkdirp@^0.5.0, mkdirp@^0.5.1, 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==
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
   dependencies:
-    minimist "^1.2.5"
+    minimist "^1.2.6"
 
 mkdirp@^1.0.4, mkdirp@~1.0.4:
   version "1.0.4"
@@ -4761,10 +4761,10 @@ moment-timezone@^0.5.34:
   dependencies:
     moment ">= 2.9.0"
 
-"moment@>= 2.9.0", moment@^2.19.3:
-  version "2.29.1"
-  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3"
-  integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+"moment@>= 2.9.0":
+  version "2.29.3"
+  resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3"
+  integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==
 
 mongodb-connection-string-url@^1.0.1:
   version "1.1.2"
@@ -4858,15 +4858,6 @@ mustache@^2.2.1:
   resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.2.tgz#a6d4d9c3f91d13359ab889a812954f9230a3d0c5"
   integrity sha512-KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==
 
-mv@~2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2"
-  integrity sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=
-  dependencies:
-    mkdirp "~0.5.1"
-    ncp "~2.0.0"
-    rimraf "~2.4.0"
-
 mysql@*:
   version "2.18.1"
   resolved "https://registry.yarnpkg.com/mysql/-/mysql-2.18.1.tgz#2254143855c5a8c73825e4522baf2ea021766717"
@@ -4877,7 +4868,7 @@ mysql@*:
     safe-buffer "5.1.2"
     sqlstring "2.3.1"
 
-nan@^2.12.1, nan@^2.13.2, nan@^2.14.0, nan@^2.14.1, nan@^2.15.0:
+nan@^2.12.1, nan@^2.13.2, nan@^2.15.0:
   version "2.15.0"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee"
   integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==
@@ -4904,11 +4895,6 @@ nanomatch@^1.2.9:
     snapdragon "^0.8.1"
     to-regex "^3.0.1"
 
-ncp@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
-  integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
-
 negotiator@0.6.3:
   version "0.6.3"
   resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
@@ -4920,9 +4906,9 @@ neo-async@^2.6.0:
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
 
 nested-error-stacks@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
-  integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5"
+  integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==
 
 nested-property@^4.0.0:
   version "4.0.0"
@@ -4941,25 +4927,17 @@ node-addon-api@^1.7.1:
   resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
-node-fetch@^2.3.0, node-fetch@^2.6.1:
+node-fetch@^2.3.0, node-fetch@^2.6.7:
   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@^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"
-  resolved "https://registry.yarnpkg.com/node-rdpjs-2/-/node-rdpjs-2-0.3.5.tgz#6f05fa175e70095a20b59c377be34fa1fe2fa444"
-  integrity sha512-ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==
-  dependencies:
-    bunyan "^1.8.12"
-    lodash.isnumber "^3.0.3"
+node-forge@^1.0.0, node-forge@^1.3.0, node-forge@^1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3"
+  integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
 
 node-sspi@*:
   version "0.2.9"
@@ -4996,9 +4974,9 @@ node-xcs@*:
     "@xmpp/debug" "^0.9.2"
 
 nodemailer@*:
-  version "6.7.2"
-  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.2.tgz#44b2ad5f7ed71b7067f7a21c4fedabaec62b85e0"
-  integrity sha512-Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==
+  version "6.7.5"
+  resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.5.tgz#b30b1566f5fa2249f7bd49ced4c58bec6b25915e"
+  integrity sha512-6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==
 
 nofilter@^1.0.4:
   version "1.0.4"
@@ -5088,7 +5066,7 @@ oauth-sign@~0.9.0:
   resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
   integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 
-oauth@0.9.x:
+oauth@0.9.x, oauth@^0.9.15:
   version "0.9.15"
   resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1"
   integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE=
@@ -5181,10 +5159,10 @@ object.pick@^1.2.0, object.pick@^1.3.0:
   dependencies:
     isobject "^3.0.1"
 
-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=
+on-finished@2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+  integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
   dependencies:
     ee-first "1.1.1"
 
@@ -5620,7 +5598,7 @@ pgtools@0.3.2:
     pg-connection-string "^2.4.0"
     yargs "^5.0.0"
 
-picomatch@^2.2.3:
+picomatch@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
   integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -5672,9 +5650,9 @@ please-upgrade-node@^3.2.0:
     semver-compare "^1.0.0"
 
 plivo@*:
-  version "4.28.0"
-  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.28.0.tgz#917813c55b45d33d291ee55dc7cfd868d53130c5"
-  integrity sha512-FQCc5TG5QUlNq1r0OlLvAHgJo15M+ou+dt7bWheataObxUxPqpga316zCOYR/sGzVzREPSB/ThpT9/cZeUcYgg==
+  version "4.32.0"
+  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.32.0.tgz#11994c31e4d5275ff7b2e50ddf7d81fa6f8dee74"
+  integrity sha512-HHdiZ92RT2MNtQPESIsyBfzOB4I6JxTcwjL/MYcW111Vd80WKXm0g1rjOU8pv2Oci9O6j/9CSGCzwXtU7fb6RQ==
   dependencies:
     "@types/node" "^14.14.14"
     axios "^0.21.1"
@@ -5737,11 +5715,6 @@ preserve@^0.2.0:
   resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
   integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
 
-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"
   resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -5814,12 +5787,7 @@ 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.9.7:
-  version "6.9.7"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz#4610846871485e1e048f44ae3b94033f0e675afe"
-  integrity sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==
-
-qs@^6.6.0, qs@^6.7.0, qs@^6.9.4:
+qs@6.10.3, qs@^6.6.0, qs@^6.7.0, qs@^6.9.4:
   version "6.10.3"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
   integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
@@ -5874,13 +5842,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.3:
-  version "2.4.3"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz#8f80305d11c2a0a545c2d9d89d7a0286fcead43c"
-  integrity sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==
+raw-body@2.5.1:
+  version "2.5.1"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
+  integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
   dependencies:
     bytes "3.1.2"
-    http-errors "1.8.1"
+    http-errors "2.0.0"
     iconv-lite "0.4.24"
     unpipe "1.0.0"
 
@@ -6108,7 +6076,7 @@ request-promise-native@1.0.7:
     stealthy-require "^1.1.1"
     tough-cookie "^2.3.3"
 
-request@*:
+request@*, request@^2.88.0:
   version "2.88.2"
   resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
   integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -6248,13 +6216,6 @@ rimraf@^2.6.2, rimraf@^2.6.3:
   dependencies:
     glob "^7.1.3"
 
-rimraf@~2.4.0:
-  version "2.4.5"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da"
-  integrity sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=
-  dependencies:
-    glob "^6.0.1"
-
 rimraf@~3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -6285,11 +6246,6 @@ safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
-safe-json-stringify@~1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd"
-  integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==
-
 safe-regex@^1.1.0:
   version "1.1.0"
   resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
@@ -6334,7 +6290,7 @@ saslprep@*, saslprep@^1.0.0:
   dependencies:
     sparse-bitfield "^3.0.3"
 
-sax@>=0.6.0:
+sax@>=0.1.1, sax@>=0.6.0:
   version "1.2.4"
   resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
   integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
@@ -6357,9 +6313,9 @@ semver-compare@^1.0.0:
   integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
 
 semver@*:
-  version "7.3.5"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
-  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  version "7.3.7"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f"
+  integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==
   dependencies:
     lru-cache "^6.0.0"
 
@@ -6373,34 +6329,34 @@ 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.2:
-  version "0.17.2"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
-  integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
+send@0.18.0:
+  version "0.18.0"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+  integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
   dependencies:
     debug "2.6.9"
-    depd "~1.1.2"
-    destroy "~1.0.4"
+    depd "2.0.0"
+    destroy "1.2.0"
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     etag "~1.8.1"
     fresh "0.5.2"
-    http-errors "1.8.1"
+    http-errors "2.0.0"
     mime "1.6.0"
     ms "2.1.3"
-    on-finished "~2.3.0"
+    on-finished "2.4.1"
     range-parser "~1.2.1"
-    statuses "~1.5.0"
+    statuses "2.0.1"
 
-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==
+serve-static@1.15.0:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+  integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
   dependencies:
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     parseurl "~1.3.3"
-    send "0.17.2"
+    send "0.18.0"
 
 set-blocking@^2.0.0:
   version "2.0.0"
@@ -6525,7 +6481,7 @@ source-map@^0.1.40:
   dependencies:
     amdefine ">=0.0.4"
 
-source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
+source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
   version "0.5.7"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
   integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
@@ -6608,14 +6564,14 @@ sqlstring@2.3.1:
   integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
 
 ssh2@*:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz#7aa30f2a5266f0ffd93944621b4eb1f403330fd4"
-  integrity sha512-u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.10.0.tgz#e05d870dfc8e83bc918a2ffb3dcbd4d523472dee"
+  integrity sha512-OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==
   dependencies:
     asn1 "^0.2.4"
     bcrypt-pbkdf "^1.0.2"
   optionalDependencies:
-    cpu-features "0.0.2"
+    cpu-features "~0.0.4"
     nan "^2.15.0"
 
 sshpk@^1.7.0:
@@ -6641,7 +6597,12 @@ static-extend@^0.1.1:
     define-property "^0.2.5"
     object-copy "^0.1.0"
 
-"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+statuses@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+  integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+"statuses@>= 1.5.0 < 2":
   version "1.5.0"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
   integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
@@ -6651,6 +6612,11 @@ stealthy-require@^1.1.1:
   resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
   integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
 
+step@0.0.x:
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2"
+  integrity sha1-FD54SaXX0/SgiP4pr5SRUhbu7eI=
+
 stream-connect@^1.0.1, stream-connect@^1.0.2:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/stream-connect/-/stream-connect-1.0.2.tgz#18bc81f2edb35b8b5d9a8009200a985314428a97"
@@ -7019,11 +6985,11 @@ tweetnacl@^1.0.1:
   integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
 
 twilio@*:
-  version "3.75.1"
-  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz#7b9880e31a98c326f17dad3f1778f2a00805d351"
-  integrity sha512-q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==
+  version "3.77.0"
+  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.77.0.tgz#23c67ad66e47c32b951f8c090d3b7d7354ef2ab8"
+  integrity sha512-jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==
   dependencies:
-    axios "^0.25.0"
+    axios "^0.26.1"
     dayjs "^1.8.29"
     https-proxy-agent "^5.0.0"
     jsonwebtoken "^8.5.1"
@@ -7032,7 +6998,7 @@ twilio@*:
     qs "^6.9.4"
     rootpath "^0.1.2"
     scmp "^2.1.0"
-    url-parse "^1.5.6"
+    url-parse "^1.5.9"
     xmlbuilder "^13.0.2"
 
 type-check@~0.3.2:
@@ -7066,9 +7032,9 @@ uglify-js@^2.6:
     uglify-to-browserify "~1.0.0"
 
 uglify-js@^3.1.4, uglify-js@^3.5.1:
-  version "3.15.3"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz#9aa82ca22419ba4c0137642ba0df800cb06e0471"
-  integrity sha512-6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==
+  version "3.15.4"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d"
+  integrity sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==
 
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
@@ -7101,9 +7067,9 @@ underscore.string@~3.3.5:
     util-deprecate "^1.0.2"
 
 underscore@^1.13.1:
-  version "1.13.2"
-  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881"
-  integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==
+  version "1.13.3"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.3.tgz#54bc95f7648c5557897e5e968d0f76bc062c34ee"
+  integrity sha512-QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==
 
 underscore@~1.8.3:
   version "1.8.3"
@@ -7165,7 +7131,7 @@ url-join@^4.0.1:
   resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
   integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
 
-url-parse@^1.5.3, url-parse@^1.5.6:
+url-parse@^1.5.10, url-parse@^1.5.9:
   version "1.5.10"
   resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
   integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
@@ -7327,9 +7293,9 @@ weak-map@^1.0.5:
   integrity sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==
 
 web-push@*:
-  version "3.4.5"
-  resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz#f94074ff150538872c7183e4d8881c8305920cf1"
-  integrity sha512-2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/web-push/-/web-push-3.5.0.tgz#4576533746052eda3bd50414b54a1b0a21eeaeae"
+  integrity sha512-JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==
   dependencies:
     asn1.js "^5.3.0"
     http_ece "1.1.0"
@@ -7339,22 +7305,30 @@ web-push@*:
     urlsafe-base64 "^1.0.0"
 
 webdav@*:
-  version "4.8.0"
-  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz#b5d7ebe46039d048c177fb021c9da591cf3ac6f0"
-  integrity sha512-CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==
+  version "4.9.0"
+  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.9.0.tgz#cc12a55102feba8f87be6c6f2cd9bbb093abf22e"
+  integrity sha512-pMuRtZcjBk3i6q1iY5wBHdablKftoBfhrQEWWEejSh2LXgd0J6VE5V0c1tUlMrFHaVDx8iCoB9kupNzy8SMC4A==
   dependencies:
-    axios "^0.24.0"
+    axios "^0.26.1"
     base-64 "^1.0.0"
     fast-xml-parser "^3.19.0"
     he "^1.2.0"
     hot-patcher "^0.5.0"
     layerr "^0.1.2"
     md5 "^2.3.0"
-    minimatch "^3.0.4"
+    minimatch "^5.0.1"
     nested-property "^4.0.0"
     path-posix "^1.0.0"
     url-join "^4.0.1"
-    url-parse "^1.5.3"
+    url-parse "^1.5.10"
+
+webfinger@^0.4.2:
+  version "0.4.2"
+  resolved "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz#3477a6d97799461896039fcffc650b73468ee76d"
+  integrity sha1-NHem2XeZRhiWA5/P/GULc0aO520=
+  dependencies:
+    step "0.0.x"
+    xml2js "0.1.x"
 
 webidl-conversions@^3.0.0:
   version "3.0.1"
@@ -7391,6 +7365,14 @@ whatwg-url@^10.0.0:
     tr46 "^3.0.0"
     webidl-conversions "^7.0.0"
 
+whatwg-url@^11.0.0:
+  version "11.0.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018"
+  integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==
+  dependencies:
+    tr46 "^3.0.0"
+    webidl-conversions "^7.0.0"
+
 whatwg-url@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
@@ -7531,9 +7513,9 @@ ws@^7.0.0:
   integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
 
 ws@^8.2.3:
-  version "8.5.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
-  integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
+  version "8.6.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz#e5e9f1d9e7ff88083d0c0dd8281ea662a42c9c23"
+  integrity sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==
 
 xml-crypto@^2.1.3:
   version "2.1.3"
@@ -7557,6 +7539,13 @@ xml-name-validator@^4.0.0:
   resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
   integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
 
+xml2js@0.1.x:
+  version "0.1.14"
+  resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c"
+  integrity sha1-UnTmf1pkxfkpdM2FE54DMq3GuQw=
+  dependencies:
+    sax ">=0.1.1"
+
 xml2js@^0.4.19, xml2js@^0.4.23:
   version "0.4.23"
   resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
diff --git a/pkgs/tools/admin/meshcentral/yarn.nix b/pkgs/tools/admin/meshcentral/yarn.nix
index 84a2393cf7cdc..1ed476a4de639 100644
--- a/pkgs/tools/admin/meshcentral/yarn.nix
+++ b/pkgs/tools/admin/meshcentral/yarn.nix
@@ -18,11 +18,11 @@
       };
     }
     {
-      name = "_babel_generator___generator_7.17.3.tgz";
+      name = "_babel_generator___generator_7.17.10.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz";
-        sha512 = "+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==";
+        name = "_babel_generator___generator_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.10.tgz";
+        sha512 = "46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==";
       };
     }
     {
@@ -34,19 +34,11 @@
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.17.9.tgz";
       path = fetchurl {
-        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_get_function_arity___helper_get_function_arity_7.16.7.tgz";
-      path = fetchurl {
-        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_function_name___helper_function_name_7.17.9.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz";
+        sha512 = "7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==";
       };
     }
     {
@@ -74,19 +66,19 @@
       };
     }
     {
-      name = "_babel_highlight___highlight_7.16.10.tgz";
+      name = "_babel_highlight___highlight_7.17.9.tgz";
       path = fetchurl {
-        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_highlight___highlight_7.17.9.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz";
+        sha512 = "J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==";
       };
     }
     {
-      name = "_babel_parser___parser_7.17.3.tgz";
+      name = "_babel_parser___parser_7.17.10.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz";
-        sha512 = "7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==";
+        name = "_babel_parser___parser_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.10.tgz";
+        sha512 = "n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==";
       };
     }
     {
@@ -98,27 +90,59 @@
       };
     }
     {
-      name = "_babel_traverse___traverse_7.17.3.tgz";
+      name = "_babel_traverse___traverse_7.17.10.tgz";
+      path = fetchurl {
+        name = "_babel_traverse___traverse_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.10.tgz";
+        sha512 = "VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==";
+      };
+    }
+    {
+      name = "_babel_types___types_7.17.10.tgz";
+      path = fetchurl {
+        name = "_babel_types___types_7.17.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.10.tgz";
+        sha512 = "9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==";
+      };
+    }
+    {
+      name = "_jridgewell_gen_mapping___gen_mapping_0.1.1.tgz";
+      path = fetchurl {
+        name = "_jridgewell_gen_mapping___gen_mapping_0.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz";
+        sha512 = "sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==";
+      };
+    }
+    {
+      name = "_jridgewell_set_array___set_array_1.1.1.tgz";
+      path = fetchurl {
+        name = "_jridgewell_set_array___set_array_1.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz";
+        sha512 = "Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==";
+      };
+    }
+    {
+      name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz";
-        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
+        name = "_jridgewell_sourcemap_codec___sourcemap_codec_1.4.13.tgz";
+        url  = "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz";
+        sha512 = "GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==";
       };
     }
     {
-      name = "_babel_types___types_7.17.0.tgz";
+      name = "_mstrhakr_passport_generic_oidc___passport_generic_oidc_0.3.0.tgz";
       path = fetchurl {
-        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 = "_mstrhakr_passport_generic_oidc___passport_generic_oidc_0.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/@mstrhakr/passport-generic-oidc/-/passport-generic-oidc-0.3.0.tgz";
+        sha512 = "jRFXht2MFleqDiCuzeH6Nyg/YfmgwUmB/9KqeSg0QDZi+Sx1t0GSI0NBg/iA6NbWnoQFh6/ieOx/jRHHJNUiFg==";
       };
     }
     {
-      name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
+      name = "_mysql_xdevapi___xdevapi_8.0.29.tgz";
       path = fetchurl {
-        name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
-        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz";
-        sha512 = "+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==";
+        name = "_mysql_xdevapi___xdevapi_8.0.29.tgz";
+        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.29.tgz";
+        sha512 = "9E6+g9fKBu2mhLEnYfr+KKRyb5W52Z01NkBrgS3uQA7MweZmlLV/pMlAP27J5GfBsW2okP8gnm3Dkrj0ZhfR2Q==";
       };
     }
     {
@@ -170,19 +194,19 @@
       };
     }
     {
-      name = "_types_node___node_17.0.21.tgz";
+      name = "_types_node___node_17.0.31.tgz";
       path = fetchurl {
-        name = "_types_node___node_17.0.21.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz";
-        sha512 = "DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==";
+        name = "_types_node___node_17.0.31.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz";
+        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
       };
     }
     {
-      name = "_types_node___node_14.18.12.tgz";
+      name = "_types_node___node_14.18.16.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.18.12.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz";
-        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
+        name = "_types_node___node_14.18.16.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.16.tgz";
+        sha512 = "X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==";
       };
     }
     {
@@ -434,11 +458,11 @@
       };
     }
     {
-      name = "abab___abab_2.0.5.tgz";
+      name = "abab___abab_2.0.6.tgz";
       path = fetchurl {
-        name = "abab___abab_2.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz";
-        sha512 = "9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==";
+        name = "abab___abab_2.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz";
+        sha512 = "j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==";
       };
     }
     {
@@ -474,11 +498,11 @@
       };
     }
     {
-      name = "acme_client___acme_client_4.2.3.tgz";
+      name = "acme_client___acme_client_4.2.5.tgz";
       path = fetchurl {
-        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==";
+        name = "acme_client___acme_client_4.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.5.tgz";
+        sha512 = "dtnck4sdZ2owFLTC73Ewjx0kmvsRjTRgaOc8UztCNODT+lr1DXj0tiuUXjeY4LAzZryXCtCib/E+KD8NYeP1aw==";
       };
     }
     {
@@ -522,11 +546,11 @@
       };
     }
     {
-      name = "acorn___acorn_8.7.0.tgz";
+      name = "acorn___acorn_8.7.1.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
-        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
+        name = "acorn___acorn_8.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz";
+        sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
       };
     }
     {
@@ -698,11 +722,11 @@
       };
     }
     {
-      name = "archiver___archiver_5.3.0.tgz";
+      name = "archiver___archiver_5.3.1.tgz";
       path = fetchurl {
-        name = "archiver___archiver_5.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.0.tgz";
-        sha512 = "iUw+oDwK0fgNpvveEsdQ0Ase6IIKztBJU2U0E9MzszMfmVVUyv1QJhS2ITW9ZCqx8dktAxVAjWWkKehuZE8OPg==";
+        name = "archiver___archiver_5.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz";
+        sha512 = "8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==";
       };
     }
     {
@@ -882,11 +906,11 @@
       };
     }
     {
-      name = "async___async_2.6.3.tgz";
+      name = "async___async_2.6.4.tgz";
       path = fetchurl {
-        name = "async___async_2.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz";
-        sha512 = "zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==";
+        name = "async___async_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz";
+        sha512 = "mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==";
       };
     }
     {
@@ -930,30 +954,6 @@
       };
     }
     {
-      name = "axios___axios_0.21.4.tgz";
-      path = fetchurl {
-        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.24.0.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.24.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz";
-        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
-      };
-    }
-    {
-      name = "axios___axios_0.25.0.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.25.0.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz";
-        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
-      };
-    }
-    {
       name = "axios___axios_0.26.1.tgz";
       path = fetchurl {
         name = "axios___axios_0.26.1.tgz";
@@ -962,6 +962,14 @@
       };
     }
     {
+      name = "axios___axios_0.21.4.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.21.4.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz";
+        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
+      };
+    }
+    {
       name = "babel_cli___babel_cli_6.26.0.tgz";
       path = fetchurl {
         name = "babel_cli___babel_cli_6.26.0.tgz";
@@ -1506,11 +1514,11 @@
       };
     }
     {
-      name = "body_parser___body_parser_1.19.2.tgz";
+      name = "body_parser___body_parser_1.20.0.tgz";
       path = fetchurl {
-        name = "body_parser___body_parser_1.19.2.tgz";
-        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.2.tgz";
-        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
+        name = "body_parser___body_parser_1.20.0.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz";
+        sha512 = "DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==";
       };
     }
     {
@@ -1522,6 +1530,14 @@
       };
     }
     {
+      name = "brace_expansion___brace_expansion_2.0.1.tgz";
+      path = fetchurl {
+        name = "brace_expansion___brace_expansion_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz";
+        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
+      };
+    }
+    {
       name = "braces___braces_1.8.5.tgz";
       path = fetchurl {
         name = "braces___braces_1.8.5.tgz";
@@ -1562,11 +1578,11 @@
       };
     }
     {
-      name = "bson___bson_4.6.1.tgz";
+      name = "bson___bson_4.6.3.tgz";
       path = fetchurl {
-        name = "bson___bson_4.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz";
-        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
+        name = "bson___bson_4.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.3.tgz";
+        sha512 = "rAqP5hcUVJhXP2MCSNVsf0oM2OGU1So6A9pVRDYayvJ5+hygXHQApf87wd5NlhPM1J9RJnbqxIG/f8QTzRoQ4A==";
       };
     }
     {
@@ -1610,19 +1626,19 @@
       };
     }
     {
-      name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
+      name = "buildcheck___buildcheck_0.0.3.tgz";
       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";
-        sha512 = "XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==";
+        name = "buildcheck___buildcheck_0.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/buildcheck/-/buildcheck-0.0.3.tgz";
+        sha512 = "pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==";
       };
     }
     {
-      name = "bunyan___bunyan_1.8.15.tgz";
+      name = "bulk_write_stream___bulk_write_stream_2.0.1.tgz";
       path = fetchurl {
-        name = "bunyan___bunyan_1.8.15.tgz";
-        url  = "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz";
-        sha512 = "0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==";
+        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";
+        sha512 = "XWOLjgHtpDasHfwM8oO4df1JoZwa7/OwTsXDzh4rUTo+9CowzeOFBZz43w+H14h1fyq+xl28tVIBrdjcjj4Gug==";
       };
     }
     {
@@ -2106,11 +2122,11 @@
       };
     }
     {
-      name = "cookie___cookie_0.4.2.tgz";
+      name = "cookie___cookie_0.5.0.tgz";
       path = fetchurl {
-        name = "cookie___cookie_0.4.2.tgz";
-        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz";
-        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+        name = "cookie___cookie_0.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz";
+        sha512 = "YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==";
       };
     }
     {
@@ -2162,19 +2178,19 @@
       };
     }
     {
-      name = "cpu_features___cpu_features_0.0.2.tgz";
+      name = "cpu_features___cpu_features_0.0.4.tgz";
       path = fetchurl {
-        name = "cpu_features___cpu_features_0.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.2.tgz";
-        sha512 = "/2yieBqvMcRj8McNzkycjW2v3OIUOibBfd2dLEJ0nWts8NobAxwiyw9phVNS6oDL8x8tz9F7uNVFEVpJncQpeA==";
+        name = "cpu_features___cpu_features_0.0.4.tgz";
+        url  = "https://registry.yarnpkg.com/cpu-features/-/cpu-features-0.0.4.tgz";
+        sha512 = "fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==";
       };
     }
     {
-      name = "crc_32___crc_32_1.2.1.tgz";
+      name = "crc_32___crc_32_1.2.2.tgz";
       path = fetchurl {
-        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==";
+        name = "crc_32___crc_32_1.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz";
+        sha512 = "ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==";
       };
     }
     {
@@ -2266,11 +2282,11 @@
       };
     }
     {
-      name = "data_urls___data_urls_3.0.1.tgz";
+      name = "data_urls___data_urls_3.0.2.tgz";
       path = fetchurl {
-        name = "data_urls___data_urls_3.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.1.tgz";
-        sha512 = "Ds554NeT5Gennfoo9KN50Vh6tpgtvYEwraYjejXnyTpu1C7oXKxdFk75REooENHE8ndTVOJuv+BEs4/J/xcozw==";
+        name = "data_urls___data_urls_3.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz";
+        sha512 = "Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==";
       };
     }
     {
@@ -2282,11 +2298,11 @@
       };
     }
     {
-      name = "dayjs___dayjs_1.10.8.tgz";
+      name = "dayjs___dayjs_1.11.1.tgz";
       path = fetchurl {
-        name = "dayjs___dayjs_1.10.8.tgz";
-        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.8.tgz";
-        sha512 = "wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow==";
+        name = "dayjs___dayjs_1.11.1.tgz";
+        url  = "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.1.tgz";
+        sha512 = "ER7EjqVAMkRRsxNCC5YqJ9d9VQYuWdGt7aiH2qA5R5wt8ZmWaP2dLUSIK6y/kVzLMlmh1Tvu5xUf4M/wdGJ5KA==";
       };
     }
     {
@@ -2314,11 +2330,11 @@
       };
     }
     {
-      name = "debug___debug_4.3.3.tgz";
+      name = "debug___debug_4.3.4.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==";
+        name = "debug___debug_4.3.4.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz";
+        sha512 = "PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==";
       };
     }
     {
@@ -2434,14 +2450,6 @@
       };
     }
     {
-      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 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
-      };
-    }
-    {
       name = "depd___depd_2.0.0.tgz";
       path = fetchurl {
         name = "depd___depd_2.0.0.tgz";
@@ -2450,11 +2458,19 @@
       };
     }
     {
-      name = "destroy___destroy_1.0.4.tgz";
+      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 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
+      };
+    }
+    {
+      name = "destroy___destroy_1.2.0.tgz";
       path = fetchurl {
-        name = "destroy___destroy_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
-        sha1 = "l4hXRCxEdJ5CBmE+N5RiBYJqvYA=";
+        name = "destroy___destroy_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz";
+        sha512 = "2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==";
       };
     }
     {
@@ -2498,14 +2514,6 @@
       };
     }
     {
-      name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
-      path = fetchurl {
-        name = "dtrace_provider___dtrace_provider_0.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz";
-        sha512 = "b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==";
-      };
-    }
-    {
       name = "each_series___each_series_1.0.0.tgz";
       path = fetchurl {
         name = "each_series___each_series_1.0.0.tgz";
@@ -2666,14 +2674,6 @@
       };
     }
     {
-      name = "exit_on_epipe___exit_on_epipe_1.0.1.tgz";
-      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";
-        sha512 = "h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==";
-      };
-    }
-    {
       name = "exit___exit_0.1.2.tgz";
       path = fetchurl {
         name = "exit___exit_0.1.2.tgz";
@@ -2730,11 +2730,11 @@
       };
     }
     {
-      name = "express___express_4.17.3.tgz";
+      name = "express___express_4.18.1.tgz";
       path = fetchurl {
-        name = "express___express_4.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/express/-/express-4.17.3.tgz";
-        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+        name = "express___express_4.18.1.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz";
+        sha512 = "zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==";
       };
     }
     {
@@ -2938,11 +2938,11 @@
       };
     }
     {
-      name = "finalhandler___finalhandler_1.1.2.tgz";
+      name = "finalhandler___finalhandler_1.2.0.tgz";
       path = fetchurl {
-        name = "finalhandler___finalhandler_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
+        name = "finalhandler___finalhandler_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz";
+        sha512 = "5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==";
       };
     }
     {
@@ -3010,11 +3010,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.9.tgz";
+      name = "follow_redirects___follow_redirects_1.15.0.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.9.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz";
-        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
+        name = "follow_redirects___follow_redirects_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz";
+        sha512 = "aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==";
       };
     }
     {
@@ -3154,11 +3154,11 @@
       };
     }
     {
-      name = "gaxios___gaxios_4.3.2.tgz";
+      name = "gaxios___gaxios_4.3.3.tgz";
       path = fetchurl {
-        name = "gaxios___gaxios_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.2.tgz";
-        sha512 = "T+ap6GM6UZ0c4E6yb1y/hy2UB6hTrqhglp3XfmU9qbLCGRYhLVV5aRPpC4EmoG8N8zOnkYCgoBz+ScvGAARY6Q==";
+        name = "gaxios___gaxios_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/gaxios/-/gaxios-4.3.3.tgz";
+        sha512 = "gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==";
       };
     }
     {
@@ -3242,14 +3242,6 @@
       };
     }
     {
-      name = "glob___glob_6.0.4.tgz";
-      path = fetchurl {
-        name = "glob___glob_6.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz";
-        sha1 = "DwiGD2oVUSey+t1PnOJLGqtuTSI=";
-      };
-    }
-    {
       name = "glob___glob_7.2.0.tgz";
       path = fetchurl {
         name = "glob___glob_7.2.0.tgz";
@@ -3306,27 +3298,27 @@
       };
     }
     {
-      name = "google_auth_library___google_auth_library_7.14.0.tgz";
+      name = "google_auth_library___google_auth_library_7.14.1.tgz";
       path = fetchurl {
-        name = "google_auth_library___google_auth_library_7.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.0.tgz";
-        sha512 = "or8r7qUqGVI3W8lVSdPh0ZpeFyQHeE73g5c0p+bLNTTUFXJ+GSeDQmZRZ2p4H8cF/RJYa4PNvi/A1ar1uVNLFA==";
+        name = "google_auth_library___google_auth_library_7.14.1.tgz";
+        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.14.1.tgz";
+        sha512 = "5Rk7iLNDFhFeBYc3s8l1CqzbEBcdhwR193RlD4vSNFajIcINKI8W8P0JLmBpwymHqqWbX34pJDQu39cSy/6RsA==";
       };
     }
     {
-      name = "google_p12_pem___google_p12_pem_3.1.3.tgz";
+      name = "google_p12_pem___google_p12_pem_3.1.4.tgz";
       path = fetchurl {
-        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==";
+        name = "google_p12_pem___google_p12_pem_3.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.4.tgz";
+        sha512 = "HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==";
       };
     }
     {
-      name = "google_protobuf___google_protobuf_3.14.0.tgz";
+      name = "google_protobuf___google_protobuf_3.19.4.tgz";
       path = fetchurl {
-        name = "google_protobuf___google_protobuf_3.14.0.tgz";
-        url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.14.0.tgz";
-        sha512 = "bwa8dBuMpOxg7COyqkW6muQuvNnWgVN8TX/epDRGW5m0jcrmq2QJyCyiV8ZE2/6LaIIqJtiv9bYokFhfpy/o6w==";
+        name = "google_protobuf___google_protobuf_3.19.4.tgz";
+        url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.19.4.tgz";
+        sha512 = "OIPNCxsG2lkIvf+P5FNfJ/Km95CsXOBecS9ZcAU6m2Rq3svc0Apl9nB3GMDNKfQ9asNv4KjyAqGwPQFrVle3Yg==";
       };
     }
     {
@@ -3338,19 +3330,19 @@
       };
     }
     {
-      name = "googleapis___googleapis_96.0.0.tgz";
+      name = "googleapis___googleapis_100.0.0.tgz";
       path = fetchurl {
-        name = "googleapis___googleapis_96.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-96.0.0.tgz";
-        sha512 = "tEQtcukxA4sW1OXh35teJbui+BIjMTghH6i0tvUctyXgMDO0Upu3+hrytrw9JqZJxtXReM3Wr5+g4U7veqHpBQ==";
+        name = "googleapis___googleapis_100.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-100.0.0.tgz";
+        sha512 = "RToFQGY54B756IDbjdyjb1vWFmn03bYpXHB2lIf0eq2UBYsIbYOLZ0kqSomfJnpclEukwEmMF7Jn6Wsev871ew==";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.9.tgz";
+      name = "graceful_fs___graceful_fs_4.2.10.tgz";
       path = fetchurl {
-        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==";
+        name = "graceful_fs___graceful_fs_4.2.10.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz";
+        sha512 = "9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==";
       };
     }
     {
@@ -3402,11 +3394,11 @@
       };
     }
     {
-      name = "grunt___grunt_1.4.1.tgz";
+      name = "grunt___grunt_1.5.2.tgz";
       path = fetchurl {
-        name = "grunt___grunt_1.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.4.1.tgz";
-        sha512 = "ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==";
+        name = "grunt___grunt_1.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/grunt/-/grunt-1.5.2.tgz";
+        sha512 = "XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==";
       };
     }
     {
@@ -3666,6 +3658,14 @@
       };
     }
     {
+      name = "http_errors___http_errors_2.0.0.tgz";
+      path = fetchurl {
+        name = "http_errors___http_errors_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz";
+        sha512 = "FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==";
+      };
+    }
+    {
       name = "http_errors___http_errors_1.8.1.tgz";
       path = fetchurl {
         name = "http_errors___http_errors_1.8.1.tgz";
@@ -3698,11 +3698,11 @@
       };
     }
     {
-      name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
+      name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
       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";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
+        name = "https_proxy_agent___https_proxy_agent_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz";
+        sha512 = "dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==";
       };
     }
     {
@@ -3874,11 +3874,11 @@
       };
     }
     {
-      name = "is_core_module___is_core_module_2.8.1.tgz";
+      name = "is_core_module___is_core_module_2.9.0.tgz";
       path = fetchurl {
-        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==";
+        name = "is_core_module___is_core_module_2.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz";
+        sha512 = "+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==";
       };
     }
     {
@@ -4898,19 +4898,11 @@
       };
     }
     {
-      name = "micromatch___micromatch_4.0.4.tgz";
-      path = fetchurl {
-        name = "micromatch___micromatch_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
-        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
-      };
-    }
-    {
-      name = "mime_db___mime_db_1.51.0.tgz";
+      name = "micromatch___micromatch_4.0.5.tgz";
       path = fetchurl {
-        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 = "micromatch___micromatch_4.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz";
+        sha512 = "DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==";
       };
     }
     {
@@ -4922,11 +4914,11 @@
       };
     }
     {
-      name = "mime_types___mime_types_2.1.34.tgz";
+      name = "mime_types___mime_types_2.1.35.tgz";
       path = fetchurl {
-        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==";
+        name = "mime_types___mime_types_2.1.35.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz";
+        sha512 = "ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==";
       };
     }
     {
@@ -4978,6 +4970,14 @@
       };
     }
     {
+      name = "minimatch___minimatch_5.0.1.tgz";
+      path = fetchurl {
+        name = "minimatch___minimatch_5.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz";
+        sha512 = "nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==";
+      };
+    }
+    {
       name = "minimatch___minimatch_3.0.8.tgz";
       path = fetchurl {
         name = "minimatch___minimatch_3.0.8.tgz";
@@ -4986,11 +4986,11 @@
       };
     }
     {
-      name = "minimist___minimist_1.2.5.tgz";
+      name = "minimist___minimist_1.2.6.tgz";
       path = fetchurl {
-        name = "minimist___minimist_1.2.5.tgz";
-        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
+        name = "minimist___minimist_1.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz";
+        sha512 = "Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==";
       };
     }
     {
@@ -5018,11 +5018,11 @@
       };
     }
     {
-      name = "mkdirp___mkdirp_0.5.5.tgz";
+      name = "mkdirp___mkdirp_0.5.6.tgz";
       path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
+        name = "mkdirp___mkdirp_0.5.6.tgz";
+        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz";
+        sha512 = "FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==";
       };
     }
     {
@@ -5050,11 +5050,11 @@
       };
     }
     {
-      name = "moment___moment_2.29.1.tgz";
+      name = "moment___moment_2.29.3.tgz";
       path = fetchurl {
-        name = "moment___moment_2.29.1.tgz";
-        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz";
-        sha512 = "kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==";
+        name = "moment___moment_2.29.3.tgz";
+        url  = "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz";
+        sha512 = "c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==";
       };
     }
     {
@@ -5146,14 +5146,6 @@
       };
     }
     {
-      name = "mv___mv_2.1.1.tgz";
-      path = fetchurl {
-        name = "mv___mv_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz";
-        sha1 = "rmzg1vbV4KT32JN5jQPB6pVZtqI=";
-      };
-    }
-    {
       name = "mysql___mysql_2.18.1.tgz";
       path = fetchurl {
         name = "mysql___mysql_2.18.1.tgz";
@@ -5186,14 +5178,6 @@
       };
     }
     {
-      name = "ncp___ncp_2.0.0.tgz";
-      path = fetchurl {
-        name = "ncp___ncp_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz";
-        sha1 = "GVoh1sRuNh0vsSgbo4uR6d9727M=";
-      };
-    }
-    {
       name = "negotiator___negotiator_0.6.3.tgz";
       path = fetchurl {
         name = "negotiator___negotiator_0.6.3.tgz";
@@ -5210,11 +5194,11 @@
       };
     }
     {
-      name = "nested_error_stacks___nested_error_stacks_2.1.0.tgz";
+      name = "nested_error_stacks___nested_error_stacks_2.1.1.tgz";
       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";
-        sha512 = "AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==";
+        name = "nested_error_stacks___nested_error_stacks_2.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz";
+        sha512 = "9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==";
       };
     }
     {
@@ -5250,19 +5234,11 @@
       };
     }
     {
-      name = "node_forge___node_forge_1.2.1.tgz";
-      path = fetchurl {
-        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==";
-      };
-    }
-    {
-      name = "node_rdpjs_2___node_rdpjs_2_0.3.5.tgz";
+      name = "node_forge___node_forge_1.3.1.tgz";
       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";
-        sha512 = "ABgNbpbJlX2S4SZnsyoUd1MXINLq2y2hbrOXcoxn/NMl4/7uhM/JmXKublF3AooOgRCVKlXiefUVCIMSG/mNZw==";
+        name = "node_forge___node_forge_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz";
+        sha512 = "dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==";
       };
     }
     {
@@ -5298,11 +5274,11 @@
       };
     }
     {
-      name = "nodemailer___nodemailer_6.7.2.tgz";
+      name = "nodemailer___nodemailer_6.7.5.tgz";
       path = fetchurl {
-        name = "nodemailer___nodemailer_6.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.2.tgz";
-        sha512 = "Dz7zVwlef4k5R71fdmxwR8Q39fiboGbu3xgswkzGwczUfjp873rVxt1O46+Fh0j1ORnAC6L9+heI8uUpO6DT7Q==";
+        name = "nodemailer___nodemailer_6.7.5.tgz";
+        url  = "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.7.5.tgz";
+        sha512 = "6VtMpwhsrixq1HDYSBBHvW0GwiWawE75dS3oal48VqRhUvKJNnKnJo2RI/bCVQubj1vgrgscMNW4DHaD6xtMCg==";
       };
     }
     {
@@ -5490,11 +5466,11 @@
       };
     }
     {
-      name = "on_finished___on_finished_2.3.0.tgz";
+      name = "on_finished___on_finished_2.4.1.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 = "IPEzZIGwg811M3mSoWlxqi2QaUc=";
+        name = "on_finished___on_finished_2.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz";
+        sha512 = "oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==";
       };
     }
     {
@@ -6058,11 +6034,11 @@
       };
     }
     {
-      name = "plivo___plivo_4.28.0.tgz";
+      name = "plivo___plivo_4.32.0.tgz";
       path = fetchurl {
-        name = "plivo___plivo_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.28.0.tgz";
-        sha512 = "FQCc5TG5QUlNq1r0OlLvAHgJo15M+ou+dt7bWheataObxUxPqpga316zCOYR/sGzVzREPSB/ThpT9/cZeUcYgg==";
+        name = "plivo___plivo_4.32.0.tgz";
+        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.32.0.tgz";
+        sha512 = "HHdiZ92RT2MNtQPESIsyBfzOB4I6JxTcwjL/MYcW111Vd80WKXm0g1rjOU8pv2Oci9O6j/9CSGCzwXtU7fb6RQ==";
       };
     }
     {
@@ -6138,14 +6114,6 @@
       };
     }
     {
-      name = "printj___printj_1.3.1.tgz";
-      path = fetchurl {
-        name = "printj___printj_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz";
-        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
-      };
-    }
-    {
       name = "private___private_0.1.8.tgz";
       path = fetchurl {
         name = "private___private_0.1.8.tgz";
@@ -6242,14 +6210,6 @@
       };
     }
     {
-      name = "qs___qs_6.9.7.tgz";
-      path = fetchurl {
-        name = "qs___qs_6.9.7.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.9.7.tgz";
-        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
-      };
-    }
-    {
       name = "qs___qs_6.10.3.tgz";
       path = fetchurl {
         name = "qs___qs_6.10.3.tgz";
@@ -6322,11 +6282,11 @@
       };
     }
     {
-      name = "raw_body___raw_body_2.4.3.tgz";
+      name = "raw_body___raw_body_2.5.1.tgz";
       path = fetchurl {
-        name = "raw_body___raw_body_2.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.3.tgz";
-        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+        name = "raw_body___raw_body_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz";
+        sha512 = "qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==";
       };
     }
     {
@@ -6714,14 +6674,6 @@
       };
     }
     {
-      name = "rimraf___rimraf_2.4.5.tgz";
-      path = fetchurl {
-        name = "rimraf___rimraf_2.4.5.tgz";
-        url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz";
-        sha1 = "7nEM5dk6j9uFb7Xqj/Di11k0sto=";
-      };
-    }
-    {
       name = "rimraf___rimraf_3.0.2.tgz";
       path = fetchurl {
         name = "rimraf___rimraf_3.0.2.tgz";
@@ -6762,14 +6714,6 @@
       };
     }
     {
-      name = "safe_json_stringify___safe_json_stringify_1.2.0.tgz";
-      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";
-        sha512 = "gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==";
-      };
-    }
-    {
       name = "safe_regex___safe_regex_1.1.0.tgz";
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
@@ -6858,11 +6802,11 @@
       };
     }
     {
-      name = "semver___semver_7.3.5.tgz";
+      name = "semver___semver_7.3.7.tgz";
       path = fetchurl {
-        name = "semver___semver_7.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
-        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+        name = "semver___semver_7.3.7.tgz";
+        url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz";
+        sha512 = "QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==";
       };
     }
     {
@@ -6882,19 +6826,19 @@
       };
     }
     {
-      name = "send___send_0.17.2.tgz";
+      name = "send___send_0.18.0.tgz";
       path = fetchurl {
-        name = "send___send_0.17.2.tgz";
-        url  = "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz";
-        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
+        name = "send___send_0.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz";
+        sha512 = "qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==";
       };
     }
     {
-      name = "serve_static___serve_static_1.14.2.tgz";
+      name = "serve_static___serve_static_1.15.0.tgz";
       path = fetchurl {
-        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==";
+        name = "serve_static___serve_static_1.15.0.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz";
+        sha512 = "XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==";
       };
     }
     {
@@ -7130,11 +7074,11 @@
       };
     }
     {
-      name = "ssh2___ssh2_1.7.0.tgz";
+      name = "ssh2___ssh2_1.10.0.tgz";
       path = fetchurl {
-        name = "ssh2___ssh2_1.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.7.0.tgz";
-        sha512 = "u1gdFfqKV1PTGR2szS5FImhFii40o+8FOUpg1M//iimNaS4BkTyUVfVdoydXS93M1SquOU02Z4KFhYDBNqQO+g==";
+        name = "ssh2___ssh2_1.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.10.0.tgz";
+        sha512 = "OnKAAmf4j8wCRrXXZv3Tp5lCZkLJZtgZbn45ELiShCg27djDQ3XFGvIzuGsIsf4hdHslP+VdhA9BhUQdTdfd9w==";
       };
     }
     {
@@ -7154,6 +7098,14 @@
       };
     }
     {
+      name = "statuses___statuses_2.0.1.tgz";
+      path = fetchurl {
+        name = "statuses___statuses_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz";
+        sha512 = "RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==";
+      };
+    }
+    {
       name = "statuses___statuses_1.5.0.tgz";
       path = fetchurl {
         name = "statuses___statuses_1.5.0.tgz";
@@ -7170,6 +7122,14 @@
       };
     }
     {
+      name = "step___step_0.0.6.tgz";
+      path = fetchurl {
+        name = "step___step_0.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz";
+        sha1 = "FD54SaXX0/SgiP4pr5SRUhbu7eI=";
+      };
+    }
+    {
       name = "stream_connect___stream_connect_1.0.2.tgz";
       path = fetchurl {
         name = "stream_connect___stream_connect_1.0.2.tgz";
@@ -7610,11 +7570,11 @@
       };
     }
     {
-      name = "twilio___twilio_3.75.1.tgz";
+      name = "twilio___twilio_3.77.0.tgz";
       path = fetchurl {
-        name = "twilio___twilio_3.75.1.tgz";
-        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.75.1.tgz";
-        sha512 = "q9h8AzJekL2etE4hPiZ3IOz9V6MkrY5d5cLvTra+Xe+jtDjQgarKbMUOYFhVHb/zXycf9qqW+Qk9de0ekgLwrQ==";
+        name = "twilio___twilio_3.77.0.tgz";
+        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.77.0.tgz";
+        sha512 = "jacZBKSzRBIoTdJv43U5bftdY9ptPAisH/ydd0k0ggja+GoecvCZ4MaoTgHRGDD2tR9srsw7U1nQCrqw0elobg==";
       };
     }
     {
@@ -7650,11 +7610,11 @@
       };
     }
     {
-      name = "uglify_js___uglify_js_3.15.3.tgz";
+      name = "uglify_js___uglify_js_3.15.4.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.15.3.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.3.tgz";
-        sha512 = "6iCVm2omGJbsu3JWac+p6kUiOpg3wFO2f8lIXjfEb8RrmLjzog1wTPMmwKB7swfzzqxj9YM+sGUM++u1qN4qJg==";
+        name = "uglify_js___uglify_js_3.15.4.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz";
+        sha512 = "vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==";
       };
     }
     {
@@ -7698,11 +7658,11 @@
       };
     }
     {
-      name = "underscore___underscore_1.13.2.tgz";
+      name = "underscore___underscore_1.13.3.tgz";
       path = fetchurl {
-        name = "underscore___underscore_1.13.2.tgz";
-        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz";
-        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
+        name = "underscore___underscore_1.13.3.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.3.tgz";
+        sha512 = "QvjkYpiD+dJJraRA8+dGAU4i7aBbb2s0S3jA45TFOvg2VgqvdCDd/3N6CqA8gluk1W91GLoXg5enMUx560QzuA==";
       };
     }
     {
@@ -7986,19 +7946,27 @@
       };
     }
     {
-      name = "web_push___web_push_3.4.5.tgz";
+      name = "web_push___web_push_3.5.0.tgz";
+      path = fetchurl {
+        name = "web_push___web_push_3.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.5.0.tgz";
+        sha512 = "JC0V9hzKTqlDYJ+LTZUXtW7B175qwwaqzbbMSWDxHWxZvd3xY0C2rcotMGDavub2nAAFw+sXTsqR65/KY2A5AQ==";
+      };
+    }
+    {
+      name = "webdav___webdav_4.9.0.tgz";
       path = fetchurl {
-        name = "web_push___web_push_3.4.5.tgz";
-        url  = "https://registry.yarnpkg.com/web-push/-/web-push-3.4.5.tgz";
-        sha512 = "2njbTqZ6Q7ZqqK14YpK1GGmaZs3NmuGYF5b7abCXulUIWFSlSYcZ3NBJQRFcMiQDceD7vQknb8FUuvI1F7Qe/g==";
+        name = "webdav___webdav_4.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.9.0.tgz";
+        sha512 = "pMuRtZcjBk3i6q1iY5wBHdablKftoBfhrQEWWEejSh2LXgd0J6VE5V0c1tUlMrFHaVDx8iCoB9kupNzy8SMC4A==";
       };
     }
     {
-      name = "webdav___webdav_4.8.0.tgz";
+      name = "webfinger___webfinger_0.4.2.tgz";
       path = fetchurl {
-        name = "webdav___webdav_4.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz";
-        sha512 = "CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==";
+        name = "webfinger___webfinger_0.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz";
+        sha1 = "NHem2XeZRhiWA5/P/GULc0aO520=";
       };
     }
     {
@@ -8050,6 +8018,14 @@
       };
     }
     {
+      name = "whatwg_url___whatwg_url_11.0.0.tgz";
+      path = fetchurl {
+        name = "whatwg_url___whatwg_url_11.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz";
+        sha512 = "RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==";
+      };
+    }
+    {
       name = "whatwg_url___whatwg_url_5.0.0.tgz";
       path = fetchurl {
         name = "whatwg_url___whatwg_url_5.0.0.tgz";
@@ -8218,11 +8194,11 @@
       };
     }
     {
-      name = "ws___ws_8.5.0.tgz";
+      name = "ws___ws_8.6.0.tgz";
       path = fetchurl {
-        name = "ws___ws_8.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
-        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
+        name = "ws___ws_8.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.6.0.tgz";
+        sha512 = "AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==";
       };
     }
     {
@@ -8250,6 +8226,14 @@
       };
     }
     {
+      name = "xml2js___xml2js_0.1.14.tgz";
+      path = fetchurl {
+        name = "xml2js___xml2js_0.1.14.tgz";
+        url  = "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz";
+        sha1 = "UnTmf1pkxfkpdM2FE54DMq3GuQw=";
+      };
+    }
+    {
       name = "xml2js___xml2js_0.4.23.tgz";
       path = fetchurl {
         name = "xml2js___xml2js_0.4.23.tgz";
diff --git a/pkgs/tools/admin/pgadmin/default.nix b/pkgs/tools/admin/pgadmin/default.nix
index 84781688ec1ab..d917acd656c82 100644
--- a/pkgs/tools/admin/pgadmin/default.nix
+++ b/pkgs/tools/admin/pgadmin/default.nix
@@ -1,21 +1,21 @@
-{ stdenv
-, lib
+{ lib
 , python3
 , fetchurl
 , zlib
 , mkYarnModules
 , sphinx
 , nixosTests
+, pkgs
 }:
 
 let
 
   pname = "pgadmin";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v${version}/source/pgadmin4-${version}.tar.gz";
-    sha256 = "1g2yxwgj9fp1fkn8j2jrdhmr2b2s6y8sgv4jq55aaxm4hfkkqh6d";
+    sha256 = "sha256-kS9GV/j28zkXTJZkRrG2JDgas210rQqXOJrwwxzepbw=";
   };
 
   yarnDeps = mkYarnModules {
@@ -25,9 +25,78 @@ let
     yarnLock = ./yarn.lock;
     yarnNix = ./yarn.nix;
   };
+
+  # move buildDeps here to easily pass to test suite
+  buildDeps = with pythonPackages; [
+    flask
+    flask-gravatar
+    flask_login
+    flask_mail
+    flask_migrate
+    flask_sqlalchemy
+    flask_wtf
+    flask-compress
+    passlib
+    pytz
+    simplejson
+    six
+    sqlparse
+    wtforms
+    flask-paranoid
+    psutil
+    psycopg2
+    python-dateutil
+    sqlalchemy
+    itsdangerous
+    flask-security-too
+    bcrypt
+    cryptography
+    sshtunnel
+    ldap3
+    flask-babelex
+    flask-babel
+    gssapi
+    flask-socketio
+    eventlet
+    httpagentparser
+    user-agents
+    wheel
+    authlib
+    qrcode
+    pillow
+    pyotp
+    botocore
+    boto3
+  ];
+
+  # override necessary on pgadmin4 6.8
+  pythonPackages = python3.pkgs.overrideScope (final: prev: rec {
+    flask = prev.flask.overridePythonAttrs (oldAttrs: rec {
+      version = "2.0.3";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "sha256-4RIMIoyi9VO0cN9KX6knq2YlhGdSYGmYGz6wqRkCaH0=";
+      };
+      disabledTests = (oldAttrs.disabledTests or [ ]) ++ [
+        "test_aborting"
+      ];
+    });
+    flask-paranoid = prev.flask-paranoid.overridePythonAttrs (oldAttrs: rec {
+      # tests fail due to downgrades here
+      doCheck = false;
+    });
+    werkzeug = prev.werkzeug.overridePythonAttrs (oldAttrs: rec {
+      version = "2.0.3";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw=";
+      };
+    });
+  });
+
 in
 
-python3.pkgs.buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   inherit pname version src;
 
   # from Dockerfile
@@ -43,19 +112,19 @@ python3.pkgs.buildPythonApplication rec {
   postPatch = ''
     # patching Makefile, so it doesn't try to build sphinx documentation here
     # (will do so later)
-    substituteInPlace Makefile --replace "LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html" "true"
+    substituteInPlace Makefile --replace 'LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 $(MAKE) -C docs/en_US -f Makefile.sphinx html' "true"
     # fix document which refers a non-existing document and fails
     substituteInPlace docs/en_US/contributions.rst --replace "code_snippets" ""
     patchShebangs .
     # relax dependencies
     substituteInPlace requirements.txt \
-      --replace "Pillow==8.3.*" "Pillow>=8.3.0" \
       --replace "psycopg2==2.9.*" "psycopg2>=2.9" \
       --replace "cryptography==3.*" "cryptography>=3.0" \
       --replace "requests==2.25.*" "requests>=2.25.0" \
       --replace "boto3==1.20.*" "boto3>=1.20" \
       --replace "botocore==1.23.*" "botocore>=1.23" \
-      --replace "pytz==2021.*" "pytz"
+      --replace "pytz==2021.*" "pytz" \
+      --replace "Werkzeug==2.0.3" "werkzeug>=2.*"
     # don't use Server Mode (can be overridden later)
     substituteInPlace pkg/pip/setup_pip.py \
       --replace "req = req.replace('psycopg2', 'psycopg2-binary')" "req = req" \
@@ -101,10 +170,10 @@ python3.pkgs.buildPythonApplication rec {
     cp -v ../pkg/pip/setup_pip.py setup.py
   '';
 
-  nativeBuildInputs = [ python3 python3.pkgs.cython python3.pkgs.pip ];
+  nativeBuildInputs = with pythonPackages; [ cython pip ];
   buildInputs = [
     zlib
-    python3.pkgs.wheel
+    pythonPackages.wheel
   ];
 
   # tests need an own data, log directory
@@ -112,57 +181,21 @@ python3.pkgs.buildPythonApplication rec {
   # checks will be run through nixos/tests
   doCheck = false;
 
-  propagatedBuildInputs = with python3.pkgs; [
-    flask
-    flask-gravatar
-    flask_login
-    flask_mail
-    flask_migrate
-    flask_sqlalchemy
-    flask_wtf
-    flask-compress
-    passlib
-    pytz
-    simplejson
-    six
-    speaklater3
-    sqlparse
-    wtforms
-    flask-paranoid
-    psutil
-    psycopg2
-    python-dateutil
-    sqlalchemy
-    itsdangerous
-    flask-security-too
-    bcrypt
-    cryptography
-    sshtunnel
-    ldap3
-    flask-babelex
-    flask-babel
-    gssapi
-    flask-socketio
-    eventlet
-    httpagentparser
-    user-agents
-    wheel
-    authlib
-    qrcode
-    pillow
-    pyotp
-    botocore
-    boto3
-  ];
+  # speaklater3 is seperate because when passing buildDeps
+  # to the test, it fails there due to a collision with speaklater
+  propagatedBuildInputs = buildDeps ++ [ pythonPackages.speaklater3 ];
 
-  passthru = {
-    tests = { inherit (nixosTests) pgadmin4 pgadmin4-standalone; };
+  passthru.tests = {
+    standalone = nixosTests.pgadmin4-standalone;
+    # regression and function tests of the package itself
+    package = (import ../../../../nixos/tests/pgadmin4.nix ({ inherit pkgs; buildDeps = buildDeps; pythonEnv = pythonPackages; }));
   };
 
   meta = with lib; {
     description = "Administration and development platform for PostgreSQL";
     homepage = "https://www.pgadmin.org/";
     license = licenses.mit;
+    changelog = "https://www.pgadmin.org/docs/pgadmin4/latest/release_notes_${lib.versions.major version}_${lib.versions.minor version}.html";
     maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/pkgs/tools/admin/pgadmin/package.json b/pkgs/tools/admin/pgadmin/package.json
index e4a27bd10d7ba..d708b05e4883e 100644
--- a/pkgs/tools/admin/pgadmin/package.json
+++ b/pkgs/tools/admin/pgadmin/package.json
@@ -8,8 +8,8 @@
   "license": "PostgreSQL",
   "devDependencies": {
     "@babel/core": "^7.10.2",
-    "@babel/eslint-parser": "^7.12.13",
-    "@babel/eslint-plugin": "^7.12.13",
+    "@babel/eslint-parser": "^7.17.0",
+    "@babel/eslint-plugin": "^7.17.7",
     "@babel/plugin-proposal-object-rest-spread": "^7.10.1",
     "@babel/plugin-syntax-jsx": "^7.16.0",
     "@babel/preset-env": "^7.10.2",
@@ -82,11 +82,12 @@
     "@date-io/core": "^1.3.6",
     "@date-io/date-fns": "1.x",
     "@emotion/sheet": "^1.0.1",
-    "@fortawesome/fontawesome-free": "^5.14.0",
     "@material-ui/core": "4.11.0",
     "@material-ui/icons": "^4.11.2",
     "@material-ui/lab": "4.0.0-alpha.58",
     "@material-ui/pickers": "^3.2.10",
+    "@mui/icons-material": "^5.4.2",
+    "@mui/material": "^5.4.3",
     "@projectstorm/react-diagrams": "^6.6.1",
     "@simonwep/pickr": "^1.5.1",
     "@szhsin/react-menu": "^2.2.0",
@@ -145,7 +146,7 @@
     "path-fx": "^2.0.0",
     "pathfinding": "^0.4.18",
     "paths-js": "^0.4.9",
-    "pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422",
+    "pgadmin4-tree": "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613",
     "postcss": "^8.2.15",
     "raf": "^3.4.1",
     "rc-dock": "^3.2.9",
@@ -154,6 +155,8 @@
     "react-checkbox-tree": "^1.7.2",
     "react-dom": "^17.0.1",
     "react-draggable": "^4.4.4",
+    "react-rnd": "^10.3.5",
+    "react-router-dom": "^6.2.2",
     "react-select": "^4.2.1",
     "react-table": "^7.6.3",
     "react-timer-hook": "^3.0.5",
diff --git a/pkgs/tools/admin/pgadmin/yarn.lock b/pkgs/tools/admin/pgadmin/yarn.lock
index 7dc709ab5add9..bfb47913f8fbf 100644
--- a/pkgs/tools/admin/pgadmin/yarn.lock
+++ b/pkgs/tools/admin/pgadmin/yarn.lock
@@ -91,19 +91,19 @@
     json5 "^2.1.2"
     semver "^6.3.0"
 
-"@babel/eslint-parser@^7.12.13":
-  version "7.13.8"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.8.tgz#6f2bde6b0690fcc0598b4869fc7c8e8b55b17687"
-  integrity sha512-XewKkiyukrGzMeqToXJQk6hjg2veI9SNQElGzAoAjKxYCLbgcVX4KA2WhoyqMon9N4RMdCZhNTJNOBcp9spsiw==
+"@babel/eslint-parser@^7.17.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6"
+  integrity sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==
   dependencies:
-    eslint-scope "5.1.0"
-    eslint-visitor-keys "^1.3.0"
+    eslint-scope "^5.1.1"
+    eslint-visitor-keys "^2.1.0"
     semver "^6.3.0"
 
-"@babel/eslint-plugin@^7.12.13":
-  version "7.13.0"
-  resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.13.0.tgz#e6d99efcd6b8551adf479e382a47218726179b1b"
-  integrity sha512-YGwCLc/u/uc3bU+q/fvgRQ62+TkxuyVvdmybK6ElzE49vODp+RnRe16eJzMM7EwvcRPQfQvcOSuGmzfcbZE2+w==
+"@babel/eslint-plugin@^7.17.7":
+  version "7.17.7"
+  resolved "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.17.7.tgz#4ee1d5b29b79130f3bb5a933358376bcbee172b8"
+  integrity sha512-JATUoJJXSgwI0T8juxWYtK1JSgoLpIGUsCHIv+NMXcUDA2vIe6nvAHR9vnuJgs/P1hOFw7vPwibixzfqBBLIVw==
   dependencies:
     eslint-rule-composer "^0.3.0"
 
@@ -1741,6 +1741,13 @@
   dependencies:
     regenerator-runtime "^0.13.4"
 
+"@babel/runtime@^7.17.2", "@babel/runtime@^7.7.6":
+  version "7.17.8"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
+  integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
+  dependencies:
+    regenerator-runtime "^0.13.4"
+
 "@babel/template@^7.12.13", "@babel/template@^7.14.5":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
@@ -1849,6 +1856,17 @@
     "@emotion/weak-memoize" "^0.2.5"
     stylis "^4.0.3"
 
+"@emotion/cache@^11.7.1":
+  version "11.7.1"
+  resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz#08d080e396a42e0037848214e8aa7bf879065539"
+  integrity sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==
+  dependencies:
+    "@emotion/memoize" "^0.7.4"
+    "@emotion/sheet" "^1.1.0"
+    "@emotion/utils" "^1.0.0"
+    "@emotion/weak-memoize" "^0.2.5"
+    stylis "4.0.13"
+
 "@emotion/core@^10.0.14":
   version "10.1.1"
   resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3"
@@ -1882,6 +1900,13 @@
   dependencies:
     "@emotion/memoize" "0.7.4"
 
+"@emotion/is-prop-valid@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz#34ad6e98e871aa6f7a20469b602911b8b11b3a95"
+  integrity sha512-3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==
+  dependencies:
+    "@emotion/memoize" "^0.7.4"
+
 "@emotion/memoize@0.7.4":
   version "0.7.4"
   resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
@@ -1937,6 +1962,11 @@
   resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz#245f54abb02dfd82326e28689f34c27aa9b2a698"
   integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g==
 
+"@emotion/sheet@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2"
+  integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==
+
 "@emotion/styled-base@^10.0.27":
   version "10.0.31"
   resolved "https://registry.yarnpkg.com/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a"
@@ -2117,6 +2147,93 @@
     prop-types "^15.7.2"
     react-is "^16.8.0 || ^17.0.0"
 
+"@mui/base@5.0.0-alpha.74":
+  version "5.0.0-alpha.74"
+  resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.74.tgz#15509242e7911446d5957375b1b18cbb72b3a750"
+  integrity sha512-pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@emotion/is-prop-valid" "^1.1.2"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    "@popperjs/core" "^2.11.4"
+    clsx "^1.1.1"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+
+"@mui/icons-material@^5.4.2":
+  version "5.5.1"
+  resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.5.1.tgz#848a57972617411370775980cbc6990588d4aafb"
+  integrity sha512-40f68p5+Yhq3dCn3QYHqQt5RETPyR3AkDw+fma8PtcjqvZ+d+jF84kFmT6NqwA3he7TlwluEtkyAmPzUE4uPdA==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+
+"@mui/material@^5.4.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.5.3.tgz#411e53a69da3f9d6664e99f1bdcdaf2760540fdc"
+  integrity sha512-eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/base" "5.0.0-alpha.74"
+    "@mui/system" "^5.5.3"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    "@types/react-transition-group" "^4.4.4"
+    clsx "^1.1.1"
+    csstype "^3.0.11"
+    hoist-non-react-statics "^3.3.2"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+    react-transition-group "^4.4.2"
+
+"@mui/private-theming@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.5.3.tgz#c232a39dd3c268fdef7e92ccc40d51bda9eec3ab"
+  integrity sha512-Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/utils" "^5.5.3"
+    prop-types "^15.7.2"
+
+"@mui/styled-engine@^5.5.2":
+  version "5.5.2"
+  resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.5.2.tgz#1f92dd27d76f0b7df7aa52c7c7a710e59b2275a6"
+  integrity sha512-jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@emotion/cache" "^11.7.1"
+    prop-types "^15.7.2"
+
+"@mui/system@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.5.3.tgz#c78d4c16009430389ffd3495d694945422d72ca5"
+  integrity sha512-J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@mui/private-theming" "^5.5.3"
+    "@mui/styled-engine" "^5.5.2"
+    "@mui/types" "^7.1.3"
+    "@mui/utils" "^5.5.3"
+    clsx "^1.1.1"
+    csstype "^3.0.11"
+    prop-types "^15.7.2"
+
+"@mui/types@^7.1.3":
+  version "7.1.3"
+  resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.1.3.tgz#d7636f3046110bcccc63e6acfd100e2ad9ca712a"
+  integrity sha512-DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==
+
+"@mui/utils@^5.5.3":
+  version "5.5.3"
+  resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.5.3.tgz#f6e1f10c0e8f4d0bf750588c2c3a96ad819c5b65"
+  integrity sha512-t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==
+  dependencies:
+    "@babel/runtime" "^7.17.2"
+    "@types/prop-types" "^15.7.4"
+    "@types/react-is" "^16.7.1 || ^17.0.0"
+    prop-types "^15.7.2"
+    react-is "^17.0.2"
+
 "@nodelib/fs.scandir@2.1.4":
   version "2.1.4"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
@@ -2159,6 +2276,11 @@
   resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.15.tgz#6a9d143f7f4f49db2d782f9e1c8839a29b43ae23"
   integrity sha512-15spi3V28QdevleWBNXE4pIls3nFZmBbUGrW9IVPwiQczuSb9n76TCB4bsk8TSel+I1OkHEdPhu5QKMfY6rQHA==
 
+"@popperjs/core@^2.11.4":
+  version "2.11.4"
+  resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.4.tgz#d8c7b8db9226d2d7664553a0741ad7d0397ee503"
+  integrity sha512-q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==
+
 "@popperjs/core@^2.8.3":
   version "2.9.0"
   resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.0.tgz#32e63212293dd3efbb521cd35a5020ab66eaa546"
@@ -2436,6 +2558,11 @@
   resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
   integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
 
+"@types/prop-types@^15.7.4":
+  version "15.7.4"
+  resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
+  integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
+
 "@types/q@^1.5.1":
   version "1.5.4"
   resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
@@ -2448,6 +2575,13 @@
   dependencies:
     "@types/react" "^16"
 
+"@types/react-is@^16.7.1 || ^17.0.0":
+  version "17.0.3"
+  resolved "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz#2d855ba575f2fc8d17ef9861f084acc4b90a137a"
+  integrity sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==
+  dependencies:
+    "@types/react" "*"
+
 "@types/react-transition-group@^4.2.0":
   version "4.4.1"
   resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1"
@@ -2455,6 +2589,13 @@
   dependencies:
     "@types/react" "*"
 
+"@types/react-transition-group@^4.4.4":
+  version "4.4.4"
+  resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e"
+  integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==
+  dependencies:
+    "@types/react" "*"
+
 "@types/react@*", "@types/react@^16":
   version "16.14.10"
   resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.10.tgz#76bc1c42ed5ab0d2ab13e5c58faaccaad3449477"
@@ -4540,6 +4681,11 @@ csstype@^2.5.2, csstype@^2.5.7:
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39"
   integrity sha512-61FBWoDHp/gRtsoDkq/B1nWrCUG/ok1E3tUrcNbZjsE9Cxd9yzUirjS3+nAATB8U4cTtaQmAHbNndoFz5L6C9Q==
 
+csstype@^3.0.11:
+  version "3.0.11"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
+  integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
+
 csstype@^3.0.2:
   version "3.0.8"
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340"
@@ -5223,14 +5369,6 @@ eslint-rule-composer@^0.3.0:
   resolved "https://registry.yarnpkg.com/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
   integrity sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==
 
-eslint-scope@5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
-  integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
-  dependencies:
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
-
 eslint-scope@^5.1.1:
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
@@ -5251,7 +5389,7 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^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:
+eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.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==
@@ -5320,7 +5458,7 @@ esquery@^1.4.0:
   dependencies:
     estraverse "^5.1.0"
 
-esrecurse@^4.1.0, esrecurse@^4.3.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==
@@ -5498,6 +5636,11 @@ fast-levenshtein@^2.0.6:
   resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
   integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
 
+fast-memoize@^2.5.1:
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e"
+  integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==
+
 fast-safe-stringify@^2.0.7:
   version "2.0.7"
   resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743"
@@ -6059,6 +6202,13 @@ hex-color-regex@^1.1.0:
   resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
   integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
 
+history@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b"
+  integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==
+  dependencies:
+    "@babel/runtime" "^7.7.6"
+
 hmac-drbg@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -8351,9 +8501,9 @@ performance-now@^2.1.0:
   resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
   integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 
-"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422":
+"pgadmin4-tree@git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613":
   version "1.0.0"
-  resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#bf7ac7be65898883e3e05c9733426152a1da6422"
+  resolved "git+https://github.com/EnterpriseDB/pgadmin4-treeview/#c966febebcdffaa46f1ccf0769fe5308f179d613"
   dependencies:
     "@types/classnames" "^2.2.6"
     "@types/react" "^16.7.18"
@@ -9023,6 +9173,13 @@ rc-util@^5.12.0, rc-util@^5.15.0, rc-util@^5.2.1, rc-util@^5.3.0, rc-util@^5.5.0
     react-is "^16.12.0"
     shallowequal "^1.1.0"
 
+re-resizable@6.9.1:
+  version "6.9.1"
+  resolved "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.1.tgz#6be082b55d02364ca4bfee139e04feebdf52441c"
+  integrity sha512-KRYAgr9/j1PJ3K+t+MBhlQ+qkkoLDJ1rs0z1heIWvYbCW/9Vq4djDU+QumJ3hQbwwtzXF6OInla6rOx6hhgRhQ==
+  dependencies:
+    fast-memoize "^2.5.1"
+
 react-aspen@^1.1.0, react-aspen@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/react-aspen/-/react-aspen-1.1.1.tgz#61a85ef43748158322c4a3b73faaa5e563edd038"
@@ -9063,6 +9220,14 @@ react-dom@^17.0.1:
     object-assign "^4.1.1"
     scheduler "^0.20.2"
 
+react-draggable@4.4.3:
+  version "4.4.3"
+  resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz#0727f2cae5813e36b0e4962bf11b2f9ef2b406f3"
+  integrity sha512-jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==
+  dependencies:
+    classnames "^2.2.5"
+    prop-types "^15.6.0"
+
 react-draggable@^4.4.4:
   version "4.4.4"
   resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.4.tgz#5b26d9996be63d32d285a426f41055de87e59b2f"
@@ -9093,6 +9258,30 @@ react-property@1.0.1:
   resolved "https://registry.yarnpkg.com/react-property/-/react-property-1.0.1.tgz#4ae4211557d0a0ae050a71aa8ad288c074bea4e6"
   integrity sha512-1tKOwxFn3dXVomH6pM9IkLkq2Y8oh+fh/lYW3MJ/B03URswUTqttgckOlbxY2XHF3vPG6uanSc4dVsLW/wk3wQ==
 
+react-rnd@^10.3.5:
+  version "10.3.5"
+  resolved "https://registry.yarnpkg.com/react-rnd/-/react-rnd-10.3.5.tgz#b66e5e06f1eb6823e72eb4b552081b4b9241b139"
+  integrity sha512-LWJP+l5bp76sDPKrKM8pwGJifI6i3B5jHK4ONACczVMbR8ycNGA75ORRqpRuXGyKawUs68s1od05q8cqWgQXgw==
+  dependencies:
+    re-resizable "6.9.1"
+    react-draggable "4.4.3"
+    tslib "2.3.0"
+
+react-router-dom@^6.2.2:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz#a0216da813454e521905b5fa55e0e5176123f43d"
+  integrity sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==
+  dependencies:
+    history "^5.2.0"
+    react-router "6.3.0"
+
+react-router@6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz#3970cc64b4cb4eae0c1ea5203a80334fdd175557"
+  integrity sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==
+  dependencies:
+    history "^5.2.0"
+
 react-select@^4.2.1:
   version "4.3.1"
   resolved "https://registry.yarnpkg.com/react-select/-/react-select-4.3.1.tgz#389fc07c9bc7cf7d3c377b7a05ea18cd7399cb81"
@@ -9144,6 +9333,16 @@ react-transition-group@^4.0.0, react-transition-group@^4.3.0, react-transition-g
     loose-envify "^1.4.0"
     prop-types "^15.6.2"
 
+react-transition-group@^4.4.2:
+  version "4.4.2"
+  resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
+  integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
+  dependencies:
+    "@babel/runtime" "^7.5.5"
+    dom-helpers "^5.0.1"
+    loose-envify "^1.4.0"
+    prop-types "^15.6.2"
+
 react-transition-state@^1.1.3:
   version "1.1.3"
   resolved "https://registry.yarnpkg.com/react-transition-state/-/react-transition-state-1.1.3.tgz#6d999dc640ffd3a7442021a14a58e13347f4e95f"
@@ -10161,6 +10360,11 @@ stylehacks@^5.0.1:
     browserslist "^4.16.0"
     postcss-selector-parser "^6.0.4"
 
+stylis@4.0.13:
+  version "4.0.13"
+  resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz#f5db332e376d13cc84ecfe5dace9a2a51d954c91"
+  integrity sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==
+
 stylis@^4.0.3, stylis@^4.0.7:
   version "4.0.10"
   resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240"
@@ -10511,6 +10715,11 @@ trim-right@^1.0.1:
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
   integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
 
+tslib@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
 tslib@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c"
diff --git a/pkgs/tools/admin/pgadmin/yarn.nix b/pkgs/tools/admin/pgadmin/yarn.nix
index eca056bc92183..9e2ed892fcd2d 100644
--- a/pkgs/tools/admin/pgadmin/yarn.nix
+++ b/pkgs/tools/admin/pgadmin/yarn.nix
@@ -74,19 +74,19 @@
       };
     }
     {
-      name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
+      name = "_babel_eslint_parser___eslint_parser_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_eslint_parser___eslint_parser_7.13.8.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.8.tgz";
-        sha512 = "XewKkiyukrGzMeqToXJQk6hjg2veI9SNQElGzAoAjKxYCLbgcVX4KA2WhoyqMon9N4RMdCZhNTJNOBcp9spsiw==";
+        name = "_babel_eslint_parser___eslint_parser_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz";
+        sha512 = "PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==";
       };
     }
     {
-      name = "_babel_eslint_plugin___eslint_plugin_7.13.0.tgz";
+      name = "_babel_eslint_plugin___eslint_plugin_7.17.7.tgz";
       path = fetchurl {
-        name = "_babel_eslint_plugin___eslint_plugin_7.13.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.13.0.tgz";
-        sha512 = "YGwCLc/u/uc3bU+q/fvgRQ62+TkxuyVvdmybK6ElzE49vODp+RnRe16eJzMM7EwvcRPQfQvcOSuGmzfcbZE2+w==";
+        name = "_babel_eslint_plugin___eslint_plugin_7.17.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/eslint-plugin/-/eslint-plugin-7.17.7.tgz";
+        sha512 = "JATUoJJXSgwI0T8juxWYtK1JSgoLpIGUsCHIv+NMXcUDA2vIe6nvAHR9vnuJgs/P1hOFw7vPwibixzfqBBLIVw==";
       };
     }
     {
@@ -1578,6 +1578,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.17.8.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.17.8.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz";
+        sha512 = "dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==";
+      };
+    }
+    {
       name = "_babel_template___template_7.14.5.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.14.5.tgz";
@@ -1674,6 +1682,14 @@
       };
     }
     {
+      name = "_emotion_cache___cache_11.7.1.tgz";
+      path = fetchurl {
+        name = "_emotion_cache___cache_11.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.7.1.tgz";
+        sha512 = "r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==";
+      };
+    }
+    {
       name = "_emotion_core___core_10.1.1.tgz";
       path = fetchurl {
         name = "_emotion_core___core_10.1.1.tgz";
@@ -1706,6 +1722,14 @@
       };
     }
     {
+      name = "_emotion_is_prop_valid___is_prop_valid_1.1.2.tgz";
+      path = fetchurl {
+        name = "_emotion_is_prop_valid___is_prop_valid_1.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz";
+        sha512 = "3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==";
+      };
+    }
+    {
       name = "_emotion_memoize___memoize_0.7.4.tgz";
       path = fetchurl {
         name = "_emotion_memoize___memoize_0.7.4.tgz";
@@ -1762,6 +1786,14 @@
       };
     }
     {
+      name = "_emotion_sheet___sheet_1.1.0.tgz";
+      path = fetchurl {
+        name = "_emotion_sheet___sheet_1.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz";
+        sha512 = "u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==";
+      };
+    }
+    {
       name = "_emotion_styled_base___styled_base_10.0.31.tgz";
       path = fetchurl {
         name = "_emotion_styled_base___styled_base_10.0.31.tgz";
@@ -1930,6 +1962,70 @@
       };
     }
     {
+      name = "_mui_base___base_5.0.0_alpha.74.tgz";
+      path = fetchurl {
+        name = "_mui_base___base_5.0.0_alpha.74.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-alpha.74.tgz";
+        sha512 = "pw3T1xNXpW8pLo9+BvtyazZb0CSjNJsjbzznlbV/aNkBfjNPXQVI3X1NDm3WSI8y6M96WDIVO7XrHAohOwALSQ==";
+      };
+    }
+    {
+      name = "_mui_icons_material___icons_material_5.5.1.tgz";
+      path = fetchurl {
+        name = "_mui_icons_material___icons_material_5.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.5.1.tgz";
+        sha512 = "40f68p5+Yhq3dCn3QYHqQt5RETPyR3AkDw+fma8PtcjqvZ+d+jF84kFmT6NqwA3he7TlwluEtkyAmPzUE4uPdA==";
+      };
+    }
+    {
+      name = "_mui_material___material_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_material___material_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/material/-/material-5.5.3.tgz";
+        sha512 = "eADa3kUYbbr1jNjcufn0a7HeU8cSo0agbrkj720hodxVFNIfzq7a2e58Z+PaZqll55kMGBvlYJ7rTcXU399x5A==";
+      };
+    }
+    {
+      name = "_mui_private_theming___private_theming_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_private_theming___private_theming_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.5.3.tgz";
+        sha512 = "Wf7NurY7lk8SBWelSBY2U02zxLt1773JpIcXTHuEC9/GZdQA4CXCJGl2cVQzheKhee5rZ+8JwGulrRiVl1m+4A==";
+      };
+    }
+    {
+      name = "_mui_styled_engine___styled_engine_5.5.2.tgz";
+      path = fetchurl {
+        name = "_mui_styled_engine___styled_engine_5.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.5.2.tgz";
+        sha512 = "jkz5AHHbA43akBo5L3y1X1/X0f+RvXvCp3eXKt+iOf3qnKSAausbtlVz7gBbC4xIWDnP1Jb/6T+t/0/7gObRYA==";
+      };
+    }
+    {
+      name = "_mui_system___system_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_system___system_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/system/-/system-5.5.3.tgz";
+        sha512 = "J9JcySJuEqfEoP334K/2gEWm2vOx73Uqjii3qlFVhWRBOAJ0Pjyk0sN5W/eVRbwhUm95DNgh2V5s8dRK3vzyVw==";
+      };
+    }
+    {
+      name = "_mui_types___types_7.1.3.tgz";
+      path = fetchurl {
+        name = "_mui_types___types_7.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/types/-/types-7.1.3.tgz";
+        sha512 = "DDF0UhMBo4Uezlk+6QxrlDbchF79XG6Zs0zIewlR4c0Dt6GKVFfUtzPtHCH1tTbcSlq/L2bGEdiaoHBJ9Y1gSA==";
+      };
+    }
+    {
+      name = "_mui_utils___utils_5.5.3.tgz";
+      path = fetchurl {
+        name = "_mui_utils___utils_5.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/@mui/utils/-/utils-5.5.3.tgz";
+        sha512 = "t627eVRpl3SlxVya0cIVNs8jPl4KCEiGaTSWY9iKKTcMNaeDbuRML+zv/CFHDPr1zFv+FjJSP02ySB+tZ8xIag==";
+      };
+    }
+    {
       name = "_nodelib_fs.scandir___fs.scandir_2.1.4.tgz";
       path = fetchurl {
         name = "_nodelib_fs.scandir___fs.scandir_2.1.4.tgz";
@@ -1978,6 +2074,14 @@
       };
     }
     {
+      name = "_popperjs_core___core_2.11.4.tgz";
+      path = fetchurl {
+        name = "_popperjs_core___core_2.11.4.tgz";
+        url  = "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.4.tgz";
+        sha512 = "q/ytXxO5NKvyT37pmisQAItCFqA7FD/vNb8dgaJy3/630Fsc+Mz9/9f2SziBoIZ30TJooXyTwZmhi1zjXmObYg==";
+      };
+    }
+    {
       name = "_popperjs_core___core_2.9.0.tgz";
       path = fetchurl {
         name = "_popperjs_core___core_2.9.0.tgz";
@@ -2314,6 +2418,14 @@
       };
     }
     {
+      name = "_types_prop_types___prop_types_15.7.4.tgz";
+      path = fetchurl {
+        name = "_types_prop_types___prop_types_15.7.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz";
+        sha512 = "rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==";
+      };
+    }
+    {
       name = "_types_q___q_1.5.4.tgz";
       path = fetchurl {
         name = "_types_q___q_1.5.4.tgz";
@@ -2330,6 +2442,14 @@
       };
     }
     {
+      name = "_types_react_is___react_is_17.0.3.tgz";
+      path = fetchurl {
+        name = "_types_react_is___react_is_17.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-is/-/react-is-17.0.3.tgz";
+        sha512 = "aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==";
+      };
+    }
+    {
       name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
       path = fetchurl {
         name = "_types_react_transition_group___react_transition_group_4.4.1.tgz";
@@ -2338,6 +2458,14 @@
       };
     }
     {
+      name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
+      path = fetchurl {
+        name = "_types_react_transition_group___react_transition_group_4.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz";
+        sha512 = "7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug==";
+      };
+    }
+    {
       name = "_types_react___react_16.14.10.tgz";
       path = fetchurl {
         name = "_types_react___react_16.14.10.tgz";
@@ -4474,6 +4602,14 @@
       };
     }
     {
+      name = "csstype___csstype_3.0.11.tgz";
+      path = fetchurl {
+        name = "csstype___csstype_3.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz";
+        sha512 = "sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==";
+      };
+    }
+    {
       name = "csstype___csstype_3.0.8.tgz";
       path = fetchurl {
         name = "csstype___csstype_3.0.8.tgz";
@@ -5186,14 +5322,6 @@
       };
     }
     {
-      name = "eslint_scope___eslint_scope_5.1.0.tgz";
-      path = fetchurl {
-        name = "eslint_scope___eslint_scope_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz";
-        sha512 = "iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==";
-      };
-    }
-    {
       name = "eslint_scope___eslint_scope_5.1.1.tgz";
       path = fetchurl {
         name = "eslint_scope___eslint_scope_5.1.1.tgz";
@@ -5442,6 +5570,14 @@
       };
     }
     {
+      name = "fast_memoize___fast_memoize_2.5.2.tgz";
+      path = fetchurl {
+        name = "fast_memoize___fast_memoize_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz";
+        sha512 = "Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==";
+      };
+    }
+    {
       name = "fast_safe_stringify___fast_safe_stringify_2.0.7.tgz";
       path = fetchurl {
         name = "fast_safe_stringify___fast_safe_stringify_2.0.7.tgz";
@@ -6082,6 +6218,14 @@
       };
     }
     {
+      name = "history___history_5.3.0.tgz";
+      path = fetchurl {
+        name = "history___history_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz";
+        sha512 = "ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==";
+      };
+    }
+    {
       name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
       path = fetchurl {
         name = "hmac_drbg___hmac_drbg_1.0.1.tgz";
@@ -8823,8 +8967,8 @@
       let
         repo = fetchgit {
           url = "https://github.com/EnterpriseDB/pgadmin4-treeview/";
-          rev = "bf7ac7be65898883e3e05c9733426152a1da6422";
-          sha256 = "0nsn7s0d1kpgpb554hkz7nsifzdyff06qc78gqmzd8j3sfcbjk63";
+          rev = "c966febebcdffaa46f1ccf0769fe5308f179d613";
+          sha256 = "0fxjalh7g8fwy3fczbj9pvf8g06chq41gw1jidz106wadjr72081";
         };
       in
         runCommand "pgadmin4-treeview" { buildInputs = [gnutar]; } ''
@@ -9554,6 +9698,14 @@
       };
     }
     {
+      name = "re_resizable___re_resizable_6.9.1.tgz";
+      path = fetchurl {
+        name = "re_resizable___re_resizable_6.9.1.tgz";
+        url  = "https://registry.yarnpkg.com/re-resizable/-/re-resizable-6.9.1.tgz";
+        sha512 = "KRYAgr9/j1PJ3K+t+MBhlQ+qkkoLDJ1rs0z1heIWvYbCW/9Vq4djDU+QumJ3hQbwwtzXF6OInla6rOx6hhgRhQ==";
+      };
+    }
+    {
       name = "react_aspen___react_aspen_1.1.1.tgz";
       path = fetchurl {
         name = "react_aspen___react_aspen_1.1.1.tgz";
@@ -9586,6 +9738,14 @@
       };
     }
     {
+      name = "react_draggable___react_draggable_4.4.3.tgz";
+      path = fetchurl {
+        name = "react_draggable___react_draggable_4.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz";
+        sha512 = "jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==";
+      };
+    }
+    {
       name = "react_draggable___react_draggable_4.4.4.tgz";
       path = fetchurl {
         name = "react_draggable___react_draggable_4.4.4.tgz";
@@ -9626,6 +9786,30 @@
       };
     }
     {
+      name = "react_rnd___react_rnd_10.3.5.tgz";
+      path = fetchurl {
+        name = "react_rnd___react_rnd_10.3.5.tgz";
+        url  = "https://registry.yarnpkg.com/react-rnd/-/react-rnd-10.3.5.tgz";
+        sha512 = "LWJP+l5bp76sDPKrKM8pwGJifI6i3B5jHK4ONACczVMbR8ycNGA75ORRqpRuXGyKawUs68s1od05q8cqWgQXgw==";
+      };
+    }
+    {
+      name = "react_router_dom___react_router_dom_6.3.0.tgz";
+      path = fetchurl {
+        name = "react_router_dom___react_router_dom_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.3.0.tgz";
+        sha512 = "uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==";
+      };
+    }
+    {
+      name = "react_router___react_router_6.3.0.tgz";
+      path = fetchurl {
+        name = "react_router___react_router_6.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/react-router/-/react-router-6.3.0.tgz";
+        sha512 = "7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==";
+      };
+    }
+    {
       name = "react_select___react_select_4.3.1.tgz";
       path = fetchurl {
         name = "react_select___react_select_4.3.1.tgz";
@@ -9674,6 +9858,14 @@
       };
     }
     {
+      name = "react_transition_group___react_transition_group_4.4.2.tgz";
+      path = fetchurl {
+        name = "react_transition_group___react_transition_group_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz";
+        sha512 = "/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==";
+      };
+    }
+    {
       name = "react_transition_state___react_transition_state_1.1.3.tgz";
       path = fetchurl {
         name = "react_transition_state___react_transition_state_1.1.3.tgz";
@@ -10866,6 +11058,14 @@
       };
     }
     {
+      name = "stylis___stylis_4.0.13.tgz";
+      path = fetchurl {
+        name = "stylis___stylis_4.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/stylis/-/stylis-4.0.13.tgz";
+        sha512 = "xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag==";
+      };
+    }
+    {
       name = "stylis___stylis_4.0.10.tgz";
       path = fetchurl {
         name = "stylis___stylis_4.0.10.tgz";
@@ -11234,6 +11434,14 @@
       };
     }
     {
+      name = "tslib___tslib_2.3.0.tgz";
+      path = fetchurl {
+        name = "tslib___tslib_2.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz";
+        sha512 = "N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==";
+      };
+    }
+    {
       name = "tslib___tslib_2.2.0.tgz";
       path = fetchurl {
         name = "tslib___tslib_2.2.0.tgz";
diff --git a/pkgs/tools/admin/salt/0001-Fix-Jinja2-3.1.0.patch b/pkgs/tools/admin/salt/0001-Fix-Jinja2-3.1.0.patch
new file mode 100644
index 0000000000000..bdcc82c708dfa
--- /dev/null
+++ b/pkgs/tools/admin/salt/0001-Fix-Jinja2-3.1.0.patch
@@ -0,0 +1,38 @@
+From 0a763a13ef55964395dff60283ececc16f957792 Mon Sep 17 00:00:00 2001
+From: Derek Kulinski <d@kulinski.us>
+Date: Sun, 8 May 2022 01:30:39 -0700
+Subject: [PATCH] Fix Jinja2 3.1.0
+
+---
+ salt/utils/jinja.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
+index 0cb70bf64a..322c2f7f46 100644
+--- a/salt/utils/jinja.py
++++ b/salt/utils/jinja.py
+@@ -25,10 +25,11 @@ import salt.utils.json
+ import salt.utils.stringutils
+ import salt.utils.url
+ import salt.utils.yaml
+-from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
++from jinja2 import BaseLoader, TemplateNotFound, nodes
+ from jinja2.environment import TemplateModule
+ from jinja2.exceptions import TemplateRuntimeError
+ from jinja2.ext import Extension
++from markupsafe import Markup
+ from salt.exceptions import TemplateError
+ from salt.utils.decorators.jinja import jinja_filter, jinja_global, jinja_test
+ from salt.utils.odict import OrderedDict
+@@ -706,7 +707,7 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
+     return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
+ 
+ 
+-@jinja2.contextfunction
++@jinja2.pass_context
+ def show_full_context(ctx):
+     return salt.utils.data.simple_types_filter(
+         {key: value for key, value in ctx.items()}
+-- 
+2.35.1
+
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 774ea6c8cfa7a..b59bc46e9c2be 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -6,30 +6,16 @@
 , extraInputs ? []
 }:
 
-let
-  py = python3.override {
-    packageOverrides = self: super: {
-      # Incompatible with pyzmq 22
-      pyzmq = super.pyzmq.overridePythonAttrs (oldAttrs: rec {
-        version = "21.0.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "CYwTxhmJE8KgaQI1+nTS5JFhdV9mtmO+rsiWUVVMx5w=";
-        };
-      });
-   };
-  };
-in
-py.pkgs.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "salt";
   version = "3004.1";
 
-  src = py.pkgs.fetchPypi {
+  src = python3.pkgs.fetchPypi {
     inherit pname version;
     hash = "sha256-fzRKJDJkik8HjapazMaNzf/hCVzqE+wh5QQTVg8Ewpg=";
   };
 
-  propagatedBuildInputs = with py.pkgs; [
+  propagatedBuildInputs = with python3.pkgs; [
     distro
     jinja2
     markupsafe
@@ -39,18 +25,46 @@ py.pkgs.buildPythonApplication rec {
     pyyaml
     pyzmq
     requests
-    tornado
   ] ++ extraInputs;
 
-  patches = [ ./fix-libcrypto-loading.patch ];
+  patches = [
+    ./fix-libcrypto-loading.patch
+
+    # Bug in 3004.1: https://github.com/saltstack/salt/pull/61856
+    ./0001-Fix-Jinja2-3.1.0.patch
+  ];
 
   postPatch = ''
     substituteInPlace "salt/utils/rsax931.py" \
       --subst-var-by "libcrypto" "${lib.getLib openssl}/lib/libcrypto.so"
     substituteInPlace requirements/base.txt \
       --replace contextvars ""
+
+    # Don't require optional dependencies on Darwin, let's use
+    # `extraInputs` like on any other platform
+    echo -n > "requirements/darwin.txt"
+
+    # Bug in 3004.1: https://github.com/saltstack/salt/pull/61839
+    substituteInPlace "salt/utils/entrypoints.py" \
+      --replace 'if sys.version_info >= (3, 10):' 'if False:'
+
+    # Bug in 3004.1: https://github.com/saltstack/salt/issues/61865
+    substituteInPlace "salt/transport/tcp.py" \
+      --replace 'payload = self.pack_publish(package)' 'package = self.pack_publish(package)'
+
+    # 3004.1: requirement of pyzmq was restricted to <22.0.0; looks like that req was incorrect
+    # https://github.com/saltstack/salt/commit/070597e525bb7d56ffadede1aede325dfb1b73a4
+    # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259279
+    # https://github.com/saltstack/salt/pull/61163
+    substituteInPlace "requirements/zeromq.txt" \
+      --replace 'pyzmq<=20.0.0 ; python_version < "3.6"' "" \
+      --replace 'pyzmq>=17.0.0,<22.0.0 ; python_version < "3.9"' 'pyzmq>=17.0.0 ; python_version < "3.9"' \
+      --replace 'pyzmq>19.0.2,<22.0.0 ; python_version >= "3.9"' 'pyzmq>19.0.2 ; python_version >= "3.9"'
   '';
 
+  # Don't use fixed dependencies on Darwin
+  USE_STATIC_REQUIREMENTS = "0";
+
   # The tests fail due to socket path length limits at the very least;
   # possibly there are more issues but I didn't leave the test suite running
   # as is it rather long.
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 11c748f5d64ee..0f7d3806182a5 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.44.1";
+  version = "0.45.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kDTTOc2sPCKWGeVuXlGhOo2dHjBZ1QEE7jAEVs4a70U=";
+    sha256 = "sha256-oexsu52x9rAqwTVxTVHzKPuaIfvg5lvvuBmKcnb2Yew=";
     # 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;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-ZWJzMDfCop5IT6mOvCWdtjGjVrZJxyM0z7iK3TiO+PI=";
+  vendorSha256 = "sha256-d6ZBWX4/lgh610fBLTE1EUqZmpctLfxi2PSRifH+1jg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix
index c845d890ce505..ae55eb4ed69e9 100644
--- a/pkgs/tools/admin/winbox/default.nix
+++ b/pkgs/tools/admin/winbox/default.nix
@@ -70,7 +70,7 @@ symlinkJoin {
     homepage = "https://mikrotik.com";
     downloadPage = "https://mikrotik.com/download";
     changelog = "https://wiki.mikrotik.com/wiki/Winbox_changelog";
-    license = licenses.gpl3Plus;
+    license = licenses.unfree;
     maintainers = with maintainers; [ yrd ];
   };
 }
diff --git a/pkgs/tools/archivers/arc_unpacker/default.nix b/pkgs/tools/archivers/arc_unpacker/default.nix
index 7fbd930239705..561567f8b1549 100644
--- a/pkgs/tools/archivers/arc_unpacker/default.nix
+++ b/pkgs/tools/archivers/arc_unpacker/default.nix
@@ -3,16 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arc_unpacker";
-  version = "unstable-2021-05-17";
+  version = "unstable-2021-08-06";
 
   src = fetchFromGitHub {
     owner = "vn-tools";
     repo = "arc_unpacker";
-    # Since the latest release (0.11) doesn't build, we've opened an upstream
-    # issue in https://github.com/vn-tools/arc_unpacker/issues/187 to ask if a
-    # a new release is upcoming
-    rev = "9c2781fcf3ead7641e873b65899f6abeeabb2fc8";
-    sha256 = "1xxrc9nww0rla3yh10z6glv05ax4rynwwbd0cdvkp7gyqzrv97xp";
+    rev = "456834ecf2e5686813802c37efd829310485c57d";
+    hash = "sha256-STbdWH7Mr3gpOrZvujblYrIIKEWBHzy1/BaNuh4teI8=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper catch2 ];
diff --git a/pkgs/tools/archivers/gbl/default.nix b/pkgs/tools/archivers/gbl/default.nix
index 266b0830d5cc5..3cba21c188b66 100644
--- a/pkgs/tools/archivers/gbl/default.nix
+++ b/pkgs/tools/archivers/gbl/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , rustPlatform
 , fetchpatch
@@ -6,6 +7,7 @@
 , openssl
 , testers
 , gbl
+, Security
 }:
 
 rustPlatform.buildRustPackage rec {
@@ -31,7 +33,7 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-RUZ6wswRtV8chq3+bY9LTRf6IYMbZ9/GPl2X5UcF7d8=";
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
 
   passthru.tests.version =
     testers.testVersion { package = gbl; };
diff --git a/pkgs/tools/archivers/gnutar/default.nix b/pkgs/tools/archivers/gnutar/default.nix
index fcc92e673a551..9be1ea7f4d440 100644
--- a/pkgs/tools/archivers/gnutar/default.nix
+++ b/pkgs/tools/archivers/gnutar/default.nix
@@ -45,9 +45,7 @@ stdenv.mkDerivation rec {
   doInstallCheck = false; # fails
 
   meta = {
-    homepage = "https://www.gnu.org/software/tar/";
     description = "GNU implementation of the `tar' archiver";
-
     longDescription = ''
       The Tar program provides the ability to create tar archives, as
       well as various other kinds of manipulation.  For example, you
@@ -62,10 +60,12 @@ stdenv.mkDerivation rec {
       pipes), it can even access remote devices or files (as
       archives).
     '';
+    homepage = "https://www.gnu.org/software/tar/";
 
     license = lib.licenses.gpl3Plus;
 
     maintainers = [ ];
+    mainProgram = "tar";
     platforms = lib.platforms.all;
 
     priority = 10;
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index cd2661128a9a0..c50a49255c9f9 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2022.04.28";
+  version = "2022.05.05";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-a/zFCxdy+GTh5daZO7QBHWeeJ1dead3Dn7dk02jBnc0=";
+    hash = "sha256-QGCws+S6Mfv0uQcfKg2DbRWS34UAeG17Z+YAyswVAFc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/dsp/default.nix b/pkgs/tools/audio/dsp/default.nix
new file mode 100644
index 0000000000000..6891bfc041d46
--- /dev/null
+++ b/pkgs/tools/audio/dsp/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, fftw
+, zita-convolver
+, fftwFloat
+, libsndfile
+, ffmpeg
+, alsa-lib
+, libao
+, libmad
+, ladspaH
+, libtool
+, libpulseaudio
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dsp";
+  version = "1.8";
+
+  src = fetchFromGitHub {
+    owner = "bmc0";
+    repo = "dsp";
+    rev = "v${version}";
+    sha256 = "sha256-LTgjpzAGi3oL8l5NcJj1ortKFd3vWDfXHr8YyedAxEE=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    fftw
+    zita-convolver
+    fftwFloat
+    libsndfile
+    ffmpeg
+    alsa-lib
+    libao
+    libmad
+    ladspaH
+    libtool
+    libpulseaudio
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/bmc0/dsp";
+    description = "An audio processing program with an interactive mode";
+    license = licenses.isc;
+    maintainers = with maintainers; [ aaronjheng ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/tools/audio/glyr/default.nix b/pkgs/tools/audio/glyr/default.nix
index 60585c3b35411..0f13addfcd92e 100644
--- a/pkgs/tools/audio/glyr/default.nix
+++ b/pkgs/tools/audio/glyr/default.nix
@@ -16,10 +16,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ sqlite glib curl ];
 
   meta = with lib; {
-    license = licenses.lgpl3;
     description = "A music related metadata searchengine";
     homepage = "https://github.com/sahib/glyr";
+    license = licenses.lgpl3;
     maintainers = [ maintainers.sternenseemann ];
+    mainProgram = "glyrc";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/audio/headset-charge-indicator/default.nix b/pkgs/tools/audio/headset-charge-indicator/default.nix
new file mode 100644
index 0000000000000..2e4f631851900
--- /dev/null
+++ b/pkgs/tools/audio/headset-charge-indicator/default.nix
@@ -0,0 +1,63 @@
+{ lib, stdenv, fetchFromGitHub, headsetcontrol, wrapGAppsHook, python3, gtk3
+, gobject-introspection, libayatana-appindicator-gtk3 }:
+
+stdenv.mkDerivation rec {
+  # The last versioned release is 1.0.0.0 from 2020, since then there were updates but no versioned release.
+  # This is not marked unstable because upstream encourages installation from source.
+  pname = "headset-charge-indicator";
+  version = "2021-08-15";
+
+  src = fetchFromGitHub {
+    owner = "centic9";
+    repo = "headset-charge-indicator";
+    rev = "6e20f81a4d6118c7385b831044c468af83103193";
+    sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U=";
+  };
+
+  nativeBuildInputs = [ wrapGAppsHook ];
+
+  buildInputs = [
+    (python3.withPackages (ps: with ps; [ pygobject3 ]))
+    headsetcontrol
+    gtk3
+    gobject-introspection
+    libayatana-appindicator-gtk3
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src/headset-charge-indicator.py $out/bin/headset-charge-indicator.py
+    chmod +x $out/bin/headset-charge-indicator.py
+
+    substituteInPlace \
+      $out/bin/headset-charge-indicator.py \
+      --replace "default='headsetcontrol'" "default='${headsetcontrol}/bin/headsetcontrol'"
+
+    cat << EOF > ${pname}.desktop
+    [Desktop Entry]
+    Name=Wireless headset app-indicator
+    Categories=Application;System
+    Exec=$out/bin/headset-charge-indicator.py
+    Terminal=false
+    Type=Application
+    X-GNOME-AutoRestart=true
+    X-GNOME-Autostart-enabled=true
+    EOF
+
+    mkdir -p $out/share/applications
+    mkdir -p $out/etc/xdg/autostart
+    cp ${pname}.desktop $out/share/applications/${pname}.desktop
+    cp ${pname}.desktop $out/etc/xdg/autostart/${pname}.desktop
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/centic9/headset-charge-indicator";
+    description =
+      "A app-indicator for GNOME desktops for controlling some features of various wireless headsets";
+    longDescription =
+      "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others.";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ zebreus ];
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/tools/audio/mpdris2/default.nix b/pkgs/tools/audio/mpdris2/default.nix
index 4cd3921fb5509..a367da9828ed0 100644
--- a/pkgs/tools/audio/mpdris2/default.nix
+++ b/pkgs/tools/audio/mpdris2/default.nix
@@ -11,7 +11,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "mpDris2";
-  version = "0.8";
+  version = "0.9.1";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -19,7 +19,7 @@ python3.pkgs.buildPythonApplication rec {
     owner = "eonpatapon";
     repo = pname;
     rev = version;
-    sha256 = "048b8acsd1b8kcxzd9fsh5p9g2an9c4rznicfcpyrsjz5syv894h";
+    sha256 = "sha256-1Y6K3z8afUXeKhZzeiaEF3yqU0Ef7qdAj9vAkRlD2p8=";
   };
 
   preConfigure = ''
@@ -49,7 +49,7 @@ python3.pkgs.buildPythonApplication rec {
     description = "MPRIS 2 support for mpd";
     homepage = "https://github.com/eonpatapon/mpDris2/";
     license = licenses.gpl3;
-    maintainers = with maintainers; [];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index 7753818fb1f5d..32dc47f531884 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.9.5";
+  version = "3.9.6";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
-    rev = "v${version}";
-    hash = "sha256-Zdm+OVcFgOO8kbJDNQSVDLnIHzhvm9EPbcG95mNrnTk=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-JoeNVMuEslz7A7G4ZvikimZrG75YrH5Mx3Oamtfy4cM=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix
index d7b6af031644c..45a359e0aadbc 100644
--- a/pkgs/tools/backup/autorestic/default.nix
+++ b/pkgs/tools/backup/autorestic/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.8";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0eq2u3DCNgfxsiE4lycf+xGIoEC3sZgEMha9+40j+9s=";
+    sha256 = "sha256-UUK5C26wM8LKQ7TE6DWEfzq+uPXH09B2Nybkfuqk+1o=";
   };
 
-  vendorSha256 = "sha256-qYXdRpQT7x+Y5h8PuKGjsANXLqjNlsPKO76GQhnufTU=";
+  vendorSha256 = "sha256-eB24vCElnnk3EMKniCblmeRsFk0BQ0wFeBf0B8OPanE=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -27,6 +27,6 @@ buildGoModule rec {
     homepage = "https://github.com/cupcakearmy/autorestic";
     license = licenses.asl20;
     maintainers = with maintainers; [ renesat ];
-    platforms = platforms.linux ++ platforms.darwin;
+    mainProgram = "autorestic";
   };
 }
diff --git a/pkgs/tools/backup/diskrsync/default.nix b/pkgs/tools/backup/diskrsync/default.nix
index 97870d5dedde4..4a5c128d1683e 100644
--- a/pkgs/tools/backup/diskrsync/default.nix
+++ b/pkgs/tools/backup/diskrsync/default.nix
@@ -1,18 +1,19 @@
-{ buildGoPackage, fetchFromGitHub, lib, openssh, makeWrapper }:
+{ buildGoModule, fetchFromGitHub, lib, openssh, makeWrapper }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "diskrsync";
-  version = "unstable-2019-01-02";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "dop251";
     repo = pname;
-    rev = "e8598ef71038527a8a77d1a6cf2a73cfd96d9139";
-    sha256 = "1dqpmc4hp81knhdk3mrmwdr66xiibsvj5lagbm5ciajg9by45mcs";
+    rev = "v${version}";
+    sha256 = "sha256-hM70WD+M3jwze0IG84WTFf1caOUk2s9DQ7pR+KNIt1M=";
   };
 
-  goPackagePath = "github.com/dop251/diskrsync";
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-lJaM/sC5/qmmo7Zu7nGR6ZdXa1qw4SuVxawQ+d/m+Aw=";
+
+  ldflags = [ "-s" "-w" ];
 
   nativeBuildInputs = [ makeWrapper ];
 
@@ -26,5 +27,4 @@ buildGoPackage rec {
     license = licenses.mit;
     maintainers = with maintainers; [ jluttine ];
   };
-
 }
diff --git a/pkgs/tools/backup/diskrsync/deps.nix b/pkgs/tools/backup/diskrsync/deps.nix
deleted file mode 100644
index 8045737164b13..0000000000000
--- a/pkgs/tools/backup/diskrsync/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
-[
-  {
-    goPackagePath = "github.com/dop251/spgz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dop251/spgz";
-      rev = "b86304a2b188";
-      sha256 = "1zss1z523qagk99plb0my8m8ng0danl372iyk1pr4i2skp2bf5z7";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "9756ffdc2472";
-      sha256 = "0q7hxaaq6lp0v8qqzifvysl47z5rfdlrxkh3d29vsl3wyby3dxl8";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "eb5bcb51f2a3";
-      sha256 = "17k4g8krxbl84gzcs275b7gsh66dzm15fdxivjnx9xz8q84l4kby";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "97732733099d";
-      sha256 = "118hkp01i4z1f5h6hcjm0ff2ngqhrzj1f7731n0kw8dr6hvbx0sw";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "v0.3.0";
-      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
-    };
-  }
-]
diff --git a/pkgs/tools/backup/restic/rest-server.nix b/pkgs/tools/backup/restic/rest-server.nix
index 699343b8728d2..0e9a72381ba6d 100644
--- a/pkgs/tools/backup/restic/rest-server.nix
+++ b/pkgs/tools/backup/restic/rest-server.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
 
 buildGoModule rec {
   pname = "restic-rest-server";
@@ -13,10 +13,14 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-8x5qYvIX/C5BaewrTNVbIIadL+7XegbRUZiEDWmJM+c=";
 
-  preCheck = ''
-    substituteInPlace cmd/rest-server/main_test.go \
-      --replace "/tmp/restic" "/build/restic"
-  '';
+  patches = [
+    (fetchpatch {
+      name = "backport_rest-server_tests_os.TempDir.patch";
+      url = "https://github.com/restic/rest-server/commit/a87a50ad114bdaddc895413396438df6ea0affbb.patch";
+      sha256 = "sha256-O6ENxTK2fCVTZZKTFHrvZ+3dT8TbgbIE0o3sYE/RUqc=";
+    })
+
+  ];
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/tools/backup/zbackup/default.nix b/pkgs/tools/backup/zbackup/default.nix
index ee5cc6fd89e90..9b618ccec5051 100644
--- a/pkgs/tools/backup/zbackup/default.nix
+++ b/pkgs/tools/backup/zbackup/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
     ./protobuf-api-change.patch
   ];
 
+  # zbackup uses dynamic exception specifications which are not
+  # allowed in C++17
+  NIX_CFLAGS_COMPILE = [ "--std=c++14" ];
+
   buildInputs = [ zlib openssl protobuf lzo libunwind ];
   nativeBuildInputs = [ cmake protobufc ];
 
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index c8dc645d69b4f..8d46197214c07 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gnu-efi }:
+{ lib, stdenv, fetchurl, gnu-efi, nixosTests }:
 
 let
   archids = {
@@ -14,11 +14,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "refind";
-  version = "0.13.2";
+  version = "0.13.3.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/refind/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "0w6990ggns4xsdmgj3aq527q15frrxfmxwa3m6igabd4ai498n6x";
+    sha256 = "1lfgqqiyl6isy25wrxzyi3s334ii057g88714igyjjmxh47kygks";
   };
 
   patches = [
@@ -107,6 +107,10 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.tests = {
+    uefiCdrom = nixosTests.boot.uefiCdrom;
+  };
+
   meta = with lib; {
     description = "A graphical {,U}EFI boot manager";
     longDescription = ''
diff --git a/pkgs/tools/cd-dvd/bootiso/default.nix b/pkgs/tools/cd-dvd/bootiso/default.nix
index 5acb901a54942..ecd8ecbc9ae84 100644
--- a/pkgs/tools/cd-dvd/bootiso/default.nix
+++ b/pkgs/tools/cd-dvd/bootiso/default.nix
@@ -41,7 +41,7 @@ stdenvNoCC.mkDerivation rec {
     description = "Script for securely creating a bootable USB device from one image file";
     homepage = "https://github.com/jsamr/bootiso";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ musfay ];
+    maintainers = with maintainers; [ muscaln ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix
index e3d53297193f3..e28d4f8b9c7e1 100644
--- a/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     ln -s $out/bin/wodim $out/bin/cdrecord
   '';
 
+  cmakeFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "-DBITFIELDS_HTOL=0" ];
+
   makeFlags = [ "PREFIX=\$(out)" ];
 
   meta = {
diff --git a/pkgs/tools/compression/xdelta/default.nix b/pkgs/tools/compression/xdelta/default.nix
index fbaab91d0931b..27d0141ff75b3 100644
--- a/pkgs/tools/compression/xdelta/default.nix
+++ b/pkgs/tools/compression/xdelta/default.nix
@@ -56,6 +56,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "http://xdelta.org/";
     license = licenses.gpl2Plus;
+    mainProgram = "xdelta3";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/xdelta/unstable.nix b/pkgs/tools/compression/xdelta/unstable.nix
index 03366e5b1ce3e..2ac8398dbc2df 100644
--- a/pkgs/tools/compression/xdelta/unstable.nix
+++ b/pkgs/tools/compression/xdelta/unstable.nix
@@ -60,6 +60,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage = "http://xdelta.org/";
     license = licenses.gpl2Plus;
+    mainProgram = "xdelta3";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index bd8bf1adb9fc8..9abbe2e9a04ae 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -58,6 +58,7 @@ stdenv.mkDerivation {
 
   passthru.tests = {
     smoke-test = nixosTests.bcachefs;
+    inherit (nixosTests.installer) bcachefsSimple bcachefsEncrypted bcachefsMulti;
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index fad1944c4a0eb..f9e5340802eda 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -1,22 +1,24 @@
 { lib, stdenv, fetchurl
-, asciidoc, docbook_xml_dtd_45, docbook_xsl, libxslt, pkg-config, python3, xmlto
+, pkg-config, python3, sphinx
 , zstd
 , acl, attr, e2fsprogs, libuuid, lzo, udev, zlib
 , runCommand, btrfs-progs
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "btrfs-progs";
-  version = "5.16.2";
+  version = "5.17";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "sha256-npswOh0P2c6q8gTudMHI+h/VV5TiI9n+K8Yodey9U9I=";
+    sha256 = "sha256-Y7d4/kwrrRjjcdzljtNUiOCPWDkhNnRU/diFB6PQ2J4=";
   };
 
   nativeBuildInputs = [
-    pkg-config asciidoc xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+    pkg-config
     python3 python3.pkgs.setuptools
+    sphinx
   ];
 
   buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ udev ];
@@ -47,6 +49,14 @@ stdenv.mkDerivation rec {
       [ -e $out/success ]
     '';
   };
+
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    # No nicer place to find latest release.
+    url = "https://github.com/kdave/btrfs-progs.git";
+    rev-prefix = "v";
+  };
+
   meta = with lib; {
     description = "Utilities for the btrfs filesystem";
     homepage = "https://btrfs.wiki.kernel.org/";
diff --git a/pkgs/tools/filesystems/ceph/default.nix b/pkgs/tools/filesystems/ceph/default.nix
index 1162c4e69b127..678835bf7bf86 100644
--- a/pkgs/tools/filesystems/ceph/default.nix
+++ b/pkgs/tools/filesystems/ceph/default.nix
@@ -9,7 +9,7 @@
 , gtest
 , cunit, snappy
 , makeWrapper
-, leveldb, oathToolkit
+, leveldb, oath-toolkit
 , libnl, libcap_ng
 , rdkafka
 , nixosTests
@@ -161,7 +161,7 @@ in rec {
     buildInputs = cryptoLibsMap.${cryptoStr} ++ [
       boost ceph-python-env libxml2 optYasm optLibatomic_ops optLibs3
       malloc zlib openldap lttng-ust babeltrace gperf gtest cunit
-      snappy lz4 oathToolkit leveldb libnl libcap_ng rdkafka
+      snappy lz4 oath-toolkit leveldb libnl libcap_ng rdkafka
       cryptsetup sqlite lua icu bzip2
     ] ++ lib.optionals stdenv.isLinux [
       linuxHeaders util-linux libuuid udev keyutils liburing optLibaio optLibxfs optZfs
diff --git a/pkgs/tools/filesystems/dosfstools/default.nix b/pkgs/tools/filesystems/dosfstools/default.nix
index 75a39fdfe92e2..e15b4ad1f6450 100644
--- a/pkgs/tools/filesystems/dosfstools/default.nix
+++ b/pkgs/tools/filesystems/dosfstools/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, libiconv, gettext, xxd }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkg-config, libiconv, gettext, xxd }:
 
 stdenv.mkDerivation rec {
   pname = "dosfstools";
@@ -11,6 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-2gxB0lQixiHOHw8uTetHekaM57fvUd9zOzSxWnvUz/c=";
   };
 
+  patches = [
+    # macOS build fixes backported from master
+    # TODO: remove on the next release
+    (fetchpatch {
+      url = "https://github.com/dosfstools/dosfstools/commit/77ffb87e8272760b3bb2dec8f722103b0effb801.patch";
+      sha256 = "sha256-xHxIs3faHK/sK3vAVoG8JcTe4zAV+ZtkozWIIFBvPWI=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ]
     ++ lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix
index 8799ec5a3d2ab..2818c335176a2 100644
--- a/pkgs/tools/filesystems/garage/default.nix
+++ b/pkgs/tools/filesystems/garage/default.nix
@@ -1,4 +1,5 @@
-{ lib, rustPlatform, fetchFromGitea, protobuf, testers, garage }:
+{ lib, stdenv, rustPlatform, fetchFromGitea, protobuf, testers, Security, garage }:
+
 rustPlatform.buildRustPackage rec {
   pname = "garage";
   version = "0.7.0";
@@ -15,6 +16,8 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ protobuf ];
 
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
   passthru = {
     tests.version = testers.testVersion { package = garage; };
   };
diff --git a/pkgs/tools/filesystems/go-mtpfs/default.nix b/pkgs/tools/filesystems/go-mtpfs/default.nix
index 6a05d71d02183..4bb2a3c24d5fe 100644
--- a/pkgs/tools/filesystems/go-mtpfs/default.nix
+++ b/pkgs/tools/filesystems/go-mtpfs/default.nix
@@ -1,20 +1,29 @@
-{ pkg-config, libusb1, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, pkg-config, libusb1 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-mtpfs";
-  version = "unstable-2018-02-09";
-
-  goPackagePath = "github.com/hanwen/go-mtpfs";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "hanwen";
     repo = "go-mtpfs";
-    rev = "d6f8f3c05ce0ed31435057ec342268a0735863bb";
-    sha256 = "sha256-sz+ikhZGwSIAI2YBSQKURF3WXB8dHgQ/C/dbkXwrDSg=";
+    rev = "v${version}";
+    sha256 = "sha256-HVfB8/MImgZZLx4tcrlYOfQjpAdHMHshEaSsd+n758w=";
   };
 
+  vendorSha256 = "sha256-OrAEvD2rF0Y0bvCD9TUv/E429lASsvC3uK3qNvbg734=";
+
+  ldflags = [ "-s" "-w" ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libusb1 ];
 
-  goDeps = ./deps.nix;
+  checkFlags = [ "-short" ];
+
+  meta = with lib; {
+    description = "A simple FUSE filesystem for mounting Android devices as a MTP device";
+    homepage = "https://github.com/hanwen/go-mtpfs";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
 }
diff --git a/pkgs/tools/filesystems/go-mtpfs/deps.nix b/pkgs/tools/filesystems/go-mtpfs/deps.nix
deleted file mode 100644
index f558a53f7d2d2..0000000000000
--- a/pkgs/tools/filesystems/go-mtpfs/deps.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/hanwen/go-fuse";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hanwen/go-fuse";
-      rev = "d1c826d19ad0c8d0c7e5b4eb34ee0f2ae09f6cef";
-      sha256 = "0hn2iqsb6rip2b05fvcngyh0sazln2h3fx18khq4fv41n1iy11dc";
-    };
-  }
-  {
-    goPackagePath = "github.com/hanwen/usb";
-    fetch = {
-      type = "git";
-      url = "https://github.com/hanwen/usb";
-      rev = "69aee4530ac705cec7c5344418d982aaf15cf0b1";
-      sha256 = "01k0c2g395j65vm1w37mmrfkg6nm900khjrrizzpmx8f8yf20dky";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "48ac38b7c8cbedd50b1613c0fccacfc7d88dfcdf";
-      sha256 = "037vs8sdvq310j3b6z9k62zlby1mzmsr9ha01rcy98dv5v8bkhin";
-    };
-  }
-]
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index e5e873b9ac564..f5eb62cca56e4 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "netatalk";
-  version = "3.1.12";
+  version = "3.1.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/netatalk/netatalk/netatalk-${version}.tar.bz2";
-    sha256 = "1ld5mnz88ixic21m6f0xcgf8v6qm08j6xabh1dzfj6x47lxghq0m";
+    sha256 = "0pg0slvvvq3l6f5yjz9ybijg4i6rs5a6c8wcynaasf8vzsyadbc9";
   };
 
   patches = [
diff --git a/pkgs/tools/filesystems/rdfind/default.nix b/pkgs/tools/filesystems/rdfind/default.nix
index 912456154744d..c363ee5613745 100644
--- a/pkgs/tools/filesystems/rdfind/default.nix
+++ b/pkgs/tools/filesystems/rdfind/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, nettle }:
+{ lib, stdenv, fetchpatch, fetchurl, nettle }:
 
 stdenv.mkDerivation rec {
   pname = "rdfind";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "103hfqzgr6izmj57fcy4jsa2nmb1ax43q4b5ij92pcgpaq9fsl21";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "include-limits.patch";
+      url = "https://github.com/pauldreik/rdfind/commit/61877de88d782b63b17458a61fcc078391499b29.patch";
+      sha256 = "0igzm4833cn905pj84lgr88nd5gx35dnjl8kl8vrwk7bpyii6a8l";
+    })
+  ];
+
   buildInputs = [ nettle ];
 
   meta = with lib; {
diff --git a/pkgs/tools/filesystems/s3fs/default.nix b/pkgs/tools/filesystems/s3fs/default.nix
index e0755a1eead0e..58ef6442d8d04 100644
--- a/pkgs/tools/filesystems/s3fs/default.nix
+++ b/pkgs/tools/filesystems/s3fs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s3fs-fuse";
-  version = "1.90";
+  version = "1.91";
 
   src = fetchFromGitHub {
     owner  = "s3fs-fuse";
     repo   = "s3fs-fuse";
     rev    = "v${version}";
-    sha256 = "sha256-tcoINdkPfIdO0VMQ5tdpKcslpvvgVhaJiDFnS/ix0sc=";
+    sha256 = "sha256-41IgUgpVZiIzi3N5kgX7PAhgnd+i/FH1o8t5y3Uw14g=";
   };
 
   buildInputs = [ curl openssl libxml2 fuse ];
diff --git a/pkgs/tools/filesystems/xfsprogs/default.nix b/pkgs/tools/filesystems/xfsprogs/default.nix
index e81414a2595f1..c44157a2f026f 100644
--- a/pkgs/tools/filesystems/xfsprogs/default.nix
+++ b/pkgs/tools/filesystems/xfsprogs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "xfsprogs";
-  version = "5.15.0";
+  version = "5.16.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/fs/xfs/xfsprogs/${pname}-${version}.tar.xz";
-    sha256 = "0mjdwxr2hhqkfa8xg0v74v3n27sjvlwm90jqnmx0587b60wbzlhk";
+    hash = "sha256-eLjImZmb1pBEHLU9fAKrZxKUlAMZxpT/fILiPo5Gu58=";
   };
 
   outputs = [ "bin" "dev" "out" "doc" ];
diff --git a/pkgs/tools/filesystems/xtreemfs/default.nix b/pkgs/tools/filesystems/xtreemfs/default.nix
index 5f942c9250712..e8f283b096ce7 100644
--- a/pkgs/tools/filesystems/xtreemfs/default.nix
+++ b/pkgs/tools/filesystems/xtreemfs/default.nix
@@ -1,5 +1,20 @@
-{ stdenv, boost, fuse, openssl, cmake, attr, jdk, ant, which, file, python2
-, lib, valgrind, makeWrapper, fetchFromGitHub, fetchpatch }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, fetchpatch
+, makeWrapper
+, ant
+, attr
+, boost
+, cmake
+, file
+, fuse
+, jdk
+, openssl
+, python3
+, valgrind
+, which
+}:
 
 stdenv.mkDerivation {
   src = fetchFromGitHub {
@@ -13,8 +28,8 @@ stdenv.mkDerivation {
   pname = "XtreemFS";
   version = "1.5.1.81";
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ which attr python2 ];
+  nativeBuildInputs = [ makeWrapper python3 ];
+  buildInputs = [ which attr ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/tools/graphics/adriconf/default.nix b/pkgs/tools/graphics/adriconf/default.nix
index 738c531688263..a76eebf4938a7 100644
--- a/pkgs/tools/graphics/adriconf/default.nix
+++ b/pkgs/tools/graphics/adriconf/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     homepage = "https://gitlab.freedesktop.org/mesa/adriconf/";
     description = "A GUI tool used to configure open source graphics drivers";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ musfay ];
+    maintainers = with maintainers; [ muscaln ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/graphics/amber/default.nix b/pkgs/tools/graphics/amber/default.nix
index f5156dd08abfc..4e1948ce87fb9 100644
--- a/pkgs/tools/graphics/amber/default.nix
+++ b/pkgs/tools/graphics/amber/default.nix
@@ -10,48 +10,48 @@ let
   glslang = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "3ee5f2f1d3316e228916788b300d786bb574d337";
-    sha256 = "1l5h9d92mzd35pgs0wibqfg7vbl771lwnvdlcsyhf6999khn5dzv";
+    rev = "81cc10a498b25a90147cccd6e8939493c1e9e20e";
+    hash = "sha256-jTOxZ1nU7kvtdWjPzyIp/5ZeKw3JtYyqhlFeIE7CyX8=";
   };
 
   lodepng = fetchFromGitHub {
     owner = "lvandeve";
     repo = "lodepng";
-    rev = "34628e89e80cd007179b25b0b2695e6af0f57fac";
-    sha256 = "10yaf218xnmhv7rsq6dysqrps43r30cgrs1z63h47z40x43ikia0";
+    rev = "5601b8272a6850b7c5d693dd0c0e16da50be8d8d";
+    hash = "sha256-dD8QoyOoGov6VENFNTXWRmen4nYYleoZ8+4TpICNSpo=";
   };
 
   shaderc = fetchFromGitHub {
     owner = "google";
     repo = "shaderc";
-    rev = "ba92b11e1fcaf4c38a64f84d643d6429175bf650";
-    sha256 = "041hip43siy2sr7h6habk9sxdmd45ag4kqgi8jk0vm1b8pqzkhqn";
+    rev = "e72186b66bb90ed06aaf15cbdc9a053581a0616b";
+    hash = "sha256-hd1IGsWksgAfB8Mq5yZOzSyNGxXsCJxb350pD/Gcskk=";
   };
 
   spirv-headers = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "3fdabd0da2932c276b25b9b4a988ba134eba1aa6";
-    sha256 = "17h5cn4dyw8ixp1cpw8vf1z90m0fn1hhlvh0iycmknccbb1z34q7";
+    rev = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78";
+    hash = "sha256-ks9JCj5rj+Xu++7z5RiHDkU3/sFXhcScw8dATfB/ot0=";
   };
 
   spirv-tools = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "fd3cabd8b5fc43ce83884ac06486c283b9902b4f";
-    sha256 = "1h3smicw5gzpa17syb30085zccydzs4f41fl30bcmiipdn2xfpjr";
+    rev = "a73e724359a274d7cf4f4248eba5be1e7764fbfd";
+    hash = "sha256-vooJHtgVRlBNkQG4hulYOxIgHH4GMhXw7N4OEbkKJvU=";
   };
 
 in
 stdenv.mkDerivation rec {
   pname = "amber";
-  version = "unstable-2020-09-23";
+  version = "unstable-2022-04-21";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
-    rev = "0eee2d45d053dfc566baa58442a9b1b708e4f2a7";
-    sha256 = "1rrbvmn9hvhj7xj89yqvy9mx0vg1qapdm5fkca8mkd3516d9f5pw";
+    rev = "8b145a6c89dcdb4ec28173339dd176fb7b6f43ed";
+    hash = "sha256-+xFYlUs13khT6r475eJJ+XS875h2sb+YbJ8ZN4MOSAA=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index beaf2c1f213dc..ac777051d10ad 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -20,6 +20,12 @@ stdenv.mkDerivation {
   })
   ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: CMakeFiles/rbal.dir/src/statsearchbl.cpp.o:(.bss+0x0):
+  #     multiple definition of `minrow'; CMakeFiles/rbal.dir/src/linban.c.o:(.bss+0xa3a): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   postPatch = ''
     rm cuneiform_src/Kern/hhh/tigerh/h/strings.h
   '';
diff --git a/pkgs/tools/graphics/grim/default.nix b/pkgs/tools/graphics/grim/default.nix
index 43824e1690477..4ca4cd9a0346c 100644
--- a/pkgs/tools/graphics/grim/default.nix
+++ b/pkgs/tools/graphics/grim/default.nix
@@ -1,11 +1,11 @@
-{ lib, stdenv, fetchFromGitHub, pixman, libpng, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
+{ lib, stdenv, fetchFromSourcehut, pixman, libpng, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
 
 stdenv.mkDerivation rec {
   pname = "grim";
   version = "1.4.0";
 
-  src = fetchFromGitHub {
-    owner = "emersion";
+  src = fetchFromSourcehut {
+    owner = "~emersion";
     repo = pname;
     rev = "v${version}";
     sha256 = "sha256-lwJn1Lysv1qLauqmrduUlzdoKUrUM5uBjv+dWSsrM6w=";
diff --git a/pkgs/tools/graphics/ploticus/default.nix b/pkgs/tools/graphics/ploticus/default.nix
index 50b7aad48a040..f315dc9a63c08 100644
--- a/pkgs/tools/graphics/ploticus/default.nix
+++ b/pkgs/tools/graphics/ploticus/default.nix
@@ -4,6 +4,7 @@
 , zlib
 , libX11
 , libpng
+, libjpeg
 , gd
 , freetype
 }:
@@ -36,6 +37,7 @@ stdenv.mkDerivation rec {
     libpng
     gd
     freetype
+    libjpeg
   ];
 
   hardeningDisable = [ "format" ];
@@ -43,6 +45,7 @@ stdenv.mkDerivation rec {
   preBuild = ''
     cd src
   '';
+  makeFlags = [ "CC=cc" ];
 
   preInstall = ''
     mkdir -p "$out/bin"
@@ -72,6 +75,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     homepage = "http://ploticus.sourceforge.net/";
-    platforms = with platforms; linux;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index 77d23df4923f5..9cc83e1976910 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , cmake
-, pkgconfig
+, pkg-config
 , glslang
 , libffi
 , libX11
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
-    pkgconfig
+    pkg-config
   ];
 
   buildInputs = [
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     "-DBUILD_ICD=OFF"
     # vulkaninfo loads libvulkan using dlopen, so we have to add it manually to RPATH
     "-DCMAKE_INSTALL_RPATH=${libraryPath}"
-    "-DPKG_CONFIG_EXECUTABLE=${pkgconfig}/bin/pkg-config"
+    "-DPKG_CONFIG_EXECUTABLE=${pkg-config}/bin/pkg-config"
     # Hide dev warnings that are useless for packaging
     "-Wno-dev"
   ];
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
index 56ddf93af45f2..e4394028658d5 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix
@@ -20,7 +20,7 @@ symlinkJoin {
   postBuild = ''
     for i in bin/emoji-picker libexec/ibus-{setup,engine}-typing-booster; do
       wrapProgram "$out/$i" \
-        --prefix NIX_HUNSPELL_DIRS : ${hunspellDirs}
+        --prefix NIX_HUNSPELL_DIRS : ${lib.escapeShellArg hunspellDirs}
     done
 
     sed -i -e "s,${typing-booster},$out," $out/share/ibus/component/typing-booster.xml
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
index 1ac061034d754..0a1ce3108f231 100644
--- a/pkgs/tools/inputmethods/input-remapper/default.nix
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -34,9 +34,9 @@
   # 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="
+, input_remapper_version ? "1.4.2"
+, input_remapper_src_rev ? "af20f87a1298153e765b840a2164ba63b9ef937a"
+, input_remapper_src_hash ? "sha256-eG4Fx1z74Bq1HrfmzOuULQLziGdWnHLax8y2dymjWsI="
 }:
 
 let
diff --git a/pkgs/tools/misc/3llo/Gemfile b/pkgs/tools/misc/3llo/Gemfile
index 17a1086d78f0e..7ad7c5aab15a2 100644
--- a/pkgs/tools/misc/3llo/Gemfile
+++ b/pkgs/tools/misc/3llo/Gemfile
@@ -1,2 +1,2 @@
 source 'https://rubygems.org'
-gem '3llo', '0.3.0'
+gem '3llo', '1.3.1'
diff --git a/pkgs/tools/misc/3llo/Gemfile.lock b/pkgs/tools/misc/3llo/Gemfile.lock
index 45a37b5e1ca63..76926d648aff2 100644
--- a/pkgs/tools/misc/3llo/Gemfile.lock
+++ b/pkgs/tools/misc/3llo/Gemfile.lock
@@ -1,27 +1,27 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    3llo (0.3.0)
-      tty-prompt (~> 0.12.0)
-    equatable (0.6.1)
-    necromancer (0.4.0)
-    pastel (0.7.3)
-      equatable (~> 0.6)
+    3llo (1.3.1)
+      tty-prompt (~> 0.20)
+    pastel (0.8.0)
       tty-color (~> 0.5)
-    tty-color (0.5.0)
-    tty-cursor (0.4.0)
-    tty-prompt (0.12.0)
-      necromancer (~> 0.4.0)
-      pastel (~> 0.7.0)
-      tty-cursor (~> 0.4.0)
-      wisper (~> 1.6.1)
-    wisper (1.6.1)
+    tty-color (0.6.0)
+    tty-cursor (0.7.1)
+    tty-prompt (0.23.1)
+      pastel (~> 0.8)
+      tty-reader (~> 0.8)
+    tty-reader (0.9.0)
+      tty-cursor (~> 0.7)
+      tty-screen (~> 0.8)
+      wisper (~> 2.0)
+    tty-screen (0.8.1)
+    wisper (2.0.1)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  3llo (= 0.3.0)
+  3llo (= 1.3.1)
 
 BUNDLED WITH
-   2.1.4
+   2.2.33
diff --git a/pkgs/tools/misc/3llo/default.nix b/pkgs/tools/misc/3llo/default.nix
index 75dc8f772c1c5..3053af18cde4e 100644
--- a/pkgs/tools/misc/3llo/default.nix
+++ b/pkgs/tools/misc/3llo/default.nix
@@ -1,24 +1,10 @@
-{ lib, ruby, bundlerApp, fetchpatch }:
+{ lib, ruby_3_0, bundlerApp, fetchpatch }:
 
 bundlerApp {
   pname = "3llo";
+  ruby = ruby_3_0;
 
-  gemfile = ./Gemfile;
-  lockfile = ./Gemfile.lock;
-
-  gemset = lib.recursiveUpdate (import ./gemset.nix) ({
-    "3llo" = {
-      dontBuild = false;
-      patches = [
-        (fetchpatch {
-          url = "https://github.com/qcam/3llo/commit/7667c67fdc975bac315da027a3c69f49e7c06a2e.patch";
-          sha256 = "0ahp19igj77x23b2j9zk3znlmm7q7nija7mjgsmgqkgfbz2r1y7v";
-        })
-      ];
-    };
-  });
-
-  inherit ruby;
+  gemdir  = ./.;
 
   exes = [ "3llo" ];
 
diff --git a/pkgs/tools/misc/3llo/gemset.nix b/pkgs/tools/misc/3llo/gemset.nix
index c6e60d4b66801..4de7651dbce09 100644
--- a/pkgs/tools/misc/3llo/gemset.nix
+++ b/pkgs/tools/misc/3llo/gemset.nix
@@ -5,81 +5,82 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "082g42lkkynnb2piz37ih696zm2ms63mz2q9rnfzjsd149ig39yy";
+      sha256 = "1w327skga2lpq9rbqqxy6w1r6k9k1l8prk5wmzrycvydn1wp7jk2";
       type = "gem";
     };
-    version = "0.3.0";
+    version = "1.3.1";
   };
-  equatable = {
+  pastel = {
+    dependencies = ["tty-color"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fzx2ishipnp6c124ka6fiw5wk42s7c7gxid2c4c1mb55b30dglf";
+      sha256 = "0xash2gj08dfjvq4hy6l1z22s5v30fhizwgs10d6nviggpxsj7a8";
       type = "gem";
     };
-    version = "0.6.1";
+    version = "0.8.0";
   };
-  necromancer = {
+  tty-color = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0v9nhdkv6zrp7cn48xv7n2vjhsbslpvs0ha36mfkcd56cp27pavz";
+      sha256 = "0aik4kmhwwrmkysha7qibi2nyzb4c8kp42bd5vxnf8sf7b53g73g";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.6.0";
   };
-  pastel = {
-    dependencies = ["equatable" "tty-color"];
+  tty-cursor = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0m43wk7gswwkl6lfxwlliqc9v1qp8arfygihyz91jc9icf270xzm";
+      sha256 = "0j5zw041jgkmn605ya1zc151bxgxl6v192v2i26qhxx7ws2l2lvr";
       type = "gem";
     };
-    version = "0.7.3";
+    version = "0.7.1";
   };
-  tty-color = {
+  tty-prompt = {
+    dependencies = ["pastel" "tty-reader"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zpp6zixkkchrc2lqnabrsy24pxikz2px87ggz5ph6355fs803da";
+      sha256 = "1j4y8ik82azjxshgd4i1v4wwhsv3g9cngpygxqkkz69qaa8cxnzw";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.23.1";
   };
-  tty-cursor = {
+  tty-reader = {
+    dependencies = ["tty-cursor" "tty-screen" "wisper"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07whfm8mnp7l49s2cm2qy1snhsqq3a90sqwb71gvym4hm2kx822a";
+      sha256 = "1cf2k7w7d84hshg4kzrjvk9pkyc2g1m3nx2n1rpmdcf0hp4p4af6";
       type = "gem";
     };
-    version = "0.4.0";
+    version = "0.9.0";
   };
-  tty-prompt = {
-    dependencies = ["necromancer" "pastel" "tty-cursor" "wisper"];
+  tty-screen = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1026nyqhgmgxi2nmk8xk3hca07gy5rpisjs8y6w00wnw4f01kpv0";
+      sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235";
       type = "gem";
     };
-    version = "0.12.0";
+    version = "0.8.1";
   };
   wisper = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19bw0z1qw1dhv7gn9lad25hgbgpb1bkw8d599744xdfam158ms2s";
+      sha256 = "1rpsi0ziy78cj82sbyyywby4d0aw0a5q84v65qd28vqn79fbq5yf";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "2.0.1";
   };
 }
diff --git a/pkgs/tools/misc/anystyle-cli/default.nix b/pkgs/tools/misc/anystyle-cli/default.nix
index 379ed14f8ef69..beebae6542b97 100644
--- a/pkgs/tools/misc/anystyle-cli/default.nix
+++ b/pkgs/tools/misc/anystyle-cli/default.nix
@@ -38,6 +38,7 @@ buildRubyGem rec {
     homepage    = "https://anystyle.io/";
     license     = licenses.bsd2;
     maintainers = with maintainers; [ shamilton ];
+    mainProgram = "anystyle";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index f7d3daf9fbcc5..d1bb7d85d18f1 100644
--- a/pkgs/tools/misc/apkeep/default.nix
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "apkeep";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-kwJ4/jkVVgem5Lb+uFDFPk4/6WWSWJs+SQDSyKkhG/8=";
+    sha256 = "sha256-SmzsFXS/geFpssy18pIluoCYGsJql9TAgYUNgAZlXmI=";
   };
 
-  cargoSha256 = "sha256-kJ81kY2EmkH3yu8xL1aPxXPMhkDsGKWo0RWn1Ih7z2k=";
+  cargoSha256 = "sha256-bL79CW6X9pHx/Cn58KDxf8bVDwvrGRKkK9v/+Ygp5D4=";
 
   prePatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 558bd4bad3f63..e886616b70795 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -12,15 +12,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bat";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "sharkdp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-U+EHOZntZsHfvLapLpbiIKXSm8Qc1BRqCTR/AFe6yfQ=";
+    sha256 = "sha256-eCk0oOHGZNqgqz+JJfIhjWdLgBTpBig+mggi1c3EUDk=";
   };
-  cargoSha256 = "sha256-eSBcrKjgCz8mApLJnpNyWVC8pQVUX8dPiYJDIK470U8=";
+  cargoSha256 = "sha256-kYZxtiK9hnHBOMvRoHZK5kyXO9cg/gHBYuaITqKUpbE=";
 
   nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
 
diff --git a/pkgs/tools/misc/bdfresize/default.nix b/pkgs/tools/misc/bdfresize/default.nix
new file mode 100644
index 0000000000000..f1ac559fb672d
--- /dev/null
+++ b/pkgs/tools/misc/bdfresize/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "bdfresize";
+  version = "1.5";
+
+  src = fetchurl {
+    url = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/${pname}-${version}.tar.gz";
+    hash = "sha256-RAz8BiCgI35GNSwUoHdMqj8wWXWbCiDe/vyU6EkIl6Y=";
+  };
+
+  patches = [ ./remove-malloc-declaration.patch ];
+
+  meta = with lib; {
+    description = "Tool to resize BDF fonts";
+    homepage = "http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ malvo ];
+  };
+}
diff --git a/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch b/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
new file mode 100644
index 0000000000000..c58888a4be2de
--- /dev/null
+++ b/pkgs/tools/misc/bdfresize/remove-malloc-declaration.patch
@@ -0,0 +1,11 @@
+Remove an unneeded declaration of malloc so gcc doesn't complain.
+--- a/charresize.c
++++ b/charresize.c
+@@ -46,7 +46,6 @@ static int	bit[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
+ void
+ processChar(void)
+ {
+-  char	*malloc();
+   char	*srcimage;
+   int	*dstgray;
+ 
diff --git a/pkgs/tools/misc/boltbrowser/default.nix b/pkgs/tools/misc/boltbrowser/default.nix
index 29635394954d6..3bfbfa1adee5e 100644
--- a/pkgs/tools/misc/boltbrowser/default.nix
+++ b/pkgs/tools/misc/boltbrowser/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "boltbrowser";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "br0xen";
     repo = pname;
     rev = version;
-    sha256 = "17v3pv80dxs285d0b6x772h5cb4f0xg9n5p9jwlir5hjbfn1635i";
+    sha256 = "sha256-Obfhxe0AI5m4UTvs28PMOrBxWuwMW7FY4DMI80Ez0Ws=";
   };
 
-  vendorSha256 = "1x28m72626cchnsasyxips8jaqs0l2p9jhjrdcgws144zm6fz3hv";
+  vendorSha256 = "sha256-G47vTP2EBM0fa1lCma6gQGMlkb6xe620hYwZYcSpSPQ=";
 
   meta = with lib; {
     description = "CLI Browser for BoltDB files";
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 9160790bce315..73b302809c8b1 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -15,14 +15,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-MbyfdzeBo12/7M1F/J7upBQGB/tv1M4sZ+90i/vcLjs=";
+    sha256 = "sha256-WCnTmb9EEFmA4nEBD3UzV3JfyHtJyJibMd85madoyto=";
   };
 
-  cargoHash = "sha256-GDU7tL+NDKk46DYnZajcAoPMZxGCrg/IS4xhSZrB6Cs=";
+  cargoHash = "sha256-FH+swtzO65fKWFLG3rDOysmbsVSjGFGeMiYtNQU62ww=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/bsp-layout/default.nix b/pkgs/tools/misc/bsp-layout/default.nix
index 065c21e3f78e9..bad5b4d9a89fe 100644
--- a/pkgs/tools/misc/bsp-layout/default.nix
+++ b/pkgs/tools/misc/bsp-layout/default.nix
@@ -1,4 +1,11 @@
-{ stdenv, fetchFromGitHub, lib, bspwm, makeWrapper, git, bc }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, git
+, bc
+, bspwm
+}:
 
 stdenv.mkDerivation rec {
   pname = "bsp-layout";
@@ -17,14 +24,22 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   postInstall = ''
-    substituteInPlace $out/bin/bsp-layout --replace 'bc ' '${bc}/bin/bc '
+    substituteInPlace $out/lib/bsp-layout/layout.sh --replace 'bc ' '${bc}/bin/bc '
+    for layout in tall rtall wide rwide
+    do
+      substituteInPlace "$out/lib/bsp-layout/layouts/$layout.sh" --replace 'bc ' '${bc}/bin/bc '
+    done
   '';
 
   meta = with lib; {
     description = "Manage layouts in bspwm";
+    longDescription = ''
+      bsp-layout is a dynamic layout manager for bspwm, written in bash.
+      It provides layout options to fit most workflows.
+    '';
     homepage = "https://github.com/phenax/bsp-layout";
     license = licenses.mit;
-    maintainers = with maintainers; [ devins2518 ];
+    maintainers = with maintainers; [ devins2518 totoroot ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/calamares-nixos-extensions/default.nix b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
new file mode 100644
index 0000000000000..793f341a07310
--- /dev/null
+++ b/pkgs/tools/misc/calamares-nixos-extensions/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "calamares-nixos-extensions";
+  version = "0.3.8";
+
+  src = fetchFromGitHub {
+    owner = "NixOS";
+    repo = "calamares-nixos-extensions";
+    rev = version;
+    sha256 = "MtqAOwlY5euVNAGRl2pRkbg/OolJPNOSQcR4DS5gFz4=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/{lib,share}/calamares
+    cp -r modules $out/lib/calamares/
+    cp -r config/* $out/share/calamares/
+    cp -r branding $out/share/calamares/
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Calamares modules for NixOS";
+    homepage = "https://github.com/NixOS/calamares-nixos-extensions";
+    license = with licenses; [ gpl3Plus bsd2 cc-by-40 cc-by-sa-40 cc0 ];
+    maintainers = with maintainers; [ vlinkz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 9112041502127..e23471fc96d86 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -1,24 +1,45 @@
-{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore
-, kservice, libatasmart, libxcb, libyamlcpp, parted, polkit-qt, python, qtbase
-, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, tzdata
+{ lib, fetchurl, boost, cmake, extra-cmake-modules, kparts, kpmcore, kirigami2
+, kservice, libatasmart, libxcb, libyamlcpp, libpwquality, parted, polkit-qt, python
+, qtbase, qtquickcontrols, qtsvg, qttools, qtwebengine, util-linux, tzdata
 , ckbcomp, xkeyboard_config, mkDerivation
+, nixos-extensions ? false
 }:
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.55";
+  version = "3.2.57";
 
   # release including submodule
   src = fetchurl {
-    url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1xf02rjy6+83zbU2yxGUGjcIGJfYS8ryqi4CBzrh7kI=";
+    url = "https://github.com/calamares/calamares/releases/download/v${version}/${pname}-${version}.tar.gz";
+    sha256 = "ef7f564ec2cd8baaf94a44982ce1db88c1192696617f21538d0b8472a63b4c2b";
   };
 
+  patches = lib.optionals nixos-extensions [
+    # Modifies the users module to only set passwords of user and root
+    # as the users will have already been created in the configuration.nix file
+    ./userjob.patch
+    # Makes calamares search /run/current-system/sw/share/calamares/ for extra configuration files
+    # as by default it only searches /usr/share/calamares/ and /nix/store/<hash>-calamares-<version>/share/calamares/
+    # but calamares-nixos-extensions is not in either of these locations
+    ./nixos-extensions-paths.patch
+    # Uses pkexec within modules in order to run calamares without root permissions as a whole
+    # Also fixes storage check in the welcome module
+    ./nonroot.patch
+    # Adds unfree qml to packagechooserq
+    ./unfreeq.patch
+    # Modifies finished module to add some NixOS resources
+    # Modifies packagechooser module to change the UI
+    ./uimod.patch
+    # Remove options for unsupported partition types
+    ./partitions.patch
+  ];
+
   nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
-    boost kparts.dev kpmcore.out kservice.dev
-    libatasmart libxcb libyamlcpp parted polkit-qt python qtbase
-    qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
+    boost kparts.dev kpmcore.out kservice.dev kirigami2
+    libatasmart libxcb libyamlcpp libpwquality parted polkit-qt python
+    qtbase qtquickcontrols qtsvg qttools qtwebengine.dev util-linux
   ];
 
   cmakeFlags = [
@@ -32,15 +53,28 @@ mkDerivation rec {
   POLKITQT-1_POLICY_FILES_INSTALL_DIR = "$(out)/share/polkit-1/actions";
 
   postPatch = ''
+    # Run calamares without root. Other patches make it functional as a normal user
+    sed -e "s,pkexec calamares,calamares," \
+        -i calamares.desktop
+
+    sed -e "s,X-AppStream-Ignore=true,&\nStartupWMClass=io.calamares.calamares," \
+        -i calamares.desktop
+
+    # Fix desktop reference with wayland
+    mv calamares.desktop io.calamares.calamares.desktop
+
+    sed -e "s,calamares.desktop,io.calamares.calamares.desktop," \
+        -i CMakeLists.txt
+
     sed -e "s,/usr/bin/calamares,$out/bin/calamares," \
-        -i calamares.desktop \
         -i com.github.calamares.calamares.policy
 
     sed -e 's,/usr/share/zoneinfo,${tzdata}/share/zoneinfo,' \
-        -i src/modules/locale/SetTimezoneJob.cpp
+        -i src/modules/locale/SetTimezoneJob.cpp \
+        -i src/libcalamares/locale/TimeZone.cpp
 
     sed -e 's,/usr/share/X11/xkb/rules/base.lst,${xkeyboard_config}/share/X11/xkb/rules/base.lst,' \
-        -i src/modules/keyboard/keyboardwidget/keyboardglobal.h
+        -i src/modules/keyboard/keyboardwidget/keyboardglobal.cpp
 
     sed -e 's,"ckbcomp","${ckbcomp}/bin/ckbcomp",' \
         -i src/modules/keyboard/keyboardwidget/keyboardpreview.cpp
@@ -51,8 +85,9 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Distribution-independent installer framework";
-    license = with licenses; [ gpl3Plus bsd2 ];
-    maintainers = with maintainers; [ manveru ];
+    homepage = "https://calamares.io/";
+    license = with licenses; [ gpl3Plus bsd2 cc0 ];
+    maintainers = with maintainers; [ manveru vlinkz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/calamares/nixos-extensions-paths.patch b/pkgs/tools/misc/calamares/nixos-extensions-paths.patch
new file mode 100644
index 0000000000000..4e0012160e9fb
--- /dev/null
+++ b/pkgs/tools/misc/calamares/nixos-extensions-paths.patch
@@ -0,0 +1,46 @@
+diff --git a/src/calamares/main.cpp b/src/calamares/main.cpp
+index de709156f..a0b6c5faf 100644
+--- a/src/calamares/main.cpp
++++ b/src/calamares/main.cpp
+@@ -131,6 +132,8 @@ main( int argc, char* argv[] )
+     // TODO: umount anything in /tmp/calamares-... as an emergency save function
+ #endif
+ 
++    CalamaresUtils::setNixosDirs();
++
+     bool is_debug = handle_args( a );
+ 
+ #ifdef WITH_KF5DBus
+diff --git a/src/libcalamares/utils/Dirs.cpp b/src/libcalamares/utils/Dirs.cpp
+index f333d6e64..6118fb412 100644
+--- a/src/libcalamares/utils/Dirs.cpp
++++ b/src/libcalamares/utils/Dirs.cpp
+@@ -115,6 +116,14 @@ setXdgDirs()
+     s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() );
+ }
+ 
++void
++setNixosDirs()
++{
++    s_extraConfigDirs << "/run/current-system/sw/share/calamares/";
++    s_extraDataDirs << "/run/current-system/sw/share/calamares/";
++    s_haveExtraDirs = !( s_extraConfigDirs.isEmpty() && s_extraDataDirs.isEmpty() ); 
++}
++
+ QStringList
+ extraConfigDirs()
+ {
+diff --git a/src/libcalamares/utils/Dirs.h b/src/libcalamares/utils/Dirs.h
+index 445cbe1f1..da869d446 100644
+--- a/src/libcalamares/utils/Dirs.h
++++ b/src/libcalamares/utils/Dirs.h
+@@ -50,6 +50,9 @@ DLLEXPORT bool isAppDataDirOverridden();
+ /** @brief Setup extra config and data dirs from the XDG variables.
+  */
+ DLLEXPORT void setXdgDirs();
++/** @brief Setup extra config and data dirs fir NixOS.
++ */
++DLLEXPORT void setNixosDirs();
+ /** @brief Are any extra directories configured? */
+ DLLEXPORT bool haveExtraDirs();
+ /** @brief XDG_CONFIG_DIRS, each guaranteed to end with / */
diff --git a/pkgs/tools/misc/calamares/nonroot.patch b/pkgs/tools/misc/calamares/nonroot.patch
new file mode 100644
index 0000000000000..7843f45f284ce
--- /dev/null
+++ b/pkgs/tools/misc/calamares/nonroot.patch
@@ -0,0 +1,105 @@
+diff --git a/src/libcalamares/utils/Runner.cpp b/src/libcalamares/utils/Runner.cpp
+index c7146c2d7..e165d9a8f 100644
+--- a/src/libcalamares/utils/Runner.cpp
++++ b/src/libcalamares/utils/Runner.cpp
+@@ -140,13 +140,13 @@ Calamares::Utils::Runner::run()
+     }
+     if ( m_location == RunLocation::RunInTarget )
+     {
+-        process.setProgram( "chroot" );
+-        process.setArguments( QStringList { workingDirectory.absolutePath() } << m_command );
++        process.setProgram( "pkexec" );
++        process.setArguments( QStringList { "chroot" } + QStringList { workingDirectory.absolutePath() } << m_command );
+     }
+     else
+     {
+-        process.setProgram( "env" );
+-        process.setArguments( m_command );
++        process.setProgram( "pkexec" );
++        process.setArguments( QStringList { "env" } + m_command );
+     }
+ 
+     if ( m_output )
+diff --git a/src/modules/mount/main.py b/src/modules/mount/main.py
+index a3318d1a0..5fbe202fd 100644
+--- a/src/modules/mount/main.py
++++ b/src/modules/mount/main.py
+@@ -152,7 +152,8 @@ def mount_partition(root_mount_point, partition, partitions):
+ 
+     # Ensure that the created directory has the correct SELinux context on
+     # SELinux-enabled systems.
+-    os.makedirs(mount_point, exist_ok=True)
++    subprocess.check_call(["pkexec", "mkdir", "-p", mount_point])
++
+     try:
+         subprocess.call(['chcon', '--reference=' + raw_mount_point, mount_point])
+     except FileNotFoundError as e:
+@@ -193,13 +194,13 @@ def mount_partition(root_mount_point, partition, partitions):
+         for s in btrfs_subvolumes:
+             if not s["subvolume"]:
+                 continue
+-            os.makedirs(root_mount_point + os.path.dirname(s["subvolume"]), exist_ok=True)
+-            subprocess.check_call(["btrfs", "subvolume", "create",
++            subprocess.check_call(["pkexec", "mkdir", "-p", root_mount_point + os.path.dirname(s["subvolume"])])
++            subprocess.check_call(["pkexec", "btrfs", "subvolume", "create",
+                                    root_mount_point + s["subvolume"]])
+             if s["mountPoint"] == "/":
+                 # insert the root subvolume into global storage
+                 libcalamares.globalstorage.insert("btrfsRootSubvolume", s["subvolume"])
+-        subprocess.check_call(["umount", "-v", root_mount_point])
++        subprocess.check_call(["pkexec", "umount", "-v", root_mount_point])
+ 
+         device = partition["device"]
+ 
+diff --git a/src/modules/welcome/checker/GeneralRequirements.cpp b/src/modules/welcome/checker/GeneralRequirements.cpp
+index ca7219ca4..6ac682ba4 100644
+--- a/src/modules/welcome/checker/GeneralRequirements.cpp
++++ b/src/modules/welcome/checker/GeneralRequirements.cpp
+@@ -371,10 +371,34 @@ GeneralRequirements::checkEnoughStorage( qint64 requiredSpace )
+     cWarning() << "GeneralRequirements is configured without libparted.";
+     return false;
+ #else
+-    return check_big_enough( requiredSpace );
++    return big_enough( requiredSpace );
+ #endif
+ }
+ 
++bool
++GeneralRequirements::big_enough( qint64 requiredSpace )
++{
++    FILE *fpipe;
++    char command[128];
++    snprintf(command, sizeof(command), "lsblk --bytes -no SIZE,TYPE | grep disk | awk '$1 > %llu {print $1}'", requiredSpace);
++    char c = 0;
++
++    if (0 == (fpipe = (FILE*)popen(command, "r")))
++    {
++        cWarning() << "Failed to check storage size.";
++        return false;
++    }
++
++    while (fread(&c, sizeof c, 1, fpipe))
++    {
++        pclose(fpipe);
++        return true;
++    }
++
++    pclose(fpipe);
++
++    return false;
++}
+ 
+ bool
+ GeneralRequirements::checkEnoughRam( qint64 requiredRam )
+diff --git a/src/modules/welcome/checker/GeneralRequirements.h b/src/modules/welcome/checker/GeneralRequirements.h
+index b6646da11..ea27324fa 100644
+--- a/src/modules/welcome/checker/GeneralRequirements.h
++++ b/src/modules/welcome/checker/GeneralRequirements.h
+@@ -36,6 +36,7 @@ private:
+     bool checkHasPower();
+     bool checkHasInternet();
+     bool checkIsRoot();
++    bool big_enough( qint64 requiredSpace );
+ 
+     qreal m_requiredStorageGiB;
+     qreal m_requiredRamGiB;
diff --git a/pkgs/tools/misc/calamares/partitions.patch b/pkgs/tools/misc/calamares/partitions.patch
new file mode 100644
index 0000000000000..ae3c7961ae644
--- /dev/null
+++ b/pkgs/tools/misc/calamares/partitions.patch
@@ -0,0 +1,28 @@
+diff --git a/src/modules/partition/gui/CreatePartitionDialog.cpp b/src/modules/partition/gui/CreatePartitionDialog.cpp
+index c5b17c69e..353b6f964 100644
+--- a/src/modules/partition/gui/CreatePartitionDialog.cpp
++++ b/src/modules/partition/gui/CreatePartitionDialog.cpp
+@@ -107,7 +107,8 @@ CreatePartitionDialog::CreatePartitionDialog( Device* device,
+     {
+         // We need to ensure zfs is added to the list if the zfs module is enabled
+         if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
+-             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
++             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
++             && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix ) )
+         {
+             fsNames << userVisibleFS( fs );  // This is put into the combobox
+             if ( fs->type() == defaultFSType )
+diff --git a/src/modules/partition/gui/EditExistingPartitionDialog.cpp b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
+index 0bc35cabe..3cf8a7fa2 100644
+--- a/src/modules/partition/gui/EditExistingPartitionDialog.cpp
++++ b/src/modules/partition/gui/EditExistingPartitionDialog.cpp
+@@ -95,7 +95,8 @@ EditExistingPartitionDialog::EditExistingPartitionDialog( Device* device,
+     {
+         // We need to ensure zfs is added to the list if the zfs module is enabled
+         if ( ( fs->type() == FileSystem::Type::Zfs && Calamares::Settings::instance()->isModuleEnabled( "zfs" ) )
+-             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended ) )
++             || ( fs->supportCreate() != FileSystem::cmdSupportNone && fs->type() != FileSystem::Extended
++             && fs->type() != FileSystem::Luks && fs->type() != FileSystem::Luks2 && fs->type() != FileSystem::Minix) )
+         {
+             fsNames << userVisibleFS( fs );  // For the combo box
+         }
diff --git a/pkgs/tools/misc/calamares/uimod.patch b/pkgs/tools/misc/calamares/uimod.patch
new file mode 100644
index 0000000000000..5a6ec6cdeea2e
--- /dev/null
+++ b/pkgs/tools/misc/calamares/uimod.patch
@@ -0,0 +1,85 @@
+diff --git a/src/modules/finished/FinishedPage.cpp b/src/modules/finished/FinishedPage.cpp
+index 6c5f9ad16..24d75e07b 100644
+--- a/src/modules/finished/FinishedPage.cpp
++++ b/src/modules/finished/FinishedPage.cpp
+@@ -71,7 +71,10 @@ FinishedPage::retranslate()
+         {
+             ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
+                                        "%1 has been set up on your computer.<br/>"
+-                                       "You may now start using your new system." )
++                                       "You may now start using your new system.<br/>"
++                                       "You can change every setting later except the bootloader.<br/>"
++                                       "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
++                                       "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
+                                        .arg( branding->versionedName() ) );
+             ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
+                                                  "<p>When this box is checked, your system will "
+@@ -84,7 +87,10 @@ FinishedPage::retranslate()
+             ui->mainText->setText( tr( "<h1>All done.</h1><br/>"
+                                        "%1 has been installed on your computer.<br/>"
+                                        "You may now restart into your new system, or continue "
+-                                       "using the %2 Live environment." )
++                                       "using the %2 Live environment.<br/>"
++                                       "You can change every setting later except the bootloader.<br/>"
++                                       "Check the <a href=\"https://nixos.org/manual/nixos/stable/\">manual</a> for instructions on how to install software, upgrade the system or enable services.<br/>"
++                                       "You can find ways to get in touch with the <a href=\"https://nixos.org/community/\">community on the website!</a>")
+                                        .arg( branding->versionedName(), branding->productName() ) );
+             ui->restartCheckBox->setToolTip( tr( "<html><head/><body>"
+                                                  "<p>When this box is checked, your system will "
+diff --git a/src/modules/packagechooser/PackageChooserPage.cpp b/src/modules/packagechooser/PackageChooserPage.cpp
+index 721329c1b..164b9945e 100644
+--- a/src/modules/packagechooser/PackageChooserPage.cpp
++++ b/src/modules/packagechooser/PackageChooserPage.cpp
+@@ -52,6 +52,7 @@ PackageChooserPage::currentChanged( const QModelIndex& index )
+     if ( !index.isValid() || !ui->products->selectionModel()->hasSelection() )
+     {
+         ui->productName->setText( m_introduction.name.get() );
++        ui->productName->setStyleSheet("font-weight: bold");
+         ui->productScreenshot->setPixmap( m_introduction.screenshot );
+         ui->productDescription->setText( m_introduction.description.get() );
+     }
+diff --git a/src/modules/packagechooser/page_package.ui b/src/modules/packagechooser/page_package.ui
+index d021b08b3..fecfa3060 100644
+--- a/src/modules/packagechooser/page_package.ui
++++ b/src/modules/packagechooser/page_package.ui
+@@ -38,19 +38,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
+      </item>
+      <item>
+-      <layout class="QVBoxLayout" name="verticalLayout" stretch="1,30,1">
++      <layout class="QVBoxLayout" name="verticalLayout" stretch="30,1,1">
+-       <item>
+-        <widget class="QLabel" name="productName">
+-         <property name="sizePolicy">
+-          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+-           <horstretch>0</horstretch>
+-           <verstretch>0</verstretch>
+-          </sizepolicy>
+-         </property>
+-         <property name="text">
+-          <string>Product Name</string>
+-         </property>
+-        </widget>
+-       </item>
+        <item>
+         <widget class="FixedAspectRatioLabel" name="productScreenshot">
+          <property name="sizePolicy">
+@@ -67,6 +54,19 @@ SPDX-License-Identifier: GPL-3.0-or-later
+          </property>
+         </widget>
+        </item>
++       <item>
++        <widget class="QLabel" name="productName">
++         <property name="sizePolicy">
++          <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
++           <horstretch>0</horstretch>
++           <verstretch>0</verstretch>
++          </sizepolicy>
++         </property>
++         <property name="text">
++          <string>Product Name</string>
++         </property>
++        </widget>
++       </item>
+        <item>
+         <widget class="QLabel" name="productDescription">
+          <property name="sizePolicy">
diff --git a/pkgs/tools/misc/calamares/unfreeq.patch b/pkgs/tools/misc/calamares/unfreeq.patch
new file mode 100644
index 0000000000000..a234113a726ee
--- /dev/null
+++ b/pkgs/tools/misc/calamares/unfreeq.patch
@@ -0,0 +1,109 @@
+diff --git a/src/modules/packagechooserq/packagechooserq.qrc b/src/modules/packagechooserq/packagechooserq.qrc
+index 1b892dce1..ee80a934b 100644
+--- a/src/modules/packagechooserq/packagechooserq.qrc
++++ b/src/modules/packagechooserq/packagechooserq.qrc
+@@ -4,5 +4,6 @@
+         <file>images/libreoffice.jpg</file>
+         <file>images/no-selection.png</file>
+         <file>images/plasma.png</file>
++        <file>packagechooserq@unfree.qml</file>
+     </qresource>
+ </RCC>
+diff --git a/src/modules/packagechooserq/packagechooserq@unfree.qml b/src/modules/packagechooserq/packagechooserq@unfree.qml
+new file mode 100644
+index 000000000..cb87d864a
+--- /dev/null
++++ b/src/modules/packagechooserq/packagechooserq@unfree.qml
+@@ -0,0 +1,75 @@
++/* === This file is part of Calamares - <https://calamares.io> ===
++ *
++ *   SPDX-FileCopyrightText: 2021 Anke Boersma <demm@kaosx.us>
++ *   SPDX-License-Identifier: GPL-3.0-or-later
++ *
++ *   Calamares is Free Software: see the License-Identifier above.
++ *
++ */
++
++import io.calamares.core 1.0
++import io.calamares.ui 1.0
++
++import QtQuick 2.15
++import QtQuick.Controls 2.15
++import QtQuick.Layouts 1.3
++
++Item {
++    
++    SystemPalette {
++        id: palette
++        colorGroup: SystemPalette.Active
++    }
++
++    width:  parent.width
++    height: parent.height
++
++    Rectangle {
++        anchors.fill: parent
++        color: palette.window
++
++        ButtonGroup {
++            id: switchGroup
++        }
++
++        Column {
++            id: column
++            anchors.centerIn: parent
++            spacing: 5
++
++            Rectangle {
++                width: 700
++                height: 200
++                color: palette.base
++                radius: 10
++                border.width: 0
++                Text {
++                    color: palette.text
++                    width: 600
++                    height: 150
++                    anchors.centerIn: parent
++                    text: qsTr("NixOS is fully open source, but it also provides software packages with unfree licenses. By default unfree packages are not allowed, but you can enable it here. If you check this box, software installed might have additional End User License Agreements (EULAs) attached. If not enabled, some hardware might not work fully when no suitable open source drivers are available.<br/>")
++                    font.pointSize: 12
++                    wrapMode: Text.WordWrap
++                }
++
++                CheckBox {
++                    id: element2
++                    anchors.horizontalCenter: parent.horizontalCenter
++                    y: 145
++                    text: qsTr("Allow unfree software")
++                    checked: false
++
++                    onCheckedChanged: {
++                        if ( checked ) {
++                            config.packageChoice = "unfree"
++                        } else {
++                            config.packageChoice = "free"
++                        }
++                    }
++                }
++            }
++        }
++    }
++
++}
+diff --git a/src/modules/packagechooserq/unfree.conf b/src/modules/packagechooserq/unfree.conf
+new file mode 100644
+index 000000000..da79a8eac
+--- /dev/null
++++ b/src/modules/packagechooserq/unfree.conf
+@@ -0,0 +1,11 @@
++# SPDX-FileCopyrightText: no
++# SPDX-License-Identifier: CC0-1.0
++#
++---
++qmlLabel:
++    label: "Unfree Software"
++method: legacy
++mode: required
++labels:
++    step: "Unfree Software"
++packageChoice: free
diff --git a/pkgs/tools/misc/calamares/userjob.patch b/pkgs/tools/misc/calamares/userjob.patch
new file mode 100644
index 0000000000000..a0bfea9bb05aa
--- /dev/null
+++ b/pkgs/tools/misc/calamares/userjob.patch
@@ -0,0 +1,31 @@
+diff --git a/src/modules/users/Config.cpp b/src/modules/users/Config.cpp
+index eedfd274d..0f3e78848 100644
+--- a/src/modules/users/Config.cpp
++++ b/src/modules/users/Config.cpp
+@@ -972,26 +972,11 @@ Config::createJobs() const
+ 
+     Calamares::Job* j;
+ 
+-    if ( !m_sudoersGroup.isEmpty() )
+-    {
+-        j = new SetupSudoJob( m_sudoersGroup, m_sudoStyle );
+-        jobs.append( Calamares::job_ptr( j ) );
+-    }
+-
+-    j = new SetupGroupsJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+-    j = new CreateUserJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+     j = new SetPasswordJob( loginName(), userPassword() );
+     jobs.append( Calamares::job_ptr( j ) );
+ 
+     j = new SetPasswordJob( "root", rootPassword() );
+     jobs.append( Calamares::job_ptr( j ) );
+ 
+-    j = new SetHostNameJob( this );
+-    jobs.append( Calamares::job_ptr( j ) );
+-
+     return jobs;
+ }
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 00d0ef3361f85..1562a68067de3 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.15.1";
+  version = "2.15.2";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-spIdY28ZC/+6bwWWwKW7Iu2E2eKD7MeRuxEAMN2e3H8=";
+    sha256 = "sha256-zvr1O/HMSoZMtA/+dRO+co8Uy70qV8RPIDK3z8dRD28=";
   };
 
-  vendorSha256 = "sha256-D27a107gjHK4NYkJhZDd0SvhUmmRSl3DX519nglAoPo=";
+  vendorSha256 = "sha256-UAjXCXypR1/SIJIZOS53LTyioKrXOECK9vh9t61W5gc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/cht.sh/default.nix b/pkgs/tools/misc/cht.sh/default.nix
index 0364065be24c6..b34b1ee4d5170 100644
--- a/pkgs/tools/misc/cht.sh/default.nix
+++ b/pkgs/tools/misc/cht.sh/default.nix
@@ -10,15 +10,15 @@
 
 stdenv.mkDerivation {
   pname = "cht.sh";
-  version = "unstable-2022-04-17";
+  version = "unstable-2022-04-18";
 
   nativeBuildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
     owner = "chubin";
     repo = "cheat.sh";
-    rev = "7f769d6f3697541e55fd3ea9b71f190296529e48";
-    sha256 = "+V3q71neW9X0JPJHqvNGopvIJfUv0VD9GKkz7YqN6Eo=";
+    rev = "571377f2f79422398a701cb1864487124ec3dcc6";
+    sha256 = "0e9YhYcxU9t0SFeT1TjoRGTM3h1xRC528ae69tvz+a0=";
   };
 
   # Fix ".cht.sh-wrapped" in the help message
diff --git a/pkgs/tools/misc/clickclack/default.nix b/pkgs/tools/misc/clickclack/default.nix
index c7e1cbee79a54..da351dbbc69ce 100644
--- a/pkgs/tools/misc/clickclack/default.nix
+++ b/pkgs/tools/misc/clickclack/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clickclack";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromSourcehut {
     owner = "~proycon";
     repo = "clickclack";
     rev = version;
-    hash = "sha256-ABVfJRSzbQ6jIpON2g2wS52QsyNQVfW6+AhTvjkkf6s=";
+    hash = "sha256-YmlbGEmZgT/30c+mWQzdz4rKc69d75zhoNUA5FdxdMc=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/communicator/default.nix b/pkgs/tools/misc/communicator/default.nix
new file mode 100644
index 0000000000000..fd48360ba734c
--- /dev/null
+++ b/pkgs/tools/misc/communicator/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, extra-cmake-modules
+, applet-window-buttons
+, karchive
+, kcoreaddons
+, ki18n
+, kio
+, kirigami2
+, mauikit
+, mauikit-accounts
+, mauikit-filebrowsing
+, mauikit-texteditor
+, qtmultimedia
+, qtquickcontrols2
+, kpeople
+, kcontacts
+}:
+
+mkDerivation rec {
+  pname = "communicator";
+  version = "2.1.1";
+
+  src = fetchFromGitLab {
+    domain = "invent.kde.org";
+    owner = "maui";
+    repo = "communicator";
+    rev = "v${version}";
+    sha256 = "sha256-tHuFQgssZ6bohELx8tHrd4vvnrWixTyqCqK8WKJEdRE=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace "/usr/share/maui-accounts/manifests" "$out/usr/share/maui-accounts/manifests"
+  '';
+
+  buildInputs = [
+    applet-window-buttons
+    karchive
+    kcoreaddons
+    ki18n
+    kio
+    kirigami2
+    mauikit
+    mauikit-accounts
+    mauikit-filebrowsing
+    mauikit-texteditor
+    qtmultimedia
+    qtquickcontrols2
+    kpeople
+    kcontacts
+  ];
+
+  meta = with lib; {
+    description = "Contacts and dialer application";
+    homepage = "https://invent.kde.org/maui/communicator";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/tools/misc/didyoumean/default.nix b/pkgs/tools/misc/didyoumean/default.nix
index cd7b8270a1a96..3839d117afd00 100644
--- a/pkgs/tools/misc/didyoumean/default.nix
+++ b/pkgs/tools/misc/didyoumean/default.nix
@@ -28,5 +28,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/hisbaan/didyoumean";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ evanjs ];
+    mainProgram = "dym";
   };
 }
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 92fc69be7b5d7..674ec355584a7 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -11,11 +11,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "210";
+  version = "211";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-KaECH995scVdBbxQ4YhZUFmm04ptgi4yx14oDFX+zSw=";
+    sha256 = "sha256-B2Ll1N9JJkBM32eGHBtTscq6MR4T+yB98LTpjz094zo=";
   };
 
   outputs = [ "out" "man" ];
@@ -51,7 +51,7 @@ python3Packages.buildPythonApplication rec {
     ]
     ++ (with python3Packages; [
       argcomplete debian defusedxml jsondiff jsbeautifier libarchive-c
-      python_magic progressbar33 pypdf2 rpm tlsh
+      python-magic progressbar33 pypdf2 rpm tlsh
     ])
     ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit dtc ]
     ++ lib.optionals enableBloat ([
diff --git a/pkgs/tools/misc/direnv/default.nix b/pkgs/tools/misc/direnv/default.nix
index 624236462c2fe..92f32a215a564 100644
--- a/pkgs/tools/misc/direnv/default.nix
+++ b/pkgs/tools/misc/direnv/default.nix
@@ -49,6 +49,6 @@ buildGoModule rec {
     '';
     homepage = "https://direnv.net";
     license = licenses.mit;
-    maintainers = with maintainers; [ zimbatm ];
+    maintainers = teams.numtide.members;
   };
 }
diff --git a/pkgs/tools/misc/dotter/default.nix b/pkgs/tools/misc/dotter/default.nix
index 5ca26be420ea7..67401b4d85b8e 100644
--- a/pkgs/tools/misc/dotter/default.nix
+++ b/pkgs/tools/misc/dotter/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPlatform, which }:
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, which }:
 
 rustPlatform.buildRustPackage rec {
   pname = "dotter";
@@ -13,6 +13,8 @@ rustPlatform.buildRustPackage rec {
 
   cargoHash = "sha256-JpMEC2HjAQLQiXHSE6L0HBDc0vLhd465wDK2+35aBXA=";
 
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
   checkInputs = [ which ];
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index e1ec37063deaf..b4439363d4ada 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -2,19 +2,27 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "3.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "sha256-CmGie+M3AboOk8X+LkRhIxTRQZgDlklouzmz8kiIZuI=";
+    hash = "sha256-9WmiLji7Zoad5WIzgkpvkI9t96sfdkCtFh6zqVxF7qo=";
   };
 
-  checkInputs = with python3.pkgs;
-    [ flake8 flake8-future-import flake8-import-order openssl ];
-  propagatedBuildInputs = with python3.pkgs;
-    [ pyserial pyaes ecdsa reedsolo bitstring cryptography ];
+  postPatch = ''
+    substituteInPlace test/test_imagegen.py \
+      --replace "sys.executable, ESPTOOL_PY" "ESPTOOL_PY"
+  '';
+
+  propagatedBuildInputs = with python3.pkgs; [
+    bitstring
+    cryptography
+    ecdsa
+    pyserial
+    reedsolo
+  ];
 
   # wrapPythonPrograms will overwrite esptool.py with a bash script,
   # but espefuse.py tries to import it. Since we don't add any binary paths,
@@ -28,6 +36,23 @@ python3.pkgs.buildPythonApplication rec {
     done
   '';
 
+  checkInputs = with python3.pkgs; [
+    pyelftools
+  ];
+
+  # tests mentioned in `.github/workflows/test_esptool.yml`
+  checkPhase = ''
+    runHook preCheck
+
+    export ESPTOOL_PY=$out/bin/esptool.py
+    ${python3.interpreter} test/test_imagegen.py
+    ${python3.interpreter} test/test_espsecure.py
+    ${python3.interpreter} test/test_merge_bin.py
+    ${python3.interpreter} test/test_modules.py
+
+    runHook postCheck
+  '';
+
   meta = with lib; {
     description = "ESP8266 and ESP32 serial bootloader utility";
     homepage = "https://github.com/espressif/esptool";
diff --git a/pkgs/tools/misc/fclones/default.nix b/pkgs/tools/misc/fclones/default.nix
index e4e77ba90e256..874e3525f691e 100644
--- a/pkgs/tools/misc/fclones/default.nix
+++ b/pkgs/tools/misc/fclones/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fclones";
-  version = "0.22.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "pkolaczk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gzNrZJz0nC1N7LUyN5q16Vva1SD0jh7cBVV36927pmY=";
+    sha256 = "sha256-ICuhBoiCBmoy+jW+OK5OU5oAopyyOxSB6uHpZv2dEKI=";
   };
 
-  cargoSha256 = "sha256-yooY58PZbraDYc+mvmDgKZ3CdvVkbKM/f/DcU0xDiNo=";
+  cargoSha256 = "sha256-NXkXxRDJcfB2F7hXF5nBFnQ+IFhZTSHg915NyRyuS8c=";
 
   buildInputs = lib.optionals stdenv.isDarwin [
     AppKit
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index 3e6ebb2f0d672..9cab0bc2237d5 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchurl, cmake, recode, perl }:
+{ lib, stdenv, fetchurl, cmake, recode, perl, withOffensive ? false }:
 
 stdenv.mkDerivation rec {
   pname = "fortune-mod";
-  version = "3.12.0";
+  version = "3.14.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-fVrtfLmZiVDTSeuoOltX/vunGSizSw+ZhQhBn9t0C3E=";
+    sha256 = "sha256-jjBxCfjLjnhdKeMgJwEPytCVKQ4R4wHeF8/3Z/F6UgQ=";
   };
 
   nativeBuildInputs = [ cmake perl ];
@@ -17,8 +17,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DLOCALDIR=${placeholder "out"}/share/fortunes"
-    "-DNO_OFFENSIVE=true"
-  ];
+  ] ++ lib.optional (!withOffensive) "-DNO_OFFENSIVE=true";
 
   patches = [ (builtins.toFile "not-a-game.patch" ''
     diff --git a/CMakeLists.txt b/CMakeLists.txt
@@ -37,7 +36,7 @@ stdenv.mkDerivation rec {
     --
   '') ];
 
-  postFixup = ''
+  postFixup = lib.optionalString (!withOffensive) ''
     rm -f $out/share/fortunes/men-women*
   '';
 
diff --git a/pkgs/tools/misc/go.rice/default.nix b/pkgs/tools/misc/go.rice/default.nix
index 771f3493157c7..e608ad121ccab 100644
--- a/pkgs/tools/misc/go.rice/default.nix
+++ b/pkgs/tools/misc/go.rice/default.nix
@@ -16,9 +16,10 @@ buildGoModule rec {
   subPackages = [ "." "rice" ];
 
   meta = with lib; {
-    homepage = "https://github.com/GeertJohan/go.rice";
     description = "A Go package that makes working with resources such as html, js, css, images, templates very easy";
+    homepage = "https://github.com/GeertJohan/go.rice";
     license = licenses.bsd2;
     maintainers = with maintainers; [ blaggacao ];
+    mainProgram = "rice";
   };
 }
diff --git a/pkgs/tools/misc/gotify-desktop/default.nix b/pkgs/tools/misc/gotify-desktop/default.nix
index e34afda942415..dd0af48ec64f3 100644
--- a/pkgs/tools/misc/gotify-desktop/default.nix
+++ b/pkgs/tools/misc/gotify-desktop/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchFromGitHub, rustPlatform, openssl, pkg-config}:
+{ lib, fetchFromGitHub, rustPlatform, openssl, pkg-config, stdenv}:
 
 rustPlatform.buildRustPackage rec {
   pname = "gotify-desktop";
@@ -22,5 +22,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/desbma/gotify-desktop";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ bryanasdev000 genofire ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/tools/misc/graylog/default.nix b/pkgs/tools/misc/graylog/default.nix
index 1480f099f9f57..5db9e8f00fb20 100644
--- a/pkgs/tools/misc/graylog/default.nix
+++ b/pkgs/tools/misc/graylog/default.nix
@@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
     description = "Open source log management solution";
     homepage    = "https://www.graylog.org/";
     license     = licenses.gpl3;
-    platforms   = platforms.unix;
     maintainers = [ maintainers.fadenb ];
+    mainProgram = "graylogctl";
+    platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index d2b79c4d011cb..d4b4012cde093 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "12.1.0";
+  version = "12.2.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5sPw95lSbswIUbNIZ4mpA3WeZt7u+a5s4KxkTnN14Sw=";
+    sha256 = "sha256-Il3eF9bVrAaJkTDPB1DzEjROnJxIAnnk27qdT9qsp1k";
   };
 
-  cargoSha256 = "sha256-rPsiMeoc8cWUgmqAxdDGrAQdurIH3bzNq5tpocnnegA=";
+  cargoSha256 = "sha256-wRjPjCKsvqnJkybNVAdVMgBA9RaviFyCJPv3D5hipSs";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/kakoune-cr/default.nix b/pkgs/tools/misc/kakoune-cr/default.nix
index 78504c1fc79d2..3d71482d4ead9 100644
--- a/pkgs/tools/misc/kakoune-cr/default.nix
+++ b/pkgs/tools/misc/kakoune-cr/default.nix
@@ -1,4 +1,4 @@
-{ lib, crystal, fetchFromGitHub, fetchurl, jq }:
+{ lib, crystal, fetchFromGitHub, fetchurl, jq, bash }:
 let
   icon = fetchurl {
     url = "https://github.com/mawww/kakoune/raw/master/doc/kakoune_logo.svg";
@@ -16,6 +16,7 @@ crystal.buildCrystalPackage rec {
     hash = "sha256-xFrxbnZl/49vGKdkESPa6LpK0ckq4Jv5GNLL/G0qA1w=";
   };
 
+  buildInputs = [ bash ];
   propagatedUserEnvPkgs = [ jq ];
 
   format = "shards";
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index cfdce8e3c0bd2..985cc47213814 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -1,19 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "lazydocker";
-  version = "0.13";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "sha256-thUm33AdP9Huc2vcTRatC1ULHZd0edEQggEGTqOV3a0=";
+    sha256 = "sha256-qtGPsfZVu5ZuCusO5nYgxR/qHiwyhzMmBMLMDpKzKDA=";
   };
 
-  goPackagePath = "github.com/jesseduffield/lazydocker";
+  vendorSha256 = null;
 
-  subPackages = [ "." ];
+  postPatch = ''
+    rm -f pkg/config/app_config_test.go
+  '';
+
+  excludedPackages = [ "scripts" "test/printrandom" ];
+
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   meta = with lib; {
     description = "A simple terminal UI for both docker and docker-compose";
diff --git a/pkgs/tools/misc/lookatme/default.nix b/pkgs/tools/misc/lookatme/default.nix
deleted file mode 100644
index 7d2f7338ec24a..0000000000000
--- a/pkgs/tools/misc/lookatme/default.nix
+++ /dev/null
@@ -1,67 +0,0 @@
-{ 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-mock
-    pytestCheckHook
-    six
-  ];
-
-  disabledTests = [
-    # https://github.com/d0c-s4vage/lookatme/issues/126
-    "test_sanity_check_that_errors_are_detected"
-    "test_styles_defaults"
-  ];
-
-  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/pkgs/tools/misc/melody/default.nix b/pkgs/tools/misc/melody/default.nix
index a02994f33a07b..f483b699266d4 100644
--- a/pkgs/tools/misc/melody/default.nix
+++ b/pkgs/tools/misc/melody/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "melody";
-  version = "0.13.10";
+  version = "0.18.0";
 
   src = fetchCrate {
     pname = "melody_cli";
     inherit version;
-    sha256 = "05slrh5dqbpsvimdr0rlhj04kf1qzwij3zlardvbmvhvfccf4188";
+    sha256 = "1shd5m9sj9ybjzq26ipggfbc22lyzkdzq2kirgfvdk16m5r3jy2v";
   };
 
-  cargoSha256 = "0qh1byysbc6pl3cvx2vdpl8crx5id59hhrwqzk5g7091spm8wf79";
+  cargoSha256 = "0wz696zz7gm36dy3lxxwsiriqxk0nisdwybvknn9a38rvzd6jjbm";
 
   meta = with lib; {
     description = "Language that compiles to regular expressions";
diff --git a/pkgs/tools/misc/mmake/default.nix b/pkgs/tools/misc/mmake/default.nix
index 564e1989aee80..2172b8b958c63 100644
--- a/pkgs/tools/misc/mmake/default.nix
+++ b/pkgs/tools/misc/mmake/default.nix
@@ -1,19 +1,21 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mmake";
-  version = "1.2.0";
-
-  goPackagePath = "github.com/tj/mmake";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "tj";
     repo = "mmake";
     rev = "v${version}";
-    sha256 = "1pyqgk04v0f7a28cwq9c40bd2cgrkrv4wqcijdzpgn4bqhrqab4f";
+    sha256 = "sha256-JPsVfLIl06PJ8Nsfu7ogwrttB1G93HTKbZFqUTSV9O8=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-0z+sujzzBl/rtzXbhL4Os+jYfLUuO9PlXshUDxAH9DU=";
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
 
   meta = with lib; {
     homepage = "https://github.com/tj/mmake";
@@ -23,7 +25,7 @@ buildGoPackage rec {
       functionality,  such   as  user-friendly  help   output,  remote
       includes,  and   eventually  more.   It  otherwise  acts   as  a
       pass-through to standard make.
-      '';
+    '';
     license = licenses.mit;
     maintainers = [ maintainers.gabesoft ];
   };
diff --git a/pkgs/tools/misc/mmake/deps.nix b/pkgs/tools/misc/mmake/deps.nix
deleted file mode 100644
index 0721ad0af6088..0000000000000
--- a/pkgs/tools/misc/mmake/deps.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/apex/log";
-    fetch = {
-      type = "git";
-      url = "https://github.com/apex/log";
-      rev = "0296d6eb16bb28f8a0c55668affcf4876dc269be";
-      sha256 = "067px84y73h60bai1yy6xqf2l05gq6zsp64fn58d4fwzk04aa16v";
-    };
-  }
-  {
-    goPackagePath = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev = "c605e284fe17294bda444b34710735b29d1a9d90";
-      sha256 = "1izjk4msnc6wn1mclg0ypa6i31zfwb1r3032k8q4jfbd57hp0bz6";
-    };
-  }
-  {
-    goPackagePath = "github.com/segmentio/go-env";
-    fetch = {
-      type = "git";
-      url = "https://github.com/segmentio/go-env";
-      rev = "ea0600a7760cd15ccca9057be4a87d68e95ee876";
-      sha256 = "0rgclbi0na5042cirr52lriwyb5a2rdpqx211zfwyrrvc3zq4lwq";
-    };
-  }
-]
diff --git a/pkgs/tools/misc/mysql2pgsql/default.nix b/pkgs/tools/misc/mysql2pgsql/default.nix
index 680e373876838..d3e24c5598493 100644
--- a/pkgs/tools/misc/mysql2pgsql/default.nix
+++ b/pkgs/tools/misc/mysql2pgsql/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     description = "Convert MySQL dump files to PostgreSQL-loadable files";
     homepage = "https://pgfoundry.org/projects/mysql2pgsql/";
     license = lib.licenses.bsdOriginal;
+    mainProgram = "mysql2psql";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/nb/default.nix b/pkgs/tools/misc/nb/default.nix
new file mode 100644
index 0000000000000..422e315fc9a64
--- /dev/null
+++ b/pkgs/tools/misc/nb/default.nix
@@ -0,0 +1,67 @@
+{ stdenv, lib, fetchFromGitHub, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "nb";
+  version = "6.10.1";
+
+  src = fetchFromGitHub {
+    owner = "xwmx";
+    repo = "nb";
+    rev = version;
+    sha256 = "00c0k12yc2vqx0am1mhcjbn7fh3dab2zixslyh1smzcww275rk59";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin/
+    mv nb $out/bin/
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    installShellCompletion etc/nb-completion.{bash,zsh}
+  '';
+
+  meta = with lib; {
+    description = "A command line note-taking, bookmarking, archiving, and knowledge base application";
+    longDescription = ''
+      `nb` creates notes in text-based formats like Markdown, Emacs Org mode,
+      and LaTeX, can work with files in any format, can import and export notes
+      to many document formats, and can create private, password-protected
+      encrypted notes and bookmarks. With `nb`, you can write notes using Vim,
+      Emacs, VS Code, Sublime Text, and any other text editor you like. `nb`
+      works in any standard Linux / Unix environment, including macOS and
+      Windows via WSL. Optional dependencies can be installed to enhance
+      functionality, but `nb` works great without them.
+
+      `nb` is also a powerful text-based CLI bookmarking system. Page
+      information is automatically downloaded, compiled, and saved into normal
+      Markdown documents made for humans, so bookmarks are easy to edit just
+      like any other note.
+
+      `nb` uses Git in the background to automatically record changes and sync
+      notebooks with remote repositories. `nb` can also be configured to sync
+      notebooks using a general purpose syncing utility like Dropbox so notes
+      can be edited in other apps on any device.
+
+      `nb` is designed to be portable, future-focused, and vendor independent,
+      providing a full-featured and intuitive experience within a highly
+      composable user-centric text interface. The entire program is a single
+      well-tested shell script that can be installed, copied, or curled almost
+      anywhere and just work, using progressive enhancement for various
+      experience improvements in more capable environments. `nb` works great
+      whether you have one notebook with just a few notes or dozens of
+      notebooks containing thousands of notes, bookmarks, and other items. `nb`
+      makes it easy to incorporate other tools, writing apps, and workflows.
+      `nb` can be used a little, a lot, once in a while, or for just a subset
+      of features. `nb` is flexible.
+    '';
+    homepage = "https://xwmx.github.io/nb/";
+    license = licenses.agpl3Plus;
+    maintainers = [ maintainers.toonn ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/misc/nbench/default.nix b/pkgs/tools/misc/nbench/default.nix
index 16e67b848d65d..744ce314ec4e2 100644
--- a/pkgs/tools/misc/nbench/default.nix
+++ b/pkgs/tools/misc/nbench/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "-static" ""
   '';
 
+  buildInputs = lib.optionals stdenv.hostPlatform.isGnu [
+    stdenv.glibc.static
+  ];
+
   makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 77af8d5d788b3..64632986638d3 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -4,13 +4,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "neofetch";
-  version = "unstable-2020-11-26";
+  version = "unstable-2020-12-10";
 
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
-    rev = "6dd85d67fc0d4ede9248f2df31b2cd554cca6c2f";
-    sha256 = "sha256-PZjFF/K7bvPIjGVoGqaoR8pWE6Di/qJVKFNcIz7G8xE=";
+    rev = "ccd5d9f52609bbdcd5d8fa78c4fdb0f12954125f";
+    sha256 = "sha256-9MoX6ykqvd2iB0VrZCfhSyhtztMpBTukeKejfAWYW1w=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/ntfy-sh/default.nix b/pkgs/tools/misc/ntfy-sh/default.nix
index 17e26fc33d19c..68275f4c70141 100644
--- a/pkgs/tools/misc/ntfy-sh/default.nix
+++ b/pkgs/tools/misc/ntfy-sh/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ntfy-sh";
-  version = "1.21.2";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "binwiederhier";
     repo = "ntfy";
     rev = "v${version}";
-    sha256 = "sha256-bMVClVt+D+LSvlD0m82MHJc+dcUuqGKo6gxtSqFwkHM=";
+    sha256 = "sha256-30j62GaO5SXG78c6vMpLZ+ixy1zesjXoX3L9Et/7uhU=";
   };
 
   vendorSha256 = "sha256-Sx6l5GJ72A0SHEHyVtlte8Ed9fuJzZAkJzC0zpCbvK8=";
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index 384c448e1d933..e158f1c3f44a7 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -31,8 +31,6 @@ buildGoModule rec {
   ];
 
   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
@@ -44,7 +42,10 @@ buildGoModule rec {
       components that are only useful to a relatively small number of users and
       is multiple times larger as a result.
     '';
+    homepage = "https://github.com/open-telemetry/opentelemetry-collector-contrib";
+    changelog = "https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ uri-canva jk ];
+    mainProgram = "otelcontribcol";
   };
 }
diff --git a/pkgs/tools/misc/pandoc-eqnos/default.nix b/pkgs/tools/misc/pandoc-eqnos/default.nix
new file mode 100644
index 0000000000000..310826c35b068
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-eqnos/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonApplication
+, fetchFromGitHub
+, lib
+, pandoc-xnos
+}:
+
+buildPythonApplication rec {
+  pname = "pandoc-eqnos";
+  version = "2.5.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tomduck";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-7GQdfGHhtQs6LZK+ZyMmcPSkoFfBWmATTMejMiFcS7Y=";
+  };
+
+  propagatedBuildInputs = [ pandoc-xnos ];
+
+  # Different pandoc executables are not available
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Standalone pandoc filter from the pandoc-xnos suite for numbering equations and equation references";
+    homepage = "https://github.com/tomduck/pandoc-eqnos";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/tools/misc/pandoc-fignos/default.nix b/pkgs/tools/misc/pandoc-fignos/default.nix
new file mode 100644
index 0000000000000..846d1abe8d7f1
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-fignos/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonApplication
+, fetchFromGitHub
+, lib
+, pandoc-xnos
+}:
+
+buildPythonApplication rec {
+  pname = "pandoc-fignos";
+  version = "2.4.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tomduck";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-eDwAW0nLB4YqrWT3Ajt9bmX1A43wl+tOPm2St5VpCLk=";
+  };
+
+  propagatedBuildInputs = [ pandoc-xnos ];
+
+  # Different pandoc executables are not available
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Standalone pandoc filter from the pandoc-xnos suite for numbering figures and figure references";
+    homepage = "https://github.com/tomduck/pandoc-fignos";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/tools/misc/pandoc-secnos/default.nix b/pkgs/tools/misc/pandoc-secnos/default.nix
new file mode 100644
index 0000000000000..95c67dde0ec0d
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-secnos/default.nix
@@ -0,0 +1,34 @@
+{ buildPythonApplication
+, fetchFromGitHub
+, lib
+, pandoc-xnos
+}:
+
+buildPythonApplication rec {
+  pname = "pandoc-secnos";
+  version = "2.2.2";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tomduck";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-J9KLZvioYM3Pl2UXjrEgd4PuLTwCLYy9SsJIzgw5/jU=";
+  };
+
+  propagatedBuildInputs = [ pandoc-xnos ];
+
+  patches = [
+    ./patch/fix-manifest.patch
+  ];
+
+  # Different pandoc executables are not available
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Standalone pandoc filter from the pandoc-xnos suite for numbering sections and section references";
+    homepage = "https://github.com/tomduck/pandoc-secnos";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch b/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch
new file mode 100644
index 0000000000000..782e5b5e07c7c
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-secnos/patch/fix-manifest.patch
@@ -0,0 +1,39 @@
+From 165ee1f4c1208636254392335d34934dc50d273e Mon Sep 17 00:00:00 2001
+From: ppenguin <hieronymusv@gmail.com>
+Date: Tue, 15 Mar 2022 23:15:07 +0100
+Subject: [PATCH] fix setup.py to work in nixpkgs
+
+---
+ setup.py | 13 ++-----------
+ 1 file changed, 2 insertions(+), 11 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index d705846..d7345a2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -42,10 +42,10 @@
+ 
+     author='Thomas J. Duck',
+     author_email='tomduck@tomduck.ca',
+-    description='Equation number filter for pandoc',
++    description='Section number filter for pandoc',
+     long_description=DESCRIPTION,
+     license='GPL',
+-    keywords='pandoc equation numbers filter',
++    keywords='pandoc section numbers filter',
+     url='https://github.com/tomduck/pandoc-secnos',
+     download_url='https://github.com/tomduck/pandoc-secnos/tarball/' + \
+                  __version__,
+@@ -63,12 +63,3 @@
+         'Programming Language :: Python'
+         ]
+ )
+-
+-# Check that the pandoc-secnos script is on the PATH
+-if not shutil.which('pandoc-secnos'):
+-    msg = """
+-          ERROR: `pandoc-secnos` script not found. This will need to 
+-          be corrected.  If you need help, please file an Issue at
+-          https://github.com/tomduck/pandoc-secnos/issues.\n"""
+-    print(textwrap.dedent(msg))
+-    sys.exit(-1)
diff --git a/pkgs/tools/misc/pandoc-tablenos/default.nix b/pkgs/tools/misc/pandoc-tablenos/default.nix
new file mode 100644
index 0000000000000..f3d67826a454a
--- /dev/null
+++ b/pkgs/tools/misc/pandoc-tablenos/default.nix
@@ -0,0 +1,30 @@
+{ buildPythonApplication
+, fetchFromGitHub
+, lib
+, pandoc-xnos
+}:
+
+buildPythonApplication rec {
+  pname = "pandoc-tablenos";
+  version = "2.3.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "tomduck";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-FwzsRziY3PoySo9hIFuLw6tOO9oQij6oQEyoY8HgnII=";
+  };
+
+  propagatedBuildInputs = [ pandoc-xnos ];
+
+  # Different pandoc executables are not available
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Standalone pandoc filter from the pandoc-xnos suite for numbering tables and table references";
+    homepage = "https://github.com/tomduck/pandoc-tablenos";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ ppenguin ];
+  };
+}
diff --git a/pkgs/tools/misc/partition-manager/default.nix b/pkgs/tools/misc/partition-manager/default.nix
index 064590ef979b7..c1abe01be5659 100644
--- a/pkgs/tools/misc/partition-manager/default.nix
+++ b/pkgs/tools/misc/partition-manager/default.nix
@@ -1,6 +1,6 @@
 { mkDerivation, fetchurl, lib, makeWrapper
 , extra-cmake-modules, kdoctools, wrapGAppsHook, wrapQtAppsHook
-, kconfig, kcrash, kinit, kpmcore
+, kconfig, kcrash, kinit, kpmcore, polkit-qt
 , cryptsetup, lvm2, mdadm, smartmontools, systemdMinimal, util-linux
 , btrfs-progs, dosfstools, e2fsprogs, exfat, f2fs-tools, fatresize, hfsprogs
 , jfsutils, nilfs-utils, ntfs3g, reiser4progs, reiserfsprogs, udftools, xfsprogs, zfs
@@ -41,16 +41,16 @@ let
 in mkDerivation rec {
   pname = "partitionmanager";
   # NOTE: When changing this version, also change the version of `kpmcore`.
-  version = "4.2.0";
+  version = "22.04.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    hash = "sha256-6Qlt1c47Eek6TkWWBzTyBZYJ1jfhtwsC9X5q5h6IhPg=";
+    url = "mirror://kde/stable/release-service/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-eChn3OkdLHC9pedDBBwszTeTj2l7ky2W79INqvjrkBo=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook wrapQtAppsHook makeWrapper ];
 
-  propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ];
+  propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ];
 
   postFixup = ''
     wrapProgram $out/bin/partitionmanager \
diff --git a/pkgs/tools/misc/pcb2gcode/default.nix b/pkgs/tools/misc/pcb2gcode/default.nix
index 48fc7bc32b417..146233b2e029d 100644
--- a/pkgs/tools/misc/pcb2gcode/default.nix
+++ b/pkgs/tools/misc/pcb2gcode/default.nix
@@ -9,6 +9,7 @@
 , gerbv
 , librsvg
 , bash
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -22,6 +23,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-3VQlYtSi6yWWNuxTlBzvBtkM5hAss47xat+sEW+P79E=";
   };
 
+  patches = [
+    # the patch below is part of upstream mainline, we can remove this
+    # when they make their next release
+    (fetchpatch {
+      url = "https://github.com/pcb2gcode/pcb2gcode/commit/01cd18a6d859ab1aac6c532c99be9109f083448d.patch";
+      sha256 = "sha256-5hl8KsDxSWMzXS3oRG0fBfHFq0IpZ//sU8lfY9Yp8L0=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ boost glibmm gtkmm2 gerbv librsvg ];
diff --git a/pkgs/tools/misc/pferd/default.nix b/pkgs/tools/misc/pferd/default.nix
index 76df2a6882738..518547e183784 100644
--- a/pkgs/tools/misc/pferd/default.nix
+++ b/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.3.1";
+  version = "3.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "162s966kmpngmp0h55x185qxsy96q2kxz2dd8w0zyh0n2hbap3lh";
+    sha256 = "1nwrkc0z2zghy2nk9hfdrffg1k8anh3mn3hx31ql8xqwhv5ksh9g";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/pls/default.nix b/pkgs/tools/misc/pls/default.nix
new file mode 100644
index 0000000000000..c9cb7e98bc02e
--- /dev/null
+++ b/pkgs/tools/misc/pls/default.nix
@@ -0,0 +1,38 @@
+{ lib, python3, fetchFromGitHub }:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "pls";
+  version = "4.0.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "dhruvkb";
+    repo = "pls";
+    rev = version;
+    sha256 = "sha256-cVTIWSOx3FwF3QPak3eIIIgQ1O9JF5e5ILpcHQ4qI6k=";
+  };
+
+  nativeBuildInputs = [ python3.pkgs.poetry-core ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pyyaml
+    rich
+  ];
+
+  checkInputs = with python3.pkgs; [
+    freezegun
+    jsonschema
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "tests/" "--ignore=tests/e2e" ];
+
+  pythonImportsCheck = [ "pls" ];
+
+  meta = with lib; {
+    homepage = "https://dhruvkb.github.io/pls/";
+    description = "Prettier and powerful ls";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ arjan-s ];
+  };
+}
diff --git a/pkgs/tools/misc/pre-commit/default.nix b/pkgs/tools/misc/pre-commit/default.nix
index df211378f4b43..f85490736d9f3 100644
--- a/pkgs/tools/misc/pre-commit/default.nix
+++ b/pkgs/tools/misc/pre-commit/default.nix
@@ -13,7 +13,7 @@
 with python3Packages;
 buildPythonPackage rec {
   pname = "pre-commit";
-  version = "2.18.1";
+  version = "2.19.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = "pre-commit";
     rev = "v${version}";
-    sha256 = "sha256-d/ukUTjNgpqr6IeDJHDaOXQm0EdsX+vq0sVX7HG3gSE=";
+    sha256 = "sha256-5YV0FJhHiq/NJFKYvwddIWUQVxKJpnIJLLNmyY0NX4A=";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/qdl/default.nix b/pkgs/tools/misc/qdl/default.nix
index 79b9cec2ed5c7..e00b4f352e8f2 100644
--- a/pkgs/tools/misc/qdl/default.nix
+++ b/pkgs/tools/misc/qdl/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     homepage    = "https://github.com/andersson/qdl";
     description = "Tool for flashing images to Qualcomm devices";
     license     = licenses.bsd3;
-    maintainers = with maintainers; [ musfay ];
+    maintainers = with maintainers; [ muscaln ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/misc/qflipper/default.nix b/pkgs/tools/misc/qflipper/default.nix
index 7f2a3d150226c..1db9dc2e2103d 100644
--- a/pkgs/tools/misc/qflipper/default.nix
+++ b/pkgs/tools/misc/qflipper/default.nix
@@ -19,12 +19,14 @@
 , qtquickcontrols2
 , qtgraphicaleffects
 , qtwayland
+, nix-update-script
 }:
 let
-  version = "1.0.1";
+  pname = "qFlipper";
+  version = "1.0.2";
+  sha256 = "sha256-CJQOEUwYPNd4x+uBINrxeYVITtYrsEFaYLHQh2l12kA=";
   timestamp = "99999999999";
   commit = "nix-${version}";
-  hash = "sha256-vHBlrtQ06kjjXXGL/jSdpAPHgqb7Vn1c6jXZVXwxHPQ=";
 
   udev_rules = ''
     #Flipper Zero serial port
@@ -35,15 +37,14 @@ let
 
 in
 mkDerivation {
-  pname = "qFlipper";
-  inherit version;
+  inherit pname version;
 
   src = fetchFromGitHub {
     owner = "flipperdevices";
     repo = "qFlipper";
     rev = version;
-    inherit hash;
     fetchSubmodules = true;
+    inherit sha256;
   };
 
   nativeBuildInputs = [
@@ -96,6 +97,10 @@ mkDerivation {
     EOF
   '';
 
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
+  };
+
   meta = with lib; {
     description = "Cross-platform desktop tool to manage your flipper device";
     homepage = "https://flipperzero.one/";
diff --git a/pkgs/tools/misc/recutils/default.nix b/pkgs/tools/misc/recutils/default.nix
index 1501f8edda1fe..0299cf3821815 100644
--- a/pkgs/tools/misc/recutils/default.nix
+++ b/pkgs/tools/misc/recutils/default.nix
@@ -8,23 +8,24 @@
 
 stdenv.mkDerivation rec {
   pname = "recutils";
-  version = "1.8";
+  version = "1.9";
 
   src = fetchurl {
     url = "mirror://gnu/recutils/${pname}-${version}.tar.gz";
-    hash = "sha256-346uaVk/26U+Jky/SyMH37ghIMCbb6sj4trVGomlsZM=";
+    hash = "sha256-YwFZKwAgwUtFZ1fvXUNNSfYCe45fOkmdEzYvIFxIbg4=";
   };
 
-  hardeningDisable = [ "format" ];
+  hardeningDisable = lib.optional stdenv.cc.isClang "format";
 
   buildInputs = [
     curl
   ];
 
   checkInputs = [
-    check
     bc
+    check
   ];
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/rust-motd/default.nix b/pkgs/tools/misc/rust-motd/default.nix
index cdc3dbdae1016..bfd4db8ff8829 100644
--- a/pkgs/tools/misc/rust-motd/default.nix
+++ b/pkgs/tools/misc/rust-motd/default.nix
@@ -9,21 +9,23 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-motd";
-  version = "0.1.1";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "rust-motd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xhdbhl0riaq9n4g9n333pgw966bsi60zpcy7gpndzfj21bj2x1m";
+    sha256 = "sha256-iuADR7m+wdmsQ897o4CQHqDv9PmYu/vJgO5C6Dluao4=";
   };
 
-  cargoSha256 = "sha256-l9Sit+niCLOnL1mdK6i8jea8NWsJlFM6p9lMTXyWOKY=";
+  cargoSha256 = "sha256-kdSMcADoTpMU4w2XSv0pPQZC155rrQACQ4XTVyj7eeA=";
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [ openssl ] ++ lib.optional stdenv.isDarwin Security;
 
+  OPENSSL_NO_VENDOR = 1;
+
   meta = with lib; {
     description = "Beautiful, useful MOTD generation with zero runtime dependencies";
     homepage = "https://github.com/rust-motd/rust-motd";
diff --git a/pkgs/tools/misc/snapper/default.nix b/pkgs/tools/misc/snapper/default.nix
index e14d3732d76c9..1df8492a8e2e6 100644
--- a/pkgs/tools/misc/snapper/default.nix
+++ b/pkgs/tools/misc/snapper/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "snapper";
-  version = "0.10.0";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "openSUSE";
     repo = "snapper";
     rev = "v${version}";
-    sha256 = "sha256-02ufjPuXK3a+gQ8kp968KXd3Jgvx4O6TO2Q5wL5n2cw=";
+    sha256 = "0x9anracaa19yqkc0x8wangrkdrx01kdy07c55lvlqrjyimfm4ih";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/umlet/default.nix b/pkgs/tools/misc/umlet/default.nix
index d88e0bdea15e1..aca04546fd2aa 100644
--- a/pkgs/tools/misc/umlet/default.nix
+++ b/pkgs/tools/misc/umlet/default.nix
@@ -1,14 +1,16 @@
 { lib, stdenv, fetchurl, jre, unzip, runtimeShell }:
 
-stdenv.mkDerivation rec {
-  major = "14";
-  minor = "3";
-  version = "${major}.${minor}.0";
+let
+  major = "15";
+  minor = "0";
+  patch = "0";
+in stdenv.mkDerivation rec {
   pname = "umlet";
+  version = "${major}.${minor}.${patch}";
 
   src = fetchurl {
-    url = "http://www.umlet.com/umlet_${major}_${minor}/umlet-standalone-${version}.zip";
-    sha256 = "0jfyxjxsjx29xhs3fl0f574nyncmk9j5jp8zlgd401mcaznn9c7l";
+    url = "https://www.umlet.com/umlet_${major}_${minor}/umlet-standalone-${version}.zip";
+    sha256 = "sha256-gdvhqYGyrFuQhhrkF26wXb3TQLRCLm59/uSxTPmHdAE=";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -43,7 +45,7 @@ stdenv.mkDerivation rec {
       UMLet runs stand-alone or as Eclipse plug-in on Windows, macOS and
       Linux.
     '';
-    homepage = "http://www.umlet.com";
+    homepage = "https://www.umlet.com";
     license = licenses.gpl3;
     maintainers = with maintainers; [ oxzi ];
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
index 29775881378dd..fe4ac3599a76a 100644
--- a/pkgs/tools/misc/upterm/default.nix
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -1,18 +1,19 @@
 { lib
-, buildGoModule
+, buildGo118Module
 , fetchFromGitHub
 , installShellFiles
+, nixosTests
 }:
 
-buildGoModule rec {
+buildGo118Module rec {
   pname = "upterm";
-  version = "0.7.3";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "owenthereal";
     repo = "upterm";
     rev = "v${version}";
-    hash = "sha256-eEzFqKYhsG5e1DVLWJq08NM9xyfn1yPNV0NIgOErj4E=";
+    hash = "sha256-JcUFsj7+Hu++izyxozttyxTGW51vBfgNSvAa/AIrsvs=";
   };
 
   vendorSha256 = null;
@@ -29,6 +30,8 @@ buildGoModule rec {
 
   doCheck = true;
 
+  passthru.tests = { inherit (nixosTests) uptermd; };
+
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/usbimager/default.nix b/pkgs/tools/misc/usbimager/default.nix
new file mode 100644
index 0000000000000..1aac4c5c80242
--- /dev/null
+++ b/pkgs/tools/misc/usbimager/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchFromGitLab, pkg-config
+, withLibui ? true, gtk3
+, withUdisks ? stdenv.isLinux, udisks, glib
+, libX11 }:
+
+stdenv.mkDerivation rec {
+  pname = "usbimager";
+  version = "1.0.8";
+
+  src = fetchFromGitLab {
+    owner = "bztsrc";
+    repo = pname;
+    rev = version;
+    sha256 = "1j0g1anmdwc3pap3m4kfzqjfkn7q0vpmqniii2kcz7svs5h3ybga";
+  };
+
+  sourceRoot = "source/src/";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = lib.optionals withUdisks [ udisks glib ]
+    ++ lib.optional (!withLibui) libX11
+    ++ lib.optional withLibui gtk3;
+    # libui is bundled with the source of usbimager as a compiled static libary
+
+  postPatch = ''
+    sed -i \
+      -e 's|install -m 2755 -g disk|install |g' \
+      -e 's|-I/usr/include/gio-unix-2.0|-I${glib.dev}/include/gio-unix-2.0|g' \
+      -e 's|install -m 2755 -g $(GRP)|install |g' Makefile
+  '';
+
+  dontConfigure = true;
+
+  makeFlags =  [ "PREFIX=$(out)" ]
+    ++ lib.optional withLibui "USE_LIBUI=yes"
+    ++ lib.optional withUdisks "USE_UDISKS2=yes";
+
+  meta = with lib; {
+    description = "A very minimal GUI app that can write compressed disk images to USB drives";
+    homepage = "https://gitlab.com/bztsrc/usbimager";
+    license = licenses.mit;
+    maintainers = with maintainers; [ vdot0x23 ];
+    # windows and darwin could work, but untested
+    # feel free add them if you have a machine to test
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index ec9958ec54587..3375f4507bd25 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -30,7 +30,7 @@
 
 let
   pname = "vector";
-  version = "0.21.1";
+  version = "0.21.2";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -39,10 +39,10 @@ rustPlatform.buildRustPackage {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eskm+H0D+SB3PB76T6Z+iL5jjyy51lOXy88QXsn/Azs=";
+    sha256 = "sha256-2iMD3QpVm1YmiEH17PdjgiNoD2Gt9BRJ5soMDB//b3Y=";
   };
 
-  cargoSha256 = "sha256-fN6o8Fcqdhs5c3RID+ok1Xo5g6nF9m3f8EWIJ47dn/k=";
+  cargoSha256 = "sha256-OkK0COSHdZ6fHWUrZ90ltuFSCtVZ14QZiIWVwkHOvq8=";
   nativeBuildInputs = [ pkg-config cmake perl ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage {
   buildFeatures = features;
 
   # TODO investigate compilation failure for tests
-  # there are about 100 tests failing (out of 1100) for version 0.21.1
+  # there are about 100 tests failing (out of 1100) for version 0.21.2
   doCheck = false;
 
   checkFlags = [
diff --git a/pkgs/tools/misc/vial/default.nix b/pkgs/tools/misc/vial/default.nix
index 2fc816e1ab313..81979c0903f52 100644
--- a/pkgs/tools/misc/vial/default.nix
+++ b/pkgs/tools/misc/vial/default.nix
@@ -1,12 +1,12 @@
 { lib, fetchurl, appimageTools }:
 let
   name = "vial-${version}";
-  version = "0.5";
+  version = "0.5.2";
   pname = "Vial";
 
   src = fetchurl {
     url = "https://github.com/vial-kb/vial-gui/releases/download/v${version}/${pname}-v${version}-x86_64.AppImage";
-    sha256 = "sha256-11IA8WeDFnukm6kskjA6Qu4+rPoLTBjz6NIixAIOH5U=";
+    sha256 = "sha256-wKgkEn2BoJfk3kMXOAKlFvXgCcnwHlgu2VgwL2QM06Q=";
   };
 
   appimageContents = appimageTools.extractType2 { inherit name src; };
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index de746f39b4779..26a80c6a65913 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
       to install the wakatime CLI interface manually.
     '';
     license = licenses.bsd3;
+    mainProgram = "wakatime-cli";
   };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 79d3ab7b63883..faf4b558ad643 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, fetchpatch, buildPythonPackage
-, zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
+, zip, ffmpeg, rtmpdump, atomicparsley, pycryptodome, pandoc
 # Pandoc is required to build the package's man page. Release tarballs contain a
 # formatted man page already, though, it will still be installed. We keep the
 # manpage argument in place in case someone wants to use this derivation to
@@ -8,7 +8,6 @@
 , generateManPage ? false
 , ffmpegSupport ? true
 , rtmpSupport ? true
-, phantomjsSupport ? false
 , hlsEncryptedSupport ? true
 , installShellFiles, makeWrapper }:
 
@@ -52,8 +51,7 @@ buildPythonPackage rec {
       packagesToBinPath =
         [ atomicparsley ]
         ++ lib.optional ffmpegSupport ffmpeg
-        ++ lib.optional rtmpSupport rtmpdump
-        ++ lib.optional phantomjsSupport phantomjs2;
+        ++ lib.optional rtmpSupport rtmpdump;
     in [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
   setupPyBuildFlags = [
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index 1a87a31e3385b..d67678f6ee559 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -5,7 +5,6 @@
 , certifi
 , ffmpeg
 , rtmpdump
-, phantomjs2
 , atomicparsley
 , pycryptodomex
 , websockets
@@ -13,7 +12,6 @@
 , atomicparsleySupport ? true
 , ffmpegSupport ? true
 , rtmpSupport ? true
-, phantomjsSupport ? false
 , withAlias ? false # Provides bin/youtube-dl for backcompat
 }:
 
@@ -41,8 +39,7 @@ buildPythonPackage rec {
       packagesToBinPath = []
         ++ lib.optional atomicparsleySupport atomicparsley
         ++ lib.optional ffmpegSupport ffmpeg
-        ++ lib.optional rtmpSupport rtmpdump
-        ++ lib.optional phantomjsSupport phantomjs2;
+        ++ lib.optional rtmpSupport rtmpdump;
     in lib.optionalString (packagesToBinPath != [])
     [ ''--prefix PATH : "${lib.makeBinPath packagesToBinPath}"'' ];
 
diff --git a/pkgs/tools/misc/zsh-autoenv/default.nix b/pkgs/tools/misc/zsh-autoenv/default.nix
index 51cfda5e0aa13..d16410c315385 100644
--- a/pkgs/tools/misc/zsh-autoenv/default.nix
+++ b/pkgs/tools/misc/zsh-autoenv/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation {
       variables (overwriting and restoring).
     '';
     homepage = "https://github.com/Tarrasch/zsh-autoenv";
+    mainProgram = "zsh-autoenv-share";
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
index 412b3e0349c0d..ec0ca52535402 100644
--- a/pkgs/tools/networking/aardvark-dns/default.nix
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "aardvark-dns";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-d4YSCVZkNung4frgAeP46E9Ptpnu9y0HwmPRADo4t0U=";
+    sha256 = "sha256-m2uKTVRonnun+/V69RcPWkkRtDcoaiulMCQz0/CAdCw=";
   };
 
-  cargoHash = "sha256-fu7ZopS55IzzeO7uzLx1wVHQ8A1Ff+9f7FagoZPerxk=";
+  cargoHash = "sha256-Z/OZgWlpwcdqns26ojTLPQBVNrwU/i86tZVx19sRUTw=";
 
   meta = with lib; {
     description = "Authoritative dns server for A/AAAA container records";
diff --git a/pkgs/tools/networking/aircrack-ng/default.nix b/pkgs/tools/networking/aircrack-ng/default.nix
index f836fdf052f9b..b4cab28e3ebdf 100644
--- a/pkgs/tools/networking/aircrack-ng/default.nix
+++ b/pkgs/tools/networking/aircrack-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "aircrack-ng";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "https://download.aircrack-ng.org/aircrack-ng-${version}.tar.gz";
-    sha256 = "0ix2k64qg7x3w0bzdsbk1m50kcpq1ws59g3zkwiafvpwdr4gs2sg";
+    sha256 = "1hsq1gwmafka4bahs6rc8p98yi542h9a502h64bjlygpr3ih99q5";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ];
diff --git a/pkgs/tools/networking/brook/default.nix b/pkgs/tools/networking/brook/default.nix
index df383409f4d2d..51ace3ac9a0bf 100644
--- a/pkgs/tools/networking/brook/default.nix
+++ b/pkgs/tools/networking/brook/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "brook";
-  version = "20220406";
+  version = "20220501";
 
   src = fetchFromGitHub {
     owner = "txthinking";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KCDXi86Wi01wEIJXPYYX5HkQMq7nKK2VhsN1x5yOvlk=";
+    sha256 = "sha256-JAlSqwhWsF8PTAyn2W1BCDO50eSBq7ukwl0dzzmK1zU=";
   };
 
   vendorSha256 = "sha256-ic5QYRVElEuH4D29PXgTzMHU0KjrxDqcdfg7Kd37/YU=";
diff --git a/pkgs/tools/networking/cadaver/default.nix b/pkgs/tools/networking/cadaver/default.nix
index 7ded22f010329..e8c57e529cf32 100644
--- a/pkgs/tools/networking/cadaver/default.nix
+++ b/pkgs/tools/networking/cadaver/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, neon, pkg-config, readline, zlib}:
+{ lib, stdenv, fetchurl, fetchpatch, neon, pkg-config, readline, zlib, openssl }:
 
 stdenv.mkDerivation rec {
   pname = "cadaver";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-ssl" "--with-readline" ];
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ neon readline zlib ];
+  buildInputs = [ neon readline zlib openssl ];
 
   meta = with lib; {
     description = "A command-line WebDAV client";
diff --git a/pkgs/tools/networking/cmst/default.nix b/pkgs/tools/networking/cmst/default.nix
index 2f757edbdb187..1447569020c9e 100644
--- a/pkgs/tools/networking/cmst/default.nix
+++ b/pkgs/tools/networking/cmst/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools }:
+{ mkDerivation, lib, fetchFromGitHub, qmake, qtbase, qttools, gitUpdater }:
 
 mkDerivation rec {
   pname = "cmst";
-  version = "2022.03.13";
+  version = "2022.05.01";
 
   src = fetchFromGitHub {
     repo = "cmst";
     owner = "andrew-bibb";
     rev = "${pname}-${version}";
-    sha256 = "sha256-PIS77yYM7tR+0vpTDh9Li/dnaWHUQW+w1NLRb5g+sz8=";
+    sha256 = "sha256-d3uvJf1tI9vXyq1eIbHkKrinBuPkYoBUcusHsJmSqMA=";
   };
 
   nativeBuildInputs = [ qmake qttools ];
@@ -21,6 +21,11 @@ mkDerivation rec {
     done
   '';
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    rev-prefix = "${pname}-";
+  };
+
   meta = with lib; {
     description = "QT GUI for Connman with system tray icon";
     homepage = "https://github.com/andrew-bibb/cmst";
diff --git a/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch b/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch
deleted file mode 100644
index 5d84f51249955..0000000000000
--- a/pkgs/tools/networking/curl/7.82.0-openssl-fix-CN-check.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 911714d617c106ed5d553bf003e34ec94ab6a136 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel@haxx.se>
-Date: Tue, 8 Mar 2022 13:38:13 +0100
-Subject: [PATCH] openssl: fix CN check error code
-
-Due to a missing 'else' this returns error too easily.
-
-Regressed in: d15692ebb
-
-Reported-by: Kristoffer Gleditsch
-Fixes #8559
-Closes #8560
----
- lib/vtls/openssl.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
-index 0b79fc50a9c5..4618beeb3867 100644
---- a/lib/vtls/openssl.c
-+++ b/lib/vtls/openssl.c
-@@ -1817,7 +1817,8 @@ CURLcode Curl_ossl_verifyhost(struct Curl_easy *data, struct connectdata *conn,
-               memcpy(peer_CN, ASN1_STRING_get0_data(tmp), peerlen);
-               peer_CN[peerlen] = '\0';
-             }
--            result = CURLE_OUT_OF_MEMORY;
-+            else
-+              result = CURLE_OUT_OF_MEMORY;
-           }
-         }
-         else /* not a UTF8 name */
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index a4056fd28a92c..02ae74bd63330 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -24,6 +24,14 @@
 , wolfsslSupport ? false, wolfssl ? null
 , zlibSupport ? true, zlib ? null
 , zstdSupport ? false, zstd ? null
+
+# for passthru.tests
+, coeurl
+, curlpp
+, haskellPackages
+, ocamlPackages
+, phpExtensions
+, python3
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -54,19 +62,18 @@ assert zstdSupport -> zstd != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.82.0";
+  version = "7.83.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 = "sha256-RtmgQAozQI/ZkncLBKRKdDSzA28ugImsKLV1c9WdNx8=";
+    sha256 = "sha256-JHx+x1IcQljmVjTlKScNIU/jKWmXHMy3KEXnqkaDH5Y=";
   };
 
   patches = [
     ./7.79.1-darwin-no-systemconfiguration.patch
-    ./7.82.0-openssl-fix-CN-check.patch
   ];
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -159,6 +166,13 @@ stdenv.mkDerivation rec {
 
   passthru = {
     inherit opensslSupport openssl;
+    tests = {
+      inherit curlpp coeurl;
+      haskell-curl = haskellPackages.curl;
+      ocaml-curly = ocamlPackages.curly;
+      php-curl = phpExtensions.curl;
+      pycurl = python3.pkgs.pycurl;
+    };
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/darkstat/default.nix b/pkgs/tools/networking/darkstat/default.nix
index 04cab36557876..2da581776d29a 100644
--- a/pkgs/tools/networking/darkstat/default.nix
+++ b/pkgs/tools/networking/darkstat/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libpcap, zlib }:
+{ lib, stdenv, fetchpatch, fetchurl, libpcap, zlib }:
 
 stdenv.mkDerivation rec {
   version = "3.0.719";
@@ -9,6 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "1mzddlim6dhd7jhr4smh0n2fa511nvyjhlx76b03vx7phnar1bxf";
   };
 
+  patches = [
+    # Avoid multiple definitions of CLOCK_REALTIME on macOS 11,
+    # see https://github.com/emikulic/darkstat/pull/2
+    (fetchpatch {
+       url = "https://github.com/emikulic/darkstat/commit/d2fd232e1167dee6e7a2d88b9ab7acf2a129f697.diff";
+       sha256 = "0z5mpyc0q65qb6cn4xcrxl0vx21d8ibzaam5kjyrcw4icd8yg4jb";
+    })
+  ];
+
   buildInputs = [ libpcap zlib ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
index dc508ff53efee..82122b150664d 100644
--- a/pkgs/tools/networking/getmail6/default.nix
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.18.6";
+  version = "6.18.9";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja";
+    hash = "sha256-qzlURYdE7nv+/wxK3B6WddmhW6xiLS7em3X5O5+CBbI=";
   };
 
   # needs a Docker setup
@@ -28,6 +28,7 @@ python3.pkgs.buildPythonApplication rec {
   meta = with lib; {
     description = "A program for retrieving mail";
     homepage = "https://getmail6.org";
+    changelog = "https://github.com/getmail6/getmail6/blob/${src.rev}/docs/CHANGELOG";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbe dotlambda ];
   };
diff --git a/pkgs/tools/networking/godns/default.nix b/pkgs/tools/networking/godns/default.nix
index 27ff7a2597784..1e86d1c2ed086 100644
--- a/pkgs/tools/networking/godns/default.nix
+++ b/pkgs/tools/networking/godns/default.nix
@@ -1,14 +1,14 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, nix-update-script }:
 
 buildGoModule rec {
   pname = "godns";
-  version = "2.7.6";
+  version = "2.7.7";
 
   src = fetchFromGitHub {
     owner = "TimothyYe";
     repo = "godns";
     rev = "v${version}";
-    sha256 = "sha256-w0hHl7QOpIOINRbCrocZM68b44h+IwkHmXTDnVfT0o0=";
+    sha256 = "sha256-55A1dxVRIngfS43V+iM1RX2U6eQyPsIAHgyxKGO4yrY=";
   };
 
   vendorSha256 = "sha256-vhByl9oJjFIvOskAgLubZ5RCcitKd2jjxi8D9nU6850=";
@@ -18,6 +18,8 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
 
+  passthru.updateScript = nix-update-script { attrPath = pname; };
+
   meta = with lib; {
     description = "A dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc";
     homepage = "https://github.com/TimothyYe/godns";
diff --git a/pkgs/tools/networking/httpie/strip-venv.patch b/pkgs/tools/networking/httpie/strip-venv.patch
deleted file mode 100644
index 9cfddbfdf78f4..0000000000000
--- a/pkgs/tools/networking/httpie/strip-venv.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tests/test_docs.py b/tests/test_docs.py
-index 340e64d..a6b4dc9 100644
---- a/tests/test_docs.py
-+++ b/tests/test_docs.py
-@@ -42,15 +42,10 @@ assert filenames
- # HACK: hardcoded paths, venv should be irrelevant, etc.
- # TODO: simplify by using the Python API instead of a subprocess
- #       then we wont’t need the paths.
--VENV_BIN = Path(__file__).parent.parent / 'venv/bin'
--VENV_PYTHON = VENV_BIN / 'python'
--VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py'
-+VENV_PYTHON = 'python'
-+VENV_RST2PSEUDOXML = 'rst2pseudoxml.py'
- 
- 
--@pytest.mark.skipif(
--    not VENV_RST2PSEUDOXML.exists(),
--    reason='docutils not installed',
--)
- @pytest.mark.parametrize('filename', filenames)
- def test_rst_file_syntax(filename):
-     p = subprocess.Popen(
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index b0a689db7bfaf..9ca4dfa27b3b3 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2022-03-17T20-25-06Z";
+  version = "2022-05-09T04-08-26Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-+MfRosEyIaQ5RndpAeK5AXm8EHX2ND7VJcr1NVFs5TI=";
+    sha256 = "sha256-a7zpvumsMijMmJthg4EZgOUymDC4GrbDjAwN4sXxE6g=";
   };
 
-  vendorSha256 = "sha256-Wdw9mZ3UupoJ4yDwS4f3mOmCn+7TvHmx4aRu+96pHM4=";
+  vendorSha256 = "sha256-OkcQxTDKhuFCjNs5TNBBMde+M6vCfPSR5IuVbCaqWJg=";
 
   subPackages = [ "." ];
 
@@ -26,6 +26,8 @@ buildGoModule rec {
     $out/bin/mc --version | grep ${version} > /dev/null
   '';
 
+  passthru.tests.minio = nixosTests.minio;
+
   meta = with lib; {
     homepage = "https://github.com/minio/mc";
     description = "A replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage";
diff --git a/pkgs/tools/networking/mozillavpn/default.nix b/pkgs/tools/networking/mozillavpn/default.nix
index ab03c61a164c3..8fe6e6169fd63 100644
--- a/pkgs/tools/networking/mozillavpn/default.nix
+++ b/pkgs/tools/networking/mozillavpn/default.nix
@@ -118,7 +118,11 @@ stdenv.mkDerivation {
     python3 scripts/utils/import_languages.py --qt_path '${lib.getDev qttools}/bin'
   '';
 
-  qmakeFlags = [ "USRPATH=$(out)" "ETCPATH=$(out)/etc" ];
+  qmakeFlags = [
+    "USRPATH=$(out)"
+    "ETCPATH=$(out)/etc"
+    "CONFIG-=debug" # https://github.com/mozilla-mobile/mozilla-vpn-client/pull/3539
+  ];
   qtWrapperArgs =
     [ "--prefix" "PATH" ":" (lib.makeBinPath [ wireguard-tools ]) ];
 
diff --git a/pkgs/tools/networking/netavark/default.nix b/pkgs/tools/networking/netavark/default.nix
index 3116644eb68bd..fba769d2a5549 100644
--- a/pkgs/tools/networking/netavark/default.nix
+++ b/pkgs/tools/networking/netavark/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "netavark";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2ElEhKit/XysRsUw+dg7SnhDl+Zf+FJb5pIYpq1ALNs=";
+    sha256 = "sha256-M0jsCwle57YM0RO1hGMju5+8XvHPWc8tJqKWJL/sFsg=";
   };
 
-  cargoHash = "sha256-w3qz4ygjIvn+Rxd1JEVO6Ax08leuuJvC4Bk7VygbBh4=";
+  cargoHash = "sha256-zTgHjDZdsseUpB5Xqn9yE5T6Tgqx22pQKQLlUtZq+lc=";
 
   nativeBuildInputs = [ installShellFiles mandown ];
 
diff --git a/pkgs/tools/networking/netcat-openbsd/default.nix b/pkgs/tools/networking/netcat-openbsd/default.nix
new file mode 100644
index 0000000000000..67d458dad1bdd
--- /dev/null
+++ b/pkgs/tools/networking/netcat-openbsd/default.nix
@@ -0,0 +1,54 @@
+{ lib, stdenv, fetchFromGitLab, pkg-config, libbsd, installShellFiles }:
+
+stdenv.mkDerivation rec {
+  pname = "netcat-openbsd";
+  version = "1.218-5";
+
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "debian";
+    repo = "netcat-openbsd";
+    rev = "refs/tags/debian/${version}";
+    sha256 = "sha256-jEJ8x49Z1UN2qOChGp173aQuPkgl2fWwUUJgUdOv60I=";
+  };
+
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+  buildInputs = [ libbsd ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${lib.getDev libbsd}/include/libbsd"
+  ];
+
+  NIX_LDFLAGS = [ "-lbsd" ];
+
+  postPatch = ''
+    for file in $(cat debian/patches/series); do
+      patch -p1 < debian/patches/$file
+    done
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    mv nc $out/bin/nc
+    installManPage nc.1
+
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/nc -h 2> /dev/null
+  '';
+
+  meta = with lib; {
+    description = "TCP/IP swiss army knife. OpenBSD variant";
+    homepage = "https://salsa.debian.org/debian/netcat-openbsd";
+    maintainers = with maintainers; [ artturin ];
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    mainProgram = "nc";
+  };
+}
diff --git a/pkgs/tools/networking/networkmanager/sstp/default.nix b/pkgs/tools/networking/networkmanager/sstp/default.nix
index 8b75db6495f70..93fd87b005b58 100644
--- a/pkgs/tools/networking/networkmanager/sstp/default.nix
+++ b/pkgs/tools/networking/networkmanager/sstp/default.nix
@@ -1,51 +1,59 @@
-{ lib, stdenv
-, autoreconfHook
-, fetchFromGitHub
-, fetchpatch
+{ stdenv
+, lib
+, fetchurl
 , file
 , glib
 , gnome
 , gtk3
+, gtk4
 , intltool
 , libnma
+, libnma-gtk4
 , libsecret
 , networkmanager
 , pkg-config
 , ppp
 , sstp
-, substituteAll
-, withGnome ? true }:
+, withGnome ? true
+}:
 
-let
+stdenv.mkDerivation rec {
   pname = "NetworkManager-sstp";
-  version = "unstable-2020-04-20";
-in stdenv.mkDerivation {
+  version = "1.3.0";
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "enaess";
-    repo = "network-manager-sstp";
-    rev = "735d8ca078f933e085029f60a737e3cf1d8c29a8";
-    sha256 = "0aahfhy2ch951kzj6gnd8p8hv2s5yd5y10wrmj68djhnx2ml8cd3";
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "+IJw3jvOYs/+NDS9HvCrSQ6wxh1x1yqwiFij7UZb+rU=";
   };
 
-  buildInputs = [ sstp networkmanager glib ppp ]
-    ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
+  nativeBuildInputs = [
+    file
+    intltool
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ file intltool autoreconfHook pkg-config ];
+  buildInputs = [
+    sstp
+    networkmanager
+    glib
+    ppp
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gtk4
+    libsecret
+    libnma
+    libnma-gtk4
+  ];
 
   postPatch = ''
     sed -i 's#/sbin/pppd#${ppp}/bin/pppd#' src/nm-sstp-service.c
     sed -i 's#/sbin/sstpc#${sstp}/bin/sstpc#' src/nm-sstp-service.c
   '';
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
-
-  preConfigure = "intltoolize";
   configureFlags = [
-    "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--enable-absolute-paths"
   ];
 
diff --git a/pkgs/tools/networking/obfs4/default.nix b/pkgs/tools/networking/obfs4/default.nix
index 64e601c375c6a..d279f06173753 100644
--- a/pkgs/tools/networking/obfs4/default.nix
+++ b/pkgs/tools/networking/obfs4/default.nix
@@ -16,5 +16,6 @@ buildGoModule rec {
     description = "A pluggable transport proxy";
     homepage = "https://www.torproject.org/projects/obfsproxy";
     maintainers = with maintainers; [ thoughtpolice ];
+    mainProgram = "obfs4proxy";
   };
 }
diff --git a/pkgs/tools/networking/ooniprobe-cli/default.nix b/pkgs/tools/networking/ooniprobe-cli/default.nix
index b6feafb4a0039..01c5b63767655 100644
--- a/pkgs/tools/networking/ooniprobe-cli/default.nix
+++ b/pkgs/tools/networking/ooniprobe-cli/default.nix
@@ -23,5 +23,6 @@ buildGoModule rec {
     homepage = "https://ooni.org/install/cli";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
+    mainProgram = "ooniprobe";
   };
 }
diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
index b0f4cd1f788a4..938bfa1dcd610 100644
--- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
+++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix
@@ -60,7 +60,8 @@ python3Packages.buildPythonApplication rec {
     html5lib magic-wormhole netifaces pyasn1 pycrypto pyutil pyyaml recommonmark
     service-identity simplejson sphinx_rtd_theme testtools treq twisted zfec
     zope_interface
-  ];
+  ] ++ twisted.extras-require.tls
+    ++ twisted.extras-require.conch;
 
   checkInputs = with python3Packages; [ mock hypothesis twisted ];
 
diff --git a/pkgs/tools/networking/pssh/default.nix b/pkgs/tools/networking/pssh/default.nix
index 1d7d006f537a3..69236a690968f 100644
--- a/pkgs/tools/networking/pssh/default.nix
+++ b/pkgs/tools/networking/pssh/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitHub, python2Packages, openssh, rsync }:
+{ lib, fetchFromGitHub, python3Packages, openssh, rsync }:
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "pssh";
-  version = "2.3.1";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "lilydjwg";
     repo = "pssh";
     rev = "v${version}";
-    sha256 = "0nawarxczfwajclnlsimhqkpzyqb1byvz9nsl54mi1bp80z5i4jq";
+    hash = "sha256-B1dIa6hNeq4iE8GKVhTp3Gzq7vp+v5Yyzj8uF8X71yg=";
   };
 
   postPatch = ''
@@ -20,6 +20,9 @@ python2Packages.buildPythonApplication rec {
     done
   '';
 
+  # Tests do not run with python3: https://github.com/lilydjwg/pssh/issues/126
+  doCheck = false;
+
   meta = with lib; {
     description = "Parallel SSH Tools";
     longDescription = ''
diff --git a/pkgs/tools/networking/py-wmi-client/default.nix b/pkgs/tools/networking/py-wmi-client/default.nix
deleted file mode 100644
index 8f5958193db89..0000000000000
--- a/pkgs/tools/networking/py-wmi-client/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, python2Packages, fetchFromGitHub }:
-
-python2Packages.buildPythonApplication rec {
-  pname = "py-wmi-client";
-  version = "unstable-20160601";
-
-  src = fetchFromGitHub {
-    owner = "dlundgren";
-    repo = pname;
-    rev = "9702b036df85c3e0ecdde84a753b353069f58208";
-    sha256 = "1kd12gi1knqv477f1shzqr0h349s5336vzp3fpfp3xl0b502ld8d";
-  };
-
-  propagatedBuildInputs = with python2Packages; [ impacket natsort pyasn1 pycrypto ];
-
-  # no tests
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Python WMI Client implementation";
-    homepage = "https://github.com/dlundgren/py-wmi-client";
-    license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
-  };
-}
diff --git a/pkgs/tools/networking/s3cmd/default.nix b/pkgs/tools/networking/s3cmd/default.nix
index 88af5a136251b..a73d39b5126a5 100644
--- a/pkgs/tools/networking/s3cmd/default.nix
+++ b/pkgs/tools/networking/s3cmd/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonApplication, fetchFromGitHub, python_magic, python-dateutil }:
+{ lib, buildPythonApplication, fetchFromGitHub, python-magic, python-dateutil }:
 
 buildPythonApplication rec {
   pname = "s3cmd";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
     sha256 = "0w4abif05mp52qybh4hjg6jbbj2caljq5xdhfiha3g0s5zsq46ri";
   };
 
-  propagatedBuildInputs = [ python_magic python-dateutil ];
+  propagatedBuildInputs = [ python-magic python-dateutil ];
 
   dontUseSetuptoolsCheck = true;
 
diff --git a/pkgs/tools/networking/samplicator/default.nix b/pkgs/tools/networking/samplicator/default.nix
index 44546465d9ee0..158cac0a734bd 100644
--- a/pkgs/tools/networking/samplicator/default.nix
+++ b/pkgs/tools/networking/samplicator/default.nix
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
     description = "Send copies of (UDP) datagrams to multiple receivers";
     homepage = "https://github.com/sleinen/samplicator/";
     license = lib.licenses.gpl2Plus;
+    mainProgram = "samplicate";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/slack-cli/default.nix b/pkgs/tools/networking/slack-cli/default.nix
index 25e426dc43e3e..ed6a817058cd3 100644
--- a/pkgs/tools/networking/slack-cli/default.nix
+++ b/pkgs/tools/networking/slack-cli/default.nix
@@ -44,6 +44,7 @@ stdenv.mkDerivation rec {
   meta = {
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.qyliss ];
+    mainProgram = "slack";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/tgt/default.nix b/pkgs/tools/networking/tgt/default.nix
index fdaf0dc177f3e..34f0936876054 100644
--- a/pkgs/tools/networking/tgt/default.nix
+++ b/pkgs/tools/networking/tgt/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tgt";
-  version = "1.0.81";
+  version = "1.0.82";
 
   src = fetchFromGitHub {
     owner = "fujita";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SgMpoaVAuTbgpmnXRfQFWlK5gl01fsE9vJxu3C2ctPU=";
+    sha256 = "sha256-uVd1qPNBIqs9+pRnRP/Q8Z5sXpRdcwBejKjt0BJbXWA=";
   };
 
   nativeBuildInputs = [ libxslt docbook_xsl makeWrapper ];
diff --git a/pkgs/tools/networking/tinc/default.nix b/pkgs/tools/networking/tinc/default.nix
index 2387c903a9b0f..2ca679b16c856 100644
--- a/pkgs/tools/networking/tinc/default.nix
+++ b/pkgs/tools/networking/tinc/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage="http://www.tinc-vpn.org/";
     license = lib.licenses.gpl2Plus;
+    mainProgram = "tincd";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 46093f2c5b945..472c699a3d8c7 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urlwatch";
-  version = "2.24";
+  version = "2.25";
 
   src = fetchFromGitHub {
     owner = "thp";
     repo = "urlwatch";
     rev = version;
-    sha256 = "sha256-H7dusAXVEGOUu2fr6UjiXjw13Gm9xNeJDQ4jqV+8QmU=";
+    hash = "sha256-+ayHMY0gEAVhOgDDh+RfRrUpV0tSX8mMmfPzyg+YSv4=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/nix/nixos-generators/default.nix b/pkgs/tools/nix/nixos-generators/default.nix
index e20f36b1ef991..a33833a230d54 100644
--- a/pkgs/tools/nix/nixos-generators/default.nix
+++ b/pkgs/tools/nix/nixos-generators/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/nix-community/nixos-generators";
     license     = licenses.mit;
     maintainers = with maintainers; [ lassulus ];
+    mainProgram = "nixos-generate";
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/tools/package-management/cargo-edit/default.nix b/pkgs/tools/package-management/cargo-edit/default.nix
index c5e60fb88fd63..53f7d581b346c 100644
--- a/pkgs/tools/package-management/cargo-edit/default.nix
+++ b/pkgs/tools/package-management/cargo-edit/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-edit";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "killercup";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-n9Ei1kpbDqOogNJJVvg9DRAPMVGNChCGGiuCVsuK3/8=";
+    hash = "sha256-4N45IBDlIVbZbZgdX2DBmjolFHwzPjHVyWGadhR1FFw=";
   };
 
-  cargoSha256 = "sha256-6546jD+zDoScrJmpw5xtNdWeIPJ9Ma0bcIdnI1kFmu8=";
+  cargoSha256 = "sha256-o7NDw7P6Flut0ZFnDUdVCmuUzW2P+KXyfu0gApTEx60=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/morph/default.nix b/pkgs/tools/package-management/morph/default.nix
index e7b6b3adf1f27..b8810ad36dfc1 100644
--- a/pkgs/tools/package-management/morph/default.nix
+++ b/pkgs/tools/package-management/morph/default.nix
@@ -1,28 +1,25 @@
-{ buildGoModule, fetchFromGitHub, go-bindata, openssh, makeWrapper, lib }:
+{ buildGoModule, fetchFromGitHub, lib, makeWrapper, openssh }:
 
 buildGoModule rec {
   pname = "morph";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "dbcdk";
     repo = "morph";
     rev = "v${version}";
-    sha256 = "0aibs4gsb9pl21nd93bf963kdzf0661qn0liaw8v8ak2xbz7nbs8";
+    sha256 = "sha256-0CHmjqPxBgALGZYjfJFLoLBnoI0U7oZ8WyCtu1bkzZg=";
   };
 
   vendorSha256 = "08zzp0h4c4i5hk4whz06a3da7qjms6lr36596vxz0d8q0n7rspr9";
 
-  nativeBuildInputs = [ makeWrapper go-bindata ];
+  nativeBuildInputs = [ makeWrapper ];
 
   ldflags = [
     "-X main.version=${version}"
+    "-X main.assetRoot=${placeholder "lib"}"
   ];
 
-  postPatch = ''
-    go-bindata -pkg assets -o assets/assets.go data/
-  '';
-
   postInstall = ''
     mkdir -p $lib
     cp -v ./data/*.nix $lib
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index dfadd360ed3e6..41cffbaf7e699 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -89,12 +89,12 @@ in lib.makeExtensible (self: {
 
   unstable = lib.lowPrio (common rec {
     version = "2.8";
-    suffix = "pre20220428_${lib.substring 0 7 src.rev}";
+    suffix = "pre20220512_${lib.substring 0 7 src.rev}";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "4bb111c8d4c5692db2f735c2803f632f8c30b6ab";
-      sha256 = "sha256-AmxyCgpd53JBvvj6jPoGMP3eEisgu58YjaZEmhoTlGw=";
+      rev = "d354fc30b9768ea3dc737a88b57bf5e26d98135b";
+      sha256 = "sha256-wwhezwy3HKeHKJX48ps2qD46f6bL9GDxsFE2QJ+qPHQ=";
     };
   });
 })
diff --git a/pkgs/tools/security/age-plugin-yubikey/default.nix b/pkgs/tools/security/age-plugin-yubikey/default.nix
index a880f490dc7e5..1ca20e13828ed 100644
--- a/pkgs/tools/security/age-plugin-yubikey/default.nix
+++ b/pkgs/tools/security/age-plugin-yubikey/default.nix
@@ -5,24 +5,27 @@
 , pkg-config
 , pcsclite
 , PCSC
+, Foundation
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "age-plugin-yubikey";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "str4d";
     repo = pname;
-    rev = "51910edfab4006a068864602469ff7db3766bfbe"; # no tag for this release
-    sha256 = "sha256-mMqvBlGFdwe5BaC0bXZg/27BGNmFTTYbLUHWUciqxQ0=";
+    rev = "v${version}";
+    sha256 = "sha256-KXqicTZ9GZlNj1AH3tMmOrC8zjXoEnqo4JJJTBdiI4E=";
   };
 
-  cargoSha256 = "sha256-OCbVLSmGx51pJ/EPgPfOyVrYWdloNEbexDV1zMsmEJc=";
+  cargoSha256 = "sha256-m/v4E7KHyLIWZHX0TKpqwBVDDwLjhYpOjYMrKEtx6/4=";
+
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
-  nativeBuildInputs = [ pkg-config ];
   buildInputs =
     if stdenv.isDarwin then [
+      Foundation
       PCSC
     ] else [
       pcsclite
diff --git a/pkgs/tools/security/bao/default.nix b/pkgs/tools/security/bao/default.nix
new file mode 100644
index 0000000000000..cf6014c84fe94
--- /dev/null
+++ b/pkgs/tools/security/bao/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchCrate
+, fetchpatch
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "bao";
+  version = "0.12.0";
+
+  src = fetchCrate {
+    inherit version;
+    pname = "${pname}_bin";
+    sha256 = "SkplBzor7Fv2+6K8wcTtZwjR66RfLPA/YNNUUHniWpM=";
+  };
+
+  cargoSha256 = "yr4HvtOWnU2dFTBgSsbVcuDELe1o1SEtZ7rN/ctKAdI=";
+
+  meta = {
+    description = "An implementation of BLAKE3 verified streaming";
+    homepage = "https://github.com/oconnor663/bao";
+    maintainers = with lib.maintainers; [ amarshall ];
+    license = with lib.licenses; [ cc0 asl20 ];
+  };
+}
diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix
index ba80734e5cf81..ae831bf86753e 100644
--- a/pkgs/tools/security/bash-supergenpass/default.nix
+++ b/pkgs/tools/security/bash-supergenpass/default.nix
@@ -40,9 +40,10 @@ stdenv.mkDerivation {
 
       supergenpass will ask for your master password interactively, and it will not be displayed on your terminal.
     '';
+    homepage = "https://github.com/lanzz/bash-supergenpass";
     license = licenses.mit;
-    platforms = platforms.all;
     maintainers = with maintainers; [ fgaz ];
-    homepage = "https://github.com/lanzz/bash-supergenpass";
+    mainProgram = "supergenpass";
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/security/cliam/default.nix b/pkgs/tools/security/cliam/default.nix
new file mode 100644
index 0000000000000..7b7ee342a12da
--- /dev/null
+++ b/pkgs/tools/security/cliam/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
+
+buildGoModule rec {
+  pname = "cliam";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "securisec";
+    repo = pname;
+    rev = version;
+    hash = "sha256-bq7u6pknokyY4WwO1qMYPuY86UZlDgeYEa1AJpk8d+4=";
+  };
+
+  vendorSha256 = "sha256-aGBA97EvIUv9myqcrtltiVxh1/0VtrQy2j9GU6r197g=";
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/securisec/cliam/cli/version.Version=${version}"
+  ];
+
+  postBuild = ''
+    # should be called cliam
+    mv $GOPATH/bin/{cli,cliam}
+  '';
+
+  postInstall = ''
+    installShellCompletion --cmd cliam \
+      --bash <($out/bin/cliam completion bash) \
+      --fish <($out/bin/cliam completion fish) \
+      --zsh <($out/bin/cliam completion zsh)
+  '';
+
+  meta = with lib; {
+    description = "Cloud agnostic IAM permissions enumerator";
+    homepage = "https://github.com/securisec/cliam";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/cryptomator/default.nix b/pkgs/tools/security/cryptomator/default.nix
index 57e420f866995..5a1886e49e55b 100644
--- a/pkgs/tools/security/cryptomator/default.nix
+++ b/pkgs/tools/security/cryptomator/default.nix
@@ -6,13 +6,13 @@
 
 let
   pname = "cryptomator";
-  version = "1.6.8";
+  version = "1.6.10";
 
   src = fetchFromGitHub {
     owner = "cryptomator";
     repo = "cryptomator";
     rev = version;
-    sha256 = "sha256-2bvIjfutxfTPBtYiSXpgdEh63Eg74uqSf8CDo/Oma0U=";
+    sha256 = "sha256-klNkMCgXC0gGqNV7S5EObHYCcgN4SayeNHXF9bq+20s=";
   };
 
   # perform fake build to make a fixed-output derivation out of the files downloaded from maven central (120MB)
@@ -37,7 +37,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-quYUJX/JErtWuUQBYXXee/uZGkO0UBr4qxcGticxGUc=";
+    outputHash = "sha256-biQBP0rV94+Hoqte36Xmzm1XWtWC+1ne5lgpUj0GPak=";
 
     doCheck = false;
   };
@@ -98,7 +98,13 @@ in stdenv.mkDerivation rec {
     cp ${src}/dist/linux/common/application-vnd.cryptomator.vault.xml $out/share/mime/packages/application-vnd.cryptomator.vault.xml
   '';
 
-  nativeBuildInputs = [ autoPatchelfHook maven makeWrapper wrapGAppsHook jdk ];
+  nativeBuildInputs = [
+    autoPatchelfHook
+    maven
+    makeWrapper
+    (wrapGAppsHook.override { makeBinaryWrapper = makeWrapper; })
+    jdk
+  ];
   buildInputs = [ fuse jre glib jffi ];
 
   meta = with lib; {
diff --git a/pkgs/tools/security/dieharder/default.nix b/pkgs/tools/security/dieharder/default.nix
new file mode 100644
index 0000000000000..fc78f7c213741
--- /dev/null
+++ b/pkgs/tools/security/dieharder/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, gsl
+, dieharder, testers }:
+
+stdenv.mkDerivation rec {
+  pname = "dieharder";
+  version = "3.31.1";
+
+  src = fetchurl {
+    url = "http://webhome.phy.duke.edu/~rgb/General/dieharder/dieharder-${version}.tgz";
+    hash = "sha256-bP8P+DlMVTVJrHQzNZzPyVX7JnlCYDFGIN+l5M1Lcn8=";
+  };
+
+  patches = [
+    # Include missing stdint.h header
+    ./stdint.patch
+  ];
+
+  buildInputs = [ gsl ];
+
+  passthru = {
+    tests.version = testers.testVersion { package = dieharder; };
+  };
+
+  meta = with lib; {
+    description = "A Random Number Generator test suite";
+    homepage = "https://webhome.phy.duke.edu/~rgb/General/dieharder.php";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ zhaofengli ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/security/dieharder/stdint.patch b/pkgs/tools/security/dieharder/stdint.patch
new file mode 100644
index 0000000000000..91dccfafd6652
--- /dev/null
+++ b/pkgs/tools/security/dieharder/stdint.patch
@@ -0,0 +1,10 @@
+--- a/include/dieharder/libdieharder.h	2011-10-14 15:41:37.000000000 +0200
++++ b/include/dieharder/libdieharder.h	2015-03-27 16:34:40.978860858 +0100
+@@ -13,6 +13,7 @@
+ #include <stdlib.h>
+ #include <stdarg.h>
+ #include <string.h>
++#include <stdint.h>
+ #include <sys/time.h>
+ 
+ /* This turns on uint macro in c99 */
diff --git a/pkgs/tools/security/dirmngr/default.nix b/pkgs/tools/security/dirmngr/default.nix
deleted file mode 100644
index b7aeed2ace140..0000000000000
--- a/pkgs/tools/security/dirmngr/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ lib, stdenv, fetchurl, libgpg-error, libgcrypt, libassuan, libksba, pth, openldap
-, libiconv}:
-
-stdenv.mkDerivation rec {
-  pname = "dirmngr";
-  version = "1.1.1";
-  src = fetchurl {
-    url = "mirror://gnupg/dirmngr/dirmngr-${version}.tar.bz2";
-    sha256 = "1zz6m87ca55nq5f59hzm6qs48d37h93il881y7d0rf2d6660na6j";
-  };
-  buildInputs = [ libgpg-error libgcrypt libassuan libksba
-                  pth openldap libiconv ];
-
-  meta = {
-    platforms = lib.platforms.unix;
-    license = lib.licenses.gpl2Plus;
-  };
-}
diff --git a/pkgs/tools/security/ecdsautils/default.nix b/pkgs/tools/security/ecdsautils/default.nix
index 6bdac96811a08..0a43260eb8315 100644
--- a/pkgs/tools/security/ecdsautils/default.nix
+++ b/pkgs/tools/security/ecdsautils/default.nix
@@ -1,14 +1,17 @@
 { lib, stdenv, pkgs }:
 
-stdenv.mkDerivation {
-  version = "0.4.0";
+let
   pname = "ecdsautils";
+  version = "0.4.1";
+in
+stdenv.mkDerivation {
+  inherit pname version;
 
   src = pkgs.fetchFromGitHub {
     owner = "freifunk-gluon";
-    repo = "ecdsautils";
-    rev = "07538893fb6c2a9539678c45f9dbbf1e4f222b46";
-    sha256 = "18sr8x3qiw8s9l5pfi7r9i3ayplz4jqdml75ga9y933vj7vs0k4d";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-dv0guQTmot5UO1GkMgzvD6uJFyum5kV89LI3xWS1DZA=";
   };
 
   nativeBuildInputs = with pkgs; [ cmake pkg-config doxygen ];
@@ -16,7 +19,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "Tiny collection of programs used for ECDSA (keygen, sign, verify)";
-    homepage = "https://github.com/tcatm/ecdsautils/";
+    homepage = "https://github.com/freifunk-gluon/ecdsautils/";
     license = with licenses; [ mit bsd2 ];
     maintainers = with maintainers; [ ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/security/erosmb/default.nix b/pkgs/tools/security/erosmb/default.nix
new file mode 100644
index 0000000000000..c0b4586c3524e
--- /dev/null
+++ b/pkgs/tools/security/erosmb/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "erosmb";
+  version = "0.1.1";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "viktor02";
+    repo = "EroSmb";
+    rev = "v${version}";
+    hash = "sha256-d7iSl7weIHWXDnMYQKxafVd5JrZ0fnuWRDpEirBVdcg=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    chardet
+    colorama
+    cryptography
+    impacket
+    ldap3
+    ldapdomaindump
+    pyasn1
+    setuptools
+    six
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/erosmb --help
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    description = "SMB network scanner";
+    homepage = "https://github.com/viktor02/EroSmb";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/evtx/default.nix b/pkgs/tools/security/evtx/default.nix
new file mode 100644
index 0000000000000..51f706598fad3
--- /dev/null
+++ b/pkgs/tools/security/evtx/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "evtx";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "omerbenamram";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-T165PZhjuX5tUENZoO6x1u2MpMQTfv9dGRmxyNY2ACg=";
+  };
+
+  cargoSha256 = "sha256-qcjJoXB0DV1Z5bhGrtyJzfWqE+tVWBOYMJEd+MWFcD8=";
+
+  postPatch = ''
+    # CLI tests will fail in the sandbox
+    rm tests/test_cli_interactive.rs
+  '';
+
+  meta = with lib; {
+    description = "Parser for the Windows XML Event Log (EVTX) format";
+    homepage = "https://github.com/omerbenamram/evtx";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 2c76d28bae25a..5fc46e66629d1 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-04-27";
+  version = "2022-05-13";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-GYAIbE6Vrq6gBnCkeOSvo6gSJqPOhDh2f8n1b6B/x30=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-hSsVgH6iyfTrHwu/fNc00zhheys8mYYmuDAKJqSWGqo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/fulcio/default.nix b/pkgs/tools/security/fulcio/default.nix
index 86ba5a9b3bf45..acfce66834ff8 100644
--- a/pkgs/tools/security/fulcio/default.nix
+++ b/pkgs/tools/security/fulcio/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fulcio";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WxSN1pZ8E5vKMoqR5EkGgKnLuHYb5Wl2vzqPcPEkXWE=";
+    sha256 = "sha256-b+2M28cI+4UkzrIqI+BioxJsGqT0pqJVPTPmXe+NsZo=";
     # 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;
@@ -20,7 +20,7 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-v3H+uUERDHZB2ArruCOClCQFEEW8ANeReObww+1VKOI=";
+  vendorSha256 = "sha256-INPMsSyjFs4GyapOlc/k5fcI2ePUKgp4BtASOKwQhck=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/security/fwbuilder/default.nix b/pkgs/tools/security/fwbuilder/default.nix
index 398e552ffe42a..15b67932c55ed 100644
--- a/pkgs/tools/security/fwbuilder/default.nix
+++ b/pkgs/tools/security/fwbuilder/default.nix
@@ -1,4 +1,13 @@
-{ stdenv, lib, fetchFromGitHub, cmake, qtbase, wrapQtAppsHook }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, qtbase
+, wrapQtAppsHook
+, wayland
+, wayland-protocols
+, qtwayland
+}:
 
 stdenv.mkDerivation rec {
   pname = "fwbuilder";
@@ -16,6 +25,12 @@ stdenv.mkDerivation rec {
     wrapQtAppsHook
   ];
 
+  buildInputs = [
+    wayland
+    wayland-protocols
+    qtwayland
+  ];
+
   NIX_CFLAGS_COMPILE = [
     "-Wno-error=misleading-indentation"
   ];
diff --git a/pkgs/tools/security/gopass/default.nix b/pkgs/tools/security/gopass/default.nix
index 6825e6cbba80d..4e3926d7f0642 100644
--- a/pkgs/tools/security/gopass/default.nix
+++ b/pkgs/tools/security/gopass/default.nix
@@ -13,7 +13,7 @@
 
 buildGoModule rec {
   pname = "gopass";
-  version = "1.14.0";
+  version = "1.14.1";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
@@ -21,10 +21,10 @@ buildGoModule rec {
     owner = "gopasspw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-swvZrsRuevBe8lVg67J0R9u3GB/Wc2ZR54Y6j1Bsa3E=";
+    sha256 = "sha256-vdMOD6Zrl718jcntjEzOG+4Rr0aqhm0YidA0x3Gseqg=";
   };
 
-  vendorSha256 = "sha256-Fq9jEJm65efBL5ShcB/XCM70UVDO/8STbbTOOHXrpSk=";
+  vendorSha256 = "sha256-mdPAZrcdlq7R7DRIfuxf4PCpEJoJjzo/+TDKAVglk7A=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 0b67babddef26..596eb7f6e50dc 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.36.0";
+  version = "0.36.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8bU7vuTbPoHGCoXiCc4p0rPzCSsYuXM3A2NAgIaHuIw=";
+    sha256 = "sha256-BJSjJrDXZHB4MY4RZCmuC5Gn9YJiCQwyOFrXiGX1h18=";
     # 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;
@@ -25,7 +25,7 @@ buildGoModule rec {
     '';
   };
 
-  vendorSha256 = "sha256-Dn3lDdwUK+C7pQwN3uq7p4WkyG5tXTPd18rQGpwqcPI=";
+  vendorSha256 = "sha256-aIFom4hGx7HTobCh9YRyqyf9gUpJIaxAstUUkHjSFnA=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/security/hashdeep/default.nix b/pkgs/tools/security/hashdeep/default.nix
index 0e24e0ec3a397..b981034428630 100644
--- a/pkgs/tools/security/hashdeep/default.nix
+++ b/pkgs/tools/security/hashdeep/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "hashdeep";
@@ -11,6 +11,17 @@ stdenv.mkDerivation rec {
     sha256 = "0m2b042ndikavmplv3qjdhfj44hl1h8car83c192xi9nv5ahi7mf";
   };
 
+  patches = [
+    (fetchpatch {
+      # Relevant link: <https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1512>
+      # Defect report fixed in GCC 11
+      # Search for "DR 1512" in <https://gcc.gnu.org/gcc-11/changes.html>
+      name = "fix-cpp-defect-report-1512.patch";
+      url = "https://github.com/jessek/hashdeep/commit/6ef69a26126ee4e69a25392fd456b8a66c51dffd.patch";
+      sha256 = "sha256-IrqcnrKINeoh56FR25FzSM1YJMkM2yFd/GwOeWGRLFo=";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
 
   meta = with lib; {
diff --git a/pkgs/tools/security/hfinger/default.nix b/pkgs/tools/security/hfinger/default.nix
index 8116c222d077c..2c584f35ff4fe 100644
--- a/pkgs/tools/security/hfinger/default.nix
+++ b/pkgs/tools/security/hfinger/default.nix
@@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3.pkgs; [
     fnvhash
-    python_magic
+    python-magic
   ] ++ [
     wireshark-cli
   ];
diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix
index 2aadf1fb7b27d..1358d9f3198ef 100644
--- a/pkgs/tools/security/jadx/default.nix
+++ b/pkgs/tools/security/jadx/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "jadx";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "skylot";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-G2BgGhWk0Prbjni6HPZ/0+bWiC9uI2O13Q1SDCE5mBE=";
+    hash = "sha256-uDNHjajGqEeXOIC5SaluhHWOkA2j3LUvB6O3MHB2+YA=";
   };
 
   deps = stdenv.mkDerivation {
@@ -40,7 +40,7 @@ let
     '';
 
     outputHashMode = "recursive";
-    outputHash = "sha256-QZClHuj7oCUYX3I8B3A90m4zK7+FP24C19RIzYyPC1w=";
+    outputHash = "sha256-SFj3VPCIxEA2mj/xsibXZ1MDmV/BnmvQJUBav1gfEGM=";
   };
 in stdenv.mkDerivation {
   inherit pname version src;
diff --git a/pkgs/tools/security/jwt-cli/default.nix b/pkgs/tools/security/jwt-cli/default.nix
index 98b297fe83185..20c172fc5017d 100644
--- a/pkgs/tools/security/jwt-cli/default.nix
+++ b/pkgs/tools/security/jwt-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jwt-cli";
-  version = "5.0.2";
+  version = "5.0.3";
 
   src = fetchFromGitHub {
     owner = "mike-engel";
     repo = pname;
     rev = version;
-    sha256 = "0w7fqmh8gihknvdamnq1n519253d4lxrpv378jajca9x906rqy1r";
+    sha256 = "01aqqjynfcrn3m36hfjwcfh870imcd0hj5gifxzpnjiqjwpvys59";
   };
 
-  cargoSha256 = "0b7m23azy8cb8d5wkawnw6nv8k7lfnfwc06swmbkfvg8vcxfsacs";
+  cargoSha256 = "1n4gmqmi975cd2zyrf0yi4gbxjjg9f99xa191mgmrdyyij7id3cf";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/security/kube-hunter/default.nix b/pkgs/tools/security/kube-hunter/default.nix
index cbd4e4e3150f4..0f82cc0cbab74 100644
--- a/pkgs/tools/security/kube-hunter/default.nix
+++ b/pkgs/tools/security/kube-hunter/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "kube-hunter";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-2pmViizQLwyTdP6J92ynvdIdqkfgc6SIhsll85g9pHA=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-W7jW0V91o164EIAzZ7ODWeqTmUaUFDIqlE37x/AycqY=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/medusa/default.nix b/pkgs/tools/security/medusa/default.nix
index 43a30aad82550..7c2174c523327 100644
--- a/pkgs/tools/security/medusa/default.nix
+++ b/pkgs/tools/security/medusa/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, freerdp, openssl, libssh2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, freerdp, openssl, libssh2 }:
 
 stdenv.mkDerivation rec {
   pname = "medusa-unstable";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "0njlz4fqa0165wdmd5y8lfnafayf3c4la0r8pf3hixkdwsss1509";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common tollchains like gcc-10:
+    #  https://github.com/jmk-foofus/medusa/pull/36
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/jmk-foofus/medusa/commit/a667656ad085b3eb95309932666c250d97a92767.patch";
+      sha256 = "01marqqhjd3qwar3ymp50y1h2im5ilgpaxk7wrc2kcxgmzvbdfxc";
+    })
+  ];
+
   outputs = [ "out" "man" ];
 
   configureFlags = [ "--enable-module-ssh=yes" ];
diff --git a/pkgs/tools/security/melt/default.nix b/pkgs/tools/security/melt/default.nix
index 5690958848c0c..dcceb598a118b 100644
--- a/pkgs/tools/security/melt/default.nix
+++ b/pkgs/tools/security/melt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "melt";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "melt";
     rev = "v${version}";
-    sha256 = "sha256-I1LNCrJo3Ihh03aTUG0QhS6ySuMqNJJGyZ8XZzClDlU=";
+    sha256 = "sha256-R1ml/SQswsltBFLWOvI5GjI4VZUqEH3uwqgmdIrC/Q4=";
   };
 
-  vendorSha256 = "sha256-eRFWDyXN2c5VSxYOE12sczYP3rGtzLjY9M2DQgHNFyA=";
+  vendorSha256 = "sha256-9LTR7CrTBGAh7TPMQenY4vZQ7KMYv02fDsY51pkJZSo=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 83534ca07c6b0..a236c08f69476 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.40"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.42"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 779d1f9c99745..44b71163381e9 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 82d111481b8f46bf50473770673305b0ec0eb5d2
-  ref: refs/tags/6.1.40
+  revision: 70ec8a21b90103f8405c1bb0e3990a783a5467bc
+  ref: refs/tags/6.1.42
   specs:
-    metasploit-framework (6.1.40)
+    metasploit-framework (6.1.42)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -31,7 +31,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.83)
+      metasploit-payloads (= 2.0.87)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.18)
       mqtt
@@ -99,25 +99,25 @@ GEM
   remote: https://rubygems.org/
   specs:
     Ascii85 (1.1.0)
-    actionpack (6.1.5.1)
-      actionview (= 6.1.5.1)
-      activesupport (= 6.1.5.1)
+    actionpack (6.1.6)
+      actionview (= 6.1.6)
+      activesupport (= 6.1.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.5.1)
-      activesupport (= 6.1.5.1)
+    actionview (6.1.6)
+      activesupport (= 6.1.6)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activemodel (6.1.5.1)
-      activesupport (= 6.1.5.1)
-    activerecord (6.1.5.1)
-      activemodel (= 6.1.5.1)
-      activesupport (= 6.1.5.1)
-    activesupport (6.1.5.1)
+    activemodel (6.1.6)
+      activesupport (= 6.1.6)
+    activerecord (6.1.6)
+      activemodel (= 6.1.6)
+      activesupport (= 6.1.6)
+    activesupport (6.1.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -129,13 +129,13 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.581.0)
+    aws-partitions (1.587.0)
     aws-sdk-core (3.130.2)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.309.0)
+    aws-sdk-ec2 (1.315.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-iam (1.68.0)
@@ -144,7 +144,7 @@ GEM
     aws-sdk-kms (1.56.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.113.2)
+    aws-sdk-s3 (1.114.0)
       aws-sdk-core (~> 3, >= 3.127.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.4)
@@ -232,7 +232,7 @@ GEM
     logging (2.3.0)
       little-plugger (~> 1.1)
       multi_json (~> 1.14)
-    loofah (2.17.0)
+    loofah (2.18.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
@@ -254,7 +254,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-payloads (2.0.83)
+    metasploit-payloads (2.0.87)
     metasploit_data_models (5.0.5)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -287,7 +287,7 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.8)
-    nokogiri (1.13.4)
+    nokogiri (1.13.6)
       mini_portile2 (~> 2.8.0)
       racc (~> 1.4)
     nori (2.6.0)
@@ -301,7 +301,7 @@ GEM
       pcaprub
     patch_finder (1.0.2)
     pcaprub (0.13.1)
-    pdf-reader (2.9.2)
+    pdf-reader (2.10.0)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
@@ -322,9 +322,9 @@ GEM
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    railties (6.1.5.1)
-      actionpack (= 6.1.5.1)
-      activesupport (= 6.1.5.1)
+    railties (6.1.6)
+      actionpack (= 6.1.6)
+      activesupport (= 6.1.6)
       method_source
       rake (>= 12.2)
       thor (~> 1.0)
@@ -373,7 +373,7 @@ GEM
       metasm
       rex-core
       rex-text
-    rex-socket (0.1.35)
+    rex-socket (0.1.39)
       rex-core
     rex-sslscan (0.1.7)
       rex-core
@@ -388,7 +388,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.1.1)
+    ruby_smb (3.1.2)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 7fc91f012db96..38fb708d874d7 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.40";
+  version = "6.1.42";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-3aQwzFaEANgc2inlZd2huu9W3vpv9bgIeRib4Q2zI3I=";
+    sha256 = "sha256-qsGA7kpS/d2/ANBwU2Q2yAkHlTU7lWSHqOMqZxMh+K8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 383456bcf3789..e714be18bfbe1 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b2vxprwfkza3h6z3pq508hsjh1hz9f8d7739j469mqlxsq5jh1l";
+      sha256 = "1walbq04v4qvgnz39cbfhz9bzhsf14q1h7gd0kgjy3frld6ysrhb";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y54nw3x38lj0qh36hlzjw82px328k01fyrk21d6xlpn1w0j98gv";
+      sha256 = "05r0h7pvc0szqmgnra0j3j8ap7dmiyw9s6qksx41v5cxknmfi0h3";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01bbxwbih29qcmqrrvqymlc6hjf0r38rpwdfgaimisp5vms3xxsn";
+      sha256 = "1f0ai51icvvx5q0jd1l89k0dlwzpsrkqlj6x43f8qc4bd1ya9glx";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yscjy5766g67ip3g7614b0hhrpgz5qk22nj8ghzcjqh3fj2k2n0";
+      sha256 = "0khjnkvmiyap1g3rvw9hp16mzai4smqcg5hxhq28pll25ljzxdbp";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ylj0nwk9y5hbgv93wk8kkbg9z9bv1052ic37n9ib34w0bkgrzw4";
+      sha256 = "08wzpwgdm03vzb8gqr8bvfdarb89g5ah0skvwqk6qv87p55xqkyw";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   addressable = {
     groups = ["default"];
@@ -104,10 +104,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qn84zn8g8aaqq9cmc2mkaakpgysl50mnhalzphxxvamg9pah5hq";
+      sha256 = "0vqb2bfq5db7x66f4n4z30c953y5q8pwwl2067nxhz6j0c486pzm";
       type = "gem";
     };
-    version = "1.581.0";
+    version = "1.587.0";
   };
   aws-sdk-core = {
     groups = ["default"];
@@ -124,10 +124,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05fw7sxwn5k9a944j0010kn6dl93fv10q1f8kmvdkb4i231xbxwl";
+      sha256 = "1s87d49r43nwq696ga0n155f8fm96lhhv3vjdc9qsh82li21nwcf";
       type = "gem";
     };
-    version = "1.309.0";
+    version = "1.315.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -154,10 +154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17pc197a6axmnj6rbhgsvks2w0mv2mmr2bwh1k4mazbfp72ss87i";
+      sha256 = "1r6dxz3llgxbbm66jq5mkzk0i6qsxwv0d9s0ipwb23vv3bgp23yf";
       type = "gem";
     };
-    version = "1.113.2";
+    version = "1.114.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -654,10 +654,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fpx5p8n0jq4bdazb2vn19sqkmh398rk9b2pa3gdi43snfn485cr";
+      sha256 = "18ymp6l3bv7abz07k6qbbi9c9vsiahq30d2smh4qzsvag8j5m5v1";
       type = "gem";
     };
-    version = "2.17.0";
+    version = "2.18.0";
   };
   metasm = {
     groups = ["default"];
@@ -694,12 +694,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "82d111481b8f46bf50473770673305b0ec0eb5d2";
-      sha256 = "0wi3nc6y36qqg44bixbgzbg5dvxsl7fnbr99v8fdh044av63196x";
+      rev = "70ec8a21b90103f8405c1bb0e3990a783a5467bc";
+      sha256 = "1bzq449nfap3m23n959v6nahf2f86rj56w6h02zxvzaj9bp81hda";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.40";
+    version = "6.1.42";
   };
   metasploit-model = {
     groups = ["default"];
@@ -716,10 +716,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15vlazx39flz2pci2yqjcgd4ljslhivbq1vvyajgsxl15q772ni0";
+      sha256 = "0dj3vxv17wfjgv24n5wwij2vlbk83s8d69rpxzmkbjpi6qscw17x";
       type = "gem";
     };
-    version = "2.0.83";
+    version = "2.0.87";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -907,10 +907,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g43ii497cwdqhfnaxfl500bq5yfc5hfv5df1lvf6wcjnd708ihd";
+      sha256 = "11w59ga9324yx6339dgsflz3dsqq2mky1qqdwcg6wi5s1bf2yldi";
       type = "gem";
     };
-    version = "1.13.4";
+    version = "1.13.6";
   };
   nori = {
     groups = ["default"];
@@ -997,10 +997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pmb0lhbch06i8br2nkcq3flbfx1s2wqi3vkndqr4vnx3azvyjf6";
+      sha256 = "07chhyxf3qlr65jngns3z5187ibfibf5h2q59505vx45dfr3lvwz";
       type = "gem";
     };
-    version = "2.9.2";
+    version = "2.10.0";
   };
   pg = {
     groups = ["default"];
@@ -1097,10 +1097,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lirp0g1n114gwkqbqki2fjqwnbyzhn30z97jhikqldd0r54f4b9";
+      sha256 = "16dyjmy42v51acmx1ba2xxncvx368ss5rww6bsf1lwgyk4vqn41h";
       type = "gem";
     };
-    version = "6.1.5.1";
+    version = "6.1.6";
   };
   rake = {
     groups = ["default"];
@@ -1287,10 +1287,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lisy36pcyhqvhxkl55pgcyw67n9birzsyrgkm0b7sbkn4jpv0d0";
+      sha256 = "07nbcnn2pb7rcl6flr4kb9dzq29zrwa01kw5333pzwy5b5jfp65w";
       type = "gem";
     };
-    version = "0.1.35";
+    version = "0.1.39";
   };
   rex-sslscan = {
     groups = ["default"];
@@ -1387,10 +1387,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1v0dvys954c1d5azzz05p1jg57knk3d10b61wwfx00dw8pz76amw";
+      sha256 = "1c0qdi787hvf3d8p3ivjlfwnj2cz70cgj656x26wnn0rhrgbad1n";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "3.1.2";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/naabu/default.nix b/pkgs/tools/security/naabu/default.nix
index a9a6fe29e1317..a93e8082a0c7e 100644
--- a/pkgs/tools/security/naabu/default.nix
+++ b/pkgs/tools/security/naabu/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "naabu";
-  version = "2.0.6";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "naabu";
     rev = "v${version}";
-    sha256 = "sha256-soYtm8vEkMJq9MeoUqOGJPWxZUrh3mGnApxG154W1wI=";
+    sha256 = "sha256-pfaK2Hj6iHk8njEMEbeSHGIKTn5O3IF83At14iDNI34=";
   };
 
-  vendorSha256 = "sha256-MR1JUbeGC4N0jDuYdwVFMHBdZEy5BkID2BFdCwjtTAg=";
+  vendorSha256 = "sha256-eco1e1A0cDk1Yc0KP9tc3Kf4E+z1av7EDHynVhoHhMk=";
 
   buildInputs = [
     libpcap
diff --git a/pkgs/tools/security/ncrack/default.nix b/pkgs/tools/security/ncrack/default.nix
index e1504eb12b4cc..9e9aeaa409d42 100644
--- a/pkgs/tools/security/ncrack/default.nix
+++ b/pkgs/tools/security/ncrack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, openssl, zlib }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, openssl, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "ncrack";
@@ -11,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "1gnv5xdd7n04glcpy7q1mkb6f8gdhdrhlrh8z6k4g2pjdhxlz26g";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains like upstream gcc-10:
+    #   https://github.com/nmap/ncrack/pull/83
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/nmap/ncrack/commit/cc4103267bab6017a4da9d41156d0c1075012eba.patch";
+      sha256 = "06nlfvc7p108f8ppbcgwmj4iwmjy95xhc1sawa8c78lrx22r7gy3";
+    })
+  ];
+
   buildInputs = [ openssl zlib ];
 
   meta = with lib; {
diff --git a/pkgs/tools/security/neopg/default.nix b/pkgs/tools/security/neopg/default.nix
deleted file mode 100644
index e39be14475ef5..0000000000000
--- a/pkgs/tools/security/neopg/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, cmake
-, sqlite
-, botan2
-, boost
-, curl
-, gettext
-, pkg-config
-, libusb1
-, gnutls }:
-
-stdenv.mkDerivation rec {
-  pname = "neopg";
-  version = "0.0.6";
-
-  src = fetchFromGitHub {
-    owner = "das-labor";
-    repo = "neopg";
-    rev = "v${version}";
-    sha256 = "15xp5w046ix59cfrhh8ka4camr0d8qqw643g184sqrcqwpk7nbrx";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [  cmake gettext pkg-config ];
-
-  buildInputs = [ sqlite botan2 boost curl libusb1 gnutls ];
-
-  doCheck = true;
-  checkTarget = "test";
-  dontUseCmakeBuildDir = true;
-
-  preCheck = ''
-    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$(pwd)/3rdparty/googletest/googletest:$(pwd)/neopg
-  '';
-
-  meta = with lib; {
-    homepage = "https://neopg.io/";
-    description = "Modern replacement for GnuPG 2";
-    license = licenses.gpl3;
-    longDescription = ''
-      NeoPG starts as an opiniated fork of GnuPG 2 to clean up the code and make it easier to develop.
-      It is written in C++11.
-    '';
-    maintainers = with maintainers; [ erictapen ];
-    platforms = platforms.linux;
-    broken = true; # fails to build with recent versions of botan. https://github.com/das-labor/neopg/issues/98
-  };
-}
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 0a6733e993d60..5e71c2e16551e 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,9 +1,7 @@
 { lib, stdenv, fetchurl, fetchpatch, libpcap, pkg-config, openssl, lua5_3
 , pcre, libssh2
-, graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
-, python2 ? null
 , makeWrapper ? null
 , withLua ? true
 }:
@@ -11,7 +9,7 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  pname = "nmap${optionalString graphicalSupport "-graphical"}";
+  pname = "nmap";
   version = "7.92";
 
   src = fetchurl {
@@ -41,7 +39,9 @@ stdenv.mkDerivation rec {
   configureFlags = [
     (if withLua then "--with-liblua=${lua5_3}" else "--without-liblua")
     "--with-liblinear=included"
-  ] ++ optionals (!graphicalSupport) [ "--without-ndiff" "--without-zenmap" ];
+    "--without-ndiff"
+    "--without-zenmap"
+  ];
 
   makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "AR=${stdenv.cc.bintools.targetPrefix}ar"
@@ -49,20 +49,8 @@ stdenv.mkDerivation rec {
     "CC=${stdenv.cc.targetPrefix}gcc"
   ];
 
-  pythonPath = with python2.pkgs; optionals graphicalSupport  [
-    pygtk pysqlite pygobject2 pycairo
-  ];
-
-  nativeBuildInputs = [ pkg-config ] ++ optionals graphicalSupport [ python2.pkgs.wrapPython ];
-  buildInputs = [ pcre libssh2 libpcap openssl ] ++ optionals graphicalSupport (with python2.pkgs; [
-    python2 libX11 gtk2
-  ]);
-
-  postInstall = optionalString graphicalSupport ''
-    buildPythonPath "$out $pythonPath"
-    patchPythonScript $out/bin/ndiff
-    patchPythonScript $out/bin/zenmap
-  '';
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ pcre libssh2 libpcap openssl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 2ca79ed25a49a..2145c5fc3339f 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.6.9";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BGWlkNj0LQ02BSUWQYjoT4bR0t/DmNB0jBpvwB/gWwo=";
+    sha256 = "sha256-+yoxpdEU5TDOJsLRXBwddzAIBAzdSu8hdcvhuCWZxtc=";
   };
 
-  vendorSha256 = "sha256-ar62CZ/2zXO3lwvWNiIAt9XITj2Y/0iIYGX8tmSCwcU=";
+  vendorSha256 = "sha256-6BC8jf/XaC7W6vsQEFIyIZ0S8XLJv+dFlaFl9VEO7yc=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/oath-toolkit/update.sh b/pkgs/tools/security/oath-toolkit/update.sh
index 3502a541fa8ca..9f56ae412323d 100755
--- a/pkgs/tools/security/oath-toolkit/update.sh
+++ b/pkgs/tools/security/oath-toolkit/update.sh
@@ -5,7 +5,7 @@ set -euo pipefail
 
 nixfile='default.nix'
 release_url='https://download.savannah.nongnu.org/releases/oath-toolkit/'
-attr='oathToolkit'
+attr='oath-toolkit'
 command='oathtool --version'
 
 color() {
diff --git a/pkgs/tools/security/pass/extensions/import.nix b/pkgs/tools/security/pass/extensions/import.nix
index 60775be180c85..fdfab9bc1954b 100644
--- a/pkgs/tools/security/pass/extensions/import.nix
+++ b/pkgs/tools/security/pass/extensions/import.nix
@@ -23,7 +23,7 @@ python3Packages.buildPythonApplication rec {
     defusedxml
     pyaml
     pykeepass
-    python_magic # similar API to "file-magic", but already in nixpkgs.
+    python-magic # similar API to "file-magic", but already in nixpkgs.
     secretstorage
   ];
 
diff --git a/pkgs/tools/security/pass/extensions/otp.nix b/pkgs/tools/security/pass/extensions/otp.nix
index 8d9b350543dc6..15f075ccec402 100644
--- a/pkgs/tools/security/pass/extensions/otp.nix
+++ b/pkgs/tools/security/pass/extensions/otp.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, oathToolkit }:
+{ lib, stdenv, fetchFromGitHub, oath-toolkit }:
 
 stdenv.mkDerivation rec {
   pname = "pass-otp";
@@ -11,12 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "0cpqrf3939hcvwg7sd8055ghc8x964ilimlri16czzx188a9jx9v";
   };
 
-  buildInputs = [ oathToolkit ];
+  buildInputs = [ oath-toolkit ];
 
   dontBuild = true;
 
   patchPhase = ''
-    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oathToolkit}/bin/oathtool|' otp.bash
+    sed -i -e 's|OATH=\$(which oathtool)|OATH=${oath-toolkit}/bin/oathtool|' otp.bash
   '';
 
   installFlags = [ "PREFIX=$(out)"
diff --git a/pkgs/tools/security/plasma-pass/default.nix b/pkgs/tools/security/plasma-pass/default.nix
index 20f64b725f112..2ff2ab38cefb2 100644
--- a/pkgs/tools/security/plasma-pass/default.nix
+++ b/pkgs/tools/security/plasma-pass/default.nix
@@ -1,7 +1,7 @@
 { mkDerivation, lib, fetchFromGitLab, cmake, extra-cmake-modules
 , ki18n
 , kitemmodels
-, oathToolkit
+, oath-toolkit
 , qgpgme
 , plasma-framework
 , qt5 }:
@@ -21,7 +21,7 @@ mkDerivation rec {
   buildInputs  = [
     ki18n
     kitemmodels
-    oathToolkit
+    oath-toolkit
     qgpgme
     plasma-framework
     qt5.qtbase
diff --git a/pkgs/tools/security/rustscan/default.nix b/pkgs/tools/security/rustscan/default.nix
index adf514006b153..8f7498083cc20 100644
--- a/pkgs/tools/security/rustscan/default.nix
+++ b/pkgs/tools/security/rustscan/default.nix
@@ -33,6 +33,6 @@ rustPlatform.buildRustPackage rec {
     description = "Faster Nmap Scanning with Rust";
     homepage = "https://github.com/RustScan/RustScan";
     license = licenses.gpl3Only;
-    maintainers = [ maintainers.SuperSandro2000 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/tools/security/scorecard/default.nix b/pkgs/tools/security/scorecard/default.nix
index 35ce8e900fb72..af95a65249172 100644
--- a/pkgs/tools/security/scorecard/default.nix
+++ b/pkgs/tools/security/scorecard/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "scorecard";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchFromGitHub {
     owner = "ossf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QOWQhuEEnwtHmQwl5WCCHcKMjwhgxn9xerR0Bxi3660=";
+    sha256 = "sha256-MTqXQCPmm2NoueVd3bbQlRz4pi2dOZ9l2EUfb60LwsM=";
     # 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
@@ -16,20 +16,14 @@ buildGoModule rec {
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
-
-      commit="$(git rev-parse HEAD)"
-      source_date_epoch=$(git log --date=iso8601-strict -1 --pretty=%ct)
-
-      substituteInPlace "$out/pkg/scorecard_version.go" \
-        --replace 'gitCommit = "unknown"' "gitCommit = \"$commit\"" \
-        --replace 'buildDate = "unknown"' "buildDate = \"$source_date_epoch\""
-
+      git rev-parse HEAD > $out/COMMIT
+      # 0000-00-00T00:00:00Z
+      date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-AFadBzkRj0D1MXLHzexvomJ0cqirhW82tnNRGx/gChI=";
+  vendorSha256 = "sha256-JT1hoEm3eBjR5mlNJ+/tBpHIw6FSvFXC/nEVPkbIfq8=";
 
-  # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
 
   subPackages = [ "." ];
@@ -37,10 +31,16 @@ buildGoModule rec {
   ldflags = [
     "-s"
     "-w"
-    "-X github.com/ossf/scorecard/v${lib.versions.major version}/pkg.gitVersion=v${version}"
-    "-X github.com/ossf/scorecard/v${lib.versions.major version}/pkg.gitTreeState=clean"
+    "-X sigs.k8s.io/release-utils/version.gitVersion=v${version}"
+    "-X sigs.k8s.io/release-utils/version.gitTreeState=clean"
   ];
 
+  # ldflags based on metadata from git and source
+  preBuild = ''
+    ldflags+=" -X sigs.k8s.io/release-utils/version.gitCommit=$(cat COMMIT)"
+    ldflags+=" -X sigs.k8s.io/release-utils/version.buildDate=$(cat SOURCE_DATE_EPOCH)"
+  '';
+
   preCheck = ''
     # Feed in all but the e2e tests for testing
     # This is because subPackages above limits what is built to just what we
@@ -63,7 +63,7 @@ buildGoModule rec {
   installCheckPhase = ''
     runHook preInstallCheck
     $out/bin/scorecard --help
-    $out/bin/scorecard version | grep "v${version}"
+    # $out/bin/scorecard version 2>&1 | grep "v${version}"
     runHook postInstallCheck
   '';
 
diff --git a/pkgs/tools/security/secp256k1/default.nix b/pkgs/tools/security/secp256k1/default.nix
index 890518126d848..bae83462872b7 100644
--- a/pkgs/tools/security/secp256k1/default.nix
+++ b/pkgs/tools/security/secp256k1/default.nix
@@ -42,6 +42,6 @@ stdenv.mkDerivation {
     homepage = "https://github.com/bitcoin-core/secp256k1";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ ];
-    platforms = with platforms; unix;
+    platforms = with platforms; all;
   };
 }
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 4803430018ed3..50477cf92f0df 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -95,5 +95,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://sequoia-pgp.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ minijackson doronbehar ];
+    mainProgram = "sq";
   };
 }
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index 9752d78a18383..9c6263c5c8555 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "sops";
-  version = "3.7.2";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "mozilla";
     repo = pname;
-    sha256 = "sha256-NMuYMvaBSxKHvpqFkMfnMDvcXxTstqzracuSTT1VB1A=";
+    sha256 = "sha256-wN1ksLwD4G+fUhvCe+jahh1PojPk6L6tnx1rsc7dz+M=";
   };
 
-  vendorSha256 = "sha256-00/7O9EcGojUExJPtYWndb16VqrNby/5GsVs8Ak/Isc=";
+  vendorSha256 = "sha256-8IaE+vhVZkc9QDR6+/3eOSsuf3SYF2upNcCifbqtx14=";
+
+  ldflags = [ "-s" "-w" ];
 
   doCheck = false;
 
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index b650b93f411b7..5877910ad2c48 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -12,7 +12,7 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.18.2";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "smallstep";
@@ -53,7 +53,6 @@ buildGoModule rec {
     description = "A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH";
     homepage = "https://smallstep.com/certificates/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ cmcdragonkai mohe2015 ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ cmcdragonkai mohe2015 techknowlogick ];
   };
 }
diff --git a/pkgs/tools/security/swaggerhole/default.nix b/pkgs/tools/security/swaggerhole/default.nix
new file mode 100644
index 0000000000000..8455867b4be2f
--- /dev/null
+++ b/pkgs/tools/security/swaggerhole/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "swaggerhole";
+  version = "1.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "Liodeus";
+    repo = pname;
+    # Source is not tagged at the moment, https://github.com/Liodeus/swaggerHole/issues/2
+    rev = "14846406fbd0f145d71ad51c3b87f383e4afbc3b";
+    hash = "sha256-3HmIpn1A86PXZRL+SqMdr84O16hW1mCUWHKnOVolmx8=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    requests
+    whispers
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "swaggerhole"
+  ];
+
+  meta = with lib; {
+    description = "Tool to searching for secret on swaggerhub";
+    homepage = "https://github.com/Liodeus/swaggerHole";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
index 39128084352e0..5d20b65d5914b 100644
--- a/pkgs/tools/security/swtpm/default.nix
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "swtpm";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "swtpm";
     rev = "v${version}";
-    sha256 = "sha256-qeyPCJTNnwuaCosHzqnrQc0JNznGBfDTLsuDmuKREjU=";
+    sha256 = "sha256-YaNQgxk0uT8FLUIxF80jpgO/L9ygGRHaABEcs5ukq5E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 14e0be73f01ea..90485ae817ed3 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -30,11 +30,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tor";
-  version = "0.4.6.10";
+  version = "0.4.7.7";
 
   src = fetchurl {
     url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
-    sha256 = "lMzWDgTlWPM75zAyvITqJBZg+S9Yz7iHib2miTc54xw=";
+    sha256 = "sha256-PhMRWLUrlDXX5D0cR+8oi5bQBTQsxEuMlQu0A4UaW0Q=";
   };
 
   outputs = [ "out" "geoip" ];
@@ -45,9 +45,13 @@ stdenv.mkDerivation rec {
 
   patches = [ ./disable-monotonic-timer-tests.patch ];
 
-  # cross compiles correctly but needs the following
-  configureFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-    "--disable-tool-name-check";
+  configureFlags =
+    # cross compiles correctly but needs the following
+    lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ "--disable-tool-name-check" ]
+    ++
+    # sandbox is broken on aarch64-linux https://gitlab.torproject.org/tpo/core/tor/-/issues/40599
+    lib.optionals (stdenv.isLinux && stdenv.isAarch64) [ "--disable-seccomp" ]
+  ;
 
   NIX_CFLAGS_LINK = lib.optionalString stdenv.cc.isGNU "-lgcc_s";
 
diff --git a/pkgs/tools/security/trueseeing/default.nix b/pkgs/tools/security/trueseeing/default.nix
new file mode 100644
index 0000000000000..4aa9e1852aeed
--- /dev/null
+++ b/pkgs/tools/security/trueseeing/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "trueseeing";
+  version = "2.1.4";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "alterakey";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-zc0AOv7OFmEPLl//eykbh538rM2j4kXBLHt5bgK1IRY=";
+  };
+
+  nativeBuildInputs = with python3.pkgs; [
+    flit-core
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    attrs
+    ipython
+    jinja2
+    lxml
+    pypubsub
+    pyyaml
+  ];
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "trueseeing"
+  ];
+
+  meta = with lib; {
+    description = "Non-decompiling Android vulnerability scanner";
+    homepage = "https://github.com/alterakey/trueseeing";
+    license = with licenses; [ gpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index ba70e99d64694..3d6c34d5bfa42 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "vault";
-  version = "1.10.2";
+  version = "1.10.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-ilyS2M/VRPNz8fW2JFrP09GvX0FlOznqnxJoFvfwUVo=";
+    sha256 = "sha256-12LOYp2ffTC/IOyNyT2PMnkP4FOKT8HROZNRWyTHxhA=";
   };
 
-  vendorSha256 = "sha256-ZdxpsfTRscgAjrRTq0tXhHe7pGirDgoZ6vlE71oJS9w=";
+  vendorSha256 = "sha256-w5nUkCNo9xfalbc/U7uYaHZsUdyMV3tKDypQM9MnwE4=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 048d06f200434..55192c670e0e4 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "vault-bin";
-  version = "1.10.2";
+  version = "1.10.3";
 
   src =
     let
@@ -16,11 +16,11 @@ stdenv.mkDerivation rec {
         aarch64-darwin = "darwin_arm64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-8DF97kpBRqKvRqCi20QdVgE5T4QugM+Hh+2e1qdZAA8=";
-        aarch64-linux = "sha256-SZ1+q4um6aFMPoF6t5ycOrG5gQQRDNC7SGFJi/JReBI=";
-        i686-linux = "sha256-AatWqF2eDOslpK5J5fyGdrrjkag9GnCJcM0DnYCSZqg=";
-        x86_64-darwin = "sha256-pFQLm967yRiAWHm7PcZRknB4H6ZoEahf4rl8CCdh5AA=";
-        aarch64-darwin = "sha256-Br6fbJUkuIe7BVJU+bGGB9UOQyn2FV+Xy4ajfdfWCcM=";
+        x86_64-linux = "sha256-hz7u6sW415h/AsGlyghImo3K54gbAS92N6L0dI8vV8Q=";
+        aarch64-linux = "sha256-DIrVgHeVvDNx0vRwXt2gzf3HDYzDeYQ2JVy+7KlrLUo=";
+        i686-linux = "sha256-B0xamHI6GnHrKLjhIBvs89keShJ45fRgyM7M214S9jY=";
+        x86_64-darwin = "sha256-ubPcl/e0nwYYw5SrN2jfrGSwLHbi99jklYMDZuVdf6s=";
+        aarch64-darwin = "sha256-4CKrelIzaXu2GccWo2ZTzGSqCMTM1qmJ0drGD8F3c0k=";
       };
     in
     fetchzip {
@@ -52,10 +52,11 @@ stdenv.mkDerivation rec {
   passthru.updateScript = ./update-bin.sh;
 
   meta = with lib; {
-    homepage = "https://www.vaultproject.io";
     description = "A tool for managing secrets, this binary includes the UI";
-    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
+    homepage = "https://www.vaultproject.io";
     license = licenses.mpl20;
     maintainers = with maintainers; teams.serokell.members ++ [ offline psyanticy Chili-Man techknowlogick ];
+    mainProgram = "vault";
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index 4fb28559483de..3c6e446df4d1c 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -29,20 +29,18 @@ python3.pkgs.buildPythonApplication rec {
     dnspython
     httpcore
     httpx
-    httpx-ntlm
-    httpx-socks
     humanize
     loguru
     Mako
     markupsafe
-    pysocks
     six
     sqlalchemy
     tld
     yaswfp
   ] ++ lib.optionals (python3.pythonOlder "3.8") [
     importlib-metadata
-  ];
+  ] ++ httpx.extras-require.brotli
+    ++ httpx.extras-require.socks;
 
   checkInputs = with python3.pkgs; [
     respx
@@ -52,8 +50,6 @@ python3.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     # Ignore pinned versions
-    substituteInPlace setup.py \
-      --replace "httpx-socks[asyncio] == 0.6.0" "httpx-socks[asyncio]"
     sed -i -e "s/==[0-9.]*//;s/>=[0-9.]*//" setup.py
     substituteInPlace setup.cfg \
       --replace " --cov --cov-report=xml" ""
diff --git a/pkgs/tools/security/yersinia/default.nix b/pkgs/tools/security/yersinia/default.nix
new file mode 100644
index 0000000000000..390ed880ca1e2
--- /dev/null
+++ b/pkgs/tools/security/yersinia/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config, fetchpatch
+, ncurses, libpcap, libnet
+# alpha version of GTK interface
+, withGtk ? false, gtk2
+# enable remote admin interface
+, enableAdmin ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yersinia";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "tomac";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "06yfpf9iyi525rly1ychsihzvw3sas8kp0nxxr99xkwiqp5dc78b";
+  };
+
+  patches = [
+    # ncurses-6.3 support, included in next release
+    (fetchpatch {
+      name = "ncurses-6.3.patch";
+      url = "https://github.com/tomac/yersinia/commit/d91bbf6f475e7ea39f131b77ce91b2de9646d5ca.patch";
+      sha256 = "fl1pZKWA+nLtBm9+3FBFqaeuVZjszQCNkNl6Cf++BAI=";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ libpcap libnet ncurses ]
+    ++ lib.optional withGtk gtk2;
+
+  autoreconfPhase = "./autogen.sh";
+
+  configureFlags = [
+    "--with-pcap-includes=${libpcap}/include"
+    "--with-libnet-includes=${libnet}/include"
+  ]
+  ++ lib.optional (!enableAdmin) "--disable-admin"
+  ++ lib.optional (!withGtk) "--disable-gtk";
+
+  makeFlags = [ "LDFLAGS=-lncurses" ];
+
+  meta = with lib; {
+    description = "A framework for layer 2 attacks";
+    homepage = "https://github.com/tomac/yersinia";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ vdot0x23 ];
+    # INSTALL and FAQ in this package seem a little outdated
+    # so not sure, but it could work on openbsd, illumos, and freebsd
+    # if you have a machine to test with, feel free to add these
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/yubihsm-connector/default.nix b/pkgs/tools/security/yubihsm-connector/default.nix
new file mode 100644
index 0000000000000..24371f8a983e3
--- /dev/null
+++ b/pkgs/tools/security/yubihsm-connector/default.nix
@@ -0,0 +1,40 @@
+{ lib, libusb1, buildGoModule, fetchFromGitHub, pkg-config }:
+
+buildGoModule rec {
+  pname = "yubihsm-connector";
+  version = "3.0.2";
+
+  src = fetchFromGitHub {
+    owner = "Yubico";
+    repo = "yubihsm-connector";
+    rev = version;
+    sha256 = "FQ64tSZN55QpXjMZITzlWOPTKSgnoCpkRngQUQHVavc=";
+  };
+
+  vendorSha256 = "kVBzdJk/1LvjdUtLqHAw9ZxDfCo3mBWVMYG/nQXpDrk=";
+
+  patches = [
+    # Awaiting a new release to fix the upstream lockfile
+    # https://github.com/Yubico/yubihsm-connector/issues/36
+    ./lockfile-fix.patch
+  ];
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libusb1
+  ];
+
+  preBuild = ''
+    go generate
+  '';
+
+  meta = with lib; {
+    description = "yubihsm-connector performs the communication between the YubiHSM 2 and applications that use it";
+    homepage = "https://developers.yubico.com/yubihsm-connector/";
+    maintainers = with maintainers; [ matthewcroughan ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch b/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch
new file mode 100644
index 0000000000000..96fdb0ec64b8a
--- /dev/null
+++ b/pkgs/tools/security/yubihsm-connector/lockfile-fix.patch
@@ -0,0 +1,115 @@
+diff --git a/go.mod b/go.mod
+index ac22dc6..0ef56b2 100644
+--- a/go.mod
++++ b/go.mod
+@@ -1,21 +1,32 @@
+ module github.com/Yubico/yubihsm-connector
+
++go 1.17
++
+ require (
+ 	github.com/google/gousb v1.1.0
+ 	github.com/google/uuid v1.1.1
+ 	github.com/kardianos/service v1.0.0
++	github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
++	github.com/sirupsen/logrus v1.4.2
++	github.com/spf13/cobra v0.0.5
++	github.com/spf13/viper v1.4.0
++	gopkg.in/yaml.v2 v2.2.2
++)
++
++require (
++	github.com/fsnotify/fsnotify v1.4.7 // indirect
++	github.com/hashicorp/hcl v1.0.0 // indirect
++	github.com/inconshreveable/mousetrap v1.0.0 // indirect
+ 	github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
+ 	github.com/magiconair/properties v1.8.1 // indirect
+-	github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb
++	github.com/mitchellh/mapstructure v1.1.2 // indirect
+ 	github.com/pelletier/go-toml v1.4.0 // indirect
+-	github.com/sirupsen/logrus v1.4.2
+ 	github.com/spf13/afero v1.2.2 // indirect
+-	github.com/spf13/cobra v0.0.5
++	github.com/spf13/cast v1.3.0 // indirect
+ 	github.com/spf13/jwalterweatherman v1.1.0 // indirect
+-	github.com/spf13/viper v1.4.0
++	github.com/spf13/pflag v1.0.3 // indirect
+ 	github.com/stretchr/testify v1.4.0 // indirect
+ 	golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3 // indirect
+ 	golang.org/x/text v0.3.2 // indirect
+ 	gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect
+-	gopkg.in/yaml.v2 v2.2.2
+ )
+diff --git a/go.sum b/go.sum
+index 71df42d..8d977ff 100644
+--- a/go.sum
++++ b/go.sum
+@@ -1,4 +1,5 @@
+ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
++github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
+ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
+ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+@@ -16,6 +17,7 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
+ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
+ github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
+ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+ github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
+@@ -45,6 +47,7 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf
+ github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
+ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
+ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
++github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
+ github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
+ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+@@ -53,10 +56,13 @@ github.com/kardianos/service v1.0.0/go.mod h1:8CzDhVuCuugtsHyZoTvsOBuvonN/UDBvl0
+ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
++github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=
+ github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
+ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
++github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
++github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+ github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
+ github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
+@@ -66,12 +72,14 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
+ github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
+ github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
+ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
++github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb h1:GFmMJZvdCkRfbfo07+lUKrB+jh2cJ+a2l6qD/3hxZ6M=
+ github.com/notdpate/evloghook v0.0.0-20180503050227-f202fa6c9ebb/go.mod h1:ukoRZyzBppMQypxM7KqEvHc4DB5uNW6NXFp1sVeXamM=
+ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
+ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
+ github.com/pelletier/go-toml v1.4.0 h1:u3Z1r+oOXJIkxqw34zVhyPgjBsm6X2wn21NWs/HfSeg=
+ github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+ github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
++github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
+ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
+ github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
+@@ -107,6 +115,7 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
+ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
++github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
+ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
+ github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
+@@ -156,6 +165,7 @@ google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij
+ gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
++gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
+ gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+ gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
+ gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
+
+
diff --git a/pkgs/tools/security/yubihsm-shell/default.nix b/pkgs/tools/security/yubihsm-shell/default.nix
new file mode 100644
index 0000000000000..06a1452400de5
--- /dev/null
+++ b/pkgs/tools/security/yubihsm-shell/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, openssl
+, libusb1
+, libedit
+, curl
+, gengetopt
+, pkg-config
+, pcsclite
+, help2man
+}:
+
+stdenv.mkDerivation rec {
+  pname = "yubihsm-shell";
+  version = "2.3.1";
+
+  src = fetchFromGitHub {
+    owner = "Yubico";
+    repo = "yubihsm-shell";
+    rev = version;
+    sha256 = "D0kXiwc+i6mKA4oHuHjgXUmLMsmY5o/VI+1aCWtNjC0=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    cmake
+    help2man
+    gengetopt
+  ];
+
+  buildInputs = [
+    libusb1
+    libedit
+    curl
+    pcsclite
+    openssl
+  ];
+
+  cmakeFlags = [
+    # help2man fails without this
+    "-DCMAKE_SKIP_BUILD_RPATH=OFF"
+  ];
+
+  postPatch = ''
+    # Can't find libyubihsm at runtime because of dlopen() in C code
+    substituteInPlace lib/yubihsm.c \
+      --replace "libyubihsm_usb.so" "$out/lib/libyubihsm_usb.so" \
+      --replace "libyubihsm_http.so" "$out/lib/libyubihsm_http.so"
+  '';
+
+  meta = with lib; {
+    description = "yubihsm-shell and libyubihsm";
+    homepage = "https://github.com/Yubico/yubihsm-shell";
+    maintainers = with maintainers; [ matthewcroughan ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/tools/security/yubikey-agent/default.nix b/pkgs/tools/security/yubikey-agent/default.nix
index d2496df94c72e..eca528f1c9047 100644
--- a/pkgs/tools/security/yubikey-agent/default.nix
+++ b/pkgs/tools/security/yubikey-agent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, buildGoModule, libnotify, makeWrapper, pcsclite, pkg-config, darwin }:
+{ stdenv, lib, fetchFromGitHub, buildGoModule, libnotify, pcsclite, pkg-config, darwin }:
 
 buildGoModule rec {
   pname = "yubikey-agent";
@@ -15,7 +15,7 @@ buildGoModule rec {
     lib.optional stdenv.isLinux (lib.getDev pcsclite)
     ++ lib.optional stdenv.isDarwin (darwin.apple_sdk.frameworks.PCSC);
 
-  nativeBuildInputs = [ makeWrapper pkg-config ];
+  nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];
 
   postPatch = lib.optionalString stdenv.isLinux ''
     substituteInPlace main.go --replace 'notify-send' ${libnotify}/bin/notify-send
@@ -27,6 +27,8 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
+  ldflags = [ "-s" "-w" "-X main.Version=${version}" ];
+
   postInstall = lib.optionalString stdenv.isLinux ''
     mkdir -p $out/lib/systemd/user
     substitute contrib/systemd/user/yubikey-agent.service $out/lib/systemd/user/yubikey-agent.service \
diff --git a/pkgs/tools/security/yubikey-touch-detector/default.nix b/pkgs/tools/security/yubikey-touch-detector/default.nix
index 476ea3dbfb507..5ea91c3012fdd 100644
--- a/pkgs/tools/security/yubikey-touch-detector/default.nix
+++ b/pkgs/tools/security/yubikey-touch-detector/default.nix
@@ -21,6 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/maximbaz/yubikey-touch-detector";
     maintainers = with maintainers; [ sumnerevans ];
     license = licenses.isc;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/zkar/default.nix b/pkgs/tools/security/zkar/default.nix
new file mode 100644
index 0000000000000..315e45cb0384f
--- /dev/null
+++ b/pkgs/tools/security/zkar/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "zkar";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "phith0n";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-TGqsiYZLbXvCc30OtvNbX4INlzw3ZfjvXal47rP7NDw=";
+  };
+
+  vendorSha256 = "sha256-HQ9qclaaDj0H8PL0oQG1WsH19wVQpynijHNcal4gWBE=";
+
+  meta = with lib; {
+    description = "Java serialization protocol analysis tool";
+    homepage = "https://github.com/phith0n/zkar";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 3559595f556f6..b34302bde5805 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -1,17 +1,20 @@
-{ lib, stdenv, fetchurl, bison, flex }:
+{ lib
+, stdenv
+, fetchurl
+, bison
+, flex
+}:
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20211217";
+  version = "20220331";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "14jrrdrl3sw438791zf2v6rjvhiq78yl7hz2ldzp83c251cgh495";
+    hash = "sha256-rK/2ixTx4IBOu/xLlyaKTMvvz6BTsC7Zkk8rFNipjiE=";
   };
 
-  NIX_CFLAGS_COMPILE = "-O3";
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ bison flex ];
 
   buildFlags = [
     "acpibin"
@@ -24,7 +27,9 @@ stdenv.mkDerivation rec {
     "iasl"
   ];
 
-  nativeBuildInputs = [ bison flex ];
+  NIX_CFLAGS_COMPILE = "-O3";
+
+  enableParallelBuilding = true;
 
   # We can handle stripping ourselves.
   INSTALLFLAGS = "-m 555";
@@ -32,10 +37,10 @@ stdenv.mkDerivation rec {
   installFlags = [ "PREFIX=${placeholder "out"}" ];
 
   meta = with lib; {
-    description = "ACPICA Tools";
     homepage = "https://www.acpica.org/";
+    description = "ACPICA Tools";
     license = with licenses; [ iasl gpl2Only bsd3 ];
-    platforms = platforms.linux;
     maintainers = with maintainers; [ tadfisher ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 8d272b15acf1f..e957c10a85cf0 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -36,7 +36,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--disable-werror"
-  ] ++ plugins.configureFlags;
+  ] ++ plugins.configureFlags
+  ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "--with-fp-layout=nothing" ];
 
   # do not create directories in /var during installPhase
   postConfigure = ''
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index 09b7b31279940..0820869fb0d11 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
+{ buildPackages, fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
 
 stdenv.mkDerivation rec {
   version = "1.6.9";
@@ -9,8 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-8l4cNfPQ8bWpnMMezCNTyoPtRqFRY4QvuocBJ9ycggY=";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+
   buildInputs = [ libgcrypt readline libgpg-error ];
 
+  configureFlags = lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
+    [ "ac_cv_file__dev_urandom=true" "ac_cv_file__dev_random=true" ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/tools/system/gohai/default.nix b/pkgs/tools/system/gohai/default.nix
index a4b07f112ae3f..40fc48b8ffa69 100644
--- a/pkgs/tools/system/gohai/default.nix
+++ b/pkgs/tools/system/gohai/default.nix
@@ -1,26 +1,28 @@
-{ lib, buildGoPackage, fetchgit }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gohai";
-  version = "2018-05-23";
-  rev = "60e13eaed98afa238ad6dfc98224c04fbb7b19b1";
+  version = "unstable-2022-04-12";
 
-  goPackagePath = "github.com/DataDog/gohai";
-
-  src = fetchgit {
-    inherit rev;
-    url    = "https://github.com/DataDog/gohai";
-    sha256 = "15hdw195f6ayrmj1nbyfpfswdai1r1z3qjw927mbma7rwql24dkr";
+  src = fetchFromGitHub {
+    owner = "DataDog";
+    repo = "gohai";
+    rev = "c614f513e87f04d3d19b2d4ae853cc5703f3a9bc";
+    sha256 = "sha256-vdzGGTg9SHYS0OQUn3VvrQGpKxzqxBRXDKOm0c7FvYY=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-aN1fwGbBm45e6qdRu+4wnv2ZI7SOsIPONB4vF9o2vlI=";
+
+  ldflags = [ "-s" "-w" ];
+
+  doCheck = false;
 
   meta = with lib; {
-    description      = "System information collector";
-    homepage         = "https://github.com/DataDog/gohai";
-    license          = licenses.mit;
-    maintainers      = [ maintainers.tazjin ];
-    platforms        = platforms.unix;
+    description = "System information collector";
+    homepage = "https://github.com/DataDog/gohai";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tazjin ];
+    platforms = platforms.unix;
 
     longDescription = ''
       Gohai is a tool which collects an inventory of system
diff --git a/pkgs/tools/system/gohai/deps.nix b/pkgs/tools/system/gohai/deps.nix
deleted file mode 100644
index f6d63e460246d..0000000000000
--- a/pkgs/tools/system/gohai/deps.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
-[
-  {
-    goPackagePath = "github.com/cihub/seelog";
-    fetch = {
-      type = "git";
-      url = "https://github.com/cihub/seelog";
-      rev = "f561c5e57575bb1e0a2167028b7339b3a8d16fb4";
-      sha256 = "0r3228hvgljgpaggj6b9mvxfsizfw25q2c1761wsvcif8gz49cvl";
-    };
-  }
-  {
-    goPackagePath = "github.com/shirou/gopsutil";
-    fetch = {
-      type = "git";
-      url = "https://github.com/shirou/gopsutil";
-      rev = "eeb1d38d69593f121e060d24d17f7b1f0936b203";
-      sha256 = "01qsznk599225gf4pld7p2m30p61y77mvzhrs6raxpk6wf7icp4w";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "77b0e4315053a57ed2962443614bdb28db152054";
-      sha256 = "1024gcv1b40i2rgvpgyw2hgy1k5g7473pn29yavwysj37m1rrplp";
-    };
-  }
-]
diff --git a/pkgs/tools/system/illum/default.nix b/pkgs/tools/system/illum/default.nix
index ffa016cabfee8..c9e87bef62144 100644
--- a/pkgs/tools/system/illum/default.nix
+++ b/pkgs/tools/system/illum/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, ninja, libevdev, libev, udev }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, ninja, libevdev, libev, udev }:
 
 stdenv.mkDerivation rec {
   pname = "illum";
@@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      name = "prevent-unplug-segfault"; # See https://github.com/jmesmon/illum/issues/19
+      url = "https://github.com/jmesmon/illum/commit/47b7cd60ee892379e5d854f79db343a54ae5a3cc.patch";
+      sha256 = "sha256-hIBBCIJXAt8wnZuyKye1RiEfOCelP3+4kcGrM43vFOE=";
+    })
+  ];
+
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ ninja libevdev libev udev ];
 
diff --git a/pkgs/tools/system/ipmitool/default.nix b/pkgs/tools/system/ipmitool/default.nix
index 2ad0d11f95f01..6020f1658e6a7 100644
--- a/pkgs/tools/system/ipmitool/default.nix
+++ b/pkgs/tools/system/ipmitool/default.nix
@@ -24,6 +24,13 @@ stdenv.mkDerivation rec {
       url = "https://github.com/ipmitool/ipmitool/commit/e824c23316ae50beb7f7488f2055ac65e8b341f2.patch";
       sha256 = "sha256-X7MnoX2fzByRpRY4p33xetT+V2aehlQ/qU+aeaqtTUY=";
     })
+    # Pull upstream patch to support upstream gcc-10:
+    #   https://github.com/ipmitool/ipmitool/pull/180
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/ipmitool/ipmitool/commit/51c7e0822f531469cf860dfa5d010c87b284b747.patch";
+      sha256 = "sha256-5UszUdVw3s2S5RCm5Exq4mqDqiYcN62in1O5+TZu9YA=";
+    })
   ];
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index d1e3065efd2a2..c9e93d42738ac 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -27,7 +27,9 @@ in stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper protobuf ];
   buildInputs = [ curl.dev zlib.dev protobuf ]
     ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
     ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ]
@@ -80,6 +82,7 @@ in stdenv.mkDerivation rec {
   configureFlags = [
     "--localstatedir=/var"
     "--sysconfdir=/etc"
+    "--disable-ebpf"
   ] ++ optionals withCloud [
     "--enable-cloud"
     "--with-aclk-ng"
diff --git a/pkgs/tools/system/nkeys/default.nix b/pkgs/tools/system/nkeys/default.nix
index 05d2d853b2480..4693763a89c62 100644
--- a/pkgs/tools/system/nkeys/default.nix
+++ b/pkgs/tools/system/nkeys/default.nix
@@ -21,5 +21,6 @@ buildGoModule rec {
     homepage = "https://github.com/nats-io/nkeys";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    mainProgram = "nk";
   };
 }
diff --git a/pkgs/tools/system/ps_mem/default.nix b/pkgs/tools/system/ps_mem/default.nix
index 073a0921f98e2..8408ed5e8d189 100644
--- a/pkgs/tools/system/ps_mem/default.nix
+++ b/pkgs/tools/system/ps_mem/default.nix
@@ -1,10 +1,8 @@
-{ lib, python2Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub }:
 
-let
-  version = "3.13";
+python3Packages.buildPythonApplication rec {
   pname = "ps_mem";
-in python2Packages.buildPythonApplication {
-  name = "${pname}-${version}";
+  version = "3.13";
 
   src = fetchFromGitHub {
     owner = "pixelb";
diff --git a/pkgs/tools/system/psensor/default.nix b/pkgs/tools/system/psensor/default.nix
index 079055bd3bae6..6e3ccc45a034c 100644
--- a/pkgs/tools/system/psensor/default.nix
+++ b/pkgs/tools/system/psensor/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include"
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include -Wno-error"
     NIX_LDFLAGS="$NIX_LDFLAGS -L${libXNVCtrl}/lib"
   '';
 
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index f11a05fdbd64d..c0894f31a0125 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2202.0";
+  version = "8.2204.1";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "sha256-5BMIpaFxk5s8vCRunUvTC+ROgBUh4EzZXQUfo4Z9Zzg=";
+    sha256 = "sha256-ptcx5GrT1k9q1LGbvxv1bKR2CkSiS7loIxidwucfcCg=";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/runitor/default.nix b/pkgs/tools/system/runitor/default.nix
new file mode 100644
index 0000000000000..5bb821afdaf1a
--- /dev/null
+++ b/pkgs/tools/system/runitor/default.nix
@@ -0,0 +1,52 @@
+{ lib, buildGoModule, fetchFromGitHub, testers, runitor }:
+
+buildGoModule rec {
+  pname = "runitor";
+  version = "0.9.2";
+  vendorSha256 = null;
+
+  src = fetchFromGitHub {
+    owner = "bdd";
+    repo = "runitor";
+    rev = "v${version}";
+    sha256 = "sha256-LuCxn4j0MlnJjSh3d18YNzNrtbqtMPxgkZttqKUGJd4";
+  };
+
+  ldflags = [
+    "-s" "-w" "-X main.Version=v${version}"
+  ];
+
+  # TODO(cole-h):
+  # End-to-end tests requiring localhost networking currently under
+  # OfBorg's Linux builders, while passing under Darwin.
+  #
+  # Ref: https://github.com/NixOS/nixpkgs/pull/170566#issuecomment-1114034891
+  #
+  # Temporarily disable tests.
+  doCheck = false;
+
+  passthru.tests.version = testers.testVersion {
+    package = runitor;
+    command = "runitor -version";
+    version = "v${version}";
+  };
+
+  # Unit tests require binding to local addresses for listening sockets.
+  __darwinAllowLocalNetworking = true;
+
+  meta = with lib; {
+    homepage = "https://bdd.fi/x/runitor";
+    description = "A command runner with healthchecks.io integration";
+    longDescription = ''
+      Runitor runs the supplied command, captures its output, and based on its exit
+      code reports successful or failed execution to https://healthchecks.io or your
+      private instance.
+
+      Healthchecks.io is a web service for monitoring periodic tasks. It's like a
+      dead man's switch for your cron jobs. You get alerted if they don't run on time
+      or terminate with a failure.
+    '';
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ bdd ];
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index 6948728f16b9a..990e7afc39a13 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, openssl, libcap, curl, which
-, eventlog, pkg-config, glib, python2, systemd, perl
+, eventlog, pkg-config, glib, python3, 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
-    python2
+    python3
     systemd
     riemann_c_client
     protobufc
diff --git a/pkgs/tools/system/taskspooler/default.nix b/pkgs/tools/system/taskspooler/default.nix
index 9899a9fb3f641..2692595477813 100644
--- a/pkgs/tools/system/taskspooler/default.nix
+++ b/pkgs/tools/system/taskspooler/default.nix
@@ -23,9 +23,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Simple single node task scheduler";
-    license = licenses.gpl2Plus;
     homepage = "https://vicerveza.homeunix.net/~viric/wsgi-bin/hgweb.wsgi/ts";
-    platforms = platforms.unix;
+    license = licenses.gpl2Plus;
     maintainers = [ maintainers.sheepforce ];
+    mainProgram = "ts";
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/bashblog/default.nix b/pkgs/tools/text/bashblog/default.nix
index 2649b5640441d..3c8d90caf8436 100644
--- a/pkgs/tools/text/bashblog/default.nix
+++ b/pkgs/tools/text/bashblog/default.nix
@@ -45,8 +45,12 @@ in stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     install -Dm755 bb.sh $out/bin/bashblog
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/text/cidrgrep/default.nix b/pkgs/tools/text/cidrgrep/default.nix
new file mode 100644
index 0000000000000..cfbfee48938a0
--- /dev/null
+++ b/pkgs/tools/text/cidrgrep/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule {
+  pname = "cidrgrep";
+  version = "unstable-2020-11-17";
+
+  src = fetchFromGitHub {
+    owner = "tomdoherty";
+    repo = "cidrgrep";
+    rev = "8ad5af533e8dc33ea18ff19b7c6a41550748fe0e";
+    sha256 = "sha256:0jvwm9jq5jd270b6l9nkvc5pr3rgf158sw83lrprmwmz7r4mr786";
+  };
+
+  vendorSha256 = "sha256:0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/cidrgrep
+  '';
+
+  meta = {
+    description = "Like grep but for IPv4 CIDRs";
+    maintainers = with lib.maintainers; [ das_j ];
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/tools/text/codesearch/default.nix b/pkgs/tools/text/codesearch/default.nix
index 40ee8c58fbcc7..b02d4fcd5fc92 100644
--- a/pkgs/tools/text/codesearch/default.nix
+++ b/pkgs/tools/text/codesearch/default.nix
@@ -1,18 +1,20 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "codesearch";
-  version = "1.0.0";
-
-  goPackagePath = "github.com/google/codesearch";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "codesearch";
     rev = "v${version}";
-    sha256 = "sha256-3kJ/JT89krbIvprWayBL4chUmT77Oa1W13UNCr4fe4k=";
+    sha256 = "sha256-i03w8PZ31j5EutUZaamZsHz+z4qgX4prePbj5DLA78s=";
   };
 
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     description = "Fast, indexed regexp search over large file trees";
     homepage = "https://github.com/google/codesearch";
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index dd03bcfa6a35d..44d50c0c9634d 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     homepage = "http://www.pell.portland.or.us/~orc/Code/discount/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ shell ];
+    mainProgram = "markdown";
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/gtranslator/default.nix b/pkgs/tools/text/gtranslator/default.nix
index d5e7922831ea2..e15941b5fc8c6 100644
--- a/pkgs/tools/text/gtranslator/default.nix
+++ b/pkgs/tools/text/gtranslator/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchurl
-, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -12,11 +11,10 @@
 , libxml2
 , libgda6
 , libhandy
-, libsoup
+, libsoup_3
 , json-glib
 , gspell
 , glib
-, libdazzle
 , gtk3
 , gtksourceview4
 , gnome
@@ -25,22 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtranslator";
-  version = "41.0";
+  version = "42.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "E28R/gOhlJkMQ6/jOL0eoK0U5+H26Gjlv3xbUsTF5eE=";
+    sha256 = "Kme8v+ZDBhsGltiaEIR9UL81kF/zNhuYcTV9PjQi8Ts=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # data/meson.build:15:5: ERROR: Function does not take positional arguments.
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gtranslator/-/commit/7ac572cc8c8c37ca3826ecf0d395edd3c38e8e22.patch";
-      sha256 = "aRg6dYweftV8F7FXykO7m0G+p4SLTFnhTcZx72UCMDE=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -55,11 +44,10 @@ stdenv.mkDerivation rec {
     libxml2
     glib
     gtk3
-    libdazzle
     gtksourceview4
     libgda6
     libhandy
-    libsoup
+    libsoup_3
     json-glib
     gettext
     gspell
diff --git a/pkgs/tools/text/opencc/default.nix b/pkgs/tools/text/opencc/default.nix
index 5ad14295e8728..fbff68abb692c 100644
--- a/pkgs/tools/text/opencc/default.nix
+++ b/pkgs/tools/text/opencc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python2 }:
+{ lib, stdenv, fetchFromGitHub, cmake, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "opencc";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-q/y4tRov/BYCAiE4i7fT6ysTerxxOHMZUWT2Jlo/0rI=";
   };
 
-  nativeBuildInputs = [ cmake python2 ];
+  nativeBuildInputs = [ cmake python3 ];
 
   # let intermediate tools find intermediate library
   preBuild = lib.optionalString stdenv.isLinux ''
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 058c2ba3daa54..62b83636b37c9 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -27,8 +27,9 @@ stdenv.mkDerivation rec {
   patches = [./malloc.patch];
 
   meta = {
-    homepage = "https://replace.richardlloyd.org.uk/";
     description = "A tool to replace verbatim strings";
+    homepage = "https://replace.richardlloyd.org.uk/";
+    mainProgram = "replace-literal";
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/rs/default.nix b/pkgs/tools/text/rs/default.nix
index 9aca92922a523..141d72dfe077d 100644
--- a/pkgs/tools/text/rs/default.nix
+++ b/pkgs/tools/text/rs/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, fetchurl, libbsd }:
+{ lib
+, stdenv
+, fetchurl
+, installShellFiles
+, libbsd
+}:
 
 stdenv.mkDerivation rec {
   pname = "rs";
@@ -9,18 +14,29 @@ stdenv.mkDerivation rec {
     sha256 = "0gxwlfk7bzivpp2260w2r6gkyl7vdi05cggn1fijfnp8kzf1b4li";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = [ libbsd ];
 
   buildPhase = ''
+    runHook preBuild
+
     ${stdenv.cc}/bin/cc utf8.c rs.c -o rs -lbsd
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     install -Dm 755 rs -t $out/bin
-    install -Dm 644 rs.1 -t $out/share/man/man1
+    installManPage rs.1
+
+    runHook postInstall
   '';
 
   meta = with lib; {
+    homepage = "http://www.mirbsd.org/htman/i386/man1/rs.htm";
     description = "Reshape a data array from standard input";
     longDescription = ''
       rs reads the standard input, interpreting each line as a row of blank-
@@ -43,8 +59,6 @@ stdenv.mkDerivation rec {
       to control presentation of the output columns, including transposition of
       the rows and columns.
     '';
-
-    homepage = "https://www.mirbsd.org/htman/i386/man1/rs.htm";
     license = licenses.bsd3;
     maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
index 061e1f709ebb4..e23e79473b1e7 100644
--- a/pkgs/tools/text/shfmt/default.nix
+++ b/pkgs/tools/text/shfmt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.4.3";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-tE7U/hE1Z/9VZTYt2jU0IE11cS01l6wTPVFuXH36sM4=";
+    sha256 = "sha256-ZhuOOZ+Lttan7R5YgpiM5okGNkSH0NRUj4hHd1ELbLI=";
   };
 
-  vendorSha256 = "sha256-ZYsQ+wE+G7xNrBN29npSxxPCz9+Wb/RsBzM5uwJkhO8=";
+  vendorSha256 = "sha256-3eao9bORPTsyCFpafp89mcL2Y7HNBlDfUsTull7qnYs=";
 
   subPackages = [ "cmd/shfmt" ];
 
diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix
index dc025f17a78b5..f282c28f8fe18 100644
--- a/pkgs/tools/text/sift/default.nix
+++ b/pkgs/tools/text/sift/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }:
 
 buildGoPackage rec {
   pname = "sift";
@@ -7,6 +7,8 @@ buildGoPackage rec {
 
   goPackagePath = "github.com/svent/sift";
 
+  nativeBuildInputs = [ installShellFiles ];
+
   src = fetchFromGitHub {
     inherit rev;
     owner = "svent";
@@ -14,12 +16,16 @@ buildGoPackage rec {
     sha256 = "0bgy0jf84z1c3msvb60ffj4axayfchdkf0xjnsbx9kad1v10g7i1";
   };
 
+  postInstall = ''
+    installShellCompletion --cmd sift --bash go/src/github.com/svent/sift/sift-completion.bash
+  '';
+
   goDeps = ./deps.nix;
 
   meta = with lib; {
     description = "A fast and powerful alternative to grep";
     homepage = "https://sift-tool.org";
-    maintainers = [ maintainers.carlsverre ];
+    maintainers = with maintainers; [ carlsverre viraptor ];
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index f1ab390e481bd..741dcaad344e0 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "html-xml-utils";
-  version = "8.3";
+  version = "8.4";
 
   src = fetchurl {
     url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "sha256-pQxNFtrWYK1nku9TvHfvqdVyl5diN3Gj/OUtjiPT0Iw=";
+    sha256 = "sha256-QbubFOH0zWEC4/jft55xRqJMCWk4aYcxZcQhdppX0Tc=";
   };
 
   buildInputs = [curl libiconv];
diff --git a/pkgs/tools/text/xml/xpf/default.nix b/pkgs/tools/text/xml/xpf/default.nix
deleted file mode 100644
index ce0813c2ef4a5..0000000000000
--- a/pkgs/tools/text/xml/xpf/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{lib, stdenv, fetchurl, python2, libxml2}:
-
-assert libxml2.pythonSupport == true;
-
-stdenv.mkDerivation rec {
-  pname = "xpf";
-  version = "0.2";
-
-  src = fetchurl {
-    url = "http://tarballs.nixos.org/xpf-${version}.tar.gz";
-    sha256 = "0ljx91w68rnh4871c0xlq2whlmhqz8dr39wcdczfjjpniqz1fmpz";
-  };
-
-  buildInputs = [ python2 libxml2 ];
-
-  meta = {
-    description = "XML Pipes and Filters - command line tools for manipulating and querying XML data";
-    homepage = "http://www.cs.uu.nl/wiki/bin/view/Martin/XmlPipesAndFilters";
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/typesetting/pdftk/legacy.nix b/pkgs/tools/typesetting/pdftk/legacy.nix
deleted file mode 100644
index 1899788703762..0000000000000
--- a/pkgs/tools/typesetting/pdftk/legacy.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ fetchurl, lib, stdenv, gcj, unzip }:
-
-stdenv.mkDerivation rec {
-  pname = "pdftk";
-  version = "2.02";
-
-  src = fetchurl {
-    url = "https://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/pdftk-${version}-src.zip";
-    sha256 = "1hdq6zm2dx2f9h7bjrp6a1hfa1ywgkwydp14i2sszjiszljnm3qi";
-  };
-
-  nativeBuildInputs = [ gcj unzip ];
-
-  hardeningDisable = [ "fortify" "format" ];
-
-  preBuild = ''
-    cd pdftk
-    sed -e 's@/usr/bin/@@g' -i Makefile.*
-    NIX_ENFORCE_PURITY= \
-      make \
-      LIBGCJ="${gcj.cc}/share/java/libgcj-${gcj.cc.version}.jar" \
-      GCJ=gcj GCJH=gcjh GJAR=gjar \
-      -iC ../java all
-  '';
-
-  # Makefile.Debian has almost fitting defaults
-  makeFlags = [ "-f" "Makefile.Debian" "VERSUFF=" ];
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/man/man1
-    cp pdftk $out/bin
-    cp ../pdftk.1 $out/share/man/man1
-  '';
-
-
-  meta = {
-    description = "Simple tool for doing everyday things with PDF documents";
-    homepage = "https://www.pdflabs.com/tools/pdftk-server/";
-    license = lib.licenses.gpl2;
-    maintainers = with lib.maintainers; [ raskin ];
-    platforms = with lib.platforms; linux;
-    broken = true; # Broken on Hydra since 2020-08-24
-  };
-}
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix
index 4bff8ab3ae301..32374149190c9 100644
--- a/pkgs/tools/typesetting/sile/default.nix
+++ b/pkgs/tools/typesetting/sile/default.nix
@@ -18,7 +18,6 @@ let
   luaEnv = lua.withPackages(ps: with ps; [
     cassowary
     cosmo
-    compat53
     linenoise
     lpeg
     lua-zlib
@@ -33,6 +32,10 @@ let
     penlight
     stdlib
     vstruct
+  ] ++ lib.optionals (lib.versionOlder lua.luaversion "5.2") [
+    bit32
+  ] ++ lib.optionals (lib.versionOlder lua.luaversion "5.3") [
+    compat53
   ]);
 in
 
diff --git a/pkgs/tools/typesetting/soupault/default.nix b/pkgs/tools/typesetting/soupault/default.nix
index a511456e02eb1..d40eb4aac8000 100644
--- a/pkgs/tools/typesetting/soupault/default.nix
+++ b/pkgs/tools/typesetting/soupault/default.nix
@@ -1,20 +1,27 @@
-{ fetchFromGitHub, ocamlPackages, lib }:
+{ lib
+, fetchFromGitea
+, ocamlPackages
+}:
 
 ocamlPackages.buildDunePackage rec {
   pname = "soupault";
-  version = "3.2.0";
+  version = "4.0.0";
 
   useDune2 = true;
 
-  src = fetchFromGitHub {
-    owner = "dmbaturin";
+  minimalOCamlVersion = "4.08";
+
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "PataphysicalSociety";
     repo = pname;
     rev = version;
-    sha256 = "sha256-T1K/ntCK19LfPmMtaAa9c1JjSL+5dax2SNhM4yUFln4=";
+    sha256 = "sha256-txNKAZMd3LReFoAtf6iaoDF+Ku3IUNDzBWUqGC2ePKw=";
   };
 
   buildInputs = with ocamlPackages; [
     base64
+    camomile
     containers
     ezjsonm
     fileutils
@@ -32,11 +39,10 @@ ocamlPackages.buildDunePackage rec {
     yaml
   ];
 
-  meta = with lib; {
+  meta = {
     description = "A tool that helps you create and manage static websites";
     homepage = "https://soupault.app/";
-    license = licenses.mit;
-    maintainers = [ maintainers.toastal ];
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ toastal ];
   };
 }
-
diff --git a/pkgs/tools/video/svt-av1/default.nix b/pkgs/tools/video/svt-av1/default.nix
index 3c45f2608ebf5..dc57cf1160975 100644
--- a/pkgs/tools/video/svt-av1/default.nix
+++ b/pkgs/tools/video/svt-av1/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "svt-av1";
-  version = "0.9.1";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     owner = "AOMediaCodec";
     repo = "SVT-AV1";
     rev = "v${version}";
-    sha256 = "sha256-PIr2bCEKj1dXKiGWloZv2v+ed6JdHK3z+p11ugWGzAk=";
+    sha256 = "sha256-M5ErWB/klVijsF+GysR0b3m180h+O+10weKr1pTh8ow=";
   };
 
   nativeBuildInputs = [ cmake nasm ];
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
     changelog = "https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/v${version}/CHANGELOG.md";
     license = with licenses; [
       aom
-      bsd2
       bsd3
     ];
     platforms = platforms.unix;
diff --git a/pkgs/tools/virtualization/govc/default.nix b/pkgs/tools/virtualization/govc/default.nix
index 00330f7d1a43e..32cfb4aa662dd 100644
--- a/pkgs/tools/virtualization/govc/default.nix
+++ b/pkgs/tools/virtualization/govc/default.nix
@@ -1,10 +1,8 @@
-{ lib, fetchFromGitHub, buildGoPackage }:
+{ lib, fetchFromGitHub, buildGoModule }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "govc";
-  version = "0.25.0";
-
-  goPackagePath = "github.com/vmware/govmomi";
+  version = "0.28.0";
 
   subPackages = [ "govc" ];
 
@@ -12,9 +10,17 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "vmware";
     repo = "govmomi";
-    sha256 = "sha256-Ri8snbmgcAZmdumKzBl3P6gf/eZgwdgg7V+ijyeZjks=";
+    sha256 = "sha256-uK1JsBJC9O8dEJbAnyeMoolKZ2WhEPsDo/is/I+gfHg=";
   };
 
+  vendorSha256 = "sha256-jbGqQITAhyBLoDa3cKU5gK+4WGgoGSCyFtzeoXx8e7k=";
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/vmware/govmomi/govc/flags.BuildVersion=${version}"
+  ];
+
   meta = {
     description = "A vSphere CLI built on top of govmomi";
     homepage = "https://github.com/vmware/govmomi/tree/master/govc";
diff --git a/pkgs/tools/virtualization/kubevirt/default.nix b/pkgs/tools/virtualization/kubevirt/default.nix
new file mode 100644
index 0000000000000..7378a6b6655ad
--- /dev/null
+++ b/pkgs/tools/virtualization/kubevirt/default.nix
@@ -0,0 +1,53 @@
+{ buildGoModule
+, fetchFromGitHub
+, installShellFiles
+, lib
+, testers
+, kubevirt
+}:
+
+buildGoModule rec {
+  pname = "kubevirt";
+  version = "0.53.0";
+
+  src = fetchFromGitHub {
+    owner = "kubevirt";
+    repo = "kubevirt";
+    rev = "v${version}";
+    sha256 = "11581mp4fjqmpy3zn9mjq651ijsxmffz9vpvbn4b5gcs9xzgr1fw";
+  };
+
+  vendorSha256 = null;
+
+  subPackages = [ "cmd/virtctl" ];
+
+  tags = [ "selinux" ];
+
+  ldflags = [
+    "-X kubevirt.io/client-go/version.gitCommit=v${version}"
+    "-X kubevirt.io/client-go/version.gitTreeState=clean"
+    "-X kubevirt.io/client-go/version.gitVersion=v${version}"
+  ];
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd virtctl \
+      --bash <($out/bin/virtctl completion bash) \
+      --fish <($out/bin/virtctl completion fish) \
+      --zsh <($out/bin/virtctl completion zsh)
+  '';
+
+  passthru.tests.version = testers.testVersion {
+    package = kubevirt;
+    command = "virtctl version --client";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Client tool to use advanced features such as console access";
+    homepage = "https://kubevirt.io/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ haslersn ];
+  };
+}
diff --git a/pkgs/tools/virtualization/lxd-image-server/default.nix b/pkgs/tools/virtualization/lxd-image-server/default.nix
index 3a1d32247a40c..aeb6ac336932c 100644
--- a/pkgs/tools/virtualization/lxd-image-server/default.nix
+++ b/pkgs/tools/virtualization/lxd-image-server/default.nix
@@ -3,6 +3,7 @@
 , rsync
 , python3
 , fetchFromGitHub
+, nixosTests
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -37,6 +38,8 @@ python3.pkgs.buildPythonApplication rec {
 
   doCheck = false;
 
+  passthru.tests.lxd-image-server = nixosTests.lxd-image-server;
+
   meta = with lib; {
     description = "Creates and manages a simplestreams lxd image server on top of nginx";
     homepage = "https://github.com/Avature/lxd-image-server";
diff --git a/pkgs/tools/virtualization/ovftool/default.nix b/pkgs/tools/virtualization/ovftool/default.nix
new file mode 100644
index 0000000000000..c4b4acdbb48d3
--- /dev/null
+++ b/pkgs/tools/virtualization/ovftool/default.nix
@@ -0,0 +1,186 @@
+{ lib, stdenv, system ? builtins.currentSystem, ovftoolBundles ? {}
+, requireFile, buildFHSUserEnv, autoPatchelfHook, makeWrapper, unzip
+, glibc, c-ares, libressl, curl, expat, icu60, xercesc, zlib
+}:
+
+let
+  version = "4.4.1-16812187";
+
+  # FHS environment required to unpack ovftool on x86.
+  ovftoolX86Unpacker = buildFHSUserEnv rec {
+    name = "ovftool-unpacker";
+    targetPkgs = pkgs: [ pkgs.bash ];
+    multiPkgs = targetPkgs;
+    runScript = "bash";
+  };
+
+  # unpackPhase for i686 and x86_64 ovftool self-extracting bundles.
+  ovftoolX86UnpackPhase = ''
+    runHook preUnpack
+    # This is a self-extracting shell script and needs a FHS environment to run.
+    # In reality, it could be doing anything, which is bad for reproducibility.
+    # Our postUnpack uses nix-hash to verify the hash to prevent problems.
+    #
+    # Note that the Arch PKGBUILD at
+    # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=vmware-ovftool
+    # appears to use xvfb-run - this hasn't been proven necessary so far.
+    #
+    cp ${ovftoolSource} ./ovftool.bundle
+    chmod +x ./ovftool.bundle
+    ${ovftoolX86Unpacker}/bin/ovftool-unpacker ./ovftool.bundle -x ovftool
+    rm ovftool.bundle
+    extracted=ovftool/vmware-ovftool/
+    if [ -d "$extracted" ]; then
+      # Move the directory we care about to ovftool/
+      mv "$extracted" .
+      rm -r ovftool
+      mv "$(basename -- "$extracted")" ovftool
+      echo "ovftool extracted successfully" >&2
+    else
+      echo "Could not find $extracted - are you sure this is ovftool?" >&2
+      rm -r ovftool
+      exit 1
+    fi
+    runHook postUnpack
+  '';
+
+  # unpackPhase for aarch64 .zip.
+  ovftoolAarch64UnpackPhase = ''
+    runHook preUnpack
+    unzip ${ovftoolSource}
+    extracted=ovftool/
+    if [ -d "$extracted" ]; then
+      echo "ovftool extracted successfully" >&2
+    else
+      echo "Could not find $extracted - are you sure this is ovftool?" >&2
+      exit 1
+    fi
+    runHook postUnpack
+  '';
+
+  # When the version is bumped, postUnpackHash will change
+  # for all these supported systems. Update it from the printed error on build.
+  #
+  # This is just a sanity check, since ovftool is a self-extracting bundle
+  # that could be doing absolutely anything on 2/3 of the supported platforms.
+  ovftoolSystems = {
+    "i686-linux" = {
+      filename = "VMware-ovftool-${version}-lin.i386.bundle";
+      sha256 = "0gx78g3s77mmpir7jbiskna10i6262ihal1ywivlb6xxxxbhqzwj";
+      unpackPhase = ovftoolX86UnpackPhase;
+      postUnpackHash = "1k8rp8ywhs0cl9aad37v1p0493bdvkxrsvwg5pgv2bhvjs4hqk7n";
+    };
+    "x86_64-linux" = {
+      filename = "VMware-ovftool-${version}-lin.x86_64.bundle";
+      sha256 = "1kp2bp4d9i8y7q25yqff2bn62mh292lws7b66lyn8ka9b35kvnzc";
+      unpackPhase = ovftoolX86UnpackPhase;
+      postUnpackHash = "0zvyakwi4iishqxxisihgh91bmdsfvj5vchm2c192hia03a143py";
+    };
+    "aarch64-linux" = {
+      filename = "VMware-ovftool-${version}-lin.aarch64.zip";
+      sha256 = "0all8bwv5p5adnzqvrly6nzmxmfpywvlbfr0finr4n100yv0v1xy";
+      unpackPhase = ovftoolAarch64UnpackPhase;
+      postUnpackHash = "16vyyzrmryi8b7mrd6nxnhywvvj2pw0ban4qfiqfahw763fn6971";
+    };
+  };
+
+  ovftoolSystem = if builtins.hasAttr system ovftoolSystems then
+                    ovftoolSystems.${system}
+                  else throw "System '${system}' is unsupported by ovftool";
+
+  ovftoolSource = if builtins.hasAttr system ovftoolBundles then
+                    ovftoolBundles.${system}
+                  else
+                    requireFile {
+                      name = ovftoolSystem.filename;
+                      url = "https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL441";
+                      sha256 = ovftoolSystem.sha256;
+                    };
+in
+stdenv.mkDerivation rec {
+  pname = "ovftool";
+  inherit version;
+
+  src = ovftoolSource;
+
+  buildInputs = [
+    glibc
+    libressl
+    c-ares
+    (curl.override { openssl = libressl; })
+    expat
+    icu60
+    xercesc
+    zlib
+  ];
+
+  nativeBuildInputs = [ autoPatchelfHook makeWrapper unzip ];
+
+  sourceRoot = ".";
+
+  unpackPhase = ovftoolSystem.unpackPhase;
+
+  postUnpackHash = ovftoolSystem.postUnpackHash;
+
+  # Expects a directory named 'ovftool' containing the ovftool install.
+  # Based on https://aur.archlinux.org/packages/vmware-ovftool/
+  # with the addition of a libexec directory and a Nix-style binary wrapper.
+  installPhase = ''
+    runHook preInstall
+    if [ -d ovftool ]; then
+      # Ensure we're in the staging directory
+      cd ovftool
+    fi
+    # libraries
+    install -m 755 -d "$out/lib/${pname}"
+    # These all appear to be VMWare proprietary except for libgoogleurl.
+    # The rest of the libraries that the installer extracts are omitted here,
+    # and provided in buildInputs.
+    #
+    # FIXME: can we replace libgoogleurl? Possibly from Chromium?
+    #
+    install -m 644 -t "$out/lib/${pname}" \
+      libgoogleurl.so.59 \
+      libssoclient.so \
+      libvim-types.so libvmacore.so libvmomi.so
+    # ovftool specifically wants 1.0.2 but our libcrypto is named 1.0.0
+    ln -s "${lib.getLib libressl}/lib/libcrypto.so" \
+      "$out/lib/${pname}/libcrypto.so.1.0.2"
+    ln -s "${lib.getLib libressl}/lib/libssl.so" \
+      "$out/lib/${pname}/libssl.so.1.0.2"
+    # libexec
+    install -m 755 -d "$out/libexec/${pname}"
+    install -m 755 -t "$out/libexec/${pname}" ovftool.bin
+    install -m 644 -t "$out/libexec/${pname}" icudt44l.dat
+    # libexec resources
+    for subdir in "certs" "env" "env/en" "schemas/DMTF" "schemas/vmware"; do
+      install -m 755 -d "$out/libexec/${pname}/$subdir"
+      install -m 644 -t "$out/libexec/${pname}/$subdir" "$subdir"/*.*
+    done
+    # EULA/OSS files
+    install -m 755 -d "$out/share/licenses/${pname}"
+    install -m 644 -t "$out/share/licenses/${pname}" \
+      "vmware.eula" "vmware-eula.rtf" "open_source_licenses.txt"
+    # documentation files
+    install -m 755 -d "$out/share/doc/${pname}"
+    install -m 644 -t "$out/share/doc/${pname}" "README.txt"
+    # binary wrapper; note that LC_CTYPE is defaulted to en_US.UTF-8 by
+    # VMWare's wrapper script. We use C.UTF-8 instead.
+    install -m 755 -d "$out/bin"
+    makeWrapper "$out/libexec/${pname}/ovftool.bin" "$out/bin/ovftool" \
+      --set-default LC_CTYPE C.UTF-8 \
+      --prefix LD_LIBRARY_PATH : "$out/lib"
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    addAutoPatchelfSearchPath "$out/lib"
+  '';
+
+  meta = with lib; {
+    description = "VMWare tools for working with OVF, OVA, and VMX images";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ numinit wolfangaukang ];
+    platforms = builtins.attrNames ovftoolSystems;
+  };
+}
diff --git a/pkgs/tools/wayland/kanshi/default.nix b/pkgs/tools/wayland/kanshi/default.nix
index 6373af70b2e88..0b906f0aa988f 100644
--- a/pkgs/tools/wayland/kanshi/default.nix
+++ b/pkgs/tools/wayland/kanshi/default.nix
@@ -6,6 +6,7 @@
 , pkg-config
 , scdoc
 , wayland
+, wayland-scanner
 }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +20,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-RVMeS2qEjTYK6r7IwMeFSqfRpKR8di2eQXhewfhTnYI=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config scdoc ];
+  strictDeps = true;
+  depsBuildBuild = [
+    pkg-config
+  ];
+  nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland ];
 
   meta = with lib; {
diff --git a/pkgs/tools/wayland/oguri/default.nix b/pkgs/tools/wayland/oguri/default.nix
index 458ea310a01df..c9abe1d016c00 100644
--- a/pkgs/tools/wayland/oguri/default.nix
+++ b/pkgs/tools/wayland/oguri/default.nix
@@ -8,6 +8,7 @@
 , gdk-pixbuf
 , wayland
 , wayland-protocols
+, wayland-scanner
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +22,8 @@ stdenv.mkDerivation rec {
     sha256 = "sXNvpI/YPDPd2cXQAfRO4ut21gSCXxbo1DpaZmHJDYQ=";
   };
 
-  nativeBuildInputs = [ pkg-config meson ninja ];
+  strictDeps = true;
+  nativeBuildInputs = [ pkg-config meson ninja wayland-scanner ];
   buildInputs = [
     cairo
     gdk-pixbuf
diff --git a/pkgs/tools/wayland/slurp/default.nix b/pkgs/tools/wayland/slurp/default.nix
index 1105813550fb7..87238a50f560e 100644
--- a/pkgs/tools/wayland/slurp/default.nix
+++ b/pkgs/tools/wayland/slurp/default.nix
@@ -8,6 +8,7 @@
 , libxkbcommon
 , wayland
 , wayland-protocols
+, wayland-scanner
 , buildDocs ? true, scdoc
 }:
 
@@ -22,10 +23,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-5ZB34rqLyZmfjT/clxNRDmF0qgITFZ5xt/gIEXQzvQE=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     meson
     ninja
     pkg-config
+    wayland-scanner
   ] ++ lib.optional buildDocs scdoc;
 
   buildInputs = [
diff --git a/pkgs/tools/wayland/swaykbdd/default.nix b/pkgs/tools/wayland/swaykbdd/default.nix
index e4f480dba8ef4..cb46519ac345c 100644
--- a/pkgs/tools/wayland/swaykbdd/default.nix
+++ b/pkgs/tools/wayland/swaykbdd/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-umYPVkkYeu6TyVkjDsVBsRZLYh8WyseCPdih85kTz6A=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config ];
   buildInputs = [ json_c ];
 
diff --git a/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix b/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
index 4008461cc15f2..8c7708c3e3db1 100644
--- a/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
+++ b/pkgs/tools/wayland/wayland-proxy-virtwl/default.nix
@@ -1,7 +1,6 @@
 { lib
 , fetchFromGitHub
 , ocamlPackages
-, buildPackages
 }:
 
 ocamlPackages.buildDunePackage rec {
@@ -23,8 +22,9 @@ ocamlPackages.buildDunePackage rec {
   useDune2 = true;
   minimumOCamlVersion = "4.08";
 
+  strictDeps = true;
   nativeBuildInputs = [
-    buildPackages.ocamlPackages.ppx_cstruct
+    ocamlPackages.ppx_cstruct
   ];
 
   buildInputs = with ocamlPackages; [
@@ -32,6 +32,7 @@ ocamlPackages.buildDunePackage rec {
     cmdliner
     logs
     cstruct-lwt
+    ppx_cstruct
   ];
 
   doCheck = true;
diff --git a/pkgs/tools/wayland/wayland-utils/default.nix b/pkgs/tools/wayland/wayland-utils/default.nix
index d685bde83f95c..ff3eb8a676c32 100644
--- a/pkgs/tools/wayland/wayland-utils/default.nix
+++ b/pkgs/tools/wayland/wayland-utils/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1h38l850ww6hxjb1l8iwa33nkbz8q88bw6lh0aryjyp8b16crzk4";
   };
 
+  strictDeps = true;
   depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ meson pkg-config ninja wayland-scanner ];
   buildInputs = [ wayland wayland-protocols ];
diff --git a/pkgs/tools/wayland/wdomirror/default.nix b/pkgs/tools/wayland/wdomirror/default.nix
index 8fddf51f539d5..5d69ce66f6d4b 100644
--- a/pkgs/tools/wayland/wdomirror/default.nix
+++ b/pkgs/tools/wayland/wdomirror/default.nix
@@ -6,6 +6,8 @@
 , pkg-config
 , wayland
 , wayland-protocols
+, fetchpatch
+, wayland-scanner
 }:
 
 stdenv.mkDerivation {
@@ -19,9 +21,18 @@ stdenv.mkDerivation {
     sha256 = "1fz0sajhdjqas3l6mpik8w1k15wbv65hgh9r9vdgfqvw5l6cx7jv";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland-protocols ];
+  patches = [
+    # https://github.com/progandy/wdomirror/pull/7
+    (fetchpatch {
+      url = "https://github.com/progandy/wdomirror/commit/142632208e9ea2b4a4ebd784532efdb8cad7b87c.patch";
+      hash = "sha256-MG71IEwRAjjacAkRoB7Tn45+FbY7LAqTDkVJkoWuQUU=";
+    })
+  ];
 
-  buildInputs = [ wayland ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+
+  buildInputs = [ wayland wayland-protocols ];
 
   installPhase = ''
     runHook preInstall
diff --git a/pkgs/tools/wayland/wev/default.nix b/pkgs/tools/wayland/wev/default.nix
index d04cee342b7e3..293a440fcc0fd 100644
--- a/pkgs/tools/wayland/wev/default.nix
+++ b/pkgs/tools/wayland/wev/default.nix
@@ -20,6 +20,10 @@ stdenv.mkDerivation rec {
     sha256 = "0l71v3fzgiiv6xkk365q1l08qvaymxd4kpaya6r2g8yzkr7i2hms";
   };
 
+  # for scdoc
+  depsBuildBuild = [
+    pkg-config
+  ];
   nativeBuildInputs = [ pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols libxkbcommon ];
 
diff --git a/pkgs/tools/wayland/wl-clipboard-x11/default.nix b/pkgs/tools/wayland/wl-clipboard-x11/default.nix
index b5d15b4a978ea..daa040c5cb5a8 100644
--- a/pkgs/tools/wayland/wl-clipboard-x11/default.nix
+++ b/pkgs/tools/wayland/wl-clipboard-x11/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, wl-clipboard }:
+{ lib, stdenv, fetchFromGitHub, wl-clipboard, bash }:
 
 stdenv.mkDerivation rec {
   pname = "wl-clipboard-x11";
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     hash = "sha256-i+oF1Mu72O5WPTWzqsvo4l2CERWWp4Jq/U0DffPZ8vg=";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   postPatch = ''
diff --git a/pkgs/tools/wayland/wl-clipboard/default.nix b/pkgs/tools/wayland/wl-clipboard/default.nix
index 0bc195e962608..40857a4720334 100644
--- a/pkgs/tools/wayland/wl-clipboard/default.nix
+++ b/pkgs/tools/wayland/wl-clipboard/default.nix
@@ -6,6 +6,7 @@
 , pkg-config
 , wayland
 , wayland-protocols
+, wayland-scanner
 }:
 
 stdenv.mkDerivation rec {
@@ -19,8 +20,9 @@ stdenv.mkDerivation rec {
     sha256 = "0c4w87ipsw09aii34szj9p0xfy0m00wyjpll0gb0aqmwa60p0c5d";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config wayland-protocols ];
-  buildInputs = [ wayland ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
+  buildInputs = [ wayland wayland-protocols ];
 
   meta = with lib; {
     homepage = "https://github.com/bugaevc/wl-clipboard";
@@ -30,4 +32,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-# TODO: is wayland-protocols a nativeBuildInput or a buildInput?
diff --git a/pkgs/tools/wayland/wl-color-picker/default.nix b/pkgs/tools/wayland/wl-color-picker/default.nix
index 784920712c94b..9fcbc76bff28e 100644
--- a/pkgs/tools/wayland/wl-color-picker/default.nix
+++ b/pkgs/tools/wayland/wl-color-picker/default.nix
@@ -7,6 +7,7 @@
 , wl-clipboard
 , imagemagick
 , makeWrapper
+, bash
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +21,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-lvhpXy4Sd1boYNGhbPoZTJlBhlW5obltDOrEzB1Gq0A=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bash ];
 
   patchPhase = ''
     substituteInPlace Makefile \
diff --git a/pkgs/tools/wayland/wl-gammactl/default.nix b/pkgs/tools/wayland/wl-gammactl/default.nix
index 98bfc40169a90..3aae67b47359d 100644
--- a/pkgs/tools/wayland/wl-gammactl/default.nix
+++ b/pkgs/tools/wayland/wl-gammactl/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub
 , meson, pkg-config, ninja
-, wayland, wayland-scanner, wlroots, wlr-protocols, gtk3
+, wayland, wayland-scanner, wlroots, wlr-protocols, gtk3, glib
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "8iMJK4O/sNIGPOBZQEfK47K6OjT6sxYFe19O2r/VSr8=";
   };
 
-  nativeBuildInputs = [ meson pkg-config ninja ];
+  strictDeps = true;
+  nativeBuildInputs = [ meson pkg-config ninja glib wayland-scanner ];
   buildInputs = [ wayland wlroots gtk3 ];
 
   postUnpack = ''
diff --git a/pkgs/tools/wayland/wl-mirror/default.nix b/pkgs/tools/wayland/wl-mirror/default.nix
index 02907ba8d2371..3b876c5306092 100644
--- a/pkgs/tools/wayland/wl-mirror/default.nix
+++ b/pkgs/tools/wayland/wl-mirror/default.nix
@@ -8,6 +8,7 @@
 , wayland-scanner
 , wlr-protocols
 , libGL
+, bash
 , installExampleScripts ? true
 , makeWrapper
 , pipectl
@@ -35,6 +36,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-D5uUKaepcSW9v2x6uBeLGXAyuLorlt4Lb6lZD/prfp8=";
   };
 
+  strictDeps = true;
+  nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper ];
+  buildInputs = [ libGL wayland wayland-protocols wlr-protocols bash ];
+
   postPatch = ''
     echo 'v${version}' > version.txt
     substituteInPlace CMakeLists.txt \
@@ -50,9 +55,6 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/wl-present --prefix PATH ":" ${wl-present-binpath}
   '';
 
-  nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper ];
-  buildInputs = [ libGL wayland wayland-protocols wlr-protocols ];
-
   meta = with lib; {
     homepage = "https://github.com/Ferdi265/wl-mirror";
     description = "Mirrors an output onto a Wayland surface.";
diff --git a/pkgs/tools/wayland/wlogout/default.nix b/pkgs/tools/wayland/wlogout/default.nix
index d9d4421260106..7f9935b6c3c59 100644
--- a/pkgs/tools/wayland/wlogout/default.nix
+++ b/pkgs/tools/wayland/wlogout/default.nix
@@ -10,6 +10,11 @@
 , wayland
 , wayland-protocols
 , gtk-layer-shell
+# gtk-layer-shell fails to cross-compile due to a hard dependency
+# on gobject-introspection.
+# Disable it when cross-compiling since it's an optional dependency.
+# This disables transparency support.
+, withGtkLayerShell ? (stdenv.buildPlatform == stdenv.hostPlatform)
 }:
 
 stdenv.mkDerivation rec {
@@ -23,12 +28,15 @@ stdenv.mkDerivation rec {
     sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [ pkg-config ];
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     gtk3
     libxkbcommon
     wayland
     wayland-protocols
+  ] ++ lib.optionals withGtkLayerShell [
     gtk-layer-shell
   ];
 
diff --git a/pkgs/tools/wayland/wlr-randr/default.nix b/pkgs/tools/wayland/wlr-randr/default.nix
index fe140720973e6..b6e29152e1951 100644
--- a/pkgs/tools/wayland/wlr-randr/default.nix
+++ b/pkgs/tools/wayland/wlr-randr/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
   buildInputs = [ wayland ];
 
diff --git a/pkgs/tools/wayland/wlrctl/default.nix b/pkgs/tools/wayland/wlrctl/default.nix
index 7cb54d381b0ba..4de7699b35f87 100644
--- a/pkgs/tools/wayland/wlrctl/default.nix
+++ b/pkgs/tools/wayland/wlrctl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland }:
+{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland, wayland-scanner }:
 
 stdenv.mkDerivation rec {
   pname = "wlrctl";
@@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "039cxc82k7x473n6d65jray90rj35qmfdmr390zy0c7ic7vn4b78";
   };
 
-  nativeBuildInputs = [ meson pkg-config scdoc ninja ];
+  strictDeps = true;
+  depsBuildBuild = [
+    pkg-config
+  ];
+  nativeBuildInputs = [ meson pkg-config scdoc ninja wayland-scanner ];
   buildInputs = [ libxkbcommon wayland ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=type-limits";
diff --git a/pkgs/tools/wayland/wlsunset/default.nix b/pkgs/tools/wayland/wlsunset/default.nix
index 7ced81616f63c..dcff3dff9cb4b 100644
--- a/pkgs/tools/wayland/wlsunset/default.nix
+++ b/pkgs/tools/wayland/wlsunset/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
     sha256 = "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [
+    pkg-config
+  ];
   nativeBuildInputs = [ meson pkg-config ninja wayland-scanner scdoc ];
   buildInputs = [ wayland wayland-protocols ];
 
diff --git a/pkgs/tools/wayland/wob/default.nix b/pkgs/tools/wayland/wob/default.nix
index 5434132cd3d3c..75f23051c6eaa 100644
--- a/pkgs/tools/wayland/wob/default.nix
+++ b/pkgs/tools/wayland/wob/default.nix
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-CXRBNnnhNV5LBIasVtmGrRG4ZXFGC7qNInU7Y0QsHbs=";
   };
 
+  strictDeps = true;
+  depsBuildBuild = [
+    pkg-config
+  ];
   nativeBuildInputs = [ meson ninja pkg-config scdoc wayland-scanner ];
   buildInputs = [ wayland wayland-protocols ]
     ++ lib.optional stdenv.isLinux libseccomp;
diff --git a/pkgs/tools/wayland/wshowkeys/default.nix b/pkgs/tools/wayland/wshowkeys/default.nix
index 32fb81fe18866..3ce14b5438796 100644
--- a/pkgs/tools/wayland/wshowkeys/default.nix
+++ b/pkgs/tools/wayland/wshowkeys/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/HvNCQWsXOJZeCxHWmsLlbBDhBzF7XP/SPLdDiWMDC4=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson pkg-config wayland-scanner ninja ];
   buildInputs = [ cairo libinput pango wayland wayland-protocols libxkbcommon ];
 
diff --git a/pkgs/tools/wayland/wtype/default.nix b/pkgs/tools/wayland/wtype/default.nix
index 452f51a04de9b..5928b9dd489dd 100644
--- a/pkgs/tools/wayland/wtype/default.nix
+++ b/pkgs/tools/wayland/wtype/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-TfpzAi0mkXugQn70MISyNFOXIJpDwvgh3enGv0Xq8S4=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
   buildInputs = [ libxkbcommon wayland ];
 
diff --git a/pkgs/tools/wayland/ydotool/default.nix b/pkgs/tools/wayland/ydotool/default.nix
index 15bc499873313..8f142ef648816 100644
--- a/pkgs/tools/wayland/ydotool/default.nix
+++ b/pkgs/tools/wayland/ydotool/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-maXXGCqB8dkGO8956hsKSwM4HQdYn6z1jBFENQ9sKcA=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ cmake scdoc ];
 
   postInstall = ''
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 94cf34a7d2797..2abec13745e11 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -92,7 +92,9 @@ mapAliases ({
   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
+  awesome-4-0 = awesome; # Added 2022-05-05
   aws-okta = throw "aws-okta is on indefinite hiatus. See https://github.com/segmentio/aws-okta/issues/278"; # Added 2022-04-05;
+  axoloti = throw "axoloti has been removed: abandoned by upstream"; # Added 2022-05-13
   azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02
 
   ### B ###
@@ -105,6 +107,10 @@ mapAliases ({
   bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07
   bazaar = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
   bazaarTools = throw "bazaar has been deprecated by breezy"; # Added 2020-04-19
+  bazel_0 = throw "bazel 0 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_0_27 = throw "bazel 0.27 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_0_29 = throw "bazel 0.29 is past end of life as it is not an lts version"; # Added 2022-05-09
+  bazel_1 = throw "bazel 1 is past end of life as it is not an lts version"; # Added 2022-05-09
   bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
   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
@@ -146,6 +152,7 @@ mapAliases ({
 
   c14 = throw "c14 is deprecated and archived by upstream"; # Added 2022-04-10
   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
+  caffe2 = throw "caffe2 has been removed: subsumed under the PyTorch project"; # Added 2022-04-25
   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
   callPackage_i686 = pkgsi686Linux.callPackage;
@@ -199,6 +206,7 @@ mapAliases ({
   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
+  ctl = throw "ctl has been removed: abandoned by upstream"; # Added 2022-05-13
 
   # CUDA Toolkit
   cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # Added 2021-02-14
@@ -265,6 +273,7 @@ mapAliases ({
   cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
   cupsBjnp = throw "'cupsBjnp' has been renamed to/replaced by 'cups-bjnp'"; # Converted to throw 2022-02-22
   cups_filters = throw "'cups_filters' has been renamed to/replaced by 'cups-filters'"; # Converted to throw 2022-02-22
+  curlcpp = throw "curlcpp has been removed, no active maintainers and no usage within nixpkgs"; # Added 2022-05-10
   curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages"; # Added 2022-01-12
   curaLulzbot = throw "curaLulzbot has been removed due to insufficient upstream support for a modern dependency chain"; # Added 2021-10-23
   cv = throw "'cv' has been renamed to/replaced by 'progress'"; # Converted to throw 2022-02-22
@@ -278,6 +287,7 @@ mapAliases ({
   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;
+  dashpay = throw "'dashpay' has been removed because it was unmaintained"; # Added 2022-05-12
   dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
   dbus_glib = throw "'dbus_glib' has been renamed to/replaced by 'dbus-glib'"; # Converted to throw 2022-02-22
   dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
@@ -307,8 +317,10 @@ mapAliases ({
   demjson = with python3Packages; toPythonApplication demjson; # Added 2022-01-18
   desktop_file_utils = throw "'desktop_file_utils' has been renamed to/replaced by 'desktop-file-utils'"; # Converted to throw 2022-02-22
   devicemapper = throw "'devicemapper' has been renamed to/replaced by 'lvm2'"; # Converted to throw 2022-02-22
+  dfu-util-axoloti = throw "dfu-util-axoloti has been removed: abandoned by upstream"; # Added 2022-05-13
   dhall-text = throw "'dhall-text' has been deprecated in favor of the 'dhall text' command from 'dhall'"; # Added 2022-03-26
   digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
+  dirmngr = throw "dirmngr has been removed: merged into gnupg"; # Added 2022-05-13
   disper = throw "disper has been removed: abandoned by upstream"; # Added 2022-03-18
   displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3"; # Added 2022-01-12
   dmtx = throw "'dmtx' has been renamed to/replaced by 'dmtx-utils'"; # Converted to throw 2022-02-22
@@ -324,6 +336,7 @@ mapAliases ({
   double_conversion = throw "'double_conversion' has been renamed to/replaced by 'double-conversion'"; # Converted to throw 2022-02-22
   dragon-drop = throw "'dragon-drop' has been removed in favor of 'xdragon'"; # Added 2022-04-10;
   draftsight = throw "draftsight has been removed, no longer available as freeware"; # Added 2020-08-14
+  dust = throw "dust has been removed: abandoned by upstream"; # Added 2022-04-21
   dvb_apps = throw "dvb_apps has been removed"; # Added 2020-11-03
   dwarf_fortress = throw "'dwarf_fortress' has been renamed to/replaced by 'dwarf-fortress'"; # Converted to throw 2022-02-22
   dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose"; # Added 2021-02-07
@@ -377,6 +390,7 @@ mapAliases ({
   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
+  feedreader = throw "feedreader is no longer activily maintained since 2019. The developer is working on a spiritual successor called NewsFlash."; # Added 2022-05-03
   fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H";
   ffadoFull = throw "'ffadoFull' has been renamed to/replaced by 'ffado'"; # Converted to throw 2022-02-22
   ffmpeg-sixel = throw "ffmpeg-sixel has been removed, because it was an outdated/unmaintained fork of ffmpeg"; # Added 2022-03-23";
@@ -394,6 +408,8 @@ mapAliases ({
   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
+  flatbuffers_1_12 = throw "FlatBuffers version 1.12 has been removed, because upstream no longer maintains it"; # Added 2022-05-12
+  flatbuffers_2_0 = flatbuffers; # Added 2022-05-12
   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
@@ -540,7 +556,8 @@ mapAliases ({
   holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
   htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
   ht-rust = xh; # Added 2021-02-13
-  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now"; # Added 2020-04-06
+  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra_unstable` now"; # Added 2020-04-06
+  hydra-unstable = hydra_unstable; # added 2022-05-10
 
   ### I ###
 
@@ -682,6 +699,7 @@ mapAliases ({
   libudev = throw "'libudev' has been renamed to/replaced by 'udev'"; # Converted to throw 2022-02-22
   libungif = giflib; # Added 2020-02-12
   libusb = libusb1; # Added 2020-04-28
+  libusb1-axoloti = throw "libusb1-axoloti has been removed: axoloti has been removed"; # Added 2022-05-13
   libva-full = throw "'libva-full' has been renamed to/replaced by 'libva'"; # Converted to throw 2022-02-22
   libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22
   libwnck3 = libwnck;
@@ -767,6 +785,7 @@ mapAliases ({
   lua5_1_sockets = throw "'lua5_1_sockets' has been renamed to/replaced by 'lua51Packages.luasocket'"; # Converted to throw 2022-02-22
   lua5_expat = throw "'lua5_expat' has been renamed to/replaced by 'luaPackages.luaexpat'"; # Converted to throw 2022-02-22
   lua5_sec = throw "'lua5_sec' has been renamed to/replaced by 'luaPackages.luasec'"; # Converted to throw 2022-02-22
+  lumo = throw "lumo has been removed: abandoned by upstream"; # Added 2022-04-25
   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
@@ -797,6 +816,8 @@ mapAliases ({
   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
+  minetestclient_4 = throw "minetestclient_4 has been removed from Nixpkgs; current version is available at minetest or minetestclient"; # added 2022-02-01
+  minetestserver_4 = throw "minetestserver_4 has been removed from Nixpkgs; current version is available at minetestserver"; # added 2022-02-01
   minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
   mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
   mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
@@ -847,7 +868,6 @@ mapAliases ({
   navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
   ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
   neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
-  netcat-openbsd = throw "'netcat-openbsd' has been renamed to/replaced by 'libressl.nc'"; # Converted to throw 2022-02-22
   netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31
   networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
   networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22
@@ -869,8 +889,10 @@ mapAliases ({
   nix_2_5 = nixVersions.nix_2_5;
   nix_2_6 = nixVersions.nix_2_6;
   nixopsUnstable = nixops_unstable; # Added 2022-03-03
+  nixosTest = testers.nixosTest; # Added 2022-05-05
   nmap-unfree = nmap; # Added 2021-04-06
-  nmap_graphical = throw "'nmap_graphical' has been renamed to/replaced by 'nmap-graphical'"; # Converted to throw 2022-02-22
+  nmap-graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Added 2022-04-26
+  nmap_graphical = throw "nmap graphical support has been removed due to its python2 dependency"; # Modified 2022-04-26
   nologin = throw "'nologin' has been renamed to/replaced by 'shadow'"; # Converted to throw 2022-02-22
   nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27
   noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
@@ -881,10 +903,12 @@ mapAliases ({
 
   ### O ###
 
+  oathToolkit = oath-toolkit; # Added 2022-04-04
   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
+  ocropus = throw "ocropus has been removed: abandoned by upstream"; # Added 2022-04-24
   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
   odpdown = throw "odpdown has been removed because it lacks python3 support"; # Added 2022-04-25
@@ -937,7 +961,9 @@ mapAliases ({
   pgp-tools = throw "'pgp-tools' has been renamed to/replaced by 'signing-party'"; # Converted to throw 2022-02-22
   pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
   phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
+  phantomjs2 = throw "phantomjs2 has been dropped due to lack of maintenance"; # Added 2022-04-22
   philter = throw "philter has been removed: abandoned by upstream"; # Added 2022-04-26
+  phwmon = throw "phwmon has been removed: abandoned by upstream"; # Added 2022-04-24
 
   # 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
@@ -1001,6 +1027,7 @@ mapAliases ({
   pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed"; # Added 2022-01-19
   ping = throw "'ping' does not build with recent valac and has been removed. If you are just looking for the 'ping' command use either 'iputils' or 'inetutils'"; # Added 2022-04-18
   piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
+  pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21
   pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
   pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
   planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK"; # Added 2021-02-02
@@ -1013,6 +1040,7 @@ mapAliases ({
   polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
   poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
   powerdns = pdns; # Added 2022-03-28
+  portaudio2014 = throw "'portaudio2014' has been removed"; # Added 2022-05-10
 
   # postgresql
   postgresql96 = postgresql_9_6;
@@ -1056,6 +1084,7 @@ mapAliases ({
   pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22
   pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire"; # Added 2021-02-13
   pulseeffects-pw = easyeffects; # Added 2021-07-07
+  py-wmi-client = throw "py-wmi-client has been removed: abandoned by upstream"; # Added 2022-04-26
   pydb = throw "pydb has been removed: abandoned by upstream"; # Added 2022-04-22
   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";
@@ -1221,6 +1250,7 @@ mapAliases ({
   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
+  split2flac = throw "split2flac has been removed. Consider using the shnsplit command from shntool package or help packaging unflac."; # added 2022-01-13
   spring-boot = spring-boot-cli; # added 2020-04-24
   sqlite3_analyzer = throw "'sqlite3_analyzer' has been renamed to/replaced by 'sqlite-analyzer'"; # Converted to throw 2022-02-22
   sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22
@@ -1272,6 +1302,7 @@ mapAliases ({
   terraform_1_0_0 = throw "terraform_1_0_0 has been renamed to terraform_1"; # Added 2021-06-15
   tesseract_4 = throw "'tesseract_4' has been renamed to/replaced by 'tesseract4'"; # Converted to throw 2022-02-22
   testVersion = testers.testVersion; # Added 2022-04-20
+  invalidateFetcherByDrvHash = testers.invalidateFetcherByDrvHash; # Added 2022-05-05
   tex-gyre-bonum-math = throw "'tex-gyre-bonum-math' has been renamed to/replaced by 'tex-gyre-math.bonum'"; # Converted to throw 2022-02-22
   tex-gyre-pagella-math = throw "'tex-gyre-pagella-math' has been renamed to/replaced by 'tex-gyre-math.pagella'"; # Converted to throw 2022-02-22
   tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22
@@ -1305,12 +1336,14 @@ mapAliases ({
   tshark = throw "'tshark' has been renamed to/replaced by 'wireshark-cli'"; # Converted to throw 2022-02-22
   tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
   turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
+  twister = throw "twister has been removed: abandoned by upstream and python2-only"; # Added 2022-04-26
   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
+  uchiwa = throw "uchiwa is deprecated and archived by upstream"; # Added 2022-05-02
   ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22
   ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11
   ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
@@ -1390,6 +1423,7 @@ mapAliases ({
   xmonad_log_applet_gnome3 = throw "'xmonad_log_applet_gnome3' has been renamed to/replaced by 'xmonad_log_applet'"; # Converted to throw 2022-02-22
   xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only";
   xp-pen-g430 = pentablet-driver; # Added 2020-05-03
+  xpf = throw "xpf has been removed: abandoned by upstream"; # Added 2022-04-26
   xf86_video_nouveau = throw "'xf86_video_nouveau' has been renamed to/replaced by 'xorg.xf86videonouveau'"; # Converted to throw 2022-02-22
   xf86_input_mtrack = throw ''
     xf86_input_mtrack has been removed from nixpkgs as it is broken and
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 47d3dd1d701c5..9d0f42e685fa9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -161,7 +161,9 @@ with pkgs;
     autoconf = autoconf269;
   };
 
-  autorestic = callPackage ../tools/backup/autorestic { };
+  autorestic = callPackage ../tools/backup/autorestic {
+    buildGoModule = buildGo118Module;
+  };
 
   autoPatchelfHook = makeSetupHook {
     name = "auto-patchelf-hook";
@@ -406,6 +408,8 @@ with pkgs;
 
   protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc { };
 
+  protoc-gen-entgrpc = callPackage ../development/tools/protoc-gen-entgrpc { };
+
   protoc-gen-go = callPackage ../development/tools/protoc-gen-go { };
 
   protoc-gen-go-grpc = callPackage ../development/tools/protoc-gen-go-grpc { };
@@ -438,6 +442,8 @@ with pkgs;
 
   enum4linux-ng = python3Packages.callPackage ../tools/security/enum4linux-ng { };
 
+  erosmb = callPackage ../tools/security/erosmb { };
+
   onesixtyone = callPackage ../tools/security/onesixtyone {};
 
   oletools = with python3.pkgs; toPythonApplication oletools;
@@ -600,7 +606,9 @@ with pkgs;
 
   packr = callPackage ../development/libraries/packr { };
 
-  perseus-cli = callPackage ../development/tools/perseus-cli { };
+  perseus-cli = callPackage ../development/tools/perseus-cli {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   pet = callPackage ../development/tools/pet { };
 
@@ -617,8 +625,8 @@ with pkgs;
   mysql-shell = callPackage ../development/tools/mysql-shell {
     inherit (darwin) cctools developer_cmds DarwinTools;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
-    boost = boost173; # Configure checks for specific version.
-    protobuf = protobuf3_11;
+    boost = boost177; # Configure checks for specific version.
+    protobuf = protobuf3_19;
     icu =  icu67;
     v8 = v8_8_x;
   };
@@ -742,28 +750,15 @@ with pkgs;
 
   installShellFiles = callPackage ../build-support/install-shell-files {};
 
-  # See doc/builders/testers.chapter.md or
-  # https://nixos.org/manual/nixpkgs/unstable/#tester-invalidateFetcherByDrvHash
-  invalidateFetcherByDrvHash = f: args:
-    let
-      drvPath = (f args).drvPath;
-      # It's safe to discard the context, because we don't access the path.
-      salt = builtins.unsafeDiscardStringContext (lib.substring 0 12 (baseNameOf drvPath));
-      # New derivation incorporating the original drv hash in the name
-      salted = f (args // { name = "${args.name or "source"}-salted-${salt}"; });
-      # Make sure we did change the derivation. If the fetcher ignores `name`,
-      # `invalidateFetcherByDrvHash` doesn't work.
-      checked =
-        if salted.drvPath == drvPath
-        then throw "invalidateFetcherByDrvHash: Adding the derivation hash to the fixed-output derivation name had no effect. Make sure the fetcher's name argument ends up in the derivation name. Otherwise, the fetcher will not be re-run when its implementation changes. This is important for testing."
-        else salted;
-    in checked;
-
-  lazydocker = callPackage ../tools/misc/lazydocker { };
+  lazydocker = callPackage ../tools/misc/lazydocker {
+    buildGoModule = buildGo118Module;
+  };
 
   ld-is-cc-hook = makeSetupHook { name = "ld-is-cc-hook"; }
     ../build-support/setup-hooks/ld-is-cc-hook.sh;
 
+  libgtkflow = callPackage ../development/libraries/libgtkflow { };
+
   libredirect = callPackage ../build-support/libredirect { };
 
   madonctl = callPackage ../applications/misc/madonctl { };
@@ -815,6 +810,8 @@ with pkgs;
       sanitizers = [ ];
     };
 
+  compressFirmwareXz = callPackage ../build-support/kernel/compress-firmware-xz.nix { };
+
   makeModulesClosure = { kernel, firmware, rootModules, allowMissing ? false }:
     callPackage ../build-support/kernel/modules-closure.nix {
       inherit kernel firmware rootModules allowMissing;
@@ -993,8 +990,7 @@ with pkgs;
   addlicense = callPackage ../tools/misc/addlicense { };
 
   adlplug = callPackage ../applications/audio/adlplug {
-    inherit (darwin) libobjc;
-    inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices WebKit DiscRecording;
+    inherit (darwin.apple_sdk.frameworks) Foundation Cocoa Carbon CoreServices ApplicationServices CoreAudio CoreMIDI AudioToolbox Accelerate CoreImage IOKit AudioUnit QuartzCore WebKit DiscRecording CoreAudioKit;
     jack = libjack2;
   };
   opnplug = adlplug.override {
@@ -1003,6 +999,7 @@ with pkgs;
 
   arc_unpacker = callPackage ../tools/archivers/arc_unpacker {
     boost = boost16x; # checkPhase fails with Boost 1.77
+    stdenv = if stdenv.cc.isGNU then gcc10Stdenv else stdenv;
   };
 
   adminer = callPackage ../servers/adminer { };
@@ -1086,6 +1083,8 @@ with pkgs;
 
   airspyhf = callPackage ../applications/radio/airspyhf { };
 
+  airwindows-lv2 = callPackage ../applications/audio/airwindows-lv2 { };
+
   aj-snapshot  = callPackage ../applications/audio/aj-snapshot { };
 
   ajour = callPackage ../tools/games/ajour {
@@ -1111,6 +1110,8 @@ with pkgs;
 
   bikeshed = python3Packages.callPackage ../applications/misc/bikeshed { };
 
+  cidrgrep = callPackage ../tools/text/cidrgrep { };
+
   cope = callPackage ../tools/misc/cope { };
 
   ejson2env = callPackage ../tools/admin/ejson2env { };
@@ -1151,10 +1152,14 @@ with pkgs;
 
   headsetcontrol = callPackage ../tools/audio/headsetcontrol { };
 
+  headset-charge-indicator = callPackage ../tools/audio/headset-charge-indicator { };
+
   httm = callPackage ../tools/filesystems/httm { };
 
   ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
 
+  kubevirt = callPackage ../tools/virtualization/kubevirt { };
+
   license-generator = callPackage ../tools/misc/license-generator { };
 
   linux-router = callPackage ../tools/networking/linux-router { };
@@ -1650,7 +1655,9 @@ with pkgs;
 
   amazon-ecs-cli = callPackage ../tools/virtualization/amazon-ecs-cli { };
 
-  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell { };
+  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   amber = callPackage ../tools/text/amber {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -1994,7 +2001,9 @@ with pkgs;
 
   bonnmotion = callPackage ../development/tools/misc/bonnmotion { };
 
-  bonnie = callPackage ../tools/filesystems/bonnie { };
+  bonnie = callPackage ../tools/filesystems/bonnie {
+    stdenv = if stdenv.cc.isGNU then gcc10Stdenv else stdenv;
+  };
 
   botamusique = callPackage ../tools/audio/botamusique { };
 
@@ -2140,7 +2149,9 @@ with pkgs;
 
   doona = callPackage ../tools/security/doona { };
 
-  dotter = callPackage ../tools/misc/dotter { };
+  dotter = callPackage ../tools/misc/dotter {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   droidcam = callPackage ../applications/video/droidcam { };
 
@@ -2196,7 +2207,9 @@ with pkgs;
 
   fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
 
-  gbl = callPackage ../tools/archivers/gbl { };
+  gbl = callPackage ../tools/archivers/gbl {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   genann = callPackage ../development/libraries/genann { };
 
@@ -2376,6 +2389,8 @@ with pkgs;
 
   passExtensions = recurseIntoAttrs pass.extensions;
 
+  pdepend = callPackage ../development/php-packages/pdepend/default.nix { };
+
   platformsh = callPackage ../misc/platformsh { };
 
   inherd-quake = callPackage ../applications/misc/inherd-quake {
@@ -2460,6 +2475,8 @@ with pkgs;
 
   ssh-key-confirmer = callPackage ../tools/networking/ssh-key-confirmer { };
 
+  ssh-mitm = with python3Packages; toPythonApplication ssh-mitm;
+
   sshchecker = callPackage ../tools/security/sshchecker { };
 
   titaniumenv = callPackage ../development/mobile/titaniumenv { };
@@ -2550,17 +2567,6 @@ with pkgs;
     libssl = openssl;
   };
 
-  axoloti = callPackage ../applications/audio/axoloti {
-    gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
-    binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
-    jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
-  };
-  dfu-util-axoloti = callPackage ../applications/audio/axoloti/dfu-util.nix { };
-  libusb1-axoloti = callPackage ../applications/audio/axoloti/libusb1.nix {
-    inherit (darwin) libobjc;
-    inherit (darwin.apple_sdk.frameworks) IOKit;
-  };
-
   b3sum = callPackage ../tools/security/b3sum {};
 
   backblaze-b2 = callPackage ../development/tools/backblaze-b2 { };
@@ -2569,6 +2575,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  bao = callPackage ../tools/security/bao {};
+
   bar = callPackage ../tools/system/bar {};
 
   base16-shell-preview = callPackage ../misc/base16-shell-preview { };
@@ -2611,6 +2619,8 @@ with pkgs;
 
   bdf2sfd = callPackage ../tools/misc/bdf2sfd { };
 
+  bdfresize = callPackage ../tools/misc/bdfresize { };
+
   bcache-tools = callPackage ../tools/filesystems/bcache-tools { };
 
   bchunk = callPackage ../tools/cd-dvd/bchunk { };
@@ -2867,6 +2877,8 @@ with pkgs;
     python = python3;
     boost = boost.override { enablePython = true; python = python3; };
   };
+  calamares-nixos = lowPrio (calamares.override { nixos-extensions = true; });
+  calamares-nixos-extensions = callPackage ../tools/misc/calamares-nixos-extensions {};
 
   calendar-cli = callPackage ../tools/networking/calendar-cli { };
 
@@ -2953,6 +2965,8 @@ with pkgs;
 
   cli-visualizer = callPackage ../applications/misc/cli-visualizer { };
 
+  cliam = callPackage ../tools/security/cliam { };
+
   clickclack = callPackage ../tools/misc/clickclack { };
 
   clickgen = with python3Packages; toPythonApplication clickgen;
@@ -3140,6 +3154,8 @@ with pkgs;
 
   crosvm = callPackage ../applications/virtualization/crosvm { };
 
+  crossplane = with python3Packages; toPythonApplication crossplane;
+
   crunch = callPackage ../tools/security/crunch { };
 
   crudini = callPackage ../tools/misc/crudini { };
@@ -3240,6 +3256,8 @@ with pkgs;
 
   dibbler = callPackage ../tools/networking/dibbler { };
 
+  dieharder = callPackage ../tools/security/dieharder { };
+
   diesel-cli = callPackage ../development/tools/diesel-cli {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -3356,6 +3374,10 @@ with pkgs;
 
   earlyoom = callPackage ../os-specific/linux/earlyoom { };
 
+  easycrypt = callPackage ../applications/science/logic/easycrypt { };
+
+  easycrypt-runtest = callPackage ../applications/science/logic/easycrypt/runtest.nix { };
+
   EBTKS = callPackage ../development/libraries/science/biology/EBTKS { };
 
   ecasound = callPackage ../applications/audio/ecasound { };
@@ -4218,6 +4240,8 @@ with pkgs;
 
   rav1e = callPackage ../tools/video/rav1e { };
 
+  raven-reader = callPackage ../applications/networking/newsreaders/raven-reader { };
+
   razergenie = libsForQt5.callPackage ../applications/misc/razergenie { };
 
   replay-sorcery = callPackage ../tools/video/replay-sorcery { };
@@ -4699,6 +4723,8 @@ with pkgs;
 
   usbview = callPackage ../tools/misc/usbview { };
 
+  usbimager = callPackage ../tools/misc/usbimager { };
+
   uwuify = callPackage ../tools/misc/uwuify { };
 
   anthy = callPackage ../tools/inputmethods/anthy { };
@@ -4802,7 +4828,7 @@ with pkgs;
   agebox = callPackage ../tools/security/agebox { };
 
   age-plugin-yubikey = callPackage ../tools/security/age-plugin-yubikey {
-    inherit (pkgs.darwin.apple_sdk.frameworks) PCSC;
+    inherit (pkgs.darwin.apple_sdk.frameworks) Foundation PCSC;
   };
 
   artim-dark = callPackage ../data/themes/artim-dark {};
@@ -5169,6 +5195,8 @@ with pkgs;
     inherit (python2Packages) mutagen python wrapPython;
   };
 
+  dsp = callPackage ../tools/audio/dsp { };
+
   dirdiff = callPackage ../tools/text/dirdiff {
     tcl = tcl-8_5;
     tk = tk-8_5;
@@ -5180,8 +5208,6 @@ with pkgs;
 
   wgetpaste = callPackage ../tools/text/wgetpaste { };
 
-  dirmngr = callPackage ../tools/security/dirmngr { };
-
   dismap = callPackage ../tools/security/dismap { };
 
   dirvish  = callPackage ../tools/backup/dirvish { };
@@ -5281,6 +5307,8 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  dump_syms = callPackage ../development/tools/dump_syms { };
+
   dumptorrent = callPackage ../tools/misc/dumptorrent { };
 
   duo-unix = callPackage ../tools/security/duo-unix { };
@@ -5357,6 +5385,8 @@ with pkgs;
 
   evil-winrm = callPackage ../tools/security/evil-winrm { };
 
+  evtx = callPackage ../tools/security/evtx { };
+
   luckybackup = libsForQt5.callPackage ../tools/backup/luckybackup {
     ssh = openssh;
   };
@@ -5403,7 +5433,7 @@ with pkgs;
 
   schildichat-desktop = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_15;
+    electron = electron_17;
   };
   schildichat-desktop-wayland = writeScriptBin "schildichat-desktop" ''
     #!/bin/sh
@@ -5559,9 +5589,7 @@ with pkgs;
     elasticsearch = elasticsearch7;
   };
 
-  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator {
-    python = python3;
-  };
+  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator { };
 
   embree = callPackage ../development/libraries/embree { };
   embree2 = callPackage ../development/libraries/embree/2.x.nix { };
@@ -5633,8 +5661,10 @@ with pkgs;
   };
 
   exempi = callPackage ../development/libraries/exempi {
-    stdenv = if stdenv.isi686 then gcc6Stdenv else gcc9Stdenv;
-    boost  = boost15x;
+    stdenv = if stdenv.isDarwin then stdenv
+             else if stdenv.isi686 then gcc6Stdenv
+             else gcc9Stdenv;
+    boost  = if stdenv.isDarwin then boost else boost15x;
   };
 
   execline = skawarePackages.execline;
@@ -5764,8 +5794,6 @@ with pkgs;
 
   featherpad = qt5.callPackage ../applications/editors/featherpad {};
 
-  feedreader = callPackage ../applications/networking/feedreaders/feedreader {};
-
   fend = callPackage ../tools/misc/fend { };
 
   ferm = callPackage ../tools/networking/ferm { };
@@ -5852,7 +5880,9 @@ with pkgs;
 
   libbladeRF = callPackage ../development/libraries/libbladeRF { };
 
-  libbtbb = callPackage ../development/libraries/libbtbb { };
+  libbtbb = callPackage ../development/libraries/libbtbb {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
 
   lp_solve = callPackage ../applications/science/math/lp_solve {
     inherit (darwin) cctools;
@@ -6058,7 +6088,9 @@ with pkgs;
 
   gaphor = python3Packages.callPackage ../tools/misc/gaphor { };
 
-  garage = callPackage ../tools/filesystems/garage { };
+  garage = callPackage ../tools/filesystems/garage {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   garmin-plugin = callPackage ../applications/misc/garmin-plugin {};
 
@@ -6123,7 +6155,9 @@ with pkgs;
 
   gfbgraph = callPackage ../development/libraries/gfbgraph { };
 
-  gfold = callPackage ../applications/version-management/git-and-tools/gfold { };
+  gfold = callPackage ../applications/version-management/git-and-tools/gfold {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   ggobi = callPackage ../tools/graphics/ggobi { };
 
@@ -6396,8 +6430,6 @@ with pkgs;
 
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
-  gnome-2048 = callPackage ../desktops/gnome/games/gnome-2048 { };
-
   gnome-builder = callPackage ../applications/editors/gnome-builder { };
 
   gnome-desktop = callPackage ../development/libraries/gnome-desktop { };
@@ -6717,7 +6749,7 @@ with pkgs;
 
   gtdialog = callPackage ../development/libraries/gtdialog {};
 
-  gtkd = callPackage ../development/libraries/gtkd { };
+  gtkd = callPackage ../development/libraries/gtkd { dcompiler = ldc; };
 
   gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
 
@@ -6828,6 +6860,9 @@ with pkgs;
     llvmPackages = llvmPackages_9;
   };
 
+  harec = callPackage ../development/compilers/hare/harec.nix { };
+  hare = callPackage ../development/compilers/hare/hare.nix { };
+
   ham = pkgs.perlPackages.ham;
 
   hardinfo = callPackage ../tools/system/hardinfo { };
@@ -6942,7 +6977,7 @@ with pkgs;
 
   httpdump = callPackage ../tools/security/httpdump { };
 
-  httpie = callPackage ../tools/networking/httpie { };
+  httpie = with python3Packages; toPythonApplication httpie;
 
   httping = callPackage ../tools/networking/httping {};
 
@@ -7303,7 +7338,7 @@ with pkgs;
   jo = callPackage ../development/tools/jo { };
 
   joshuto = callPackage ../applications/misc/joshuto {
-    inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
+    inherit (darwin.apple_sdk.frameworks) SystemConfiguration Foundation;
   };
 
   jrnl = callPackage ../applications/misc/jrnl { };
@@ -7373,6 +7408,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
+  kdash = callPackage ../development/tools/kdash {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+  };
+
   kdbplus = pkgsi686Linux.callPackage ../applications/misc/kdbplus { };
 
   keepalived = callPackage ../tools/networking/keepalived { };
@@ -7606,6 +7645,7 @@ with pkgs;
   lagrange = callPackage ../applications/networking/browsers/lagrange {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
+  lagrange-tui = lagrange.override { enableTUI = true; };
 
   kzipmix = pkgsi686Linux.callPackage ../tools/compression/kzipmix { };
 
@@ -8038,9 +8078,6 @@ with pkgs;
   librest_1_0 = callPackage ../development/libraries/librest/1.0.nix { };
 
   inherit (callPackages ../development/libraries/libwebsockets { })
-    libwebsockets_3_1
-    libwebsockets_3_2
-    libwebsockets_4_2
     libwebsockets_4_3;
   libwebsockets = libwebsockets_4_3;
 
@@ -8515,8 +8552,6 @@ with pkgs;
 
   ndisc6 = callPackage ../tools/networking/ndisc6 { };
 
-  neopg = callPackage ../tools/security/neopg { };
-
   netboot = callPackage ../tools/networking/netboot {};
 
   netbootxyz-efi = callPackage ../tools/misc/netbootxyz-efi { };
@@ -8527,6 +8562,8 @@ with pkgs;
 
   netcat-gnu = callPackage ../tools/networking/netcat { };
 
+  netcat-openbsd = callPackage ../tools/networking/netcat-openbsd { };
+
   netdiscover = callPackage ../tools/networking/netdiscover { };
 
   nethogs = callPackage ../tools/networking/nethogs { };
@@ -8629,6 +8666,11 @@ with pkgs;
     inherit (linuxPackages) nvidia_x11;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
+  nomad_1_3 = callPackage ../applications/networking/cluster/nomad/1.3.nix {
+    buildGoModule = buildGo117Module;
+    inherit (linuxPackages) nvidia_x11;
+    nvidiaGpuSupport = config.cudaSupport or false;
+  };
 
   nomad-autoscaler = callPackage ../applications/networking/cluster/nomad-autoscaler { };
 
@@ -8638,8 +8680,12 @@ with pkgs;
 
   nomino = callPackage ../tools/misc/nomino { };
 
+  nb = callPackage ../tools/misc/nb { };
+
   notable = callPackage ../applications/misc/notable { };
 
+  nth = with python3Packages; toPythonApplication name-that-hash;
+
   ntlmrecon = callPackage ../tools/security/ntlmrecon { };
 
   numberstation = callPackage ../applications/misc/numberstation { };
@@ -8672,7 +8718,11 @@ with pkgs;
 
   pandoc-plantuml-filter = python3Packages.callPackage ../tools/misc/pandoc-plantuml-filter { };
 
-  panicparse = callPackage ../tools/misc/panicparse { };
+  # pandoc-*nos is a filter suite, where pandoc-xnos has all functionality and the others are used for only specific functionality
+  pandoc-eqnos = python3Packages.callPackage ../tools/misc/pandoc-eqnos { };
+  pandoc-fignos = python3Packages.callPackage ../tools/misc/pandoc-fignos { };
+  pandoc-secnos = python3Packages.callPackage ../tools/misc/pandoc-secnos { };
+  pandoc-tablenos = python3Packages.callPackage ../tools/misc/pandoc-tablenos { };
 
   patray = callPackage ../tools/audio/patray { };
 
@@ -8722,10 +8772,6 @@ with pkgs;
 
   nmap = callPackage ../tools/security/nmap { };
 
-  nmap-graphical = nmap.override {
-    graphicalSupport = true;
-  };
-
   nmap-formatter = callPackage ../tools/security/nmap-formatter { };
 
   nmapsi4 = libsForQt5.callPackage ../tools/security/nmap/qt.nix { };
@@ -8816,7 +8862,7 @@ with pkgs;
 
   oapi-codegen = callPackage ../tools/networking/oapi-codegen { };
 
-  oathToolkit = callPackage ../tools/security/oath-toolkit { };
+  oath-toolkit = callPackage ../tools/security/oath-toolkit { };
 
   oatpp = callPackage ../development/libraries/oatpp { };
 
@@ -9071,6 +9117,8 @@ with pkgs;
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  ovftool = callPackage ../tools/virtualization/ovftool { };
+
   overcommit = callPackage ../development/tools/overcommit { };
 
   overmind = callPackage ../applications/misc/overmind { };
@@ -9125,8 +9173,6 @@ with pkgs;
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  pantheon-tweaks = callPackage ../desktops/pantheon/third-party/pantheon-tweaks { };
-
   paperless-ngx = callPackage ../applications/office/paperless-ngx { };
 
   paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
@@ -9385,6 +9431,8 @@ with pkgs;
 
   plowshare = callPackage ../tools/misc/plowshare { };
 
+  pls = callPackage ../tools/misc/pls { };
+
   pm2 = nodePackages.pm2;
 
   pngcheck = callPackage ../tools/graphics/pngcheck { };
@@ -9488,7 +9536,9 @@ with pkgs;
 
   proxify = callPackage ../tools/networking/proxify { };
 
-  proxysql = callPackage ../servers/sql/proxysql { };
+  proxysql = callPackage ../servers/sql/proxysql {
+    stdenv = if stdenv.targetPlatform.isx86_64 then gcc10Stdenv else stdenv;
+  };
 
   prs = callPackage ../tools/security/prs { };
 
@@ -9554,6 +9604,8 @@ with pkgs;
 
   pyinfra = with python3Packages; toPythonApplication pyinfra;
 
+  pylint = with python3Packages; toPythonApplication pylint;
+
   pympress = callPackage ../applications/office/pympress { };
 
   pyspread = libsForQt5.callPackage ../applications/office/pyspread { };
@@ -10230,7 +10282,9 @@ with pkgs;
 
   silc_server = callPackage ../servers/silc-server { };
 
-  sile = callPackage ../tools/typesetting/sile { };
+  sile = callPackage ../tools/typesetting/sile {
+    lua = lua5_3;
+  };
 
   silver-searcher = callPackage ../tools/text/silver-searcher { };
 
@@ -10344,7 +10398,9 @@ with pkgs;
     jdk = jdk11;
   };
 
-  spglib = callPackage ../development/libraries/spglib { };
+  spglib = callPackage ../development/libraries/spglib {
+    inherit (llvmPackages) openmp;
+  };
 
   spicy = callPackage ../development/tools/spicy { };
 
@@ -10599,6 +10655,8 @@ with pkgs;
 
   swagger-codegen3 = callPackage ../tools/networking/swagger-codegen3 { };
 
+  swaggerhole = callPackage ../tools/security/swaggerhole { };
+
   swapview = callPackage ../os-specific/linux/swapview { };
 
   swtpm = callPackage ../tools/security/swtpm { };
@@ -10733,7 +10791,9 @@ with pkgs;
 
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
-  teleport = callPackage ../servers/teleport {};
+  teleport = callPackage ../servers/teleport {
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
 
   telepresence = callPackage ../tools/networking/telepresence {
     pythonPackages = python3Packages;
@@ -10787,9 +10847,7 @@ with pkgs;
 
   thc-ipv6 = callPackage ../tools/security/thc-ipv6 { };
 
-  thedesk = callPackage ../applications/misc/thedesk {
-    electron = electron_14;
-  };
+  thedesk = callPackage ../applications/misc/thedesk { };
 
   theharvester = callPackage ../tools/security/theharvester { };
 
@@ -11002,6 +11060,8 @@ with pkgs;
 
   trousers = callPackage ../tools/security/trousers { };
 
+  trueseeing = callPackage ../tools/security/trueseeing { };
+
   trx = callPackage ../tools/audio/trx { };
 
   tryton = callPackage ../applications/office/tryton { };
@@ -11111,6 +11171,10 @@ with pkgs;
 
   ugrep = callPackage ../tools/text/ugrep { };
 
+  uhk-agent = callPackage ../os-specific/linux/uhk-agent { };
+
+  uhk-udev-rules = callPackage ../os-specific/linux/uhk-udev-rules { };
+
   uif2iso = callPackage ../tools/cd-dvd/uif2iso { };
 
   uivonim = callPackage ../applications/editors/uivonim { };
@@ -11678,8 +11742,6 @@ with pkgs;
 
   chase = callPackage ../tools/system/chase { };
 
-  wingpanel-indicator-ayatana = callPackage ../desktops/pantheon/third-party/wingpanel-indicator-ayatana { };
-
   wimlib = callPackage ../tools/archivers/wimlib { };
 
   wipe = callPackage ../tools/security/wipe { };
@@ -11790,10 +11852,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
 
-  xpf = callPackage ../tools/text/xml/xpf {
-    libxml2 = libxml2Python;
-  };
-
   xsecurelock = callPackage ../tools/X11/xsecurelock { };
 
   xsel = callPackage ../tools/misc/xsel { };
@@ -11997,6 +12055,8 @@ with pkgs;
 
   zxing = callPackage ../tools/graphics/zxing {};
 
+  zkar = callPackage ../tools/security/zkar { };
+
   zmap = callPackage ../tools/security/zmap { };
 
   zpool-iostat-viz = callPackage ../tools/filesystems/zpool-iostat-viz { };
@@ -12355,7 +12415,7 @@ with pkgs;
 
   comby = callPackage ../development/tools/comby { };
 
-  compcert = coqPackages.compcert.override { version = "3.9"; };
+  inherit (coqPackages) compcert;
 
   computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
   computecpp = wrapCCWith rec {
@@ -12494,6 +12554,7 @@ with pkgs;
   gcc9Stdenv = overrideCC gccStdenv buildPackages.gcc9;
   gcc10Stdenv = overrideCC gccStdenv buildPackages.gcc10;
   gcc11Stdenv = overrideCC gccStdenv buildPackages.gcc11;
+  gcc12Stdenv = overrideCC gccStdenv buildPackages.gcc12;
 
   # This is not intended for use in nixpkgs but for providing a faster-running
   # compiler to nixpkgs users by building gcc with reproducibility-breaking
@@ -12689,10 +12750,22 @@ with pkgs;
     isl = if !stdenv.isDarwin then isl_0_20 else null;
   }));
 
-  gcc_latest = gcc11;
+  gcc12 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/12 {
+    inherit noSysDirs;
+
+    reproducibleBuild = true;
+    profiledCompiler = false;
+
+    libcCross = if stdenv.targetPlatform != stdenv.buildPlatform then libcCross else null;
+    threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else null;
+
+    isl = if !stdenv.isDarwin then isl_0_20 else null;
+  }));
+
+  gcc_latest = gcc12;
 
   # Use the same GCC version as the one from stdenv by default
-  gfortran = wrapCC (gccStdenv.cc.cc.override {
+  gfortran = wrapCC (gcc.cc.override {
     name = "gfortran";
     langFortran = true;
     langCC = false;
@@ -12764,6 +12837,14 @@ with pkgs;
     profiledCompiler = false;
   });
 
+  gfortran12 = wrapCC (gcc12.cc.override {
+    name = "gfortran";
+    langFortran = true;
+    langCC = false;
+    langC = false;
+    profiledCompiler = false;
+  });
+
   libgccjit = gcc.cc.override {
     name = "libgccjit";
     langFortran = false;
@@ -12853,6 +12934,22 @@ with pkgs;
       else buildPackages.gnat11;
   });
 
+  gnat12 = wrapCC (gcc12.cc.override {
+    name = "gnat";
+    langC = true;
+    langCC = false;
+    langAda = true;
+    profiledCompiler = false;
+    # As per upstream instructions building a cross compiler
+    # should be done with a (native) compiler of the same version.
+    # If we are cross-compiling GNAT, we may as well do the same.
+    gnatboot =
+      if stdenv.hostPlatform == stdenv.targetPlatform
+         && stdenv.buildPlatform == stdenv.hostPlatform
+      then buildPackages.gnat6
+      else buildPackages.gnat12;
+  });
+
   gnatboot = wrapCC (callPackage ../development/compilers/gnatboot { });
 
   gnu-smalltalk = callPackage ../development/compilers/gnu-smalltalk { };
@@ -12942,6 +13039,8 @@ with pkgs;
 
   stylish-cabal = haskell.lib.compose.justStaticExecutables haskellPackages.stylish-cabal;
 
+  lhs2tex = haskellPackages.lhs2tex;
+
   all-cabal-hashes = callPackage ../data/misc/hackage { };
 
   purescript = callPackage ../development/compilers/purescript/purescript { };
@@ -13661,6 +13760,7 @@ with pkgs;
   };
   cargo-binutils = callPackage ../development/tools/rust/cargo-binutils { };
   cargo-bloat = callPackage ../development/tools/rust/cargo-bloat { };
+  cargo-bolero = callPackage ../development/tools/rust/cargo-bolero { };
   cargo-cache = callPackage ../development/tools/rust/cargo-cache {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -14075,7 +14175,9 @@ with pkgs;
 
   clips = callPackage ../development/interpreters/clips { };
 
-  cliscord = callPackage ../misc/cliscord { };
+  cliscord = callPackage ../misc/cliscord {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   clisp = callPackage ../development/interpreters/clisp { };
   clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
@@ -14187,29 +14289,6 @@ with pkgs;
 
   kanif = callPackage ../applications/networking/cluster/kanif { };
 
-  lumo = callPackage ../development/interpreters/clojurescript/lumo {
-    nodejs = nodejs_latest;
-  };
-
-  lxappearance = callPackage ../desktops/lxde/core/lxappearance { };
-
-  lxappearance-gtk2 = callPackage ../desktops/lxde/core/lxappearance {
-    gtk2 = gtk2-x11;
-    withGtk3 = false;
-  };
-
-  lxmenu-data = callPackage ../desktops/lxde/core/lxmenu-data.nix { };
-
-  lxpanel = callPackage ../desktops/lxde/core/lxpanel {
-    gtk2 = gtk2-x11;
-  };
-
-  lxtask = callPackage ../desktops/lxde/core/lxtask { };
-
-  lxrandr = callPackage ../desktops/lxde/core/lxrandr { };
-
-  lxsession = callPackage ../desktops/lxde/core/lxsession { };
-
   kona = callPackage ../development/interpreters/kona {};
 
   lolcode = callPackage ../development/interpreters/lolcode { };
@@ -14288,8 +14367,6 @@ with pkgs;
 
   octavePackages = recurseIntoAttrs octave.pkgs;
 
-  ocropus = callPackage ../applications/misc/ocropus { };
-
   pachyderm = callPackage ../applications/networking/cluster/pachyderm { };
 
 
@@ -14486,9 +14563,6 @@ with pkgs;
 
   inherit (ocamlPackages) reason;
 
-  pixie = callPackage ../development/interpreters/pixie { };
-  dust = callPackage ../development/interpreters/pixie/dust.nix { };
-
   buildRubyGem = callPackage ../development/ruby-modules/gem { };
   defaultGemConfig = callPackage ../development/ruby-modules/gem-config {
     inherit (darwin) DarwinTools cctools;
@@ -14831,37 +14905,6 @@ with pkgs;
 
   bazel = bazel_3;
 
-  bazel_0 = bazel_0_26;
-
-  bazel_0_26 = callPackage ../development/tools/build-managers/bazel/bazel_0_26 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-  };
-
-  bazel_0_29 = callPackage ../development/tools/build-managers/bazel/bazel_0_29 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-    bazel_self = bazel_0_29;
-  };
-
-  bazel_1 = callPackage ../development/tools/build-managers/bazel/bazel_1 {
-    inherit (darwin) cctools;
-    inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
-    buildJdk = jdk8_headless;
-    buildJdkName = "jdk8";
-    runJdk = jdk11_headless;
-    stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
-    bazel_self = bazel_1;
-  };
-
   bazel_3 = callPackage ../development/tools/build-managers/bazel/bazel_3 {
     inherit (darwin) cctools;
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
@@ -15526,8 +15569,6 @@ with pkgs;
   gnumake = callPackage ../development/tools/build-managers/gnumake { };
   gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
 
-  gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep {});
-
   gob2 = callPackage ../development/tools/misc/gob2 { };
 
   gocd-agent = callPackage ../development/tools/continuous-integration/gocd-agent { };
@@ -15917,8 +15958,6 @@ with pkgs;
 
   pgcli = pkgs.python3Packages.pgcli;
 
-  phantomjs2 = libsForQt514.callPackage ../development/tools/phantomjs2 { };
-
   picotool = callPackage ../development/tools/picotool { };
 
   pmccabe = callPackage ../development/tools/misc/pmccabe { };
@@ -16187,6 +16226,8 @@ with pkgs;
 
   spruce = callPackage ../development/tools/misc/spruce {};
 
+  sqlc = callPackage ../development/tools/database/sqlc { };
+
   sqlcheck = callPackage ../development/tools/database/sqlcheck { };
 
   sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
@@ -16513,9 +16554,7 @@ with pkgs;
 
   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;
-  };
+  aravis = callPackage ../development/libraries/aravis { };
 
   arb = callPackage ../development/libraries/arb {};
 
@@ -16666,6 +16705,7 @@ with pkgs;
     boost175
     boost177
     boost178
+    boost179
   ;
 
   boost15x = boost159;
@@ -16785,7 +16825,9 @@ with pkgs;
 
   classads = callPackage ../development/libraries/classads { };
 
-  clfft = callPackage ../development/libraries/clfft { };
+  clfft = callPackage ../development/libraries/clfft {
+    stdenv = if stdenv.cc.isGNU then gcc10Stdenv else stdenv;
+  };
 
   clipp  = callPackage ../development/libraries/clipp { };
 
@@ -16838,8 +16880,6 @@ with pkgs;
 
   python-cosmopolitan = callPackage ../development/interpreters/python-cosmopolitan { };
 
-  ctl = callPackage ../development/libraries/ctl { };
-
   ctpp2 = callPackage ../development/libraries/ctpp2 { };
 
   ctpl = callPackage ../development/libraries/ctpl { };
@@ -16886,8 +16926,6 @@ with pkgs;
 
   ctypes_sh = callPackage ../development/libraries/ctypes_sh { };
 
-  curlcpp = callPackage ../development/libraries/curlcpp { };
-
   curlpp = callPackage ../development/libraries/curlpp { };
 
   cutee = callPackage ../development/libraries/cutee { };
@@ -17530,7 +17568,7 @@ with pkgs;
 
   grpc = callPackage ../development/libraries/grpc {
     # grpc builds with c++14 so abseil must also be built that way
-    abseil-cpp = abseil-cpp.override {
+    abseil-cpp = abseil-cpp_202111.override {
       cxxStandard = "14";
     };
   };
@@ -17826,8 +17864,7 @@ with pkgs;
 
   hwloc = callPackage ../development/libraries/hwloc {};
 
-  inherit (callPackage ../development/tools/misc/hydra { })
-    hydra-unstable;
+  hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_6; };
 
   hydra-cli = callPackage ../development/tools/misc/hydra-cli { };
 
@@ -17895,8 +17932,13 @@ with pkgs;
   } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
       stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
     }));
+  icu71 = callPackage ../development/libraries/icu/71.nix ({
+    nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; };
+  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
+      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
+    }));
 
-  icu = icu70;
+  icu = icu71;
 
   id3lib = callPackage ../development/libraries/id3lib { };
 
@@ -17962,6 +18004,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL IOKit;
   };
 
+  irrlichtmt = callPackage ../development/libraries/irrlichtmt {
+    inherit  (darwin.apple_sdk.frameworks) Cocoa Kernel;
+  };
+
   isocodes = callPackage ../development/libraries/iso-codes { };
 
   iso-flags = callPackage ../data/icons/iso-flags { };
@@ -18322,8 +18368,6 @@ with pkgs;
 
   libdaemon = callPackage ../development/libraries/libdaemon { };
 
-  libdap = callPackage ../development/libraries/libdap { };
-
   libdatrie = callPackage ../development/libraries/libdatrie { };
 
   libdazzle = callPackage ../development/libraries/libdazzle { };
@@ -18590,6 +18634,7 @@ with pkgs;
   libffcall = callPackage ../development/libraries/libffcall { };
 
   libffi = callPackage ../development/libraries/libffi { };
+  libffi_3_3 = callPackage ../development/libraries/libffi/3.3.nix { };
   libffiBoot = libffi.override {
     doCheck = false;
   };
@@ -19145,8 +19190,6 @@ with pkgs;
   libssh = callPackage ../development/libraries/libssh { };
 
   libssh2 = callPackage ../development/libraries/libssh2 { };
-  #FIXME: temporary attribute
-  libssh2_1_10 = callPackage ../development/libraries/libssh2/1_10.nix { };
 
   libstartup_notification = callPackage ../development/libraries/startup-notification { };
 
@@ -19943,7 +19986,8 @@ with pkgs;
   openvdb = callPackage ../development/libraries/openvdb {};
 
   inherit (callPackages ../development/libraries/libressl { })
-    libressl_3_4;
+    libressl_3_4
+    libressl_3_5;
 
   libressl = libressl_3_4;
 
@@ -20064,13 +20108,6 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit CoreAudio CoreServices Carbon;
   };
 
-  portaudio2014 = portaudio.overrideAttrs (_: {
-    src = fetchurl {
-      url = "http://www.portaudio.com/archives/pa_stable_v19_20140130.tgz";
-      sha256 = "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g";
-    };
-  });
-
   portmidi = callPackage ../development/libraries/portmidi {
     inherit (darwin.apple_sdk.frameworks) Carbon CoreAudio CoreFoundation CoreMIDI CoreServices;
   };
@@ -20081,9 +20118,9 @@ with pkgs;
 
   prime-server = callPackage ../development/libraries/prime-server { };
 
-  primecount = callPackage ../development/libraries/science/math/primecount { };
+  primecount = callPackage ../applications/science/math/primecount { };
 
-  primesieve = callPackage ../development/libraries/science/math/primesieve { };
+  primesieve = callPackage ../applications/science/math/primesieve { };
 
   prison = callPackage ../development/libraries/prison { };
 
@@ -20105,20 +20142,10 @@ with pkgs;
   protobuf = protobuf3_19;
 
   protobuf3_19 = callPackage ../development/libraries/protobuf/3.19.nix { };
-  protobuf3_18 = callPackage ../development/libraries/protobuf/3.18.nix { };
   protobuf3_17 = callPackage ../development/libraries/protobuf/3.17.nix { };
-  protobuf3_16 = callPackage ../development/libraries/protobuf/3.16.nix { };
-  protobuf3_15 = callPackage ../development/libraries/protobuf/3.15.nix { };
-  protobuf3_14 = callPackage ../development/libraries/protobuf/3.14.nix { };
-  protobuf3_13 = callPackage ../development/libraries/protobuf/3.13.nix { };
-  protobuf3_12 = callPackage ../development/libraries/protobuf/3.12.nix { };
   protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { };
-  protobuf3_10 = callPackage ../development/libraries/protobuf/3.10.nix { };
-  protobuf3_9 = callPackage ../development/libraries/protobuf/3.9.nix { };
   protobuf3_8 = callPackage ../development/libraries/protobuf/3.8.nix { };
   protobuf3_7 = callPackage ../development/libraries/protobuf/3.7.nix { };
-  protobuf3_6 = callPackage ../development/libraries/protobuf/3.6.nix { };
-  protobuf3_1 = callPackage ../development/libraries/protobuf/3.1.nix { };
 
   protobufc = callPackage ../development/libraries/protobufc/1.3.nix { };
 
@@ -20126,9 +20153,7 @@ with pkgs;
 
   protozero = callPackage ../development/libraries/protozero { };
 
-  flatbuffers = flatbuffers_2_0;
-  flatbuffers_2_0 = callPackage ../development/libraries/flatbuffers/2.0.nix { };
-  flatbuffers_1_12 = callPackage ../development/libraries/flatbuffers/1.12.nix { };
+  flatbuffers = callPackage ../development/libraries/flatbuffers { };
 
   nanopb = callPackage ../development/libraries/nanopb { };
 
@@ -20479,6 +20504,8 @@ with pkgs;
 
   selinux-sandbox = callPackage ../os-specific/linux/selinux-sandbox { };
 
+  sealcurses = callPackage ../development/libraries/sealcurses { };
+
   seasocks = callPackage ../development/libraries/seasocks { };
 
   serd = callPackage ../development/libraries/serd {};
@@ -20831,6 +20858,8 @@ with pkgs;
 
   tet = callPackage ../development/tools/misc/tet { };
 
+  the-foundation = callPackage ../development/libraries/the-foundation { };
+
   theft = callPackage ../development/libraries/theft { };
 
   thrift = callPackage ../development/libraries/thrift { };
@@ -21152,6 +21181,8 @@ with pkgs;
 
   xgboost = callPackage ../development/libraries/xgboost { };
 
+  xgboostWithCuda = xgboost.override { cudaSupport = true; };
+
   xgeometry-select = callPackage ../tools/X11/xgeometry-select { };
 
   # Avoid using this. It isn't really a wrapper anymore, but we keep the name.
@@ -21200,6 +21231,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) PCSC;
   };
 
+  yubihsm-connector = callPackage ../tools/security/yubihsm-connector { };
+
   yubikey-manager = callPackage ../tools/misc/yubikey-manager { };
 
   yubikey-manager-qt = libsForQt5.callPackage ../tools/misc/yubikey-manager-qt { };
@@ -21212,6 +21245,8 @@ with pkgs;
 
   yubikey-touch-detector = callPackage ../tools/security/yubikey-touch-detector { };
 
+  yubihsm-shell = callPackage ../tools/security/yubihsm-shell { };
+
   zchunk = callPackage ../development/libraries/zchunk { };
 
   zeitgeist = callPackage ../development/libraries/zeitgeist { };
@@ -21839,12 +21874,16 @@ with pkgs;
 
   jitsi-videobridge = callPackage ../servers/jitsi-videobridge { };
 
+  kanidm = callPackage ../servers/kanidm { };
+
   kapowbang = callPackage ../servers/kapowbang { };
 
   keycloak = callPackage ../servers/keycloak { };
 
   knot-dns = callPackage ../servers/dns/knot-dns { };
-  knot-resolver = callPackage ../servers/dns/knot-resolver { };
+  knot-resolver = callPackage ../servers/dns/knot-resolver {
+    systemd = systemdMinimal; # in closure already anyway
+  };
 
   rdkafka = callPackage ../development/libraries/rdkafka { };
 
@@ -21979,6 +22018,8 @@ with pkgs;
 
   nginx = nginxStable;
 
+  nginx-doc = callPackage ../data/documentation/nginx-doc { };
+
   nginxQuic = callPackage ../servers/http/nginx/quic.nix {
     zlib = zlib-ng.override { withZlibCompat = true; };
     withPerl = false;
@@ -22432,10 +22473,9 @@ with pkgs;
 
   pypolicyd-spf = python3.pkgs.callPackage ../servers/mail/pypolicyd-spf { };
 
-  qpid-cpp = callPackage ../servers/amqp/qpid-cpp {
-    boost = boost155;
-    inherit (python2Packages) buildPythonPackage qpid-python;
-  };
+  pypiserver = with python3Packages; toPythonApplication pypiserver;
+
+  qpid-cpp = callPackage ../servers/amqp/qpid-cpp { };
 
   qremotecontrol-server = callPackage ../servers/misc/qremotecontrol-server { };
 
@@ -22535,8 +22575,6 @@ with pkgs;
 
   check-wmiplus = callPackage ../servers/monitoring/plugins/wmiplus { };
 
-  uchiwa = callPackage ../servers/monitoring/uchiwa { };
-
   shishi = callPackage ../servers/shishi {
       pam = if stdenv.isLinux then pam else null;
       # see also openssl, which has/had this same trick
@@ -22550,6 +22588,8 @@ with pkgs;
 
   smcroute = callPackage ../servers/smcroute { };
 
+  snipe-it = callPackage ../servers/web-apps/snipe-it { };
+
   sogo = callPackage ../servers/web-apps/sogo { };
 
   spacecookie =
@@ -22904,7 +22944,9 @@ with pkgs;
 
   drbd = callPackage ../os-specific/linux/drbd { };
 
-  dropwatch = callPackage ../os-specific/linux/dropwatch { };
+  dropwatch = callPackage ../os-specific/linux/dropwatch {
+    readline = readline81;
+  };
 
   dsd = callPackage ../applications/radio/dsd { };
 
@@ -24236,9 +24278,10 @@ with pkgs;
   flat-remix-gtk = callPackage ../data/themes/flat-remix-gtk { };
   flat-remix-gnome = callPackage ../data/themes/flat-remix-gnome { };
 
-  font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
-  font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
-  font-awesome = font-awesome_5;
+  font-awesome_4 = (callPackage ../data/fonts/font-awesome { }).v4;
+  font-awesome_5 = (callPackage ../data/fonts/font-awesome { }).v5;
+  font-awesome_6 = (callPackage ../data/fonts/font-awesome { }).v6;
+  font-awesome = font-awesome_6;
 
   fraunces = callPackage ../data/fonts/fraunces { };
 
@@ -24367,6 +24410,8 @@ with pkgs;
 
   kde-rounded-corners = libsForQt5.callPackage ../data/themes/kwin-decorations/kde-rounded-corners { };
 
+  khmeros = callPackage ../data/fonts/khmeros {};
+
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@@ -24433,6 +24478,8 @@ with pkgs;
 
   linux-manual = callPackage ../data/documentation/linux-manual { };
 
+  lklug-sinhala = callPackage ../data/fonts/lklug-sinhala {};
+
   lmmath = callPackage ../data/fonts/lmmath {};
 
   lmodern = callPackage ../data/fonts/lmodern { };
@@ -24539,6 +24586,8 @@ with pkgs;
 
   nafees = callPackage ../data/fonts/nafees { };
 
+  nanum = callPackage ../data/fonts/nanum {  };
+
   nanum-gothic-coding = callPackage ../data/fonts/nanum-gothic-coding {  };
 
   national-park-typeface = callPackage ../data/fonts/national-park { };
@@ -24736,6 +24785,10 @@ with pkgs;
 
   sierra-gtk-theme = callPackage ../data/themes/sierra { };
 
+  sil-abyssinica = callPackage ../data/fonts/sil-abyssinica { };
+
+  sil-padauk = callPackage ../data/fonts/sil-padauk { };
+
   snap7 = callPackage ../development/libraries/snap7 {};
 
   snowblind = callPackage ../data/themes/snowblind { };
@@ -24835,6 +24888,8 @@ with pkgs;
 
   inherit (callPackages ../data/fonts/tai-languages { }) tai-ahom;
 
+  takao = callPackage ../data/fonts/takao { };
+
   taskspooler = callPackage ../tools/system/taskspooler { };
 
   tamsyn = callPackage ../data/fonts/tamsyn { inherit (buildPackages.xorg) mkfontscale; };
@@ -24878,6 +24933,8 @@ with pkgs;
 
   theme-vertex = callPackage ../data/themes/vertex { };
 
+  tibetan-machine = callPackage ../data/fonts/tibetan-machine { };
+
   times-newer-roman = callPackage ../data/fonts/times-newer-roman { };
 
   tipa = callPackage ../data/fonts/tipa { };
@@ -25254,11 +25311,10 @@ with pkgs;
 
   avrdudess = callPackage ../applications/misc/avrdudess { };
 
-  awesome-4-0 = callPackage ../applications/window-managers/awesome {
+  awesome = callPackage ../applications/window-managers/awesome {
     cairo = cairo.override { xcbSupport = true; };
     inherit (texFunctions) fontsConf;
   };
-  awesome = awesome-4-0;
 
   awesomebump = libsForQt5.callPackage ../applications/graphics/awesomebump { };
 
@@ -25540,6 +25596,8 @@ with pkgs;
 
   clightd = callPackage ../applications/misc/clight/clightd.nix { };
 
+  clip = libsForQt5.callPackage ../applications/video/clip { };
+
   clipgrab = libsForQt5.callPackage ../applications/video/clipgrab { };
 
   clipcat = callPackage ../applications/misc/clipcat { };
@@ -25574,6 +25632,8 @@ with pkgs;
 
   communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
 
+  communicator = libsForQt5.callPackage ../tools/misc/communicator { };
+
   complete-alias = callPackage ../tools/misc/complete-alias { };
 
   confclerk = callPackage ../applications/misc/confclerk { };
@@ -25594,7 +25654,9 @@ with pkgs;
 
   csa = callPackage ../applications/audio/csa { };
 
-  csound = callPackage ../applications/audio/csound { };
+  csound = callPackage ../applications/audio/csound {
+    inherit (pkgs.darwin.apple_sdk.frameworks) Accelerate AudioUnit CoreAudio CoreMIDI;
+  };
 
   csound-manual = callPackage ../applications/audio/csound/csound-manual {
     python = python27;
@@ -25695,7 +25757,6 @@ with pkgs;
 
   deadbeefPlugins = {
     headerbar-gtk3 = callPackage ../applications/audio/deadbeef/plugins/headerbar-gtk3.nix { };
-    infobar = callPackage ../applications/audio/deadbeef/plugins/infobar.nix { };
     lyricbar = callPackage ../applications/audio/deadbeef/plugins/lyricbar.nix { };
     mpris2 = callPackage ../applications/audio/deadbeef/plugins/mpris2.nix { };
     statusnotifier = callPackage ../applications/audio/deadbeef/plugins/statusnotifier.nix { };
@@ -26105,6 +26166,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  firewalld = callPackage ../applications/networking/firewalld { };
+
+  firewalld-gui = firewalld.override { withGui = true; };
+
   flacon = libsForQt5.callPackage ../applications/audio/flacon { };
 
   flexget = callPackage ../applications/networking/flexget { };
@@ -26407,11 +26472,13 @@ with pkgs;
 
   filezilla = callPackage ../applications/networking/ftp/filezilla { };
 
-  firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {
-    callPackage = newScope {
+  buildMozillaMach =
+    let callPackage = newScope {
       inherit (rustPackages) cargo rustc;
     };
-  });
+    in opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) {};
+
+  firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {});
 
   firefox-unwrapped = firefoxPackages.firefox;
   firefox-esr-91-unwrapped = firefoxPackages.firefox-esr-91;
@@ -26456,7 +26523,7 @@ with pkgs;
     desktopName = "Firefox DevEdition";
   };
 
-  librewolf-unwrapped = firefoxPackages.librewolf;
+  librewolf-unwrapped = callPackage ../applications/networking/browsers/librewolf {};
 
   librewolf = wrapFirefox librewolf-unwrapped {
     inherit (librewolf-unwrapped) extraPrefsFiles extraPoliciesFiles;
@@ -26713,8 +26780,6 @@ with pkgs;
 
   moe =  callPackage ../applications/editors/moe { };
 
-  multibootusb = libsForQt514.callPackage ../applications/misc/multibootusb { qt5 = qt514; };
-
   praat = callPackage ../applications/audio/praat { };
 
   quvi = callPackage ../applications/video/quvi/tool.nix {
@@ -27012,7 +27077,9 @@ with pkgs;
 
   marker = callPackage ../applications/editors/marker { };
 
-  musikcube = callPackage ../applications/audio/musikcube {};
+  musikcube = callPackage ../applications/audio/musikcube {
+    inherit (darwin.apple_sdk.frameworks) Cocoa SystemConfiguration;
+  };
 
   libmt32emu = callPackage ../applications/audio/munt/libmt32emu.nix { };
 
@@ -27040,6 +27107,8 @@ with pkgs;
 
   pmbootstrap = python3Packages.callPackage ../tools/misc/pmbootstrap { };
 
+  shelf = libsForQt5.callPackage ../applications/office/shelf { };
+
   shepherd = nodePackages."@nerdwallet/shepherd";
 
   skate = callPackage ../applications/misc/skate { };
@@ -27825,8 +27894,6 @@ 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 { };
@@ -28179,6 +28246,8 @@ with pkgs;
 
   ncmpcpp = callPackage ../applications/audio/ncmpcpp { };
 
+  maui-nota = libsForQt5.callPackage ../applications/editors/maui-nota { };
+
   pragha = libsForQt5.callPackage ../applications/audio/pragha { };
 
   rofi-mpd = callPackage ../applications/audio/rofi-mpd { };
@@ -28193,6 +28262,8 @@ with pkgs;
 
   rofi-pulse-select = callPackage ../applications/audio/rofi-pulse-select { };
 
+  rofi-rbw = python3Packages.callPackage ../applications/misc/rofi-rbw { };
+
   rofi-vpn = callPackage ../applications/networking/rofi-vpn { };
 
   ympd = callPackage ../applications/audio/ympd { };
@@ -28368,8 +28439,7 @@ with pkgs;
   ostinato = libsForQt5.callPackage ../applications/networking/ostinato { };
 
   p4 = callPackage ../applications/version-management/p4 { };
-  # Broken with Qt5.15 because qtwebkit is broken with it
-  p4v = libsForQt514.callPackage ../applications/version-management/p4v { };
+  p4v = libsForQt515.callPackage ../applications/version-management/p4v { };
 
   partio = callPackage ../development/libraries/partio {};
 
@@ -28441,6 +28511,8 @@ with pkgs;
 
   qemacs = callPackage ../applications/editors/qemacs { };
 
+  roxctl = callPackage ../applications/networking/cluster/roxctl { };
+
   rqbit = callPackage ../applications/networking/p2p/rqbit {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -28816,7 +28888,6 @@ with pkgs;
   pdftk = callPackage ../tools/typesetting/pdftk {
     jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
-  pdftk-legacy = lowPrio (callPackage ../tools/typesetting/pdftk/legacy.nix { });
   pdfgrep  = callPackage ../tools/typesetting/pdfgrep { };
 
   pdfpc = callPackage ../applications/misc/pdfpc {
@@ -28853,8 +28924,6 @@ with pkgs;
 
   phraseapp-client = callPackage ../tools/misc/phraseapp-client { };
 
-  phwmon = callPackage ../applications/misc/phwmon { };
-
   pianobar = callPackage ../applications/audio/pianobar { };
 
   pianobooster = qt5.callPackage ../applications/audio/pianobooster { };
@@ -29006,15 +29075,14 @@ with pkgs;
   procmail = callPackage ../applications/misc/procmail { };
 
   profanity = callPackage ../applications/networking/instant-messengers/profanity ({
-    gtk = gtk3;
-    python = python3;
   } // (config.profanity or {}));
 
   properties-cpp = callPackage ../development/libraries/properties-cpp { };
 
   protonmail-bridge = callPackage ../applications/networking/protonmail-bridge { };
 
-  protonvpn-cli = callPackage ../applications/networking/protonvpn-cli { };
+  protonvpn-cli = python3Packages.callPackage ../applications/networking/protonvpn-cli { };
+  protonvpn-cli_2 = python3Packages.callPackage ../applications/networking/protonvpn-cli/2.nix { };
 
   protonvpn-gui = python3Packages.callPackage ../applications/networking/protonvpn-gui { };
 
@@ -29229,8 +29297,6 @@ with pkgs;
 
   raiseorlaunch = callPackage ../applications/misc/raiseorlaunch {};
 
-  rapcad = libsForQt514.callPackage ../applications/graphics/rapcad { boost = boost159; };
-
   rapid-photo-downloader = libsForQt5.callPackage ../applications/graphics/rapid-photo-downloader { };
 
   rapidsvn = callPackage ../applications/version-management/rapidsvn { };
@@ -29251,6 +29317,8 @@ with pkgs;
 
   rcs = callPackage ../applications/version-management/rcs { };
 
+  rcshist = callPackage ../applications/version-management/rcshist { };
+
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
 
   rdedup = callPackage ../tools/backup/rdedup {
@@ -29271,6 +29339,8 @@ with pkgs;
 
   rednotebook = python3Packages.callPackage ../applications/editors/rednotebook { };
 
+  remnote = callPackage ../applications/misc/remnote { };
+
   remotebox = callPackage ../applications/virtualization/remotebox { };
 
   restique = libsForQt5.callPackage ../applications/backup/restique { };
@@ -29348,7 +29418,7 @@ with pkgs;
 
   udevil = callPackage ../applications/misc/udevil {};
 
-  udiskie = python3.pkgs.callPackage ../applications/misc/udiskie { };
+  udiskie = callPackage ../applications/misc/udiskie { };
 
   sacc = callPackage ../applications/networking/gopher/sacc { };
 
@@ -29454,10 +29524,6 @@ with pkgs;
 
   spideroak = callPackage ../applications/networking/spideroak { };
 
-  split2flac = callPackage ../applications/audio/split2flac {
-    inherit (python3.pkgs) mutagen;
-  };
-
   spotify-qt = libsForQt5.callPackage ../applications/audio/spotify-qt { };
 
   spotify-tray = callPackage ../applications/misc/spotify-tray { };
@@ -29701,8 +29767,6 @@ with pkgs;
 
   surf = callPackage ../applications/networking/browsers/surf { gtk = gtk2; };
 
-  surf-display = callPackage ../desktops/surf-display { };
-
   surge = callPackage ../applications/audio/surge {
     inherit (gnome) zenity;
     git = gitMinimal;
@@ -29830,6 +29894,8 @@ with pkgs;
     abseil-cpp = abseil-cpp_202111;
   };
 
+  telegram-bot-api = callPackage ../servers/telegram-bot-api { };
+
   tektoncd-cli = callPackage ../applications/networking/cluster/tektoncd-cli { };
 
   telegram-cli = callPackage ../applications/networking/instant-messengers/telegram/telegram-cli { };
@@ -30063,10 +30129,6 @@ with pkgs;
     swt = swt_jdk8;
   };
 
-  twister = callPackage ../applications/networking/p2p/twister {
-    boost = boost16x;
-  };
-
   twmn = libsForQt5.callPackage ../applications/misc/twmn { };
 
   testssl = callPackage ../applications/networking/testssl { };
@@ -30332,14 +30394,14 @@ with pkgs;
 
   vmware-horizon-client = callPackage ../applications/networking/remote/vmware-horizon-client { };
 
+  vmware-workstation = callPackage ../applications/virtualization/vmware-workstation { };
+
   vocproc = callPackage ../applications/audio/vocproc { };
 
   vnstat = callPackage ../applications/networking/vnstat { };
 
   vocal = callPackage ../applications/audio/vocal { };
 
-  vogl = libsForQt5.callPackage ../development/tools/vogl { };
-
   volnoti = callPackage ../applications/misc/volnoti { };
 
   vorbis-tools = callPackage ../applications/audio/vorbis-tools {
@@ -30378,6 +30440,8 @@ with pkgs;
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
 
+  vvave = libsForQt5.callPackage ../applications/video/vvave { };
+
   vwm = callPackage ../applications/window-managers/vwm { };
 
   yeahwm = callPackage ../applications/window-managers/yeahwm { };
@@ -30388,7 +30452,7 @@ with pkgs;
 
   wafw00f = callPackage ../tools/security/wafw00f { };
 
-  whispers = callPackage ../tools/security/whispers { };
+  whispers = with python3Packages; toPythonApplication whispers;
 
   waon = callPackage ../applications/audio/waon { };
 
@@ -30475,9 +30539,7 @@ with pkgs;
 
   weston = callPackage ../applications/window-managers/weston { };
 
-  whalebird = callPackage ../applications/misc/whalebird {
-    electron = electron_14;
-  };
+  whalebird = callPackage ../applications/misc/whalebird { };
 
   wio = callPackage ../applications/window-managers/wio {
     wlroots = wlroots_0_14;
@@ -30891,9 +30953,7 @@ with pkgs;
 
   zerobin = callPackage ../applications/networking/zerobin { };
 
-  zeroc-ice = callPackage ../development/libraries/zeroc-ice {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  };
+  zeroc-ice = callPackage ../development/libraries/zeroc-ice {};
 
   zeroc-ice-cpp11 = zeroc-ice.override { cpp11 = true; };
 
@@ -31042,8 +31102,6 @@ with pkgs;
 
   cryptop = python3.pkgs.callPackage ../applications/blockchains/cryptop { };
 
-  dashpay = callPackage ../applications/blockchains/dashpay { };
-
   dcrd = callPackage ../applications/blockchains/dcrd { };
   dcrwallet = callPackage ../applications/blockchains/dcrwallet { };
 
@@ -31133,6 +31191,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
   };
 
+  haven-cli = callPackage ../applications/blockchains/haven-cli {
+    inherit (darwin.apple_sdk.frameworks) CoreData IOKit PCSC;
+  };
+
   monero-gui = libsForQt5.callPackage ../applications/blockchains/monero-gui {
     boost = boost17x;
   };
@@ -31845,7 +31907,7 @@ with pkgs;
 
   inherit (callPackages ../games/minetest {
     inherit (darwin) libiconv;
-    inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa Kernel;
+    inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa;
   })
     minetestclient_5 minetestserver_5;
 
@@ -32355,8 +32417,6 @@ with pkgs;
   xcowsay = callPackage ../games/xcowsay { };
 
   xjump = callPackage ../games/xjump { };
-  # TODO: the corresponding nix file is missing
-  # xracer = callPackage ../games/xracer { };
 
   xmoto = callPackage ../games/xmoto { };
 
@@ -32438,12 +32498,19 @@ with pkgs;
 
   wyvern = callPackage ../games/wyvern { };
 
+  hsetroot = callPackage ../tools/X11/hsetroot { };
+
+  imwheel = callPackage ../tools/X11/imwheel { };
+
+  kakasi = callPackage ../tools/text/kakasi { };
+
   ### DESKTOP ENVIRONMENTS
 
+  arcan = recurseIntoAttrs (callPackage ../desktops/arcan { });
+
   cdesktopenv = callPackage ../desktops/cdesktopenv { };
 
   cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
-
   inherit (cinnamon) mint-x-icons mint-y-icons;
 
   enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
@@ -32468,14 +32535,28 @@ with pkgs;
 
   gnome-tour = callPackage ../desktops/gnome/core/gnome-tour { };
 
-  hsetroot = callPackage ../tools/X11/hsetroot { };
+  chrome-gnome-shell = callPackage ../desktops/gnome/extensions/chrome-gnome-shell { };
 
-  imwheel = callPackage ../tools/X11/imwheel { };
+  gnome-2048 = callPackage ../desktops/gnome/games/gnome-2048 { };
 
-  kakasi = callPackage ../tools/text/kakasi { };
+  gnustep = recurseIntoAttrs (callPackage ../desktops/gnustep { });
 
   lumina = recurseIntoAttrs (callPackage ../desktops/lumina { });
 
+  ### DESKTOPS/LXDE
+
+  lxde = recurseIntoAttrs (callPackage ../desktops/lxde { });
+  # Backwards compatibility aliases
+  inherit (lxde)
+    lxappearance
+    lxappearance-gtk2
+    lxmenu-data
+    lxpanel
+    lxrandr
+    lxsession
+    lxtask
+  ;
+
   lxqt = recurseIntoAttrs (import ../desktops/lxqt {
     inherit pkgs;
     inherit (lib) makeScope;
@@ -32486,6 +32567,18 @@ with pkgs;
 
   pantheon = recurseIntoAttrs (callPackage ../desktops/pantheon { });
 
+  pantheon-tweaks = callPackage ../desktops/pantheon/third-party/pantheon-tweaks { };
+
+  wingpanel-indicator-ayatana = callPackage ../desktops/pantheon/third-party/wingpanel-indicator-ayatana { };
+
+  rox-filer = callPackage ../desktops/rox/rox-filer {
+    gtk = gtk2;
+  };
+
+  surf-display = callPackage ../desktops/surf-display { };
+
+  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
+
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
   plasma-theme-switcher = libsForQt5.callPackage ../applications/misc/plasma-theme-switcher {};
@@ -32504,16 +32597,6 @@ with pkgs;
 
   gnome-themes-extra = gnome.gnome-themes-extra;
 
-  rox-filer = callPackage ../desktops/rox/rox-filer {
-    gtk = gtk2;
-  };
-
-  arcan = recurseIntoAttrs (callPackage ../desktops/arcan {
-    callPackage = newScope arcan;
-  });
-
-  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
-
   xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
   ### SCIENCE/CHEMISTY
@@ -32924,9 +33007,22 @@ with pkgs;
   clmagma = callPackage ../development/libraries/science/math/clmagma { };
 
   mathematica = callPackage ../applications/science/math/mathematica { };
-  mathematica9 = callPackage ../applications/science/math/mathematica/9.nix { };
-  mathematica10 = callPackage ../applications/science/math/mathematica/10.nix { };
-  mathematica11 = callPackage ../applications/science/math/mathematica/11.nix { };
+
+  mathematica-cuda = callPackage ../applications/science/math/mathematica {
+    cudaSupport = true;
+  };
+
+  mathematica9 = callPackage ../applications/science/math/mathematica {
+    version = "9";
+  };
+
+  mathematica10 = callPackage ../applications/science/math/mathematica {
+    version = "10";
+  };
+
+  mathematica11 = callPackage ../applications/science/math/mathematica {
+    version = "11";
+  };
 
   metis = callPackage ../development/libraries/science/math/metis {};
 
@@ -33095,7 +33191,9 @@ with pkgs;
 
   alt-ergo = callPackage ../applications/science/logic/alt-ergo {};
 
-  aspino = callPackage ../applications/science/logic/aspino {};
+  aspino = callPackage ../applications/science/logic/aspino {
+    stdenv = if stdenv.cc.isGNU then gcc10Stdenv else stdenv;
+  };
 
   beluga = callPackage ../applications/science/logic/beluga {};
 
@@ -33415,13 +33513,6 @@ with pkgs;
 
   caffeWithCuda = caffe.override { cudaSupport = true; };
 
-  caffe2 = callPackage ../development/libraries/science/math/caffe2 (rec {
-    inherit (python3Packages) python future six numpy pydot;
-    protobuf = protobuf3_1;
-    python-protobuf = python3Packages.protobuf.override { inherit protobuf; };
-    opencv3 = opencv3WithoutCuda; # Used only for image loading.
-  });
-
   caffeine-ng = callPackage ../tools/X11/caffeine-ng {};
 
   cntk = callPackage ../applications/science/math/cntk {
@@ -33985,6 +34076,8 @@ with pkgs;
 
   kompose = callPackage ../applications/networking/cluster/kompose { };
 
+  kompute = callPackage ../development/libraries/kompute { };
+
   kontemplate = callPackage ../applications/networking/cluster/kontemplate { };
 
   # In general we only want keep the last three minor versions around that
@@ -34146,58 +34239,6 @@ with pkgs;
       };
   };
 
-  /*
-   * Run a NixOS VM network test using this evaluation of Nixpkgs.
-   *
-   * It is mostly equivalent to `import ./make-test-python.nix` from the
-   * NixOS manual[1], except that your `pkgs` will be used instead of
-   * letting NixOS invoke Nixpkgs again. If a test machine needs to
-   * set NixOS options under `nixpkgs`, it must set only the
-   * `nixpkgs.pkgs` option. For the details, see the Nixpkgs
-   * `pkgs.nixos` documentation.
-   *
-   * Parameter:
-   *   A NixOS VM test network, or path to it. Example:
-   *
-   *      { lib, ... }:
-   *      { name = "my-test";
-   *        nodes = {
-   *          machine-1 = someNixOSConfiguration;
-   *          machine-2 = ...;
-   *        }
-   *      }
-   *
-   * Result:
-   *   A derivation that runs the VM test.
-   *
-   * [1]: For writing NixOS tests, see
-   *      https://nixos.org/nixos/manual/index.html#sec-nixos-tests
-   */
-  nixosTest =
-    let
-      /* The nixos/lib/testing-python.nix module, preapplied with arguments that
-       * make sense for this evaluation of Nixpkgs.
-       */
-      nixosTesting =
-        (import ../../nixos/lib/testing-python.nix {
-          inherit (stdenv.hostPlatform) system;
-          inherit pkgs;
-          extraConfigurations = [(
-            { lib, ... }: {
-              config.nixpkgs.pkgs = lib.mkDefault pkgs;
-            }
-          )];
-        });
-    in
-      test:
-        let
-          loadedTest = if builtins.typeOf test == "path"
-            then import test
-            else test;
-          calledTest = lib.toFunction loadedTest pkgs;
-        in
-          nixosTesting.makeTest calledTest;
-
   nixosOptionsDoc = attrs:
     (import ../../nixos/lib/make-options-doc)
     ({ inherit pkgs lib; } // attrs);
@@ -34413,8 +34454,6 @@ with pkgs;
 
   qtrvsim = libsForQt5.callPackage ../applications/science/computer-architecture/qtrvsim { };
 
-  py-wmi-client = callPackage ../tools/networking/py-wmi-client { };
-
   qdl = callPackage ../tools/misc/qdl { };
 
   rates = callPackage ../tools/misc/rates {
@@ -34461,6 +34500,8 @@ with pkgs;
 
   runit = callPackage ../tools/system/runit { };
 
+  runitor = callPackage ../tools/system/runitor { };
+
   refind = callPackage ../tools/bootloaders/refind { };
 
   spectrojack = callPackage ../applications/audio/spectrojack { };
@@ -34510,7 +34551,6 @@ with pkgs;
 
   samsung-unified-linux-driver_1_00_36 = callPackage ../misc/cups/drivers/samsung/1.00.36 { };
   samsung-unified-linux-driver_1_00_37 = callPackage ../misc/cups/drivers/samsung/1.00.37.nix { };
-  samsung-unified-linux-driver_4_00_39 = callPackage ../misc/cups/drivers/samsung/4.00.39 { };
   samsung-unified-linux-driver_4_01_17 = callPackage ../misc/cups/drivers/samsung/4.01.17.nix { };
   samsung-unified-linux-driver = res.samsung-unified-linux-driver_4_01_17;
 
@@ -34874,6 +34914,8 @@ with pkgs;
 
   xboxdrv = callPackage ../misc/drivers/xboxdrv { };
 
+  xivlauncher = callPackage ../games/xivlauncher { };
+
   xortool = python3Packages.callPackage ../tools/security/xortool { };
 
   xorex = callPackage ../tools/security/xorex { };
@@ -34944,6 +34986,8 @@ with pkgs;
 
   yarGen = callPackage ../tools/security/yarGen { };
 
+  yersinia = callPackage ../tools/security/yersinia { };
+
   yaxg = callPackage ../tools/graphics/yaxg {};
 
   zap = callPackage ../tools/networking/zap { };
@@ -35051,7 +35095,7 @@ with pkgs;
 
   simplenote = callPackage ../applications/misc/simplenote { };
 
-  hy = callPackage ../development/interpreters/hy {};
+  hy = python3Packages.hy.withPackages (python-packages: [ ]);
 
   wmic-bin = callPackage ../servers/monitoring/plugins/wmic-bin.nix { };
 
@@ -35065,8 +35109,6 @@ with pkgs;
 
   chrome-export = callPackage ../tools/misc/chrome-export {};
 
-  chrome-gnome-shell = callPackage  ../desktops/gnome/extensions/chrome-gnome-shell {};
-
   chrome-token-signing = libsForQt5.callPackage ../tools/security/chrome-token-signing {};
 
   NSPlist = callPackage ../development/libraries/NSPlist {};
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 7665815d4125d..8c15e63e5fb1d 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -36,6 +36,10 @@ let
       feature = "set <literal>strictDeps</literal> to true by default";
     };
 
+    enableParallelBuildingByDefault = mkMassRebuild {
+      feature = "set <literal>enableParallelBuilding</literal> to true by default";
+    };
+
     contentAddressedByDefault = mkMassRebuild {
       feature = "set <literal>__contentAddressed</literal> to true by default";
     };
@@ -94,6 +98,21 @@ let
       '';
     };
 
+    showDerivationWarnings = mkOption {
+      type = types.listOf (types.enum [ "maintainerless" ]);
+      default = [];
+      description = ''
+        Which warnings to display for potentially dangerous
+        or deprecated values passed into `stdenv.mkDerivation`.
+
+        A list of warnings can be found in
+        <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/check-meta.nix">/pkgs/stdenv/generic/check-meta.nix</link>.
+
+        This is not a stable interface; warnings may be added, changed
+        or removed without prior notice.
+      '';
+    };
+
   };
 
 in {
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 6af05d761c438..9c3e666c5b3bc 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -160,7 +160,7 @@ in rec {
   coqPackages_8_13 = mkCoqPackages coq_8_13;
   coqPackages_8_14 = mkCoqPackages coq_8_14;
   coqPackages_8_15 = mkCoqPackages coq_8_15;
-  coqPackages = recurseIntoAttrs coqPackages_8_13;
+  coqPackages = recurseIntoAttrs coqPackages_8_15;
   coq = coqPackages.coq;
 
 }
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 9544047355f49..7c892035e7fd0 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -271,8 +271,6 @@ in {
       });
     };
 
-    anbox = callPackage ../os-specific/linux/anbox/kmod.nix { };
-
     apfs = callPackage ../os-specific/linux/apfs { };
 
     batman_adv = callPackage ../os-specific/linux/batman-adv {};
@@ -464,6 +462,8 @@ in {
 
     vmm_clock = callPackage ../os-specific/linux/vmm_clock { };
 
+    vmware = callPackage ../os-specific/linux/vmware { };
+
     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 { };
@@ -539,6 +539,7 @@ in {
     });
     linux_5_10_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_10 { });
     linux_5_15_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_15 { });
+    linux_5_17_hardened = recurseIntoAttrs (hardenedPackagesFor kernels.linux_5_17 { });
 
     linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen);
     linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx);
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index e8ac6445d0ebf..3e0e8e25b2fac 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -105,13 +105,13 @@ in
 
   vicious = luaLib.toLuaModule( stdenv.mkDerivation rec {
     pname = "vicious";
-    version = "2.5.0";
+    version = "2.5.1";
 
     src = fetchFromGitHub {
-      owner = "Mic92";
+      owner = "vicious-widgets";
       repo = "vicious";
       rev = "v${version}";
-      sha256 = "0lb90334mz0my8ydsmnsnkki0xr58kinsg0hf9d6k4b0vjfi0r0a";
+      sha256 = "sha256-geu/g/dFAVxtY1BuJYpZoVtFS/oL66NFnqiLAnJELtI=";
     };
 
     buildInputs = [ lua ];
@@ -124,9 +124,9 @@ in
 
     meta = with lib; {
       description = "A modular widget library for the awesome window manager";
-      homepage    = "https://github.com/Mic92/vicious";
-      license     = licenses.gpl2;
-      maintainers = with maintainers; [ makefu mic92 ];
+      homepage    = "https://vicious.rtfd.io";
+      license     = licenses.gpl2Plus;
+      maintainers = with maintainers; [ makefu mic92 McSinyx ];
       platforms   = platforms.linux;
     };
   });
diff --git a/pkgs/top-level/metrics.nix b/pkgs/top-level/metrics.nix
index d413b881eaa7c..6caec7327e590 100644
--- a/pkgs/top-level/metrics.nix
+++ b/pkgs/top-level/metrics.nix
@@ -4,7 +4,8 @@ with pkgs;
 
 runCommand "nixpkgs-metrics"
   { nativeBuildInputs = with pkgs.lib; map getBin [ nix time jq ];
-    requiredSystemFeatures = [ "benchmark" ]; # dedicated `t2a` machine, by @vcunat
+    # see https://github.com/NixOS/nixpkgs/issues/52436
+    #requiredSystemFeatures = [ "benchmark" ]; # dedicated `t2a` machine, by @vcunat
   }
   ''
     export NIX_STORE_DIR=$TMPDIR/store
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 9d7bce728c553..4b31e2484a749 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -139,10 +139,7 @@ let
 
     benchmark = callPackage ../development/ocaml-modules/benchmark { };
 
-    biniou =
-      if lib.versionOlder "4.02" ocaml.version
-      then callPackage ../development/ocaml-modules/biniou { }
-      else callPackage ../development/ocaml-modules/biniou/1.0.nix { };
+    biniou = callPackage ../development/ocaml-modules/biniou { };
 
     bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
 
@@ -1347,6 +1344,8 @@ let
 
     tcslib = callPackage ../development/ocaml-modules/tcslib { };
 
+    telegraml = callPackage ../development/ocaml-modules/telegraml { };
+
     terminal = callPackage ../development/ocaml-modules/terminal { };
 
     terminal_size = callPackage ../development/ocaml-modules/terminal_size { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 72568265a8203..3c97d570a905a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -4764,6 +4764,10 @@ let
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
     buildInputs = [ CryptOpenSSLGuess ];
+    meta = {
+      # errors with: 74366 Abort trap: 6
+      broken = stdenv.isDarwin && stdenv.isAarch64;
+    };
   };
 
   CryptOpenSSLRSA = buildPerlPackage {
@@ -18989,6 +18993,20 @@ let
     };
   };
 
+  POSIXAtFork = buildPerlPackage {
+    pname = "POSIX-AtFork";
+    version = "0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors//id/N/NI/NIKOLAS/POSIX-AtFork-0.04.tar.gz";
+      sha256 = "sha256-wuIpOobUhxRLyPe6COfEt2sRsOTf3EGAmEXTDvoH5g4=";
+    };
+    buildInputs = [ TestSharedFork ];
+    meta = {
+      description = "Hook registrations at fork(2)";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   POSIXstrftimeCompiler = buildPerlModule {
     pname = "POSIX-strftime-Compiler";
     version = "0.44";
@@ -19055,6 +19073,21 @@ let
     };
   };
 
+  ReadonlyX = buildPerlModule {
+    pname = "ReadonlyX";
+    version = "1.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
+      sha256 = "81bb97dba93ac6b5ccbce04a42c3590eb04557d75018773ee18d5a30fcf48188";
+    };
+    buildInputs = [ ModuleBuildTiny TestFatal ];
+    meta = {
+      homepage = "https://github.com/sanko/readonly";
+      description = "Faster facility for creating read-only scalars, arrays, hashes";
+      license = lib.licenses.artistic2;
+    };
+  };
+
   ReadonlyXS = buildPerlPackage {
     pname = "Readonly-XS";
     version = "1.05";
@@ -24461,6 +24494,25 @@ let
     };
   };
 
+  UUID4Tiny = buildPerlPackage {
+    pname = "UUID4-Tiny";
+    version = "0.002";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.002.tar.gz";
+      sha256 = "e7535b31e386d432dec7adde214348389e1d5cf753e7ed07f1ae04c4360840cf";
+    };
+    postPatch = lib.optionalString (stdenv.isAarch64) ''
+      # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h
+      # printf SYS_getrandom | gcc -include sys/syscall.h -E -
+      substituteInPlace lib/UUID4/Tiny.pm \
+        --replace "syscall( 318" "syscall( 278"
+    '';
+    meta = {
+      description = "Cryptographically secure v4 UUIDs for Linux x64";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   UUIDTiny = buildPerlPackage {
     pname = "UUID-Tiny";
     version = "1.04";
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index a5d553ac629a0..db47de7f19820 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -19,7 +19,6 @@
 , html-tidy
 , icu64
 , libXpm
-, libedit
 , libffi
 , libiconv
 , libjpeg
@@ -80,16 +79,29 @@ lib.makeScope pkgs.newScope (self: with self; {
       pname = "php-${name}";
       extensionName = name;
 
+      outputs = [ "out" "dev" ];
+
       inherit (php.unwrapped) version src;
-      sourceRoot = "php-${php.version}/ext/${name}";
 
       enableParallelBuilding = true;
-      nativeBuildInputs = [ php.unwrapped autoconf pkg-config re2c ];
-      inherit configureFlags internalDeps buildInputs
-        zendExtension doCheck;
 
-      prePatch = "pushd ../..";
-      postPatch = "popd";
+      nativeBuildInputs = [
+        php.unwrapped
+        autoconf
+        pkg-config
+        re2c
+      ];
+
+      inherit configureFlags internalDeps buildInputs zendExtension doCheck;
+
+      preConfigurePhases = [
+        "cdToExtensionRootPhase"
+      ];
+
+      cdToExtensionRootPhase = ''
+        # Go to extension source root.
+        cd "ext/${name}"
+      '';
 
       preConfigure = ''
         nullglobRestore=$(shopt -p nullglob)
@@ -101,19 +113,28 @@ lib.makeScope pkgs.newScope (self: with self; {
         fi
 
         $nullglobRestore
+
         phpize
         ${postPhpize}
-        ${lib.concatMapStringsSep "\n"
+
+        ${lib.concatMapStringsSep
+          "\n"
           (dep: "mkdir -p ext; ln -s ${dep.dev}/include ext/${dep.extensionName}")
-          internalDeps}
+          internalDeps
+        }
       '';
+
       checkPhase = ''
         runHook preCheck
+
         NO_INTERACTON=yes SKIP_PERF_SENSITIVE=yes make test
+
         runHook postCheck
       '';
-      outputs = [ "out" "dev" ];
+
       installPhase = ''
+        runHook preInstall
+
         mkdir -p $out/lib/php/extensions
         cp modules/${name}.so $out/lib/php/extensions/${name}.so
         mkdir -p $dev/include
@@ -122,6 +143,8 @@ lib.makeScope pkgs.newScope (self: with self; {
                               --filter="- *" \
                               --prune-empty-dirs \
                               . $dev/include/
+
+        runHook postInstall
       '';
 
       meta = {
@@ -209,6 +232,8 @@ lib.makeScope pkgs.newScope (self: with self; {
       sha256 = "108ds92620dih5768z19hi0jxfa7wfg5hdvyyvpapir87c0ap914";
     });
 
+    openswoole = callPackage ../development/php-packages/openswoole { };
+
     pdlib = callPackage ../development/php-packages/pdlib { };
 
     pcov = callPackage ../development/php-packages/pcov { };
@@ -275,9 +300,9 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "dom";
           buildInputs = [ libxml2 ];
-          configureFlags = [ "--enable-dom" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-dom"
+          ];
         }
         {
           name = "enchant";
@@ -288,7 +313,7 @@ lib.makeScope pkgs.newScope (self: with self; {
           doCheck = false;
         }
         { name = "exif"; doCheck = false; }
-        { name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; }
+        { name = "ffi"; buildInputs = [ libffi ]; }
         { name = "fileinfo"; buildInputs = [ pcre2 ]; }
         { name = "filter"; buildInputs = [ pcre2 ]; }
         { name = "ftp"; buildInputs = [ openssl ]; }
@@ -301,33 +326,10 @@ lib.makeScope pkgs.newScope (self: with self; {
             "--enable-gd-jis-conv"
           ];
           doCheck = false;
-          enable = lib.versionAtLeast php.version "7.4";
-        }
-        {
-          name = "gd";
-          buildInputs = [ zlib gd libXpm ];
-          configureFlags = [
-            "--with-gd=${gd.dev}"
-            "--with-freetype-dir=${freetype.dev}"
-            "--with-jpeg-dir=${libjpeg.dev}"
-            "--with-png-dir=${libpng.dev}"
-            "--with-webp-dir=${libwebp}"
-            "--with-xpm-dir=${libXpm.dev}"
-            "--with-zlib-dir=${zlib.dev}"
-            "--enable-gd-jis-conv"
-          ];
-          doCheck = false;
-          enable = lib.versionOlder php.version "7.4";
         }
         {
           name = "gettext";
           buildInputs = [ gettext ];
-          patches = lib.optionals (lib.versionOlder php.version "7.4") [
-            (fetchpatch {
-              url = "https://github.com/php/php-src/commit/632b6e7aac207194adc3d0b41615bfb610757f41.patch";
-              sha256 = "0xn3ivhc4p070vbk5yx0mzj2n7p04drz3f98i77amr51w0vzv046";
-            })
-          ];
           postPhpize = ''substituteInPlace configure --replace 'as_fn_error $? "Cannot locate header file libintl.h" "$LINENO" 5' ':' '';
           configureFlags = [ "--with-gettext=${gettext}" ];
         }
@@ -336,7 +338,6 @@ lib.makeScope pkgs.newScope (self: with self; {
           buildInputs = [ gmp ];
           configureFlags = [ "--with-gmp=${gmp.dev}" ];
         }
-        { name = "hash"; enable = lib.versionOlder php.version "7.4"; }
         {
           name = "iconv";
           configureFlags = [
@@ -361,12 +362,6 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "intl";
           buildInputs = [ icu64 ];
-          patches = lib.optionals (lib.versionOlder php.version "7.4") [
-            (fetchpatch {
-              url = "https://github.com/php/php-src/commit/93a9b56c90c334896e977721bfb3f38b1721cec6.patch";
-              sha256 = "055l40lpyhb0rbjn6y23qkzdhvpp7inbnn6x13cpn4inmhjqfpg4";
-            })
-          ];
         }
         { name = "json"; enable = lib.versionOlder php.version "8.0"; }
         {
@@ -417,24 +412,7 @@ lib.makeScope pkgs.newScope (self: with self; {
                  +----------------------------------------------------------------------+
                  | Copyright (c) The PHP Group                                          |
             '')
-          ] ++ lib.optionals (lib.versionOlder php.version "7.4.8") [
-            (pkgs.writeText "mysqlnd_fix_compression.patch" ''
-              --- a/ext/mysqlnd/mysqlnd.h
-              +++ b/ext/mysqlnd/mysqlnd.h
-              @@ -48,7 +48,7 @@
-               #define MYSQLND_DBG_ENABLED 0
-               #endif
-
-              -#if defined(MYSQLND_COMPRESSION_WANTED) && defined(HAVE_ZLIB)
-              +#if defined(MYSQLND_COMPRESSION_WANTED)
-               #define MYSQLND_COMPRESSION_ENABLED 1
-               #endif
-            '')
           ];
-          postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") ''
-            substituteInPlace configure --replace '$OPENSSL_LIBDIR' '${openssl}/lib' \
-                                        --replace '$OPENSSL_INCDIR' '${openssl.dev}/include'
-          '';
         }
         # oci8 (7.4, 7.3, 7.2)
         # odbc (7.4, 7.3, 7.2)
@@ -443,25 +421,7 @@ lib.makeScope pkgs.newScope (self: with self; {
           buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
             valgrind.dev
           ];
-          patches = lib.optionals (lib.versionOlder php.version "7.4") [
-            (pkgs.writeText "zend_file_cache_config.patch" ''
-              --- a/ext/opcache/zend_file_cache.c
-              +++ b/ext/opcache/zend_file_cache.c
-              @@ -27,9 +27,9 @@
-               #include "ext/standard/md5.h"
-               #endif
-
-              +#include "ZendAccelerator.h"
-               #ifdef HAVE_OPCACHE_FILE_CACHE
-
-              -#include "ZendAccelerator.h"
-               #include "zend_file_cache.h"
-               #include "zend_shared_alloc.h"
-               #include "zend_accelerator_util_funcs.h"
-            '')
-          ];
           zendExtension = true;
-          doCheck = lib.versionAtLeast php.version "7.4";
           # Tests launch the builtin webserver.
           __darwinAllowLocalNetworking = true;
         }
@@ -518,10 +478,23 @@ lib.makeScope pkgs.newScope (self: with self; {
         { name = "pspell"; configureFlags = [ "--with-pspell=${aspell}" ]; }
         {
           name = "readline";
-          buildInputs = [ libedit readline ];
-          configureFlags = [ "--with-readline=${readline.dev}" ];
-          postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") ''
-            substituteInPlace configure --replace 'as_fn_error $? "Please reinstall libedit - I cannot find readline.h" "$LINENO" 5' ':'
+          buildInputs = [
+            readline
+          ];
+          configureFlags = [
+            "--with-readline=${readline.dev}"
+          ];
+          postPatch = ''
+            # Fix `--with-readline` option not being available.
+            # `PHP_ALWAYS_SHARED` generated by phpize enables all options
+            # without the possibility to override them. But when `--with-libedit`
+            # is enabled, `--with-readline` is not registered.
+            echo '
+            AC_DEFUN([PHP_ALWAYS_SHARED],[
+              test "[$]$1" != "no" && ext_shared=yes
+            ])dnl
+            ' | cat - ext/readline/config.m4 > ext/readline/config.m4.tmp
+            mv ext/readline/config.m4{.tmp,}
           '';
           doCheck = false;
         }
@@ -530,9 +503,9 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "simplexml";
           buildInputs = [ libxml2 pcre2 ];
-          configureFlags = [ "--enable-simplexml" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-simplexml"
+          ];
         }
         {
           name = "snmp";
@@ -545,9 +518,9 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "soap";
           buildInputs = [ libxml2 ];
-          configureFlags = [ "--enable-soap" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-soap"
+          ];
           doCheck = false;
         }
         {
@@ -566,19 +539,11 @@ lib.makeScope pkgs.newScope (self: with self; {
             ../development/interpreters/php/fix-tokenizer-php81.patch;
         }
         {
-          name = "wddx";
-          buildInputs = [ libxml2 ];
-          internalDeps = [ php.extensions.session ];
-          configureFlags = [ "--enable-wddx" "--with-libxml-dir=${libxml2.dev}" ];
-          # Removed in php 7.4.
-          enable = lib.versionOlder php.version "7.4";
-        }
-        {
           name = "xml";
           buildInputs = [ libxml2 ];
-          configureFlags = [ "--enable-xml" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-xml"
+          ];
           doCheck = false;
         }
         {
@@ -587,25 +552,25 @@ lib.makeScope pkgs.newScope (self: with self; {
           internalDeps = [ php.extensions.dom ];
           NIX_CFLAGS_COMPILE = [ "-I../.." "-DHAVE_DOM" ];
           doCheck = false;
-          configureFlags = [ "--enable-xmlreader" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-xmlreader"
+          ];
         }
         {
           name = "xmlrpc";
           buildInputs = [ libxml2 libiconv ];
           # xmlrpc was unbundled in 8.0 https://php.watch/versions/8.0/xmlrpc
           enable = lib.versionOlder php.version "8.0";
-          configureFlags = [ "--with-xmlrpc" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--with-xmlrpc"
+          ];
         }
         {
           name = "xmlwriter";
           buildInputs = [ libxml2 ];
-          configureFlags = [ "--enable-xmlwriter" ]
-            # Required to build on darwin.
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ];
+          configureFlags = [
+            "--enable-xmlwriter"
+          ];
         }
         {
           name = "xsl";
@@ -617,20 +582,17 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "zip";
           buildInputs = [ libzip pcre2 ];
-          configureFlags = [ "--with-zip" ]
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]
-            ++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];
+          configureFlags = [
+            "--with-zip"
+          ];
           doCheck = false;
         }
         {
           name = "zlib";
           buildInputs = [ zlib ];
-          patches = lib.optionals (lib.versionOlder php.version "7.4") [
-            # Derived from https://github.com/php/php-src/commit/f16b012116d6c015632741a3caada5b30ef8a699
-            ../development/interpreters/php/zlib-darwin-tests.patch
+          configureFlags = [
+            "--with-zlib"
           ];
-          configureFlags = [ "--with-zlib" ]
-            ++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ];
         }
       ];
 
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 9a54a773edc19..d76d079eab29b 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -36,6 +36,7 @@ mapAliases ({
   aioh2 = throw "aioh2 has been removed because it is abandoned and broken."; # Added 2022-03-30
   ansible-base = throw "ansible-base has been removed, because it is end of life"; # added 2022-03-30
   anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
+  argon2_cffi = argon2-cffi; # added 2022-05-09
   asyncio-nats-client = nats-py; # added 2022-02-08
   bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15
   blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
@@ -79,8 +80,10 @@ mapAliases ({
   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
+  loo-py = loopy; # added 2022-05-03
   Markups = markups; # added 2022-02-14
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
+  memcached = python-memcached; # added 2022-05-06
   net2grid = gridnet; # add 2022-04-22
   nose-cover3 = throw "nose-cover3 has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-02-16
   pam = python-pam; # added 2020-09-07.
@@ -107,6 +110,7 @@ mapAliases ({
   pytestrunner = pytest-runner; # added 2021-01-04
   python-igraph = igraph; # added 2021-11-11
   python-lz4 = lz4; # added 2018-06-01
+  python_magic = python-magic; # added 2022-05-07
   python_mimeparse = python-mimeparse; # added 2021-10-31
   python-subunit = subunit; # added 2021-09-10
   pytest_xdist = pytest-xdist; # added 2021-01-04
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 57152b3066917..02b38b79c0ce4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -120,6 +120,7 @@ in {
     pythonImportsCheckHook
     pythonNamespacesHook
     pythonRecompileBytecodeHook
+    pythonRelaxDepsHook
     pythonRemoveBinBytecodeHook
     pythonRemoveTestsDirHook
     setuptoolsBuildHook
@@ -344,6 +345,8 @@ in {
 
   aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
 
+  aiolimiter = callPackage ../development/python-modules/aiolimiter { };
+
   aiolip = callPackage ../development/python-modules/aiolip { };
 
   aiolyric = callPackage ../development/python-modules/aiolyric { };
@@ -624,7 +627,7 @@ in {
 
   argh = callPackage ../development/python-modules/argh { };
 
-  argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
+  argon2-cffi = callPackage ../development/python-modules/argon2-cffi { };
 
   argon2-cffi-bindings = callPackage ../development/python-modules/argon2-cffi-bindings { };
 
@@ -1386,6 +1389,8 @@ in {
 
   browser-cookie3 = callPackage ../development/python-modules/browser-cookie3 { };
 
+  brunt = callPackage ../development/python-modules/brunt { };
+
   bsddb3 = callPackage ../development/python-modules/bsddb3 { };
 
   bsdiff4 = callPackage ../development/python-modules/bsdiff4 { };
@@ -1866,6 +1871,8 @@ in {
 
   consul = callPackage ../development/python-modules/consul { };
 
+  container-inspector = callPackage ../development/python-modules/container-inspector { };
+
   contexter = callPackage ../development/python-modules/contexter { };
 
   contextlib2 = callPackage ../development/python-modules/contextlib2 { };
@@ -1934,6 +1941,8 @@ in {
 
   croniter = callPackage ../development/python-modules/croniter { };
 
+  crossplane = callPackage ../development/python-modules/crossplane { };
+
   crownstone-cloud = callPackage ../development/python-modules/crownstone-cloud { };
 
   crownstone-core = callPackage ../development/python-modules/crownstone-core { };
@@ -2078,6 +2087,8 @@ in {
 
   datamodeldict = callPackage ../development/python-modules/datamodeldict { };
 
+  datapoint = callPackage ../development/python-modules/datapoint { };
+
   dataset = callPackage ../development/python-modules/dataset { };
 
   datasets = callPackage ../development/python-modules/datasets { };
@@ -2395,6 +2406,8 @@ in {
 
   django-taggit = callPackage ../development/python-modules/django-taggit { };
 
+  django-tastypie = callPackage ../development/python-modules/django-tastypie { };
+
   django-timezone-field = callPackage ../development/python-modules/django-timezone-field { };
 
   django_treebeard = callPackage ../development/python-modules/django_treebeard { };
@@ -2419,6 +2432,8 @@ in {
     inherit (pkgs) dlib;
   };
 
+  dlinfo = callPackage ../development/python-modules/dlinfo { };
+
   dlx = callPackage ../development/python-modules/dlx { };
 
   dmenu-python = callPackage ../development/python-modules/dmenu { };
@@ -2501,6 +2516,8 @@ in {
 
   dparse = callPackage ../development/python-modules/dparse { };
 
+  dparse2 = callPackage ../development/python-modules/dparse2 { };
+
   dpath = callPackage ../development/python-modules/dpath { };
 
   dpkt = callPackage ../development/python-modules/dpkt { };
@@ -2529,6 +2546,8 @@ in {
 
   dtlssocket = callPackage ../development/python-modules/dtlssocket { };
 
+  ducc0 = callPackage ../development/python-modules/ducc0 { };
+
   duckdb = callPackage ../development/python-modules/duckdb {
     inherit (pkgs) duckdb;
   };
@@ -2660,6 +2679,8 @@ in {
 
   enamlx = callPackage ../development/python-modules/enamlx { };
 
+  enhancements = callPackage ../development/python-modules/enhancements { };
+
   enlighten = callPackage ../development/python-modules/enlighten { };
 
   enocean = callPackage ../development/python-modules/enocean { };
@@ -2754,6 +2775,8 @@ in {
 
   evohome-async = callPackage ../development/python-modules/evohome-async { };
 
+  evtx = callPackage ../development/python-modules/evtx { };
+
   ewmh = callPackage ../development/python-modules/ewmh { };
 
   exdown = callPackage ../development/python-modules/exdown { };
@@ -2840,6 +2863,8 @@ in {
 
   fastavro = callPackage ../development/python-modules/fastavro { };
 
+  fastbencode = callPackage ../development/python-modules/fastbencode { };
+
   fastcache = callPackage ../development/python-modules/fastcache { };
 
   fastcore = callPackage ../development/python-modules/fastcore { };
@@ -3140,6 +3165,14 @@ in {
 
   fonttools = callPackage ../development/python-modules/fonttools { };
 
+  fontmake = callPackage ../development/python-modules/fontmake { };
+
+  skia-pathops = callPackage ../development/python-modules/skia-pathops { };
+
+  openstep-plist = callPackage ../development/python-modules/openstep-plist { };
+
+  glyphslib = callPackage ../development/python-modules/glyphslib { };
+
   foobot-async = callPackage ../development/python-modules/foobot-async { };
 
   foolscap = callPackage ../development/python-modules/foolscap { };
@@ -3256,6 +3289,10 @@ in {
 
   gbinder-python = callPackage ../development/python-modules/gbinder-python { };
 
+  gbulb = callPackage ../development/python-modules/gbulb { };
+
+  gcal-sync = callPackage ../development/python-modules/gcal-sync { };
+
   gcovr = callPackage ../development/python-modules/gcovr { };
 
   gcsfs = callPackage ../development/python-modules/gcsfs { };
@@ -3589,6 +3626,8 @@ in {
 
   gpy = callPackage ../development/python-modules/gpy { };
 
+  gpt-2-simple = callPackage ../development/python-modules/gpt-2-simple { };
+
   gpyopt = callPackage ../development/python-modules/gpyopt { };
 
   gql = callPackage ../development/python-modules/gql { };
@@ -3774,6 +3813,8 @@ in {
 
   hatchling = callPackage ../development/python-modules/hatchling { };
 
+  hatch-vcs = callPackage ../development/python-modules/hatch-vcs { };
+
   haversine = callPackage ../development/python-modules/haversine { };
 
   hawkauthlib = callPackage ../development/python-modules/hawkauthlib { };
@@ -3906,8 +3947,12 @@ in {
 
   httpcore = callPackage ../development/python-modules/httpcore { };
 
+  httpie = callPackage ../development/python-modules/httpie { };
+
   http-ece = callPackage ../development/python-modules/http-ece { };
 
+  httpie-ntlm = callPackage ../development/python-modules/httpie-ntlm { };
+
   httplib2 = callPackage ../development/python-modules/httplib2 { };
 
   http-message-signatures = callPackage ../development/python-modules/http-message-signatures { };
@@ -3984,6 +4029,8 @@ in {
 
   hyppo = callPackage ../development/python-modules/hyppo { };
 
+  hyrule = callPackage ../development/python-modules/hyrule { };
+
   i2c-tools = callPackage ../development/python-modules/i2c-tools {
     inherit (pkgs) i2c-tools;
   };
@@ -4136,6 +4183,8 @@ in {
 
   installer = callPackage ../development/python-modules/installer { };
 
+  insteon-frontend-home-assistant = callPackage ../development/python-modules/insteon-frontend-home-assistant { };
+
   intake = callPackage ../development/python-modules/intake { };
 
   intake-parquet = callPackage ../development/python-modules/intake-parquet { };
@@ -4945,7 +4994,7 @@ in {
 
   lomond = callPackage ../development/python-modules/lomond { };
 
-  loo-py = callPackage ../development/python-modules/loo-py { };
+  loopy = callPackage ../development/python-modules/loopy { };
 
   losant-rest = callPackage ../development/python-modules/losant-rest { };
 
@@ -5151,6 +5200,8 @@ in {
 
   measurement = callPackage ../development/python-modules/measurement { };
 
+  meater-python = callPackage ../development/python-modules/meater-python { };
+
   mecab-python3 = callPackage ../development/python-modules/mecab-python3 { };
 
   mechanicalsoup = callPackage ../development/python-modules/mechanicalsoup { };
@@ -5165,8 +5216,6 @@ in {
 
   meld3 = callPackage ../development/python-modules/meld3 { };
 
-  memcached = callPackage ../development/python-modules/memcached { };
-
   memory-allocator = callPackage ../development/python-modules/memory-allocator { };
 
   memory_profiler = callPackage ../development/python-modules/memory_profiler { };
@@ -5319,6 +5368,8 @@ in {
 
   mohawk = callPackage ../development/python-modules/mohawk { };
 
+  moku = callPackage ../development/python-modules/moku { };
+
   monero = callPackage ../development/python-modules/monero { };
 
   mongomock = callPackage ../development/python-modules/mongomock { };
@@ -5331,7 +5382,7 @@ in {
 
   monosat = pkgs.monosat.python {
     inherit buildPythonPackage;
-    inherit (self) cython;
+    inherit (self) cython pytestCheckHook;
   };
 
   monotonic = callPackage ../development/python-modules/monotonic { };
@@ -5490,6 +5541,8 @@ in {
 
   names = callPackage ../development/python-modules/names { };
 
+  name-that-hash = callPackage ../development/python-modules/name-that-hash { };
+
   nampa = callPackage ../development/python-modules/nampa { };
 
   nanoleaf = callPackage ../development/python-modules/nanoleaf { };
@@ -5612,8 +5665,13 @@ in {
 
   nextcord = callPackage ../development/python-modules/nextcord { };
 
+  nftables = toPythonModule (pkgs.nftables.override {
+    python3 = python;
+    withPython = true;
+  });
+
   nghttp2 = (toPythonModule (pkgs.nghttp2.override {
-    inherit (self) python cython setuptools;
+    python3Packages = self;
     inherit (pkgs) ncurses;
     enableApp = false; # build only libnghttp2 ...
     enablePython = true; # ... and its Python bindings
@@ -5715,6 +5773,8 @@ in {
 
   notifications-python-client = callPackage ../development/python-modules/notifications-python-client { };
 
+  notify-events = callPackage ../development/python-modules/notify-events { };
+
   notify-py = callPackage ../development/python-modules/notify-py { };
 
   notify2 = callPackage ../development/python-modules/notify2 { };
@@ -5783,6 +5843,8 @@ in {
 
   python-nvd3 = callPackage ../development/python-modules/python-nvd3 { };
 
+  py-deprecate = callPackage ../development/python-modules/py-deprecate { };
+
   nwdiag = callPackage ../development/python-modules/nwdiag { };
 
   oasatelematics = callPackage ../development/python-modules/oasatelematics { };
@@ -6031,6 +6093,8 @@ in {
 
   pandoc-attributes = callPackage ../development/python-modules/pandoc-attributes { };
 
+  pandoc-xnos = callPackage ../development/python-modules/pandoc-xnos { };
+
   pandocfilters = callPackage ../development/python-modules/pandocfilters { };
 
   panel = callPackage ../development/python-modules/panel { };
@@ -6143,6 +6207,8 @@ in {
 
   pc-ble-driver-py = toPythonModule (callPackage ../development/python-modules/pc-ble-driver-py { });
 
+  pcapy-ng = callPackage ../development/python-modules/pcapy-ng { };
+
   pcodedmp = callPackage ../development/python-modules/pcodedmp { };
 
   pcpp = callPackage ../development/python-modules/pcpp { };
@@ -6315,6 +6381,8 @@ in {
 
   pip-tools = callPackage ../development/python-modules/pip-tools { };
 
+  pip-requirements-parser = callPackage ../development/python-modules/pip-requirements-parser { };
+
   pipx = callPackage ../development/python-modules/pipx { };
 
   pivy = callPackage ../development/python-modules/pivy {
@@ -6330,6 +6398,8 @@ in {
 
   pkginfo = callPackage ../development/python-modules/pkginfo { };
 
+  pkginfo2 = callPackage ../development/python-modules/pkginfo2 { };
+
   pkuseg = callPackage ../development/python-modules/pkuseg { };
 
   pmsensor = callPackage ../development/python-modules/pmsensor { };
@@ -6338,6 +6408,8 @@ in {
 
   proxy_tools = callPackage ../development/python-modules/proxy_tools { };
 
+  py-nextbusnext = callPackage ../development/python-modules/py-nextbusnext { };
+
   pyaehw4a1 = callPackage ../development/python-modules/pyaehw4a1 { };
 
   pyatag = callPackage ../development/python-modules/pyatag { };
@@ -6394,6 +6466,8 @@ in {
 
   pyrogram = callPackage ../development/python-modules/pyrogram { };
 
+  pysabnzbd = callPackage ../development/python-modules/pysabnzbd { };
+
   pysbd = callPackage ../development/python-modules/pysbd { };
 
   pyshark = callPackage ../development/python-modules/pyshark { };
@@ -6438,6 +6512,8 @@ in {
 
   python-lsp-black = callPackage ../development/python-modules/python-lsp-black { };
 
+  python-memcached = callPackage ../development/python-modules/python-memcached { };
+
   python-openems = callPackage ../development/python-modules/python-openems { };
 
   python-openzwave-mqtt = callPackage ../development/python-modules/python-openzwave-mqtt { };
@@ -7678,6 +7754,8 @@ in {
 
   py-radix = callPackage ../development/python-modules/py-radix { };
 
+  pyrainbird = callPackage ../development/python-modules/pyrainbird { };
+
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
 
   pyramid = callPackage ../development/python-modules/pyramid { };
@@ -8327,7 +8405,7 @@ in {
     inherit (pkgs) lzo;
   };
 
-  python_magic = callPackage ../development/python-modules/python-magic { };
+  python-magic = callPackage ../development/python-modules/python-magic { };
 
   python-manilaclient = callPackage ../development/python-modules/python-manilaclient { };
 
@@ -8416,6 +8494,8 @@ in {
 
   python-rapidjson = callPackage ../development/python-modules/python-rapidjson { };
 
+  python-rabbitair = callPackage ../development/python-modules/python-rabbitair { };
+
   python-redis-lock = callPackage ../development/python-modules/python-redis-lock { };
 
   python-registry = callPackage ../development/python-modules/python-registry { };
@@ -8735,6 +8815,8 @@ in {
 
   qnap-qsw = callPackage ../development/python-modules/qnap-qsw{ };
 
+  qnapstats = callPackage ../development/python-modules/qnapstats { };
+
   qrcode = callPackage ../development/python-modules/qrcode { };
 
   qreactor = callPackage ../development/python-modules/qreactor { };
@@ -8747,6 +8829,8 @@ in {
 
   qscintilla = self.qscintilla-qt5;
 
+  qstylizer = callPackage ../development/python-modules/qstylizer { };
+
   qt5reactor = callPackage ../development/python-modules/qt5reactor { };
 
   qtawesome = callPackage ../development/python-modules/qtawesome { };
@@ -8798,6 +8882,8 @@ in {
 
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
 
+  raincloudy = callPackage ../development/python-modules/raincloudy { };
+
   ramlfications = callPackage ../development/python-modules/ramlfications { };
 
   random2 = callPackage ../development/python-modules/random2 { };
@@ -8894,6 +8980,8 @@ in {
 
   repocheck = callPackage ../development/python-modules/repocheck { };
 
+  reportengine = callPackage ../development/python-modules/reportengine { };
+
   reportlab = callPackage ../development/python-modules/reportlab { };
 
   repoze_lru = callPackage ../development/python-modules/repoze_lru { };
@@ -9252,6 +9340,8 @@ in {
 
   scs = callPackage ../development/python-modules/scs { };
 
+  sdds = callPackage ../development/python-modules/sdds { };
+
   sdnotify = callPackage ../development/python-modules/sdnotify { };
 
   seaborn = callPackage ../development/python-modules/seaborn { };
@@ -9447,6 +9537,8 @@ in {
 
   six = callPackage ../development/python-modules/six { };
 
+  sjcl = callPackage ../development/python-modules/sjcl { };
+
   skein = callPackage ../development/python-modules/skein { };
 
   skidl = callPackage ../development/python-modules/skidl { };
@@ -9467,7 +9559,9 @@ in {
 
   skytemple-icons = callPackage ../development/python-modules/skytemple-icons { };
 
-  skytemple-rust = callPackage ../development/python-modules/skytemple-rust { };
+  skytemple-rust = callPackage ../development/python-modules/skytemple-rust {
+    inherit (pkgs.darwin.apple_sdk.frameworks) Foundation;
+  };
 
   skytemple-ssb-debugger = callPackage ../development/python-modules/skytemple-ssb-debugger { };
 
@@ -9651,6 +9745,8 @@ in {
 
   spinners = callPackage ../development/python-modules/spinners { };
 
+  sphinx-better-theme = callPackage ../development/python-modules/sphinx-better-theme { };
+
   sphinxcontrib-actdiag = callPackage ../development/python-modules/sphinxcontrib-actdiag { };
 
   sphinxcontrib-apidoc = callPackage ../development/python-modules/sphinxcontrib-apidoc { };
@@ -9797,6 +9893,8 @@ in {
 
   sseclient-py = callPackage ../development/python-modules/sseclient-py { };
 
+  ssh-mitm = callPackage ../development/python-modules/ssh-mitm { };
+
   sshpubkeys = callPackage ../development/python-modules/sshpubkeys { };
 
   sshtunnel = callPackage ../development/python-modules/sshtunnel { };
@@ -10093,6 +10191,8 @@ in {
 
   tern = callPackage ../development/python-modules/tern { };
 
+  tesla-powerwall = callPackage ../development/python-modules/tesla-powerwall { };
+
   tesla-wall-connector = callPackage ../development/python-modules/tesla-wall-connector { };
 
   teslajsonpy = callPackage ../development/python-modules/teslajsonpy { };
@@ -10268,6 +10368,8 @@ in {
 
   torchgpipe = callPackage ../development/python-modules/torchgpipe { };
 
+  torchmetrics = callPackage ../development/python-modules/torchmetrics { };
+
   torchinfo = callPackage ../development/python-modules/torchinfo { };
 
   torchvision = callPackage ../development/python-modules/torchvision { };
@@ -10358,6 +10460,8 @@ in {
 
   ttp = callPackage ../development/python-modules/ttp { };
 
+  ttp-templates = callPackage ../development/python-modules/ttp-templates { };
+
   tubes = callPackage ../development/python-modules/tubes { };
 
   tunigo = callPackage ../development/python-modules/tunigo { };
@@ -10502,6 +10606,8 @@ in {
 
   uarray = callPackage ../development/python-modules/uarray { };
 
+  uasiren = callPackage ../development/python-modules/uasiren { };
+
   uc-micro-py = callPackage ../development/python-modules/uc-micro-py { };
 
   udatetime = callPackage ../development/python-modules/udatetime { };
@@ -10528,6 +10634,8 @@ in {
 
   ukpostcodeparser = callPackage ../development/python-modules/ukpostcodeparser { };
 
+  ukrainealarm = callPackage ../development/python-modules/ukrainealarm { };
+
   umalqurra = callPackage ../development/python-modules/umalqurra { };
 
   umap-learn = callPackage ../development/python-modules/umap-learn { };
@@ -10662,6 +10770,10 @@ in {
 
   validictory = callPackage ../development/python-modules/validictory { };
 
+  validobj = callPackage ../development/python-modules/validobj { };
+
+  vallox-websocket-api = callPackage ../development/python-modules/vallox-websocket-api { };
+
   variants = callPackage ../development/python-modules/variants { };
 
   varint = callPackage ../development/python-modules/varint { };
@@ -10898,6 +11010,8 @@ in {
 
   whisper = callPackage ../development/python-modules/whisper { };
 
+  whispers = callPackage ../development/python-modules/whispers { };
+
   whitenoise = callPackage ../development/python-modules/whitenoise { };
 
   whodap = callPackage ../development/python-modules/whodap { };
@@ -11138,7 +11252,6 @@ in {
 
   youtube-dl-light = callPackage ../tools/misc/youtube-dl {
     ffmpegSupport = false;
-    phantomjsSupport = false;
   };
 
   yoyo-migrations = callPackage ../development/python-modules/yoyo-migrations { };
@@ -11148,7 +11261,6 @@ in {
   yt-dlp-light = callPackage ../tools/misc/yt-dlp {
     atomicparsleySupport = false;
     ffmpegSupport = false;
-    phantomjsSupport = false;
     rtmpSupport = false;
   };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 0b1324b867272..8551c5f9bff24 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -146,11 +146,13 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
 
   mauikit = callPackage ../development/libraries/mauikit { };
 
+  mauikit-accounts = callPackage ../development/libraries/mauikit-accounts { };
+
   mauikit-filebrowsing = callPackage ../development/libraries/mauikit-filebrowsing { };
 
-  mlt = callPackage ../development/libraries/mlt/qt-5.nix { };
+  mauikit-texteditor = callPackage ../development/libraries/mauikit-texteditor { };
 
-  openbr = callPackage ../development/libraries/openbr { };
+  mlt = callPackage ../development/libraries/mlt/qt-5.nix { };
 
   phonon = callPackage ../development/libraries/phonon { };
 
diff --git a/pkgs/top-level/release-haskell.nix b/pkgs/top-level/release-haskell.nix
index 88b53f6b636a8..ade95838efc47 100644
--- a/pkgs/top-level/release-haskell.nix
+++ b/pkgs/top-level/release-haskell.nix
@@ -4,7 +4,7 @@
   https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.
 
   To debug this expression you can use `hydra-eval-jobs` from
-  `pkgs.hydra-unstable` which prints the jobset description
+  `pkgs.hydra_unstable` which prints the jobset description
   to `stdout`:
 
   $ hydra-eval-jobs -I . pkgs/top-level/release-haskell.nix
@@ -203,6 +203,7 @@ let
         koka
         krank
         lambdabot
+        lhs2tex
         madlang
         matterhorn
         mueval
@@ -317,6 +318,7 @@ let
                 random
                 QuickCheck
                 cabal2nix
+                xhtml # isn't bundled for cross
               ;
             };
 
@@ -327,6 +329,7 @@ let
                 random
                 QuickCheck
                 cabal2nix
+                xhtml # isn't bundled for cross
               ;
             };
           };
diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix
index ceae00baec9c1..e066d191ef2bf 100644
--- a/pkgs/top-level/release-lib.nix
+++ b/pkgs/top-level/release-lib.nix
@@ -103,7 +103,7 @@ rec {
   forAllSystems = genAttrs supportedSystems;
 
 
-  # Generate attributes for all sytems matching at least one of the given
+  # Generate attributes for all systems matching at least one of the given
   # patterns
   forMatchingSystems = metaPatterns: genAttrs (supportedMatches metaPatterns);